SSBM Decomp
Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1#ifndef MELEE_GM_TYPES_H
2#define MELEE_GM_TYPES_H
3
4#include <placeholder.h>
5#include <platform.h>
6
7#include "baselib/forward.h"
8
9#include "dolphin/types.h"
10
11#include <melee/ft/forward.h>
12#include <melee/gm/forward.h> // IWYU pragma: export
13#include <melee/gr/forward.h>
14#include <melee/pl/forward.h>
15#include <melee/sc/forward.h>
16
17#include <common_structs.h>
18#include <melee/mn/types.h>
19
21 u16 x0_0 : 1;
22 u16 x2;
23 int x4;
24};
25
27 /* 00 */ u32 x0;
28 /* 04 */ int x4;
29 /* 08 */ u32 x8;
30 /* 0C */ int xC;
31 /* 10 */ u32 ckind;
32 /* 14 */ u8 slot;
33 /* 15 */ u8 x15;
34 /* 16 */ u16 x16;
35 /* 18 */ u16 x18;
36};
37
39struct GameScene {
40 /* 00 */ u8 idx;
41 /* 01 */ u8 preload;
42 /* 02 */ u16 flags;
43
44 /* 04 */ void (*Prep)(GameScene*);
45 /* 08 */ void (*Decide)(GameScene*);
46
48 /* 0C */ u8 class_id;
49 /* 10 */ void* load_data;
50 /* 14 */ void* leave_data;
52};
53
55struct GameMode {
58
59 void (*Load)(void);
60 void (*Unload)(void);
61 void (*Init)(void);
62
64}; // 803DACA4
65
68
69 void (*OnFrame)(void);
70 void (*OnLoad)(void*);
71 void (*OnLeave)(void*);
72 void (*unk_func)(void);
73}; // 803DA920
74
83
93STATIC_ASSERT(sizeof(GameState) == 0x14);
94
95struct sceneData {
96 u32 a;
98};
99
100struct gmm_x1CB0 {
101 /* +0 */ u8 item_freq;
102 /* +1 */ u8 pad_x1[0x8 - 0x1];
103 /* +8 */ u64 item_mask;
104 /* +10 */ u8 rumble[4];
105 /* +14 */ u8 sound_balance;
106 /* +15 */ u8 deflicker;
107 /* +16 */ u8 saved_language; /* 0x1CC6 */
108 /* +18 */ u32 stage_mask;
109 /* +1C */ u8 padding_x16[0x1];
110};
111
113 /* 0x00 */ u16 fighter_kos[25];
114 /* 0x32 */ u8 padding_0x32[2];
115 /* 0x34 */ u16 sd_count;
116 /* 0x36 */ u8 padding_0x36[2];
117 /* 0x38 */ u32 attacks_hit;
118 /* 0x3C */ u32 attacks_total;
119 /* 0x40 */ s32 damage_dealt;
120 /* 0x44 */ s32 damage_taken;
122 /* 0x4C */ u16 peak_damage;
123 /* 0x4E */ u16 match_count;
124 /* 0x50 */ u16 victories;
125 /* 0x52 */ u16 losses;
126 /* 0x54 */ u32 play_time;
127 /* 0x58 */ u32 total_player_count;
128 /* 0x5C */ s32 walk_distance;
129 /* 0x60 */ s32 run_distance;
130 /* 0x64 */ s32 fall_distance;
131 /* 0x68 */ s32 peak_height;
133 /* 0x70 */ s32 coins_swiped;
134 /* 0x74 */ s32 coins_lost;
135 /* 0x78 */ s8 x78;
136 /* 0x79 */ s8 x79;
137 /* 0x7A */ UnkFlagStruct x7A;
138 /* 0x7B */ s8 x7B;
139 /* 0x7C */ struct {
140 u16 b0 : 1;
141 u16 b1 : 1;
142 u16 b2 : 1;
143 u16 b3 : 1;
144 u16 b4 : 1;
145 u16 b5 : 1;
146 u16 b6 : 1;
147 u16 b789 : 3;
148 u16 b10_to_12 : 3;
149 u16 b13_to_15 : 3;
150 u16 x7E;
159 u32 x94;
162 u16 xA0;
163 u16 xA2;
167};
168
170 /* 0x000 */ u16 vs_kos[120];
171 /* 0x0F0 */ u16 sd_count;
172 /* 0x0F2 */ u8 padding_0xF2[2];
173 /* 0x0F4 */ u32 attacks_hit;
174 /* 0x0F8 */ u32 attacks_total;
175 /* 0x0FC */ s32 damage_dealt;
176 /* 0x100 */ s32 damage_taken;
178 /* 0x108 */ u16 peak_damage;
179 /* 0x10A */ u16 match_count;
180 /* 0x10C */ u16 victories;
181 /* 0x10E */ u16 losses;
182 /* 0x110 */ u32 play_time;
183 /* 0x114 */ u32 total_player_count;
184 /* 0x118 */ s32 walk_distance;
185 /* 0x11C */ s32 run_distance;
186 /* 0x120 */ s32 fall_distance;
187 /* 0x124 */ s32 peak_height;
188 /* 0x128 */ s32 coins_collected;
189 /* 0x12C */ s32 coins_swiped;
190 /* 0x130 */ s32 coins_lost;
191 /* 0x134 */ u32 play_time_by_fighter[25];
192 /* 0x198 */ char namedata[8];
193 /* 0x1A0 */ s8 x1A0;
194 /* 0x1A1 */ u8 x1A1;
195 /* 0x1A2 */ s8 x1A2;
196 /* 0x1A3 */ u8 padding_x1A2;
197};
198
200 struct NameTagData inner[19];
201};
202
203struct GameRules {
204 /* 0x00 */ u8 force_main_menu;
205 /* 0x01 */ u8 bgm;
206 /* 0x02 */ u8 mode;
207 /* 0x03 */ u8 time_limit;
208 /* 0x04 */ u8 stock_count;
209 /* 0x05 */ u8 handicap;
210 /* 0x06 */ u8 damage_ratio;
211 /* 0x07 */ u8 unk_x7;
213 /* 0x09 */ u8 friendly_fire;
214 /* 0x0A */ u8 pause;
215 /* 0x0B */ u8 score_display;
216 /* 0x0C */ u8 unk_xc;
217 /* 0x0D */ u8 xD;
218 /* 0x0E */ u8 xE;
219 /* 0x0F */ u8 xF;
220 /* 0x10 */ u8 unk_x10;
221 /* 0x11 */ u8 x11;
222 /* 0x12 */ u8 x12;
223 /* 0x13 */ u8 x13;
224 /* 0x14 */ s32 unk_14; /* inferred */
225}; /* size = 0x18 */
226STATIC_ASSERT(sizeof(struct GameRules) == 0x18);
227
238
243
246 u32 x4;
248 u32 xC;
249 int x10;
250 u32 x14;
251 u16 x18[2];
252 u8 pad_x1C[0x4C - 0x1C];
254 u8 padding_x4C[0xB0 - 0x4C - 4 * 4];
255 s32 xB0[0x19];
256 int x114[0x19];
257};
258
259struct gmm_x1868 {
260 /* 0x0000 */ u16 x1868;
261 /* 0x0002 */ u16 x186A;
262 /* 0x0004 */ u8 x186C;
265 // perhaps features got removed from the unlock system? item switch comes
266 // to mind as plausible
267 /* 0x0005 */ char pad_5[3];
268 /* 0x0008 */ struct gmm_retval_ED98 unk_8;
269 /* 0x0028 */ struct gmm_retval_EDB0 unk_28;
270 /* 0x0030 */ struct gmm_retval_EDBC unk_30;
272 /* 0x01A8 +0 */ u32 x0;
273 /* 0x01AC +4 */ u8 x4;
274 /* 0x01AD +5 */ u8 x5;
275 /* 0x01AE +6 */ u8 x6;
277 /* 0x01B0 */ s32 x1A18;
278 /* 0x01B4 */ s32 x1A1C;
279 /* 0x01B8 */ s32 x1A20;
280 /* 0x01BC */ s32 x1A24;
281 /* 0x01C0 */ s32 x1A28;
282 /* 0x01C4 */ s32 x1A2C;
283 /* 0x01C8 */ s32 x1A30;
284 /* 0x01CC */ s32 x1A34;
285 /* 0x01D0 */ s32 x1A38;
286 /* 0x01D4 */ s32 x1A3C;
287 /* 0x01D8 */ s32 x1A40;
288 /* 0x01DC */ s32 x1A44;
289 /* 0x01E0 */ u32 x1A48;
290 /* 0x01E4 */ s32 x1A4C;
291 /* 0x01E8 */ s32 x1A50;
292 /* 0x01EC */ int x1A54;
293 /* 0x01F0 */ s32 x1A58;
294 /* 0x01F4 */ s32 x1A5C;
295 /* 0x01F8 */ s32 x1A60;
296 /* 0x01FC */ s32 x1A64;
297 /* 0x0200 */ s64 x1A68;
298 /* 0x0208 */ s32 x1A70[4];
299 /* 0x0218 */ u8 padding_x1A70[0xBC];
300 /* 0x02D4 */ u8 x1B3C;
301 /* 0x02D5 */ char pad_2D5[3]; /* maybe part of x1B3C[4]? */
302 /* 0x02D8 */ u32 x1B40[3];
303 /* 0x02E4 */ u32 x1B4C[3];
304 /* 0x02F0 */ u32 x1B58[3];
305 /* 0x02FC */ u8 padding_x1B58[0x1C];
306 /* 0x0318 */ u32 x1B80[4];
307 /* 0x0328 */ u8 padding_x1B80[0xF8];
308 /* 0x0420 */ u32 x1C88[3];
309 /* 0x042C */ u8 padding_x1C88[0x1C];
310 /* 0x0448 */ struct gmm_x1CB0 x1CB0;
311 /* 0x0468 */ s16 x1CD0;
312 /* 0x046A */ s16 x1CD2;
313 /* 0x046C */ s32 x1CD4;
314 /* 0x0470 */ u8 padding_x1CD4[0x254];
315 /* 0x06C4 */ struct FighterData x1F2C[0x19];
316 /* 0x1760 */ struct NameTagDataBank x2FF8[2];
317}; /* size = 0x55E8 */
318
319struct gmm_x0 {
320 /* 0x0000 */ u8 language;
321 /* 0x0001 */ u8 unk_1;
322 /* 0x0002 */ u8 unk_2;
323 /* 0x0003 */ char pad_3[0x36]; /* maybe part of x1[0x38]? */
324 /* 0x0039 */ u8 x39[0xB];
325 /* 0x0044 */ s32 unk_44;
326 /* 0x0048 */ char pad_48[0x24]; /* maybe part of x44[0xA]? */
327 /* 0x006C */ u32 unk_6C[4];
328 /* 0x007C */ char pad_7C[0x4A0]; /* maybe part of x6C[0x4B]? */
330 /* 0x0528 */ s8 c_kind;
331 /* 0x0529 */ u8 stocks;
332 /* 0x052A */ u8 color;
333 /* 0x052B */ u8 cpu_level;
334 /* 0x052C */ u8 x4;
335 /* 0x052D */ u8 x5;
337 struct EventData {
338 /* 0x0530 */ u8 x0;
339 /* 0x0531 */ u8 x1;
340 /* 0x0532 */ s8 x2;
341 /* 0x0533 */ u8 x3;
342 /* 0x0534 */ u8 x4;
343 /* 0x0535 */ u8 unk_535;
344 /* 0x0536 */ u8 x6;
345 /* 0x0537 */ u8 x7;
346 /* 0x0538 */ s8 x8;
347 /* 0x0539 */ s8 x9;
348 /* 0x053A */ s8 xA;
349 /* 0x053B */ u8 xB_0 : 1;
350 /* 0x053B */ u8 xB_1 : 1;
351 /* 0x053B */ u8 xB_2 : 1;
352 /* 0x053B */ u8 xB_3 : 1;
353 /* 0x053B */ u8 xB_4 : 1;
354 /* 0x053B */ u8 xB_5 : 1;
355 /* 0x053B */ u8 xB_6 : 1;
356 /* 0x053B */ u8 xB_7 : 1;
357 /* 0x053C */ int xC;
358 /* 0x0540 */ int x10;
359 /* 0x0544 */ int x14;
360 /* 0x0548 */ int x18;
361 /* 0x054C */ float x1C;
362 /* 0x0550 */ int x20;
363 /* 0x0554 */ int x24;
364 /* 0x0558 */ int x28;
365 /* 0x055C */ int x2C; // timer seconds
366 /* 0x0560 */ int x30;
367 /* 0x0564 */ int x34;
368 /* 0x0568 */ u8 x38;
369 /* 0x056C */ int x3C;
370 /* 0x0570 */ int x40;
371 /* 0x0574 */ s8 x44;
372 /* 0x0575 */ u8 x45;
373 /* 0x0578 */ InternalStageId x48;
374 /* 0x057C */ s8 x4C[4];
375 /* 0x0580 */ u8 x50[4];
377 /* 0x0584 */ s8 unk_584;
378 /* 0x0585 */ u8 unk_585;
379 /* 0x0586 */ u8 unk_586;
380 /* 0x0587 */ s8 unk_587;
382 /* 0x0588 */ s8 unk_588[4]; /* inferred */
383 /* 0x0590 */ char pad_58B[4]; /* inferred */
385 /* 0x0590 */ VsModeData unk_590;
386 /* 0x06D0 */ VsModeData unk_6D0;
387 /* 0x0810 */ VsModeData unk_810;
388 /* 0x0950 */ VsModeData unk_950;
389 /* 0x0A90 */ VsModeData unk_A90;
390 /* 0x0BD0 */ VsModeData unk_BD0;
391 /* 0x0D10 */ VsModeData unk_D10;
392 /* 0x0E50 */ VsModeData unk_E50;
393 /* 0x0F90 */ VsModeData unk_F90;
394 /* 0x10D0 */ VsModeData unk_10D0;
395 /* 0x1210 */ VsModeData unk_1210;
396 /* 0x1350 */ VsModeData unk_1350;
397 /* 0x1490 */ VsModeData unk_1490;
398 /* 0x15D0 */ char pad_15D0[0x1710 - 0x15D0];
399 /* 0x17C0 */ VsModeData unk_1710;
400 /* 0x1850 */ GameRules x1850;
401 /* 0x1898 */ struct gmm_x1868 thing;
402}; /* size = 0x6E80 */
403
410 u32 x8;
414 u8 padF[0x16 - 0xF];
416 u8 pad17[0x24 - 0x17];
417 struct {
419 u8 pad_x1[0xB];
420 } x24[1];
421 u8 pad30[0x58 - 0x30];
433 u16 xA;
435 u16 xE;
436 u8 pad10[0x1C - 0x10];
438 u8 pad1D[0x20 - 0x1D];
439 u32 x20;
440 u32 x24;
441 u32 x28;
442 u32 x2C;
443 u8 pad30[0x40 - 0x30];
444 u32 x40;
445 u8 pad44[0xA8 - 0x44];
446 } x58[6];
447 u8 pad3F0[0x44C - 0x3F0 - 0x58];
449 u8 x0[0x101];
450 int x104[0x101];
451 } x44C[6];
452};
453
455 /* +0:0 */ u8 x0_b0_b2 : 3;
456 /* +0:3 */ u8 x0_b3 : 1;
457 /* +0:4 */ u8 x0_b4 : 1;
458 /* +0:5 */ u8 x0_b5 : 1;
459 /* +0:6 */ u8 x0_b6 : 1;
460 /* +0:7 */ u8 x0_b7 : 1;
461 /* +1:0 */ u8 x1_b0 : 1;
462 /* +1:1 */ u8 x1_b1 : 1;
463 /* +1:2 */ u8 x1_b2 : 1;
464 /* +1:3 */ u8 x1_b3 : 1;
465 /* +1:4 */ u8 x1_b4 : 1;
466 /* +1:5 */ u8 x1_b5 : 1;
467 /* +1:6 */ u8 x1_b6 : 1;
468 /* +1:7 */ u8 x1_b7 : 1;
469 /* +2:0 */ u8 x2_b0 : 1;
470 /* +2:1 */ u8 x2_b1 : 1;
471 /* +2:2 */ u8 x2_b2 : 1;
472 /* +2:3 */ u8 x2_b3 : 1;
473 /* +2:4 */ u8 x2_b4 : 1;
474 /* +2:5 */ u8 x2_b5 : 1;
475 /* +2:6 */ u8 x2_b6 : 1;
476 /* +2:7 */ u8 x2_b7 : 1;
477};
478
480 /* 0x0000 */ u8 unk_0;
481 /* 0x0001 */ s8 pauser;
482 /* 0x0002 */ u8 pause_timer;
483 /* 0x0003 */ u8 unk_3;
484 /* 0x0004 */ u8 unk_4;
485 /* 0x0005 */ u8 hud_enabled;
486 /* 0x0006 */ u8 terminate_match;
487 /* 0x0007 */ u8 is_singleplayer;
488 /* 0x0008 */ u8 match_result;
489 /* 0x0009 */ u8 unk_9;
490 /* 0x000A */ u8 unk_A;
491 /* 0x000B */ u8 unk_B; // end graphic / SFX type
492 /* 0x000C */ u8 unk_C;
493 /* 0x000D */ u8 unk_D;
494 /* 0x000E */ u8 match_over;
495 /* 0x000F */ u8 unk_F;
496 /* 0x0010 */ s32 unk_10;
497 /* 0x0014 */ s32 unk_14;
498 /* 0x0018 */ u8 unk_18; /* maybe part of unk_14[4]? */
499 /* 0x001C */ u32* unk_1C;
500 /* 0x0020 */ u32* unk_20;
501 /* 0x0024 */ u32 frame_count;
502 /* 0x0028 */ u32 timer_seconds;
503 /* 0x002C */ u16 unk_2C;
504 /* 0x002E */ u16 unk_2E;
505 /* 0x0030 */ u8 unk_30;
506 /* 0x0034 */ f32 unk_34;
507 /* 0x0038 */ struct {
512 u8 x4_b0 : 1;
514 u8 x4_b2 : 1;
516 u8 x4_b4 : 1;
521 u16 x6;
526 u16 xC;
528 /* 0x0038 */ char pad_8C[0x24C - 0x8C]; /* maybe part of unk_34[0x925]? */
529 /* 0x024C */ struct lbl_8046B6A0_24C_t x24C;
530 /* 0x24C8 */ struct StartMeleeRules x24C8;
531}; /* size = 0x2528 */
532STATIC_ASSERT(sizeof(struct lbl_8046B6A0_t) == 0x2528);
533
538
540 /* +0 */ s16 x0;
541 /* +2 */ s16 x2;
542 /* +4 */ s32 x4;
543 /* +8 */ s32 x8;
544 /* +C */ s32 xC;
545 /* +10 */ s32 x10;
546 /* +14 */ s32 x14;
547 /* +18 */ s16 x18;
548 /* +1A */ s16 x1A;
549 /* +1C */ s16 x1C;
550 /* +1E */ s16 x1E;
551 /* +20 */ s32 x20;
552 /* +24 */ s32 x24;
553 /* +28 */ s32 x28;
554 /* +2C */ s32 x2C;
555 /* +30 */ s32 x30;
556 /* +34 */ s32 x34;
557 /* +38 */ s32 x38;
558 /* +3C */ s32 x3C;
559 /* +40 */ s32 x40;
560};
561
563 /* +0 */ u8 x0;
564 /* +1 */ u8 x1;
565 /* +2 */ u8 _1[0xC - 0x2];
566};
567STATIC_ASSERT(sizeof(struct gm_8017DB6C_arg0_t) == 0xC);
568
570 /* 00 */ bool x0;
571 /* 04 */ bool resetting;
572 /* 08 */ bool progressive;
573 /* 0C */ bool xC; // movie playback done, maybe?
574 /* 10 */ int x10, x14;
575};
576
578
579typedef struct gm_803DF94C_t {
580 void (*x0)(HSD_GObj*);
581 void (*x4)(int);
583
585 /* 0x00 */ int score;
586 /* 0x04 */ int subscore;
587 /* 0x08 */ u8 is_big_loser;
588 /* 0x09 */ u8 is_small_loser;
589 /* 0x0A */ u8 active;
590}; // padded to 0x0C
591STATIC_ASSERT(sizeof(struct MatchTeamData) == 0xC);
592
648STATIC_ASSERT(sizeof(struct MatchPlayerData) == 0xA8);
649
650struct MatchEnd {
651 /* 0x00 */ u32 x0;
652 /* 0x04 */ u8 result;
653 /* 0x05 */ u8 x5;
654 /* 0x06 */ u8 is_teams;
655 /* 0x07 */ u8 x7;
656 /* 0x08 */ u32 frame_count;
657 /* 0x0C */ u8 xC;
658 /* 0x0D */ u8 n_winners;
659 /* 0x0E */ u8 n_team_winners;
660 /* 0x0F */ u8 loser;
661 /* 0x10 */ u8 winners[6];
662 /* 0x16 */ u8 team_winners[5];
663 /* 0x1B */ struct MatchTeamData team_standings[5]; // 0xC * 5 = 0x3C
664 /* 0x58 */ struct MatchPlayerData player_standings[6]; // 0xA8 * 6 = 0x3F0
665 /* 0x448 */ u8 _x448[4]; // offset by 1 because of the previous struct
666 /* 0x44c */ struct UnkResultPlayerData {
667 u8 x0[0x100];
668 char pad_x100[0x508 - 0x100];
669 } x44C[4]; // 0x508 * 4 = 0x1420
670 /* 0x186C */ u8 pad_x186C[0x227C - 0x186C];
671};
672STATIC_ASSERT(sizeof(struct MatchEnd) == 0x227C);
673
680
688
689struct Unk1PData {
690 /* 00 */ s8 ckind;
691 /* 01 */ u8 color;
692 /* 02 */ u8 cpu_level;
693 /* 03 */ u8 slot;
694 /* 04 */ u8 x4;
695 /* 05 */ u8 stocks;
696 /* 06 */ u8 x6;
697 /* 07 */ u8 x7;
698 /* 08 */ u8 x8;
699 /* 09 */ u8 x9;
700 /* 0A */ u8 xA;
701 /* 0B */ u8 xB;
702 /* 0C */ struct Unk1PData_xC {
703 /* 0C */ u8 xC;
704 /* 0D */ u8 xD;
705 /* 0E */ u8 xE;
706 /* 0F */ u8 xF;
707 /* 10 */ u8 x10;
708 /* 11 */ u8 x11;
709 /* 12 */ u8 x12;
710 /* 13 */ u8 x13;
711 /* 14 */ u16 x14;
712 /* 18 */ int x18;
713 /* 1C */ int x1C;
714 /* 20 */ u32 x20;
716 /* 24 */ s8 ckind;
717 /* 25 */ u8 x1;
718 /* 26 */ u8 x2;
719 /* 27 */ u8 x3;
720 /* 28 */ f32 x4;
721 /* 2C */ f32 x8;
722 } x24[3];
723 } xC;
724};
725
727 /* 00 */ Unk1PData x0;
728 /* 48 */ u8 (*x48)(u8, u8);
729 /* 4C */ u8 (*x4C)(u8, u8, u8);
730 /* 50 */ u8 (*x50)(u8, u8, u8);
731 /* 54 */ u8 (*x54)(u8, u8, u8);
732 /* 58 */ u8 (*x58)(u8, u8, u8);
733 /* 5C */ u8 (*x5C)(u8, u8, u8);
734 /* 60 */ u8 (*x60)(u8, u8, u8);
735 /* 64 */ float (*x64)(u8, u8);
736 /* 68 */ float (*x68)(u8, u8);
737 /* 6C */ float (*x6C)(u8, u8);
738 /* 70 */ float (*x70)(u8, u8);
739 /* 74 */ u8 x74;
740 /* 75 */ u8 x75;
741 /* 76 */ u8 x76;
742 /* 77 */ u8 x77;
743 /* 78 */ u8 x78;
744 /* 79 */ s8 pad_x79[0x7C - 0x79];
745 /* 7C */ u8 x7C;
746 /* 7D */ s8 pad_x7D[0x80 - 0x7D];
747};
748
750 /* +0 */ Unk1PData x0;
751 /* 48 */ u8 (*x48)(u8, u8);
752 /* 4C */ u8 (*x4C)(u8, u8, u8);
753 /* 50 */ u8 (*x50)(u8, u8, u8);
754 /* 54 */ u8 (*x54)(u8, u8, u8);
755 /* 58 */ u8 (*x58)(u8, u8, u8);
756 /* 5C */ u8 (*x5C)(u8, u8, u8);
757 /* 60 */ u8 (*x60)(u8, u8, u8);
758 /* 64 */ float (*x64)(u8, u8);
759 /* 68 */ float (*x68)(u8, u8);
760 /* 6C */ float (*x6C)(u8, u8);
761 /* 70 */ float (*x70)(u8, u8);
762 /* +74*/ u16 x74;
763 /* +76*/ u8 x76[24];
764 /* +8E*/ u8 x8E[2];
765 /* +90*/ u8 x90[4];
766 /* +94*/ u8 _94[0x9C - 0x94];
767 /* +9C*/ u32 x9C;
768};
769
831
832struct NameData {
833 // a lot of this is shared with a struct for character stats as well
834 /* x0F0 */ s32 self_destructs;
835 /* x0F4 */ s32 attacks_hit;
836 /* x0F8 */ s32 attacks_total;
837 /* x0FC */ s32 damage_given;
838 /* x100 */ s32 damage_taken;
840 /* x108 */ s16 peak_damage;
841 /* x10A */ s16 matches;
842 /* x10C */ s16 victories;
843 /* x10E */ s16 losses;
844 /* x110 */ s32 play_time; // in minutes
845 /* x114 */ s32 x114;
846 /* x118 */ s32 ground_distance; // in meters
847 /* x11C */ s32 jump_distance;
848 /* x120 */ s32 drop_distance;
850 /* x128 */ s32 coin_points;
851 /* x12C */ s32 swiped_coins;
852 /* x130 */ s32 lost_coins;
853
854 /* x1A1 */ bool rumble_toggle;
855 /* x198 */ void* x198; // some kind of text representation of the name
856};
857
859 u32* x0;
860 union {
861 struct {
865 };
867 };
868};
869
870struct TmVsData {
873 u32 char_id[4];
874 u32 color[4];
875};
876
878 /* +1 */ u8 x0;
879 /* +2 */ u8 x1;
880 /* +3 */ u8 x2;
881 /* +4 */ u8 x3;
882 /* +4 */ bool (*x4[2])(void);
883 /* +C */ UNK_T xC;
884 /* +20 */ u64 unk_20;
885 /* +28 */ u64 unk_28;
886 /* +30 */ void (*unk_30)(void);
887 /* +34 */ int unk_34;
888 /* +38 */ u8 unk_38_0 : 1;
889 /* +38 */ u8 unk_38_1 : 1;
890};
891STATIC_ASSERT(sizeof(struct gm_801677C0_s) == 0x30);
892
894 /* +0 */ u32 unk_0;
895 /* +4 */ u32 unk_4;
896 /* +8 */ u32 unk_8;
897 /* +C */ int unk_C;
898 /* +10 */ struct gm_801677C0_s unk_10;
899};
900STATIC_ASSERT(sizeof(struct gm_80479D58_t) == 0x40);
901
903 /* +00 */ u8 x0_0 : 1;
904 /* +00 */ u8 x0_1 : 1;
905 /* +00 */ u8 x0_2 : 1;
906 /* +00 */ u8 x0_3 : 1;
907 /* +00 */ u8 x0_4 : 1;
908 /* +00 */ u8 x0_567 : 3;
909 /* +01 */ u8 page;
910 /* +02 */ u16 x2;
911 /* +04 */ f32 scroll_offset;
913 /* +0C */ HSD_GObj* camera;
914 /* +10 */ HSD_Text* stats_text[3][10];
915 // /* +10 */ HSD_Text* stats_x10[10]; ///< these text arrays are the
916 // scrollable stats
917 // /* +3C */ HSD_Text* stats_x3C[10];
918 // /* +60 */ HSD_Text* stats_x60[10];
919 /* +88 */ HSD_Text* ko_count;
920 /* +8C */ HSD_Text* ko_time;
921 /* +90 */ HSD_JObj* jobjs[15];
922 /* +CC */ Vec3 stats_position;
923};
924
926 /* +00 */ u8 x0_0 : 1;
927 /* +00 */ u8 x0_1 : 1;
928 /* +00 */ u8 x0_23 : 2;
929 /* +00 */ u8 x0_4 : 1;
930 /* +00 */ u8 x0_5 : 1;
931 /* +00 */ u8 x0_6 : 1;
932 /* +00 */ u8 x0_7 : 1;
933
934 /* +01 */ u8 x1;
935 /* +02 */ u8 num_pages;
936 /* +03 */ u8 x3;
937 /* +04 */ u8 x4;
938 /* +05 */ u8 x5;
939 /* +06 */ u8 x6;
940 /* +08 */ s32 x8;
941 /* +0C */ f32 xC;
942 /* +10 */ SceneDesc* pnlsce;
943 /* +14 */ SceneDesc* flmsce;
944 /* +18 */ HSD_GObj* x18;
945 /* +1C */ HSD_CObj* cobj;
946 /* +20 */ HSD_JObj* x20;
947 /* +24 */ HSD_JObj* x24;
948 /* +28 */ HSD_JObj* x28;
949 /* +2C */ HSD_Text* x2C;
950 /* +30 */ HSD_JObj* x30;
951 /* +34 */ HSD_JObj* x34[6];
952 /* +4C */ Vec3 x4C[6];
953 /* +94 */ MatchEnd* x94;
954 /* +98 */ struct ResultsPlayerData player_data[6];
955};
956STATIC_ASSERT(sizeof(struct ResultsData) == 0x5A8);
957
960 u8 x1; // rule flags?
961 u16 x2;
962 u16 x4;
963 u16 x6;
966 s8 xA[3];
970};
971
973 u8 x0; // c_kind
974 u8 x1; // color
975 u8 x2; // stocks
977 u8 x4; // c_kind
980 u16 x8;
981};
982
987
990 /* +00 */ u8 menu_kind;
992 /* +02 */ u8
994 /* +03 */ s8 x3;
995};
996STATIC_ASSERT(sizeof(struct MenuEnterData) == 0x4);
997
1000 /* +00 */ s8 pending_mode;
1001 /* +01 */ u8 _1[0x3];
1002};
1003STATIC_ASSERT(sizeof(struct MenuExitData) == 0x4);
1004
1005struct gmClassicMatchup;
1006
1007typedef struct gm_803DDEC8Struct {
1008 /* 0x00 */ u8 x0;
1009 /* 0x01 */ u8 x1;
1010 /* 0x02 */ u8 x2;
1011 /* 0x03 */ u8 pad03;
1012 /* 0x04 */ u16 x4;
1013 /* 0x06 */ u16 x6;
1014 /* 0x08 */ u8 x8;
1015 /* 0x09 */ u8 pad09[3];
1016 /* 0x0C */ struct gmClassicMatchup* xC;
1018
1019typedef struct CssSubStruct {
1020 /* 0x000 */ u8 x00;
1021 /* 0x001 */ u8 x01;
1022 /* 0x002 */ u8 pad02;
1023 /* 0x003 */ u8 x03;
1024 /* 0x004 */ u8 pad04[0x10];
1026 /* 0x0A4 */ HSD_GObj* gobj;
1027 /* 0x0A8 */ HSD_JObj* jobjs[39];
1028 /* 0x144 */ s32 anim_frames[39];
1029 /* 0x1E0 */ s32 menu_values[7];
1030 /* 0x1FC */ HSD_Text* text;
1031 /* 0x200 */ u8 pad200[0x0C];
1032} CssSubStruct;
1033
1034typedef struct TrainingModeState {
1035 /* 0x000 */ s32 count;
1036 /* 0x004 */ s32 mode;
1037 /* 0x008 */ s32 char_data[25];
1038 /* 0x06C */ s32 pad_6C[2];
1039 /* 0x074 */ PlayerInitData players[4];
1040 /* 0x104 */ s32 result_cache[4];
1041 /* 0x114 */ CssSubStruct css;
1043
1044#endif
u32 xC
Definition gm_16AE.static.h:13
struct @317132350151012100205073233075315067213214000370::@331216367022262277307253131110233373352123330253 x37
HSD_Text * x24
Definition gm_19EF.c:80
HSD_JObj * x58
Definition gm_19EF.c:84
struct gmMainLib_8046B0F0_t gmMainLib_8046B0F0
Definition gmmain_lib.static.h:10
signed char s8
Definition hsd_3B2B.h:3
signed long s32
Definition hsd_3B2B.h:1
unsigned char u8
Definition hsd_3B2B.h:2
InternalStageId
Definition forward.h:45
Gm_PKind
Definition forward.h:13
#define UNK_T
Definition placeholder.h:31
#define STATIC_ASSERT(cond)
Definition platform.h:110
int bool
A signed integer used to contain boolean values.
Definition stdbool.h:8
Definition types.h:858
HSD_Text * bottom_text
Definition types.h:864
HSD_Text * slot_a
Definition types.h:862
u32 * x0
state? gets set on button presses in OnFrame
Definition types.h:859
HSD_Text * text[3]
Definition types.h:866
HSD_Text * slot_b
Definition types.h:863
Definition types.h:1019
HSD_JObj * jobjs[39]
Definition types.h:1027
u8 pad04[0x10]
Definition types.h:1024
PlayerInitData saved_players[4]
Definition types.h:1025
s32 menu_values[7]
Definition types.h:1029
u8 x01
Definition types.h:1021
s32 anim_frames[39]
Definition types.h:1028
u8 x03
Definition types.h:1023
u8 x00
Definition types.h:1020
HSD_Text * text
Definition types.h:1030
HSD_GObj * gobj
Definition types.h:1026
u8 pad02
Definition types.h:1022
u8 pad200[0x0C]
Definition types.h:1031
Definition types.h:26
u32 ckind
Definition types.h:31
int xC
Definition types.h:30
u16 x18
Definition types.h:35
u16 x16
Definition types.h:34
u32 x0
Definition types.h:27
u8 slot
Definition types.h:32
u32 x8
Definition types.h:29
int x4
Definition types.h:28
u8 x15
Definition types.h:33
Definition types.h:112
s32 run_distance
Definition types.h:129
s32 damage_taken
Definition types.h:120
s32 x88
Definition types.h:156
UnkFlagStruct x7A
Definition types.h:137
u16 b10_to_12
stocks
Definition types.h:148
u16 xA0
Definition types.h:162
s32 walk_distance
Definition types.h:128
s32 coins_lost
Definition types.h:134
u16 losses
Definition types.h:125
s32 xA8
Definition types.h:165
s32 peak_height
Definition types.h:131
s32 damage_recovered
Definition types.h:121
u16 b0
Definition types.h:140
u16 b1
Definition types.h:141
u16 b6
Definition types.h:146
u16 peak_damage
Definition types.h:122
u16 b5
Definition types.h:145
s8 x83
Definition types.h:154
s8 x78
Definition types.h:135
s32 coins_collected
Definition types.h:132
u16 b2
Definition types.h:142
u32 total_player_count
Definition types.h:127
s32 x84
Definition types.h:155
u32 attacks_total
Definition types.h:118
u16 b3
Definition types.h:143
u32 x94
Definition types.h:159
s32 fall_distance
Definition types.h:130
u16 victories
Definition types.h:124
s8 x7B
Definition types.h:138
u16 xA2
Definition types.h:163
s32 coins_swiped
Definition types.h:133
u16 x7E
Definition types.h:150
u8 padding_0x36[2]
Definition types.h:116
s32 x98
Definition types.h:160
u8 x80
Definition types.h:151
u8 x82
Definition types.h:153
u16 b13_to_15
stocks
Definition types.h:149
u32 attacks_hit
Definition types.h:117
u8 padding_0x32[2]
Definition types.h:114
u16 b4
Definition types.h:144
struct FighterData::@160264167002157317207170020063037230116071066313 x7C
u8 x81
Definition types.h:152
u16 fighter_kos[25]
Definition types.h:113
u16 sd_count
Definition types.h:115
s32 xA4
Definition types.h:164
u32 play_time
Definition types.h:126
s32 x9C
Definition types.h:161
u16 match_count
Definition types.h:123
s32 x8C
Definition types.h:157
u16 b789
stocks
Definition types.h:147
s32 damage_dealt
Definition types.h:119
s8 x79
Definition types.h:136
s32 x90
Definition types.h:158
Definition types.h:55
u8 preload
Definition types.h:56
GameScene * scenes
Definition types.h:63
void(* Init)(void)
Definition types.h:61
u8 idx
Definition types.h:57
void(* Load)(void)
Definition types.h:59
void(* Unload)(void)
Definition types.h:60
Definition types.h:75
u8 curr_scene
Definition types.h:79
u8 prev_mode
Definition types.h:78
u8 pending_scene
Definition types.h:81
u8 pending_mode
Definition types.h:77
u8 curr_mode
Definition types.h:76
u8 prev_scene
Definition types.h:80
Definition types.h:203
u8 handicap
Definition types.h:209
u8 unk_xc
Definition types.h:216
u8 mode
Definition types.h:206
u8 time_limit
Definition types.h:207
u8 x12
Definition types.h:222
u8 xE
Definition types.h:218
u8 friendly_fire
Definition types.h:213
u8 force_main_menu
Definition types.h:204
u8 damage_ratio
Definition types.h:210
u8 xF
Definition types.h:219
u8 unk_x10
Definition types.h:220
u8 bgm
Definition types.h:205
u8 pause
Definition types.h:214
u8 xD
Definition types.h:217
u8 x13
Definition types.h:223
u8 score_display
Definition types.h:215
u8 unk_x7
Definition types.h:211
u8 stock_time_limit
Definition types.h:212
s32 unk_14
Definition types.h:224
u8 stock_count
Definition types.h:208
u8 x11
Definition types.h:221
Definition types.h:66
u8 class_id
Definition types.h:67
void(* unk_func)(void)
Definition types.h:72
void(* OnLoad)(void *)
Definition types.h:70
void(* OnLeave)(void *)
Definition types.h:71
void(* OnFrame)(void)
Definition types.h:69
Definition types.h:47
void * load_data
data passed to OnLoad callback
Definition types.h:49
u8 class_id
Definition types.h:48
void * leave_data
data passed to OnLeave callback
Definition types.h:50
Definition types.h:39
void(* Prep)(GameScene *)
Definition types.h:44
struct GameScene::GameSceneInfo info
void(* Decide)(GameScene *)
Definition types.h:45
u8 idx
Definition types.h:40
u16 flags
Definition types.h:42
u8 preload
Definition types.h:41
Definition types.h:84
u8 x0D
Definition types.h:88
u8 x0F
Definition types.h:90
u8 pending
Definition types.h:87
GameRouting backup
Definition types.h:86
u8(* data)(void)
Definition types.h:91
u8 x0E
Definition types.h:89
GameRouting routing
Definition types.h:85
Definition cobj.h:39
was using this to try and fix some matches, unsuccessfully
Definition gobj.h:26
Definition jobj.h:107
Definition sislib.h:47
Definition types.h:666
u8 x0[0x100]
Definition types.h:667
char pad_x100[0x508 - 0x100]
Definition types.h:668
Definition types.h:650
u8 xC
Definition types.h:657
u8 n_winners
Definition types.h:658
u8 n_team_winners
Definition types.h:659
struct MatchTeamData team_standings[5]
Definition types.h:663
u8 _x448[4]
Definition types.h:665
u32 x0
timer
Definition types.h:651
u8 x5
Definition types.h:653
u32 frame_count
Definition types.h:656
u8 loser
Definition types.h:660
u8 is_teams
Definition types.h:654
u8 result
Definition types.h:652
u8 pad_x186C[0x227C - 0x186C]
Definition types.h:670
struct MatchEnd::UnkResultPlayerData x44C[4]
u8 x7
Definition types.h:655
struct MatchPlayerData player_standings[6]
Definition types.h:664
u8 winners[6]
Definition types.h:661
u8 team_winners[5]
Definition types.h:662
Definition types.h:674
MatchEnd match_end
Definition types.h:678
int x8
Definition types.h:677
int x0
Definition types.h:675
u32 x4
remaining time shown on timer, in frames
Definition types.h:676
Definition types.h:593
s32 x20
Definition types.h:612
u32 x88
Definition types.h:639
u32 x5C
Definition types.h:628
int x9C
Definition types.h:644
u16 kills[4]
Definition types.h:609
u8 x35_pad[0x38 - 0x35]
Definition types.h:618
u8 x34
Definition types.h:617
int x24
Definition types.h:613
u16 percent
Definition types.h:607
u8 is_small_loser
Definition types.h:602
u32 x3C
Definition types.h:620
u8 x3_7
Definition types.h:599
s32 x1C
Definition types.h:611
u32 x7C
Definition types.h:636
u32 x78
Definition types.h:635
u32 x80
Definition types.h:637
u32 x58
Definition types.h:627
int score
Definition types.h:615
s8 character_kind
Definition types.h:595
u32 x84
Definition types.h:638
u32 x4C
Definition types.h:624
u8 x9
Definition types.h:605
s8 character_id
Definition types.h:596
u32 x64
Definition types.h:630
int xA0
Definition types.h:645
u16 x18
Definition types.h:610
u8 team
Definition types.h:603
u32 x48
Definition types.h:623
u16 self_destructs
Definition types.h:606
u32 x28
Definition types.h:614
u8 x3
Definition types.h:597
u32 x90
Definition types.h:641
u32 x40
Definition types.h:621
u32 x54
Definition types.h:626
u32 x50
Definition types.h:625
u32 x38
Definition types.h:619
u32 x8C
Definition types.h:640
u8 x4
Definition types.h:600
u32 x60
Definition types.h:629
u32 x98
Definition types.h:643
u32 x70
Definition types.h:633
u8 slot_type
Definition types.h:594
u32 x74
Definition types.h:634
u32 x94
Definition types.h:642
s8 stocks
Definition types.h:604
u16 xE
Definition types.h:608
u8 is_big_loser
Definition types.h:601
u8 x3_6
Definition types.h:598
u32 x68
Definition types.h:631
u32 xA4
Definition types.h:646
u32 x6C
Definition types.h:632
u32 x30
Definition types.h:616
u32 x44
Definition types.h:622
Definition types.h:584
u8 active
Definition types.h:589
u8 is_small_loser
Definition types.h:588
int score
Definition types.h:585
int subscore
Definition types.h:586
u8 is_big_loser
Definition types.h:587
data passed to OnLoad callback for GM_MENU
Definition types.h:989
u8 menu_kind
will set the next menu kind
Definition types.h:990
u8 hovered_selection
will set the next hovered selection
Definition types.h:991
u8 load_assets
checks if the assets need to be loaded or not
Definition types.h:993
s8 x3
Definition types.h:994
data passed to OnLeave callback for GM_MENU
Definition types.h:999
s8 pending_mode
will set the next game mode
Definition types.h:1000
u8 _1[0x3]
Definition types.h:1001
Definition types.h:832
s16 victories
Definition types.h:842
bool rumble_toggle
Definition types.h:854
s32 attacks_total
Definition types.h:836
s16 losses
Definition types.h:843
s32 lost_coins
Definition types.h:852
s32 damage_taken
Definition types.h:838
s32 flight_distance
Definition types.h:849
s16 matches
Definition types.h:841
s32 attacks_hit
Definition types.h:835
s32 damage_given
Definition types.h:837
void * x198
Definition types.h:855
s32 x114
Definition types.h:845
s32 swiped_coins
Definition types.h:851
s32 coin_points
Definition types.h:850
s32 damage_recovered
Definition types.h:839
s32 play_time
Definition types.h:844
s32 drop_distance
Definition types.h:848
s32 jump_distance
Definition types.h:847
s32 self_destructs
Definition types.h:834
s32 ground_distance
Definition types.h:846
s16 peak_damage
Definition types.h:840
Definition types.h:199
struct NameTagData inner[19]
Definition types.h:200
Definition types.h:169
u32 play_time
Definition types.h:182
u16 vs_kos[120]
Definition types.h:170
u16 sd_count
Definition types.h:171
char namedata[8]
Definition types.h:192
u8 padding_0xF2[2]
Definition types.h:172
s32 damage_taken
Definition types.h:176
s32 peak_height
Definition types.h:187
u16 peak_damage
Definition types.h:178
u16 victories
Definition types.h:180
s32 run_distance
Definition types.h:185
s32 coins_lost
Definition types.h:190
s32 fall_distance
Definition types.h:186
u8 x1A1
Definition types.h:194
s32 damage_recovered
Definition types.h:177
u16 losses
Definition types.h:181
s32 coins_swiped
Definition types.h:189
s8 x1A0
Definition types.h:193
s32 walk_distance
Definition types.h:184
s32 damage_dealt
Definition types.h:175
u8 padding_x1A2
Definition types.h:196
u16 match_count
Definition types.h:179
u32 play_time_by_fighter[25]
Definition types.h:191
u32 total_player_count
Definition types.h:183
u32 attacks_hit
Definition types.h:173
s8 x1A2
Definition types.h:195
s32 coins_collected
Definition types.h:188
u32 attacks_total
Definition types.h:174
Definition types.h:454
u8 x1_b5
Definition types.h:466
u8 x1_b3
Definition types.h:464
u8 x2_b4
Definition types.h:473
u8 x2_b2
Definition types.h:471
u8 x1_b1
Definition types.h:462
u8 x0_b4
Definition types.h:457
u8 x0_b6
Definition types.h:459
u8 x1_b2
Definition types.h:463
u8 x2_b6
Definition types.h:475
u8 x0_b3
Definition types.h:456
u8 x2_b1
Definition types.h:470
u8 x1_b0
Definition types.h:461
u8 x1_b4
Definition types.h:465
u8 x1_b7
Definition types.h:468
u8 x2_b5
Definition types.h:474
u8 x0_b7
Definition types.h:460
u8 x2_b3
Definition types.h:472
u8 x0_b0_b2
Definition types.h:455
u8 x2_b0
Definition types.h:469
u8 x0_b5
Definition types.h:458
u8 x1_b6
Definition types.h:467
u8 x2_b7
Definition types.h:476
Definition types.h:53
Definition types.h:925
s32 x8
Definition types.h:940
Vec3 x4C[6]
Definition types.h:952
u8 x0_4
Definition types.h:929
f32 xC
Definition types.h:941
u8 x3
Definition types.h:936
u8 x0_7
Definition types.h:932
HSD_JObj * x24
Definition types.h:947
HSD_GObj * x18
main proc?
Definition types.h:944
MatchEnd * x94
Definition types.h:953
u8 x5
team winner?
Definition types.h:938
HSD_JObj * x34[6]
Definition types.h:951
HSD_Text * x2C
Definition types.h:949
HSD_JObj * x30
Definition types.h:950
u8 x0_5
Definition types.h:930
u8 x4
winner?
Definition types.h:937
struct ResultsPlayerData player_data[6]
Definition types.h:954
u8 x0_6
Definition types.h:931
u8 num_pages
Definition types.h:935
HSD_JObj * x20
winner logo?
Definition types.h:946
u8 x0_23
phase (0=idle, 1=init, 2=active)
Definition types.h:928
u8 x0_1
Definition types.h:927
u8 x6
also winner?
Definition types.h:939
HSD_JObj * x28
Definition types.h:948
u8 x1
some sort of state
Definition types.h:934
SceneDesc * flmsce
Definition types.h:943
HSD_CObj * cobj
Definition types.h:945
u8 x0_0
Definition types.h:926
SceneDesc * pnlsce
Definition types.h:942
Definition types.h:681
int x4
Definition types.h:685
u8 x0_0
Definition types.h:682
MatchEnd match_end
Definition types.h:686
u8 x0_1
Definition types.h:683
u8 x1
Definition types.h:684
Definition types.h:902
u8 x0_4
Definition types.h:907
f32 scroll_offset
Definition types.h:911
HSD_JObj * jobjs[15]
Definition types.h:921
HSD_GObj * fighter_gobj
Definition types.h:912
u16 x2
Definition types.h:910
u8 x0_0
confirmed flag
Definition types.h:903
HSD_Text * ko_time
Definition types.h:920
u8 x0_2
Definition types.h:905
Vec3 stats_position
Definition types.h:922
u8 x0_3
Definition types.h:906
u8 page
Definition types.h:909
HSD_Text * ko_count
Definition types.h:919
HSD_Text * stats_text[3][10]
3 pages with 10 entries?
Definition types.h:914
u8 x0_567
Definition types.h:908
HSD_GObj * camera
Definition types.h:913
u8 x0_1
Definition types.h:904
The basis of a rendered scene, like a stage, menu, or HUD overlay.
Definition types.h:26
Definition types.h:111
Definition types.h:792
u16 x9
Definition types.h:802
u8 x1
Definition types.h:794
u8 x0
Definition types.h:793
u8 x3
Definition types.h:796
u8 xC
Definition types.h:804
u8 x6
Definition types.h:799
u8 x7
Definition types.h:800
u8 xB
Definition types.h:803
u8 xD
Definition types.h:805
u8 xE
Definition types.h:806
u8 x2
Definition types.h:795
u8 xF
Definition types.h:807
u8 x8
Definition types.h:801
u8 pad_X10[0x12 - 0x10]
Definition types.h:808
u8 x4
Definition types.h:797
u8 x5
Definition types.h:798
Definition types.h:812
u8 x4
CPU level.
Definition types.h:817
u8 x1
CSSIconHud.
Definition types.h:814
u8 x3
color
Definition types.h:816
u16 x6
Definition types.h:819
u8 x5
Definition types.h:818
u8 x2
Definition types.h:815
u8 x0
slot type
Definition types.h:813
u8 pad_x4[0xA - 0x8]
Definition types.h:820
Definition types.h:770
u8 x2C
Definition types.h:782
HSD_Text * x500[6]
Definition types.h:825
u8 x2E
Definition types.h:784
HSD_Text * x4E8[6]
Definition types.h:824
u8 pad_x540[0x56B - 0x540]
Definition types.h:829
int cpu_level
Definition types.h:777
int hmn_cpu_count
Definition types.h:775
HSD_Text * x4E4
Definition types.h:823
int match_type
Definition types.h:772
u8 x2D
Definition types.h:783
u8 x2F
Definition types.h:785
int x20
Definition types.h:779
struct TmData::UnkSelections x4B8[4]
HSD_Text * x534[3]
Definition types.h:828
int cur_option
Definition types.h:771
HSD_Text * x524[4]
Definition types.h:827
int entrants
Definition types.h:774
HSD_Text * x4E0
Definition types.h:822
u8 x30
Definition types.h:786
u8 pad_x4B7[0x4B8 - 0x4B7]
Definition types.h:811
u8 x31
Definition types.h:787
int combatants
Definition types.h:773
s32 x1C
Definition types.h:778
int stage_selection_type
Definition types.h:776
int x24
Definition types.h:780
u8 x32
Definition types.h:788
u8 x33
Definition types.h:789
HSD_Text * x518[3]
Definition types.h:826
u32 x28
stage id
Definition types.h:781
u8 pad_x34[0x37 - 0x34]
Definition types.h:790
Definition types.h:870
Gm_PKind slot_type[4]
Definition types.h:872
u32 color[4]
Definition types.h:874
u32 char_id[4]
Definition types.h:873
u32 stage_id
Definition types.h:871
Definition types.h:1034
s32 pad_6C[2]
Definition types.h:1038
s32 mode
Definition types.h:1036
s32 char_data[25]
Definition types.h:1037
s32 count
Definition types.h:1035
PlayerInitData players[4]
Definition types.h:1039
CssSubStruct css
Definition types.h:1041
s32 result_cache[4]
Definition types.h:1040
s8 ckind
Definition types.h:716
f32 x4
Definition types.h:720
f32 x8
Definition types.h:721
Definition types.h:702
u8 xC
Definition types.h:703
u8 x12
Definition types.h:709
u8 xD
Definition types.h:704
u8 x13
Definition types.h:710
int x1C
Definition types.h:713
u8 xE
Definition types.h:705
u8 xF
Definition types.h:706
u32 x20
Definition types.h:714
u16 x14
Definition types.h:711
u8 x11
Definition types.h:708
u8 x10
Definition types.h:707
int x18
Definition types.h:712
Definition types.h:689
u8 xA
Definition types.h:700
u8 stocks
Definition types.h:695
u8 x6
Definition types.h:696
u8 color
Definition types.h:691
u8 x8
Definition types.h:698
s8 ckind
Definition types.h:690
u8 xB
Definition types.h:701
u8 slot
Definition types.h:693
u8 x4
EntryName Slot.
Definition types.h:694
u8 x9
Definition types.h:699
u8 cpu_level
Definition types.h:692
u8 x7
Definition types.h:697
Definition types.h:726
u8 x78
Definition types.h:743
u8(* x4C)(u8, u8, u8)
Definition types.h:729
u8(* x5C)(u8, u8, u8)
Definition types.h:733
float(* x68)(u8, u8)
Definition types.h:736
s8 pad_x79[0x7C - 0x79]
Definition types.h:744
u8 x77
Definition types.h:742
float(* x70)(u8, u8)
Definition types.h:738
u8(* x60)(u8, u8, u8)
Definition types.h:734
u8(* x48)(u8, u8)
Definition types.h:728
u8 x75
Definition types.h:740
u8(* x54)(u8, u8, u8)
Definition types.h:731
u8 x76
Definition types.h:741
u8(* x50)(u8, u8, u8)
Definition types.h:730
float(* x6C)(u8, u8)
Definition types.h:737
Unk1PData x0
Definition types.h:727
s8 pad_x7D[0x80 - 0x7D]
Definition types.h:746
u8(* x58)(u8, u8, u8)
Definition types.h:732
float(* x64)(u8, u8)
Definition types.h:735
u8 x74
Definition types.h:739
u8 x7C
CharacterKind.
Definition types.h:745
Definition types.h:749
u8(* x5C)(u8, u8, u8)
Definition types.h:756
u16 x74
current percent
Definition types.h:762
float(* x64)(u8, u8)
Definition types.h:758
u8 x90[4]
Definition types.h:765
float(* x70)(u8, u8)
Definition types.h:761
u8(* x54)(u8, u8, u8)
Definition types.h:754
u8(* x50)(u8, u8, u8)
Definition types.h:753
u8 x8E[2]
Definition types.h:764
u8(* x4C)(u8, u8, u8)
Definition types.h:752
float(* x6C)(u8, u8)
Definition types.h:760
Unk1PData x0
Definition types.h:750
u8(* x60)(u8, u8, u8)
Definition types.h:757
u8(* x48)(u8, u8)
Definition types.h:751
u8(* x58)(u8, u8, u8)
Definition types.h:755
float(* x68)(u8, u8)
Definition types.h:759
u8 x76[24]
character id array
Definition types.h:763
u8 _94[0x9C - 0x94]
Definition types.h:766
u32 x9C
current time (frames)
Definition types.h:767
Definition types.h:20
u16 x2
Definition types.h:22
int x4
Definition types.h:23
u16 x0_0
Definition types.h:21
Definition types.h:983
u8 x0
Definition types.h:984
u8 x1
Definition types.h:985
Definition types.h:204
Definition types.h:534
u8 hour
Definition types.h:536
u8 second
Definition types.h:536
u8 minute
Definition types.h:536
u8 day
Definition types.h:536
u16 year
Definition types.h:535
u8 month
Definition types.h:536
Definition gmclassic.c:20
Definition types.h:539
s32 x30
Definition types.h:555
s32 x38
Definition types.h:557
s32 x24
Definition types.h:552
s16 x2
Definition types.h:541
s16 x1E
Definition types.h:550
s16 x0
Definition types.h:540
s16 x1C
Definition types.h:549
s32 x40
Definition types.h:559
s32 xC
Definition types.h:544
s16 x1A
Definition types.h:548
s32 x14
Definition types.h:546
s32 x8
Definition types.h:543
s32 x10
Definition types.h:545
s32 x3C
Definition types.h:558
s16 x18
Definition types.h:547
s32 x4
Definition types.h:542
s32 x2C
Definition types.h:554
s32 x28
Definition types.h:553
s32 x20
Definition types.h:551
s32 x34
Definition types.h:556
Definition types.h:569
int x10
Definition types.h:574
int x14
Definition types.h:574
bool xC
Definition types.h:573
bool x0
Definition types.h:570
bool progressive
true = progressive, false = interlaced
Definition types.h:572
bool resetting
reset switch pressed
Definition types.h:571
Definition types.h:877
u8 x2
Definition types.h:880
bool(* x4[2])(void)
Definition types.h:882
u8 x1
Definition types.h:879
UNK_T xC
Definition types.h:883
u8 x0
Definition types.h:878
u8 unk_38_0
Definition types.h:888
u64 unk_28
Definition types.h:885
void(* unk_30)(void)
Definition types.h:886
u8 unk_38_1
Definition types.h:889
u8 x3
Definition types.h:881
int unk_34
Definition types.h:887
u64 unk_20
Definition types.h:884
Definition types.h:562
u8 x1
Definition types.h:564
u8 x0
Definition types.h:563
u8 _1[0xC - 0x2]
Definition types.h:565
Definition types.h:1007
u8 x8
Definition types.h:1014
u8 x2
Definition types.h:1010
u16 x6
Definition types.h:1013
u8 pad09[3]
Definition types.h:1015
u8 x1
Definition types.h:1009
u8 pad03
Definition types.h:1011
struct gmClassicMatchup * xC
Definition types.h:1016
u16 x4
Definition types.h:1012
u8 x0
Definition types.h:1008
Definition types.h:958
u8 x8
Definition types.h:964
u8 xD
Definition types.h:967
u16 x4
Definition types.h:962
u8 xE
Definition types.h:968
u8 x0
Definition types.h:959
u16 x2
Definition types.h:961
u8 x1
Definition types.h:960
s8 xA[3]
CharacterKind (opponents?).
Definition types.h:966
u8 xF
Definition types.h:969
u16 x6
Definition types.h:963
u8 x9
Definition types.h:965
Definition types.h:579
void(* x4)(int)
Definition types.h:581
void(* x0)(HSD_GObj *)
Definition types.h:580
Definition types.h:893
int unk_C
Definition types.h:897
u32 unk_8
Definition types.h:896
struct gm_801677C0_s unk_10
Definition types.h:898
u32 unk_4
Definition types.h:895
u32 unk_0
Definition types.h:894
Definition types.h:228
s32 x14
Definition types.h:234
s32 xC
Definition types.h:232
u32 x4
Definition types.h:230
u32 x0
Definition types.h:229
s32 x18
Definition types.h:235
s32 x10
Definition types.h:233
u8 padding[0x4]
Definition types.h:231
s32 x1C
Definition types.h:236
Definition types.h:239
s32 x0
Definition types.h:240
s32 x4
Definition types.h:241
Definition types.h:244
u8 padding_x4C[0xB0 - 0x4C - 4 *4]
Definition types.h:254
int x114[0x19]
Definition types.h:256
s32 x0
Definition types.h:245
int x10
Definition types.h:249
s32 x8
Definition types.h:247
u8 pad_x1C[0x4C - 0x1C]
Definition types.h:252
u32 x4
Definition types.h:246
s32 xB0[0x19]
Definition types.h:255
s32 x4C[4]
Definition types.h:253
u32 x14
Definition types.h:250
u16 x18[2]
Definition types.h:251
u32 xC
Definition types.h:248
Definition types.h:376
u8 unk_586
Definition types.h:379
s8 unk_584
Definition types.h:377
u8 unk_585
Definition types.h:378
s8 unk_587
Definition types.h:380
Definition types.h:337
u8 xB_4
Definition types.h:353
int x30
Definition types.h:366
s8 xA
Definition types.h:348
u8 xB_1
Definition types.h:350
int x10
Definition types.h:358
struct gmm_x0::EventData::gmm_x0_584_t unk_584
u8 x4
Definition types.h:342
char pad_58B[4]
Definition types.h:383
u8 xB_2
Definition types.h:351
int xC
Definition types.h:357
u8 x45
Definition types.h:372
float x1C
Definition types.h:361
int x40
Definition types.h:370
u8 xB_7
Definition types.h:356
u8 x1
Definition types.h:339
int x14
Definition types.h:359
u8 xB_6
Definition types.h:355
s8 x9
Definition types.h:347
s8 x8
Definition types.h:346
u8 xB_5
Definition types.h:354
int x24
Definition types.h:363
u8 x6
Definition types.h:344
s8 x2
Definition types.h:340
InternalStageId x48
Definition types.h:373
u8 x0
Definition types.h:338
u8 unk_535
Definition types.h:343
s8 x44
Definition types.h:371
int x34
Definition types.h:367
int x28
Definition types.h:364
u8 x3
Definition types.h:341
u8 xB_0
Definition types.h:349
int x2C
Definition types.h:365
int x3C
Definition types.h:369
u8 x7
Definition types.h:345
u8 x38
Definition types.h:368
s8 unk_588[4]
Definition types.h:382
u8 x50[4]
character color
Definition types.h:375
int x20
Definition types.h:362
u8 xB_3
Definition types.h:352
s8 x4C[4]
CharacterKind.
Definition types.h:374
int x18
Definition types.h:360
Definition types.h:329
u8 x4
nametag ID
Definition types.h:334
u8 cpu_level
Definition types.h:333
u8 x5
Definition types.h:335
u8 color
Definition types.h:332
s8 c_kind
Definition types.h:330
u8 stocks
Definition types.h:331
Definition types.h:319
u32 unk_6C[4]
Definition types.h:327
char pad_48[0x24]
Definition types.h:326
VsModeData unk_10D0
stamina melee
Definition types.h:394
GameRules x1850
Definition types.h:400
VsModeData unk_BD0
single button melee
Definition types.h:390
VsModeData unk_1210
slowmo melee
Definition types.h:395
VsModeData unk_F90
giant melee
Definition types.h:393
VsModeData unk_1710
opening movie?
Definition types.h:399
struct gmm_x0::gmm_x0_528_t unk_522
VsModeData unk_D10
training mode
Definition types.h:391
struct gmm_x1868 thing
Definition types.h:401
s32 unk_44
Definition types.h:325
char pad_3[0x36]
Definition types.h:323
VsModeData unk_590
VS melee.
Definition types.h:385
VsModeData unk_950
Definition types.h:388
VsModeData unk_1350
lightning melee
Definition types.h:396
VsModeData unk_E50
tiny melee
Definition types.h:392
VsModeData unk_810
invisible melee
Definition types.h:387
VsModeData unk_1490
multiman, 3/15 min, endless, cruel
Definition types.h:397
char pad_7C[0x4A0]
Definition types.h:328
VsModeData unk_6D0
super sudden death
Definition types.h:386
struct gmm_x0::EventData unk_530
u8 x39[0xB]
Definition types.h:324
u8 unk_1
Definition types.h:321
struct gmm_x0::gmm_x0_528_t unk_51C
struct gmm_x0::gmm_x0_528_t unk_528
u8 unk_2
Definition types.h:322
char pad_15D0[0x1710 - 0x15D0]
Definition types.h:398
VsModeData unk_A90
fixed camera mode
Definition types.h:389
u8 language
Definition types.h:320
Definition types.h:271
u32 x0
Definition types.h:272
u8 x5
Definition types.h:274
u8 x6
Definition types.h:275
u8 x4
true/false
Definition types.h:273
Definition types.h:259
u8 padding_x1C88[0x1C]
Definition types.h:309
s32 x1A2C
Definition types.h:282
s32 x1A3C
Definition types.h:286
s32 x1A34
Definition types.h:284
struct gmm_x1CB0 x1CB0
Definition types.h:310
struct gmm_retval_EDBC unk_30
Definition types.h:270
s32 x1A1C
Definition types.h:278
s32 x1A58
Definition types.h:293
s32 x1A44
Definition types.h:288
s32 x1A5C
Definition types.h:294
u8 padding_x1A70[0xBC]
Definition types.h:299
s32 x1A4C
Definition types.h:290
u32 x1B58[3]
Definition types.h:304
u32 x1B80[4]
Definition types.h:306
char pad_2D5[3]
Definition types.h:301
u8 padding_x1CD4[0x254]
Definition types.h:314
s32 x1A50
Definition types.h:291
s32 x1A30
Definition types.h:283
s16 x1CD0
Definition types.h:311
struct gmm_retval_ED98 unk_8
Definition types.h:268
struct NameTagDataBank x2FF8[2]
Definition types.h:316
s64 x1A68
Definition types.h:297
s32 x1A60
Definition types.h:295
int x1A54
Definition types.h:292
s32 x1A38
Definition types.h:285
s32 x1A70[4]
Definition types.h:298
s32 x1A28
Definition types.h:281
s32 x1A40
Definition types.h:287
u16 x1868
unlocked characters bitmask
Definition types.h:260
char pad_5[3]
Definition types.h:267
u32 x1C88[3]
Definition types.h:308
s16 x1CD2
Definition types.h:312
u8 x1B3C
Definition types.h:300
u8 padding_x1B58[0x1C]
Definition types.h:305
u8 x186C
unlocked features bitmask - score display/random stage etc...
Definition types.h:262
s32 x1A20
Definition types.h:279
s32 x1A64
Definition types.h:296
u32 x1B40[3]
Definition types.h:302
struct FighterData x1F2C[0x19]
Definition types.h:315
struct gmm_retval_EDB0 unk_28
Definition types.h:269
struct gmm_x1868::gmm_x1868_1A8_t unk_1A8
u32 x1B4C[3]
Definition types.h:303
u8 padding_x1B80[0xF8]
Definition types.h:307
s32 x1CD4
Definition types.h:313
u16 x186A
unlocked stages bitmask
Definition types.h:261
u32 x1A48
Definition types.h:289
s32 x1A18
Definition types.h:277
s32 x1A24
Definition types.h:280
Definition types.h:100
u8 padding_x16[0x1]
Definition types.h:109
u8 pad_x1[0x8 - 0x1]
Definition types.h:102
u8 saved_language
Definition types.h:107
u8 rumble[4]
Definition types.h:104
u8 sound_balance
Definition types.h:105
u32 stage_mask
Definition types.h:108
u8 deflicker
Definition types.h:106
u64 item_mask
Definition types.h:103
u8 item_freq
Definition types.h:101
int x104[0x101]
Definition types.h:450
u8 x0[0x101]
Definition types.h:449
u8 pad44[0xA8 - 0x44]
Definition types.h:445
u8 pad10[0x1C - 0x10]
Definition types.h:436
u8 pad1D[0x20 - 0x1D]
Definition types.h:438
u8 padC[2]
Definition types.h:434
u8 pad30[0x40 - 0x30]
Definition types.h:443
Definition types.h:404
u8 x7
Definition types.h:409
u8 xC
Definition types.h:411
u8 pad_x1[0xB]
Definition types.h:419
UNK_T x0
Definition types.h:405
u8 xD
Definition types.h:412
u8 pad30[0x58 - 0x30]
Definition types.h:421
u8 is_teams
Definition types.h:408
u32 x8
Definition types.h:410
u8 pad3F0[0x44C - 0x3F0 - 0x58]
Definition types.h:447
u8 x16
Definition types.h:415
struct lbl_8046B6A0_24C_t::lbl_8046B6A0_24C_44C_t x44C[6]
u8 xE
Definition types.h:413
u8 x5
match mode
Definition types.h:407
u8 x4
Definition types.h:406
u8 pad17[0x24 - 0x17]
Definition types.h:416
u8 padF[0x16 - 0xF]
Definition types.h:414
Definition types.h:479
s8 pauser
Definition types.h:481
u8 unk_F
Definition types.h:495
u8 x8
Definition types.h:522
s32 unk_10
Definition types.h:496
u8 x9
Definition types.h:523
u8 pause_timer
Definition types.h:482
u8 is_singleplayer
Definition types.h:487
u8 unk_C
Definition types.h:492
u8 x4_b4
Zelda/Sheik transforming on load.
Definition types.h:516
u8 hud_enabled
Definition types.h:485
u8 x1
Definition types.h:509
u8 unk_4
Definition types.h:484
u16 unk_2C
timer frames
Definition types.h:503
u8 unk_A
Definition types.h:490
u8 x4_b7
Definition types.h:519
u32 * unk_20
Definition types.h:500
u32 timer_seconds
Definition types.h:502
u8 respawn_timer
Definition types.h:524
u8 x4_b2
invisible
Definition types.h:514
u8 x0
CharacterKind.
Definition types.h:508
u16 x6
Definition types.h:521
u16 unk_2E
Definition types.h:504
struct StartMeleeRules x24C8
Definition types.h:530
u8 x5
Definition types.h:520
u8 match_result
Definition types.h:488
f32 unk_34
Definition types.h:506
u8 unk_B
Definition types.h:491
u8 x4_b5
Definition types.h:517
u8 unk_3
Definition types.h:483
u16 xC
Definition types.h:526
u8 unk_9
Definition types.h:489
char pad_8C[0x24C - 0x8C]
Definition types.h:528
u8 unk_30
Definition types.h:505
u8 unk_18
Definition types.h:498
s8 spawn_point
Definition types.h:511
u8 x4_b6
Definition types.h:518
u8 x4_b1
Definition types.h:513
u8 x4_b0
metal
Definition types.h:512
struct lbl_8046B6A0_t::@267137057300213272007246341163136257076107061222 FighterMatchInfo[6]
u8 x4_b3
Definition types.h:515
u8 match_over
Definition types.h:494
u32 frame_count
Definition types.h:501
u8 terminate_match
Definition types.h:486
u8 unk_0
Definition types.h:480
s32 unk_14
Definition types.h:497
u8 xB
Definition types.h:525
struct lbl_8046B6A0_24C_t x24C
Definition types.h:529
u32 * unk_1C
Definition types.h:499
u8 slot_type
Definition types.h:510
u8 unk_D
Definition types.h:493
Definition types.h:972
u8 x4
Definition types.h:977
u8 x0
Definition types.h:973
u8 x3
Definition types.h:976
u8 x2
Definition types.h:975
u8 x5
Definition types.h:978
u8 x6
Definition types.h:979
u8 x1
Definition types.h:974
u16 x8
Definition types.h:980
Definition types.h:95
u32 a
Definition types.h:96
u8 scene_id
Definition types.h:97
Definition common_structs.h:75