1#ifndef AUDIO_EXTERNAL_H
2#define AUDIO_EXTERNAL_H
4#include <libultraship.h>
8#define ADSR_STATE_DISABLED 0
9#define ADSR_STATE_INITIAL 1
10#define ADSR_STATE_START_LOOP 2
11#define ADSR_STATE_LOOP 3
12#define ADSR_STATE_FADE 4
13#define ADSR_STATE_HANG 5
14#define ADSR_STATE_DECAY 6
15#define ADSR_STATE_RELEASE 7
16#define ADSR_STATE_SUSTAIN 8
18#define ADSR_ACTION_RELEASE 0x10
19#define ADSR_ACTION_DECAY 0x20
20#define ADSR_ACTION_HANG 0x40
25#define ADSR_RESTART -3
30#define SEQUENCE_ARGS(priority, seqId) ((priority << 8) | seqId)
32#define SOUND_MODE_STEREO 0
33#define SOUND_MODE_MONO 3
34#define SOUND_MODE_HEADSET 1
36#define SEQ_PLAYER_LEVEL 0
37#define SEQ_PLAYER_ENV 1
38#define SEQ_PLAYER_SFX 2
40#define SOUND_BANK_UNK0 0
41#define SOUND_BANK_UNK1 1
42#define SOUND_BANK_UNK2 2
43#define SOUND_BANK_UNK3 3
44#define SOUND_BANK_UNK4 4
45#define SOUND_BANK_UNK5 5
46#define SOUND_BANK_COUNT 6
205s8 func_800C16E8(f32, f32, u8);
235void func_800C4398(
void);
237void func_800C4888(u8);
238void func_800C4FE4(u8);
391extern u8 D_800E9F90[];
s8 D_801657E5
Definition code_80057C60.c:150
f32 Vec3f[3]
Definition common_structs.h:10
s16 Vec3s[3]
Definition common_structs.h:15
void func_800C70A8(u8 playerId)
Definition external.c:2202
void func_800C5968(u8 arg0)
Definition external.c:1748
u8 D_800E9F2C[NUM_PLAYERS]
Definition external.c:70
f32 D_800EA130[]
Definition external.c:94
void func_800C5578(Vec3f *arg0, u32 soundBits)
Definition external.c:1669
void func_800C5CB8(void)
Definition external.c:1830
f32 D_800E9EE4[]
Definition external.c:65
void func_800CA0A0()
Definition external.c:3239
Vec3f gVelocityCamera[4]
Definition external.c:28
u8 D_8018FB91
Definition external.c:26
void func_800CA30C(u8 arg0)
Definition external.c:3313
f32 D_800E9E64[]
Definition external.c:57
s32 D_800E9E14[]
Definition external.c:53
void func_800CA49C(u8 arg0)
Definition external.c:3341
void func_800CA0CC()
Definition external.c:3247
u8 D_800EA1F0[]
Definition external.c:122
void func_800C9D0C(u8 playerId)
Definition external.c:3171
void func_800CB2C4()
Definition external.c:3633
void func_800CAD40(UNUSED s32 arg0)
Definition external.c:3497
void func_800C5384(u8 arg0, Vec3f *arg1)
Definition external.c:1625
void func_800C56F0(u32 soundBits)
Definition external.c:1700
u8 D_800E9DA0
Definition external.c:46
u8 D_800E9F24[]
Definition external.c:69
void func_800C4084(u16 bankMask)
Definition external.c:1208
void func_800C29B4(u8 arg0, u16 arg1)
Definition external.c:658
s32 D_800E9E84[]
Definition external.c:59
void func_800C8770(u8 playerId)
Definition external.c:2731
void func_800CA388(u8 arg0)
Definition external.c:3322
void func_800CA0B8()
Definition external.c:3243
u8 sSoundBankFreeListFront[SOUND_BANK_COUNT]
Definition external.c:35
void func_800CA2E4(u8 arg0, s8 arg1)
Definition external.c:3309
void func_800CA288(u8 arg0, s8 arg1)
Definition external.c:3301
s16 D_8018FC10[4][2]
Definition external.c:31
f32 D_800E9ED4[]
Definition external.c:64
u8 func_800C357C(s32 arg0)
Definition external.c:916
void func_800C59C4(void)
Definition external.c:1762
u8 D_800EA0EC[]
Definition external.c:85
void func_800C9060(u8 playerId, u32 soundBits)
Definition external.c:2923
void func_800C5C40(void)
Definition external.c:1816
u8 D_80192C38
Definition external.c:38
void func_800C6108(u8 playerId)
Definition external.c:1914
void func_800CAACC(u8 playerId)
Definition external.c:3452
void func_800C90F4(u8 playerId, u32 soundBits)
Definition external.c:2936
void func_800CADD0(u8 arg0, f32 arg1)
Definition external.c:3507
void func_800C40F0(u8 arg0)
Definition external.c:1221
u8 D_800E9F74[]
Definition external.c:73
u8 D_800EA244
Definition external.c:128
void func_800C5278(u8 bankId)
Definition external.c:1603
void func_800C13F0(void)
Definition external.c:155
void func_800C8AE4(void)
Definition external.c:2797
Camera * gCopyCamera[4]
Definition external.c:27
u16 D_800EA174
Definition external.c:103
u8 D_800EA1A0[][6]
Definition external.c:109
f32 D_800E9EB4[]
Definition external.c:62
struct_D_801930D0_entry D_801930D0[3]
Definition external.c:44
u8 D_800EA1E8
Definition external.c:120
void play_sound(u32 soundBits, Vec3f *position, u8 cameraId, f32 *arg3, f32 *arg4, s8 *arg5)
Definition external.c:1229
bool sSoundBankDisabled[SOUND_BANK_COUNT]
Definition external.c:39
u8 D_800EA0F0
Definition external.c:86
void func_800C3F70(void)
Definition external.c:1167
void func_800C3478(void)
Definition external.c:903
struct ChannelVolumeScaleFade D_80192C48[SOUND_BANK_COUNT]
Definition external.c:40
s8 func_800C15D0(u8 bank, u8 soundId, u8 channel)
Definition external.c:206
void func_800CA0E4(void)
Definition external.c:3251
void func_800C94A4(u8 playerId)
Definition external.c:2988
void func_800C35E8(u8 arg0)
Definition external.c:948
u8 D_800EA1DC
Definition external.c:117
u8 D_800EA1C0
Definition external.c:112
u8 D_800EA1E4
Definition external.c:119
void play_sequences(u16 arg0, u16 arg1)
Definition external.c:3331
u32 D_80192CD0[256]
Definition external.c:43
s32 D_800E9EA4[]
Definition external.c:61
void func_800C683C(u8 cameraId)
Definition external.c:2046
s32 D_800E9E24[]
Definition external.c:54
void play_sequence(u16 arg0)
Definition external.c:2886
f32 D_800EA150
Definition external.c:95
void func_800C1DA4(Camera *arg0, Vec3s rot, struct Unk_8018EFD8 *arg2)
Definition external.c:377
s8 D_8018EF10
Definition external.c:21
u8 D_800EA1EC
Definition external.c:121
void func_800C64A0(u8 playerId)
Definition external.c:1979
void func_800C5E38(u8 playerId)
Definition external.c:1865
void func_800CA118(u8 arg0)
Definition external.c:3256
void func_800CA24C(u8 arg0)
Definition external.c:3293
void fade_channel_volume_scale(u8 player, u8 targetScale, u16 fadeDuration)
Definition external.c:1736
struct SoundCharacteristics sSoundBanks[SOUND_BANK_COUNT][20]
Definition external.c:33
u8 D_800EA170[]
Definition external.c:102
void func_800C9EF4(Vec3f arg0, u32 soundBits)
Definition external.c:3195
struct Unk_8018EFD8 * func_800C1C88(u8 arg0, Vec3f position, f32 *velocity, f32 *arg3, u8 arg4, u32 soundBits)
Definition external.c:345
void func_800C284C(u8 arg0, u8 arg1, u8 arg2, u16 arg3)
Definition external.c:630
s8 D_800EA16C
Definition external.c:101
f32 func_800C1480(u8 bank, u8 soundId)
Definition external.c:168
struct Unk_800E9F7C D_800E9F7C[]
Definition external.c:75
u8 D_800EA108
Definition external.c:90
f32 D_800E9F34[]
Definition external.c:71
f32 D_800E9DD4[]
Definition external.c:50
void func_800C5BD0(void)
Definition external.c:1808
u16 gCurrentMusicSeq
Definition external.c:97
u8 D_800EA104
Definition external.c:89
void func_800C2474(void)
Definition external.c:552
void func_800CAFC0(u8 arg0)
Definition external.c:3557
u8 D_800EA10C[]
Definition external.c:91
void func_800C54B8(u8 arg0, Vec3f *arg1)
Definition external.c:1649
void func_800C9D80(Vec3f position, Vec3f velocity, u32 soundBits)
Definition external.c:3176
void sound_init(void)
Definition external.c:1776
void func_800C1F8C(void)
Definition external.c:424
u8 sNumProcessedSoundRequests
Definition external.c:111
void func_800C5848(void)
Definition external.c:1728
u8 sSoundBankUsedListBack[SOUND_BANK_COUNT]
Definition external.c:34
f32 func_800C1934(u8 bank, u8 soundId)
Definition external.c:290
u16 D_800EA180
Definition external.c:106
u16 D_800EA184
Definition external.c:107
void func_800C76C0(u8 playerId)
Definition external.c:2408
void func_800C5D04(u8 playerId)
Definition external.c:1837
s8 D_800EA168
Definition external.c:100
void func_800C3724(void)
Definition external.c:970
void func_800CA008(u8 arg0, u8 arg1)
Definition external.c:3223
void func_800CA270()
Definition external.c:3297
UnkStruct8018EF18 D_8018EF18[16]
Definition external.c:22
void func_800C8C7C(u8 arg0)
Definition external.c:2840
void audio_set_player_volume(u8 player, f32 volume)
Definition external.c:3628
u8 D_800EA154[]
Definition external.c:96
void func_800CA59C(u8 playerId)
Definition external.c:3368
void func_800C92CC(u8 playerId, u32 soundBits)
Definition external.c:2966
u8 D_8018FC08
Definition external.c:30
u16 D_800EA1C4
Definition external.c:113
f32 D_800E9DF4[]
Definition external.c:52
u8 D_800EA0F4
Definition external.c:87
void func_800CB134()
Definition external.c:3585
void func_800C8920(void)
Definition external.c:2764
u16 func_800C3508(u8 player)
Definition external.c:909
void func_800CAB4C(u8 arg0)
Definition external.c:3458
u8 D_80192AB8[SOUND_BANK_COUNT][8][8]
Definition external.c:37
void func_800C41CC(u8 arg0, struct SoundCharacteristics *arg1)
Definition external.c:1246
void func_800CA330(u8 arg0)
Definition external.c:3317
void func_800C847C(u8 playerId)
Definition external.c:2688
Vec3f gCameraLastPos[4]
Definition external.c:29
void audio_reset_session_eu(OSMesg presetId)
Definition external.c:158
u16 D_800EA160
Definition external.c:98
void func_800C86D8(u8 playerId)
Definition external.c:2725
void func_800C2A2C(u32 cmd)
Definition external.c:663
struct Sound sSoundRequests[0x100]
Definition external.c:32
u8 sNumSoundsInBank[SOUND_BANK_COUNT]
Definition external.c:36
void func_800CA2B8(u8 arg0)
Definition external.c:3305
void func_800CA984(u8 arg0)
Definition external.c:3437
void delete_sound_from_bank(u8 bankId, u8 soundId)
Definition external.c:1385
void func_800C400C(void)
Definition external.c:1190
void func_800CAC60(UNUSED s32 arg0)
Definition external.c:3486
f32 D_800E9F54[]
Definition external.c:72
f32 D_800EA178
Definition external.c:104
void func_800C9250(u8 arg0)
Definition external.c:2961
u8 sSoundRequestCount
Definition external.c:110
struct_D_80192CA8_entry D_80192CA8[3][5]
Definition external.c:41
void func_800C3448(u32 arg0)
Definition external.c:898
f32 D_800E9DC4[]
Definition external.c:49
void func_800C19D0(u8 arg0, u8 arg1, u8 arg2)
Definition external.c:300
void func_800C550C(Vec3f *arg0)
Definition external.c:1657
f32 D_800EA120[]
Definition external.c:93
f32 D_800E9F04[]
Definition external.c:67
u8 D_800EA164
Definition external.c:99
void func_800C98B8(Vec3f position, Vec3f velocity, u32 soundBits)
Definition external.c:3088
void func_800CAC08()
Definition external.c:3478
u8 D_80192CC6[3]
Definition external.c:42
u8 D_800EA1F4[]
Definition external.c:123
f32 D_800E9E54[]
Definition external.c:56
f32 D_800E9F14[]
Definition external.c:68
void func_800C9018(u8 arg0, u32 soundBits)
Definition external.c:2919
Vec3f D_800EA1C8
Definition external.c:114
void func_800C89E4(void)
Definition external.c:2774
void func_800C6758(u8 playerId)
Definition external.c:2030
void func_800C36C4(u8 arg0, u8 arg1, u8 arg2, u8 arg3)
Definition external.c:964
f32 D_800EA110[]
Definition external.c:92
f32 D_800E9EF4[]
Definition external.c:66
u8 D_8018FB90
Definition external.c:25
void func_800C2274(u8 player)
Definition external.c:498
struct Unk_800EA06C D_800EA06C[]
Definition external.c:81
u8 D_800E9F78[]
Definition external.c:74
f32 D_800EA17C
Definition external.c:105
f32 D_800E9EC4[]
Definition external.c:63
s32 D_800E9E74[]
Definition external.c:58
u8 D_800EA188[][6]
Definition external.c:108
void func_800CB14C()
Definition external.c:3589
void func_800C99E0(Vec3f arg0, s32 soundBits)
Definition external.c:3103
void func_800C97C4(u8 arg0)
Definition external.c:3080
void func_800C3608(u8 arg0, u8 arg1)
Definition external.c:952
s32 D_800E9E34[]
Definition external.c:55
Vec3f * func_800C21E8(Vec3f pos, u32 soundBits)
Definition external.c:469
void func_800C8CCC()
Definition external.c:2844
f32 D_800E9DE4[]
Definition external.c:51
void func_800C8F80(u8 arg0, u32 soundBits)
Definition external.c:2907
void play_sequence2(u16 arg0)
Definition external.c:2898
void func_800C9A88(u8 playerId)
Definition external.c:3117
u32 D_800E9E94[]
Definition external.c:60
void func_800C8F44(u8 arg0)
Definition external.c:2903
s32 D_800E9DB4[]
Definition external.c:48
void func_800C9F90(u8 arg0)
Definition external.c:3207
void func_800CAEC4(u8 playerId, f32 arg1)
Definition external.c:3531
struct Unk_8018EFD8 D_8018EFD8[50]
Definition external.c:24
void play_sound2(s32 soundBits)
Definition external.c:2875
void func_800C1E2C(Camera *camera, Vec3f velocity, struct Unk_8018EFD8 *arg2)
Definition external.c:387
f32 D_800EA1D4
Definition external.c:115
#define SOUND_BANK_COUNT
Definition external.h:46
void func_800CBC24(void)
Definition port_eu.c:304
OSMesgQueue * D_800EA3B4
Definition port_eu.c:32
OSMesgQueue * D_800EA3B0
Definition port_eu.c:31
s32 gAudioErrorFlags
Definition data.c:327
Definition external.h:177
f32 target
Definition external.h:179
f32 current
Definition external.h:178
u16 remainingFrames
Definition external.h:181
f32 velocity
Definition external.h:180
Definition external.h:102
u8 prev
Definition external.h:117
f32 distance
Definition external.h:112
u32 priority
Definition external.h:113
u8 next
Definition external.h:118
f32 * unk10
Definition external.h:109
f32 * unk04
Definition external.h:105
s8 * unk18
Definition external.h:111
u8 freshness
Definition external.h:116
f32 * unk08
Definition external.h:106
f32 * unk14
Definition external.h:110
Vec3f * unk00
Definition external.h:104
u8 soundStatus
Definition external.h:115
u8 cameraId
Definition external.h:107
u32 soundBits
Definition external.h:114
u8 unk2C
Definition external.h:119
f32 * unk0C
Definition external.h:54
Vec3f * position
Definition external.h:51
f32 * unk10
Definition external.h:55
u32 soundBits
Definition external.h:50
u8 cameraId
Definition external.h:52
s8 * unk14
Definition external.h:56
Definition external.h:185
f32 unk4
Definition external.h:187
u8 unk9
Definition external.h:189
u8 unk8
Definition external.h:188
f32 unk0
Definition external.h:186
f32 unk_28
Definition external.h:69
f32 unk_34
Definition external.h:72
f32 unk_0C
Definition external.h:61
f32 unk_30
Definition external.h:71
f32 unk_1C
Definition external.h:66
s8 unk_14
Definition external.h:63
f32 unk_20
Definition external.h:67
f32 unk_18
Definition external.h:65
f32 unk_10
Definition external.h:62
f32 unk_2C
Definition external.h:70
f32 unk_38
Definition external.h:73
f32 unk_24
Definition external.h:68
Vec3f pos
Definition external.h:60
Definition external.h:122
Vec3f unk00
Definition external.h:123
u8 unk0C
Definition external.h:124
f32 unk2C
Definition external.h:94
u8 cameraId
Definition external.h:90
u8 prev
Definition external.h:91
f32 * posZ
Definition external.h:82
f32 * velX
Definition external.h:84
u32 soundBits
Definition external.h:98
f32 * posX
Definition external.h:80
u8 next
Definition external.h:92
f32 * velY
Definition external.h:85
f32 * posY
Definition external.h:81
Vec3f unk18
Definition external.h:87
f32 * velZ
Definition external.h:86
f32 * unk24
Definition external.h:88
u8 unk30
Definition external.h:95
f32 unk34
Definition external.h:97
Definition external.h:192
u8 thing0
Definition external.h:193
u8 thing1
Definition external.h:194
Definition external.h:143
f32 unk_020
Definition external.h:158
u16 unk_018
Definition external.h:155
u8 unk_041
Definition external.h:164
f32 unk_008
Definition external.h:148
f32 unk_000
Definition external.h:146
u16 unk_24A
Definition external.h:171
u32 unk_014
Definition external.h:154
u16 unk_00C
Definition external.h:149
u16 unk_244
Definition external.h:168
u8 unk_012
Definition external.h:152
u8 unk_013
Definition external.h:153
u8 unk_011
Definition external.h:151
u8 unk_00E[3]
Definition external.h:150
f32 unk_01C
Definition external.h:157
u32 unk_02C[5]
Definition external.h:162
u8 unk_040
Definition external.h:163
u16 unk_01A
Definition external.h:156
u16 unk_02A
Definition external.h:161
u8 unk_042
Definition external.h:165
f32 unk_024
Definition external.h:159
f32 unk_004
Definition external.h:147
u16 unk_028
Definition external.h:160
struct_D_801930D0_inner unk_044[16]
Definition external.h:167
u16 unk_248
Definition external.h:170
u16 unk_246
Definition external.h:169
u8 unk_043
Definition external.h:166
Definition external.h:128
u16 unk_1C
Definition external.h:139
f32 unk_10
Definition external.h:135
f32 unk_08
Definition external.h:132
f32 unk_00
Definition external.h:129
f32 unk_18
Definition external.h:138
f32 unk_04
Definition external.h:130
u16 unk_0C
Definition external.h:133
f32 unk_14
Definition external.h:136