Seperated audio function definitons to a header file, and got some cleaner matches on a few other functions in the process due to this

This commit is contained in:
Ryan Myers
2021-09-10 12:13:18 -04:00
parent 2e6527c4c7
commit cdee8272e2
8 changed files with 155 additions and 208 deletions
-40
View File
@@ -1,40 +0,0 @@
glabel func_80002224
/* 002E24 80002224 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 002E28 80002228 3C068011 */ lui $a2, %hi(gALHeap) # $a2, 0x8011
/* 002E2C 8000222C 24C65CE8 */ addiu $a2, %lo(gALHeap) # addiu $a2, $a2, 0x5ce8
/* 002E30 80002230 AFBF001C */ sw $ra, 0x1c($sp)
/* 002E34 80002234 AFA40048 */ sw $a0, 0x48($sp)
/* 002E38 80002238 AFA5004C */ sw $a1, 0x4c($sp)
/* 002E3C 8000223C AFA40024 */ sw $a0, 0x24($sp)
/* 002E40 80002240 AFA50028 */ sw $a1, 0x28($sp)
/* 002E44 80002244 A3A40034 */ sb $a0, 0x34($sp)
/* 002E48 80002248 24180010 */ li $t8, 16
/* 002E4C 8000224C 24190080 */ li $t9, 128
/* 002E50 80002250 A3B8002C */ sb $t8, 0x2c($sp)
/* 002E54 80002254 AFA60030 */ sw $a2, 0x30($sp)
/* 002E58 80002258 AFA00038 */ sw $zero, 0x38($sp)
/* 002E5C 8000225C AFA0003C */ sw $zero, 0x3c($sp)
/* 002E60 80002260 AFA00040 */ sw $zero, 0x40($sp)
/* 002E64 80002264 AFB90010 */ sw $t9, 0x10($sp)
/* 002E68 80002268 00002025 */ move $a0, $zero
/* 002E6C 8000226C 00002825 */ move $a1, $zero
/* 002E70 80002270 0C031DFC */ jal alHeapDBAlloc
/* 002E74 80002274 24070001 */ li $a3, 1
/* 002E78 80002278 AFA20044 */ sw $v0, 0x44($sp)
/* 002E7C 8000227C 00402025 */ move $a0, $v0
/* 002E80 80002280 0C0188A4 */ jal alCSPNew
/* 002E84 80002284 27A50024 */ addiu $a1, $sp, 0x24
/* 002E88 80002288 3C088011 */ lui $t0, %hi(ALBankFile_80115D10) # $t0, 0x8011
/* 002E8C 8000228C 8D085D10 */ lw $t0, %lo(ALBankFile_80115D10)($t0)
/* 002E90 80002290 8FA40044 */ lw $a0, 0x44($sp)
/* 002E94 80002294 8D050004 */ lw $a1, 4($t0)
/* 002E98 80002298 0C031E98 */ jal alCSPSetBank
/* 002E9C 8000229C 00000000 */ nop
/* 002EA0 800022A0 8FA20044 */ lw $v0, 0x44($sp)
/* 002EA4 800022A4 2409007F */ li $t1, 127
/* 002EA8 800022A8 A0490036 */ sb $t1, 0x36($v0)
/* 002EAC 800022AC 8FBF001C */ lw $ra, 0x1c($sp)
/* 002EB0 800022B0 27BD0048 */ addiu $sp, $sp, 0x48
/* 002EB4 800022B4 03E00008 */ jr $ra
/* 002EB8 800022B8 00000000 */ nop
+3 -3
View File
@@ -532,9 +532,9 @@ typedef struct {
ALVolumeEvent vol;
ALSeqpLoopEvent loop;
ALSeqpVolEvent spvol;
ALSeqpPriorityEvent sppriority;
ALSeqpSeqEvent spseq;
ALSeqpBankEvent spbank;
ALSeqpPriorityEvent sppriority;
ALSeqpSeqEvent spseq;
ALSeqpBankEvent spbank;
ALOscEvent osc;
} msg;
} ALEvent;
+1 -1
View File
@@ -3,6 +3,6 @@
#include "audio_internal.h"
u8 alSeqpGetChlFXMix(ALSeqPlayer *seqp, u8 chan){
u8 alSeqpGetChlFXMix(ALSeqPlayer *seqp, u8 chan) {
return seqp->chanState[chan].fxmix;
}
+3 -8
View File
@@ -305,12 +305,7 @@ void __seqpStopOsc(ALSeqPlayer *seqp, ALVoiceState *vs)
}
}
/* Unknown Size */
typedef struct unk8000B010 {
u8 unk00[0x70];
s8 unk70;
} unk8000B010;
void func_8000B010(unk8000B010 *arg0, s8 arg1) {
arg0->unk70 = arg1;
void func_8000B010(ALCSPlayer *arg0, s8 arg1) {
//TODO: This doesn't seem to be the write way to do this, but it works for now.
(s8) arg0->initOsc = arg1;
}
+9 -19
View File
@@ -5,24 +5,14 @@
#include "macros.h"
#include "audio_internal.h"
/* Size: 0x0C bytes */
typedef struct unk80063BA0 {
s16 unk0;
s16 unk2;
s32 unk4;
u8 unk8;
u8 unk9;
u8 unkA;
} unk80063BA0;
void alEvtqPostEvent(ALEventQueue *evtq, ALEvent *evt, ALMicroTime delta); //unknown_0C9C90
void func_80063BA0(u32 arg0, u8 arg1, u8 arg2) {
s32 unusedVariable;
unk80063BA0 unknownStruct;
unknownStruct.unk0 = 2;
unknownStruct.unk4 = 0;
unknownStruct.unk8 = arg1 | 0xB0;
unknownStruct.unk9 = 8;
unknownStruct.unkA = arg2;
alEvtqPostEvent(arg0 + 0x48, &unknownStruct, 0);
void func_80063BA0(ALCSPlayer *seqp, u8 arg1, u8 arg2) {
ALEvent evt;
evt.type = 2;
evt.msg.midi.ticks = 0;
evt.msg.midi.status = arg1 | 0xB0;
evt.msg.midi.byte1 = 8;
evt.msg.midi.byte2 = arg2;
alEvtqPostEvent(&seqp->evtq, &evt, 0);
}
+2 -20
View File
@@ -4,25 +4,7 @@
#include "types.h"
#include "macros.h"
#include "audio_internal.h"
/* Size: 0x14 bytes */
typedef struct unk80063C00 {
u32 unk00;
u32 unk04;
u32 unk08;
u32 unk0C;
u8 unk10;
u8 unk11;
u8 unk12;
u8 unk13;
} unk80063C00;
/* Unknown size */
typedef struct unk80063C00_2 {
u8 unk00[0x60];
unk80063C00 *unk60; // Array of unk80063C00, unknown number of elements (At most 256).
} unk80063C00_2;
u8 func_80063C00(unk80063C00_2 *arg0, u8 arg1) {
return arg0->unk60[arg1].unk10;
//return seqp->chanState[chan].unk10???
u8 func_80063C00(ALCSPlayer *seqp, u8 arg1) {
return ((ALChanState_Custom*)seqp->chanState)[arg1].unk10;
}
+27 -116
View File
@@ -7,6 +7,7 @@
#include "types.h"
#include "macros.h"
#include "asset_sections.h"
#include "asset_loading.h"
#include "audio_internal.h"
@@ -74,21 +75,7 @@ u32 *D_80115D0C;
ALBankFile *ALBankFile_80115D10;
ALBankFile *ALBankFile_80115D14;
/* Size: 0x0A bytes */
typedef struct unk80115D18 {
u8 pad0[6];
u16 unk6;
u8 pad8[2];
} unk80115D18;
unk80115D18 *D_80115D18;
/* Size: 3 bytes */
typedef struct unk80115D1C {
u8 unk0;
u8 unk1;
u8 unk2;
} unk80115D1C;
unk80115D1C *D_80115D1C;
s32 D_80115D20;
@@ -121,16 +108,10 @@ typedef struct audioMgrConfig_s{
u16 unk10;
} audioMgrConfig;
void func_80000968(s32 arg0);
ALCSPlayer *func_80002224(s32, s32);
void func_8000B010(ALCSPlayer*, u8);
void *load_asset_section_from_rom(u32);
void *alHeapDBAlloc(u8 *file, s32 line, ALHeap *hp, s32 num, s32 size);
void audio_init(u32 arg0){
void audio_init(u32 arg0) {
s32 iCnt;
ALSynConfig synth_config;
u32 *reg_s2;
s32 *reg_s2;
u32 seqfSize;
u32 seq_max_len;
u32 tmp2;
@@ -212,11 +193,7 @@ void audio_init(u32 arg0){
return;
}
void set_relative_volume_for_music(u8);
void func_80004A60(u8, u16);
void func_80000890(u8 arg0){
void func_80000890(u8 arg0) {
if(!D_80115F79){
D_80115F78 = arg0;
if(D_80115F78 == 0){
@@ -230,8 +207,6 @@ void func_80000890(u8 arg0){
}
}
void func_80000968(s32 arg0) {
switch(arg0) {
case 1:
@@ -274,8 +249,6 @@ void func_80000B28(void) {
D_800DC648 = 0;
}
void func_800022BC(u8, ALCSPlayer*);
void play_music(u8 arg0) {
if (D_800DC648 == 0 && musicVolumeSliderPercentage != 0) {
D_80115D04 = arg0;
@@ -290,8 +263,6 @@ void play_music(u8 arg0) {
}
}
void func_8000B010(ALCSPlayer *arg0, u8 arg1);
void func_80000BE0(u8 arg0) {
if (D_800DC670 == 0) {
func_8000B010(gMusicPlayer, arg0);
@@ -327,10 +298,7 @@ void func_80000CBC(void) {
set_relative_volume_for_music(musicRelativeVolume);
}
void func_80001D04(u16,void*);
void func_8000232C(ALCSPlayer*, void*, u8*, ALCSeq*);
void func_80000D00(u8 arg0){
void func_80000D00(u8 arg0) {
s32 reg_s2;
s32 j;
if(D_80115D3C > 0){
@@ -403,11 +371,8 @@ void func_80001050(void) {
u16 musicGetChanMask(void) {
return gMusicPlayer->chanMask;
}
void func_80001114(u8 arg0);
void func_80001170(u8 arg0);
void func_80001074(u16 arg0){
void func_80001074(u16 arg0) {
u32 chan;
if(D_800DC65C){
D_80115F7C = arg0;
@@ -444,24 +409,18 @@ void func_80001170(u8 arg0) {
}
}
s32 alCSPSetChlPan(ALCSPlayer*, u8 chan, ALPan pan);
void musicSetChlPan(u8 chan, ALPan pan) {
if (chan < 0x10) {
alCSPSetChlPan(gMusicPlayer, chan, pan);
}
}
void alCSPSetChlVol(ALCSPlayer*, u8 chan, u8 vol);
void musicSetChlVol(u8 chan, u8 vol) {
if (chan < 0x10) {
alCSPSetChlVol(gMusicPlayer, chan, vol);
}
}
s32 alCSPGetChlVol(ALCSPlayer*, u8 arg1);
/* Unused?*/
s32 musicGetChlVol(u8 arg0) {
if (arg0 >= 0x10) {
@@ -471,24 +430,20 @@ s32 musicGetChlVol(u8 arg0) {
}
}
s32 func_80063BA0(ALCSPlayer*, u8 arg1, u8 arg2);
void func_80001268(u8 arg0, u8 arg1) {
if (arg0 < 0x10) {
func_80063BA0(gMusicPlayer, arg0, arg1);
}
}
s32 func_80063C00(ALCSPlayer*, u8 arg1);
s32 func_800012A8(u8 arg0) {
u8 func_800012A8(u8 arg0) {
if (arg0 >= 0x10) {
return 0;
}
return func_80063C00(gMusicPlayer, arg0);
}
void func_800012E8(void){
void func_800012E8(void) {
u32 chan;
if(!D_800DC648){
for(chan = 0; chan<16; chan++){
@@ -500,8 +455,7 @@ void func_800012E8(void){
return;
}
u8 func_80001358(u8 arg0, u8 arg1, s32 arg2){
u8 func_80001358(u8 arg0, u8 arg1, s32 arg2) {
u8 val_1f;
u8 val_1e;
s32 updatedVol;
@@ -527,9 +481,7 @@ u8 func_80001358(u8 arg0, u8 arg1, s32 arg2){
}
}
u8 alSeqpGetChlFXMix(ALCSPlayer*, u8);
void func_80001440(u8 *arg0){
void func_80001440(u8 *arg0) {
s32 s0 = 0;
if(gMusicPlayer->maxChannels > 0){
do{
@@ -540,15 +492,11 @@ void func_80001440(u8 *arg0){
return;
}
s16 musicGetTempo(void);
void musicSetTempo(s32);
void func_800014BC(f32 arg0) {
musicSetTempo((s32)((f32)(u32)(musicGetTempo() & 0xFF) * arg0));
}
void musicSetTempo(s32 tempo){
void musicSetTempo(s32 tempo) {
if(tempo != 0){
f32 inv_tempo = (1.0f/tempo);
alCSPSetTempo(gMusicPlayer,(s32)(inv_tempo * 60000000.0f));
@@ -602,14 +550,12 @@ f32 func_800015F8(void){
}
#endif
void func_80001728(u8 arg0, u8 *arg1, u8 *arg2, u8 *arg3){
void func_80001728(u8 arg0, u8 *arg1, u8 *arg2, u8 *arg3) {
*arg1 = D_80115D1C[arg0].unk1;
*arg2 = D_80115D1C[arg0].unk0;
*arg3 = D_80115D1C[arg0].unk2;
}
u32 func_80001C08(void);
void func_80001784(u8 a0){
if(!func_80001C08()){
func_800022BC(D_80115D05 = a0, gSndFxPlayer);
@@ -617,23 +563,18 @@ void func_80001784(u8 a0){
}
}
void sfxSetTempo(s32 tempo){
void sfxSetTempo(s32 tempo) {
f32 inv_tempo = (1.0f/tempo);
alCSPSetTempo(gSndFxPlayer,(s32)(inv_tempo * 60000000.0f));
}
void func_80002570(ALCSPlayer *arg0);
void func_80001844(void){
void func_80001844(void) {
if(!D_800DC648){
func_80002570(gMusicPlayer);
}
return;
}
void func_80001878(u8 arg0) {
if (arg0 != D_800DC640) {
D_800DC640 = arg0;
@@ -645,7 +586,7 @@ void func_80001878(u8 arg0) {
}
}
u8 func_800018D0(void){
u8 func_800018D0(void) {
return D_800DC640;
}
@@ -663,8 +604,6 @@ u8 func_80001918(void) {
return 0;
}
extern u8 D_800DC65C;
// Unused?
u8 func_80001954(void) {
if (D_800DC65C != 0) {
@@ -677,8 +616,7 @@ u8 func_80001980(void) {
return D_80115D05;
}
void set_relative_volume_for_music(u8 vol){
void set_relative_volume_for_music(u8 vol) {
f32 normalized_vol;
musicRelativeVolume = vol;
@@ -686,7 +624,7 @@ void set_relative_volume_for_music(u8 vol){
alCSPSetVol(gMusicPlayer, (s16)((s32)(D_800DC66C*normalized_vol)>>8));
}
void set_music_volume_slider(u32 slider_val){
void set_music_volume_slider(u32 slider_val) {
f32 normalized_vol;
slider_val = (slider_val < 0x101)?slider_val:256;
@@ -708,7 +646,7 @@ void sfxSetRelativeVolume(u8 arg0) {
alCSPSetVol(gSndFxPlayer, (s16) (sfxGetVolumeSlider() * sfxRelativeVolume));
}
void sfxSetPan(ALPan pan){
void sfxSetPan(ALPan pan) {
u32 iChan;
for(iChan = 0; iChan < 16; iChan++){
alCSPSetChlPan(gSndFxPlayer, iChan, pan);
@@ -716,12 +654,12 @@ void sfxSetPan(ALPan pan){
return;
}
void play_sound(u8 arg0){
void play_sound(u8 arg0) {
D_800DC644 = 1;
func_800022BC( D_80115D05 = arg0, gSndFxPlayer);
}
u32 func_80001C08(void){
u32 func_80001C08(void) {
if(D_80115D05 && D_800DC644 && (gSndFxPlayer->state == AL_PLAYING) ){
return D_80115D05;
}
@@ -729,14 +667,13 @@ u32 func_80001C08(void){
return 0;
}
void func_80001C5C(u16 arg0){
void func_80001C5C(u16 arg0) {
u32 s0;
for(s0 = 0; s0<64; s0++){
func_80004A60(s0, arg0 << 8);
}
}
u16 func_80001CB8(u16 arg0) {
if (D_80115D20 < arg0) {
return 0;
@@ -744,20 +681,9 @@ u16 func_80001CB8(u16 arg0) {
return D_80115D18[arg0].unk6;
}
#if 1
GLOBAL_ASM("asm/non_matchings/audio/func_80001D04.s")
#else
#endif
typedef struct unknown_struct_80001EA8_s{
u32 unk00;
u32 unk04;
u32 unk08;
}unknown_struct_80001EA8;
void func_80001EA8(u16 arg0, unknown_struct_80001EA8 arg1, u32 *arg2){
void func_80001EA8(u16 arg0, unknown_struct_80001EA8 arg1, u32 *arg2) {
if(arg2 == NULL){
arg2 = &D_80115F84;
}
@@ -767,9 +693,7 @@ void func_80001EA8(u16 arg0, unknown_struct_80001EA8 arg1, u32 *arg2){
}
}
u16 ALBankFile_80115D14_GetSoundCount(void);
void func_80001F14(u16 sndIndx, u32 *arg1){
void func_80001F14(u16 sndIndx, u32 *arg1) {
if(sndIndx <= 0 || ALBankFile_80115D14_GetSoundCount() < sndIndx){
if(arg1){
*arg1 = 0;
@@ -787,7 +711,7 @@ void func_80001F14(u16 sndIndx, u32 *arg1){
#if 1
GLOBAL_ASM("asm/non_matchings/audio/func_80001FB8.s")
#else
void func_80001FB8(u16 arg0){
void func_80001FB8(u16 arg0) {
arg0*10 + D_80115D18[0].unk00;
}
#endif
@@ -825,21 +749,14 @@ void func_8000216C(unk80115D1C **arg0, s32 *arg1, s32 *arg2) {
}
}
u8 ALBankFile_80115D14_GetSoundDecayTime(u16 sndIndx){
u8 ALBankFile_80115D14_GetSoundDecayTime(u16 sndIndx) {
if(sndIndx <= 0 || ALBankFile_80115D14->bankArray[0]->instArray[0]->soundCount < sndIndx){
return 0;
}
return ((u32)(1+ ALBankFile_80115D14->bankArray[0]->instArray[0]->soundArray[sndIndx-1]->envelope->decayTime) == 0);
}
#if 0
GLOBAL_ASM("asm/non_matchings/audio/func_80002224.s")
#else
extern void alCSPNew(ALCSPlayer *seqp, ALSeqpConfig *config);
extern void alCSPSetBank(ALCSPlayer *seqp, ALBank *b);
ALCSPlayer *func_80002224(s32 _max_voices, s32 _max_events){
ALCSPlayer *func_80002224(s32 _max_voices, s32 _max_events) {
ALCSPlayer *cseqp;
ALSeqpConfig config;
@@ -859,9 +776,6 @@ ALCSPlayer *func_80002224(s32 _max_voices, s32 _max_events){
((u8*) cseqp)[0x36]= 0x7F; //this member doesn't exist in ALCSPlayer
return cseqp;
}
#endif
void func_800022BC(u8 arg0, ALCSPlayer *arg1) {
func_80002570(arg1);
@@ -874,7 +788,6 @@ void func_800022BC(u8 arg0, ALCSPlayer *arg1) {
}
}
#if 1
GLOBAL_ASM("asm/non_matchings/audio/func_8000232C.s")
#else
@@ -895,7 +808,7 @@ void func_8000232C(ALCSPlayer *seqp, void *ptr, u8 *arg2, ALCSeq *seq){
}
#endif
void func_80002570(ALCSPlayer *seqp){
void func_80002570(ALCSPlayer *seqp) {
if(gMusicPlayer == seqp && D_80115D40 != 0){
alCSPStop(seqp);
D_80115D40 = 0;
@@ -910,8 +823,6 @@ void func_80002570(ALCSPlayer *seqp){
return;
}
void func_8006492C(u8 arg0);
void func_80002608(u8 arg0) {
func_8006492C(arg0);
}
+110 -1
View File
@@ -21,5 +21,114 @@ extern s32 D_800DC664;
extern s32 D_800DC668;
extern s32 D_800DC66C;
extern u8 D_800DC670;
extern u8 D_800DC65C;
#endif
typedef struct unknown_struct_80001EA8_s{
u32 unk00;
u32 unk04;
u32 unk08;
}unknown_struct_80001EA8;
/* Size: 0x0A bytes */
typedef struct unk80115D18 {
u8 pad0[6];
u16 unk6;
u8 pad8[2];
} unk80115D18;
/* Size: 3 bytes */
typedef struct unk80115D1C {
u8 unk0;
u8 unk1;
u8 unk2;
} unk80115D1C;
extern void alCSPNew(ALCSPlayer *seqp, ALSeqpConfig *config);
extern void alCSPSetBank(ALCSPlayer *seqp, ALBank *b);
void func_8000B010(ALCSPlayer *, u8); //lib/src/mips1/alseqplayer.c
void *alHeapDBAlloc(u8 *file, s32 line, ALHeap *hp, s32 num, s32 size); //lib/src/al
void func_80004A60(u8, u16); //unknown_003260.c //Could be s32, s32
s32 alCSPSetChlPan(ALCSPlayer *seqp, u8 chan, ALPan pan); //unknown_0C84E0.c
void alCSPSetChlVol(ALCSPlayer *, u8 chan, u8 vol); //unknown_0C84E0.c
s32 alCSPGetChlVol(ALCSPlayer *seqp, u8 chan); //lib/src/al
void func_80063BA0(ALCSPlayer *seqp, u8 arg1, u8 arg2); //unknown_0646A0.c
u8 func_80063C00(ALCSPlayer *seqp, u8 arg1); //lib/src/mips1/al/unknown_064800.c
u8 alSeqpGetChlFXMix(ALSeqPlayer *seqp, u8 chan); //lib/src/al/alSeqpGetChlFXMix.c
void func_8006492C(u8 arg0); //lib/src/mips1/al/reverb.c
ALCSPlayer *func_80002224(s32 _max_voices, s32 _max_events);
void audio_init(u32 arg0);
void set_relative_volume_for_music(u8 vol);
void func_80000890(u8 arg0);
void func_80000968(s32 arg0);
void func_80000B18(void);
void func_80000B28(void);
void func_800022BC(u8 arg0, ALCSPlayer *arg1);
void play_music(u8 arg0);
void func_80000BE0(u8 arg0);
void func_80000C1C(void);
void func_80000C2C(void);
void func_80000C38(u8 arg0);
void func_80000C68(u8 arg0);
void func_80000C98(s32 arg0);
void func_80000CBC(void);
void func_80000D00(u8 arg0);
void func_80000FDC(u16 arg0, s32 arg1, f32 arg2);
void func_80001050(void);
u16 musicGetChanMask(void);
void func_80001074(u16 arg0);
void func_80001114(u8 arg0);
s32 musicGetChnlActive(s32 arg0);
void func_80001170(u8 arg0);
void musicSetChlPan(u8 chan, ALPan pan);
void musicSetChlVol(u8 chan, u8 vol);
s32 musicGetChlVol(u8 arg0);
void func_80001268(u8 arg0, u8 arg1);
u8 func_800012A8(u8 arg0);
void func_800012E8(void);
u8 func_80001358(u8 arg0, u8 arg1, s32 arg2);
void func_80001440(u8 *arg0);
void func_800014BC(f32 arg0);
void musicSetTempo(s32 tempo);
s16 musicGetTempo(void);
u8 music_is_playing(void);
void func_80001728(u8 arg0, u8 *arg1, u8 *arg2, u8 *arg3);
void func_80001784(u8 a0);
void sfxSetTempo(s32 tempo);
void func_80001844(void);
void func_80001878(u8 arg0);
u8 func_800018D0(void);
void func_800018E0(void);
u8 func_80001918(void);
u8 func_80001954(void);
u8 func_80001980(void);
void set_relative_volume_for_music(u8 vol);
void set_music_volume_slider(u32 slider_val);
u8 musicGetRelativeVolume(void);
s32 musicGetVolSliderPercentage(void);
void sfxSetRelativeVolume(u8 arg0);
void sfxSetPan(ALPan pan);
void play_sound(u8 arg0);
u32 func_80001C08(void);
void func_80001C5C(u16 arg0);
u16 func_80001CB8(u16 arg0);
void func_80001EA8(u16 arg0, unknown_struct_80001EA8 arg1, u32 *arg2);
void func_80001F14(u16 sndIndx, u32 *arg1);
u16 ALBankFile_80115D14_GetSoundCount(void);
u8 ALSeqFile_80115CF8_GetSeqCount(void);
void func_80002128(unk80115D18 **arg0, s32 *arg1, s32 *arg2);
void func_8000216C(unk80115D1C **arg0, s32 *arg1, s32 *arg2);
u8 ALBankFile_80115D14_GetSoundDecayTime(u16 sndIndx);
ALCSPlayer *func_80002224(s32 _max_voices, s32 _max_events);
void func_800022BC(u8 arg0, ALCSPlayer *arg1);
void func_80002570(ALCSPlayer *seqp);
void func_80002608(u8 arg0);
u8 func_80002630(void);
void func_80001D04(u16, s32*); //Non matching.
void func_8000232C(ALCSPlayer *seqp, void *ptr, u8 *arg2, ALCSeq *seq); //Non Matching
f32 func_800015F8(void); //Non Matching
void func_80001FB8(u16 arg0); //Non Matching
void func_8000232C(ALCSPlayer *seqp, void *ptr, u8 *arg2, ALCSeq *seq); // Non Matching
#endif