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