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 <Runtime/platform.h>
5
6#include <melee/ft/forward.h>
7#include <melee/gm/forward.h> // IWYU pragma: export
8#include <melee/gr/forward.h>
9#include <melee/pl/forward.h>
10#include <melee/sc/forward.h>
11#include <melee/ty/forward.h>
13
14#include <placeholder.h>
15
16#include <dolphin/gx.h>
17#include <dolphin/pad.h>
18#include <dolphin/types.h>
19#include <melee/mn/types.h>
20
22typedef union UnkFlagStruct {
24 struct {
25 u8 b0 : 1;
26 u8 b1 : 1;
27 u8 b2 : 1;
28 u8 b3 : 1;
29 u8 b4 : 1;
30 u8 b5 : 1;
31 u8 b6 : 1;
32 u8 b7 : 1;
33 };
35
37 u16 x0_0 : 1;
39 int x4;
40};
41
43 /* 00 */ u32 x0;
44 /* 04 */ int x4;
45 /* 08 */ u32 x8;
46 /* 0C */ int xC;
47 /* 10 */ u32 ckind;
48 /* 14 */ u8 slot;
49 /* 15 */ u8 x15;
50 /* 16 */ u16 x16;
51 /* 18 */ u16 x18;
52};
54
62
81 /* +0 */ u8 id;
82 /* +1 */ u8 preload;
83 /* +2 */ u16 flags;
84
85 /* +4 */ void (*on_enter)(GameModeState*);
86 /* +8 */ void (*on_exit)(GameModeState*);
87
97 /* +0 */ u8 scene_kind;
98 /* +4 */ void* enter_data;
99 /* +8 */ void* exit_data;
101};
102
104struct GameMode {
107
108 void (*on_load)(void);
109 void (*on_unload)(void);
110 void (*on_init)(void);
111
113};
114
116struct GameScene {
118
120 void (*on_frame)(void);
121
122 void (*on_enter)(void*);
123 void (*on_exit)(void*);
125};
126ASSERT_SIZE(struct GameScene, 0x14);
127
128struct GamePrefs {
129 /* +0 */ u8 item_freq;
130 /* +8 */ u64 item_mask;
132 /* +14 */ s8 sound_balance;
133 /* +15 */ u8 deflicker;
134 /* +16 */ u8 saved_language; /* 0x1CC6 */
135 /* +18 */ u32 stage_mask;
136};
137
140 /* 0x32 */ u8 padding_0x32[2];
141 /* 0x34 */ u16 sd_count;
142 /* 0x36 */ u8 padding_0x36[2];
143 /* 0x38 */ u32 attacks_hit;
144 /* 0x3C */ u32 attacks_total;
145 /* 0x40 */ s32 damage_dealt;
146 /* 0x44 */ s32 damage_taken;
148 /* 0x4C */ u16 peak_damage;
149 /* 0x4E */ u16 match_count;
150 /* 0x50 */ u16 victories;
151 /* 0x52 */ u16 losses;
152 /* 0x54 */ u32 play_time;
154 /* 0x5C */ s32 walk_distance;
155 /* 0x60 */ s32 run_distance;
156 /* 0x64 */ s32 fall_distance;
157 /* 0x68 */ s32 peak_height;
159 /* 0x70 */ s32 coins_swiped;
160 /* 0x74 */ s32 coins_lost;
161 /* 0x78 */ s8 x78;
162 /* 0x79 */ s8 x79;
163 /* 0x7A */ UnkFlagStruct x7A;
164 /* 0x7B */ s8 x7B;
165 /* 0x7C */ struct {
166 u16 b0 : 1;
167 u16 b1 : 1;
168 u16 b2 : 1;
169 u16 b3 : 1;
170 u16 b4 : 1;
171 u16 b5 : 1;
172 u16 b6 : 1;
173 u16 b789 : 3;
193};
194
196 /* 0x000 */ u16 vs_kos[120];
197 /* 0x0F0 */ u16 sd_count;
198 /* 0x0F2 */ u8 padding_0xF2[2];
199 /* 0x0F4 */ u32 attacks_hit;
200 /* 0x0F8 */ u32 attacks_total;
201 /* 0x0FC */ s32 damage_dealt;
202 /* 0x100 */ s32 damage_taken;
204 /* 0x108 */ u16 peak_damage;
205 /* 0x10A */ u16 match_count;
206 /* 0x10C */ u16 victories;
207 /* 0x10E */ u16 losses;
208 /* 0x110 */ u32 play_time;
210 /* 0x118 */ s32 walk_distance;
211 /* 0x11C */ s32 run_distance;
212 /* 0x120 */ s32 fall_distance;
213 /* 0x124 */ s32 peak_height;
214 /* 0x128 */ s32 coins_collected;
215 /* 0x12C */ s32 coins_swiped;
216 /* 0x130 */ s32 coins_lost;
218 /* 0x198 */ char namedata[8];
219 /* 0x1A0 */ s8 x1A0;
220 /* 0x1A1 */ u8 rumble_enabled;
221 /* 0x1A2 */ s8 x1A2;
222 /* 0x1A3 */ u8 padding_x1A2;
223};
224
226 struct NameTagData inner[19];
227};
228
229struct GameRules {
230 /* 0x00 */ u8 force_main_menu;
231 /* 0x01 */ u8 bgm;
232 /* 0x02 */ u8 mode;
233 /* 0x03 */ u8 time_limit;
234 /* 0x04 */ u8 stock_count;
235 /* 0x05 */ u8 handicap;
236 /* 0x06 */ u8 damage_ratio;
237 /* 0x07 */ u8 stage_sel;
239 /* 0x09 */ u8 friendly_fire;
240 /* 0x0A */ u8 pause;
241 /* 0x0B */ u8 score_display;
242 /* 0x0C */ u8 unk_xc;
243 /* 0x0D */ u8 xD;
244 /* 0x0E */ u8 xE;
245 /* 0x0F */ u8 xF;
246 /* 0x10 */ u8 unk_x10;
247 /* 0x11 */ u8 x11;
248 /* 0x12 */ u8 x12;
249 /* 0x13 */ u8 x13;
250 /* 0x14 */ s32 unk_14; /* inferred */
251}; /* size = 0x18 */
252ASSERT_SIZE(struct GameRules, 0x18);
253
264
269
283
284struct gmm_x1868 {
285 /* 0x0000 */ u16
287 /* 0x0002 */ u16 x186A;
288 /* 0x0004 */ u8 x186C;
290
292 // perhaps features got removed from the unlock system? item switch comes
293 // to mind as plausible
294 /* 0x0005 */ char pad_5[3];
295 /* 0x0008 */ struct gmm_retval_ED98 unk_8;
296 /* 0x0028 */ struct gmm_retval_EDB0 unk_28;
297 /* 0x0030 */ struct gmm_retval_EDBC unk_30;
299 /* 0x01A8 +0 */ u32 x0;
300 /* 0x01AC +4 */ u8 x4;
301 /* 0x01AD +5 */ u8 x5;
302 /* 0x01AE +6 */ u8 x6;
304 /* 0x01B0 */ u32 time_matches;
305 /* 0x01B4 */ u32 stock_matches;
306 /* 0x01B8 */ u32 coin_matches;
307 /* 0x01BC */ u32 bonus_matches;
308 /* 0x01C0 */ u32 stamina_matches;
309 /* 0x01C4 */ u32 match_resets;
310 /* 0x01C8 */ s32 x1A30;
311 /* 0x01CC */ s32 x1A34;
312 /* 0x01D0 */ s32 x1A38;
313 /* 0x01D4 */ s32 x1A3C;
314 /* 0x01D8 */ s32 x1A40;
315 /* 0x01DC */ s32 x1A44;
316 /* 0x01E0 */ u32 x1A48;
317 /* 0x01E4 */ s32 x1A4C;
318 /* 0x01E8 */ s32 x1A50;
319 /* 0x01EC */ int x1A54;
320 /* 0x01F0 */ s32 x1A58;
321 /* 0x01F4 */ s32 x1A5C;
322 /* 0x01F8 */ s32 x1A60;
323 /* 0x01FC */ s32 x1A64;
324 /* 0x0200 */ s64 x1A68;
325 /* 0x0208 */ s32 x1A70[4];
326 /* 0x0218 */ u8 padding_x1A70[0xBC];
327 /* 0x02D4 */ u8 x1B3C;
328 /* 0x02D5 */ char pad_2D5[3]; /* maybe part of x1B3C[4]? */
329 /* 0x02D8 */ u32 x1B40[3];
330 /* 0x02E4 */ u32 x1B4C[3];
331 /* 0x02F0 */ u32 x1B58[3];
332 /* 0x02FC */ u8 padding_x1B58[0x1C];
333 /* 0x0318 */ u32 x1B80[4];
334 /* 0x0328 */ u8 padding_x1B80[0xF8];
335 /* 0x0420 */ u32 x1C88[3];
336 /* 0x042C */ u8 padding_x1C88[0x1C];
337 /* 0x0448 */ struct GamePrefs x1CB0;
338 /* 0x0468 */ s16 trophy_count;
341 /* 0x06B6 */ u8 padding_trophy_flags[0xE];
342 /* 0x06C4 */ struct FighterData x1F2C[SELKIND_COUNT];
343 /* 0x1760 */ struct NameTagDataBank x2FF8[2];
344}; /* size = 0x55E8 */
345
346struct gmm_x0 {
347 /* 0x0000 */ u8 language;
348 /* 0x0001 */ u8 unk_1;
349 /* 0x0002 */ u8 unk_2;
350 /* 0x0003 */ char pad_3[0x36]; /* maybe part of x1[0x38]? */
351 /* 0x0039 */ u8 x39[0xB];
352 /* 0x0044 */ s32 unk_44;
353 /* 0x0048 */ char pad_48[0x24]; /* maybe part of x44[0xA]? */
354 /* 0x006C */ u32 unk_6C[4];
355 /* 0x007C */ char pad_7C[0x4A0]; /* maybe part of x6C[0x4B]? */
361 /* 0x051C */ s8 c_kind;
362 /* 0x051D */ u8 stocks;
363 /* 0x051E */ u8 color;
364 /* 0x051F */ u8 cpu_level;
365 /* 0x0520 */ u8 nametag;
366 /* 0x0521 */ u8 x5;
368 struct EventData {
369 /* 0x0530 */ u8 x0;
370 /* 0x0531 */ u8 x1;
371 /* 0x0532 */ s8 x2;
372 /* 0x0533 */ u8 x3;
373 /* 0x0534 */ u8 nametag;
374 /* 0x0535 */ u8 unk_535;
375 /* 0x0536 */ u8 x6;
376 /* 0x0537 */ u8 x7;
377 /* 0x0538 */ s8 x8;
378 /* 0x0539 */ s8 x9;
379 /* 0x053A */ s8 xA;
380 /* 0x053B */ u8 xB_0 : 1;
381 /* 0x053B */ u8 xB_1 : 1;
382 /* 0x053B */ u8 xB_2 : 1;
383 /* 0x053B */ u8 xB_3 : 1;
384 /* 0x053B */ u8 xB_4 : 1;
385 /* 0x053B */ u8 xB_5 : 1;
386 /* 0x053B */ u8 xB_6 : 1;
387 /* 0x053B */ u8 xB_7 : 1;
388 /* 0x053C */ int xC;
389 /* 0x0540 */ int x10;
390 /* 0x0544 */ int x14;
391 /* 0x0548 */ int x18;
392 /* 0x054C */ float x1C;
393 /* 0x0550 */ int x20;
394 /* 0x0554 */ int x24;
395 /* 0x0558 */ int x28;
396 /* 0x055C */ int x2C; // timer seconds
397 /* 0x0560 */ int x30;
398 /* 0x0564 */ int x34;
399 /* 0x0568 */ u8 x38;
400 /* 0x056C */ int x3C;
401 /* 0x0570 */ int x40;
402 /* 0x0574 */ s8 x44;
403 /* 0x0575 */ u8 x45;
404 /* 0x0578 */ StKind x48;
405 /* 0x057C */ s8 x4C[4];
406 /* 0x0580 */ u8 x50[4];
408 /* 0x0584 */ s8 unk_584;
409 /* 0x0585 */ u8 unk_585;
410 /* 0x0586 */ u8 unk_586;
411 /* 0x0587 */ s8 unk_587;
414 } vs;
420 /* 0x0590 */ VsModeData vs_melee;
421 /* 0x06D0 */ VsModeData unk_6D0;
423 /* 0x0950 */ VsModeData vs_camera;
425 /* 0x0BD0 */ VsModeData unk_BD0;
426 /* 0x0D10 */ VsModeData unk_D10;
427 /* 0x0E50 */ VsModeData unk_E50;
428 /* 0x0F90 */ VsModeData unk_F90;
429 /* 0x10D0 */ VsModeData vs_stamina;
430 /* 0x1210 */ VsModeData unk_1210;
432 /* 0x1490 */ VsModeData unk_1490;
434 /* 0x15D0 */ VsModeData unk_15D0;
435 /* 0x1710 */ VsModeData unk_1710;
437 /* 0x1850 */ GameRules x1850;
438 /* 0x1898 */ struct gmm_x1868 thing;
439 /* 0x6E50 */ u8 pad_6E50[0x8518 - 0x6E50];
440};
441ASSERT_SIZE(struct EventData, 0x588 - 0x530);
442ASSERT_SIZE(struct gmm_x0_vsdata, 0x588 - 0x51C);
443ASSERT_SIZE(struct gmm_x0_vsmodes, 0x1850 - 0x588);
444ASSERT_SIZE(struct gmm_x0, 0x8518);
445
447 /* +0:0 */ u8 x0_b0_b2 : 3;
448 /* +0:3 */ u8 x0_b3 : 1;
449 /* +0:4 */ u8 x0_b4 : 1;
450 /* +0:5 */ u8 x0_b5 : 1;
451 /* +0:6 */ u8 x0_b6 : 1;
452 /* +0:7 */ u8 x0_b7 : 1;
453 /* +1:0 */ u8 x1_b0 : 1;
454 /* +1:1 */ u8 x1_b1 : 1;
455 /* +1:2 */ u8 x1_b2 : 1;
456 /* +1:3 */ u8 x1_b3 : 1;
457 /* +1:4 */ u8 x1_b4 : 1;
458 /* +1:5 */ u8 x1_b5 : 1;
459 /* +1:6 */ u8 x1_b6 : 1;
460 /* +1:7 */ u8 x1_b7 : 1;
461 /* +2:0 */ u8 x2_b0 : 1;
462 /* +2:1 */ u8 x2_b1 : 1;
463 /* +2:2 */ u8 x2_b2 : 1;
464 /* +2:3 */ u8 x2_b3 : 1;
465 /* +2:4 */ u8 x2_b4 : 1;
466 /* +2:5 */ u8 x2_b5 : 1;
467 /* +2:6 */ u8 x2_b6 : 1;
468 /* +2:7 */ u8 x2_b7 : 1;
469};
470
481
508
513
515 /* +0 */ s16 x0;
516 /* +2 */ s16 x2;
517 /* +4 */ s32 x4;
518 /* +8 */ s32 x8;
519 /* +C */ s32 xC;
520 /* +10 */ s32 x10;
521 /* +14 */ s32 x14;
522 /* +18 */ s16 x18;
523 /* +1A */ s16 x1A;
524 /* +1C */ s16 x1C;
525 /* +1E */ s16 x1E;
526 /* +20 */ s32 x20;
527 /* +24 */ s32 x24;
528 /* +28 */ s32 x28;
529 /* +2C */ s32 x2C;
530 /* +30 */ s32 x30;
531 /* +34 */ s32 x34;
532 /* +38 */ s32 x38;
533 /* +3C */ s32 x3C;
534 /* +40 */ s32 x40;
535};
536
538 /* +0 */ u8 x0;
539 /* +1 */ u8 x1;
540 /* +2 */ u8 _1[0xC - 0x2];
541};
543
545 /* 00 */ bool skip_intro;
546 /* 04 */ bool resetting;
547 /* 08 */ bool progressive;
548 /* 0C */ bool xC; // movie playback done, maybe?
549 /* 10 */ int x10, x14;
550};
551
552typedef struct gm_803DF94C_t {
553 void (*x0)(HSD_GObj*);
554 void (*x4)(int);
556
558 /* 0x00 */ int score;
559 /* 0x04 */ int subscore;
560 /* 0x08 */ u8 is_big_loser;
561 /* 0x09 */ u8 is_small_loser;
562 /* 0x0A */ u8 active;
563}; // padded to 0x0C
565
627
629 u8 x0[0x101];
630 int x104[0x101];
631};
632
633struct MatchEnd {
634 /* 0x00 */ u32 x0;
635 /* 0x04 */ u8 outcome;
636 /* 0x05 */ u8 match_kind;
637 /* 0x06 */ u8 is_teams;
638 /* 0x07 */ u8 x7;
639 /* 0x08 */ u32 frame_count;
640 /* 0x0C */ s8 sd_penalty;
641 /* 0x0D */ u8 n_winners;
642 /* 0x0E */ u8 n_team_winners;
643 /* 0x0F */ u8 loser;
648 /* 0x448 */ u8 _x448[4]; // offset by 1 because of the previous struct
649 /* 0x44C */ struct UnkResultPlayerData x44C[6]; // 0x508 * 6 = 0x1820
650};
651ASSERT_SIZE(struct MatchEnd, 0x227C);
652
660
668
671typedef struct gmPlayerData {
672 /* 00 */ s8 ckind;
673 /* 01 */ u8 color;
674 /* 02 */ u8 cpu_level;
675 /* 03 */ u8 slot;
676 /* 04 */ u8 nametag;
677 /* 05 */ u8 stocks;
678 /* 06 */ u8 x6;
679 /* 07 */ u8 mode;
681
682struct Unk1PData {
684 /* 08 */ u8 x8;
685 /* 09 */ u8 x9;
686 /* 0A */ u8 xA;
687 /* 0B */ u8 xB;
688 /* 0C */ struct Unk1PData_xC {
689 /* 0C */ u8 xC;
690 /* 0D */ u8 xD;
691 /* 0E */ u8 xE;
692 /* 0F */ u8 xF;
693 /* 10 */ u8 x10;
694 /* 11 */ u8 x11;
695 /* 12 */ u8 x12;
696 /* 13 */ u8 x13;
697 /* 14 */ u16 x14;
698 /* 18 */ int x18;
699 /* 1C */ int x1C;
700 /* 20 */ u32 x20;
702 /* 24 */ s8 ckind;
703 /* 25 */ u8 color;
704 /* 26 */ u8 cpu_level;
705 /* 27 */ u8 cpu_kind;
706 /* 28 */ float attack_ratio;
707 /* 2C */ float defense_ratio;
708 } x24[3];
709 } xC;
710 /* 48 */ u8 (*x48)(u8, u8);
711 /* 4C */ u8 (*x4C)(u8, u8, u8);
712 /* 50 */ u8 (*x50)(u8, u8, u8);
713 /* 54 */ u8 (*x54)(u8, u8, u8);
714 /* 58 */ u8 (*x58)(u8, u8, u8);
715 /* 5C */ u8 (*x5C)(u8, u8, u8);
716 /* 60 */ u8 (*x60)(u8, u8, u8);
717 /* 64 */ float (*x64)(u8, u8);
718 /* 68 */ float (*x68)(u8, u8);
719 /* 6C */ float (*x6C)(u8, u8);
720 /* 70 */ float (*x70)(u8, u8);
721};
722
724 /* +0 */ struct Unk1PData x0;
725 /* 74 */ u8 x74;
726 /* 75 */ u8 x75;
727 /* 76 */ u8 x76;
728 /* 77 */ u8 x77;
729 /* 78 */ u8 x78;
730 /* 79 */ s8 pad_x79[0x7C - 0x79];
731 /* 7C */ u8 x7C;
732 /* 7D */ s8 pad_x7D[0x80 - 0x7D];
733};
735
737 /* +0 */ struct Unk1PData x0;
738 /* +74*/ u16 x74;
740 /* +90*/ u8 x90[4];
741 /* +94*/ u8 _94[2];
742 /* +94*/ u8 x96[6];
743 /* +9C*/ u32 x9C;
744};
746
747struct TmData {
756 int x20;
757 int x24;
767 u8 pad_x34[0x37 - 0x34];
768#if defined(MUST_MATCH) || defined(LINT)
769#pragma pack(push, 1)
770#endif
789#if defined(MUST_MATCH) || defined(LINT)
790#pragma pack(pop)
791#endif
792 u8 pad_x4B7[0x4B8 - 0x4B7];
810 u8 pad_x540[0x574 - 0x540];
811};
812ASSERT_SIZE(struct TmData, 0x574);
813
814struct NameData {
815 // a lot of this is shared with a struct for character stats as well
816 /* x0F0 */ s32 self_destructs;
817 /* x0F4 */ s32 attacks_hit;
818 /* x0F8 */ s32 attacks_total;
819 /* x0FC */ s32 damage_given;
820 /* x100 */ s32 damage_taken;
822 /* x108 */ s16 peak_damage;
823 /* x10A */ s16 matches;
824 /* x10C */ s16 victories;
825 /* x10E */ s16 losses;
826 /* x110 */ s32 play_time; // in minutes
827 /* x114 */ s32 x114;
828 /* x118 */ s32 ground_distance; // in meters
829 /* x11C */ s32 jump_distance;
830 /* x120 */ s32 drop_distance;
832 /* x128 */ s32 coin_points;
833 /* x12C */ s32 swiped_coins;
834 /* x130 */ s32 lost_coins;
835
836 /* x1A1 */ bool rumble_toggle;
837 /* x198 */ void* x198; // some kind of text representation of the name
838};
839
842 union {
843 struct {
847 };
849 };
850};
851
858
863
865 /* +0 */ u8 x0;
866 /* +1 */ u8 x1;
867 /* +2 */ u8 x2;
868 /* +3 */ u8 x3;
870 /* +20 */ u64 unk_20;
871 /* +28 */ u64 unk_28;
872 /* +30 */ void (*pre_gobj_proc)(void);
873 /* +34 */ int unk_34;
874 /* +38 */ u8 unk_38_0 : 1;
875 /* +38 */ u8 unk_38_1 : 1;
876};
877
879 /* +0 */ u32 unk_0;
880 /* +4 */ u32 unk_4;
881 /* +8 */ u32 unk_8;
882 /* +C */ int unk_C;
883 /* +10 */ struct gm_801677C0_s unk_10;
884};
885
887 /* +00 */ u8 x0_0 : 1;
888 /* +00 */ u8 x0_1 : 1;
889 /* +00 */ u8 x0_2 : 1;
890 /* +00 */ u8 x0_3 : 1;
891 /* +00 */ u8 x0_4 : 1;
892 /* +00 */ u8 x0_567 : 3;
893 /* +01 */ u8 page;
894 /* +02 */ u16 x2;
897 /* +0C */ HSD_GObj* camera;
898 /* +10 */ HSD_Text* stats_text[3][10];
899 // /* +10 */ HSD_Text* stats_x10[10]; ///< these text arrays are the
900 // scrollable stats
901 // /* +3C */ HSD_Text* stats_x3C[10];
902 // /* +60 */ HSD_Text* stats_x60[10];
903 /* +88 */ HSD_Text* ko_count;
904 /* +8C */ HSD_Text* ko_time;
905 /* +90 */ HSD_JObj* jobjs[15];
907};
908
910 /* +00 */ u8 x0_0 : 1;
911 /* +00 */ u8 x0_1 : 1;
912 /* +00 */ u8 x0_23 : 2;
913 /* +00 */ u8 x0_4 : 1;
914 /* +00 */ u8 x0_5 : 1;
915 /* +00 */ u8 x0_6 : 1;
916 /* +00 */ u8 x0_7 : 1;
917
918 /* +01 */ u8 x1;
919 /* +02 */ u8 num_pages;
920 /* +03 */ u8 x3;
921 /* +04 */ u8 x4;
922 /* +05 */ u8 x5;
923 /* +06 */ u8 x6;
924 /* +08 */ s32 x8;
925 /* +0C */ f32 xC;
926 /* +10 */ SceneDesc* pnlsce;
927 /* +14 */ SceneDesc* flmsce;
928 /* +18 */ HSD_GObj* x18;
929 /* +1C */ HSD_CObj* cobj;
930 /* +20 */ HSD_JObj* x20;
931 /* +24 */ HSD_JObj* x24;
932 /* +28 */ HSD_JObj* x28;
933 /* +2C */ HSD_Text* x2C;
934 /* +30 */ HSD_JObj* x30;
935 /* +34 */ HSD_JObj* x34[6];
936 /* +4C */ Vec3 x4C[6];
937 /* +94 */ MatchEnd* x94;
938 /* +98 */ struct ResultsPlayerData player_data[6];
939};
941
955
966
971
974 /* +00 */ u8 menu_kind;
976 /* +02 */ u8
978 /* +03 */ s8 x3;
979};
981
984 /* +00 */ s8 pending_mode;
985 /* +01 */ u8 _1[0x3];
986};
988
989struct gmClassicMatchup;
990
991typedef struct gm_803DDEC8Struct {
992 /* 0x00 */ u8 x0;
993 /* 0x01 */ u8 x1;
994 /* 0x02 */ u8 x2;
995 /* 0x03 */ u8 pad03;
996 /* 0x04 */ u16 x4;
997 /* 0x06 */ u16 x6;
998 /* 0x08 */ u8 x8;
999 /* 0x09 */ u8 pad09[3];
1000 /* 0x0C */ struct gmClassicMatchup* xC;
1002
1003typedef struct CssSubStruct {
1004 /* 0x000 */ u8 x00;
1005 /* 0x001 */ u8 x01;
1006 /* 0x002 */ u8 pad02;
1007 /* 0x003 */ u8 x03;
1008 /* 0x004 */ u8 pad04[2];
1009 /* 0x006 */ s16 stage_id;
1010 /* 0x008 */ u8 pad08[0xC];
1012 /* 0x0A4 */ HSD_GObj* gobj;
1013 /* 0x0A8 */ HSD_JObj* jobjs[39];
1014 /* 0x144 */ s32 anim_frames[39];
1015 /* 0x1E0 */ s32 menu_values[7];
1016 /* 0x1FC */ HSD_Text* text;
1017 /* 0x200 */ u8 pad200[4];
1018} CssSubStruct;
1019
1020typedef struct TrainingModeState {
1021 /* 0x000 */ s32 count;
1022 /* 0x004 */ s32 mode;
1023 /* 0x008 */ s32 char_data[25];
1024 /* 0x06C */ s32 pad_6C[2];
1025 /* 0x074 */ PlayerInitData players[4];
1026 /* 0x104 */ s32 result_cache[4];
1028
1030 /* 0x00 */ u8 c_kind[4];
1031 /* 0x04 */ u8 x4[4];
1032 /* 0x08 */ u8 unk_8;
1033 /* 0x09 */ u8 unk_9;
1034 /* 0x0A */ u8 unk_A;
1035 /* 0x0B */ char pad_B[1];
1036 /* 0x0C */ u16 unk_C;
1037 /* 0x0E */ s8 unk_E; /* inferred */
1038 /* 0x0F */ char pad_F[1];
1039}; /* size = 0x10 */
1041
1043 void* box2;
1044 void* box3;
1045 void* box4;
1046};
1048
1067
1069 u32 x0; // 0x00 counter
1070 u32 x4; // 0x04 frame counter
1071 s32 x8; // 0x08
1072 s32 xC; // 0x0C
1073 u16 x10; // 0x10
1074 u16 x12[4]; // 0x12 per-player u16 counters
1075 u8 x1A; // 0x1A
1076 u8 x1B; // 0x1B
1077 u8 x1C; // 0x1C
1078 u8 x1D[4]; // 0x1D per-player bytes
1079 u8 x21[4]; // 0x21 per-player anim counters
1080 u8 x25[4]; // 0x25 per-player bytes
1081 u8 x29; // 0x29
1082 struct { // 0x2A per-player anim data (stride 6)
1083 u8 start; // +0
1084 u8 cur; // +1
1085 u8 end; // +2
1086 u8 state; // +3
1087 u8 done; // +4
1088 u8 loop; // +5
1089 } x2A[4];
1090 u8 _pad0[2]; // 0x42-0x43
1091 u8 x44[4]; // 0x44 per-player state
1092 struct MatchEnd* x48; // 0x48 current tournament match results
1093 u8 x4C; // 0x4C
1094 u8 x4D; // 0x4D
1095 u8 x4E[20]; // 0x4E
1096 u8 _pad1[2]; // 0x62-0x63
1097 Vec3 x64; // 0x64
1098 Vec3 x70; // 0x70
1099 u8 _pad2[4]; // 0x7C-0x7F
1100};
1101
1110 u8 pad_x14[0x18 - 0x14];
1113 struct {
1120 } x1D[4];
1121 u8 pad_x35[0x38 - 0x35];
1123 u8 pad_x3C[0x40 - 0x3C];
1124};
1125
1127 int x0, x4, x8;
1128};
1129
1131 u8 x0[0x20];
1132 f32 x20[0x29];
1133};
1134
1136 /* 0x000 */ s8 x0;
1137 /* 0x001 */ s8 x1;
1138 /* 0x002 */ s8 x2;
1139 /* 0x003 */ s8 x3;
1140 /* 0x004 */ s8 x4;
1141 /* 0x005 */ s8 x5;
1142 /* 0x006 */ u8 x6;
1143 /* 0x007 */ u8 x7;
1144 /* 0x008 */ u8 x8;
1145 /* 0x009 */ u8 x9;
1146 /* 0x00A */ u8 xA;
1147 /* 0x00B */ u8 xB;
1148 /* 0x00C */ u8 xC;
1149 /* 0x00D */ u8 xD;
1150 /* 0x00E */ u8 xE;
1151 /* 0x00F */ u8 xF;
1152 /* 0x010:0 */ u8 unk_10_b0 : 1;
1153 /* 0x010:1 */ u8 unk_10_b1 : 1;
1154 /* 0x010:2 */ u8 unk_10_b2 : 1;
1155 /* 0x010:3 */ u8 unk_10_b3 : 1;
1156 /* 0x010:4 */ u8 unk_10_b4 : 1;
1157 /* 0x010:5 */ u8 unk_10_b5 : 1;
1158 /* 0x010:6 */ u8 unk_10_b6 : 1;
1159 /* 0x010:7 */ u8 unk_10_b7 : 1;
1160 /* 0x011 */ char pad_11[0x14 - 0x11];
1161 /* 0x014 */ f32 x14;
1162 /* 0x018 */ f32 x18;
1163 /* 0x01C */ f32 x1C;
1164 /* 0x020 */ s8 x20[0xA2 - 0x20];
1165 /* 0x0A2 */ s8 xA2[0x124 - 0xA2];
1166 /* 0x124 */ s8 x124[0x1A6 - 0x124];
1167 /* 0x1A6 */ s8 x1A6[0x1AC - 0x1A6];
1168 /* 0x1AC */ u8 x1AC;
1169 /* 0x1AD */ u8 x1AD;
1170 /* 0x1AE */ s8 x1AE[0x1B2 - 0x1AE];
1171 /* 0x1B2 */ u8 x1B2;
1172 /* 0x1AE */ s8 x1B3[0x1B8 - 0x1B3];
1174 /* 0x1BC */ char pad_1BC[0x1C0 - 0x1BC];
1175 /* 0x1C0 */ s8 x1C0[0x1B];
1176 /* 0x1DB */ char pad_1DB[0x1E0 - 0x1DB];
1177}; /* size = 0x1E0 */
1179
1180typedef struct TmSettingTable {
1181 u8 pad_0[0x40];
1182 u8 min[6][2];
1183 u8 max[6][2];
1188
1190typedef struct TmAnimFrames {
1191 /* 0x0 */ u16 start;
1192 /* 0x2 */ u16 end;
1193 /* 0x4 */ u16 loop;
1194} TmAnimFrames;
1196
1203
1208typedef struct BracketEntrySlot {
1209 /* +0x00 */ HSD_GObj* x2C;
1210 /* +0x04 */ u8 x30;
1211 /* +0x05 */ u8 pad31;
1212 /* +0x06 */ u8 x32;
1213 /* +0x07 */ u8 pad33;
1214 /* +0x08 */ s32 x34;
1215 /* +0x0C */ s32 x38;
1216 /* +0x10 */ s32 x3C;
1217 /* +0x14 */ s32 x40;
1218 /* +0x18 */ s32 x44;
1219 /* +0x1C */ s32 x48;
1220 /* +0x20 */ u8 x4C;
1221 /* +0x21 */ u8 x4D;
1222 /* +0x22 */ u8 x4E;
1223 /* +0x23 */ u8 x4F;
1224 /* +0x24 */ u8 x50;
1225 /* +0x25 */ u8 x51;
1226 /* +0x26 */ u8 x52;
1227 /* +0x27 */ u8 pad53;
1228 /* +0x28 */ u16 x54;
1229 /* +0x2A */ u8 pad56[0x2C - 0x2A];
1232
1233typedef struct BracketEntry {
1234 /* 0x00 */ u8 x0;
1235 /* 0x01 */ u8 x1;
1236 /* 0x02 */ u8 x2;
1237 /* 0x03 */ u8 x3;
1238 /* 0x04 */ u8 x4;
1239 /* 0x05 */ u8 x5;
1240 /* 0x06 */ u8 x6;
1241 /* 0x07 */ u8 pad7[0x0C - 0x07];
1242 /* 0x0C */ s32 xC;
1243 /* 0x10 */ s32 x10;
1244 /* 0x14 */ s32 x14;
1245 /* 0x18 */ s32 x18;
1246 /* 0x1C */ f32 x1C;
1247 /* 0x20 */ GXColor x20;
1248 /* 0x24 */ u8 x24;
1249 /* 0x25 */ u8 x25;
1250 /* 0x26 */ u8 x26;
1251 /* 0x27 */ u8 x27;
1252 /* 0x28 */ u8 x28;
1253 /* 0x29 */ u8 pad29[0x2C - 0x29];
1255} BracketEntry;
1257
1259 /* +0 */ u8 x0[0x20];
1260 /* +20 */ u8 x20[0x59 - 0x20];
1261 /* +59 */ u8 x59[0x72 - 0x59];
1262 /* +72 */ u8 x72[0x8C - 0x72];
1263};
1264
1266 /* 0x00 */ u8 icon_model_map[0x18];
1267 /* 0x18 */ u8 pad_0x18[0x1E - 0x18];
1268 /* 0x1E */ u8 rank_thresholds[32][6];
1269 /* 0xDE */ u8 pad_0xDE[0xE0 - 0xDE];
1270 /* 0xE0 */ f32 bounce_y[41];
1271}; /* size = 0x184 */
1273
1280
1282 /* 0x0000 */ u8 unk_0;
1287 /* 0x0001 */ s8 pauser;
1288 /* 0x0002 */ u8
1292 /* 0x0003 */ u8 unk_3;
1293 /* 0x0004 */ u8
1298 /* 0x0005 */ u8 hud_enabled;
1299 /* 0x0006 */ u8 terminate_match;
1300 /* 0x0007 */ u8 is_singleplayer;
1301 /* 0x0008 */ u8 match_result;
1303 /* 0x0009 */ u8 unk_9; //< 1 during classic mode stage-clear points screen
1304 // and between stages
1305 /* 0x000A */ u8 unk_A;
1306 /* 0x000B */ u8 unk_B; // end graphic / SFX type
1307 /* 0x000C */ u8 unk_C;
1308 /* 0x000D */ u8 unk_D;
1309 /* 0x000E */ u8 match_over;
1310 /* 0x000F */ u8 unk_F;
1311 /* 0x0010 */ s32 unk_10;
1312 /* 0x0014 */ s32 unk_14;
1313 /* 0x0018 */ u8 unk_18; /* maybe part of unk_14[4]? */
1314 /* 0x001C */ u32* unk_1C;
1315 /* 0x0020 */ u32* unk_20;
1316 /* 0x0024 */ u32 frame_count;
1317 /* 0x0028 */ u32 timer_seconds;
1318 /* 0x002C */ u16 unk_2C;
1319 /* 0x002E */ u16 unk_2E;
1320 /* 0x0030 */ u8 unk_30;
1321 /* 0x0034 */ f32 unk_34;
1323 /* 0x0038 */ char pad_8C[0x24C - 0x8C]; /* maybe part of unk_34[0x925]? */
1324 /* 0x024C */ MatchEnd x24C;
1325};
1326
1328 /* 0x0000 */ struct VsSceneState state;
1329 /* 0x24C8 */ struct StartMeleeRules start;
1330}; /* size = 0x2528 */
1332
1333#endif
struct Vec Vec3
signed char s8
Definition types.h:4
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
signed long long int s64
Definition types.h:10
float f32
Definition types.h:13
unsigned short int u16
Definition types.h:7
unsigned long long int u64
Definition types.h:11
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5
HSD_Text * x24
Definition gm_19EF.c:70
s32 xC
Definition gm_19EF.c:58
static GameMode modes[]
Definition gmscdata.c:383
@ CKind_Playable_Count
Definition forward.h:158
bool(* GmRouteCallback)(int)
Definition forward.h:178
#define GM_MAX_TEAMS
Definition forward.h:10
#define GM_MAX_PLAYERS
Definition forward.h:9
StKind
Definition forward.h:144
Gm_PKind
Definition forward.h:11
#define TY_TROPHY_COUNT
Definition forward.h:4
#define PAD_MAX_CONTROLLERS
Definition pad.h:22
#define UNK_T
Definition placeholder.h:23
#define ASSERT_SIZE(expr, size)
Definition platform.h:161
#define STATIC_ASSERT(cond)
Definition platform.h:153
bool(* Predicate)(void)
Definition platform.h:36
#define UNUSED
Definition platform.h:52
@ SELKIND_COUNT
Definition types.h:397
#define offsetof(type, member)
Definition stddef.h:11
Repeating per-slot unit of BracketEntry, one per tournament bracket slot starting at 0x2C.
Definition types.h:1208
u8 x50
Definition types.h:1224
s32 x40
Definition types.h:1217
u8 pad56[0x2C - 0x2A]
Definition types.h:1229
u8 x51
Definition types.h:1225
u8 pad53
Definition types.h:1227
u8 pad31
Definition types.h:1211
s32 x48
Definition types.h:1219
u8 x52
Definition types.h:1226
u8 x30
Definition types.h:1210
u8 x4F
Definition types.h:1223
u8 x4D
Definition types.h:1221
u8 x32
Definition types.h:1212
s32 x34
Definition types.h:1214
u8 x4C
Definition types.h:1220
HSD_GObj * x2C
Definition types.h:1209
s32 x44
Definition types.h:1218
s32 x3C
Definition types.h:1216
s32 x38
Definition types.h:1215
u16 x54
Definition types.h:1228
u8 pad33
Definition types.h:1213
u8 x4E
Definition types.h:1222
Definition types.h:1233
u8 x4
Definition types.h:1238
s32 x10
Definition types.h:1243
s32 x18
Definition types.h:1245
u8 x5
Definition types.h:1239
GXColor x20
Definition types.h:1247
BracketEntrySlot slots[4]
Definition types.h:1254
s32 xC
Definition types.h:1242
u8 pad29[0x2C - 0x29]
Definition types.h:1253
u8 x6
Definition types.h:1240
u8 x26
Definition types.h:1250
u8 x0
Definition types.h:1234
u8 x2
Definition types.h:1236
u8 x1
Definition types.h:1235
u8 x24
Definition types.h:1248
u8 x28
Definition types.h:1252
u8 pad7[0x0C - 0x07]
Definition types.h:1241
u8 x27
Definition types.h:1251
u8 x25
Definition types.h:1249
s32 x14
Definition types.h:1244
f32 x1C
Definition types.h:1246
u8 x3
Definition types.h:1237
Definition types.h:840
HSD_Text * bottom_text
Definition types.h:846
HSD_Text * slot_a
Definition types.h:844
u32 * x0
state? gets set on button presses in OnFrame
Definition types.h:841
HSD_Text * text[3]
Definition types.h:848
HSD_Text * slot_b
Definition types.h:845
Definition types.h:956
u8 human_slot
Definition types.h:959
u8 curr_mode
GameModeKind
Definition types.h:962
u8 prev_mode
GameModeKind
Definition types.h:963
u8 human_nametag
Definition types.h:960
u8 cpu_ckind
Definition types.h:961
u8 human_ckind
Definition types.h:957
u8 human_color
Definition types.h:958
u16 x8
Definition types.h:964
Definition types.h:1003
HSD_JObj * jobjs[39]
Definition types.h:1013
u8 pad200[4]
Definition types.h:1017
PlayerInitData saved_players[4]
Definition types.h:1011
u8 pad08[0xC]
Definition types.h:1010
s16 stage_id
Definition types.h:1009
u8 pad04[2]
Definition types.h:1008
s32 menu_values[7]
Definition types.h:1015
u8 x01
Definition types.h:1005
s32 anim_frames[39]
Definition types.h:1014
u8 x03
Definition types.h:1007
u8 x00
Definition types.h:1004
HSD_Text * text
Definition types.h:1016
HSD_GObj * gobj
Definition types.h:1012
u8 pad02
Definition types.h:1006
Definition types.h:42
u32 ckind
Definition types.h:47
int xC
Definition types.h:46
u16 x18
Definition types.h:51
u16 x16
Definition types.h:50
u32 x0
Definition types.h:43
u8 slot
Definition types.h:48
u32 x8
Definition types.h:45
int x4
Definition types.h:44
u8 x15
Definition types.h:49
Definition debugconsole_main.c:70
Definition types.h:138
s32 run_distance
Definition types.h:155
s32 damage_taken
Definition types.h:146
s32 x88
Definition types.h:182
UnkFlagStruct x7A
Definition types.h:163
u16 b10_to_12
stocks
Definition types.h:174
u16 xA0
Definition types.h:188
s32 walk_distance
Definition types.h:154
s32 coins_lost
Definition types.h:160
u16 losses
Definition types.h:151
s32 xA8
Definition types.h:191
s32 peak_height
Definition types.h:157
struct FighterData::@267137057300213272007246341163136257076107061222 x7C
s32 damage_recovered
Definition types.h:147
u16 b0
Definition types.h:166
u16 b1
Definition types.h:167
u16 b6
Definition types.h:172
u16 peak_damage
Definition types.h:148
u16 b5
Definition types.h:171
s8 x83
Definition types.h:180
s8 x78
Definition types.h:161
s32 coins_collected
Definition types.h:158
u16 b2
Definition types.h:168
u32 total_player_count
Definition types.h:153
s32 x84
Definition types.h:181
u32 attacks_total
Definition types.h:144
u16 b3
Definition types.h:169
u32 x94
Definition types.h:185
s32 fall_distance
Definition types.h:156
u16 victories
Definition types.h:150
s8 x7B
Definition types.h:164
u16 xA2
Definition types.h:189
s32 coins_swiped
Definition types.h:159
u16 x7E
Definition types.h:176
u8 padding_0x36[2]
Definition types.h:142
s32 x98
Definition types.h:186
u8 x80
Definition types.h:177
u8 x82
Definition types.h:179
u16 b13_to_15
stocks
Definition types.h:175
u32 attacks_hit
Definition types.h:143
u8 padding_0x32[2]
Definition types.h:140
u16 fighter_kos[SELKIND_COUNT]
Definition types.h:139
u16 b4
Definition types.h:170
u8 x81
Definition types.h:178
u16 sd_count
Definition types.h:141
s32 xA4
Definition types.h:190
u32 play_time
Definition types.h:152
s32 x9C
Definition types.h:187
u16 match_count
Definition types.h:149
s32 x8C
Definition types.h:183
u16 b789
stocks
Definition types.h:173
s32 damage_dealt
Definition types.h:145
s8 x79
Definition types.h:162
s32 x90
Definition types.h:184
Definition GXStruct.h:29
Definition types.h:88
void * exit_data
data passed to GameScene::on_exit
Definition types.h:99
void * enter_data
data passed to GameScene::on_enter
Definition types.h:98
u8 scene_kind
The GameSceneKind associated with this scene.
Definition types.h:97
Definition types.h:73
void(* on_exit)(GameModeState *)
Definition types.h:86
u8 id
Scene graph index searched against GameRouting::curr_scene_idx during scene graph traversal.
Definition types.h:81
u16 flags
Definition types.h:83
struct GameModeState::GameSceneInfo info
u8 preload
lbDvdPreloadKind
Definition types.h:82
void(* on_enter)(GameModeState *)
Definition types.h:85
Definition types.h:104
u8 preloaded
bool
Definition types.h:105
void(* on_init)(void)
Definition types.h:110
void(* on_load)(void)
Definition types.h:108
void(* on_unload)(void)
Definition types.h:109
GameModeState * states
Definition types.h:112
u8 kind
GameModeKind
Definition types.h:106
Definition types.h:128
s8 sound_balance
Definition types.h:132
u64 item_mask
Definition types.h:130
u8 saved_language
Definition types.h:134
u8 rumble_enabled[PAD_MAX_CONTROLLERS]
Definition types.h:131
u8 item_freq
Definition types.h:129
u8 deflicker
Definition types.h:133
u32 stage_mask
Definition types.h:135
Definition types.h:229
u8 handicap
Definition types.h:235
u8 unk_xc
Definition types.h:242
u8 mode
Definition types.h:232
u8 time_limit
Definition types.h:233
u8 x12
Definition types.h:248
u8 xE
Definition types.h:244
u8 friendly_fire
Definition types.h:239
u8 force_main_menu
Definition types.h:230
u8 damage_ratio
Definition types.h:236
u8 xF
Definition types.h:245
u8 unk_x10
Definition types.h:246
u8 bgm
Definition types.h:231
u8 pause
Definition types.h:240
u8 xD
Definition types.h:243
u8 x13
Definition types.h:249
u8 score_display
Definition types.h:241
u8 stock_time_limit
Definition types.h:238
s32 unk_14
Definition types.h:250
u8 stock_count
Definition types.h:234
u8 x11
Definition types.h:247
u8 stage_sel
StageSelectMode
Definition types.h:237
Definition types.h:116
u8 kind
GameSceneKind
Definition types.h:117
void(* on_enter)(void *)
Definition types.h:122
void(* on_exit)(void *)
Definition types.h:123
UNUSED UNK_T unused
Definition types.h:124
void(* on_frame)(void)
Referenced from gm_801A4014 when passed to gm_801A4D34.
Definition types.h:120
Definition cobj.h:37
Definition gobj.h:13
Definition jobj.h:104
Definition sislib.h:46
Definition types.h:1049
u8 x6
Definition types.h:1056
u8 pad2[0x10]
Definition types.h:1065
u8 xA
Definition types.h:1060
u8 x1
Definition types.h:1051
u8 x7
Definition types.h:1057
u8 x8
Definition types.h:1058
u8 xB
Definition types.h:1061
u8 xF
Definition types.h:1064
u8 x0
Definition types.h:1050
u8 x3
Definition types.h:1053
u16 xC_counter
Definition types.h:1062
u8 x2
Definition types.h:1052
u8 x4
Definition types.h:1054
u8 x5
Definition types.h:1055
u8 x9
Definition types.h:1059
u8 xE
Definition types.h:1063
Definition types.h:1068
u8 x44[4]
Definition types.h:1091
struct Lbl804799D8_t::@145243347034270111130300100222055361241335230111 x2A[4]
Vec3 x64
Definition types.h:1097
u8 x1A
Definition types.h:1075
u8 x1C
Definition types.h:1077
Vec3 x70
Definition types.h:1098
u8 cur
Definition types.h:1084
u8 state
Definition types.h:1086
u8 x21[4]
Definition types.h:1079
u8 end
Definition types.h:1085
u8 done
Definition types.h:1087
u8 x25[4]
Definition types.h:1080
u8 x29
Definition types.h:1081
u8 start
Definition types.h:1083
u8 x4E[20]
Definition types.h:1095
u32 x4
Definition types.h:1070
u32 x0
Definition types.h:1069
u8 x1B
Definition types.h:1076
u8 _pad2[4]
Definition types.h:1099
u16 x12[4]
Definition types.h:1074
s32 x8
Definition types.h:1071
u8 loop
Definition types.h:1088
u8 x1D[4]
Definition types.h:1078
u8 _pad1[2]
Definition types.h:1096
struct MatchEnd * x48
Definition types.h:1092
u8 _pad0[2]
Definition types.h:1090
u8 x4D
Definition types.h:1094
u16 x10
Definition types.h:1073
u8 x4C
Definition types.h:1093
s32 xC
Definition types.h:1072
Definition types.h:633
u8 outcome
MatchOutcome
Definition types.h:635
u8 winners[GM_MAX_PLAYERS]
Definition types.h:644
u8 n_winners
Definition types.h:641
u8 n_team_winners
Definition types.h:642
s8 sd_penalty
Definition types.h:640
u8 _x448[4]
Definition types.h:648
u32 x0
timer
Definition types.h:634
u32 frame_count
Definition types.h:639
u8 loser
Definition types.h:643
struct UnkResultPlayerData x44C[6]
Definition types.h:649
u8 is_teams
Definition types.h:637
u8 x7
Definition types.h:638
struct MatchTeamData team_standings[GM_MAX_TEAMS]
Definition types.h:646
u8 match_kind
MatchKind
Definition types.h:636
u8 team_winners[GM_MAX_TEAMS]
Definition types.h:645
struct MatchPlayerData player_standings[GM_MAX_PLAYERS]
Definition types.h:647
Definition types.h:653
MatchEnd match_end
Definition types.h:657
int x8
Definition types.h:656
int x0
Definition types.h:654
u32 x4
remaining time shown on timer, in frames
Definition types.h:655
Definition types.h:566
u32 x88
Definition types.h:617
u32 x5C
Definition types.h:606
int x9C
Definition types.h:622
u16 kills[4]
Definition types.h:587
u8 x35_pad[0x38 - 0x35]
Definition types.h:596
u8 x34
Definition types.h:595
int x24
Definition types.h:591
s8 ftkind
FighterKind
Definition types.h:569
u16 percent
Definition types.h:585
u8 is_small_loser
Definition types.h:580
u32 x3C
Definition types.h:598
s32 x1C
Definition types.h:589
u32 x7C
Definition types.h:614
u32 x78
Definition types.h:613
u32 x80
Definition types.h:615
u32 x58
Definition types.h:605
s8 ckind
CharacterKind
Definition types.h:568
int score
Definition types.h:593
u8 x3_b7
Definition types.h:574
u32 x84
Definition types.h:616
u32 x4C
Definition types.h:602
u8 x9
Definition types.h:583
u8 pkind
Gm_PKind
Definition types.h:567
u32 x64
Definition types.h:608
int xA0
Definition types.h:623
u16 x18
Definition types.h:588
u8 team
Definition types.h:581
u32 x48
Definition types.h:601
u16 self_destructs
Definition types.h:584
u32 x28
Definition types.h:592
u8 x3
Definition types.h:576
u32 x90
Definition types.h:619
u32 x40
Definition types.h:599
u32 x54
Definition types.h:604
u32 x50
Definition types.h:603
u32 x38
Definition types.h:597
u8 x3_b0
Definition types.h:572
u32 x20
Definition types.h:590
u32 x8C
Definition types.h:618
u8 x4
Definition types.h:578
u32 x60
Definition types.h:607
u32 x98
Definition types.h:621
u32 x70
Definition types.h:611
u8 x3_b6
Definition types.h:573
u32 x74
Definition types.h:612
u32 x94
Definition types.h:620
s8 stocks
Definition types.h:582
u16 xE
Definition types.h:586
u8 is_big_loser
Definition types.h:579
u32 x68
Definition types.h:609
u32 xA4
Definition types.h:624
u32 x6C
Definition types.h:610
u32 x30
Definition types.h:594
u32 x44
Definition types.h:600
Definition types.h:557
u8 active
Definition types.h:562
u8 is_small_loser
Definition types.h:561
int score
Definition types.h:558
int subscore
Definition types.h:559
u8 is_big_loser
Definition types.h:560
data passed to OnLoad callback for GM_MENU
Definition types.h:973
u8 menu_kind
will set the next menu kind
Definition types.h:974
u8 hovered_selection
will set the next hovered selection
Definition types.h:975
u8 load_assets
checks if the assets need to be loaded or not
Definition types.h:977
s8 x3
Definition types.h:978
data passed to OnLeave callback for GM_MENU
Definition types.h:983
s8 pending_mode
will set the next game mode
Definition types.h:984
u8 _1[0x3]
Definition types.h:985
Definition types.h:814
s16 victories
Definition types.h:824
bool rumble_toggle
Definition types.h:836
s32 attacks_total
Definition types.h:818
s16 losses
Definition types.h:825
s32 lost_coins
Definition types.h:834
s32 damage_taken
Definition types.h:820
s32 flight_distance
Definition types.h:831
s16 matches
Definition types.h:823
s32 attacks_hit
Definition types.h:817
s32 damage_given
Definition types.h:819
void * x198
Definition types.h:837
s32 x114
Definition types.h:827
s32 swiped_coins
Definition types.h:833
s32 coin_points
Definition types.h:832
s32 damage_recovered
Definition types.h:821
s32 play_time
Definition types.h:826
s32 drop_distance
Definition types.h:830
s32 jump_distance
Definition types.h:829
s32 self_destructs
Definition types.h:816
s32 ground_distance
Definition types.h:828
s16 peak_damage
Definition types.h:822
Definition types.h:225
struct NameTagData inner[19]
Definition types.h:226
Definition types.h:195
u32 play_time
Definition types.h:208
u16 vs_kos[120]
Definition types.h:196
u16 sd_count
Definition types.h:197
char namedata[8]
Definition types.h:218
u8 padding_0xF2[2]
Definition types.h:198
s32 damage_taken
Definition types.h:202
s32 peak_height
Definition types.h:213
u16 peak_damage
Definition types.h:204
u16 victories
Definition types.h:206
s32 run_distance
Definition types.h:211
s32 coins_lost
Definition types.h:216
s32 fall_distance
Definition types.h:212
s32 damage_recovered
Definition types.h:203
u32 play_time_by_fighter[SELKIND_COUNT]
Definition types.h:217
u16 losses
Definition types.h:207
s32 coins_swiped
Definition types.h:215
s8 x1A0
Definition types.h:219
s32 walk_distance
Definition types.h:210
s32 damage_dealt
Definition types.h:201
u8 padding_x1A2
Definition types.h:222
u8 rumble_enabled
Definition types.h:220
u16 match_count
Definition types.h:205
u32 total_player_count
Definition types.h:209
u32 attacks_hit
Definition types.h:199
s8 x1A2
Definition types.h:221
s32 coins_collected
Definition types.h:214
u32 attacks_total
Definition types.h:200
Definition types.h:446
u8 x1_b5
Definition types.h:458
u8 x1_b3
Definition types.h:456
u8 x2_b4
Definition types.h:465
u8 x2_b2
Definition types.h:463
u8 x1_b1
Definition types.h:454
u8 x0_b4
Definition types.h:449
u8 x0_b6
Definition types.h:451
u8 x1_b2
Definition types.h:455
u8 x2_b6
Definition types.h:467
u8 x0_b3
Definition types.h:448
u8 x2_b1
Definition types.h:462
u8 x1_b0
Definition types.h:453
u8 x1_b4
Definition types.h:457
u8 x1_b7
Definition types.h:460
u8 x2_b5
Definition types.h:466
u8 x0_b7
Definition types.h:452
u8 x2_b3
Definition types.h:464
u8 x0_b0_b2
Definition types.h:447
u8 x2_b0
Definition types.h:461
u8 x0_b5
Definition types.h:450
u8 x1_b6
Definition types.h:459
u8 x2_b7
Definition types.h:468
Definition types.h:97
Definition types.h:909
s32 x8
Definition types.h:924
Vec3 x4C[6]
Definition types.h:936
u8 x0_4
Definition types.h:913
f32 xC
Definition types.h:925
u8 x3
Definition types.h:920
u8 x0_7
Definition types.h:916
HSD_JObj * x24
Definition types.h:931
HSD_GObj * x18
main proc?
Definition types.h:928
MatchEnd * x94
Definition types.h:937
u8 x5
team winner?
Definition types.h:922
HSD_JObj * x34[6]
Definition types.h:935
HSD_Text * x2C
Definition types.h:933
HSD_JObj * x30
Definition types.h:934
u8 x0_5
Definition types.h:914
u8 x4
winner?
Definition types.h:921
struct ResultsPlayerData player_data[6]
Definition types.h:938
u8 x0_6
Definition types.h:915
u8 num_pages
Definition types.h:919
HSD_JObj * x20
winner logo?
Definition types.h:930
u8 x0_23
phase (0=idle, 1=init, 2=active)
Definition types.h:912
u8 x0_1
Definition types.h:911
u8 x6
also winner?
Definition types.h:923
HSD_JObj * x28
Definition types.h:932
u8 x1
some sort of state
Definition types.h:918
SceneDesc * flmsce
Definition types.h:927
HSD_CObj * cobj
Definition types.h:929
u8 x0_0
Definition types.h:910
SceneDesc * pnlsce
Definition types.h:926
Definition types.h:661
int x4
Definition types.h:665
u8 x0_0
Definition types.h:662
MatchEnd match_end
Definition types.h:666
u8 x0_1
Definition types.h:663
u8 x1
Definition types.h:664
Definition types.h:886
u8 x0_4
Definition types.h:891
f32 scroll_offset
Definition types.h:895
HSD_JObj * jobjs[15]
Definition types.h:905
HSD_GObj * fighter_gobj
Definition types.h:896
u16 x2
Definition types.h:894
u8 x0_0
confirmed flag
Definition types.h:887
HSD_Text * ko_time
Definition types.h:904
u8 x0_2
Definition types.h:889
Vec3 stats_position
Definition types.h:906
u8 x0_3
Definition types.h:890
u8 page
Definition types.h:893
HSD_Text * ko_count
Definition types.h:903
HSD_Text * stats_text[3][10]
3 pages with 10 entries?
Definition types.h:898
u8 x0_567
Definition types.h:892
HSD_GObj * camera
Definition types.h:897
u8 x0_1
Definition types.h:888
The basis of a rendered scene, like a stage, menu, or HUD overlay.
Definition types.h:24
Definition types.h:155
Start/end/loop anim frame triplet for one tournament model anim state.
Definition types.h:1190
u16 end
Definition types.h:1192
u16 loop
Definition types.h:1193
u16 start
Definition types.h:1191
Definition types.h:1103
u8 b
Definition types.h:1115
u8 pad_x14[0x18 - 0x14]
Definition types.h:1110
u8 x1
Definition types.h:1118
u8 x18[4]
Definition types.h:1111
u16 x6[4]
Definition types.h:1106
u8 x10[4]
Definition types.h:1109
u16 x4
Definition types.h:1105
u8 a
Definition types.h:1114
u8 pad_x3C[0x40 - 0x3C]
Definition types.h:1123
struct TmAnimTimers::@351370045022141114227334374234130164223363266331 x1D[4]
per-player jobj/anim states
u8 x38[4]
Definition types.h:1122
u8 xE
Definition types.h:1107
u8 c
Definition types.h:1116
u8 x1C
Definition types.h:1112
u32 x0
Definition types.h:1104
u8 x2
Definition types.h:1119
u8 xF
Definition types.h:1108
u8 pad_x35[0x38 - 0x35]
Definition types.h:1121
Definition types.h:1042
void * box4
Definition types.h:1045
void * box2
Definition types.h:1043
void * box3
Definition types.h:1044
Definition types.h:771
u16 x9
Definition types.h:781
u8 x1
Definition types.h:773
u8 x0
Definition types.h:772
u8 x3
Definition types.h:775
u8 xC
Definition types.h:783
u8 x6
Definition types.h:778
u8 x7
Definition types.h:779
u8 xB
Definition types.h:782
u8 xD
Definition types.h:784
u8 xE
Definition types.h:785
u8 x2
Definition types.h:774
u8 xF
Definition types.h:786
u8 x8
Definition types.h:780
u8 pad_X10[0x12 - 0x10]
Definition types.h:787
u8 x4
Definition types.h:776
u8 x5
Definition types.h:777
Definition types.h:793
u8 x4
CPU level.
Definition types.h:798
u8 x1
CSSIconHud.
Definition types.h:795
u8 x3
color
Definition types.h:797
u16 x6
Definition types.h:800
u8 x5
Definition types.h:799
u8 x2
Definition types.h:796
u8 x0
slot type
Definition types.h:794
u8 pad_x4[0xA - 0x8]
Definition types.h:801
Definition types.h:747
u8 x2C
Definition types.h:759
HSD_Text * x500[6]
Definition types.h:806
u8 x2E
Definition types.h:761
HSD_Text * x4E8[6]
Definition types.h:805
int cpu_level
Definition types.h:754
int hmn_cpu_count
Definition types.h:752
HSD_Text * x4E4
Definition types.h:804
int match_type
Definition types.h:749
struct TmData::TmUnkMenuData x37[64]
u8 x2D
Definition types.h:760
u8 x2F
Definition types.h:762
u8 pad_x540[0x574 - 0x540]
Definition types.h:810
int x20
Definition types.h:756
struct TmData::UnkSelections x4B8[4]
HSD_Text * x534[3]
Definition types.h:809
int cur_option
Definition types.h:748
HSD_Text * x524[4]
Definition types.h:808
int entrants
Definition types.h:751
HSD_Text * x4E0
Definition types.h:803
u8 x30
Definition types.h:763
u8 pad_x4B7[0x4B8 - 0x4B7]
Definition types.h:792
u8 x31
Definition types.h:764
int combatants
Definition types.h:750
s32 x1C
Definition types.h:755
int stage_selection_type
Definition types.h:753
int x24
Definition types.h:757
u8 x32
Definition types.h:765
u8 x33
Definition types.h:766
HSD_Text * x518[3]
Definition types.h:807
u32 x28
stage id
Definition types.h:758
u8 pad_x34[0x37 - 0x34]
Definition types.h:767
Definition types.h:1180
u8 pad_0[0x40]
Definition types.h:1181
u8 min[6][2]
Definition types.h:1182
u8 max[6][2]
Definition types.h:1183
Definition types.h:852
StKind stkind
Definition types.h:853
Gm_PKind slot_type[4]
Definition types.h:854
u32 color[4]
Definition types.h:856
u32 char_id[4]
Definition types.h:855
Definition types.h:1020
s32 pad_6C[2]
Definition types.h:1024
s32 mode
Definition types.h:1022
s32 char_data[25]
Definition types.h:1023
s32 count
Definition types.h:1021
PlayerInitData players[4]
Definition types.h:1025
s32 result_cache[4]
Definition types.h:1026
s8 ckind
Definition types.h:702
float attack_ratio
Definition types.h:706
float defense_ratio
Definition types.h:707
u8 cpu_level
Definition types.h:704
u8 cpu_kind
Definition types.h:705
u8 color
Definition types.h:703
Definition types.h:688
u8 xC
Definition types.h:689
u8 x12
Definition types.h:695
u8 xD
Definition types.h:690
u8 x13
Definition types.h:696
int x1C
Definition types.h:699
u8 xE
Definition types.h:691
u8 xF
Definition types.h:692
u32 x20
Definition types.h:700
u16 x14
Definition types.h:697
u8 x11
Definition types.h:694
u8 x10
Definition types.h:693
int x18
Definition types.h:698
Definition types.h:682
u8 xA
Definition types.h:686
float(* x64)(u8, u8)
Definition types.h:717
struct gmPlayerData x0
Definition types.h:683
u8(* x58)(u8, u8, u8)
Definition types.h:714
u8(* x54)(u8, u8, u8)
Definition types.h:713
u8 x8
Definition types.h:684
float(* x70)(u8, u8)
Definition types.h:720
u8(* x4C)(u8, u8, u8)
Definition types.h:711
u8 xB
Definition types.h:687
float(* x6C)(u8, u8)
Definition types.h:719
u8(* x48)(u8, u8)
Definition types.h:710
u8(* x50)(u8, u8, u8)
Definition types.h:712
u8(* x60)(u8, u8, u8)
Definition types.h:716
float(* x68)(u8, u8)
Definition types.h:718
u8 x9
Definition types.h:685
u8(* x5C)(u8, u8, u8)
Definition types.h:715
Definition types.h:723
u8 x78
Definition types.h:729
s8 pad_x79[0x7C - 0x79]
Definition types.h:730
u8 x77
Definition types.h:728
u8 x75
Definition types.h:726
u8 x76
Definition types.h:727
struct Unk1PData x0
Definition types.h:724
s8 pad_x7D[0x80 - 0x7D]
Definition types.h:732
u8 x74
Definition types.h:725
u8 x7C
CharacterKind.
Definition types.h:731
Definition types.h:736
u16 x74
current percent
Definition types.h:738
u8 x90[4]
Definition types.h:740
u8 _94[2]
Definition types.h:741
struct Unk1PData x0
Definition types.h:737
u8 x76[CKind_Playable_Count]
character id array
Definition types.h:739
u32 x9C
current time (frames)
Definition types.h:743
u8 x96[6]
Definition types.h:742
Definition types.h:36
u16 x2
Definition types.h:38
int x4
Definition types.h:39
u16 x0_0
Definition types.h:37
Definition types.h:628
u8 x0[0x101]
Definition types.h:629
int x104[0x101]
Definition types.h:630
Definition types.h:967
u8 human_slot
Definition types.h:969
u8 cpu_ckind
CharacterKind
Definition types.h:968
Definition types.h:264
Definition types.h:1327
struct VsSceneState state
Definition types.h:1328
struct StartMeleeRules start
Definition types.h:1329
Definition types.h:482
u8 x4_b6
Definition types.h:495
u8 x4_b4
Zelda/Sheik transforming on load.
Definition types.h:493
u8 x8
Definition types.h:502
u8 x4_b1
Definition types.h:490
u8 x4_b2
invisible
Definition types.h:491
u16 x6
Definition types.h:501
u8 respawn_timer
Definition types.h:504
u8 x1
Definition types.h:484
u8 xB
Definition types.h:505
u8 x5
Definition types.h:500
u8 x4_b5
Definition types.h:494
u8 x4_b0
metal
Definition types.h:489
u8 x9
Definition types.h:503
u8 x4_b3
Definition types.h:492
struct lbl_8046B6A0_FighterMatchInfoFlags flags
Definition types.h:498
u8 slot_type
Definition types.h:485
u8 x4_b7
Definition types.h:496
s8 spawn_point
Definition types.h:486
u16 xC
Definition types.h:506
u8 x0
CharacterKind.
Definition types.h:483
Definition types.h:1281
MatchEnd x24C
Definition types.h:1324
u32 timer_seconds
Definition types.h:1317
u8 unpause_timer
Frames remaining before pause input is accepted after unpausing.
Definition types.h:1294
char pad_8C[0x24C - 0x8C]
Definition types.h:1323
u8 unk_C
Definition types.h:1307
u32 * unk_20
Definition types.h:1315
u8 unk_30
Definition types.h:1320
u8 unk_D
Definition types.h:1308
s8 pauser
Definition types.h:1287
u32 * unk_1C
Definition types.h:1314
u16 unk_2E
Definition types.h:1319
u8 unk_B
Definition types.h:1306
u8 unk_9
Definition types.h:1303
u16 unk_2C
timer frames
Definition types.h:1318
u8 is_singleplayer
Definition types.h:1300
u8 unk_A
Definition types.h:1305
u8 unk_0
0 During a match 1 While GAME!
Definition types.h:1282
u8 unk_18
Definition types.h:1313
s32 unk_14
Definition types.h:1312
u8 unk_3
Definition types.h:1292
u8 match_over
Definition types.h:1309
f32 unk_34
Definition types.h:1321
u8 unk_F
Definition types.h:1310
s32 unk_10
Definition types.h:1311
struct VsSceneFighter fighters[GM_MAX_PLAYERS]
Definition types.h:1322
u8 hud_enabled
Definition types.h:1298
u8 match_result
MatchOutcome Sticky, stays until a new match starts.
Definition types.h:1301
u32 frame_count
Definition types.h:1316
u8 terminate_match
Definition types.h:1299
u8 pause_timer
Frames remaining before unpause input is accepted after pausing.
Definition types.h:1289
Definition types.h:509
u8 hour
Definition types.h:511
u8 second
Definition types.h:511
u8 minute
Definition types.h:511
u8 day
Definition types.h:511
u16 year
Definition types.h:510
u8 month
Definition types.h:511
Definition gmclassic.c:19
Definition types.h:514
s32 x30
Definition types.h:530
s32 x38
Definition types.h:532
s32 x24
Definition types.h:527
s16 x2
Definition types.h:516
s16 x1E
Definition types.h:525
s16 x0
Definition types.h:515
s16 x1C
Definition types.h:524
s32 x40
Definition types.h:534
s32 xC
Definition types.h:519
s16 x1A
Definition types.h:523
s32 x14
Definition types.h:521
s32 x8
Definition types.h:518
s32 x10
Definition types.h:520
s32 x3C
Definition types.h:533
s16 x18
Definition types.h:522
s32 x4
Definition types.h:517
s32 x2C
Definition types.h:529
s32 x28
Definition types.h:528
s32 x20
Definition types.h:526
s32 x34
Definition types.h:531
Definition types.h:544
int x10
Definition types.h:549
int x14
Definition types.h:549
bool skip_intro
Skips the opening movie when booting.
Definition types.h:545
bool xC
Definition types.h:548
bool progressive
true = progressive, false = interlaced
Definition types.h:547
bool resetting
reset switch pressed
Definition types.h:546
Definition types.h:671
u8 color
Definition types.h:673
u8 stocks
Definition types.h:677
s8 ckind
Definition types.h:672
u8 nametag
Definition types.h:676
u8 cpu_level
Definition types.h:674
u8 x6
Definition types.h:678
u8 mode
Definition types.h:679
u8 slot
Definition types.h:675
Definition types.h:864
u8 x2
Definition types.h:867
u8 x1
Definition types.h:866
void(* pre_gobj_proc)(void)
Definition types.h:872
struct gm_DbPauseInputHandlers db_input
Definition types.h:869
u8 x0
Definition types.h:865
u8 unk_38_0
Definition types.h:874
u64 unk_28
Definition types.h:871
u8 unk_38_1
Definition types.h:875
u8 x3
Definition types.h:868
int unk_34
Definition types.h:873
u64 unk_20
Definition types.h:870
Definition types.h:537
u8 x1
Definition types.h:539
u8 x0
Definition types.h:538
u8 _1[0xC - 0x2]
Definition types.h:540
Definition types.h:1274
u32 x0
Definition types.h:1275
u8 pad_x8[0x14 - 0x8]
Definition types.h:1277
u32 x14
Definition types.h:1278
s32 x4
Definition types.h:1276
Definition types.h:991
u8 x8
Definition types.h:998
u8 x2
Definition types.h:994
u16 x6
Definition types.h:997
u8 pad09[3]
Definition types.h:999
u8 x1
Definition types.h:993
u8 pad03
Definition types.h:995
struct gmClassicMatchup * xC
Definition types.h:1000
u16 x4
Definition types.h:996
u8 x0
Definition types.h:992
Definition types.h:942
u8 x8
Definition types.h:948
u8 xD
Definition types.h:951
u16 x4
Definition types.h:946
u8 xE
Definition types.h:952
u8 x0
Definition types.h:943
u16 x2
Definition types.h:945
u8 x1
Definition types.h:944
s8 xA[3]
CharacterKind (opponents?).
Definition types.h:950
u8 xF
Definition types.h:953
u16 x6
Definition types.h:947
u8 x9
Definition types.h:949
Definition types.h:552
void(* x4)(int)
Definition types.h:554
void(* x0)(HSD_GObj *)
Definition types.h:553
Definition types.h:878
int unk_C
Definition types.h:882
u32 unk_8
Definition types.h:881
struct gm_801677C0_s unk_10
Definition types.h:883
u32 unk_4
Definition types.h:880
u32 unk_0
Definition types.h:879
Definition types.h:1029
u8 unk_9
Definition types.h:1033
char pad_B[1]
Definition types.h:1035
s8 unk_E
Definition types.h:1037
u8 unk_A
Definition types.h:1034
u16 unk_C
GrKind.
Definition types.h:1036
u8 c_kind[4]
Definition types.h:1030
char pad_F[1]
Definition types.h:1038
u8 unk_8
Definition types.h:1032
u8 x4[4]
Definition types.h:1031
Definition types.h:859
Predicate check_pause
Definition types.h:860
Predicate check_framestep
Definition types.h:861
Definition types.h:254
s32 x14
Definition types.h:260
s32 xC
Definition types.h:258
u32 x4
Definition types.h:256
u32 x0
Definition types.h:255
s32 x18
Definition types.h:261
s32 x10
Definition types.h:259
u8 padding[0x4]
Definition types.h:257
s32 x1C
Definition types.h:262
Definition types.h:265
s32 x0
Definition types.h:266
s32 x4
Definition types.h:267
Definition types.h:270
u8 padding_x4C[0xB0 - 0x4C - 4 *4]
Definition types.h:279
int x114[SELKIND_COUNT]
Definition types.h:281
s32 x0
Definition types.h:271
int x10
Definition types.h:275
s32 x8
Definition types.h:273
u16 x18[SELKIND_COUNT]
Definition types.h:277
u32 x4
Definition types.h:272
s32 x4C[4]
Definition types.h:278
u32 x14
Definition types.h:276
s32 xB0[SELKIND_COUNT]
Definition types.h:280
u32 xC
Definition types.h:274
Definition types.h:368
u8 x6
Definition types.h:375
u8 xB_7
Definition types.h:387
int x3C
Definition types.h:400
u8 xB_6
Definition types.h:386
u8 xB_1
Definition types.h:381
u8 x7
Definition types.h:376
int x18
Definition types.h:391
u8 xB_2
Definition types.h:382
u8 x38
Definition types.h:399
u8 xB_4
Definition types.h:384
u8 x3
Definition types.h:372
int x2C
Definition types.h:396
float x1C
Definition types.h:392
int x34
Definition types.h:398
int x24
Definition types.h:394
s8 x4C[4]
CharacterKind.
Definition types.h:405
u8 xB_5
Definition types.h:385
s8 x9
Definition types.h:378
u8 nametag
Definition types.h:373
u8 unk_535
Definition types.h:374
int x28
Definition types.h:395
u8 x1
Definition types.h:370
struct gmm_x0::gmm_x0_vsdata::EventData::gmm_x0_584_t unk_584
u8 xB_0
Definition types.h:380
StKind x48
Definition types.h:404
s8 xA
Definition types.h:379
u8 xB_3
Definition types.h:383
s8 x2
Definition types.h:371
s8 x44
Definition types.h:402
int x14
Definition types.h:390
int x30
Definition types.h:397
u8 x45
Definition types.h:403
u8 x0
Definition types.h:369
int xC
Definition types.h:388
int x10
Definition types.h:389
s8 x8
Definition types.h:377
u8 x50[4]
character color
Definition types.h:406
int x40
Definition types.h:401
int x20
Definition types.h:393
u8 nametag
Definition types.h:365
u8 x5
Definition types.h:366
u8 stocks
Definition types.h:362
s8 c_kind
Definition types.h:361
u8 color
Definition types.h:363
u8 cpu_level
Definition types.h:364
Definition types.h:359
struct gmm_x0::gmm_x0_vsdata::gmm_x0_528_t unk_528
struct gmm_x0::gmm_x0_vsdata::EventData unk_530
struct gmm_x0::gmm_x0_vsdata::gmm_x0_528_t unk_522
struct gmm_x0::gmm_x0_vsdata::gmm_x0_528_t unk_51C
Definition types.h:417
VsModeData unk_15D0
unused?
Definition types.h:434
VsModeData unk_1490
multiman, 3/15 min, endless, cruel
Definition types.h:432
VsModeData vs_lightning
lightning melee
Definition types.h:431
VsModeData unk_F90
giant melee
Definition types.h:428
s8 nametags[PAD_MAX_CONTROLLERS]
Definition types.h:418
VsModeData vs_stamina
stamina melee
Definition types.h:429
VsModeData unk_1210
slowmo melee
Definition types.h:430
VsModeData vs_invisible
invisible melee
Definition types.h:422
VsModeData vs_melee
VS melee.
Definition types.h:420
VsModeData vs_fixed_camera
fixed camera mode
Definition types.h:424
VsModeData unk_D10
training mode
Definition types.h:426
VsModeData vs_camera
Definition types.h:423
VsModeData unk_6D0
super sudden death
Definition types.h:421
VsModeData unk_1710
opening movie?
Definition types.h:435
VsModeData unk_E50
tiny melee
Definition types.h:427
VsModeData unk_BD0
single button melee
Definition types.h:425
Definition types.h:346
u32 unk_6C[4]
Definition types.h:354
char pad_48[0x24]
Definition types.h:353
GameRules x1850
Definition types.h:437
u8 pad_6E50[0x8518 - 0x6E50]
Definition types.h:439
struct gmm_x1868 thing
Definition types.h:438
s32 unk_44
Definition types.h:352
char pad_3[0x36]
Definition types.h:350
char pad_7C[0x4A0]
Definition types.h:355
u8 x39[0xB]
Definition types.h:351
u8 unk_1
Definition types.h:348
u8 unk_2
Definition types.h:349
u8 language
Definition types.h:347
struct gmm_x0::gmm_x0_vsdata vs
Definition types.h:298
u32 x0
Definition types.h:299
u8 x5
Definition types.h:301
u8 x6
Definition types.h:302
u8 x4
true/false
Definition types.h:300
Definition types.h:284
u8 padding_x1C88[0x1C]
Definition types.h:336
s32 x1A3C
Definition types.h:313
s32 x1A34
Definition types.h:311
s16 trophy_count
Definition types.h:338
u32 time_matches
Definition types.h:304
u32 stock_matches
Definition types.h:305
struct gmm_retval_EDBC unk_30
Definition types.h:297
s32 x1A58
Definition types.h:320
u32 match_resets
Definition types.h:309
s32 x1A44
Definition types.h:315
s32 x1A5C
Definition types.h:321
u32 bonus_matches
Definition types.h:307
u8 padding_x1A70[0xBC]
Definition types.h:326
s32 x1A4C
Definition types.h:317
u32 x1B58[3]
Definition types.h:331
u8 padding_trophy_flags[0xE]
Definition types.h:341
u32 x1B80[4]
Definition types.h:333
char pad_2D5[3]
Definition types.h:328
s32 x1A50
Definition types.h:318
s32 x1A30
Definition types.h:310
struct gmm_retval_ED98 unk_8
Definition types.h:295
struct NameTagDataBank x2FF8[2]
Definition types.h:343
s64 x1A68
Definition types.h:324
s32 x1A60
Definition types.h:322
u32 coin_matches
Definition types.h:306
int x1A54
Definition types.h:319
s32 x1A38
Definition types.h:312
s32 x1A70[4]
Definition types.h:325
u16 trophy_flags[TY_TROPHY_COUNT]
Definition types.h:340
s32 x1A40
Definition types.h:314
u16 trophy_category_flags
Definition types.h:339
char pad_5[3]
Definition types.h:294
u32 x1C88[3]
Definition types.h:335
struct GamePrefs x1CB0
Definition types.h:337
u8 x1B3C
Definition types.h:327
u8 padding_x1B58[0x1C]
Definition types.h:332
u8 x186C
unlocked features bitmask - score display/random stage etc...
Definition types.h:288
struct FighterData x1F2C[SELKIND_COUNT]
Definition types.h:342
u16 unlocked_characers_bitmask
unlocked characters bitmask
Definition types.h:286
s32 x1A64
Definition types.h:323
u32 x1B40[3]
Definition types.h:329
struct gmm_retval_EDB0 unk_28
Definition types.h:296
struct gmm_x1868::gmm_x1868_1A8_t unk_1A8
u32 x1B4C[3]
Definition types.h:330
u32 stamina_matches
Definition types.h:308
u8 padding_x1B80[0xF8]
Definition types.h:334
u16 x186A
unlocked stages bitmask
Definition types.h:287
u32 x1A48
Definition types.h:316
Definition types.h:1258
u8 x59[0x72 - 0x59]
Definition types.h:1261
u8 x72[0x8C - 0x72]
Definition types.h:1262
u8 x0[0x20]
Definition types.h:1259
u8 x20[0x59 - 0x20]
Definition types.h:1260
Definition types.h:1126
int x0
Definition types.h:1127
int x8
Definition types.h:1127
int x4
Definition types.h:1127
Definition types.h:1265
u8 icon_model_map[0x18]
Definition types.h:1266
u8 pad_0x18[0x1E - 0x18]
Definition types.h:1267
f32 bounce_y[41]
Definition types.h:1270
u8 pad_0xDE[0xE0 - 0xDE]
Definition types.h:1269
u8 rank_thresholds[32][6]
Definition types.h:1268
Definition types.h:1130
f32 x20[0x29]
Definition types.h:1132
u8 x0[0x20]
Definition types.h:1131
Definition types.h:1135
u8 xC
Definition types.h:1148
s8 x3
Definition types.h:1139
char pad_11[0x14 - 0x11]
Definition types.h:1160
u8 xA
Definition types.h:1146
s8 x5
Definition types.h:1141
s8 x124[0x1A6 - 0x124]
Definition types.h:1166
s8 x20[0xA2 - 0x20]
Definition types.h:1164
u8 xF
Definition types.h:1151
s8 x4
Definition types.h:1140
u8 x8
Definition types.h:1144
u8 unk_10_b3
Definition types.h:1155
char pad_1DB[0x1E0 - 0x1DB]
Definition types.h:1176
u8 unk_10_b2
Definition types.h:1154
s8 x1
Definition types.h:1137
u8 unk_10_b6
Definition types.h:1158
u8 x6
Definition types.h:1142
char pad_1BC[0x1C0 - 0x1BC]
Definition types.h:1174
u8 x9
Definition types.h:1145
u8 x1B2
Definition types.h:1171
s8 x2
Definition types.h:1138
u8 unk_10_b7
Definition types.h:1159
s8 x1A6[0x1AC - 0x1A6]
Definition types.h:1167
s8 x1AE[0x1B2 - 0x1AE]
Definition types.h:1170
s8 x1C0[0x1B]
Definition types.h:1175
u8 unk_10_b0
Definition types.h:1152
s8 xA2[0x124 - 0xA2]
Definition types.h:1165
u8 x7
Definition types.h:1143
f32 x1C
Definition types.h:1163
u8 unk_10_b1
Definition types.h:1153
f32 x18
Definition types.h:1162
GmRouteCallback x1B8
Definition types.h:1173
u8 x1AD
Definition types.h:1169
f32 x14
Definition types.h:1161
s8 x0
Definition types.h:1136
u8 x1AC
Definition types.h:1168
u8 xE
Definition types.h:1150
u8 xD
Definition types.h:1149
u8 xB
Definition types.h:1147
s8 x1B3[0x1B8 - 0x1B3]
Definition types.h:1172
u8 unk_10_b5
Definition types.h:1157
u8 unk_10_b4
Definition types.h:1156
u8 x4_b4
Zelda/Sheik transforming on load.
Definition types.h:476
u8 x4_b1
Definition types.h:473
u8 x4_b7
Definition types.h:479
u8 x4_b6
Definition types.h:478
u8 x4_b2
invisible
Definition types.h:474
u8 x4_b3
Definition types.h:475
u8 x4_b5
Definition types.h:477
u8 x4_b0
metal
Definition types.h:472
Definition types.h:55
UNK_T x8
Definition types.h:59
s32 x4
Definition types.h:58
u16 x0
Definition types.h:56
u16 x2
Definition types.h:57
Table of anim frame triplets (raw s32 words in ROM), see fn_8019C048.
Definition types.h:1198
s32 words[9]
Definition types.h:1200
TmAnimFrames states[6]
Definition types.h:1199
Definition types.h:22
u8 b3
Definition types.h:28
u8 b4
Definition types.h:29
u8 b6
Definition types.h:31
u8 b5
Definition types.h:30
u8 b2
Definition types.h:27
u8 b7
Definition types.h:32
u8 b0
Definition types.h:25
u8 u8
Definition types.h:23
u8 b1
Definition types.h:26