SSBM Decomp
Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1#ifndef MELEE_PL_TYPES_H
2#define MELEE_PL_TYPES_H
3
4#include <Runtime/platform.h>
5
6#include <melee/pl/forward.h>
7
8#include <melee/ft/types.h>
9
14 struct {
15 u8 b0 : 1;
17 u8 b2 : 1;
18 u8 b3 : 1;
19 u8 b4 : 1;
20 u8 b5 : 1;
21 u8 b6 : 1;
22 u8 b7 : 1;
23 };
24};
25
34 struct {
35 u8 b0 : 1;
37 u8 b2 : 1;
38 u8 b3 : 1;
39 u8 b4 : 1;
40 u8 b5 : 1;
41 u8 b6 : 1;
42 u8 b7 : 1;
43 };
44};
45
47 /* +0 */ u32 total;
50 /* +198 */ u32 aerials_count;
51 /* +19C */ u32 specials_count;
52 /* +1A0 */ u32
54 /* +1A4 */ u32 x1A4_count;
55 /* +1A8 */ u32 x1A8;
56};
57
59 /* +0 */ struct plAttackStats attacks;
60 /* +1AC */ struct plAttackStats hits;
62 // the pattern for plAttackStats... but pl_800386D8 directly references
63 // x3E8. it doesnt really make sense that it would split the enum at
64 // StatsAttack_KbSpecialNMt
65 /* +358 */ union {
67 struct {
77 };
78 };
80 /* +568 */ u32 x568;
81 /* +56C */ u32 x56C;
82 /* +570 */ u32 x570;
83 /* +574 */ u32 x574;
84 /* +578 */ u32 x578;
85 /* +57C */ u32 x57C;
86 /* +580 */ u32 x580;
87 /* +584 */ u32 x584;
88 /* +588 */ u32 x588;
89 /* +58C */ u32 x58C;
90 /* +590 */ u32 x590;
91 /* +594 */ u32 x594;
92 /* +598 */ u32 x598[8];
93 /* +5B8 */ u8 x5B8[4];
94 /* +5BC */ u8 x5BC_b0 : 1;
95 /* +5BC */ u8 x5BC_b1 : 1;
96 /* +5BC */ u8 x5BC_b2 : 1;
97 /* +5BC */ u8 x5BC_b3 : 1;
98};
99
101 /* +0 */ int current_index;
102 /* +4 */ struct {
107 /* +5EC */ struct pl_x5EC_t {
112 struct {
113 float x0;
117 int xC;
120 } x10[6];
123 /* +710 */ int x710[Pl_ItemLog_Terminate];
124 /* +7AC */ int x7AC[Pl_ItemLog_Terminate];
125 /* +848 */ int x848[30];
126 /* +8C0 */ struct pl_x8C0_t {
127 int x0;
128 struct {
132 } x4[5];
134 /* +8D8 */ struct pl_x8D8_t {
135 int x0;
136 struct {
140 } x4[5];
142 /* +904 */ unsigned int x904[215];
143 /* +C60 */ float xC60;
144 /* +C64 */ float xC64;
145 /* +C68 */ int xC68;
146 /* +C6C */ float xC6C;
147 /* +C70 */ float xC70;
148 /* +C74 */ float xC74;
149 /* +C78 */ float xC78[6];
150 /* +C90 */ unsigned int xC90;
151 /* +C94 */ int xC94;
152 /* +C98 */ float xC98;
153 /* +C9C */ float xC9C;
154 /* +CA0 */ float xCA0;
155 /* +CA4 */ int xCA4;
156 /* +CA8 */ unsigned int xCA8;
157 /* +CAC */ unsigned int xCAC;
158 /* +CB0 */ int xCB0;
159 /* +CB4 */ int xCB4;
160 /* +CB8 */ int xCB8;
162 /* +CC0 */ ft_800898B4_t xCC0;
163 /* +CD4 */ u16 xCD4;
164 /* +CD8 */ int xCD8;
165 /* +CDC */ float xCDC;
166 /* +CE0 */ float xCE0;
167 /* +CE4 */ u32 xCE4;
168 /* +CE8 */ u32 xCE8;
169 /* +CEC */ int xCEC;
170 /* +CF0 */ int xCF0;
171};
173
176 /* +CF4 */ int xCF4;
177 /* +CF8 */ float xCF8;
178 /* +CFC */ int xCFC;
179 /* +D00 */ int xD00;
180 /* +D04 */ unsigned int xD04;
181 /* +D08 */ unsigned int xD08;
182 /* +D0C */ unsigned int xD0C;
183 /* +D10 */ int xD10;
184 /* +D14 */ u32 xD14;
185 /* +D18 */ unsigned int xD18;
186 /* +D1C */ u32 xD1C;
187 /* +D20 */ u32 xD20;
188 /* +D24 */ u32 xD24;
189 /* +D28 */ u32 xD28;
190 /* +D2C */ u32 xD2C;
191 /* +D30 */ u32 xD30;
192 /* +D34 */ int xD34;
193 /* +D38 */ u32 xD38;
194 /* +D3C */ u32 xD3C;
195 /* +D40 */ unsigned int xD40;
196 /* +D44 */ unsigned int xD44;
197 /* +D48 */ unsigned int xD48;
198 /* +D4C */ unsigned int xD4C;
199 /* +D50 */ unsigned int xD50;
200 /* +D54 */ unsigned int xD54;
201 /* +D58 */ unsigned int xD58;
202 /* +D5C */ unsigned int xD5C;
203 /* +D60 */ u32 xD60;
204 /* +D64 */ int xD64;
205 /* +D68 */ int xD68;
206 /* +D6C */ int xD6C;
207 /* +D70 */ int xD70;
208 /* +D74 */ float xD74;
209 /* +D78 */ float xD78;
210 /* +D7C */ float xD7C;
211 /* +D80 */ float xD80;
212 /* +D84 */ float xD84;
213 /* +D88 */ float xD88;
214 /* +D8C */ float xD8C;
215 /* +D90 */ int xD90;
216 /* +D94 */ float xD94;
217 /* +D98 */ int xD98;
218 /* +D9C */ int xD9C;
219 /* +DA0 */ int xDA0;
220 /* +DA4 */ int xDA4;
221 /* +DA8 */ int xDA8;
222 /* +DAC */ int xDAC;
223 /* +DB0 */ int xDB0;
224 /* +DB4 */ int xDB4;
225 /* +DB8 */ int xDB8;
226 /* +DBC */ int xDBC;
227 /* +DC0 */ float xDC0;
228 /* +DC4 */ int xDC4;
229 /* +DC8 */ int xDC8;
230 /* +DCC */ int xDCC;
231 /* +DD0 */ union {
233 struct {
234 u8 bit0 : 1;
235 u8 bit1 : 1;
236 u8 bit2 : 1;
237 u8 bit3 : 1;
238 u8 bit4 : 1;
239 u8 bit5 : 1;
240 u8 bit6 : 1;
241 u8 bit7 : 1;
242 };
244 /* +DD1 */ union {
246 struct {
247 u8 bit0 : 1;
248 u8 bit1 : 1;
249 u8 bit2 : 1;
250 u8 bit3 : 1;
251 u8 bit4 : 1;
252 u8 bit5 : 1;
253 u8 bit6 : 1;
254 u8 bit7 : 1;
255 };
257}; // UNKNOWN SIZE
258
260 /* 0x000 */ char pad_0[0x190];
261 /* 0x190 */ int unk_190; /* inferred */
262 /* 0x194 */ char pad_194[0x418]; /* maybe part of unk_190[0x107]? */
263 /* 0x5AC */ int unk_5AC; /* inferred */
264 /* 0x5B0 */ int unk_5B0; /* inferred */
265}; /* size = 0x5B4 */
266
268 /* +0 */ float x0;
269 /* +4 */ int x4;
270 /* +8 */ float x8;
271 /* +C */ u32 xC;
272 /* +10 */ float x10;
273 /* +14 */ float x14;
274 /* +18 */ unsigned int x18;
275 /* +1C */ unsigned int x1C;
276 /* +20 */ float x20;
277 /* +24 */ int x24;
278 /* +28 */ float x28;
279 /* +2C */ unsigned int x2C;
280 /* +30 */ unsigned int x30;
281 /* +34 */ float x34;
282 /* +38 */ float x38;
283 /* +3C */ u32 x3C;
284 /* +40 */ u32 x40;
285 /* +44 */ float x44;
286 /* +48 */ float x48;
287 /* +4C */ float x4C;
288 /* +50 */ u32 x50;
289 /* +54 */ u32 x54;
290 /* +58 */ float x58;
291 /* +5C */ float x5C;
292 /* +60 */ float x60;
293 /* +64 */ float x64;
294 /* +68 */ float x68;
295 /* +6C */ float x6C;
296 /* +70 */ unsigned int x70;
297 /* +74 */ unsigned int x74;
298 /* +78 */ float x78;
299 /* +7C */ unsigned int x7C;
300 /* +80 */ unsigned int x80;
301 /* +84 */ float x84;
302 /* +88 */ unsigned int x88;
303 /* +8C */ unsigned int x8C;
304 /* +90 */ unsigned int x90;
305 /* +94 */ unsigned int x94;
306 /* +98 */ float x98;
307 /* +9C */ float x9C;
308 /* +A0 */ float xA0;
309 /* +A4 */ unsigned int xA4;
310 /* +A8 */ unsigned int xA8;
311 /* +AC */ unsigned int xAC;
312 /* +B0 */ unsigned int xB0;
313 /* +B4 */ unsigned int xB4;
314 /* +B8 */ unsigned int xB8;
315 /* +BC */ unsigned int xBC;
316 /* +C0 */ u8 xC0[0xC4 - 0xC0];
317 /* +C4 */ unsigned int xC4;
318 /* +C8 */ unsigned int xC8;
319 /* +CC */ float xCC;
320 /* +D0 */ float xD0;
321 /* +D4 */ float xD4;
322 /* +D8 */ float xD8;
323 /* +DC */ u32 xDC;
324 /* +E0 */ unsigned int xE0;
325 /* +E4 */ unsigned int xE4;
326 /* +E8 */ float xE8;
327 /* +EC */ int xEC;
328 /* +F0 */ u32 xF0;
329 /* +F4 */ float xF4;
330 /* +F8 */ float xF8;
331 /* +FC */ float xFC;
332 /* +100 */ float x100;
333 /* +104 */ float x104;
334 /* +108 */ int x108;
335 /* +10C */ float x10C;
336 /* +110 */ int x110;
337 /* +114 */ float x114;
338 /* +118 */ unsigned int x118;
339 /* +11C */ float x11C;
340 /* +120 */ int x120;
341 /* +124 */ unsigned int x124;
342 /* +128 */ int x128;
343 /* +12C */ int x12C;
344 /* +130 */ unsigned int x130;
345 /* +134 */ unsigned int x134;
346 /* +138 */ u32 x138;
347 /* +13C */ unsigned int x13C;
348 /* +140 */ unsigned int x140;
349 /* +144 */ unsigned int x144;
350 /* +148 */ unsigned int x148;
351 /* +14C */ unsigned int x14C;
352 /* +150 */ unsigned int x150;
353 /* +154 */ unsigned int x154;
354 /* +158 */ unsigned int x158;
355 /* +15C */ unsigned int x15C;
356 /* +160 */ float x160;
357 /* +164 */ unsigned int x164;
358 /* +168 */ unsigned int x168;
359 /* +16C */ unsigned int x16C;
360 /* +170 */ unsigned int x170;
361 /* +174 */ unsigned int x174;
362 /* +178 */ unsigned int x178;
363 /* +17C */ int x17C;
364 /* +180 */ float x180;
365}; // UNKNOWN SIZE
366
367#endif
signed char s8
Definition types.h:4
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
float f32
Definition types.h:13
unsigned short int u16
Definition types.h:7
unsigned char u8
Definition types.h:5
void(* x4)(Fighter_GObj *, int, float frame)
Definition ftanim.c:1038
u32 x10
Definition gm_19EF.c:59
FighterKind
Definition forward.h:92
@ Pl_ItemLog_Terminate
Definition forward.h:171
@ StatsAttack_Count
Definition forward.h:120
#define ASSERT_SIZE(expr, size)
Definition platform.h:161
int enum_t
The underlying type of an enum, used as a placeholder.
Definition platform.h:28
Definition types.h:107
u16 x12_b0
Definition types.h:119
u8 x0
player slot
Definition types.h:108
s16 x10
Definition types.h:118
u16 x6
Definition types.h:115
f32 x4
Definition types.h:109
u32 xC
Definition types.h:111
u32 x8
Definition types.h:110
Definition types.h:126
u8 x2
Definition types.h:130
int x0
Definition types.h:127
u8 x3_b0
Definition types.h:131
Definition types.h:134
u8 x4_b0
Definition types.h:138
u8 x4_b1
Definition types.h:139
int x0
Definition types.h:135
Definition types.h:100
u16 attack_instance
Definition types.h:104
int xCB8
Definition types.h:160
float xC9C
Definition types.h:153
plActionStats total_attack_count_struct
Definition types.h:106
struct StaleMoveTable::@236021023063357261331351306302341211163007002017 StaleMoves[10]
int xCA4
Definition types.h:155
struct StaleMoveTable::pl_x8C0_t x8C0
ft_800898B4_t xCC0
Definition types.h:162
int x7AC[Pl_ItemLog_Terminate]
Definition types.h:124
float xC64
Definition types.h:144
unsigned int xCAC
Definition types.h:157
int current_index
Definition types.h:101
float xC60
Definition types.h:143
int xCEC
Definition types.h:169
float xC6C
Definition types.h:146
unsigned int x904[215]
Definition types.h:142
u32 xCE4
Definition types.h:167
float xCDC
Definition types.h:165
float xC74
Definition types.h:148
unsigned int xCA8
Definition types.h:156
struct StaleMoveTable::pl_x8D8_t x8D8
int xCB0
Definition types.h:158
float xC78[6]
Definition types.h:149
float xC98
Definition types.h:152
int xCD8
Definition types.h:164
int x848[30]
Definition types.h:125
int xCF0
Definition types.h:170
struct StaleMoveTable::pl_x5EC_t x5EC
u16 move_id
Definition types.h:103
int xCB4
Definition types.h:159
float xCE0
Definition types.h:166
int xC68
Definition types.h:145
UnkPlBonusBits xCBC
Definition types.h:161
float xCA0
Definition types.h:154
u32 xCE8
Definition types.h:168
u16 xCD4
Definition types.h:163
int xC94
Definition types.h:151
int x710[Pl_ItemLog_Terminate]
Definition types.h:123
unsigned int xC90
Definition types.h:150
float xC70
Definition types.h:147
u32 x674[Pl_ItemLog_Terminate]
Definition types.h:122
Definition types.h:1217
Definition types.h:1230
Definition types.h:58
u32 specials_count
Definition types.h:73
u32 total
Definition types.h:68
u8 x504[StatsAttack_Count]
related to UnkPlBonusBits
Definition types.h:79
u32 x578
Definition types.h:84
u32 x590
Definition types.h:90
u32 x580
Definition types.h:86
u32 by_attack_lo[35]
Definition types.h:69
u32 x588
Definition types.h:88
u32 x574
Definition types.h:83
u8 x5B8[4]
Definition types.h:93
u32 thrown_item_count
Definition types.h:71
struct plAttackStats x358_hits
Definition types.h:66
u32 x570
Definition types.h:82
u32 x58C
Definition types.h:89
u32 x4F8_count
Definition types.h:74
u8 x5BC_b3
Definition types.h:97
u8 x5BC_b0
Definition types.h:94
u32 by_attack_hi[65]
Definition types.h:70
struct plAttackStats hits
Definition types.h:60
u32 aerials_count
Definition types.h:72
u32 x4FC_count
Definition types.h:75
struct plAttackStats attacks
Definition types.h:59
u32 x57C
Definition types.h:85
u8 x5BC_b2
Definition types.h:96
u32 x594
Definition types.h:91
u32 x598[8]
Definition types.h:92
u32 x568
Definition types.h:80
u32 x584
Definition types.h:87
u8 x5BC_b1
Definition types.h:95
u32 x500
Definition types.h:76
u32 x56C
Definition types.h:81
Definition types.h:30
u8 b5
Definition types.h:40
u8 b7
Definition types.h:42
u8 b2
Definition types.h:37
u8 b4
Definition types.h:39
u8 b3
Definition types.h:38
u8 b0
Definition types.h:35
u8 has_transformation
Definition types.h:36
FighterKind internal_id
Definition types.h:31
u8 slot
Definition types.h:32
enum_t unk8
Definition types.h:33
u8 b6
Definition types.h:41
Definition types.h:10
u8 b2
Definition types.h:17
u8 slot
Definition types.h:12
FighterKind internal_id
Definition types.h:11
u8 b6
Definition types.h:21
s8 x5
Definition types.h:13
u8 b7
Definition types.h:22
u8 b3
Definition types.h:18
u8 has_transformation
Definition types.h:16
u8 b0
Definition types.h:15
u8 b5
Definition types.h:20
u8 b4
Definition types.h:19
Definition types.h:46
u32 by_attack_counts[StatsAttack_Count]
Definition types.h:48
u32 x1A4_count
increments on down specials?
Definition types.h:54
u32 aerials_count
Definition types.h:50
u32 total
Definition types.h:47
u32 x1A8
Definition types.h:55
u32 specials_count
Definition types.h:51
u32 thrown_item_count
Definition types.h:49
u32 x1A0_count
increments on most attacks, but not down special?
Definition types.h:53
Definition types.h:259
int unk_5B0
Definition types.h:264
char pad_194[0x418]
Definition types.h:262
int unk_190
Definition types.h:261
char pad_0[0x190]
Definition types.h:260
int unk_5AC
Definition types.h:263
Definition types.h:267
float x84
Definition types.h:301
unsigned int x140
Definition types.h:348
float xE8
Definition types.h:326
int x128
Definition types.h:342
unsigned int x94
Definition types.h:305
u32 x54
Definition types.h:289
unsigned int x158
Definition types.h:354
float x20
Definition types.h:276
float x5C
Definition types.h:291
float xF8
Definition types.h:330
float x10
Definition types.h:272
unsigned int x70
Definition types.h:296
unsigned int x88
Definition types.h:302
float x114
Definition types.h:337
float x38
Definition types.h:282
unsigned int x118
Definition types.h:338
int x120
Definition types.h:340
unsigned int x8C
Definition types.h:303
unsigned int x148
Definition types.h:350
unsigned int x74
Definition types.h:297
int x110
Definition types.h:336
float x28
Definition types.h:278
unsigned int xE0
Definition types.h:324
unsigned int x174
Definition types.h:361
u32 xDC
Definition types.h:323
float x44
Definition types.h:285
float xFC
Definition types.h:331
unsigned int x30
Definition types.h:280
u32 x138
Definition types.h:346
u32 x3C
Definition types.h:283
float x160
Definition types.h:356
unsigned int xA4
Definition types.h:309
int x108
Definition types.h:334
unsigned int x2C
Definition types.h:279
float xCC
Definition types.h:319
float xD0
Definition types.h:320
float x14
Definition types.h:273
unsigned int x144
Definition types.h:349
unsigned int x18
Definition types.h:274
float x180
Definition types.h:364
unsigned int x14C
Definition types.h:351
unsigned int xB0
Definition types.h:312
float x100
Definition types.h:332
float xA0
Definition types.h:308
float x0
Definition types.h:268
float x104
Definition types.h:333
u32 x50
Definition types.h:288
unsigned int x168
Definition types.h:358
float xD8
Definition types.h:322
u32 x40
Definition types.h:284
int x12C
Definition types.h:343
unsigned int x124
Definition types.h:341
float xF4
Definition types.h:329
float xD4
Definition types.h:321
unsigned int xE4
Definition types.h:325
unsigned int x80
Definition types.h:300
float x60
Definition types.h:292
float x58
Definition types.h:290
unsigned int x15C
Definition types.h:355
float x9C
Definition types.h:307
float x8
Definition types.h:270
float x98
Definition types.h:306
unsigned int xC8
Definition types.h:318
u32 xC
Definition types.h:271
unsigned int xAC
Definition types.h:311
unsigned int xC4
Definition types.h:317
unsigned int x1C
Definition types.h:275
unsigned int xBC
Definition types.h:315
unsigned int xB8
Definition types.h:314
float x64
Definition types.h:293
int x24
Definition types.h:277
unsigned int x7C
Definition types.h:299
int x17C
Definition types.h:363
unsigned int x150
Definition types.h:352
unsigned int x178
Definition types.h:362
unsigned int x134
Definition types.h:345
float x6C
Definition types.h:295
float x68
Definition types.h:294
unsigned int xA8
Definition types.h:310
unsigned int x90
Definition types.h:304
unsigned int x170
Definition types.h:360
unsigned int x164
Definition types.h:357
float x48
Definition types.h:286
float x78
Definition types.h:298
u8 xC0[0xC4 - 0xC0]
Definition types.h:316
unsigned int x130
Definition types.h:344
float x34
Definition types.h:281
unsigned int x13C
Definition types.h:347
unsigned int xB4
Definition types.h:313
unsigned int x154
Definition types.h:353
int xEC
Definition types.h:327
int x4
Definition types.h:269
unsigned int x16C
Definition types.h:359
float x4C
Definition types.h:287
float x10C
Definition types.h:335
float x11C
Definition types.h:339
u32 xF0
Definition types.h:328
Definition types.h:174
unsigned int xD54
Definition types.h:200
unsigned int xD48
Definition types.h:197
int xCF4
Definition types.h:176
int xD68
Definition types.h:205
int xDB0
Definition types.h:223
u8 xDD0_value
Definition types.h:232
int xDC4
Definition types.h:228
float xCF8
Definition types.h:177
float xD74
Definition types.h:208
unsigned int xD4C
Definition types.h:198
u8 bit0
Definition types.h:234
float xD94
Definition types.h:216
u8 bit4
Definition types.h:238
int xD90
Definition types.h:215
float xD78
Definition types.h:209
int xDA4
Definition types.h:220
u32 xD30
Definition types.h:191
union pl_StaleMoveTableExt_t::@370254333172060344117340226271307126132147342316 xDD1
float xDC0
Definition types.h:227
u8 bit6
Definition types.h:240
unsigned int xD58
Definition types.h:201
u32 xD20
Definition types.h:187
unsigned int xD40
Definition types.h:195
u8 bit7
Definition types.h:241
u8 xDD1_value
Definition types.h:245
u8 bit5
Definition types.h:239
int xDCC
Definition types.h:230
int xDAC
Definition types.h:222
float xD80
Definition types.h:211
u8 bit1
Definition types.h:235
u32 xD28
Definition types.h:189
u32 xD38
Definition types.h:193
unsigned int xD04
Definition types.h:180
int xD70
Definition types.h:207
int xDC8
Definition types.h:229
float xD8C
Definition types.h:214
u32 xD3C
Definition types.h:194
StaleMoveTable x0_staleMoveTable
Definition types.h:175
u8 bit3
Definition types.h:237
u32 xD60
Definition types.h:203
union pl_StaleMoveTableExt_t::@032060135070271147105260174137336340362043045003 xDD0
float xD84
Definition types.h:212
unsigned int xD18
Definition types.h:185
unsigned int xD50
Definition types.h:199
u32 xD24
Definition types.h:188
int xDA8
Definition types.h:221
int xD10
Definition types.h:183
int xD00
Definition types.h:179
int xD64
Definition types.h:204
u32 xD1C
Definition types.h:186
int xDB8
Definition types.h:225
int xD34
Definition types.h:192
int xD9C
Definition types.h:218
int xDB4
Definition types.h:224
int xD6C
Definition types.h:206
unsigned int xD44
Definition types.h:196
u32 xD14
Definition types.h:184
float xD88
Definition types.h:213
int xDA0
Definition types.h:219
u32 xD2C
Definition types.h:190
unsigned int xD5C
Definition types.h:202
unsigned int xD08
Definition types.h:181
u8 bit2
Definition types.h:236
int xD98
Definition types.h:217
unsigned int xD0C
Definition types.h:182
float xD7C
Definition types.h:210
int xCFC
Definition types.h:178
int xDBC
Definition types.h:226