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