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 <platform.h>
5#include <placeholder.h>
6
7#include "ft/forward.h"
8#include "ftCommon/forward.h" // IWYU pragma: export
9#include "ftKirby/forward.h"
10#include "it/forward.h"
11
12#include "common_structs.h"
13
14#include <dolphin/mtx.h>
15
17 /* +0 */ float top;
18 /* +4 */ float bottom;
19 /* +8 */ Vec2 left;
20 /* +10 */ Vec2 right;
21};
22
25 Vec3 vec1;
26 Vec3 vec2;
27 float scale;
28};
29
31 struct {
32 /* fp+2340 */ int x0;
33 /* fp+2344 */ f32 x4;
34 /* fp+2348 */ UNK_T x8;
35 /* fp+234C */ UNK_T xC;
36 /* fp+2350 */ UNK_T x10;
37 /* fp+2354 */ float x14;
38 /* fp+2358 */ float x18;
39 /* fp+235C */ float x1C;
40 /* fp+2360 */ float x20;
41 /* fp+2364 */ float x24;
42 /* fp+2368 */ Vec3 x28;
43 /* fp+2374 */ Vec3 x34;
44 /* fp+2380 */ Vec3 x40;
45 /* fp+238C */ Vec3 x4C;
46 /* fp+2398 */ Vec3 x58;
48 struct {
49 /* fp+2340 */ float x0;
50 /* fp+2344 */ FtMotionId msid;
51 /* fp+2348 */ float slow_anim_frame;
52 /* fp+234C */ float middle_anim_frame;
53 /* fp+2350 */ float fast_anim_frame;
54 /* fp+2354 */ float slow_anim_rate;
55 /* fp+2358 */ float middle_anim_rate;
56 /* fp+235C */ float fast_anim_rate;
57 /* fp+2360 */ float accel_mul;
59 struct {
60 /* fp+2340 */ bool has_turned;
61 /* fp+2344 */ float facing_after;
62 /* fp+2348 */ float x8;
63 /* fp+234C */ u8 pad_xC[4];
64 /* fp+2350 */ float frames_to_turn;
65 /* fp+2354 */ u8 pad_x14[4];
66 /* fp+2358 */ bool just_turned;
67 /* fp+235C */ HSD_Pad x1C;
68
70 struct {
71 /* fp+2340 */ u8 pad_x0[12];
72 /* fp+234C */ float accel_mul;
73 /* fp+2350 */ u8 pad_x10[4];
74 /* fp+2354 */ int x14;
76 struct {
77 /* fp+2340 */ float x0;
78 /* fp+2344 */ int x4;
80 struct {
81 /* fp+2340 */ float x0;
82 /* fp+2344 */ float x4;
83 } run;
84 struct {
85 /* fp+2340 */ bool x0;
86 /* fp+2344 */ float frames;
88 struct {
89 /* fp+2340 */ int is_short_hop;
92 struct {
93 /* fp+2340 */ int x0;
94 /* fp+2344 */ bool x4;
95 /* fp+2348 */ float jump_mul;
97 struct {
98 /* fp+2340 */ int x0;
99 /* fp+2344 */ float init_h_vel;
101 struct {
102 /* fp+2340 */ FtMotionId smid;
103 /* fp+2344 */ float x4;
105 struct {
106 /* fp+2340 */ FtMotionId smid;
107 /* fp+2344 */ float x4;
109 struct {
110 /* fp+2340 */ bool x0;
112 struct {
113 /* fp+2340 */ int x0;
115 struct {
116 /* fp+2340 */ bool x0;
118 struct {
119 /* fp+2340 */ float x0;
120 /* fp+2344 */ int x4;
121 /* fp+2348 */ int x8;
122 /* fp+234C */ UNK_T xC;
123 /* fp+2350 */ UNK_T x10;
124 /* fp+2354 */ float x14;
125 /* fp+2358 */ u8 x18;
126 /* fp+2359 */ u8 x19;
127 /* fp+235A */ u8 x1A;
128 /* fp+235B */ u8 x1B;
130 struct {
131 /* fp+2340 */ s8 x0;
132 /* fp+2341 */ s8 x1;
133 /* fp+2342 */ s8 x2;
134 /* fp+2343 */ s8 x3;
135 /* fp+2344 */ float x4;
136 /* fp+2348 */ ftCollisionBox x8;
138 struct {
139 /* fp+2340 */ float x0;
141 struct {
142 /* fp+2340 */ float x0;
143 /* fp+2344 */ float x4;
144 /* fp+2348 */ float x8;
145 /* fp+234C */ bool xC;
146 /* fp+2350 */ float x10;
147 /* fp+2354 */ float x14;
148 /* fp+2358 */ float x18;
149 /* fp+235C */ int x1C;
150 /* fp+2360 */ int x20;
151 /* fp+2364 */ int x24;
152 /* fp+2368 */ UNK_T x28;
153 /* fp+236C */ float x2C;
155 struct {
156 /* fp+2340 */ bool x0; // itemget action is heavy type?
158 struct {
159 /* fp+2340 */ float facing_dir;
160 /* fp+2344 */ float x4;
161 /* fp+2348 */ int x8;
162 /* fp+234C */ int xC;
163 /* fp+2350 */ float x10;
164 /* fp+2354 */ int x14;
165 /* fp+2358 */ UNK_T x18;
166 /* fp+235C */ UNK_T x1C;
167 /* fp+2360 */ int x20;
169 struct {
170 /* fp+2340 */ int unk_timer;
171 /* fp+2344 */ float anim_spd;
172 /* fp+2348 */ Vec3 x8;
174 struct {
175 /* fp+2340 */ int x0;
176 /* fp+2344 */ float x4;
177 /* fp+2348 */ float x8;
178 /* fp+234C */ int xC;
179 /* fp+2350 */ bool x10;
180 /* fp+2354 */ float x14;
181 /* fp+2358 */ bool allow_interrupt;
183 struct {
184 /* fp+2340 */ bool x0;
185 /* fp+2344 */ float x4;
186 /* fp+2348 */ bool x8;
188 struct {
189 /* fp+2340 */ float x0;
191 struct {
192 /* fp+2340 */ u8 pad_x0[4];
193 /* fp+2344 */ u8 x4;
195 struct {
196 /* fp+2340 */ float x0;
197 } catch;
198 struct {
199 /* fp+2340 */ bool x0;
200 /* fp+2344 */ bool x4;
202 struct {
203 /* fp+2340 */ int timer;
204 /* fp+2344 */ Vec3 self_vel;
206 struct {
207 /* fp+2340 */ float x0;
208 /* fp+2344 */ float anim_start;
210 struct {
211 /* fp+2340 */ bool x0;
212 /* fp+2344 */ float x4;
214 struct {
219 /* fp+2340 */ int ledge_id;
220 /* fp+2344 */ float x4;
221 /* fp+2348 */ bool x8;
223 struct {
224 /* fp+2340 */ bool x0;
226 struct {
227 /* fp+2340 */ bool x0;
229 struct {
230 /* fp+2340 */ int x0;
231 /* fp+2344 */ int x4;
232 /* fp+2348 */ float x8;
234 struct {
235 /* fp+2340 */ float x0;
236 /* fp+2344 */ int x4;
238 struct {
239 /* fp+2340 */ float x0;
241 struct {
242 /* fp+2340 */ ftCo_GObj* x0;
243 /* fp+2344 */ bool x4;
244 /* fp+2348 */ float x8;
245 /* fp+234C */ float xC;
246 /* fp+2350 */ float x10;
247 /* fp+2354 */ float x14;
248 /* fp+2358 */ Vec3 x18;
249 /* fp+2364 */ Vec3 scale;
251 struct {
252 /* fp+2340 */ bool x0;
253 /* fp+2344 */ UNK_T x4;
254 /* fp+2348 */ float x8;
255 /* fp+234C */ float xC;
256 /* fp+2350 */ float x10;
258 struct {
259 /* fp+2340 */ Vec2 pos_offset;
260 /* fp+2348 */ Vec2 x8;
261 /* fp+2350 */ Vec2 x10;
262 /* fp+2358 */ bool x18;
263 /* fp+235C */ UNK_T x1C;
264 /* fp+2360 */ UNK_T x20;
265 /* fp+2364 */ UNK_T x24;
266 /* fp+2368 */ UNK_T x28;
267 /* fp+236C */ Vec3 scale;
269 struct {
270 /* fp+2340 */ ftKb_GObj* thrower_gobj;
271 /* fp+2344 */ float x4;
272 /* fp+2348 */ float x8;
273 /* fp+234C */ float xC;
274 /* fp+2350 */ float x10;
275 /* fp+2354 */ bool x14;
276 union {
277 u8 x18;
278 struct {
279 /* fp+2358:0 */ u8 x18_b0 : 1;
280 /* fp+2358:1 */ u8 x18_b1 : 1;
281 /* fp+2358:2 */ u8 x18_b2 : 1;
282 /* fp+2358:3 */ u8 x18_b3 : 1;
283 /* fp+2358:4 */ u8 x18_b4 : 1;
284 /* fp+2358:5 */ u8 x18_b5 : 1;
285 /* fp+2358:6 */ u8 x18_b6 : 1;
286 /* fp+2358:7 */ u8 x18_b7 : 1;
287 };
288 };
289 /* fp+235C */ Vec3 scale;
292 struct {
293 /* fp+2340 */ int x0;
294 /* fp+2344 */ ftCollisionBox coll_box;
295 /* fp+235C */ float x1C;
296 /* fp+2360 */ enum_t x20;
297 /* fp+2364 */ Vec3 translate;
299 struct {
300 /* fp+2340 */ float x0;
302 struct {
303 /* fp+2340 */ int timer;
304 /* fp+2344 */ int x4;
305 /* fp+2348 */ bool x8;
306 /* fp+234C */ int vel_y_exponent;
308 struct {
309 /* fp+2340 */ int x0;
310 /* fp+2344 */ float x4;
312 struct {
313 /* fp+2340 */ float x0;
315 struct {
316 /* fp+2340 */ Vec3 cur_pos;
317 /* fp+234C */ Vec3 self_vel;
318 /* fp+2358 */ float facing_dir;
319 /* fp+235C */ int x1C;
320 /* fp+2360 */ ftCollisionBox ecb;
322 struct {
323 /* fp+2340 */ int x0;
324 /* fp+2344 */ int x4;
325 /* fp+2348 */ float x8;
327 struct {
328 /* fp+2340 */ UNK_T x0;
329 /* fp+2344 */ float x4;
331 struct {
332 /* fp+2340 */ Item_GObj* x0;
334 struct {
335 /* fp+2340 */ bool timer;
337 struct {
338 /* fp+2340 */ Item_GObj* x0;
340 struct {
341 /* fp+2340 */ HSD_GObjEvent x0;
342 /* fp+2344 */ HSD_GObjEvent x4;
343 /* fp+2348 */ int x8;
345 struct {
346 /* fp+2340 */ int x0;
347 /* fp+2344 */ int x4;
348 /* fp+2348 */ Item_GObj* x8;
350 struct {
351 /* fp+2340 */ HSD_GObjEvent x0;
353 struct {
354 /* fp+2340 */ u8 pad_x0[0x6c - 0x40];
355 /* fp+236C */ int x6C;
356 /* fp+2370 */ int x70;
358 struct {
359 /* fp+2340 */ u8 pad_x0[0x6c - 0x40];
360 /* fp+236C */ int x6C;
361 /* fp+2370 */ int x70;
363 struct {
364 /* fp+2340 */ void* x40;
365 /* fp+2344 */ u8 pad_x44[0x6c - 0x44];
366 /* fp+236C */ int x6C;
367 /* fp+2370 */ int x70;
368 /* fp+2374 */ void* x74;
370 struct {
371 /* fp+2340 */ int x40;
373 struct {
374 /* fp+2340 */ int x40;
375 /* fp+2344 */ int x44;
376 /* fp+2348 */ u8 pad_x48[0x68 - 0x48];
377 /* fp+2368 */ int x68;
379};
380
381#endif
u32 HSD_Pad
Definition common_structs.h:20
ftCo_JumpInput
Definition forward.h:13
Fighter_GObj ftCo_GObj
Definition forward.h:10
enum_t FtMotionId
Definition forward.h:13
Fighter_Part
Definition forward.h:237
#define UNK_T
Definition placeholder.h:32
int enum_t
The underlying type of an enum, used as a placeholder.
Definition platform.h:9
Definition gobj.h:26
Definition types.h:23
Fighter_Part parts[3]
Definition types.h:24
Vec3 vec2
Definition types.h:26
float scale
Definition types.h:27
Vec3 vec1
Definition types.h:25
Definition types.h:16
float bottom
Definition types.h:18
Vec2 right
Definition types.h:20
Vec2 left
Definition types.h:19
float top
Definition types.h:17
void(* HSD_GObjEvent)(HSD_GObj *gobj)
Definition forward.h:107
Definition types.h:30
u8 pad_xC[4]
Definition types.h:63
struct ftCommon_MotionVars::@69 unk_800D3680
Vec3 cur_pos
Definition types.h:316
UNK_T x4
Definition types.h:253
float anim_start
Definition types.h:208
struct ftCommon_MotionVars::@42 pass
float slow_anim_frame
Definition types.h:51
float fast_anim_rate
Definition types.h:56
bool x4
Definition types.h:94
int x14
Definition types.h:74
bool timer
Definition types.h:335
Vec3 x34
Definition types.h:43
float facing_dir
Definition types.h:159
struct ftCommon_MotionVars::@40 escapeair
UNK_T x0
Definition types.h:328
int vel_y_exponent
Definition types.h:306
float middle_anim_frame
Definition types.h:52
float xC
Definition types.h:245
struct ftCommon_MotionVars::@43 cliff
ftKb_GObj * thrower_gobj
Definition types.h:270
u8 x18_b6
Definition types.h:285
u8 x4
Definition types.h:193
Vec2 x8
Definition types.h:260
float x2C
Definition types.h:153
Vec3 x18
Definition types.h:248
int x70
Definition types.h:356
u8 x1B
Definition types.h:128
bool just_turned
Definition types.h:66
Item_GObj * x0
Definition types.h:332
struct ftCommon_MotionVars::@22 fall
Item_GObj * x8
Definition types.h:348
Vec2 pos_offset
Definition types.h:259
struct ftCommon_MotionVars::@45 cargoturn
u8 x19
Definition types.h:126
f32 x4
Definition types.h:33
ftCollisionBox ecb
Definition types.h:320
int x20
Definition types.h:150
UNK_T x18
Definition types.h:165
struct ftCommon_MotionVars::@24 attack1
u8 pad_x48[0x68 - 0x48]
Definition types.h:376
void * x40
Definition types.h:364
float accel_mul
Definition types.h:57
struct ftCommon_MotionVars::@16 dash
FtMotionId smid
Definition types.h:102
int ledge_id
Used to check against opponent's Fighter::213C while they're occupying a ledge within grab range.
Definition types.h:219
struct ftCommon_MotionVars::@52 thrownkirby
int unk_timer
Definition types.h:170
struct ftCommon_MotionVars::@50 capturekoopa
struct ftCommon_MotionVars::@30 guard
struct ftCommon_MotionVars::@61 captureleadead
int x68
Definition types.h:377
struct ftCommon_MotionVars::@39 escape
float x0
Definition types.h:49
Vec3 x58
Definition types.h:46
struct ftCommon_MotionVars::@46 cargokneebend
enum_t x20
Definition types.h:296
struct ftCommon_MotionVars::@33 itemthrow4
int x0
Definition types.h:32
ftCo_JumpInput jump_input
Definition types.h:90
struct ftCommon_MotionVars::@62 entry
struct ftCommon_MotionVars::@56 aircatchhit
bool x18
Definition types.h:262
struct ftCommon_MotionVars::@44 cliffjump
Vec3 x28
Definition types.h:42
float x10
Definition types.h:146
struct ftCommon_MotionVars::@35 lift
struct ftCommon_MotionVars::@14 turn
int x24
Definition types.h:151
UNK_T x10
Definition types.h:36
UNK_T x28
Definition types.h:152
float init_h_vel
Definition types.h:99
struct ftCommon_MotionVars::@54 buryjump
struct ftCommon_MotionVars::@57 aircatch
Vec3 translate
Definition types.h:297
s8 x3
Definition types.h:134
struct ftCommon_MotionVars::@60 hammerlanding
struct ftCommon_MotionVars::@32 itemthrow
int x4
Definition types.h:78
int timer
Definition types.h:203
struct ftCommon_MotionVars::@59 hammerkneebend
int x40
Definition types.h:371
UNK_T x24
Definition types.h:265
u8 pad_x14[4]
Definition types.h:65
void * x74
Definition types.h:368
ftCo_GObj * x0
Definition types.h:242
float frames_to_turn
Definition types.h:64
struct ftCommon_MotionVars::@29 damageicejump
struct ftCommon_MotionVars::@19 kneebend
UNK_T x8
Definition types.h:34
float x24
Definition types.h:41
s8 x2
Definition types.h:133
bool allow_interrupt
Definition types.h:181
u8 pad_x0[12]
Definition types.h:71
s8 x1
Definition types.h:132
UNK_T x20
Definition types.h:264
struct ftCommon_MotionVars::@66 unk_800D2890
float anim_spd
Definition types.h:171
struct ftCommon_MotionVars::@34 fallspecial
struct ftCommon_MotionVars::@18 runbrake
int x8
Definition types.h:121
float frames
Definition types.h:86
struct ftCommon_MotionVars::@55 passivewall
u8 pad_x10[4]
Definition types.h:73
struct ftCommon_MotionVars::@58 warpstar
int x6C
Definition types.h:355
u8 x18_b2
Definition types.h:281
struct ftCommon_MotionVars::@27 damage
bool x8
Definition types.h:186
float jump_mul
Definition types.h:95
int x1C
Definition types.h:149
struct ftCommon_MotionVars::@63 capturelikelike
struct ftCommon_MotionVars::@26 attacklw3
float fast_anim_frame
Definition types.h:53
ftCollisionBox coll_box
Definition types.h:290
HSD_GObjEvent x0
Definition types.h:341
float x4
Definition types.h:82
struct ftCommon_MotionVars::@25 attackdash
struct ftCommon_MotionVars::@53 bury
struct ftCommon_MotionVars::@28 damageice
bool has_turned
Definition types.h:60
struct ftCommon_MotionVars::@49 yoshiegg
Vec3 scale
Definition types.h:249
ftCollisionBox x8
Definition types.h:136
struct ftCommon_MotionVars::@70 unk_deadleft
struct ftCommon_MotionVars::@13 walk
u8 x1A
Definition types.h:127
struct ftCommon_MotionVars::@71 unk_deadup
float x1C
Definition types.h:39
struct ftCommon_MotionVars::@51 capturekirby
struct ftCommon_MotionVars::@48 downdamage
Vec3 self_vel
Definition types.h:204
struct ftCommon_MotionVars::@41 rebound
u8 x18_b5
Definition types.h:284
struct ftCommon_MotionVars::@20 jump
u8 x18_b4
Definition types.h:283
struct ftCommon_MotionVars::@17 run
u8 x18_b1
Definition types.h:280
Vec3 x4C
Definition types.h:45
bool x0
Definition types.h:85
struct ftCommon_MotionVars::@12 common
float middle_anim_rate
Definition types.h:55
float x20
Definition types.h:40
Vec2 x10
Definition types.h:261
bool xC
Definition types.h:145
bool x10
Definition types.h:179
float x14
Definition types.h:37
float facing_after
Definition types.h:61
struct ftCommon_MotionVars::@67 unk_800D331C
bool x14
Definition types.h:275
struct ftCommon_MotionVars::@65 barrel
int xC
Definition types.h:162
HSD_GObjEvent x4
Definition types.h:342
int x44
Definition types.h:375
struct ftCommon_MotionVars::@21 jumpaerial
Vec3 x40
Definition types.h:44
float slow_anim_rate
Definition types.h:54
Vec3 x8
Definition types.h:172
FtMotionId msid
Definition types.h:50
float x18
Definition types.h:38
UNK_T xC
Definition types.h:35
struct ftCommon_MotionVars::@36 downwait
u8 pad_x44[0x6c - 0x44]
Definition types.h:365
struct ftCommon_MotionVars::@15 turnrun
float x8
Definition types.h:62
u8 x18_b3
Definition types.h:282
u8 x18
Definition types.h:125
struct ftCommon_MotionVars::@37 downspot
struct ftCommon_MotionVars::@64 mushroom
HSD_Pad x1C
Definition types.h:67
struct ftCommon_MotionVars::@47 shouldered
struct ftCommon_MotionVars::@31 itemget
s8 x0
Definition types.h:131
UNK_T x1C
Definition types.h:166
u8 x18_b7
Definition types.h:286
u8 x18_b0
Definition types.h:279
struct ftCommon_MotionVars::@23 fallaerial
struct ftCommon_MotionVars::@68 unk_800D34E0
int is_short_hop
Definition types.h:89