SSBM Decomp
Loading...
Searching...
No Matches
gm_1A36.static.h
Go to the documentation of this file.
1
2#ifndef __GALE01_1A3680
3#define __GALE01_1A3680
4
5#include <platform.h>
6
7#include "baselib/forward.h"
8
9#include "gm_1601.h" // IWYU pragma: keep
10
11#include "baselib/cobj.h"
12
13#include <baselib/archive.h>
14
15typedef struct MajorScene MajorScene;
16typedef struct MinorScene MinorScene;
18
32
33struct MajorScene {
36
37 void (*Load)(void);
38 void (*Unload)(void);
39 void (*Init)(void);
40
42}; // 803DACA4
43
46
47 void (*OnFrame)(void);
48 void (*OnLoad)(u32);
49 void (*OnLeave)(u32);
50 void (*unk_func)(void);
51}; // 803DA920
52
61
71STATIC_ASSERT(sizeof(GameState) == 0x14);
72
77
79 /* 0x00 */ struct gm_80479D58_t* unk_0;
80 /* 0x04 */ char pad_4[4];
81 /* 0x08 */ s32 unk_8;
82 /* 0x0C */ s32 unk_C; /* inferred */
83 /* 0x10 */ u8 unk_10;
84 /* 0x11 */ char pad_11[3]; /* maybe part of unk_10[4]? */
85 /* 0x14 */ s32 unk_14;
86 /* 0x18 */ s32 unk_18;
87 /* 0x1C */ char pad_1C[0x24]; /* maybe part of unk_18[0xA]? */
88}; /* size = 0x40 */
89STATIC_ASSERT(sizeof(struct gm_80479D58_t) == 0x40);
90
92 /* 0x00 */ char pad_0[8];
93 /* 0x08 */ s8 unk_8;
94 /* 0x09 */ u8 unk_9;
95 /* 0x0A */ s8 unk_A;
96 /* 0x0B */ char pad_B[1];
97 /* 0x0C */ u16 unk_C;
98 /* 0x0E */ s8 unk_E; /* inferred */
99 /* 0x0F */ char pad_F[1];
100}; /* size = 0x10 */
101STATIC_ASSERT(sizeof(struct gm_8049E548_t) == 0x10);
102
104 char pad_0[0x2];
105 /* +2:0 */ u8 x2_b0 : 1;
106 /* +2:1 */ u8 x2_b1 : 1;
107 /* +2:2 */ u8 x2_b2 : 1;
108 /* +2:3 */ u8 x2_b3 : 1;
109 /* +2:4 */ u8 x2_b4 : 1;
110 /* +2:5 */ u8 x2_b5 : 1;
111 /* +2:6 */ u8 x2_b6 : 1;
112 /* +2:7 */ u8 x2_b7 : 1;
113};
114
116 char pad_0[0xC];
117 /* +C:0 */ u8 xC_b0 : 1;
118 /* +C:1 */ u8 xC_b1 : 1;
119 /* +C:2 */ u8 xC_b2 : 1;
120 /* +C:3 */ u8 xC_b3 : 1;
121 /* +C:4 */ u8 xC_b4 : 1;
122 /* +C:5 */ u8 xC_b5 : 1;
123 /* +C:6 */ u8 xC_b6 : 1;
124 /* +C:7 */ u8 xC_b7 : 1;
125};
126
137
139 char pad_0[0x948];
140};
141STATIC_ASSERT(sizeof(struct gm_804D67F8_t) == 0x948);
142
144 char pad_0[0x2E68];
145};
146STATIC_ASSERT(sizeof(struct gm_804D67FC_t) == 0x2E68);
147
149 /* +0 */ float x0;
150 /* +4 */ float x4;
151};
152
154 /* +0 */ UNK_T x0;
155 /* +4 */ UNK_T x4;
156 /* +8 */ UNK_T x8;
157 /* +C */ UNK_T xC;
158 /* +10 */ UNK_T x10;
159 /* +14 */ UNK_T x14;
160};
161STATIC_ASSERT(sizeof(struct gm_80480D58_t) == 0x18);
162
164 /* +0 */ char pad_0[0x10F0];
165};
166STATIC_ASSERT(sizeof(struct gm_803DBFD8_t) == 0x10F0);
167
172
174 /* +0 */ HSD_FogDesc* desc;
175 /* +4 */ HSD_AObjDesc*** anims;
176};
177
185
187 /* +0 */ s8 x0;
188 /* +1 */ s8 x1;
189 /* +2 */ s8 x2;
190};
191
193 /* +0 */ char pad_0[0x10];
194 /* +10 */ struct gm_801B0FF8_arg0_x10_t* x10;
195};
196
197/* 1A3F48 */ static void gm_801A3F48(MinorScene*);
198/* 1A4014 */ static void gm_801A4014(MajorScene* scene);
199/* 1A4284 */ static UNK_T gm_801A4284(UNK_T);
200/* 1A42B4 */ static u8 gm_801A42B4(void);
201/* 1A42C4 */ static u8 gm_801A42C4(void);
202/* 1A42E8 */ static void gm_801A42E8(s8 arg0);
203/* 1A42F8 */ static void gm_801A42F8(int);
204/* 1A4310 */ static UNK_RET gm_800A4310(UNK_PARAMS);
205/* 1A4320 */ static u8 gm_801A4320(void);
206/* 1A4330 */ static void gm_801A4330(void*);
207/* 1A4624 */ static u8 gm_801A4624(void);
208/* 1A4B40 */ static void gm_801A4B40(s32 arg0);
209/* 1A4B50 */ static void gm_801A4B50(s32 arg0);
210/* 1A4B88 */ static void gm_801A4B88(void*);
211/* 1A4BB8 */ static s32 gm_801A4BB8(void);
212/* 1A4BD4 */ static void gm_801A4BD4(void);
213/* 1A4CE0 */ static MinorSceneHandler* gm_801A4CE0(u8);
214/* 1A4D34 */ static void gm_801A4D34(void*);
215/* 1A50A0 */ static MajorScene* gm_801A50A0(void);
216/* 1A50AC */ static MajorScene* gm_801A50AC(void);
217/* 1A5244 */ static s8* gm_801A5244(void);
218/* 1A5614 */ static void gm_801A5614(void);
219/* 1ACC90 */ static void gm_801ACC90(void);
220/* 1B0FF8 */ static void gm_801B0FF8(struct gm_801B0FF8_arg0_t*);
221/* 1B6320 */ static UNK_T gm_801B6320(void);
222/* 1B8C5C */ static void fn_801B8C5C(UNK_T);
223/* 1B9FB8 */ static void fn_801B9FB8(void* arg0);
224/* 1BA1B4 */ static void fn_801BA1B4(struct fn_801BA1B4_arg0_t*);
225/* 1BA3B4 */ void fn_801BA3B4(struct fn_801BA3B4_arg0_t* arg0);
226/* 1BA5B4 */ static void fn_801BA5B4(UNK_T);
227/* 1BA7AC */ static void fn_801BA7AC(UNK_T);
228/* 1BBFE4 */ static void gm_801BBFE4(void);
229/* 1BEFB0 */ static u8 gm_801BEFB0(void);
230/* 1BEFC0 */ static void gm_801BEFC0(s8 arg0);
231/* 1BEFD0 */ static u8 gm_801BEFD0(void);
232/* 1BEFE0 */ static void gm_801BEFE0(s8 arg0);
233/* 1BF684 */ static void gm_801BF684(s16 arg0);
234/* 1BF694 */ static u8 gm_801BF694(void);
235/* 2A3EF4 */ static void gm_801A3EF4(void);
236/* 3DA788 */ extern u64 gm_803DA788;
237/* 3DA920 */ extern MajorScene gm_803DA920;
238/* 3DACA4 */ extern MajorScene gm_803DACA4;
239/* 3DBFD8 */ extern struct gm_803DBFD8_t gm_803DBFD8;
240/* 3DD0F0 */ extern HSD_CObjDesc gm_803DD0F0;
241/* 3DD248 */ extern HSD_Archive gm_803DD248;
242/* 3DD2C0 */ extern int gm_803DD2C0[74];
243/* 479C30 */ static gm_controller_map gm_80479C30[4];
245/* 479D20 */ void (*gm_80479D20)(s32);
246/* 479D24 */ s32 gm_80479D24;
247/* 479D30 */ static GameState gm_80479D30;
248/* 479D58 */ static struct gm_80479D58_t gm_80479D58;
249/* 480D58 */ static struct gm_80480D58_t gm_80480D58;
250/* 49C178 */ static s8 gm_8049C178[16];
251/* 49E548 */ static struct gm_8049E548_t gm_8049E548;
252/* 4D6720 */ static UNK_T gm_804D6720;
253/* 4D672C */ static s32 gm_804D672C;
254/* 4D6730 */ static UNK_T gm_804D6730;
255/* 4D67F8 */ static struct gm_804D67F8_t* gm_804D67F8;
256/* 4D67FC */ static struct gm_804D67FC_t* gm_804D67FC;
257/* 4D6804 */ static struct gm_804D6804_t* gm_804D6804;
258/* 4D680C */ static s32 gm_804D680C;
259/* 4D6810 */ static s32 gm_804D6810;
260/* 4D6814 */ static s32 gm_804D6814;
261/* 4D6818 */ static s32 gm_804D6818;
262/* 4D681C */ static s32 gm_804D681C;
263/* 4D6820 */ static s32 gm_804D6820;
264/* 4D6824 */ static f32 gm_804D6824;
265/* 4D6828 */ static f32 gm_804D6828;
266/* 4D682C */ static HSD_JObj* gm_804D682C;
267/* 4D6830 */ static HSD_CObj* gm_804D6830;
268/* 4D6834 */ static HSD_CObj* gm_804D6834;
269/* 4D6838 */ static HSD_Fog* gm_804D6838;
270/* 4D683C */ static UNK_T gm_804D683C;
271/* 4D6840 */ static struct gm_804D6840_t* gm_804D6840;
272/* 4D6844 */ static HSD_Joint*** gm_804D6844;
273/* 4D6848 */ static s32 gm_804D6848;
274/* 4D684C */ static s32 gm_804D684C;
275
276#endif
static void gm_801A42E8(s8 arg0)
Definition gm_1A36.c:310
static u8 gm_801A42B4(void)
Definition gm_1A36.c:295
static UNK_T gm_804D683C
Definition gm_1A36.static.h:270
static s32 gm_804D6818
Definition gm_1A36.static.h:261
void(* gm_80479D20)(s32)
Definition gm_1A36.static.h:245
MajorScene gm_803DACA4
static void gm_801B0FF8(struct gm_801B0FF8_arg0_t *)
gm_801ACCA0
Definition gm_1A36.c:965
static s32 gm_804D681C
Definition gm_1A36.static.h:262
static HSD_CObj * gm_804D6830
Definition gm_1A36.static.h:267
static u8 gm_801BEFD0(void)
Definition gm_1A36.c:1815
static MajorScene * gm_801A50A0(void)
gm_801A4BD4
Definition gm_1A36.c:519
static struct gm_80479D58_t gm_80479D58
Definition gm_1A36.static.h:248
static f32 gm_804D6828
Definition gm_1A36.static.h:265
static void gm_801ACC90(void)
Definition gm_1A36.c:832
HSD_CObjDesc gm_803DD0F0
static f32 gm_804D6824
Definition gm_1A36.static.h:264
static UNK_T gm_801B6320(void)
gm_801B1F70
Definition gm_1A36.c:1327
HSD_Archive gm_803DD248
static void gm_801A4014(MajorScene *scene)
Definition gm_1A36.c:178
u64 gm_803DA788
static void fn_801BA1B4(struct fn_801BA1B4_arg0_t *)
gm_801B9FC8
Definition gm_1A36.c:1554
static gm_controller_map gm_80479C30[4]
Definition gm_1A36.static.h:243
static void gm_801A4D34(void *)
static void fn_801B8C5C(UNK_T)
static struct gm_8049E548_t gm_8049E548
Definition gm_1A36.static.h:251
static void gm_801BEFC0(s8 arg0)
Definition gm_1A36.c:1810
static struct gm_804D67FC_t * gm_804D67FC
Definition gm_1A36.static.h:256
static struct gm_804D6804_t * gm_804D6804
Definition gm_1A36.static.h:257
static s32 gm_804D6810
Definition gm_1A36.static.h:259
static HSD_Joint *** gm_804D6844
Definition gm_1A36.static.h:272
static UNK_T gm_801A4284(UNK_T)
Definition gm_1A36.c:279
static UNK_T gm_804D6730
Definition gm_1A36.static.h:254
static struct gm_804D67F8_t * gm_804D67F8
Definition gm_1A36.static.h:255
static void gm_801BF684(s16 arg0)
Definition gm_1A36.c:1888
static void gm_801BBFE4(void)
gm_801BA7B8
Definition gm_1A36.c:1684
static s32 gm_804D6848
Definition gm_1A36.static.h:273
static UNK_T gm_804D6720
Definition gm_1A36.static.h:252
static GameState gm_80479D30
Definition gm_1A36.static.h:247
static void gm_801BEFE0(s8 arg0)
Definition gm_1A36.c:1820
static struct gm_804D6840_t * gm_804D6840
Definition gm_1A36.static.h:271
static HSD_CObj * gm_804D6834
Definition gm_1A36.static.h:268
static u8 gm_801BF694(void)
Definition gm_1A36.c:1893
static UNK_RET gm_800A4310(UNK_PARAMS)
static void fn_801BA7AC(UNK_T)
s32 gm_80479D24
Definition gm_1A36.static.h:246
static void gm_801A4B88(void *)
void fn_801BA3B4(struct fn_801BA3B4_arg0_t *arg0)
gm_801BA1C8
Definition gm_1A36.c:1583
static s32 gm_804D684C
Definition gm_1A36.static.h:274
static MajorScene * gm_801A50AC(void)
Definition gm_1A36.c:524
static s8 * gm_801A5244(void)
gm_801A50B8
Definition gm_1A36.c:537
static HSD_Fog * gm_804D6838
Definition gm_1A36.static.h:269
static s8 gm_8049C178[16]
Definition gm_1A36.static.h:250
static void gm_801A3F48(MinorScene *)
static void gm_801A4B50(s32 arg0)
Definition gm_1A36.c:462
static u8 gm_801A42C4(void)
Definition gm_1A36.c:300
static struct gm_80480D58_t gm_80480D58
Definition gm_1A36.static.h:249
static void gm_801A4BD4(void)
static void fn_801B9FB8(void *arg0)
gm_801B8C68
Definition gm_1A36.c:1525
static void fn_801BA5B4(UNK_T)
static s32 gm_801A4BB8(void)
Definition gm_1A36.c:501
static void gm_801A4B40(s32 arg0)
gm_801A4B1C
Definition gm_1A36.c:457
static s32 gm_804D6820
Definition gm_1A36.static.h:263
static HSD_JObj * gm_804D682C
Definition gm_1A36.static.h:266
static void gm_801A5614(void)
gm_801A5258
Definition gm_1A36.c:559
int gm_803DD2C0[74]
static u8 gm_801A4320(void)
Definition gm_1A36.c:326
struct gm_803DBFD8_t gm_803DBFD8
MajorScene gm_803DA920
static s32 gm_804D6814
Definition gm_1A36.static.h:260
static void gm_801A3EF4(void)
static void gm_801A4330(void *)
Definition gm_1A36.c:331
static u8 gm_801A4624(void)
gm_801A45E8
Definition gm_1A36.c:430
static s32 gm_804D672C
Definition gm_1A36.static.h:253
static MinorSceneHandler * gm_801A4CE0(u8)
static s32 gm_804D680C
Definition gm_1A36.static.h:258
static u8 gm_801BEFB0(void)
Definition gm_1A36.c:1805
static gm_controller_map controller_union
Definition gm_1A36.static.h:244
static void gm_801A42F8(int)
Definition gm_1A36.c:315
#define UNK_PARAMS
#define UNK_T
#define UNK_RET
signed char s8
A signed 8-bit integer.
Definition platform.h:8
unsigned long u32
An unsigned 32-bit integer.
Definition platform.h:26
#define STATIC_ASSERT(cond)
Definition platform.h:169
float f32
A 32-bit floating-point number.
Definition platform.h:62
signed short s16
A signed 16-bit integer.
Definition platform.h:11
unsigned short u16
An unsigned 16-bit integer.
Definition platform.h:23
unsigned long long u64
An unsigned 64-bit integer.
Definition platform.h:29
signed long s32
A signed 32-bit integer.
Definition platform.h:14
unsigned char u8
An unsigned 8-bit integer.
Definition platform.h:20
Definition gm_1A36.static.h:62
SceneNums nums
Definition gm_1A36.static.h:63
SceneNums nums2
Definition gm_1A36.static.h:64
u8 x0D
Definition gm_1A36.static.h:66
u8 x0F
Definition gm_1A36.static.h:68
u8 pending
Definition gm_1A36.static.h:65
u8 x0E
Definition gm_1A36.static.h:67
void * data
Definition gm_1A36.static.h:69
Definition aobj.h:50
Definition archive.h:34
Definition cobj.h:39
Definition cobj.h:139
Definition fog.h:46
Definition fog.h:22
Definition jobj.h:108
Definition jobj.h:131
Definition lobj.h:78
Definition gm_1A36.static.h:33
u8 preload
Definition gm_1A36.static.h:34
void(* Unload)(void)
Definition gm_1A36.static.h:38
void(* Init)(void)
Definition gm_1A36.static.h:39
u8 idx
Definition gm_1A36.static.h:35
void(* Load)(void)
Definition gm_1A36.static.h:37
MinorScene * minor_scenes
Definition gm_1A36.static.h:41
Definition gm_1A36.static.h:44
u8 class_id
Definition gm_1A36.static.h:45
void(* OnLeave)(u32)
Definition gm_1A36.static.h:49
void(* OnLoad)(u32)
Definition gm_1A36.static.h:48
void(* OnFrame)(void)
Definition gm_1A36.static.h:47
void(* unk_func)(void)
Definition gm_1A36.static.h:50
Definition gm_1A36.static.h:19
u8 idx
Definition gm_1A36.static.h:20
void * unk_struct_1
Definition gm_1A36.static.h:30
u8 class_id
Definition gm_1A36.static.h:27
u16 flags
Definition gm_1A36.static.h:22
void(* Prep)(MinorScene *)
Definition gm_1A36.static.h:24
void * unk_struct_0
Definition gm_1A36.static.h:29
void(* Decide)(MinorScene *)
Definition gm_1A36.static.h:25
u8 preload
Definition gm_1A36.static.h:21
Definition gm_1A36.static.h:53
u8 prev_major
Definition gm_1A36.static.h:56
u8 pending_minor
Definition gm_1A36.static.h:59
u8 curr_major
Definition gm_1A36.static.h:54
u8 prev_minor
Definition gm_1A36.static.h:58
u8 pending_major
Definition gm_1A36.static.h:55
u8 curr_minor
Definition gm_1A36.static.h:57
Definition gm_1A36.static.h:103
u8 x2_b4
Definition gm_1A36.static.h:109
u8 x2_b6
Definition gm_1A36.static.h:111
u8 x2_b1
Definition gm_1A36.static.h:106
char pad_0[0x2]
Definition gm_1A36.static.h:104
u8 x2_b3
Definition gm_1A36.static.h:108
u8 x2_b5
Definition gm_1A36.static.h:110
u8 x2_b2
Definition gm_1A36.static.h:107
u8 x2_b7
Definition gm_1A36.static.h:112
u8 x2_b0
Definition gm_1A36.static.h:105
Definition gm_1A36.static.h:115
u8 xC_b7
Definition gm_1A36.static.h:124
u8 xC_b5
Definition gm_1A36.static.h:122
char pad_0[0xC]
Definition gm_1A36.static.h:116
u8 xC_b1
Definition gm_1A36.static.h:118
u8 xC_b3
Definition gm_1A36.static.h:120
u8 xC_b6
Definition gm_1A36.static.h:123
u8 xC_b2
Definition gm_1A36.static.h:119
u8 xC_b0
Definition gm_1A36.static.h:117
u8 xC_b4
Definition gm_1A36.static.h:121
Definition gm_1A36.static.h:192
char pad_0[0x10]
Definition gm_1A36.static.h:193
struct gm_801B0FF8_arg0_x10_t * x10
Definition gm_1A36.static.h:194
Definition gm_1A36.static.h:186
s8 x2
Definition gm_1A36.static.h:189
s8 x0
Definition gm_1A36.static.h:187
s8 x1
Definition gm_1A36.static.h:188
Definition gm_1A36.static.h:163
char pad_0[0x10F0]
Definition gm_1A36.static.h:164
Definition gm_1A36.static.h:78
s32 unk_C
Definition gm_1A36.static.h:82
char pad_11[3]
Definition gm_1A36.static.h:84
s32 unk_14
Definition gm_1A36.static.h:85
struct gm_80479D58_t * unk_0
Definition gm_1A36.static.h:79
s32 unk_8
Definition gm_1A36.static.h:81
u8 unk_10
Definition gm_1A36.static.h:83
char pad_1C[0x24]
Definition gm_1A36.static.h:87
char pad_4[4]
Definition gm_1A36.static.h:80
s32 unk_18
Definition gm_1A36.static.h:86
Definition gm_1A36.static.h:153
UNK_T x0
Definition gm_1A36.static.h:154
UNK_T xC
Definition gm_1A36.static.h:157
UNK_T x10
Definition gm_1A36.static.h:158
UNK_T x8
Definition gm_1A36.static.h:156
UNK_T x14
Definition gm_1A36.static.h:159
UNK_T x4
Definition gm_1A36.static.h:155
Definition gm_1A36.static.h:91
s8 unk_8
Definition gm_1A36.static.h:93
u8 unk_9
Definition gm_1A36.static.h:94
char pad_B[1]
Definition gm_1A36.static.h:96
s8 unk_E
Definition gm_1A36.static.h:98
u16 unk_C
Definition gm_1A36.static.h:97
char pad_F[1]
Definition gm_1A36.static.h:99
s8 unk_A
Definition gm_1A36.static.h:95
char pad_0[8]
Definition gm_1A36.static.h:92
Definition gm_1A36.static.h:138
char pad_0[0x948]
Definition gm_1A36.static.h:139
Definition gm_1A36.static.h:143
char pad_0[0x2E68]
Definition gm_1A36.static.h:144
Definition gm_1A36.static.h:148
float x0
Definition gm_1A36.static.h:149
float x4
Definition gm_1A36.static.h:150
Definition gm_1A36.static.h:168
HSD_CameraAnim ** anims
Definition gm_1A36.static.h:170
HSD_CObjDesc * desc
Definition gm_1A36.static.h:169
Definition gm_1A36.static.h:173
HSD_AObjDesc *** anims
Definition gm_1A36.static.h:175
HSD_FogDesc * desc
Definition gm_1A36.static.h:174
Definition gm_1A36.static.h:179
HSD_Joint *** models
Definition gm_1A36.static.h:180
struct gm_804D6840_cameras_t * cameras
Definition gm_1A36.static.h:181
HSD_LightDesc ** lights
Definition gm_1A36.static.h:182
struct gm_804D6840_fogs_t * fogs
Definition gm_1A36.static.h:183
Definition gm_1A36.static.h:128
u64 button
Definition gm_1A36.static.h:129
u64 release
Definition gm_1A36.static.h:132
s32 x2C
Definition gm_1A36.static.h:135
u64 repeat
Definition gm_1A36.static.h:131
u64 unk
Definition gm_1A36.static.h:133
u64 trigger
Definition gm_1A36.static.h:130
s32 x28
Definition gm_1A36.static.h:134
Definition gm_1A36.static.h:73
u32 a
Definition gm_1A36.static.h:74
u8 scene_id
Definition gm_1A36.static.h:75
Definition cobj.h:126