Mario Kart 64
Loading...
Searching...
No Matches
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
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
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
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
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
122 /* 0x00 */ Vec3f unk00;
123 /* 0x0C */ u8 unk0C;
124 /* 0x0D */ // u8 compilerPadding0[3];
125}; // size = 0x10
126
127typedef struct {
128 /* 0x00 */ f32 unk_00;
129 /* 0x04 */ u16 unk_04;
130 /* 0x06 */ // u16 compilerPadding;
131 /* 0x08 */ f32 unk_08;
132 /* 0x0C */ u16 unk_0C;
133 /* 0x0E */ // u16 compilerPadding;
134 /* 0x10 */ f32 unk_10;
135 /* 0x14 */ u16 unk_14;
136 /* 0x16 */ // u16 compilerPadding;
137 /* 0x18 */ f32 unk_18;
138 /* 0x1C */ u16 unk_1C;
139 /* 0x1E */ // u16 compilerPadding;
140} struct_D_801930D0_inner; // size = 0x20
141
142typedef struct {
143 // This will need lots of expanding/documenting
144 // Its 147 words of space being used
145 /* 0x000 */ f32 unk_000;
146 /* 0x004 */ f32 unk_004;
147 /* 0x008 */ f32 unk_008;
148 /* 0x00C */ u16 unk_00C;
149 /* 0x00E */ u8 unk_00E[3]; // Array size guessed
150 /* 0x011 */ u8 unk_011;
151 /* 0x012 */ u8 unk_012;
152 /* 0x013 */ u8 unk_013;
153 /* 0x014 */ s32 unk_014;
154 /* 0x018 */ u16 unk_018;
155 /* 0x01A */ u16 unk_01A;
156 /* 0x01C */ s32 unk_01C;
157 /* 0x020 */ s32 unk_020;
158 /* 0x024 */ s32 unk_024;
159 /* 0x028 */ u16 unk_028;
160 /* 0x02A */ u16 unk_02A;
161 /* 0x02C */ u32 unk_02C[5]; // Array size guessed
162 /* 0x040 */ u8 unk_040;
163 /* 0x041 */ u8 unk_041;
164 /* 0x042 */ u8 unk_042;
165 /* 0x043 */ u8 unk_043;
166 /* 0x044 */ struct_D_801930D0_inner unk_044[16];
167 /* 0x244 */ u16 unk_244;
168 /* 0x246 */ u16 unk_246;
169 /* 0x248 */ u16 unk_248;
170 /* 0x24A */ u16 unk_24A;
171} struct_D_801930D0_entry; // size = 0x24C
172
173// Not quite the same as the struct found in SM64,
174// not even sure that the struct or its members are even
175// correct in the MK64 context
177 /* 0x000 */ f32 current;
178 /* 0x004 */ f32 target;
179 /* 0x008 */ f32 velocity;
180 /* 0x00C */ u16 remainingFrames;
181 /* 0x00A */ // u16 compilerPadding;
182}; // size = 0x10
183
184typedef struct {
189} UnkStruct8018EF18; // size = 0xC
190
191void func_800C94A4(u8);
192void func_800CADD0(u8, f32);
193void func_800C13F0(void);
194void func_800C13FC(OSMesg);
199void func_800C19D0(u8, u8, u8);
201void func_800C1DA4(Camera*, Vec3s, struct Unk_8018EFD8*);
202void func_800C1E2C(Camera*, Vec3f, struct Unk_8018EFD8*);
203void func_800C1F8C(void);
204
207void func_800C2474(void);
209void func_800C29B4(u8, u16);
210
211void func_800C3724(void);
212void func_800C3448(u32);
213void func_800C3478(void);
215void func_800C3608(u8, u8);
217void func_800C35E8(u8);
218void func_800C36C4(u8, u8, u8, u8);
219void func_800C3F70(void);
220
221void func_800C400C(void);
222void func_800C4084(u16);
223void func_800C40F0(u8);
224void play_sound(u32, f32*, u8, f32*, f32*, u8*);
225void func_800C41CC(u8, struct Unk_80191420*);
226void func_800C4398(void);
230
232void func_800C5384(u8, f32*);
233void func_800C54B8(u8, f32*);
234void func_800C550C(s32);
237void func_800C5848(void);
239void func_800C5968(u8);
240void func_800C59C4(void);
241void sound_init(void);
242void func_800C5BD0(void);
243void func_800C5C40(void);
244void func_800C5CB8(void);
245void func_800C5D04(u8);
246void func_800C5E38(u8);
247
248void func_800C6108(u8);
249void func_800C64A0(u8);
250void func_800C6758(u8);
251void func_800C683C(u8);
252
253void func_800C70A8(u8);
254void func_800C76C0(u8);
255
256void func_800C847C(u8);
257void func_800C86D8(u8);
258void func_800C8770(u8);
259void func_800C8920(void);
260void func_800C89E4(void);
261void func_800C8AE4(void);
262void func_800C8C7C(u8);
263void func_800C8CCC(void);
264void play_sound2(s32);
265void func_800C8EAC(u16);
266void func_800C8EF8(u16);
267void func_800C8F44(u8);
268void func_800C8F80(u8, u32);
269
270void func_800C9018(u8, s32);
271void func_800C9060(u8, u32);
272void func_800C90F4(u8, u32);
273void func_800C9250(u8);
274void func_800C92CC(u8, u32);
275void func_800C94A4(u8);
276void func_800C97C4(u8);
278void func_800C99E0(Vec3f, s32);
279void func_800C9A88(u8);
280void func_800C9D0C(u8);
282void func_800C9EF4(Vec3f, u32);
283void func_800C9F90(u8);
284
285void func_800CA008(u8, u8);
286void func_800CA0A0(void);
287void func_800CA0B8(void);
288void func_800CA0CC(void);
289void func_800CA0E4(void);
290void func_800CA118(u8);
291void func_800CA24C(u8);
292void func_800CA270(void);
293void func_800CA288(u8, s8);
294void func_800CA2B8(u8);
295void func_800CA2E4(u8, s8);
296void func_800CA30C(u8);
297void func_800CA330(u8);
298void func_800CA388(u8);
299void func_800CA414(u16, u16);
300void func_800CA49C(u8);
301void func_800CA59C(u8);
302void func_800CA984(u8);
303void func_800CAACC(u8);
304void func_800CAB4C(u8);
305void func_800CAC08(void);
308void func_800CAEC4(u8, f32);
309void func_800CAFC0(u8);
310
311void func_800CB134(void);
312void func_800CB14C(void);
313void func_800CB2C4(void);
314void func_800CBC24(void);
315
316// This is some from other file, its definitely not part of audio's data/bss
317extern s8 D_801657E5;
318
319// Based on SM64, this should be part of data.c's BSS section. Somehow.
320extern s32 gAudioErrorFlags;
321
322extern s8 D_8018EF10;
324extern struct Unk_8018EFD8 D_8018EFD8[];
325// These are indexes for D_8018EFD8, but their purpose is unknown
326extern u8 D_8018FB90;
327extern u8 D_8018FB91;
328extern Camera *D_8018FB98[4];
329extern Vec3f D_8018FBA8[4];
330extern Vec3f D_8018FBD8[4];
331extern u8 D_8018FC08;
332extern u16 D_8018FC10[4][2];
333
334extern struct Unk_80191420 sSoundBanks[SOUND_BANK_COUNT][20];
338extern u8 D_80192AB8[SOUND_BANK_COUNT][8][8];
339extern u8 D_80192C38;
342extern u8 D_80192CA8[3][10];
343extern u8 D_80192CC6[3];
344extern u32 D_80192CD0[256];
348extern struct Unk_8018FC20 sSoundRequests[0x100];
349
350// Data entries
351extern u8 D_800E9DA0;
352extern s32 D_800E9DB4[];
353extern f32 D_800E9DC4[4];// = { 1.0f, 1.0f, 1.0f, 1.0f };
354extern f32 D_800E9DD4[4];// = { 0.0f, 0.0f, 0.0f, 0.0f };
355extern f32 D_800E9DE4[4];// = { 0.0f, 0.0f, 0.0f, 0.0f };
356extern f32 D_800E9DF4[8];// = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f };
357extern s32 D_800E9E14[4];// = { 0, 0, 0, 0 };
358extern s32 D_800E9E24[4];// = { 0, 0, 0, 0 };
359extern s32 D_800E9E34[8];
360extern f32 D_800E9E54[4];// = { 0.0f, 0.0f, 0.0f, 0.0f }; /* const */
361extern f32 D_800E9E64[4];// = { 0.0f, 0.0f, 0.0f, 0.0f };
362extern s32 D_800E9E74[4];// = { 0, 0, 0, 0 }; /* const */
363extern s32 D_800E9E84[4];
364extern u32 D_800E9E94[4];
365extern s32 D_800E9EA4[4];// = { 0, 0, 0, 0 };
366extern f32 D_800E9EB4[4];// = { 0.0f, 0.0f, 0.0f, 0.0f };
367extern f32 D_800E9EC4[4];// = { 0.0f, 0.0f, 0.0f, 0.0f };
368extern f32 D_800E9ED4[4];// = { 0.0f, 0.0f, 0.0f, 0.0f };
369extern f32 D_800E9EE4[4];// = { 0.0f, 0.0f, 0.0f, 0.0f };
370extern f32 D_800E9EF4[4];
371extern f32 D_800E9F04[4];// = { 1.0f, 1.0f, 1.0f, 1.0f };
372extern f32 D_800E9F14[4];// = { 1.0f, 1.0f, 1.0f, 1.0f }; /* const */
373extern u8 D_800E9F24[8];// = { 0, 0, 0, 0, 0, 0, 0, 0 };
374extern u8 D_800E9F2C[8];// = { 0, 0, 0, 0, 0, 0, 0, 0 };
375extern f32 D_800E9F34[8];// = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }; /* const */
376extern f32 D_800E9F54[8];// = { 1.0f, 1.0f, 1.0f, 1.0f }; /* const */
377extern u8 D_800E9F74[4];
378extern u8 D_800E9F78[4];
379extern struct Unk_800E9F7C D_800E9F7C[4];
380extern u8 D_800E9F90[];
381extern struct Unk_800EA06C D_800EA06C[8];
382extern u8 D_800EA0EC[];
383extern u8 D_800EA0F0;// = 0;
384extern u8 D_800EA0F4;
385extern u8 D_800EA104;
386extern u8 D_800EA108;// = 0;
387extern u8 D_800EA10C[];
388extern f32 D_800EA110[4];// = { 0.0f, 0.0f, 0.0f, 0.0f };
389extern f32 D_800EA120[4];
390extern f32 D_800EA130[8];
391extern f32 D_800EA150;// = 1.4f;
392extern u8 D_800EA154[];
393extern u16 D_800EA15C;
394extern u16 D_800EA160;
395extern u8 D_800EA164;
396extern s8 D_800EA168;
397extern u8 D_800EA170[];
398extern u16 D_800EA174;// = 0;
399extern f32 D_800EA178;
400extern f32 D_800EA17C;
401extern u16 D_800EA180;// = 0; /* const */
402extern u16 D_800EA184;
403extern u8 D_800EA188[][6];
404extern u8 D_800EA1A0[][6];
405extern u8 D_800EA1C0;// = 0;
406extern u16 D_800EA1C4;
407// Most similar to gGlobalSoundSource from SM64, but I don't know if its really
408// a sound source, its usage makes it look like a 0'd Vec3f for general usage
409extern Vec3f D_800EA1C8;// = {0.0f, 0.0f, 0.0f}
410extern f32 D_800EA1D4;
411extern u8 D_800EA1DC;// = 0;
412extern u8 D_800EA1E4;
413extern u8 D_800EA1E8;
414extern u8 D_800EA1EC;
415extern u8 D_800EA1F0[];
416extern u8 D_800EA1F4[];
417extern u8 D_800EA244;
418
419extern s8 D_800EA16C;
420
421extern OSMesgQueue *D_800EA3B0;
422extern OSMesgQueue *D_800EA3B4;
423
424#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:85
void func_800CB2C4(void)
Definition external.c:4039
void func_800CBC24(void)
Definition port_eu.c:259
void func_800C5CB8(void)
Definition external.c:2330
u8 D_800E9F2C[8]
Definition external.c:71
void func_800C41CC(u8, struct Unk_80191420 *)
Definition external.c:1539
s32 D_800E9E24[4]
Definition external.c:49
void func_800C5278(u8)
u16 func_800C3508(u8)
Definition external.c:1133
void func_800CAD40(s32)
u8 D_8018FB91
Definition external.c:18
void func_800C4398(void)
f32 D_800E9F34[8]
Definition external.c:75
void func_800C9A88(u8)
Definition external.c:3556
void func_800C40F0(u8)
Definition external.c:1514
u8 D_800EA1F0[]
Definition external.c:203
void func_800C92CC(u8, u32)
Definition external.c:3409
void func_800CA984(u8)
Definition external.c:3851
void func_800CA270(void)
Definition external.c:3722
OSMesgQueue * D_800EA3B4
Definition port_eu.c:32
void func_800CA2B8(u8)
Definition external.c:3730
s32 D_800E9E14[4]
Definition external.c:48
u8 D_800E9DA0
Definition external.c:38
struct Unk_8018FC20 sSoundRequests[0x100]
Definition external.c:24
f32 D_800E9DD4[4]
Definition external.c:42
u8 sSoundBankFreeListFront[SOUND_BANK_COUNT]
Definition external.c:27
f32 D_800E9EB4[4]
Definition external.c:60
struct Unk_8018EFD8 D_8018EFD8[]
Definition external.c:16
void func_800CA288(u8, s8)
Definition external.c:3726
void func_800C9250(u8)
Definition external.c:3405
f32 D_800E9E54[4]
Definition external.c:54
void func_800C59C4(void)
Definition external.c:2262
u8 D_800EA0EC[]
Definition external.c:153
void func_800C5C40(void)
Definition external.c:2316
u8 D_80192C38
Definition external.c:30
void func_800C8EAC(u16)
Definition external.c:3342
void func_800C98B8(Vec3f, Vec3f, u32)
Definition external.c:3527
void func_800C94A4(u8)
Definition external.c:3428
void func_800CA30C(u8)
Definition external.c:3738
s32 gAudioErrorFlags
Definition data.c:441
void func_800CAC60(s32)
void func_800CA0A0(void)
Definition external.c:3672
u8 D_800EA244
Definition external.c:209
void func_800CAC08(void)
Definition external.c:3891
void func_800C90F4(u8, u32)
Definition external.c:3384
void func_800C13F0(void)
Definition external.c:236
void play_sound2(s32)
Definition external.c:3331
void func_800CADD0(u8, f32)
Definition external.c:3920
void func_800C8AE4(void)
Definition external.c:3254
u16 D_800EA174
Definition external.c:174
u8 D_800EA1A0[][6]
Definition external.c:185
struct_D_801930D0_entry D_801930D0[3]
Definition external.c:36
u8 sSoundBankDisabled[SOUND_BANK_COUNT]
Definition external.c:31
void func_800CA2E4(u8, s8)
Definition external.c:3734
u8 D_800EA1E8
Definition external.c:201
u8 D_800EA0F0
Definition external.c:154
void func_800C3F70(void)
Definition external.c:1460
void func_800C1E2C(Camera *, Vec3f, struct Unk_8018EFD8 *)
Definition external.c:470
void func_800CA0CC(void)
Definition external.c:3680
void func_800C9D80(Vec3f, Vec3f, u32)
Definition external.c:3612
void func_800C3478(void)
Definition external.c:1127
void func_800CB14C(void)
Definition external.c:3999
void func_800C9D0C(u8)
Definition external.c:3608
void func_800C6108(u8)
Definition external.c:2410
void delete_sound_from_bank(u8, u8)
Definition external.c:1742
struct ChannelVolumeScaleFade D_80192C48[SOUND_BANK_COUNT]
Definition external.c:32
f32 D_800E9E64[4]
Definition external.c:55
void func_800CA0E4(void)
Definition external.c:3684
void func_800CA0B8(void)
Definition external.c:3676
u8 D_800EA1DC
Definition external.c:198
void func_800CB134(void)
Definition external.c:3995
OSMesgQueue * D_800EA3B0
Definition port_eu.c:31
void func_800C76C0(u8)
Definition external.c:2871
void func_800C284C(u8, u8, u8, u16)
s32 D_800E9E34[8]
Definition external.c:50
u8 D_800EA1C0
Definition external.c:193
void func_800C4084(u16)
Definition external.c:1501
u8 D_800EA1E4
Definition external.c:200
void func_800CAACC(u8)
Definition external.c:3865
s32 D_800E9EA4[4]
Definition external.c:59
void func_800C8770(u8)
Definition external.c:3184
void func_800CA414(u16, u16)
Definition external.c:3756
u32 D_80192CD0[256]
Definition external.c:35
f32 D_800E9DF4[8]
Definition external.c:44
void func_800C550C(s32)
Definition external.c:2130
u8 D_800E9F74[4]
Definition external.c:83
f32 D_800EA150
Definition external.c:166
void func_800C97C4(u8)
Definition external.c:3519
void func_800C5578(Vec3f, u32)
s8 D_8018EF10
Definition external.c:14
u8 D_800EA1EC
Definition external.c:202
void func_800C5384(u8, f32 *)
Definition external.c:2098
u16 D_8018FC10[4][2]
Definition external.c:23
u8 D_800E9F78[4]
Definition external.c:84
Vec3f D_8018FBA8[4]
Definition external.c:20
f32 func_800C1934(u8, u8)
Definition external.c:369
u8 D_800EA170[]
Definition external.c:173
void func_800C8F80(u8, u32)
Definition external.c:3356
Camera * D_8018FB98[4]
Definition external.c:19
void func_800C5968(u8)
Definition external.c:2248
void func_800C3608(u8, u8)
Definition external.c:1176
void func_800CA118(u8)
Definition external.c:3689
s8 D_800EA16C
Definition external.c:172
void func_800CA330(u8)
Definition external.c:3742
void func_800C8CCC(void)
Definition external.c:3300
void func_800CA49C(u8)
Definition external.c:3766
u8 D_800EA108
Definition external.c:158
void func_800C36C4(u8, u8, u8, u8)
Definition external.c:1188
void func_800C5BD0(void)
Definition external.c:2308
void func_800C29B4(u8, u16)
Definition external.c:760
f32 D_800E9DE4[4]
Definition external.c:43
u8 D_800EA104
Definition external.c:157
void func_800CAFC0(u8)
Definition external.c:3966
f32 D_800E9F14[4]
Definition external.c:66
s8 func_800C16E8(f32, f32, u8)
void func_800C2474(void)
Definition external.c:655
void func_800CA24C(u8)
Definition external.c:3718
u8 D_800EA10C[]
Definition external.c:159
f32 D_800EA110[4]
Definition external.c:160
void func_800C19D0(u8, u8, u8)
Definition external.c:379
void sound_init(void)
Definition external.c:2276
void func_800C1F8C(void)
Definition external.c:506
u8 sNumProcessedSoundRequests
Definition external.c:192
u8 D_80192CA8[3][10]
Definition external.c:33
void func_800C8EF8(u16)
Definition external.c:3347
s32 D_800E9E84[4]
Definition external.c:57
void func_800C5848(void)
Definition external.c:2228
u8 sSoundBankUsedListBack[SOUND_BANK_COUNT]
Definition external.c:26
u16 D_800EA180
Definition external.c:177
void func_800C70A8(u8)
Definition external.c:2669
f32 D_800E9ED4[4]
Definition external.c:62
u16 D_800EA184
Definition external.c:178
s8 D_800EA168
Definition external.c:171
void func_800C3724(void)
void func_800C86D8(u8)
Definition external.c:3178
u8 D_800E9F24[8]
Definition external.c:67
void func_800C683C(u8)
Definition external.c:2541
f32 D_800E9F04[4]
Definition external.c:65
f32 func_800C1480(u8, u8)
Definition external.c:249
void func_800C5E38(u8)
Definition external.c:2365
void func_800C9018(u8, s32)
Definition external.c:3368
void func_800C847C(u8)
Definition external.c:3141
UnkStruct8018EF18 D_8018EF18[16]
Definition external.c:15
void func_800C8C7C(u8)
Definition external.c:3296
u8 D_800EA154[]
Definition external.c:167
s8 func_800C15D0(u8, u8, u8)
Definition external.c:287
void func_800C4FE4(u8)
void func_800C5D04(u8)
Definition external.c:2337
u8 D_8018FC08
Definition external.c:22
u16 D_800EA1C4
Definition external.c:194
void func_800CA59C(u8)
Definition external.c:3786
u8 D_800EA0F4
Definition external.c:155
void func_800C8920(void)
Definition external.c:3217
void func_800C99E0(Vec3f, s32)
Definition external.c:3542
u8 D_80192AB8[SOUND_BANK_COUNT][8][8]
Definition external.c:29
void play_sound(u32, f32 *, u8, f32 *, f32 *, u8 *)
Definition external.c:1522
Vec3f D_8018FBD8[4]
Definition external.c:21
u16 D_800EA160
Definition external.c:169
u8 sNumSoundsInBank[SOUND_BANK_COUNT]
Definition external.c:28
void func_800C9F90(u8)
Definition external.c:3644
u16 D_800EA15C
Definition external.c:168
void func_800C400C(void)
Definition external.c:1483
f32 D_800EA178
Definition external.c:175
void func_800C4888(u8)
u8 sSoundRequestCount
Definition external.c:191
f32 D_800E9EC4[4]
Definition external.c:61
u8 D_800EA164
Definition external.c:170
u8 D_800E9F90[]
u8 func_800C357C(s32)
Definition external.c:1140
void func_800CAB4C(u8)
Definition external.c:3871
f32 * func_800C21E8(Vec3f, u32)
Definition external.c:551
u8 func_800C56F0(u32)
u8 D_80192CC6[3]
Definition external.c:34
u32 D_800E9E94[4]
Definition external.c:58
f32 D_800E9DC4[4]
Definition external.c:41
u8 D_800EA1F4[]
Definition external.c:204
struct Unk_80191420 sSoundBanks[SOUND_BANK_COUNT][20]
Definition external.c:25
struct Unk_800EA06C D_800EA06C[8]
Definition external.c:119
Vec3f D_800EA1C8
Definition external.c:195
void func_800C3448(u32)
Definition external.c:1122
void func_800CAEC4(u8, f32)
Definition external.c:3943
void func_800C89E4(void)
Definition external.c:3231
void func_800C13FC(OSMesg)
Definition external.c:239
f32 D_800E9EE4[4]
Definition external.c:63
f32 D_800EA120[4]
Definition external.c:161
void func_800C1DA4(Camera *, Vec3s, struct Unk_8018EFD8 *)
Definition external.c:460
void func_800C8F44(u8)
Definition external.c:3352
u8 D_8018FB90
Definition external.c:17
#define SOUND_BANK_COUNT
Definition external.h:45
f32 D_800EA17C
Definition external.c:176
void func_800C2274(u8)
void func_800C9060(u8, u32)
Definition external.c:3372
f32 D_800EA130[8]
Definition external.c:162
void func_800C6758(u8)
Definition external.c:2525
u8 D_800EA188[][6]
Definition external.c:179
void func_800C64A0(u8)
Definition external.c:2474
struct Unk_8018EFD8 * func_800C1C88(u8, Vec3f, Vec3f, f32 *, u8, u32)
f32 D_800E9F54[8]
Definition external.c:79
void func_800CA008(u8, u8)
Definition external.c:3656
f32 D_800E9EF4[4]
Definition external.c:64
s32 D_800E9E74[4]
Definition external.c:56
s32 D_800E9DB4[]
Definition external.c:40
void fade_channel_volume_scale(u8, u8, u16)
Definition external.c:2236
void func_800CA388(u8)
Definition external.c:3747
s8 D_801657E5
Definition code_80057C60.c:150
void func_800C9EF4(Vec3f, u32)
Definition external.c:3632
f32 D_800EA1D4
Definition external.c:196
void func_800C54B8(u8, f32 *)
Definition external.c:2122
void func_800C35E8(u8)
Definition external.c:1172
Definition camera.h:26
Definition external.h:176
f32 target
Definition external.h:178
f32 current
Definition external.h:177
u16 remainingFrames
Definition external.h:180
f32 velocity
Definition external.h:179
Definition external.h:184
f32 unk4
Definition external.h:186
u8 unk9
Definition external.h:188
u8 unk8
Definition external.h:187
f32 unk0
Definition external.h:185
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:142
u16 unk_018
Definition external.h:154
u8 unk_041
Definition external.h:163
f32 unk_008
Definition external.h:147
f32 unk_000
Definition external.h:145
u16 unk_24A
Definition external.h:170
u16 unk_00C
Definition external.h:148
s32 unk_020
Definition external.h:157
u16 unk_244
Definition external.h:167
u8 unk_012
Definition external.h:151
u8 unk_013
Definition external.h:152
u8 unk_011
Definition external.h:150
u8 unk_040
Definition external.h:162
u16 unk_01A
Definition external.h:155
u16 unk_02A
Definition external.h:160
u8 unk_042
Definition external.h:164
f32 unk_004
Definition external.h:146
u16 unk_028
Definition external.h:159
s32 unk_014
Definition external.h:153
s32 unk_024
Definition external.h:158
u16 unk_248
Definition external.h:169
u16 unk_246
Definition external.h:168
u8 unk_043
Definition external.h:165
s32 unk_01C
Definition external.h:156
Definition external.h:127
u16 unk_1C
Definition external.h:138
f32 unk_10
Definition external.h:134
f32 unk_08
Definition external.h:131
f32 unk_00
Definition external.h:128
u16 unk_04
Definition external.h:129
f32 unk_18
Definition external.h:137
u16 unk_0C
Definition external.h:132
u16 unk_14
Definition external.h:135
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