SSBM Decomp
Loading...
Searching...
No Matches
fighter.h
Go to the documentation of this file.
1#ifndef GALE01_0679B0
2#define GALE01_0679B0
3
4#include <Runtime/platform.h>
5
7
8#include <placeholder.h>
9
10#include <dolphin/mtx.h>
12#include <melee/ft/inlines.h> // IWYU pragma: export
13#include <melee/ft/types.h>
14#include <melee/sfx/crowdsfx.h>
16
21extern struct Fighter_804D64FC_t {
24 CpuCmdScript* cmdscripts DAT_COUNT(0x3E);
25 ftCo_AttackList* x4 DAT_COUNT(
26 Ft_Kind_Max - 1);
27 ftCo_AttackList* x8
29 ftCo_AttackList* xC DAT_COUNT(Ft_Kind_Max -
30 1);
31 ftCo_AttackList* x10 DAT_COUNT(
32 Ft_Kind_Max - 1);
33 ftCo_AttackList* x14 DAT_COUNT(
34 Ft_Kind_Max - 1);
35 ftCo_AttackList* x18 DAT_COUNT(
36 Ft_Kind_Max - 1);
37 ftCo_AttackList* x1C
40 1);
41 float* x24 DAT_COUNT(6);
43
44struct plAllocInfo;
45
46/* 0679B0 */ void Fighter_800679B0(void);
47/* 067A84 */ void Fighter_FirstInitialize_80067A84(void);
48/* 067ABC */ void Fighter_LoadCommonData(void);
49/* 067BB4 */ void Fighter_UpdateModelScale(Fighter_GObj* gobj);
50/* 067C98 */ void Fighter_UnkInitReset_80067C98(Fighter*);
51/* 068354 */ void Fighter_Spawn(Fighter_GObj* gobj);
52/* 0686E4 */ void Fighter_UnkUpdateCostumeJoint_800686E4(Fighter_GObj* gobj);
54/* 068854 */ void Fighter_ResetInputData_80068854(Fighter_GObj* gobj);
55/* 068914 */ void Fighter_UnkInitLoad_80068914(Fighter_GObj* gobj,
56 struct plAllocInfo* argdata);
57/* 068E40 */ u32 Fighter_NewSpawn_80068E40(void);
58/* 068E64 */ void Fighter_80068E64(Fighter_GObj* gobj);
59/* 068E98 */ Fighter_GObj* Fighter_Create(struct plAllocInfo* input);
60/* 0693AC */ void Fighter_ChangeMotionState(Fighter_GObj* gobj,
61 FtMotionId msid, MotionFlags flags,
62 f32 anim_start, f32 anim_speed,
63 f32 anim_blend,
64 Fighter_GObj* arg3);
65/* 06A1BC */ void Fighter_procHitlag(Fighter_GObj* gobj);
66/* 06A360 */ void Fighter_procAnim(Fighter_GObj* gobj);
67/* 06ABA0 */ void Fighter_procCpu(Fighter_GObj* gobj);
68/* 06ABEC */ void Fighter_UnkIncrementCounters_8006ABEC(Fighter_GObj* gobj);
69/* 06AD10 */ void Fighter_procInput(Fighter_GObj* gobj);
70/* 06B82C */ void Fighter_procUpdate(Fighter_GObj* gobj);
71/* 06C0F0 */ void Fighter_UnkApplyTransformation_8006C0F0(Fighter_GObj* gobj);
72/* 06C27C */ void Fighter_procMap(Fighter_GObj* gobj);
73/* 06C5F4 */ void Fighter_procIK(Fighter_GObj* gobj);
74/* 06C624 */ void Fighter_procAccessory(Fighter_GObj* gobj);
75/* 06C80C */ void Fighter_procCollPos(Fighter_GObj* gobj);
76/* 06CA5C */ void Fighter_procGrabColl(Fighter_GObj* gobj);
77/* 06CB94 */ void Fighter_procAttackColl(Fighter_GObj* gobj);
78/* 06CC30 */ void Fighter_UnkTakeDamage_8006CC30(Fighter* fp,
79 float damage_amount);
80/* 06CC7C */ void Fighter_TakeDamage_8006CC7C(Fighter*, float);
81/* 06CDA4 */ void Fighter_8006CDA4(Fighter* fp, s32 arg1);
82/* 06CF5C */ void Fighter_8006CF5C(Fighter* fp, s32 arg1);
83/* 06CFBC */ void Fighter_UnkSetFlag_8006CFBC(Fighter_GObj* gobj);
84/* 06CFE0 */ void Fighter_8006CFE0(Fighter_GObj* gobj);
85/* 06D044 */ void Fighter_UnkRecursiveFunc_8006D044(Fighter_GObj* gobj);
86/* 06D10C */ void Fighter_8006D10C(Fighter_GObj* gobj);
87/* 06D1EC */ void Fighter_procCollResolve(Fighter_GObj* gobj);
88/* 06D9AC */ void Fighter_procDynamics(Fighter_GObj* gobj);
89/* 06D9EC */ void Fighter_procCamera(Fighter_GObj* gobj);
90/* 06DA4C */ void Fighter_procPlayer(Fighter_GObj* gobj);
91/* 06DABC */ void Fighter_Unload_8006DABC(void* user_data);
92/* 458FD0 */ extern HSD_ObjAllocData fighter_alloc_data;
98/* 4D6504 */ extern HSD_Joint* Fighter_804D6504;
99/* 4D6508 */ extern u8* Fighter_804D6508;
100/* 4D650C */ extern u8* Fighter_804D650C;
101/* 4D6510 */ extern UNK_T Fighter_804D6510;
102/* 4D6514 */ extern HSD_Joint*
104
105/* 4D6518 */ extern struct Fighter_804D6518_t {
109
121
139
140/* 4D6524 */ extern struct Fighter_804D6524_t {
142 float x0;
143 float x4;
144 float x8;
145 float xC;
146 float x10;
147 float x14;
148 float x18;
149 float x1C;
150 float x20;
151 float x24;
152 float x28;
153 float x2C;
154 float x30;
155 float x34;
156 float x38;
157 float x3C;
158 float x40;
159 float x44;
160 float x48;
161 float x4C;
162 float x50;
163 float x54;
164 float x58;
165 float x5C;
166 float x60;
167 float x64;
168 float x68;
169 float x6C;
170 float x70;
171 float x74;
172 float x78;
173 float x7C;
174 float x80;
175 float x84;
176 float x88;
177 float x8C;
178 float x90;
179 float x94;
180 float x98;
186
188/* 4D652C */ extern struct Fighter_ShakeTable_t* Fighter_GrabMashShake;
189
190/* 4D6530 */ extern struct ftDamageShifts* Fighter_804D6530;
191/* 4D6534 */ extern UNK_T Fighter_804D6534;
192/* 4D6538 */ extern struct Fighter_804D653C_t* Fighter_804D6538;
193/* 4D653C */ extern struct Fighter_804D653C_t* Fighter_804D653C;
194
201
202typedef struct ftCo_ItemThrowAttrs {
204 float angle;
205 float x8;
207
213/* 4D6544 */ extern FighterPartsTable** ftPartsTable;
214/* 4D6548 */ extern float* Fighter_804D6548;
215/* 4D654C */ extern float (*Fighter_804D654C)[5];
216/* 4D6550 */ extern ftCo_ItemThrowAttrs* Fighter_804D6550;
217/* 4D6554 */ extern ftCommonData* p_ftCommonData;
218
223 /* +0 */ Vec2* shifts DAT_COUNT(count);
224 /* +4 */ int count;
225};
226
231 /* +08 */ float (*x8)[5] DAT_COUNT(6);
233 /* +0C */ float* xC DAT_COUNT(9);
234 /* +10 */ FighterPartsTable** parts_table DAT_COUNT(Ft_Kind_Max + 1);
235 /* +14 */ struct Fighter_804D6540_t** x14 DAT_COUNT(Ft_Kind_Max + 1);
237 /* +18 */ struct Fighter_804D653C_t*
240 /* +1C */ struct Fighter_804D653C_t* x1C DAT_COUNT(6);
241 /* +20 */ UNK_T x20;
243 /* +24 */ struct ftDamageShifts* x24 DAT_COUNT(3);
246 /* +30 */ struct Fighter_804D6524_t* x30;
247 /* +34 */ struct Fighter_804D6520_t* x34;
248 /* +38 */ struct Fighter_804D651C_t* x38;
249 /* +3C */ struct Fighter_804D6518_t* x3C;
250 /* +40 */ HSD_Joint* x40;
251 /* +44 */ UNK_T x44;
252 /* +48 */ u8* x48;
253 /* +4C */ u8* x4C;
254 /* +50 */ HSD_Joint* x50;
256 /* +58 */ struct Fighter_804D64FC_t* x58;
257};
259
260#endif
float(* Fighter_804D654C)[5]
Definition fighter.c:136
struct ftDamageShifts * Fighter_804D6530
Definition fighter.c:129
HSD_ObjAllocData fighter_alloc_data
Definition fighter.c:103
HSD_Joint * Fighter_804D6514
trophy platform model when characters spawn
Definition fighter.c:122
ftCommonData * p_ftCommonData
Definition fighter.c:138
struct Fighter_804D651C_t * Fighter_804D651C
Definition fighter.c:124
HSD_ObjAllocData fighter_x59C_alloc_data
Definition fighter.c:108
HSD_Joint * Fighter_804D6504
Definition fighter.c:118
struct Fighter_804D6518_t * Fighter_804D6518
Definition fighter.c:123
UNK_T Fighter_804D6534
Definition fighter.c:130
struct Fighter_804D64FC_t * Fighter_804D64FC
the following seems to be an array, initialized in reverse in
Definition fighter.c:116
struct Fighter_804D653C_t * Fighter_804D653C
Definition fighter.c:132
struct Fighter_804D6520_t * Fighter_804D6520
Definition fighter.c:125
UNK_T Fighter_804D6510
Definition fighter.c:121
HSD_ObjAllocData fighter_parts_alloc_data
Definition fighter.c:105
struct Fighter_ShakeTable_t * Fighter_SmashChargeShakeTable
Definition fighter.c:127
u8 * Fighter_804D650C
Definition fighter.c:120
struct Fighter_ShakeTable_t * Fighter_GrabMashShake
Grab-mash shake table.
Definition fighter.c:128
u8 * Fighter_804D6508
Definition fighter.c:119
HSD_ObjAllocData fighter_x2040_alloc_data
Definition fighter.c:107
HSD_ObjAllocData fighter_dat_attrs_alloc_data
Definition fighter.c:104
FighterPartsTable ** ftPartsTable
Definition fighter.c:134
HSD_ObjAllocData fighter_dobj_list_alloc_data
Definition fighter.c:106
struct Fighter_804D6540_t ** Fighter_804D6540
Definition fighter.c:133
ftCo_ItemThrowAttrs * Fighter_804D6550
Definition fighter.c:137
struct Fighter_804D653C_t * Fighter_804D6538
Definition fighter.c:131
struct Fighter_804D6524_t * Fighter_804D6524
Definition fighter.c:126
float * Fighter_804D6548
Definition fighter.c:135
void Fighter_procCollPos(Fighter_GObj *gobj)
Definition fighter.c:2552
void Fighter_procAccessory(Fighter_GObj *gobj)
Definition fighter.c:2526
void Fighter_procDynamics(Fighter_GObj *gobj)
Definition fighter.c:3050
void Fighter_8006CF5C(Fighter *fp, s32 arg1)
Definition fighter.c:2710
void Fighter_UnkInitReset_80067C98(Fighter *)
Definition fighter.c:232
Fighter_GObj * Fighter_Create(struct plAllocInfo *input)
Definition fighter.c:848
void Fighter_80068E64(Fighter_GObj *gobj)
Definition fighter.c:823
void Fighter_ResetInputData_80068854(Fighter_GObj *gobj)
Definition fighter.c:598
void Fighter_UnkUpdateVecFromBones_8006876C(Fighter *fp)
Definition fighter.c:581
void Fighter_Spawn(Fighter_GObj *gobj)
Definition fighter.c:514
void Fighter_UnkApplyTransformation_8006C0F0(Fighter_GObj *gobj)
Definition fighter.c:2440
void Fighter_UnkRecursiveFunc_8006D044(Fighter_GObj *gobj)
Definition fighter.c:2748
void Fighter_procCamera(Fighter_GObj *gobj)
Definition fighter.c:3061
void Fighter_procPlayer(Fighter_GObj *gobj)
Definition fighter.c:3073
void Fighter_procGrabColl(Fighter_GObj *gobj)
Definition fighter.c:2589
void Fighter_UpdateModelScale(Fighter_GObj *gobj)
Definition fighter.c:213
void Fighter_UnkSetFlag_8006CFBC(Fighter_GObj *gobj)
Definition fighter.c:2719
void Fighter_8006CDA4(Fighter *fp, s32 arg1)
Definition fighter.c:2671
void Fighter_8006D10C(Fighter_GObj *gobj)
Definition fighter.c:2791
void Fighter_procIK(Fighter_GObj *gobj)
Definition fighter.c:2518
void Fighter_ChangeMotionState(Fighter_GObj *gobj, FtMotionId msid, MotionFlags flags, f32 anim_start, f32 anim_speed, f32 anim_blend, Fighter_GObj *arg3)
Definition fighter.c:935
void Fighter_procMap(Fighter_GObj *gobj)
Definition fighter.c:2476
void Fighter_TakeDamage_8006CC7C(Fighter *, float)
Definition fighter.c:2648
void Fighter_800679B0(void)
Definition fighter.c:140
void Fighter_FirstInitialize_80067A84(void)
Definition fighter.c:173
void Fighter_procAnim(Fighter_GObj *gobj)
Definition fighter.c:1446
void Fighter_LoadCommonData(void)
Definition fighter.c:179
void Fighter_procHitlag(Fighter_GObj *gobj)
Definition fighter.c:1395
void Fighter_8006CFE0(Fighter_GObj *gobj)
Definition fighter.c:2728
void Fighter_UnkIncrementCounters_8006ABEC(Fighter_GObj *gobj)
Definition fighter.c:1713
void Fighter_procCpu(Fighter_GObj *gobj)
Definition fighter.c:1705
void Fighter_UnkInitLoad_80068914(Fighter_GObj *gobj, struct plAllocInfo *argdata)
Definition fighter.c:687
void Fighter_procInput(Fighter_GObj *gobj)
Definition fighter.c:1778
void Fighter_UnkTakeDamage_8006CC30(Fighter *fp, float damage_amount)
Definition fighter.c:2642
void Fighter_UnkUpdateCostumeJoint_800686E4(Fighter_GObj *gobj)
Definition fighter.c:565
void Fighter_procUpdate(Fighter_GObj *gobj)
Definition fighter.c:2153
u32 Fighter_NewSpawn_80068E40(void)
increments the spawn number, returns the spawn number value before incrementing
Definition fighter.c:814
void Fighter_procCollResolve(Fighter_GObj *gobj)
Definition fighter.c:2806
void Fighter_procAttackColl(Fighter_GObj *gobj)
Definition fighter.c:2621
void Fighter_Unload_8006DABC(void *user_data)
Definition fighter.c:3086
signed int s32
Definition types.h:12
unsigned int u32
Definition types.h:13
float f32
Definition types.h:18
unsigned char u8
Definition types.h:5
enum_t FtMotionId
Definition forward.h:20
@ FtColAnim_SpycloakStart
IDs starting here index the separate spycloak list after subtraction.
Definition forward.h:495
@ Ft_Kind_Max
Definition forward.h:133
u32 MotionFlags
Definition forward.h:55
#define UNK_T
Definition placeholder.h:24
#define ASSERT_SIZE(expr, size)
Definition platform.h:127
Configuration for crowd/announcer reactions during matches.
Definition crowdsfx.h:28
Table in PlCo.dat.
Definition types.h:48
Definition fighter.h:21
ftCo_AttackList *x4 DAT_COUNT(Ft_Kind_Max - 1)
+04 ground attack tables (per character)
float *x20 DAT_COUNT(Ft_Kind_Max - 1)
+20 distance thresholds (per character)
ftCo_AttackList *xC DAT_COUNT(Ft_Kind_Max - 1)
+0C ranged/projectile attack tables
ftCo_AttackList *x18 DAT_COUNT(Ft_Kind_Max - 1)
+18 weapon attack tables (per character)
float *x24 DAT_COUNT(6)
+24 weapon reach bonus, by item kind
ftCo_AttackList *x14 DAT_COUNT(Ft_Kind_Max - 1)
+14 special action tables (per character)
ftCo_AttackList *x8 DAT_COUNT(Ft_Kind_Max - 1)
+08 air attack tables (per character)
ftCo_AttackList *x10 DAT_COUNT(Ft_Kind_Max - 1)
+10 smash attack tables (per character)
ftCo_AttackList *x1C DAT_COUNT(Ft_Kind_Max - 1)
+1C edge guard tables (per character)
CpuCmdScript *cmdscripts DAT_COUNT(0x3E)
+00 CPU scripts indexed by ftCo_800B4880 (0x00-0x3D).
Definition fighter.h:105
f32 x0
gravity mult
Definition fighter.h:106
f32 x4
weight mult
Definition fighter.h:107
Definition fighter.h:110
f32 x18
weight
Definition fighter.h:117
f32 x20
wall jump y impulse
Definition fighter.h:119
f32 x0
Definition fighter.h:111
f32 x8
jump y impulse shorthop
Definition fighter.h:113
f32 x14
fast fall speed
Definition fighter.h:116
f32 x4
jump y impulse fullhop
Definition fighter.h:112
f32 xC
gravity
Definition fighter.h:114
f32 x10
fall speed
Definition fighter.h:115
f32 x1C
ledge jump y impulse
Definition fighter.h:118
Definition fighter.h:122
f32 x20
gravity
Definition fighter.h:131
f32 x28
fast fall speed
Definition fighter.h:133
f32 x10
jump x impulse
Definition fighter.h:127
f32 x30
ledge jump y impulse
Definition fighter.h:135
f32 x18
jump y impulse shorthop
Definition fighter.h:129
f32 xC
dash max speed
Definition fighter.h:126
f32 x1C
jump x max speed
Definition fighter.h:130
f32 x14
jump y impulse fullhop
Definition fighter.h:128
f32 x8
dash accel b
Definition fighter.h:125
f32 x38
wall jump y impulse
Definition fighter.h:137
f32 x4
dash accel a
Definition fighter.h:124
f32 x34
wall jump x impulse
Definition fighter.h:136
f32 x0
walk speed scale
Definition fighter.h:123
f32 x24
fall speed
Definition fighter.h:132
f32 x2C
ledge jump x impulse
Definition fighter.h:134
Definition fighter.h:140
float x4
damage dealt mult
Definition fighter.h:143
float x30
gravity mult
Definition fighter.h:154
float x24
jump squat mult
Definition fighter.h:151
float x44
fast fall speed mult
Definition fighter.h:159
float x90
Definition fighter.h:178
float x28
jump y impulse fullhop mult
Definition fighter.h:152
float x5C
Definition fighter.h:165
float x88
Definition fighter.h:176
float x7C
uair land lag mult
Definition fighter.h:173
float x68
Definition fighter.h:168
float x8
Definition fighter.h:144
float x38
air accel a mult
Definition fighter.h:156
float x74
fair land lag mult
Definition fighter.h:171
float xC
Definition fighter.h:145
float x3C
air accel b mult
Definition fighter.h:157
float x18
walk fast speed mult
Definition fighter.h:148
float x14
walk middle speed
Definition fighter.h:147
float x48
weight mult
Definition fighter.h:160
float x58
Definition fighter.h:164
float x70
nair land lag mult
Definition fighter.h:170
float x60
Definition fighter.h:166
float x10
walk anim scale
Definition fighter.h:146
float x40
air speed mult
Definition fighter.h:158
float x84
Definition fighter.h:175
float x54
Definition fighter.h:163
float x20
Definition fighter.h:150
float x4C
shield break y vel mult
Definition fighter.h:161
float x50
Definition fighter.h:162
float x8C
Definition fighter.h:177
float x2C
jump y impulse shorthop mult
Definition fighter.h:153
float x34
fall speed mult
Definition fighter.h:155
float x98
Definition fighter.h:180
float x64
Definition fighter.h:167
float x0
knockback recieved mult
Definition fighter.h:142
float x1C
dash max speed
Definition fighter.h:149
float x94
cmsubject offset mult
Definition fighter.h:179
float x78
bair land lag mult
Definition fighter.h:172
float x6C
empty land lag mult
Definition fighter.h:169
float x80
dair land lag mult
Definition fighter.h:174
Definition types.h:437
Definition fighter.h:208
Fighter_804D6540_x0_t * x0
Definition fighter.h:209
int x4
Definition fighter.h:210
Definition fighter.h:195
u8 x0
Definition fighter.h:196
u8 x2
Definition fighter.h:198
u8 x1
Definition fighter.h:197
u8 x3
Definition fighter.h:199
Definition fighter.h:182
Vec2 * x0
Definition fighter.h:183
int x4
Definition fighter.h:184
Definition types.h:1481
Definition jobj.h:129
Definition objalloc.h:19
Definition mtx.h:10
Item throw parameters, one per item throw motion state.
Definition fighter.h:202
float angle
Definition fighter.h:204
float x8
Definition fighter.h:205
float velocity_mul
Definition fighter.h:203
Definition types.h:80
The ftLoadCommonData root of PlCo.dat: the tables every fighter shares, copied into the globals of th...
Definition fighter.h:222
Vec2 *shifts DAT_COUNT(count)
int count
Definition fighter.h:224
Definition fighter.h:227
struct Fighter_804D651C_t * x38
Definition fighter.h:248
struct Fighter_804D6520_t * x34
Definition fighter.h:247
float *xC DAT_COUNT(9)
Staling, one per entry of the stale move queue (ft_80089118).
struct Fighter_804D6540_t **x14 DAT_COUNT(Ft_Kind_Max+1)
struct Fighter_ShakeTable_t * smash_charge_shake
Definition fighter.h:245
UNK_T x20
Definition fighter.h:241
ftCo_ItemThrowAttrs * item_throw
Definition fighter.h:229
FighterPartsTable **parts_table DAT_COUNT(Ft_Kind_Max+1)
CrowdConfig * crowd_config
Definition fighter.h:255
struct Fighter_804D64FC_t * x58
Definition fighter.h:256
HSD_Joint * x40
Definition fighter.h:250
struct Fighter_804D6518_t * x3C
Definition fighter.h:249
float(*x8) DAT_COUNT[5](6)
One row per swing type (fn_800CCEC4).
Definition fighter.h:231
u8 * x48
Definition fighter.h:252
struct Fighter_804D653C_t *x1C DAT_COUNT(6)
Spycloak animations, IDs 0x7B through 0x80 (ft_800C0098).
HSD_Joint * x50
Definition fighter.h:254
struct Fighter_804D6524_t * x30
Definition fighter.h:246
u8 * x4C
Definition fighter.h:253
ftCommonData * common
Definition fighter.h:228
UNK_T x44
Definition fighter.h:251
struct Fighter_804D653C_t *x18 DAT_COUNT(FtColAnim_SpycloakStart)
Color animations for IDs below FtColAnim_SpycloakStart.
struct ftDamageShifts *x24 DAT_COUNT(3)
By Fighter::dmg's x18F8.
struct Fighter_ShakeTable_t * grab_mash_shake
Definition fighter.h:244
Definition types.h:10