Mario Kart 64
external.h
Go to the documentation of this file.
1 #ifndef AUDIO_EXTERNAL_H
2 #define AUDIO_EXTERNAL_H
3 
4 #include "common_structs.h"
5 #include "camera.h"
6 
7 #define ADSR_STATE_DISABLED 0
8 #define ADSR_STATE_INITIAL 1
9 #define ADSR_STATE_START_LOOP 2
10 #define ADSR_STATE_LOOP 3
11 #define ADSR_STATE_FADE 4
12 #define ADSR_STATE_HANG 5
13 #define ADSR_STATE_DECAY 6
14 #define ADSR_STATE_RELEASE 7
15 #define ADSR_STATE_SUSTAIN 8
16 
17 #define ADSR_ACTION_RELEASE 0x10
18 #define ADSR_ACTION_DECAY 0x20
19 #define ADSR_ACTION_HANG 0x40
20 
21 #define ADSR_DISABLE 0
22 #define ADSR_HANG -1
23 #define ADSR_GOTO -2
24 #define ADSR_RESTART -3
25 
26 // Sequence arguments, passed to seq_player_play_sequence. seqId may be bit-OR'ed with
27 // SEQ_VARIATION; this will load the same sequence, but set a variation
28 // bit which may be read by the sequence script.
29 #define SEQUENCE_ARGS(priority, seqId) ((priority << 8) | seqId)
30 
31 #define SOUND_MODE_STEREO 0
32 #define SOUND_MODE_MONO 3
33 #define SOUND_MODE_HEADSET 1
34 
35 #define SEQ_PLAYER_LEVEL 0 // Level background music
36 #define SEQ_PLAYER_ENV 1 // Misc music like the puzzle jingle
37 #define SEQ_PLAYER_SFX 2 // Sound effects
38 
39 #define SOUND_BANK_UNK0 0
40 #define SOUND_BANK_UNK1 1
41 #define SOUND_BANK_UNK2 2
42 #define SOUND_BANK_UNK3 3
43 #define SOUND_BANK_UNK4 4
44 #define SOUND_BANK_UNK5 5
45 #define SOUND_BANK_COUNT 6
46 
47 // Almost certainly an expanded version of struct Sound from SM64
48 struct Unk_8018FC20 {
49  /* 0x00 */ u32 soundBits;
50  /* 0x04 */ f32 *position;
51  /* 0x08 */ u8 cameraId; // playerId? some indicator of "who" the sound is desitned for
52  /* 0x09 */ // u8 compilerPadding0[3];
53  /* 0x0C */ f32 *unk0C;
54  /* 0x10 */ f32 *unk10;
55  /* 0x14 */ u8 *unk14;
56 }; // size = 0x18
57 
58 struct Unk_800E9F7C {
59  /* 0x00 */ Vec3f pos;
60  /* 0x0C */ f32 unk_0C;
61  /* 0x10 */ f32 unk_10;
62  /* 0x14 */ s8 unk_14;
63  /* 0x15 */ // s8 comilerPadding[3];
64  /* 0x18 */ f32 unk_18;
65  /* 0x1C */ f32 unk_1C;
66  /* 0x20 */ f32 unk_20;
67  /* 0x24 */ f32 unk_24;
68  /* 0x28 */ f32 unk_28;
69  /* 0x2C */ f32 unk_2C;
70  /* 0x30 */ f32 unk_30;
71  /* 0x34 */ f32 unk_34;
72  /* 0x38 */ f32 unk_38;
73 } ; // size = 0x3C
74 
75 // I'm speculating that this struct has something to do with
76 // the doppler effect that happens to some sounds
77 struct Unk_8018EFD8 {
78  // Pointers to a position
79  /* 0x00 */ f32 *posX;
80  /* 0x04 */ f32 *posY;
81  /* 0x08 */ f32 *posZ;
82  // Pointers to a velocity
83  /* 0x0C */ f32 *velX;
84  /* 0x10 */ f32 *velY;
85  /* 0x14 */ f32 *velZ;
86  /* 0x18 */ Vec3f unk18;
87  /* 0x24 */ f32 *unk24; // Some type of multiplier/scalar
88  // Indexes in D_8018EFD8, not really sure what they're for though
89  /* 0x28 */ u8 cameraId; // playerId? some indicator of "who" the sound is desitned for
90  /* 0x29 */ u8 prev;
91  /* 0x2A */ u8 next;
92  /* 0x2B */ // u8 compilerPadding00;
93  /* 0x2C */ f32 unk2C;
94  /* 0x30 */ u8 unk30;
95  /* 0x31 */ // u8 compilerPadding01[3];
96  /* 0x34 */ f32 unk34;
97  /* 0x38 */ u32 soundBits;
98 }; // size = 0x3C
99 
100 // This is almost certainly an expanded version of SoundCharacteristics from SM64
101 struct Unk_80191420 {
102  // These f32 pointers appear to point to the `Vec3f unk18` members in a struct Unk_8018EFD8
103  /* 0x00 */ f32 *unk00;
104  /* 0x04 */ f32 *unk04;
105  /* 0x08 */ f32 *unk08;
106  /* 0x0C */ u8 cameraId; // playerId? some indicator of "who" the sound is desitned for
107  /* 0x0D */ // u8 compilerPadding0[3];
108  /* 0x10 */ f32 *unk10;
109  /* 0x14 */ f32 *unk14;
110  /* 0x18 */ s8 *unk18;
111  /* 0x1C */ f32 distance; // XZ distance from the camera
112  /* 0x20 */ u32 priority;
113  /* 0x24 */ u32 soundBits;
114  /* 0x28 */ u8 soundStatus;
115  /* 0x29 */ u8 freshness;
116  /* 0x2A */ u8 prev;
117  /* 0x2B */ u8 next;
118  /* 0x2C */ u8 unk2C;
119 }; // size = 0x30
120 
121 struct Unk_800EA06C {
122  /* 0x00 */ Vec3f unk00;
123  /* 0x0C */ u8 unk0C;
124  /* 0x0D */ // u8 compilerPadding0[3];
125 };
126 
127 typedef struct {
128  /* 0x00 */ s32 unk_0;
129  /* 0x04 */ s32 unk_4;
130 } struct_D_80192AB8_entry; // size = 0x8
131 
132 typedef struct {
133  // This will need lots of expanding/documenting
134  // Its 147 words of space being used
135  u8 some_innards[0x24C];
136 } struct_D_801930D0_entry; // size = 0x24C
137 
138 void func_800C94A4(u8);
140 void func_800C13F0(void);
141 void func_800C13FC(OSMesg);
143 s8 func_800C15D0(u8, u8, u8);
146 void func_800C1DA4(Camera*, Vec3s, struct Unk_8018EFD8*);
147 void func_800C1E2C(Camera*, Vec3f, struct Unk_8018EFD8*);
148 void func_800C1F8C(void);
149 
152 void func_800C2474(void);
154 
155 void func_800C3724(void);
156 void func_800C3448(u32);
157 void func_800C3478(void);
161 void func_800C35E8(u8);
163 void func_800C3F70(void);
164 
165 void func_800C400C(void);
166 void func_800C4084(u16);
167 void play_sound(u32, f32*, u8, f32*, f32*, u8*);
168 void func_800C41CC(u8, struct Unk_80191420*);
169 void func_800C4398(void);
173 
175 void func_800C5384(u8, f32*);
176 void func_800C54B8(u8, s32);
177 void func_800C550C(s32);
180 void func_800C5848(void);
183 void func_800C59C4(void);
184 void func_800C5A3C(void);
185 void func_800C5BD0(void);
186 void func_800C5C40(void);
187 void func_800C5CB8(void);
188 void func_800C5D04(u8);
189 void func_800C5E38(u8);
190 
191 void func_800C6108(u8);
192 void func_800C64A0(u8);
193 void func_800C6758(u8);
194 void func_800C683C(u8);
195 
196 void func_800C70A8(u8);
197 void func_800C76C0(u8);
198 
199 void func_800C847C(u8);
200 void func_800C86D8(u8);
201 void func_800C8770(u8);
202 void func_800C8920(void);
203 void func_800C89E4(void);
204 void func_800C8AE4(void);
205 void func_800C8C7C(u8);
206 void func_800C8CCC(void);
207 void play_sound2(s32);
208 void func_800C8EAC(u16);
209 void func_800C8EF8(u16);
210 void func_800C8F44(u8);
211 void func_800C8F80(u8, u32);
212 
213 void func_800C9018(u8, s32);
214 void func_800C9060(u8, u32);
215 void func_800C90F4(u8, u32);
216 void func_800C9250(u8);
217 void func_800C92CC(u8, u32);
218 void func_800C94A4(u8);
219 void func_800C97C4(u8);
220 void func_800C98B8(Vec3f, Vec3f, u32);
221 void func_800C99E0(Vec3f, s32);
222 void func_800C9A88(u8);
223 void func_800C9D0C(u8);
224 void func_800C9D80(Vec3f, Vec3f, u32);
225 void func_800C9EF4(Vec3f, u32);
226 void func_800C9F90(u8);
227 
228 void func_800CA008(u8, u8);
229 void func_800CA0A0(void);
230 void func_800CA0B8(void);
231 void func_800CA0CC(void);
232 void func_800CA0E4(void);
233 void func_800CA118(u8);
234 void func_800CA24C(u8);
235 void func_800CA270(void);
236 void func_800CA288(u8, s8);
237 void func_800CA2B8(u8);
238 void func_800CA2E4(u8, s8);
239 void func_800CA30C(u8);
240 void func_800CA330(u8);
241 void func_800CA388(u8);
242 void func_800CA414(u16, u16);
243 void func_800CA49C(u8);
244 void func_800CA59C(u8);
245 void func_800CA984(u8);
246 void func_800CAACC(u8);
247 void func_800CAB4C(u8);
248 void func_800CAC08(void);
252 void func_800CAFC0(u8);
253 
254 void func_800CB134(void);
255 void func_800CB14C(void);
256 void func_800CB2C4(void);
257 void func_800CBC24(void);
258 
259 // This is some from other file, its definitely not part of audio's data/bss
260 extern s8 D_801657E5;
261 
262 // Based on SM64, this should be part of data.c's BSS section. Somehow.
263 extern s32 gAudioErrorFlags;
264 
265 extern s8 D_8018EF10;
266 extern struct Unk_8018EFD8 D_8018EFD8[];
267 // These are indexes for D_8018EFD8, but their purpose is unknown
268 extern u8 D_8018FB90;
269 extern u8 D_8018FB91;
270 extern Camera *D_8018FB98[4];
271 extern Vec3f D_8018FBA8[4];
272 extern Vec3f D_8018FBD8[4];
273 extern u8 D_8018FC08;
274 
275 extern struct Unk_80191420 sSoundBanks[SOUND_BANK_COUNT][20];
280 extern u8 D_80192C38;
282 extern f32 D_80192C48[SOUND_BANK_COUNT][4];
283 extern u8 D_80192CA8[3][10];
284 extern u8 D_80192CC6[3];
285 extern u32 D_80192CD0[256];
288 extern u8 sSoundRequestCount;
289 extern struct Unk_8018FC20 sSoundRequests[0x100];
290 
291 // Data entries
292 extern u8 D_800E9DA0;
293 extern f32 D_800E9DC4[4];// = { 1.0f, 1.0f, 1.0f, 1.0f };
294 extern f32 D_800E9DD4[4];// = { 0.0f, 0.0f, 0.0f, 0.0f };
295 extern f32 D_800E9DE4[4];// = { 0.0f, 0.0f, 0.0f, 0.0f };
296 extern f32 D_800E9DF4[8];// = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f };
297 extern s32 D_800E9E14[4];// = { 0, 0, 0, 0 };
298 extern s32 D_800E9E24[4];// = { 0, 0, 0, 0 };
299 extern s32 D_800E9E34[8];
300 extern f32 D_800E9E54[4];// = { 0.0f, 0.0f, 0.0f, 0.0f }; /* const */
301 extern f32 D_800E9E64[4];// = { 0.0f, 0.0f, 0.0f, 0.0f };
302 extern s32 D_800E9E74[4];// = { 0, 0, 0, 0 }; /* const */
303 extern s32 D_800E9E84[4];
304 extern u32 D_800E9E94[4];
305 extern s32 D_800E9EA4[4];// = { 0, 0, 0, 0 };
306 extern f32 D_800E9EB4[4];// = { 0.0f, 0.0f, 0.0f, 0.0f };
307 extern f32 D_800E9EC4[4];// = { 0.0f, 0.0f, 0.0f, 0.0f };
308 extern f32 D_800E9ED4[4];// = { 0.0f, 0.0f, 0.0f, 0.0f };
309 extern f32 D_800E9EE4[4];// = { 0.0f, 0.0f, 0.0f, 0.0f };
310 extern f32 D_800E9EF4[4];
311 extern f32 D_800E9F04[4];// = { 1.0f, 1.0f, 1.0f, 1.0f };
312 extern f32 D_800E9F14[4];// = { 1.0f, 1.0f, 1.0f, 1.0f }; /* const */
313 extern u8 D_800E9F24[8];// = { 0, 0, 0, 0, 0, 0, 0, 0 };
314 extern u8 D_800E9F2C[8];// = { 0, 0, 0, 0, 0, 0, 0, 0 };
315 extern f32 D_800E9F34[8];// = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }; /* const */
316 extern f32 D_800E9F54[8];// = { 1.0f, 1.0f, 1.0f, 1.0f }; /* const */
317 extern u8 D_800E9F74[4];
318 extern u8 D_800E9F78[4];
319 extern struct Unk_800E9F7C D_800E9F7C[4];
320 extern u8 D_800E9F90[];
321 extern struct Unk_800EA06C D_800EA06C[8];
322 extern u8 D_800EA0EC[];
323 extern u8 D_800EA0F0;// = 0;
324 extern u8 D_800EA0F4;
325 extern u8 D_800EA104;
326 extern u8 D_800EA108;// = 0;
327 extern u8 D_800EA10C[];
328 extern f32 D_800EA110[4];// = { 0.0f, 0.0f, 0.0f, 0.0f };
329 extern f32 D_800EA120[4];
330 extern f32 D_800EA130[8];
331 extern f32 D_800EA150;// = 1.4f;
332 extern u8 D_800EA154[];
333 extern u16 D_800EA15C;
334 extern u16 D_800EA160;
335 extern u8 D_800EA164;
336 extern s8 D_800EA168;
337 extern u8 D_800EA170[];
338 extern u16 D_800EA174;// = 0;
339 extern f32 D_800EA178;
340 extern f32 D_800EA17C;
341 extern u16 D_800EA180;// = 0; /* const */
342 extern u16 D_800EA184;
343 extern u8 D_800EA1C0;// = 0;
344 // Most similar to gGlobalSoundSource from SM64, but I don't know if its really
345 // a sound source, its usage makes it look like a 0'd Vec3f for general usage
346 extern Vec3f D_800EA1C8;// = {0.0f, 0.0f, 0.0f}
347 extern f32 D_800EA1D4;
348 extern u8 D_800EA1DC;// = 0;
349 extern u8 D_800EA1E4;
350 extern u8 D_800EA1E8;
351 extern u8 D_800EA244;
352 
353 extern s8 D_800EA16C;
354 
355 extern OSMesgQueue *D_800EA3B0;
356 extern OSMesgQueue *D_800EA3B4;
357 
358 #endif
f32 Vec3f[3]
Definition: common_structs.h:6
s16 Vec3s[3]
Definition: common_structs.h:8
struct Unk_800E9F7C D_800E9F7C[4]
Definition: external.c:93
void func_800CB2C4(void)
Definition: external.c:4489
void func_800CBC24(void)
Definition: port_eu.c:277
void func_800C5CB8(void)
Definition: external.c:2749
u8 D_800E9F2C[8]
Definition: external.c:79
void func_800C41CC(u8, struct Unk_80191420 *)
Definition: external.c:1770
s32 D_800E9E24[4]
Definition: external.c:57
void func_800C5278(u8)
void func_800CAD40(s32)
u8 D_8018FB91
Definition: external.c:26
void func_800C4398(void)
f32 D_800E9F34[8]
Definition: external.c:83
void func_800C9A88(u8)
Definition: external.c:3964
void func_800C92CC(u8, u32)
Definition: external.c:3815
void func_800CA984(u8)
Definition: external.c:4262
void func_800CA270(void)
Definition: external.c:4132
OSMesgQueue * D_800EA3B4
Definition: port_eu.c:28
void func_800CA2B8(u8)
Definition: external.c:4140
f32 D_80192C48[SOUND_BANK_COUNT][4]
Definition: external.c:40
void func_800C36C4(s32, u32, u8, s8)
s32 D_800E9E14[4]
Definition: external.c:56
u8 D_800E9DA0
Definition: external.c:46
struct Unk_8018FC20 sSoundRequests[0x100]
Definition: external.c:32
void func_800C58B8(u8, u8, u16)
f32 D_800E9DD4[4]
Definition: external.c:50
u8 sSoundBankFreeListFront[SOUND_BANK_COUNT]
Definition: external.c:35
f32 D_800E9EB4[4]
Definition: external.c:68
struct Unk_8018EFD8 D_8018EFD8[]
Definition: external.c:24
void func_800C5A3C(void)
void func_800CA288(u8, s8)
Definition: external.c:4136
void func_800C9250(u8)
Definition: external.c:3809
f32 D_800E9E54[4]
Definition: external.c:62
void func_800C59C4(void)
Definition: external.c:2612
u8 D_800EA0EC[]
Definition: external.c:161
void func_800C5C40(void)
Definition: external.c:2734
u8 D_80192C38
Definition: external.c:38
void func_800C8EAC(u16)
Definition: external.c:3745
void func_800C98B8(Vec3f, Vec3f, u32)
Definition: external.c:3933
void func_800C94A4(u8)
Definition: external.c:3834
void func_800C284C(u8, u8, u8, s32)
void func_800CA30C(u8)
Definition: external.c:4148
s32 gAudioErrorFlags
Definition: data.c:441
void func_800CAC60(s32)
void func_800CA0A0(void)
Definition: external.c:4082
u8 D_800EA244
Definition: external.c:217
void func_800CAC08(void)
Definition: external.c:4303
void func_800C90F4(u8, u32)
Definition: external.c:3788
void func_800C13F0(void)
Definition: external.c:232
void play_sound2(s32)
Definition: external.c:3733
void func_800CADD0(u8, f32)
void func_800C8AE4(void)
Definition: external.c:3656
u16 D_800EA174
Definition: external.c:182
struct_D_801930D0_entry D_801930D0[3]
Definition: external.c:44
u8 sSoundBankDisabled[SOUND_BANK_COUNT]
Definition: external.c:39
void func_800CA2E4(u8, s8)
Definition: external.c:4144
u8 D_800EA1E8
Definition: external.c:209
u8 D_800EA0F0
Definition: external.c:162
void func_800C3F70(void)
void func_800C1E2C(Camera *, Vec3f, struct Unk_8018EFD8 *)
Definition: external.c:498
void func_800CA0CC(void)
Definition: external.c:4090
void func_800C9D80(Vec3f, Vec3f, u32)
Definition: external.c:4020
void func_800C3478(void)
Definition: external.c:1287
void func_800CB14C(void)
Definition: external.c:4449
void func_800C9D0C(u8)
Definition: external.c:4016
void func_800C6108(u8)
Definition: external.c:2829
f32 D_800E9E64[4]
Definition: external.c:63
void func_800CA0E4(void)
Definition: external.c:4094
u16 func_800C3508(s32)
void func_800CA0B8(void)
Definition: external.c:4086
u8 D_800EA1DC
Definition: external.c:206
void func_800CB134(void)
Definition: external.c:4445
OSMesgQueue * D_800EA3B0
Definition: port_eu.c:27
void func_800C76C0(u8)
Definition: external.c:3281
s32 D_800E9E34[8]
Definition: external.c:58
u8 D_800EA1C0
Definition: external.c:201
void func_800C4084(u16)
Definition: external.c:1728
u8 D_800EA1E4
Definition: external.c:208
void func_800CAACC(u8)
Definition: external.c:4277
s32 D_800E9EA4[4]
Definition: external.c:67
void func_800C8770(u8)
Definition: external.c:3586
void func_800CA414(u16, u16)
Definition: external.c:4166
u32 D_80192CD0[256]
Definition: external.c:43
f32 D_800E9DF4[8]
Definition: external.c:52
void func_800C550C(s32)
Definition: external.c:2444
struct_D_80192AB8_entry D_80192AB8[SOUND_BANK_COUNT][8]
Definition: external.c:37
u8 D_800E9F74[4]
Definition: external.c:91
f32 D_800EA150
Definition: external.c:174
void func_800C97C4(u8)
Definition: external.c:3925
void func_800C5578(Vec3f, u32)
s8 D_8018EF10
Definition: external.c:14
void func_800C5384(u8, f32 *)
Definition: external.c:2403
u8 D_800E9F78[4]
Definition: external.c:92
Vec3f D_8018FBA8[4]
Definition: external.c:28
f32 func_800C1934(u8, u8)
Definition: external.c:381
u8 D_800EA170[]
Definition: external.c:181
void func_800C8F80(u8, u32)
Definition: external.c:3759
Camera * D_8018FB98[4]
Definition: external.c:27
void func_800C5968(u8)
void func_800C2274(s32)
void func_800CA118(u8)
Definition: external.c:4099
s8 D_800EA16C
Definition: external.c:180
void func_800C54B8(u8, s32)
Definition: external.c:2435
void func_800CA330(u8)
Definition: external.c:4152
void func_800C8CCC(void)
Definition: external.c:3702
void func_800CA49C(u8)
Definition: external.c:4176
u8 D_800EA108
Definition: external.c:166
void func_800C5BD0(void)
Definition: external.c:2725
f32 D_800E9DE4[4]
Definition: external.c:51
u8 D_800EA104
Definition: external.c:165
void func_800CAFC0(u8)
Definition: external.c:4410
f32 D_800E9F14[4]
Definition: external.c:74
void func_800C2474(void)
void func_800CA24C(u8)
Definition: external.c:4128
u8 D_800EA10C[]
Definition: external.c:167
f32 D_800EA110[4]
Definition: external.c:168
void func_800C1F8C(void)
Definition: external.c:534
u8 sNumProcessedSoundRequests
Definition: external.c:200
u8 D_80192CA8[3][10]
Definition: external.c:41
void func_800C8EF8(u16)
Definition: external.c:3750
s32 D_800E9E84[4]
Definition: external.c:65
void func_800C5848(void)
Definition: external.c:2543
u8 sSoundBankUsedListBack[SOUND_BANK_COUNT]
Definition: external.c:34
u16 D_800EA180
Definition: external.c:185
void func_800C70A8(u8)
Definition: external.c:3079
f32 D_800E9ED4[4]
Definition: external.c:70
u16 D_800EA184
Definition: external.c:186
s8 D_800EA168
Definition: external.c:179
void func_800C3724(void)
void func_800C86D8(u8)
Definition: external.c:3580
u8 D_800E9F24[8]
Definition: external.c:75
void func_800C683C(u8)
Definition: external.c:2951
f32 D_800E9F04[4]
Definition: external.c:73
f32 func_800C1480(u8, u8)
Definition: external.c:246
void func_800C5E38(u8)
Definition: external.c:2784
void func_800C9018(u8, s32)
Definition: external.c:3772
void func_800C847C(u8)
Definition: external.c:3543
void func_800C8C7C(u8)
Definition: external.c:3698
void func_800C3608(s32, s32)
u8 D_800EA154[]
Definition: external.c:175
s8 func_800C15D0(u8, u8, u8)
Definition: external.c:284
void func_800C4FE4(u8)
void func_800C5D04(u8)
Definition: external.c:2756
u8 D_8018FC08
Definition: external.c:30
void func_800CA59C(u8)
Definition: external.c:4196
u8 D_800EA0F4
Definition: external.c:163
void func_800C8920(void)
Definition: external.c:3619
void func_800C99E0(Vec3f, s32)
Definition: external.c:3949
void play_sound(u32, f32 *, u8, f32 *, f32 *, u8 *)
Definition: external.c:1753
Vec3f D_8018FBD8[4]
Definition: external.c:29
u16 D_800EA160
Definition: external.c:177
u8 sNumSoundsInBank[SOUND_BANK_COUNT]
Definition: external.c:36
void func_800C9F90(u8)
Definition: external.c:4052
u16 D_800EA15C
Definition: external.c:176
void func_800C400C(void)
f32 D_800EA178
Definition: external.c:183
void func_800C4888(u8)
u8 sSoundRequestCount
Definition: external.c:199
f32 D_800E9EC4[4]
Definition: external.c:69
u8 D_800EA164
Definition: external.c:178
u8 D_800E9F90[]
u8 func_800C357C(s32)
Definition: external.c:1311
void func_800CAB4C(u8)
Definition: external.c:4283
u8 func_800C56F0(u32)
u8 D_80192CC6[3]
Definition: external.c:42
u32 D_800E9E94[4]
Definition: external.c:66
f32 D_800E9DC4[4]
Definition: external.c:49
struct Unk_80191420 sSoundBanks[SOUND_BANK_COUNT][20]
Definition: external.c:33
struct Unk_800EA06C D_800EA06C[8]
Definition: external.c:127
Vec3f D_800EA1C8
Definition: external.c:203
void func_800C3448(u32)
Definition: external.c:1282
void func_800CAEC4(u8, f32)
void func_800C89E4(void)
Definition: external.c:3633
void func_800C13FC(OSMesg)
Definition: external.c:235
f32 D_800E9EE4[4]
Definition: external.c:71
f32 D_800EA120[4]
Definition: external.c:169
void func_800C1DA4(Camera *, Vec3s, struct Unk_8018EFD8 *)
Definition: external.c:488
void func_800C8F44(u8)
Definition: external.c:3755
u8 D_8018FB90
Definition: external.c:25
#define SOUND_BANK_COUNT
Definition: external.h:45
f32 D_800EA17C
Definition: external.c:184
struct Unk_8018EFD8 * func_800C1C88(u8, Vec3f, Vec3f, f32 *, u8, u32)
void func_800C9060(u8, u32)
Definition: external.c:3776
f32 D_800EA130[8]
Definition: external.c:170
void func_800C6758(u8)
Definition: external.c:2935
void func_800C64A0(u8)
Definition: external.c:2884
f32 D_800E9F54[8]
Definition: external.c:87
void func_800CA008(u8, u8)
Definition: external.c:4064
f32 D_800E9EF4[4]
Definition: external.c:72
s32 D_800E9E74[4]
Definition: external.c:64
f32 * func_800C21E8(Vec3f, u32)
Definition: external.c:579
void func_800CA388(u8)
Definition: external.c:4157
s8 D_801657E5
void func_800C9EF4(Vec3f, u32)
Definition: external.c:4040
f32 D_800EA1D4
Definition: external.c:204
void func_800C473C(u8, u8)
void func_800C35E8(u8)
Definition: external.c:1327
Definition: camera.h:24
Definition: external.h:58
f32 unk_28
Definition: external.h:68
f32 unk_34
Definition: external.h:71
f32 unk_0C
Definition: external.h:60
f32 unk_30
Definition: external.h:70
f32 unk_1C
Definition: external.h:65
s8 unk_14
Definition: external.h:62
f32 unk_20
Definition: external.h:66
f32 unk_18
Definition: external.h:64
f32 unk_10
Definition: external.h:61
f32 unk_2C
Definition: external.h:69
f32 unk_38
Definition: external.h:72
f32 unk_24
Definition: external.h:67
Vec3f pos
Definition: external.h:59
Definition: external.h:121
Vec3f unk00
Definition: external.h:122
u8 unk0C
Definition: external.h:123
Definition: external.h:77
f32 unk2C
Definition: external.h:93
u8 cameraId
Definition: external.h:89
u8 prev
Definition: external.h:90
f32 * posZ
Definition: external.h:81
f32 * velX
Definition: external.h:83
u32 soundBits
Definition: external.h:97
f32 * posX
Definition: external.h:79
u8 next
Definition: external.h:91
f32 * velY
Definition: external.h:84
f32 * posY
Definition: external.h:80
Vec3f unk18
Definition: external.h:86
f32 * velZ
Definition: external.h:85
f32 * unk24
Definition: external.h:87
u8 unk30
Definition: external.h:94
f32 unk34
Definition: external.h:96
Definition: external.h:48
u8 * unk14
Definition: external.h:55
f32 * position
Definition: external.h:50
f32 * unk0C
Definition: external.h:53
u32 soundBits
Definition: external.h:49
f32 * unk10
Definition: external.h:54
u8 cameraId
Definition: external.h:51
Definition: external.h:101
f32 * unk00
Definition: external.h:103
s8 * unk18
Definition: external.h:110
f32 * unk04
Definition: external.h:104
u8 freshness
Definition: external.h:115
u8 unk2C
Definition: external.h:118
u8 next
Definition: external.h:117
f32 * unk08
Definition: external.h:105
f32 * unk14
Definition: external.h:109
u8 soundStatus
Definition: external.h:114
u32 soundBits
Definition: external.h:113
f32 distance
Definition: external.h:111
f32 * unk10
Definition: external.h:108
u8 cameraId
Definition: external.h:106
u8 prev
Definition: external.h:116
u32 priority
Definition: external.h:112
Definition: external.h:127
s32 unk_4
Definition: external.h:129
s32 unk_0
Definition: external.h:128
Definition: external.h:132
signed int s32
Definition: ultratypes.h:15
unsigned int u32
Definition: ultratypes.h:16
signed char s8
Definition: ultratypes.h:11
float f32
Definition: ultratypes.h:32
unsigned short int u16
Definition: ultratypes.h:14
unsigned char u8
Definition: ultratypes.h:12