SSBM Decomp
Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1#ifndef MELEE_GR_TYPES_H
2#define MELEE_GR_TYPES_H
3
4#include <placeholder.h>
5#include <platform.h>
6
7#include "mp/forward.h"
8#include <melee/cm/forward.h>
9#include <melee/gr/forward.h>
10#include <melee/it/forward.h>
11#include <melee/lb/forward.h>
12#include <melee/sc/forward.h>
14
15#include <dolphin/gx.h>
16#include <dolphin/mtx.h>
17
18typedef struct StageBlastZone {
19 f32 left; // 0x74
20 f32 right; // 0x78
21 f32 top; // 0x7C
22 f32 bottom; // 0x80
24
28typedef struct StageCameraInfo {
30 f32 cam_x_offset; // 0x10
31 f32 cam_y_offset; // 0x14
32 f32 cam_vertical_tilt; // 0x18
33 f32 cam_pan_degrees; // 0x1C
34 f32 x20; // 0x20
35 f32 x24; // 0x24
36 f32 cam_track_ratio; // 0x28
37 f32 cam_fixed_zoom; // 0x2C
38 f32 cam_track_smooth; // 0x30
39 f32 cam_zoom_rate; // 0x34
40 f32 cam_max_depth; // 0x38
41 f32 x3C; // 0x3C
42 f32 pausecam_zpos_min; // 0x40
43 f32 pausecam_zpos_init; // 0x44
44 f32 pausecam_zpos_max; // 0x48
45 f32 cam_angle_up; // 0x4C
46 f32 cam_angle_down; // 0x50
47 f32 cam_angle_left; // 0x54
48 f32 cam_angle_right; // 0x58
49 Vec3 fixed_cam_pos; // 0x5C - 0x64
50 f32 fixed_cam_fov; // 0x68
54
55struct StageInfo {
56 StageCameraInfo cam_info; // 0x00 - 0x70
57 StageBlastZone blast_zone; // 0x74 - 0x80
58
59 u32 flags; // 0x84
60
62
63 struct {
64 u8 b0 : 1;
65 u8 b1 : 1;
66 u8 b2 : 1;
67 u8 b3 : 1;
68 u8 b4 : 1;
69 u8 b5 : 1;
70 u8 b6 : 1;
71 u8 b7 : 1;
73 bool (*x90)(Vec3*, int);
74 bool (*x94)(Vec3*, int);
75 s32 x98;
76 u32 x9C;
77 u8 xA0[4];
78 u8 xA4_pad[0x12C - 0xA4];
81 DynamicsDesc* (*x178)(int);
82 bool (*x17C)(Vec3*, int, HSD_JObj*);
84 u8 x190_pad[0x280 - 0x190];
86 void* x694[4];
87 void* x6A4;
88 /* +6A8 */ struct {
89 s32 unk0;
93 /* +6B0 */ UnkStage6B0* param;
94 /* +6B4 */ UNK_T** ald_yaku_all;
95 /* +6B8 */ void* map_ptcl;
96 /* +6BC */ void* map_texg;
97 /* +6C0 */ void* yakumono_param;
98 /* +6C4 */ void* map_plit;
99 /* +6C8 */ void* x6C8;
101 s16 x6D0;
102 s16 x6D2;
103 s16 x6D4;
104 s16 x6D6;
105 s32 x6D8;
106 s16 x6DC;
107 s16 x6DE;
108 f32 x6E0;
109 int x6E4[2];
110 u8 x6EC_pad[0x708 - 0x6EC];
111 s16 x708;
112 f32 x70C;
113 f32 x710;
114 s32 x714;
115 f32 x718;
116 f32 x71C;
117 s32 x720;
118 f32 x724;
119 f32 x728;
121 Vec3 x730;
122 f32 x73C;
123 s32 x740;
124 u8 x744_pad[0x748 - 0x744];
125};
126
127typedef struct StageCallbacks {
128 /* +0 */ void (*callback0)(Ground_GObj*);
130 /* +8 */ void (*callback2)(Ground_GObj*);
131 /* +C */ void (*callback3)(Ground_GObj*);
132 /* +10 */ union {
133 /* +10 */ u32 flags;
134 struct {
135 /* +10:0 */ u8 flags_b0 : 1;
136 /* +10:1 */ u8 flags_b1 : 1;
137 /* +10:2 */ u8 flags_b2 : 1;
138 /* +10:3 */ u8 flags_b3 : 1;
139 /* +10:4 */ u8 flags_b4 : 1;
140 /* +10:5 */ u8 flags_b5 : 1;
141 /* +10:6 */ u8 flags_b6 : 1;
142 /* +10:7 */ u8 flags_b7 : 1;
143 };
144 };
146
147typedef struct StageData {
150 char* data1;
151 void (*callback0)(void);
152 void (*callback1)(int);
153 void (*OnLoad)(void);
154 void (*OnStart)(void);
155 bool (*callback4)(void);
156 DynamicsDesc* (*callback5)(enum_t);
157 bool (*callback6)(Vec3*, int, HSD_JObj*);
159 S16Vec3* x2C;
160 size_t x30; // size of x2C array
161} StageData;
162
167
169 int xC4;
170 int xC8;
171 int xCC;
172 int xD0;
173 int xD4;
174 int xD8;
175 float xDC;
176};
177
187
197
199 short xC4;
200 short xC6;
201 short xC8;
202 short xCA;
204 float xD0;
205 float xD4;
206 float xD8;
207 float xDC;
208};
209
211 u8 xC4;
212 u8 xC5;
213 u8 xC6;
214 u8 xC7;
215 s16 xC8;
216 s16 xCA;
217 s16 xCC;
218 s16 xCE;
219 s32 xD0;
220 s32 xD4;
221};
222
232
240
242 /* gp+C4 */ f32 xC4;
243 /* gp+C8 */ f32 xC8;
244 /* gp+CC */ f32 xCC;
245 /* gp+D0 */ union {
246 struct {
247 void* keep;
249 } u;
250 /* gp+D4 */ f32 xD4;
251 /* gp+D8 */ f32 xD8;
252 /* gp+DC */ HSD_JObj* xDC;
253 /* gp+E0 */ HSD_JObj* xE0;
254 /* gp+E4 */ s16 xE4;
255 /* gp+E6 */ s16 xE6;
256 /* gp+E8 */ f32 xE8;
257};
258
261 f32 xC8;
262 s16 xCC;
263 s16 xCE;
264 f32 xD0;
265 f32 xD4;
266 f32 xD8;
267 f32 xDC;
268 f32 xE0;
269 f32 xE4;
270 f32 xE8;
271};
272
276 /* gp+C4 */ s16 xC4;
277 /* gp+C6 */ s16 xC6;
278 /* gp+C8 */ s16 xC8;
279 /* gp+CA */ s16 xCA;
282 f32 xD4;
283 f32 xD8;
284 f32 xDC;
285 f32 xE0;
286 f32 xE4;
287 f32 xE8;
288};
289
291 /* + gp+C4 */ u8 x0;
292 /* + gp+C5 */ s8 x1;
293 /* + gp+C8 */ f32 x4;
294 /* + gp+CC */ f32 x8;
295 /* + gp+D0 */ f32 xC;
296};
297
299 u32 xC4_b0 : 1;
300 u32 xC4_b1 : 1;
301 u32 xC8;
302 u32 xCC;
303 f32 xD0;
304 f32 xD4;
305 f32 xD8;
306 f32 xDC;
307 f32 xE0;
308 f32 xE4;
309 f32 xE8;
310 f32 xEC;
311 f32 xF0;
312 f32 xF4;
313 f32 xF8;
314 u32 xFC;
315 u32 x100;
316 u32 x104;
317 u32 x108;
318 u32 x10C;
319 u32 x110;
320 f32 x114;
325 u32 x11C;
330};
331
333 u8 _0[0x10];
334 u32 x10;
335 s32 x14;
336 u32 x18;
337 f32 x1C;
338};
339
341 /* +0 gp+C4 */ HSD_GObj* xC4;
342 /* +0 gp+C4 */ HSD_GObj* xC6;
343 /* +0 gp+C4 */ s16 xC8;
344 /* +0 gp+C4 */ s16 xCA;
345 /* +0 gp+C4 */ s16 xCC;
346 /* +0 gp+C4 */ s16 xCE;
347 // char pad_0[0x0C];
348 /* +0 gp+D8 */ s16 xD0;
349 /* +0 gp+D8 */ f32 xD4;
350 /* +0 gp+D8 */ s16 xD8;
351 /* +0 gp+D8 */ s16 xDA;
352 /* +0 gp+D8 */ s16 xDC;
353 /* +0 gp+D8 */ s16 xDE;
354 /* +0 gp+D8 */ s16 xE0;
355 /* +0 gp+D8 */ f32 xE4;
356 /* +0 gp+D8 */ void* xF4[6];
357};
359 /* +0 gp+C4 */ f32 xC4;
360 /* +0 gp+C4 */ HSD_JObj* xC8;
361 /* +0 gp+C4 */ HSD_JObj* xCC;
362 /* +0 gp+D8 */ HSD_JObj* xD0;
363 /* +0 gp+D8 */ HSD_JObj* xD4;
364 /* +0 gp+D8 */ HSD_JObj* xD8;
365 /* +0 gp+D8 */ HSD_JObj* xDC;
366 /* +0 gp+D8 */ HSD_JObj* xE0;
367 /* +0 gp+D8 */ HSD_JObj* xE4;
368 /* +0 gp+D8 */ HSD_JObj* xE8;
369 /* +0 gp+D8 */ HSD_JObj* xEC;
370 /* +0 gp+D8 */ HSD_JObj* xF0;
371 /* +0 gp+D8 */ HSD_JObj* xF4;
372};
373
374typedef struct grInishie1_Block {
376 s16 x2;
377 s32 x4; // probably a counter
378 f32 x8; // probably a y transform
379 f32 xC; // probably a delta for x8
382 HSD_GObj* hatena_gobj; // named in an assert
384 s16 x20;
385 s16 x22; // probably a timer for when a block first appears and flickers
387
388// TODO: probably mistakes in this and Vars2
389typedef struct grInishie1_GroundVars {
390 union {
391 u32 xC4;
392 struct {
401 };
402 };
403 s16 xC6;
404 s16 xC8;
405 s16 xCA;
406 s16 xCC;
407 s32 xD0;
408 s32 xD4;
409 s32 xD8;
411 f32 xE0;
412 f32 xE4;
413 s16 xE8;
414 s16 xEA;
415 s16 xEC;
416 s16 xEE;
417 f32 xF0;
418 f32 xF4;
419 f32 xF8;
420 f32 xFC;
421 f32 x100;
422 f32 x104;
426
437
438// likely for question mark blocks
444
446 struct {
447 u8 b0 : 1;
448 u8 b1 : 1;
449 u8 b2 : 1;
450 u8 b3 : 1;
451 u8 b4 : 1;
452 u8 b5 : 1;
453 u8 b6 : 1;
454 u8 b7 : 1;
456 s16 xC6;
457 s16 xC8;
458 s16 xCA;
459 s16 xCC;
460 Vec3 xD8;
461};
462
463// likely for Cathrine (Birdo)
469
471 s16 xC4;
472 s16 xC6;
473 struct {
474 u8 b0 : 1;
475 u8 b1 : 1;
476 u8 b2 : 1;
477 u8 b3 : 1;
478 u8 b4 : 1;
479 u8 b5 : 1;
480 u8 b6 : 1;
481 u8 b7 : 1;
483 s16 xCA;
484 Vec3 xCC;
485 Vec3 xD8;
486};
487
489 /* +0 gp+C4:0 */ u8 xC4_b0 : 1;
490 /* +0 gp+C4:1 */ u8 xC4_b1 : 1;
491 /* +0 gp+C8:0 */ u32 xC8;
492 /* +4 gp+CC */ HSD_MObj* xCC;
493 /* +4 gp+D0 */ UnkArchiveStruct* xD0;
494 /* +4 gp+D4 */ float xD4;
495 /* +4 gp+D8 */ int xD8;
496 /* +4 gp+DC */ s16 xDC;
497 /* +4 gp+DE */ s16 xDE;
498 /* +4 gp+E0 */ s16 xE0;
499 /* +4 gp+E2 */ s16 xE2;
500 /* +4 gp+E4 */ HSD_GObj* xE4;
501 /* +4 gp+E8 */ HSD_GObj* xE8;
502};
503
504// Specific to the Pokemon Stadium jumbotron
506 /* C4:0 */ u8 xC4_b0 : 1;
507 /* C4:1 */ u8 xC4_b1 : 1;
508 /* C8 */ HSD_TObj* xC8;
509 /* CC */ HSD_MObj* xCC;
511 /* D4 */ HSD_GObj* xD4;
512 /* D8 */ HSD_GObj* xD8;
513 /* DC */ HSD_GObj* xDC;
514 /* E0 */ int xE0;
515 /* E4 */ s16 xE4;
516 /* E6 */ s16 xE6;
517 /* E8 */ s16 xE8;
518 /* EA */ s16 xEA;
519 /* EC */ s16 xEC;
520 /* EE */ s16 xEE;
521 /* F0 */ s16 xF0;
522 /* F2 */ s16 xF2;
523 /* F4 */ CmSubject* xF4;
524 /* F8:0 */ u8 xF8_0 : 1;
525 /* F8:1 */ u8 xF8_1 : 1;
526 /* F8:2 */ u8 xF8_2 : 1;
527};
528
529// Unknown, but used for IDS:
530// 6
531// 9
532// and possibly more
534 /* C4:0 */ u8 xC4_b0 : 1;
535 /* C4:1 */ u8 xC4_b1 : 1;
540};
541
543 int xC4;
544};
545
547 /* +0 gp+C4:0 */ u8 x0_b0 : 1;
548 /* +4 gp+C8 */ UNK_T x4;
549 /* +8 gp+CC */ UNK_T x8;
550 /* +C gp+D0 */ Vec3 xC;
551};
552
554 /* +0 gp+C4 */ UNK_T x0;
555 /* +4 gp+C8 */ UNK_T x4;
556 /* +8 gp+CC */ int x8;
557 /* +C gp+D0 */ int xC;
558};
559
561 /* +0 gp+C4 */ u8 x0;
562 /* +1 gp+C5 */ u8 x1;
563 /* +4 gp+C8 */ s32 x4;
564};
565
567 /* +0 gp+C4 */ struct {
568 u8 b0 : 1;
569 u8 b1 : 1;
570 u8 b2 : 1;
571 u8 b3 : 1;
572 u8 b4 : 1;
573 u8 b5 : 1;
574 u8 b6 : 1;
575 u8 b7 : 1;
577};
578
580 /* +0 gp+C4:0 */ u8 x0_b0 : 1;
581};
582
584 /* +0 gp+C4:0 */ u8 x0_b0 : 1;
585};
586
588 /* +0 gp+C4:0 */ u16 xC4;
589 /* +0 gp+C4:0 */ s16 xC6;
590 /* +0 gp+C4:0 */ HSD_JObj* xC8;
591};
592
594 /* +0 gp+C4:0 */ u32 xC4;
595 /* +0 gp+C4:0 */ HSD_JObj* xC8;
596};
597
598struct Randall {
599 /* +0 gp+C4 */ s16 timer;
600 /* +4 gp+C8 */ HSD_JObj* jobj;
601};
602
603struct ShyGuys {
604 /* +0 gp+C4 */ s8 count;
605 /* +1 gp+C5 */ s8 pattern;
606 /* +4 gp+C8 */ int timer;
607};
608
610 /* +0 gp+C4 */ int bg_state;
611 /* +4 gp+C8 */ int curr_bg;
612 /* +8 gp+CC */ int prev_bg;
613 /* +C gp+D0 */ int bg_timer;
614};
615
617 /* +00 gp+C4 */ float xC4;
618 /* +04 gp+C8 */ float xC8;
619 /* +08 gp+CC */ float xCC;
620 /* +0C gp+D0 */ float xD0;
621 /* +10 gp+D4 */ float xD4;
622 /* +14 gp+D8 */ float xD8;
623 /* +18 gp+DC */ float xDC;
624 /* +1C gp+E0 */ HSD_Generator* xE0;
625};
626
628 /* +00 gp+C4:0 */ u32 xC4_b0 : 1;
629 /* +00 gp+C4:1 */ u32 xC4_b1 : 1;
630 /* +00 gp+C4:2 */ u32 xC4_b2_25 : 16;
631 /* +00 gp+C4:26 */ u32 xC4_b26 : 1;
632 /* +00 gp+C4:27 */ u32 xC4_b27 : 1;
633 /* +00 gp+C4:28 */ u32 xC4_b28 : 1;
634 /* +00 gp+C4:29 */ u32 xC4_b29 : 1;
635 /* +00 gp+C4:30 */ u32 xC4_b30 : 1;
636 /* +00 gp+C4:31 */ u32 xC4_b31 : 1;
637 /* +04 gp+C8 */ float xC8;
638 /* +08 gp+CC */ HSD_GObj* lv_gobj[6];
639 /* +20 gp+E4 */ float xE4;
640 /* +24 gp+E8 */ float xE8;
641 /* +28 gp+EC */ float xEC;
642 /* +2C gp+F0 */ float xF0;
643 /* +30 gp+F4 */ float xF4;
644 /* +34 gp+F8 */ float xF8;
645 /* +38 gp+FC */ float xFC;
646 /* +3C gp+100 */ float x100;
647 /* +40 gp+104 */ float x104;
648};
649
650struct Ground {
651 int x0; // 0x0
652 HSD_GObj* gobj; // 0x4
655 struct {
656 u8 b0 : 1;
657 u8 b1 : 1;
658 u8 b2 : 1;
659 u8 b3 : 1;
660 u8 b4 : 1;
661 u8 b5 : 1;
662 u8 b6 : 1;
663 u8 b7 : 1;
665 struct {
666 u8 b012 : 3;
667 u8 b3 : 1;
668 u8 b4 : 1;
669 u8 b5 : 1;
670 u8 b6 : 1;
671 u8 b7 : 1;
673
675 HSD_GObj* x18; // 0x18
677 int x20[8];
680 int x58;
681 int x5C;
682 int x60;
683 int x64;
684 int x68;
685 int x6C;
686 int x70;
687 char pad_40[0xC4 - 0x74];
688
689 union {
691 union GroundVars {
692 char pad_0[0x204 - 0xC4];
693 struct grBigBlue_GroundVars bigblue;
694 struct grCorneria_GroundVars corneria;
695 struct grGreatBay_GroundVars greatbay;
696 struct grFigureGet_GroundVars figureget;
697 struct GroundVars_flatzone flatzone;
698 struct GroundVars_flatzone2 flatzone2;
699 struct grFourside_GroundVars fourside;
700 struct grGreens_GroundVars greens;
701 struct grIceMt_GroundVars icemt;
702 struct grIceMt_GroundVars2 icemt2;
703 struct grInishie1_GroundVars inishie1;
704 struct grInishie1_GroundVars2 inishie12;
705 struct grInishie1_GroundVars3 inishie13;
706 struct grInishie2_GroundVars inishie2;
707 struct grInishie2_GroundVars2 inishie22;
708 struct grInishie2_GroundVars3 inishie23;
709 struct GroundVars_izumi izumi;
710 struct GroundVars_izumi2 izumi2;
711 struct GroundVars_izumi3 izumi3;
712 struct grKongo_GroundVars kongo;
713 struct grKongo_GroundVars2 kongo2;
714 struct grKongo_GroundVars3 kongo3;
715 struct grKraid_GroundVars kraid;
716 struct grOnett_GroundVars onett;
717 struct grPura_GroundVars pura;
718 struct grPura_GroundVars2 pura2;
720 struct grYorster_GroundVars yorster;
721 struct grZebes_GroundVars zebes;
722 } gv;
723
751 union {
752 struct grStadium_GroundVars stadium;
754 struct grStadium_Display display;
755 struct Randall randall;
756 struct ShyGuys shyguys;
757 struct Battlefield battle;
758 struct Last_GroundVars last;
759 struct Map_GroundVars map;
760 } u;
761 };
762};
763STATIC_ASSERT(sizeof(struct Ground) == 0x204);
764
765// Appears to be related to stage audio
767 s32 x0;
768 s32 x4;
769 s32 x8;
770 u32 xC;
771 u32 x10;
772 s16 x14;
773 s16 x16;
774 s16 x18;
775 u8 pad[0x64 - 0x1A];
776};
777
778// TODO: what is this struct?
780 f32 x0;
781 s16 x4;
782 u8 x6_pad[2];
783 s16 x8;
784 s16 xA;
785 s32 xC;
786 s32 x10;
787 s32 x14;
788 f32 x18;
789 f32 x1C, x20, x24, x28;
790 u8 x2C_pad[0x2E - 0x2C];
791 s16 x2E;
792 s32 x30;
793 s32 x34;
794 s32 x38;
795 f32 x3C, x40, x44, x48;
797 f32 x50, x54, x58, x5C, x60, x64;
798 s16 x68;
799 u8 x6C_pad[0xB0 - 0x6A];
801 s32 xB4; // number of entries in xB0
802 GXColor xB8;
803 GXColor xBC;
804 GXColor xC0;
805 GXColor xC4;
806 GXColor xC8;
807 GXColor xCC;
808 GXColor xD0;
809 GXColor xD4;
810 GXColor xD8;
811};
812
814 u8 x0_fill[0x4];
815 u32 unk4; // flags
816};
817
819 /* +0 */ struct HSD_Joint* unk0;
820 /* +4 */ u8 _4[0x10 - 0x4];
822 /* +14 */ UNK_T x14;
823 /* +18 */ UNK_T x18;
824 /* +1C */ HSD_FogDesc* x1C;
825 /* +20 */ S16Vec3* unk20;
826 /* +24 */ s32 unk24; // size of unk20 array
827 /* +28 */ UNK_T x28;
828 /* +2C */ s16* x2C;
829 /* +30 */ int x30;
830};
831
833 void* unk0;
834 s32 unk4;
835
837 s32 unkC;
838
840 s32 unk14;
841
842 u8 x18_fill[0x20 - 0x18];
843
844 void* unk20;
845 s32 unk24;
846
848 s32 unk2C; // size
849};
850STATIC_ASSERT(sizeof(struct UnkStageDat_x8_t) == 0x34);
851
857
858#endif
InternalStageId
Definition forward.h:44
#define UNK_T
Definition placeholder.h:32
#define STATIC_ASSERT(cond)
Definition platform.h:110
int enum_t
The underlying type of an enum, used as a placeholder.
Definition platform.h:9
int bool
A signed integer used to contain boolean values.
Definition stdbool.h:8
Definition types.h:181
Definition types.h:609
int bg_state
Definition types.h:610
int curr_bg
Definition types.h:611
int bg_timer
Definition types.h:613
int prev_bg
Definition types.h:612
Definition types.h:12
Model with multiple animations.
Definition types.h:18
Definition types.dox:1
Definition types.h:233
s32 xD0
Definition types.h:237
grDynamicAttr_UnkStruct * xCC
Definition types.h:236
s32 xD4
Definition types.h:238
f32 xC8
Definition types.h:235
s32 xC4
Definition types.h:234
Definition types.h:210
u8 xC7
Definition types.h:214
s16 xC8
Definition types.h:215
s32 xD4
Definition types.h:220
u8 xC6
Definition types.h:213
s16 xCE
Definition types.h:218
s32 xD0
Definition types.h:219
u8 xC5
Definition types.h:212
u8 xC4
Definition types.h:211
s16 xCC
Definition types.h:217
s16 xCA
Definition types.h:216
Definition types.h:188
int xD0
Definition types.h:192
HSD_JObj * xC4
Definition types.h:189
HSD_JObj * xC8
Definition types.h:190
int xD4
Definition types.h:193
int xCC
Definition types.h:191
float xDC
Definition types.h:195
int xD8
Definition types.h:194
Definition types.h:198
short xC6
Definition types.h:200
short xC4
Definition types.h:199
float xD4
Definition types.h:205
short xC8
Definition types.h:201
float xD8
Definition types.h:206
float xD0
Definition types.h:204
HSD_JObj * xCC
Definition types.h:203
short xCA
Definition types.h:202
float xDC
Definition types.h:207
Definition types.h:178
int xD8
Definition types.h:184
HSD_GObj * xC8
Definition types.h:180
HSD_GObj * xCC
Definition types.h:181
HSD_JObj * xD0
Definition types.h:182
float xDC
Definition types.h:185
HSD_TObj * xC4
Definition types.h:179
HSD_JObj * xD4
Definition types.h:183
Definition types.h:168
int xC8
Definition types.h:170
float xDC
Definition types.h:175
int xC4
Definition types.h:169
int xD4
Definition types.h:173
int xD0
Definition types.h:172
int xD8
Definition types.h:174
int xCC
Definition types.h:171
Definition types.h:650
int x20[8]
Definition types.h:677
char pad_40[0xC4 - 0x74]
Definition types.h:687
u8 b0
Definition types.h:656
int x64
Definition types.h:683
int x60
Definition types.h:682
HSD_GObjEvent xC_callback
Definition types.h:654
int x0
Definition types.h:651
HSD_GObjEvent x8_callback
Definition types.h:653
u8 b1
Definition types.h:657
u8 b6
Definition types.h:662
struct Ground::@219 x11_flags
Vec3 self_vel
Definition types.h:678
HSD_GObj * gobj
Definition types.h:652
u8 b7
Definition types.h:663
struct Ground::@218 x10_flags
u8 b012
Definition types.h:666
union Ground::@220::@222 u
Union of Ground object subtypes.
Vec3 cur_pos
Definition types.h:679
HSD_GObj * x18
Definition types.h:675
int x6C
Definition types.h:685
int x58
Definition types.h:680
HSD_GObjEvent x1C_callback
Definition types.h:676
InternalStageId map_id
Definition types.h:674
union Ground::@220::GroundVars gv
int x5C
Definition types.h:681
u8 b5
Definition types.h:661
u8 b4
Definition types.h:660
u8 b3
Definition types.h:659
int x70
Definition types.h:686
u8 b2
Definition types.h:658
int x68
Definition types.h:684
Definition archive.h:34
Definition cobj.h:110
Definition fog.h:45
was using this to try and fix some matches, unsuccessfully
Definition gobj.h:26
Definition psstructs.h:258
Definition tobj.h:205
Definition jobj.h:107
Definition jobj.h:130
Definition mobj.h:73
Definition spline.h:8
Definition tobj.h:134
Definition types.h:616
HSD_Generator * xE0
Definition types.h:624
float xD4
Definition types.h:621
float xC4
Definition types.h:617
float xDC
Definition types.h:623
float xCC
Definition types.h:619
float xD8
Definition types.h:622
float xD0
Definition types.h:620
float xC8
Definition types.h:618
Definition types.h:122
Definition types.h:627
u32 xC4_b29
Definition types.h:634
float x100
Definition types.h:646
float xE8
Definition types.h:640
float xC8
Definition types.h:637
u32 xC4_b28
Definition types.h:633
float xFC
Definition types.h:645
HSD_GObj * lv_gobj[6]
Definition types.h:638
u32 xC4_b31
Definition types.h:636
float xF8
Definition types.h:644
float xEC
Definition types.h:641
u32 xC4_b1
Definition types.h:629
u32 xC4_b0
Definition types.h:628
float xE4
Definition types.h:639
float xF4
Definition types.h:643
u32 xC4_b30
Definition types.h:635
float x104
Definition types.h:647
u32 xC4_b2_25
Definition types.h:630
float xF0
Definition types.h:642
u32 xC4_b26
Definition types.h:631
u32 xC4_b27
Definition types.h:632
Definition types.h:598
s16 timer
Definition types.h:599
HSD_JObj * jobj
Definition types.h:600
Definition types.h:603
s8 pattern
Definition types.h:605
int timer
Definition types.h:606
s8 count
Definition types.h:604
Definition types.h:18
f32 right
Definition types.h:20
f32 top
Definition types.h:21
f32 left
Definition types.h:19
f32 bottom
Definition types.h:22
Definition types.h:127
u8 flags_b5
Definition types.h:140
u8 flags_b1
Definition types.h:136
u8 flags_b3
Definition types.h:138
void(* callback0)(Ground_GObj *)
initialization callback
Definition types.h:128
u8 flags_b2
Definition types.h:137
void(* callback3)(Ground_GObj *)
Definition types.h:131
void(* callback2)(Ground_GObj *)
Definition types.h:130
u8 flags_b6
Definition types.h:141
bool(* callback1)(Ground_GObj *)
Definition types.h:129
u8 flags_b0
Definition types.h:135
u8 flags_b4
Definition types.h:139
u32 flags
Definition types.h:133
u8 flags_b7
Definition types.h:142
Definition types.h:28
f32 pausecam_zpos_max
Definition types.h:44
f32 pausecam_zpos_min
Definition types.h:42
f32 cam_vertical_tilt
Definition types.h:32
f32 x3C
Definition types.h:41
Vec3 fixed_cam_pos
Definition types.h:49
f32 cam_zoom_rate
Definition types.h:39
f32 fixed_cam_fov
Definition types.h:50
StageBlastZone cam_bounds
Definition types.h:29
f32 x24
Definition types.h:35
f32 cam_pan_degrees
Definition types.h:33
f32 cam_angle_right
Definition types.h:48
f32 pausecam_zpos_init
Definition types.h:43
f32 cam_angle_up
Definition types.h:45
f32 cam_track_smooth
Definition types.h:38
f32 cam_x_offset
Definition types.h:30
f32 cam_max_depth
Definition types.h:40
f32 x20
Definition types.h:34
f32 cam_track_ratio
Definition types.h:36
f32 cam_y_offset
Definition types.h:31
f32 cam_angle_down
Definition types.h:46
f32 fixed_cam_horz_angle
Definition types.h:52
f32 cam_fixed_zoom
Definition types.h:37
f32 cam_angle_left
Definition types.h:47
f32 fixed_cam_vert_angle
Definition types.h:51
Definition types.h:147
bool(* callback4)(void)
Definition types.h:155
u32 flags2
Definition types.h:158
u32 flags1
Definition types.h:148
size_t x30
Definition types.h:160
bool(* callback6)(Vec3 *, int, HSD_JObj *)
Definition types.h:157
void(* OnStart)(void)
Definition types.h:154
void(* callback0)(void)
Definition types.h:151
void(* callback1)(int)
Definition types.h:152
S16Vec3 * x2C
Definition types.h:159
char * data1
Definition types.h:150
void(* OnLoad)(void)
Definition types.h:153
StageCallbacks * callbacks
Definition types.h:149
Definition types.h:55
u8 b5
Definition types.h:69
void * x694[4]
Definition types.h:86
u8 b6
Definition types.h:70
u8 b3
Definition types.h:67
u8 b1
Definition types.h:65
int x6E4[2]
Definition types.h:109
Vec3 x730
Definition types.h:121
Article * unk4
Definition types.h:90
void * map_ptcl
Definition types.h:95
s16 x6DE
Definition types.h:107
void * x6A4
Definition types.h:87
u32 x9C
Definition types.h:76
u8 x190_pad[0x280 - 0x190]
Definition types.h:84
f32 x728
Definition types.h:119
HSD_JObj * x280[261]
Definition types.h:85
s32 x714
Definition types.h:114
Vec3 x13C
Definition types.h:80
u8 b2
Definition types.h:66
f32 x70C
Definition types.h:112
s16 x6D4
Definition types.h:103
void * yakumono_param
Definition types.h:97
void * map_plit
Definition types.h:98
Vec3 x130
Definition types.h:80
void * x6C8
Definition types.h:99
InternalStageId internal_stage_id
Definition types.h:61
UnkStage6B0 * param
Definition types.h:93
u8 b0
Definition types.h:64
struct StageInfo::@203 unk8C
HSD_GObj * x12C
Definition types.h:79
MapCollData * coll_data
Definition types.h:92
bool(* x94)(Vec3 *, int)
Definition types.h:74
Vec3 x16C
Definition types.h:80
f32 x710
Definition types.h:113
u32 flags
Definition types.h:59
u8 x744_pad[0x748 - 0x744]
Definition types.h:124
s16 x6D0
Definition types.h:101
bool(* x90)(Vec3 *, int)
Definition types.h:73
f32 x71C
Definition types.h:116
s16 x6D6
Definition types.h:104
f32 x6E0
Definition types.h:108
s16 x6D2
Definition types.h:102
u8 b4
Definition types.h:68
u8 x6EC_pad[0x708 - 0x6EC]
Definition types.h:110
s32 x98
Definition types.h:75
f32 x718
Definition types.h:115
u8 b7
Definition types.h:71
bool(* x17C)(Vec3 *, int, HSD_JObj *)
Definition types.h:82
DynamicModelDesc * quake_model_set
Definition types.h:100
u8 xA0[4]
Definition types.h:77
s32 unk0
Definition types.h:89
s16 x708
Definition types.h:111
StageBlastZone blast_zone
Definition types.h:57
UNK_T ** ald_yaku_all
Definition types.h:94
u8 xA4_pad[0x12C - 0xA4]
Definition types.h:78
HSD_GObj * x72C
Definition types.h:120
HSD_GObj * x180[4]
Definition types.h:83
s32 x720
Definition types.h:117
f32 x73C
Definition types.h:122
StageCameraInfo cam_info
Definition types.h:56
Vec3 x148
Definition types.h:80
void * map_texg
Definition types.h:96
s32 x740
Definition types.h:123
struct StageInfo::@204 ** itemdata
Vec3 x160
Definition types.h:80
Vec3 x154
Definition types.h:80
s32 x6D8
Definition types.h:105
f32 x724
Definition types.h:118
s16 x6DC
Definition types.h:106
Definition types.h:163
s32 stage_id
Definition types.h:164
s32 list_idx
Definition types.h:165
Definition types.h:852
UnkStageDat * unk4
Definition types.h:854
HSD_Archive * unk0
Definition types.h:853
u32 unk8
Definition types.h:855
Definition types.h:766
s16 x14
Definition types.h:772
u32 xC
Definition types.h:770
s16 x16
Definition types.h:773
u32 x10
Definition types.h:771
s16 x18
Definition types.h:774
u8 pad[0x64 - 0x1A]
Definition types.h:775
s32 x8
Definition types.h:769
s32 x4
Definition types.h:768
s32 x0
Definition types.h:767
Definition types.h:779
s16 x4
Definition types.h:781
f32 x24
Definition types.h:789
s32 x38
Definition types.h:794
GXColor xC4
Definition types.h:805
s32 x34
Definition types.h:793
UnkBgmStruct * xB0
Definition types.h:800
s32 x14
Definition types.h:787
f32 x54
Definition types.h:797
GXColor xC0
Definition types.h:804
s32 xB4
Definition types.h:801
s32 x10
Definition types.h:786
f32 x5C
Definition types.h:797
f32 x18
Definition types.h:788
f32 x50
Definition types.h:797
GXColor xC8
Definition types.h:806
s32 x30
Definition types.h:792
f32 x64
Definition types.h:797
u8 x2C_pad[0x2E - 0x2C]
Definition types.h:790
f32 x44
Definition types.h:795
f32 x20
Definition types.h:789
f32 x48
Definition types.h:795
GXColor xCC
Definition types.h:807
GXColor xD4
Definition types.h:809
GXColor xB8
Definition types.h:802
GXColor xBC
Definition types.h:803
f32 x40
Definition types.h:795
GXColor xD8
Definition types.h:810
u8 x6C_pad[0xB0 - 0x6A]
Definition types.h:799
f32 x3C
Definition types.h:795
s32 xC
Definition types.h:785
s16 x2E
Definition types.h:791
f32 x60
Definition types.h:797
s16 x68
Definition types.h:798
s16 x8
Definition types.h:783
s16 xA
Definition types.h:784
f32 x28
Definition types.h:789
GXColor xD0
Definition types.h:808
bool x4C_fixed_cam
Definition types.h:796
f32 x0
Definition types.h:780
f32 x58
Definition types.h:797
u8 x6_pad[2]
Definition types.h:782
f32 x1C
Definition types.h:789
Definition types.h:813
u32 unk4
Definition types.h:815
u8 x0_fill[0x4]
Definition types.h:814
Definition types.h:818
u8 _4[0x10 - 0x4]
Definition types.h:820
HSD_FogDesc * x1C
Definition types.h:824
s16 * x2C
Definition types.h:828
UNK_T x18
Definition types.h:823
struct HSD_Joint * unk0
Definition types.h:819
HSD_CameraDescPerspective * x10
Definition types.h:821
UNK_T x28
Definition types.h:827
UNK_T x14
Definition types.h:822
int x30
Definition types.h:829
S16Vec3 * unk20
Definition types.h:825
s32 unk24
Definition types.h:826
Definition types.h:832
void * unk0
Definition types.h:833
s32 unk4
Definition types.h:834
s32 unk2C
Definition types.h:848
struct UnkStageDat_x8_t * unk8
Definition types.h:836
s32 unk24
Definition types.h:845
HSD_Spline ** unk10
Definition types.h:839
s32 unk14
Definition types.h:840
void * unk20
Definition types.h:844
u8 x18_fill[0x20 - 0x18]
Definition types.h:842
UnkStageDatInternal ** unk28
Definition types.h:847
s32 unkC
Definition types.h:837
Definition types.h:583
u8 x0_b0
Definition types.h:584
Definition types.h:298
u8 x11A
Definition types.h:323
f32 x114
Definition types.h:320
u32 x10C
Definition types.h:318
HSD_JObj * x12C
Definition types.h:329
f32 xE8
Definition types.h:309
f32 xE0
Definition types.h:307
u32 x11C
Definition types.h:325
f32 xEC
Definition types.h:310
f32 xD8
Definition types.h:305
u32 x104
Definition types.h:316
Item_GObj * x120
Definition types.h:326
u32 xFC
Definition types.h:314
u32 x100
Definition types.h:315
u32 xC4_b1
Definition types.h:300
u32 x110
Definition types.h:319
u8 x118
Definition types.h:321
u32 xC4_b0
Definition types.h:299
u8 x119
Definition types.h:322
f32 xF4
Definition types.h:312
u8 x11B
Definition types.h:324
f32 xF0
Definition types.h:311
u32 xC8
Definition types.h:301
HSD_GObj * x128
Definition types.h:328
u32 xCC
Definition types.h:302
f32 xD4
Definition types.h:304
f32 xD0
Definition types.h:303
Item_GObj * x124
Definition types.h:327
u32 x108
Definition types.h:317
f32 xDC
Definition types.h:306
f32 xE4
Definition types.h:308
f32 xF8
Definition types.h:313
Definition types.h:223
grDynamicAttr_UnkStruct * next
Definition types.h:224
f32 unk18
Definition types.h:228
s32 unk14
Definition types.h:227
u8 x0_fill[0x24 - 0x20]
Definition types.h:230
Vec3 unk8
Definition types.h:226
s32 unk1C
Definition types.h:229
s32 unk4
Definition types.h:225
Definition types.h:553
UNK_T x0
Definition types.h:554
int x8
Definition types.h:556
UNK_T x4
Definition types.h:555
int xC
Definition types.h:557
Definition types.h:560
u8 x1
Definition types.h:562
u8 x0
Definition types.h:561
s32 x4
Definition types.h:563
Definition types.h:332
u32 x10
Definition types.h:334
f32 x1C
Definition types.h:337
s32 x14
Definition types.h:335
u8 _0[0x10]
Definition types.h:333
u32 x18
Definition types.h:336
Definition types.h:566
u8 b5
Definition types.h:573
u8 b7
Definition types.h:575
u8 b2
Definition types.h:570
u8 b4
Definition types.h:572
u8 b3
Definition types.h:571
struct grGreens_GroundVars::@217 x0_flags
u8 b0
Definition types.h:568
u8 b6
Definition types.h:574
u8 b1
Definition types.h:569
Definition types.h:358
HSD_JObj * xF0
Definition types.h:370
HSD_JObj * xC8
Definition types.h:360
HSD_JObj * xE4
Definition types.h:367
f32 xC4
Definition types.h:359
HSD_JObj * xD8
Definition types.h:364
HSD_JObj * xD4
Definition types.h:363
HSD_JObj * xEC
Definition types.h:369
HSD_JObj * xCC
Definition types.h:361
HSD_JObj * xE8
Definition types.h:368
HSD_JObj * xF4
Definition types.h:371
HSD_JObj * xE0
Definition types.h:366
HSD_JObj * xDC
Definition types.h:365
HSD_JObj * xD0
Definition types.h:362
Definition types.h:340
s16 xDE
Definition types.h:353
s16 xC8
Definition types.h:343
s16 xE0
Definition types.h:354
HSD_GObj * xC4
Definition types.h:341
f32 xD4
Definition types.h:349
HSD_GObj * xC6
Definition types.h:342
s16 xDA
Definition types.h:351
void * xF4[6]
Definition types.h:356
s16 xDC
Definition types.h:352
f32 xE4
Definition types.h:355
s16 xD0
Definition types.h:348
s16 xCA
Definition types.h:344
s16 xCE
Definition types.h:346
s16 xCC
Definition types.h:345
s16 xD8
Definition types.h:350
Definition types.h:374
f32 x8
Definition types.h:378
s16 x20
Definition types.h:384
HSD_JObj * jobj2
Definition types.h:381
Item_GObj * item_gobj
Definition types.h:383
s16 x2
Definition types.h:376
s16 x22
Definition types.h:385
HSD_GObj * hatena_gobj
Definition types.h:382
f32 xC
Definition types.h:379
s32 x4
Definition types.h:377
s16 status
Definition types.h:375
HSD_JObj * jobj
Definition types.h:380
Definition types.h:427
s16 xD8
Definition types.h:432
s32 xC8
Definition types.h:429
grInishie1_Block * blocks
Definition types.h:431
s16 xCA
Definition types.h:434
s16 xC6
Definition types.h:435
HSD_JObj * xC4
Definition types.h:428
s16 xDA
Definition types.h:433
s32 xCC
Definition types.h:430
Definition types.h:439
s32 xCC
Definition types.h:442
HSD_JObj * xC4
Definition types.h:440
s32 xC8
Definition types.h:441
Definition types.h:389
s16 xCA
Definition types.h:405
u32 xC4
Definition types.h:391
s16 xE8
Definition types.h:413
s32 xD0
Definition types.h:407
HSD_JObj * x10C
Definition types.h:424
f32 xF8
Definition types.h:419
HSD_JObj * x108
Definition types.h:423
s32 xD8
Definition types.h:409
s16 xEC
Definition types.h:415
s16 xC8
Definition types.h:404
f32 x100
Definition types.h:421
u8 xC4_flags_b5
Definition types.h:398
u8 xC4_flags_b7
Definition types.h:400
f32 xE4
Definition types.h:412
u8 xC4_flags_b1
Definition types.h:394
u8 xC4_flags_b4
Definition types.h:397
f32 xF4
Definition types.h:418
f32 x104
Definition types.h:422
s16 xC6
Definition types.h:403
f32 xFC
Definition types.h:420
f32 xF0
Definition types.h:417
grInishie1_Block * blocks
Definition types.h:410
u8 xC4_flags_b3
Definition types.h:396
s16 xCC
Definition types.h:406
f32 xE0
Definition types.h:411
u8 xC4_flags_b2
Definition types.h:395
s16 xEE
Definition types.h:416
s32 xD4
Definition types.h:408
u8 xC4_flags_b0
Definition types.h:393
u8 xC4_flags_b6
Definition types.h:399
s16 xEA
Definition types.h:414
Definition types.h:464
HSD_GObj * xCC
Definition types.h:467
Item_GObj * xC4
Definition types.h:465
HSD_GObj * xC8
Definition types.h:466
Definition types.h:470
s16 xC6
Definition types.h:472
u8 b1
Definition types.h:475
u8 b4
Definition types.h:478
s16 xCA
Definition types.h:483
u8 b6
Definition types.h:480
u8 b7
Definition types.h:481
u8 b3
Definition types.h:477
Vec3 xD8
Definition types.h:485
u8 b5
Definition types.h:479
u8 b2
Definition types.h:476
u8 b0
Definition types.h:474
struct grInishie2_GroundVars3::@216 xC8_flags
Vec3 xCC
Definition types.h:484
s16 xC4
Definition types.h:471
Definition types.h:445
u8 b5
Definition types.h:452
Vec3 xD8
Definition types.h:460
u8 b1
Definition types.h:448
u8 b0
Definition types.h:447
s16 xCA
Definition types.h:458
u8 b6
Definition types.h:453
u8 b4
Definition types.h:451
s16 xC8
Definition types.h:457
struct grInishie2_GroundVars::@215 xC4_flags
u8 b2
Definition types.h:449
u8 b7
Definition types.h:454
s16 xCC
Definition types.h:459
s16 xC6
Definition types.h:456
u8 b3
Definition types.h:450
Definition types.h:259
f32 xE0
Definition types.h:268
HSD_Spline * xC4
Definition types.h:260
f32 xD8
Definition types.h:266
s16 xCE
Definition types.h:263
f32 xDC
Definition types.h:267
f32 xE8
Definition types.h:270
f32 xD0
Definition types.h:264
f32 xC8
Definition types.h:261
f32 xD4
Definition types.h:265
s16 xCC
Definition types.h:262
f32 xE4
Definition types.h:269
Definition types.h:275
f32 xE8
Definition types.h:287
f32 xD8
Definition types.h:283
f32 xE0
Definition types.h:285
HSD_JObj * xCC
Definition types.h:280
s16 xC4
Definition types.h:276
f32 xE4
Definition types.h:286
HSD_JObj * xD0
Definition types.h:281
f32 xD4
Definition types.h:282
s16 xCA
Definition types.h:279
f32 xDC
Definition types.h:284
s16 xC6
Definition types.h:277
s16 xC8
Definition types.h:278
Definition types.h:241
f32 xC8
Definition types.h:243
f32 xE8
Definition types.h:256
s16 xE4
Definition types.h:254
f32 xC4
Definition types.h:242
HSD_JObj * xE0
Definition types.h:253
struct grKongo_GroundVars::@209::@210 taru
HSD_JObj * xDC
Definition types.h:252
union grKongo_GroundVars::@209 u
f32 xD4
Definition types.h:250
void * keep
Definition types.h:247
f32 xD8
Definition types.h:251
s16 xE6
Definition types.h:255
f32 xCC
Definition types.h:244
Definition types.h:290
s8 x1
Definition types.h:292
f32 x4
Definition types.h:293
u8 x0
Definition types.h:291
f32 x8
Definition types.h:294
f32 xC
Definition types.h:295
Definition types.h:579
u8 x0_b0
Definition types.h:580
Definition types.h:593
u32 xC4
Definition types.h:594
HSD_JObj * xC8
Definition types.h:595
Definition types.h:587
u16 xC4
Definition types.h:588
s16 xC6
Definition types.h:589
HSD_JObj * xC8
Definition types.h:590
Definition types.h:505
s16 xEE
The focused player, or 99 if none.
Definition types.h:520
s16 xE6
Definition types.h:516
u8 xF8_1
Definition types.h:525
HSD_GObj * xDC
Zoomed camera feed.
Definition types.h:513
HSD_GObj * xD4
Text display.
Definition types.h:511
u8 xF8_2
Definition types.h:526
s16 xE4
Definition types.h:515
s16 xE8
Definition types.h:517
HSD_MObj * xCC
Definition types.h:509
s16 xF0
Slot type of the focused player.
Definition types.h:521
u8 xC4_b1
Definition types.h:507
HSD_TObj * xC8
Definition types.h:508
s16 xEA
Definition types.h:518
HSD_GObj * xD8
Stage camera feed.
Definition types.h:512
s16 xEC
Definition types.h:519
CmSubject * xF4
Definition types.h:523
u8 xF8_0
Definition types.h:524
s16 xF2
Definition types.h:522
int xE0
Definition types.h:514
HSD_ImageDesc * xD0
Definition types.h:510
u8 xC4_b0
Definition types.h:506
Definition types.h:488
s16 xE2
Definition types.h:499
HSD_GObj * xE8
Definition types.h:501
u8 xC4_b0
Definition types.h:489
s16 xDC
Definition types.h:496
int xD8
Definition types.h:495
u8 xC4_b1
Definition types.h:490
UnkArchiveStruct * xD0
Definition types.h:493
HSD_GObj * xE4
Definition types.h:500
s16 xDE
Definition types.h:497
s16 xE0
Definition types.h:498
u32 xC8
Definition types.h:491
HSD_MObj * xCC
Definition types.h:492
float xD4
Definition types.h:494
Definition types.h:533
HSD_GObj * xD0_gobj
Definition types.h:538
HSD_GObj * xCC_gobj
Definition types.h:537
u8 xC4_b1
Definition types.h:535
HSD_JObj * xD4_jobj
Definition types.h:539
HSD_Generator * xC8
Definition types.h:536
u8 xC4_b0
Definition types.h:534
Definition types.h:542
int xC4
Definition types.h:543
Definition types.h:546
UNK_T x8
Definition types.h:549
u8 x0_b0
Definition types.h:547
Vec3 xC
Definition types.h:550
UNK_T x4
Definition types.h:548
Definition lbcardgame.c:306
void(* HSD_GObjEvent)(HSD_GObj *gobj)
Definition forward.h:109