1#ifndef MELEE_FT_FORWARD_H
2#define MELEE_FT_FORWARD_H
10#define FIGHTERVARS_SIZE 0xF8
36typedef struct Fighter_GObj Fighter_GObj;
47 Fighter_GObj* next_gx;
48 Fighter_GObj* prev_gx;
50 void (*rendered)(Fighter_GObj* gobj,
s32 code);
54 void (*user_data_remove_func)(
Fighter* data);
61typedef char* (*Fighter_MotionFileStringGetter)(
enum_t arg0);
229#define CLIFFCATCH_BOTH 0
230#define CLIFFCATCH_LEFT -1
231#define CLIFFCATCH_RIGHT 1
409#define Ft_Dynamics_NumMax 10
f32 Mtx[3][4]
Definition forward.h:6
void(* FtCmd)(Fighter_GObj *gobj, FtCmdState *cmd)
Definition forward.h:67
void(* Fighter_UnkMtxEvent)(HSD_GObj *gobj, int arg1, Mtx vmtx)
Definition forward.h:64
static MotionFlags const Ft_MF_None
Definition forward.h:146
CharacterKind
Definition forward.h:108
@ CKIND_ZELDA
Definition forward.h:127
@ CKIND_LINK
Definition forward.h:115
@ CKIND_NESS
Definition forward.h:120
@ CHKIND_POPO
Definition forward.h:141
@ CKIND_GANON
Definition forward.h:134
@ CHKIND_NONE
Definition forward.h:142
@ CKIND_POPONANA
Definition forward.h:123
@ CKIND_CAPTAIN
Definition forward.h:109
@ CKIND_GKOOPS
Definition forward.h:138
@ CHKIND_SANDBAG
Definition forward.h:140
@ CKIND_LUIGI
Definition forward.h:116
@ CKIND_SEAK
Definition forward.h:128
@ CKIND_CREZYH
Definition forward.h:139
@ CKIND_SAMUS
Definition forward.h:125
@ CKIND_MARS
Definition forward.h:118
@ CKIND_DRMARIO
Definition forward.h:131
@ CKIND_MARIO
Definition forward.h:117
@ CKIND_DONKEY
Definition forward.h:110
@ CKIND_MEWTWO
Definition forward.h:119
@ CHKIND_MAX
Definition forward.h:143
@ CKIND_FALCO
Definition forward.h:129
@ CKIND_PIKACHU
Definition forward.h:122
@ CKIND_PICHU
Definition forward.h:133
@ CKIND_KIRBY
Definition forward.h:113
@ CKIND_EMBLEM
Definition forward.h:132
@ CKIND_FOX
Definition forward.h:111
@ CKIND_GIRL
Definition forward.h:137
@ CKIND_KOOPA
Definition forward.h:114
@ CKIND_PURIN
Definition forward.h:124
@ CKIND_MASTERH
Definition forward.h:135
@ CKIND_CLINK
Definition forward.h:130
@ CKIND_PEACH
Definition forward.h:121
@ CKIND_GAMEWATCH
Definition forward.h:112
@ CKIND_YOSHI
Definition forward.h:126
@ CKIND_BOY
Definition forward.h:136
static MotionFlags const Ft_MF_KeepGfx
Definition forward.h:150
static MotionFlags const Ft_MF_SkipRumble
Ignore rumble update?
Definition forward.h:177
static MotionFlags const Ft_MF_SkipAttackCount
Definition forward.h:211
bool(* ftDevice_Callback0)(UNK_T, HSD_GObj *, Vec3 *)
Definition forward.h:68
enum_t FtMotionId
Definition forward.h:12
static MotionFlags const Ft_MF_KeepColAnimPartHitStatus
Assume this is for individual bones?
Definition forward.h:190
FtWalkType
Definition forward.h:290
@ FtWalkType_Slow
Definition forward.h:291
@ FtWalkType_Middle
Definition forward.h:292
@ FtWalkType_Fast
Definition forward.h:293
static MotionFlags const Ft_MF_KeepAccessory
Keep respawn platform?
Definition forward.h:182
void(* Fighter_ModelEvent)(Fighter *fp, int arg1, bool arg2)
Definition forward.h:63
static MotionFlags const Ft_MF_UpdateCmd
Run all Subaction Events up to the current animation frame.
Definition forward.h:185
static MotionFlags const Ft_MF_SkipItemVis
Used by Ness during Up/Down Smash.
Definition forward.h:195
static MotionFlags const Ft_MF_Unk24
Definition forward.h:209
void(* FighterEvent)(Fighter *fp)
Definition forward.h:66
static MotionFlags const Ft_MF_FreezeState
Sets anim rate to 0 and some other stuff.
Definition forward.h:203
static MotionFlags const Ft_MF_SkipModelFlags
Definition forward.h:213
static MotionFlags const Ft_MF_SkipParasol
Ignore Parasol state change.
Definition forward.h:174
static ssize_t const Ft_Dynamics_NumMax
Definition forward.h:411
FighterKind
Definition forward.h:70
@ FTKIND_BOY
Definition forward.h:100
@ FTKIND_GANON
Definition forward.h:96
@ FTKIND_ZELDA
Definition forward.h:90
@ FTKIND_PICHU
Definition forward.h:94
@ FTKIND_CLINK
Definition forward.h:91
@ FTKIND_PIKACHU
Definition forward.h:83
@ FTKIND_NONE
Definition forward.h:104
@ FTKIND_GKOOPS
Definition forward.h:102
@ FTKIND_NESS
Definition forward.h:79
@ FTKIND_EMBLEM
Definition forward.h:97
@ FTKIND_KIRBY
Definition forward.h:75
@ FTKIND_POPO
Definition forward.h:81
@ FTKIND_CAPTAIN
Definition forward.h:73
@ FTKIND_FALCO
Definition forward.h:93
@ FTKIND_PEACH
Definition forward.h:80
@ FTKIND_MAX
Definition forward.h:105
@ FTKIND_GIRL
Definition forward.h:101
@ FTKIND_GAMEWATCH
Definition forward.h:95
@ FTKIND_MARS
Definition forward.h:89
@ FTKIND_LUIGI
Definition forward.h:88
@ FTKIND_KOOPA
Definition forward.h:76
@ FTKIND_DONKEY
Definition forward.h:74
@ FTKIND_SAMUS
Definition forward.h:84
@ FTKIND_FOX
Definition forward.h:72
@ FTKIND_LINK
Definition forward.h:77
@ FTKIND_NANA
Definition forward.h:82
@ FTKIND_DRMARIO
Definition forward.h:92
@ FTKIND_SANDBAG
Definition forward.h:103
@ FTKIND_YOSHI
Definition forward.h:85
@ FTKIND_MASTERH
Definition forward.h:98
@ FTKIND_SEAK
Definition forward.h:78
@ FTKIND_CREZYH
Definition forward.h:99
@ FTKIND_MEWTWO
Definition forward.h:87
@ FTKIND_PURIN
Definition forward.h:86
@ FTKIND_MARIO
Definition forward.h:71
static MotionFlags const Ft_MF_SkipModelPartVis
Definition forward.h:205
static MotionFlags const Ft_MF_UnkUpdatePhys
Definition forward.h:200
static MotionFlags const Ft_MF_Unk06
Definition forward.h:163
static MotionFlags const Ft_MF_Unk19
Skips updating bit 5 of #Fighter::x2222_flag?
Definition forward.h:198
static MotionFlags const Ft_MF_KeepColAnimHitStatus
Preserve full body collision state.
Definition forward.h:153
static MotionFlags const Ft_MF_Unk31
Unused?
Definition forward.h:225
static MotionFlags const Ft_MF_Unk27
Definition forward.h:215
static MotionFlags const Ft_MF_SkipNametagVis
Definition forward.h:187
void(* Fighter_UnkPtrEvent)(int arg0, int *arg1, int *arg2)
Definition forward.h:65
void(* Fighter_ItemEvent)(HSD_GObj *gobj, bool arg1)
Definition forward.h:62
static MotionFlags const Ft_MF_SkipHitStun
Definition forward.h:217
static MotionFlags const Ft_MF_KeepSwordTrail
Definition forward.h:192
static MotionFlags const Ft_MF_SkipModel
Ignore model state change ?
Definition forward.h:159
static MotionFlags const Ft_MF_SkipThrowException
Resets thrower GObj pointer to NULL if false?
Definition forward.h:169
static MotionFlags const Ft_MF_KeepSfx
Definition forward.h:171
static MotionFlags const Ft_MF_SkipAnim
Keeps current fighter animation?
Definition forward.h:220
static MotionFlags const Ft_MF_Unk30
Definition forward.h:222
static MotionFlags const Ft_MF_KeepFastFall
Definition forward.h:148
SmashState
Definition forward.h:394
@ SmashState_None
Definition forward.h:395
@ SmashState_Release
Definition forward.h:398
@ SmashState_PreCharge
Definition forward.h:396
@ SmashState_Charging
Definition forward.h:397
FtMoveId
Definition forward.h:296
@ FtMoveId_ThrowB
Definition forward.h:351
@ FtMoveId_Parasol
Definition forward.h:384
@ FtMoveId_AttackAirF
Definition forward.h:311
@ FtMoveId_BatSwingDash
Definition forward.h:367
@ FtMoveId_LGunShoot
Definition forward.h:385
@ FtMoveId_AttackDash
Definition forward.h:303
@ FtMoveId_LipstickSwing3
Definition forward.h:381
@ FtMoveId_CargoThrowB
Definition forward.h:355
@ FtMoveId_BatSwing3
Definition forward.h:365
@ FtMoveId_KbSpecialNYs
Definition forward.h:331
@ FtMoveId_ThrowLw
Definition forward.h:353
@ FtMoveId_SpecialHi
Definition forward.h:317
@ FtMoveId_KbSpecialNGw
Definition forward.h:341
@ FtMoveId_AttackAirB
Definition forward.h:312
@ FtMoveId_CatchAttack
Definition forward.h:349
@ FtMoveId_AttackHi3
Definition forward.h:305
@ FtMoveId_KbSpecialNPk
Definition forward.h:329
@ FtMoveId_CargoThrowF
Definition forward.h:354
@ FtMoveId_CargoThrowLw
Definition forward.h:357
@ FtMoveId_KbSpecialNPe
Definition forward.h:327
@ FtMoveId_KbSpecialNDr
Definition forward.h:338
@ FtMoveId_None
Definition forward.h:297
@ FtMoveId_SwordSwing3
Definition forward.h:361
@ FtMoveId_KbSpecialNZd
Definition forward.h:336
@ FtMoveId_KbSpecialNSk
Definition forward.h:325
@ FtMoveId_AttackS4
Definition forward.h:307
@ FtMoveId_KbSpecialNPp
Definition forward.h:328
@ FtMoveId_StarRodSwing1
Definition forward.h:376
@ FtMoveId_SwordSwingDash
Definition forward.h:363
@ FtMoveId_CliffAttackQuick
Definition forward.h:359
@ FtMoveId_KbSpecialNMr
Definition forward.h:319
@ FtMoveId_KbSpecialNFx
Definition forward.h:320
@ FtMoveId_ThrowHi
Definition forward.h:352
@ FtMoveId_ParasolSwing4
Definition forward.h:370
@ FtMoveId_AttackAirN
Definition forward.h:310
@ FtMoveId_WarpStarFall
Definition forward.h:391
@ FtMoveId_KbSpecialNSs
Definition forward.h:330
@ FtMoveId_StarRodSwing3
Definition forward.h:377
@ FtMoveId_KbSpecialNCa
Definition forward.h:321
@ FtMoveId_ScopeFire
Definition forward.h:389
@ FtMoveId_AttackS3
Definition forward.h:304
@ FtMoveId_SpecialLw
Definition forward.h:318
@ FtMoveId_BatSwing4
Definition forward.h:366
@ FtMoveId_ParasolSwing1
Definition forward.h:368
@ FtMoveId_HarisenSwing4
Definition forward.h:374
@ FtMoveId_ParasolSwing3
Definition forward.h:369
@ FtMoveId_SpecialN
Definition forward.h:315
@ FtMoveId_KbSpecialNCl
Definition forward.h:337
@ FtMoveId_AttackAirHi
Definition forward.h:313
@ FtMoveId_KbSpecialNNs
Definition forward.h:326
@ FtMoveId_Unk48
Definition forward.h:345
@ FtMoveId_KbSpecialNKp
Definition forward.h:323
@ FtMoveId_KbSpecialNLg
Definition forward.h:334
@ FtMoveId_AttackLw3
Definition forward.h:306
@ FtMoveId_ScopeRapid
Definition forward.h:388
@ FtMoveId_ParasolSwingDash
Definition forward.h:371
@ FtMoveId_LipstickSwing4
Definition forward.h:382
@ FtMoveId_Attack100
Definition forward.h:302
@ FtMoveId_AttackHi4
Definition forward.h:308
@ FtMoveId_KbSpecialNPr
Definition forward.h:332
@ FtMoveId_KbSpecialNDk
Definition forward.h:322
@ FtMoveId_Default
Definition forward.h:298
@ FtMoveId_KbSpecialNPc
Definition forward.h:340
@ FtMoveId_BatSwing1
Definition forward.h:364
@ FtMoveId_KbSpecialNMt
Definition forward.h:333
@ FtMoveId_DownAttackD
Definition forward.h:348
@ FtMoveId_CargoThrowHi
Definition forward.h:356
@ FtMoveId_HarisenSwing1
Definition forward.h:372
@ FtMoveId_SwordSwing4
Definition forward.h:362
@ FtMoveId_KbSpecialNGk
Definition forward.h:344
@ FtMoveId_SwordSwing1
Definition forward.h:360
@ FtMoveId_LipstickSwingDash
Definition forward.h:383
@ FtMoveId_KbSpecialNFc
Definition forward.h:339
@ FtMoveId_Screw
Definition forward.h:387
@ FtMoveId_KbSpecialNFe
Definition forward.h:343
@ FtMoveId_KbSpecialNMs
Definition forward.h:335
@ FtMoveId_AttackLw4
Definition forward.h:309
@ FtMoveId_Hammer
Definition forward.h:390
@ FtMoveId_LipstickSwing1
Definition forward.h:380
@ FtMoveId_FireFlowerShoot
Definition forward.h:386
@ FtMoveId_SpecialS
Definition forward.h:316
@ FtMoveId_CliffAttackSlow
Definition forward.h:358
@ FtMoveId_StarRodSwingDash
Definition forward.h:379
@ FtMoveId_Attack11
Definition forward.h:299
@ FtMoveId_DownAttackU
Definition forward.h:347
@ FtMoveId_Attack12
Definition forward.h:300
@ FtMoveId_Attack13
Definition forward.h:301
@ FtMoveId_KbSpecialNLk
Definition forward.h:324
@ FtMoveId_Unk49
Definition forward.h:346
@ FtMoveId_HarisenSwing3
Definition forward.h:373
@ FtMoveId_KbSpecialNGn
Definition forward.h:342
@ FtMoveId_AttackAirLw
Definition forward.h:314
@ FtMoveId_ThrowF
Definition forward.h:350
@ FtMoveId_StarRodSwing4
Definition forward.h:378
@ FtMoveId_HarisenSwingDash
Definition forward.h:375
static MotionFlags const Ft_MF_SkipAnimVel
Definition forward.h:161
struct ftMaterial_UnkTevStruct ftMaterial_UnkTevStruct
Definition forward.h:27
u32 MotionFlags
Definition forward.h:33
static MotionFlags const Ft_MF_SkipColAnim
Definition forward.h:179
static MotionFlags const Ft_MF_SkipMatAnim
Ignore switching to character's "hurt" textures ?
Definition forward.h:166
static MotionFlags const Ft_MF_SkipMetalB
Definition forward.h:207
ftCommon_BuryType
Definition forward.h:401
@ BuryType_Unk2
Definition forward.h:404
@ BuryType_Unk1
Definition forward.h:403
@ BuryType_Unk0
Definition forward.h:402
@ BuryType_Unk3
Definition forward.h:405
Fighter_Part
Definition forward.h:233
@ FtPart_LHandN
Definition forward.h:255
@ FtPart_RThumbNa
Definition forward.h:282
@ FtPart_TransN2
Definition forward.h:286
@ FtPart_L1stNb
Definition forward.h:257
@ FtPart_L1stNa
Definition forward.h:256
@ FtPart_RKneeJ
Definition forward.h:247
@ FtPart_LLegJA
Definition forward.h:240
@ FtPart_R3rdNa
Definition forward.h:278
@ FtPart_LArmJ
Definition forward.h:254
@ FtPart_109
Definition forward.h:287
@ FtPart_ThrowN
Definition forward.h:285
@ FtPart_L3rdNb
Definition forward.h:261
@ FtPart_NeckN
Definition forward.h:267
@ FtPart_RShoulderJA
Definition forward.h:270
@ FtPart_L2ndNa
Definition forward.h:258
@ FtPart_R1stNb
Definition forward.h:275
@ FtPart_XRotN
Definition forward.h:236
@ FtPart_YRotN
Definition forward.h:237
@ FtPart_RLegJA
Definition forward.h:245
@ FtPart_R4thNa
Definition forward.h:280
@ FtPart_L4thNa
Definition forward.h:262
@ FtPart_RHandN
Definition forward.h:273
@ FtPart_LHandNb
Definition forward.h:266
@ FtPart_L2ndNb
Definition forward.h:259
@ FtPart_LThumbNb
Definition forward.h:265
@ FtPart_RFootJA
Definition forward.h:248
@ FtPart_TopN
Definition forward.h:234
@ FtPart_RHandNb
Definition forward.h:284
@ FtPart_R4thNb
Definition forward.h:281
@ FtPart_LLegJ
Definition forward.h:241
@ FtPart_RFootJ
Definition forward.h:249
@ FtPart_LFootJ
Definition forward.h:244
@ FtPart_LKneeJ
Definition forward.h:242
@ FtPart_R3rdNb
Definition forward.h:279
@ FtPart_R1stNa
Definition forward.h:274
@ FtPart_R2ndNa
Definition forward.h:276
@ FtPart_RShoulderJ
Definition forward.h:271
@ FtPart_LFootJA
Definition forward.h:243
@ FtPart_L3rdNa
Definition forward.h:260
@ FtPart_R2ndNb
Definition forward.h:277
@ FtPart_HipN
Definition forward.h:238
@ FtPart_WaistN
Definition forward.h:239
@ FtPart_LShoulderN
Definition forward.h:251
@ FtPart_LShoulderJA
Definition forward.h:252
@ FtPart_RThumbNb
Definition forward.h:283
@ FtPart_RShoulderN
Definition forward.h:269
@ FtPart_RArmJ
Definition forward.h:272
@ FtPart_RLegJ
Definition forward.h:246
@ FtPart_L4thNb
Definition forward.h:263
@ FtPart_BustN
Definition forward.h:250
@ FtPart_LShoulderJ
Definition forward.h:253
@ FtPart_HeadN
Definition forward.h:268
@ FtPart_TransN
Definition forward.h:235
@ FtPart_LThumbNa
Definition forward.h:264
static MotionFlags const Ft_MF_SkipHit
Keep hitboxes.
Definition forward.h:156
static unsigned long int next
Definition rand.c:3
int bool
A signed integer used to contain boolean values.
Definition stdbool.h:8
signed int ssize_t
Definition stddef.h:7