SSBM Decomp
Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1#ifndef MELEE_FT_CHARA_FTCOMMON_TYPES_H
2#define MELEE_FT_CHARA_FTCOMMON_TYPES_H
3
4#include "common_structs.h"
5
6#include <placeholder.h>
7#include <platform.h>
8
9#include "ft/forward.h"
10#include "ftCommon/forward.h" // IWYU pragma: export
11#include "ftKirby/forward.h"
12#include "it/forward.h"
13#include "lb/forward.h"
14
15#include <dolphin/mtx.h>
16
18 /* +0 */ float top;
19 /* +4 */ float bottom;
20 /* +8 */ Vec2 left;
21 /* +10 */ Vec2 right;
22};
23
32
34 struct {
35 /* fp+2340 */ int x0;
36 /* fp+2344 */ f32 x4;
37 /* fp+2348 */ UNK_T x8;
38 /* fp+234C */ UNK_T xC;
39 /* fp+2350 */ UNK_T x10;
40 /* fp+2354 */ float x14;
41 /* fp+2358 */ float x18;
42 /* fp+235C */ float x1C;
43 /* fp+2360 */ float x20;
44 /* fp+2364 */ float x24;
45 /* fp+2368 */ Vec3 x28;
46 /* fp+2374 */ Vec3 x34;
47 /* fp+2380 */ Vec3 x40;
48 /* fp+238C */ Vec3 x4C;
49 /* fp+2398 */ Vec3 x58;
51 struct {
52 /* fp+2340 */ float x0;
53 /* fp+2344 */ FtMotionId msid;
54 /* fp+2348 */ float slow_anim_frame;
55 /* fp+234C */ float middle_anim_frame;
56 /* fp+2350 */ float fast_anim_frame;
57 /* fp+2354 */ float slow_anim_rate;
58 /* fp+2358 */ float middle_anim_rate;
59 /* fp+235C */ float fast_anim_rate;
60 /* fp+2360 */ float accel_mul;
62 struct {
63 /* fp+2340 */ bool has_turned;
64 /* fp+2344 */ float facing_after;
65 /* fp+2348 */ float x8;
66 /* fp+234C */ u8 pad_xC[4];
67 /* fp+2350 */ float frames_to_turn;
68 /* fp+2354 */ u8 pad_x14[4];
69 /* fp+2358 */ bool just_turned;
70 /* fp+235C */ HSD_Pad x1C;
71
73 struct {
74 /* fp+2340 */ u8 pad_x0[12];
75 /* fp+234C */ float accel_mul;
76 /* fp+2350 */ u8 pad_x10[4];
77 /* fp+2354 */ int x14;
79 struct {
80 /* fp+2340 */ float x0;
81 /* fp+2344 */ int x4;
83 struct {
84 /* fp+2340 */ float x0;
85 /* fp+2344 */ float x4;
86 } run;
87 struct {
88 /* fp+2340 */ bool x0;
89 /* fp+2344 */ float frames;
91 struct {
92 /* fp+2340 */ int is_short_hop;
95 struct {
96 /* fp+2340 */ int x0;
97 /* fp+2344 */ bool x4;
98 /* fp+2348 */ float jump_mul;
100 struct {
101 /* fp+2340 */ int x0;
102 /* fp+2344 */ float init_h_vel;
104 struct {
105 /* fp+2340 */ FtMotionId smid;
106 /* fp+2344 */ float x4;
108 struct {
109 /* fp+2340 */ FtMotionId smid;
110 /* fp+2344 */ float x4;
112 struct {
113 /* fp+2340 */ int x0;
114 /* fp+2344 */ float x4;
116 struct {
117 /* fp+2340 */ bool allow_interrupt;
119 struct {
120 /* fp+2340 */ bool x0;
122 struct {
123 /* fp+2340 */ int x0;
125 struct {
126 /* fp+2340 */ bool x0;
128 struct {
129 /* fp+2340 */ float x0;
130 /* fp+2344 */ int x4;
131 /* fp+2348 */ int x8;
132 /* fp+234C */ UNK_T xC;
133 /* fp+2350 */ UNK_T x10;
134 /* fp+2354 */ float x14;
135 /* fp+2358 */ u8 x18;
136 /* fp+2359 */ u8 x19;
137 /* fp+235A */ u8 x1A;
138 /* fp+235B */ u8 x1B;
140 struct {
141 /* fp+2340 */ u8 wall_hit_dir;
142 /* fp+2344 */ float rot_speed;
145 struct {
146 /* fp+2340 */ float escape_timer;
148 struct {
149 /* fp+2340 */ float x0;
150 /* fp+2344 */ float x4;
151 /* fp+2348 */ float x8;
152 /* fp+234C */ bool xC;
153 /* fp+2350 */ float x10;
154 /* fp+2354 */ float x14;
155 /* fp+2358 */ float x18;
156 /* fp+235C */ int x1C;
157 /* fp+2360 */ int x20;
158 /* fp+2364 */ int x24;
159 /* fp+2368 */ UNK_T x28;
160 /* fp+236C */ float x2C;
162 struct {
163 /* fp+2340 */ bool x0; // itemget action is heavy type?
165 struct {
166 /* fp+2340 */ UNK_T x0;
167 /* fp+2344 */ int x4;
168 /* fp+2348 */ float x8;
169 /* fp+234C */ HSD_GObj* victim;
170 /* fp+2350 */ float self_vel_y;
171 /* fp+2354 */ float self_vel_x;
173 struct {
174 /* fp+2340 */ float facing_dir;
175 /* fp+2344 */ float x4;
176 /* fp+2348 */ int x8;
177 /* fp+234C */ int xC;
178 /* fp+2350 */ float x10;
179 /* fp+2354 */ int x14;
180 /* fp+2358 */ UNK_T x18;
181 /* fp+235C */ UNK_T x1C;
182 /* fp+2360 */ int x20;
184 struct {
185 /* fp+2340 */ int unk_timer;
186 /* fp+2344 */ float anim_spd;
187 /* fp+2348 */ Vec3 x8;
189 struct {
190 /* fp+2340 */ int x0;
191 /* fp+2344 */ float x4;
192 /* fp+2348 */ float x8;
193 /* fp+234C */ int xC;
194 /* fp+2350 */ bool x10;
195 /* fp+2354 */ float x14;
196 /* fp+2358 */ bool allow_interrupt;
198 struct {
199 /* fp+2340 */ bool x0;
200 /* fp+2344 */ float x4;
201 /* fp+2348 */ bool x8;
203 struct {
204 /* fp+2340 */ float x0;
206 struct {
207 /* fp+2340 */ u8 pad_x0[4];
208 /* fp+2344 */ u8 x4;
210 struct {
211 /* fp+2340 */ float x0;
212 } catch;
213 struct {
214 /* fp+2340 */ bool x0;
215 /* fp+2344 */ bool x4;
217 struct {
218 /* fp+2340 */ int timer;
219 /* fp+2344 */ Vec3 self_vel;
221 struct {
222 /* fp+2340 */ float x0;
223 /* fp+2344 */ float anim_start;
225 struct {
226 /* fp+2340 */ bool x0;
227 /* fp+2344 */ float x4;
229 struct {
234 /* fp+2340 */ int ledge_id;
235 /* fp+2344 */ float x4;
236 /* fp+2348 */ bool x8;
238 struct {
239 /* fp+2340 */ bool x0;
241 struct {
242 /* fp+2340 */ bool x0;
244 struct {
245 /* fp+2340 */ int x0;
246 /* fp+2344 */ int x4;
247 /* fp+2348 */ float x8;
249 struct {
250 /* fp+2340 */ float x0;
251 /* fp+2344 */ int x4;
253 struct {
254 /* fp+2340 */ float x0;
256 struct {
257 /* fp+2340 */ Fighter_GObj* x0;
258 /* fp+2344 */ bool x4;
259 /* fp+2348 */ float x8;
260 /* fp+234C */ float xC;
261 /* fp+2350 */ float x10;
262 /* fp+2354 */ float x14;
263 /* fp+2358 */ Vec3 x18;
264 /* fp+2364 */ Vec3 scale;
266 struct {
267 /* fp+2340 */ bool x0;
268 /* fp+2344 */ UNK_T x4;
269 /* fp+2348 */ float x8;
270 /* fp+234C */ float xC;
271 /* fp+2350 */ float x10;
273 struct {
274 /* fp+2340 */ Vec2 pos_offset;
275 /* fp+2348 */ Vec2 x8;
276 /* fp+2350 */ Vec2 x10;
277 /* fp+2358 */ bool x18;
278 /* fp+235C */ UNK_T x1C;
279 /* fp+2360 */ UNK_T x20;
280 /* fp+2364 */ UNK_T x24;
281 /* fp+2368 */ UNK_T x28;
282 /* fp+236C */ Vec3 scale;
284 struct {
285 /* fp+2340 */ Fighter_GObj* thrower_gobj;
286 /* fp+2344 */ float x4;
287 /* fp+2348 */ float x8;
288 /* fp+234C */ float xC;
289 /* fp+2350 */ float x10;
290 /* fp+2354 */ bool x14;
291 union {
292 u8 x18;
293 struct {
294 /* fp+2358:0 */ u8 x18_b0 : 1;
295 /* fp+2358:1 */ u8 x18_b1 : 1;
296 /* fp+2358:2 */ u8 x18_b2 : 1;
297 /* fp+2358:3 */ u8 x18_b3 : 1;
298 /* fp+2358:4 */ u8 x18_b4 : 1;
299 /* fp+2358:5 */ u8 x18_b5 : 1;
300 /* fp+2358:6 */ u8 x18_b6 : 1;
301 /* fp+2358:7 */ u8 x18_b7 : 1;
302 };
303 };
304 /* fp+235C */ Vec3 scale;
307 struct {
308 /* fp+2340 */ int x0;
309 /* fp+2344 */ ftCollisionBox coll_box;
310 /* fp+235C */ float x1C;
311 /* fp+2360 */ enum_t x20;
312 /* fp+2364 */ Vec3 translate;
314 struct {
315 /* fp+2340 */ float x0;
317 struct {
318 /* fp+2340 */ int timer;
319 /* fp+2344 */ int x4;
320 /* fp+2348 */ bool x8;
321 /* fp+234C */ int vel_y_exponent;
323 struct {
324 /* fp+2340 */ int x0;
325 /* fp+2344 */ float x4;
327 struct {
328 /* fp+2340 */ float x0;
330 struct {
331 /* fp+2340 */ Vec3 cur_pos;
332 /* fp+234C */ Vec3 self_vel;
333 /* fp+2358 */ float facing_dir;
334 /* fp+235C */ int x1C;
335 /* fp+2360 */ ftCollisionBox ecb;
337 struct {
338 /* fp+2340 */ int x0;
339 /* fp+2344 */ int x4;
340 /* fp+2348 */ float x8;
342 struct {
343 /* fp+2340 */ UNK_T x0;
344 /* fp+2344 */ float x4;
346 struct {
347 /* fp+2340 */ Item_GObj* x0;
349 struct {
350 /* fp+2340 */ bool timer;
352 struct {
353 /* fp+2340 */ Item_GObj* x0;
355 struct {
356 /* fp+2340 */ HSD_GObjEvent x0;
357 /* fp+2344 */ HSD_GObjEvent x4;
358 /* fp+2348 */ int x8;
360 struct {
361 /* fp+2340 */ int x0;
362 /* fp+2344 */ int x4;
363 /* fp+2348 */ Item_GObj* x8;
365 struct {
366 /* fp+2340 */ HSD_GObjEvent x0;
368 struct {
369 /* fp+2340 */ u8 pad_x0[0x6c - 0x40];
370 /* fp+236C */ int x6C;
371 /* fp+2370 */ int x70;
373 struct {
374 /* fp+2340 */ u8 pad_x0[0x6c - 0x40];
375 /* fp+236C */ int x6C;
376 /* fp+2370 */ int x70;
378 struct {
379 /* fp+2340 */ void* x40;
380 /* fp+2344 */ u8 pad_x44[0x6c - 0x44];
381 /* fp+236C */ int x6C;
382 /* fp+2370 */ int x70;
383 /* fp+2374 */ void* x74;
385 struct {
386 /* fp+2340 */ int x40;
388 struct {
389 /* fp+2340 */ int x40;
390 /* fp+2344 */ int x44;
391 /* fp+2348 */ u8 pad_x48[0x68 - 0x48];
392 /* fp+2368 */ int x68;
394 struct {
395 /* fp+2340 */ bool unk_bool;
396 /* fp+2344 */ float anim_timer;
397 /* fp+2348 */ UNK_T x8;
398 /* fp+234C */ u8 xC;
400 struct {
401 /* fp+2340 */ FtMotionId prev_msid;
403};
404
408 /* +4 */ u32 x4;
409 /* +8 */ u32 unk_count;
410 /* +C */ float damage;
411 /* +10 */ Vec3 b_offset;
412 /* +1C */ float scale;
413 /* +20 */ int kb_angle;
414 /* +24 */ u32 x24;
415 /* +28 */ u32 x28;
416 /* +2C */ u32 x2C;
417 /* +30 */ u32 element;
418 /* +34 */ char pad_34[0xFC];
419};
420
422 char pad_0[0x38];
423 /* +38 */ float pos_x_0;
424 /* +3C */ float x3C;
425 /* +40 */ float pos_x_1;
426};
427
428#endif
u32 HSD_Pad
Definition common_structs.h:20
ftCo_JumpInput
Definition forward.h:11
enum_t FtMotionId
Definition forward.h:14
Fighter_Part
Definition forward.h:239
HurtHeight
Definition forward.h:79
HitCapsuleState
Definition forward.h:70
#define UNK_T
Definition placeholder.h:32
int enum_t
The underlying type of an enum, used as a placeholder.
Definition platform.h:9
was using this to try and fix some matches, unsuccessfully
Definition gobj.h:26
Definition types.h:406
u32 unk_count
Definition types.h:409
Vec3 b_offset
Definition types.h:411
u32 x24
Definition types.h:414
u32 x4
Definition types.h:408
HitCapsuleState state
Definition types.h:407
char pad_34[0xFC]
Definition types.h:418
u32 x28
Definition types.h:415
u32 x2C
Definition types.h:416
float scale
Definition types.h:412
int kb_angle
Definition types.h:413
float damage
Definition types.h:410
u32 element
Definition types.h:417
Definition types.h:421
char pad_0[0x38]
Definition types.h:422
float pos_x_1
Definition types.h:425
float x3C
Definition types.h:424
float pos_x_0
Definition types.h:423
Definition types.h:17
float bottom
Definition types.h:19
Vec2 right
Definition types.h:21
Vec2 left
Definition types.h:20
float top
Definition types.h:18
Definition types.h:24
Vec3 a_offset
Definition types.h:28
u32 is_grabbable
Definition types.h:27
Fighter_Part bone_idx
Definition types.h:25
Vec3 b_offset
Definition types.h:29
float scale
Definition types.h:30
HurtHeight height
Definition types.h:26
void(* HSD_GObjEvent)(HSD_GObj *gobj)
Definition forward.h:109
Definition types.h:33
u8 pad_xC[4]
Definition types.h:66
struct ftCommon_MotionVars::@67 mushroom
struct ftCommon_MotionVars::@68 barrel
float rot_speed
Definition types.h:142
struct ftCommon_MotionVars::@59 aircatchhit
struct ftCommon_MotionVars::@34 fighterthrow
struct ftCommon_MotionVars::@27 attackdash
Vec3 cur_pos
Definition types.h:331
UNK_T x4
Definition types.h:268
struct ftCommon_MotionVars::@76 parasol_open
struct ftCommon_MotionVars::@56 bury
float anim_start
Definition types.h:223
float slow_anim_frame
Definition types.h:54
float fast_anim_rate
Definition types.h:59
bool x4
Definition types.h:97
int x14
Definition types.h:77
bool timer
Definition types.h:350
u8 xC
Definition types.h:398
Vec3 x34
Definition types.h:46
float facing_dir
Definition types.h:174
ftCollisionBox ice_coll
Definition types.h:143
UNK_T x0
Definition types.h:166
int vel_y_exponent
Definition types.h:321
float middle_anim_frame
Definition types.h:55
float xC
Definition types.h:260
struct ftCommon_MotionVars::@35 itemthrow
float escape_timer
Definition types.h:146
u8 x18_b6
Definition types.h:300
u8 x4
Definition types.h:208
struct ftCommon_MotionVars::@51 downdamage
struct ftCommon_MotionVars::@53 capturekoopa
Vec2 x8
Definition types.h:275
FtMotionId prev_msid
Definition types.h:401
float x2C
Definition types.h:160
struct ftCommon_MotionVars::@38 lift
Vec3 x18
Definition types.h:263
int x70
Definition types.h:371
u8 x1B
Definition types.h:138
struct ftCommon_MotionVars::@54 capturekirby
bool just_turned
Definition types.h:69
Item_GObj * x0
Definition types.h:347
struct ftCommon_MotionVars::@22 fall
Item_GObj * x8
Definition types.h:363
Vec2 pos_offset
Definition types.h:274
u8 x19
Definition types.h:136
f32 x4
Definition types.h:36
struct ftCommon_MotionVars::@62 hammerkneebend
ftCollisionBox ecb
Definition types.h:335
int x20
Definition types.h:157
UNK_T x18
Definition types.h:180
float anim_timer
Definition types.h:396
u8 pad_x48[0x68 - 0x48]
Definition types.h:391
void * x40
Definition types.h:379
u8 wall_hit_dir
Definition types.h:141
float accel_mul
Definition types.h:60
struct ftCommon_MotionVars::@16 dash
FtMotionId smid
Definition types.h:105
int ledge_id
Used to check against opponent's Fighter::213C while they're occupying a ledge within grab range.
Definition types.h:234
int unk_timer
Definition types.h:185
struct ftCommon_MotionVars::@50 shouldered
bool unk_bool
Definition types.h:395
struct ftCommon_MotionVars::@45 pass
struct ftCommon_MotionVars::@57 buryjump
int x68
Definition types.h:392
HSD_GObj * victim
Definition types.h:169
struct ftCommon_MotionVars::@40 downspot
struct ftCommon_MotionVars::@72 unk_800D3680
float x0
Definition types.h:52
struct ftCommon_MotionVars::@43 escapeair
struct ftCommon_MotionVars::@47 cliffjump
Vec3 x58
Definition types.h:49
struct ftCommon_MotionVars::@70 unk_800D331C
float self_vel_x
Definition types.h:171
enum_t x20
Definition types.h:311
int x0
Definition types.h:35
ftCo_JumpInput jump_input
Definition types.h:93
bool x18
Definition types.h:277
Vec3 x28
Definition types.h:45
struct ftCommon_MotionVars::@66 capturelikelike
float x10
Definition types.h:153
struct ftCommon_MotionVars::@14 turn
int x24
Definition types.h:158
UNK_T x10
Definition types.h:39
struct ftCommon_MotionVars::@30 damageice
UNK_T x28
Definition types.h:159
struct ftCommon_MotionVars::@46 cliff
float init_h_vel
Definition types.h:102
struct ftCommon_MotionVars::@32 guard
Vec3 translate
Definition types.h:312
float self_vel_y
Definition types.h:170
struct ftCommon_MotionVars::@73 unk_deadleft
int x4
Definition types.h:81
int timer
Definition types.h:218
int x40
Definition types.h:386
UNK_T x24
Definition types.h:280
u8 pad_x14[4]
Definition types.h:68
struct ftCommon_MotionVars::@24 squat
struct ftCommon_MotionVars::@25 landing
struct ftCommon_MotionVars::@52 yoshiegg
void * x74
Definition types.h:383
float frames_to_turn
Definition types.h:67
struct ftCommon_MotionVars::@19 kneebend
UNK_T x8
Definition types.h:37
float x24
Definition types.h:44
bool allow_interrupt
Definition types.h:117
u8 pad_x0[12]
Definition types.h:74
UNK_T x20
Definition types.h:279
struct ftCommon_MotionVars::@42 escape
float anim_spd
Definition types.h:186
struct ftCommon_MotionVars::@18 runbrake
struct ftCommon_MotionVars::@37 fallspecial
int x8
Definition types.h:131
float frames
Definition types.h:89
u8 pad_x10[4]
Definition types.h:76
int x6C
Definition types.h:370
struct ftCommon_MotionVars::@64 captureleadead
struct ftCommon_MotionVars::@36 itemthrow4
u8 x18_b2
Definition types.h:296
bool x8
Definition types.h:201
struct ftCommon_MotionVars::@69 unk_800D2890
float jump_mul
Definition types.h:98
int x1C
Definition types.h:156
float fast_anim_frame
Definition types.h:56
struct ftCommon_MotionVars::@28 attacklw3
ftCollisionBox coll_box
Definition types.h:305
HSD_GObjEvent x0
Definition types.h:356
struct ftCommon_MotionVars::@31 damageicejump
float x4
Definition types.h:85
struct ftCommon_MotionVars::@60 aircatch
bool has_turned
Definition types.h:63
Vec3 scale
Definition types.h:264
struct ftCommon_MotionVars::@13 walk
u8 x1A
Definition types.h:137
float x1C
Definition types.h:42
struct ftCommon_MotionVars::@58 passivewall
struct ftCommon_MotionVars::@75 thrown
Vec3 self_vel
Definition types.h:219
u8 x18_b5
Definition types.h:299
struct ftCommon_MotionVars::@20 jump
u8 x18_b4
Definition types.h:298
struct ftCommon_MotionVars::@17 run
u8 x18_b1
Definition types.h:295
struct ftCommon_MotionVars::@39 downwait
Fighter_GObj * x0
Definition types.h:257
Vec3 x4C
Definition types.h:48
bool x0
Definition types.h:88
struct ftCommon_MotionVars::@12 common
float middle_anim_rate
Definition types.h:58
struct ftCommon_MotionVars::@48 cargoturn
float x20
Definition types.h:43
Vec2 x10
Definition types.h:276
bool xC
Definition types.h:152
bool x10
Definition types.h:194
struct ftCommon_MotionVars::@44 rebound
float x14
Definition types.h:40
float facing_after
Definition types.h:64
bool x14
Definition types.h:290
struct ftCommon_MotionVars::@49 cargokneebend
int xC
Definition types.h:177
HSD_GObjEvent x4
Definition types.h:357
int x44
Definition types.h:390
struct ftCommon_MotionVars::@55 thrownkirby
struct ftCommon_MotionVars::@21 jumpaerial
Vec3 x40
Definition types.h:47
float slow_anim_rate
Definition types.h:57
struct ftCommon_MotionVars::@63 hammerlanding
Vec3 x8
Definition types.h:187
FtMotionId msid
Definition types.h:53
float x18
Definition types.h:41
UNK_T xC
Definition types.h:38
struct ftCommon_MotionVars::@26 attack1
u8 pad_x44[0x6c - 0x44]
Definition types.h:380
struct ftCommon_MotionVars::@29 damage
struct ftCommon_MotionVars::@74 unk_deadup
struct ftCommon_MotionVars::@15 turnrun
float x8
Definition types.h:65
u8 x18_b3
Definition types.h:297
Fighter_GObj * thrower_gobj
Definition types.h:285
u8 x18
Definition types.h:135
struct ftCommon_MotionVars::@61 warpstar
struct ftCommon_MotionVars::@71 unk_800D34E0
struct ftCommon_MotionVars::@65 entry
HSD_Pad x1C
Definition types.h:70
UNK_T x1C
Definition types.h:181
u8 x18_b7
Definition types.h:301
u8 x18_b0
Definition types.h:294
struct ftCommon_MotionVars::@33 itemget
struct ftCommon_MotionVars::@23 fallaerial
int is_short_hop
Definition types.h:92