diff --git a/src/include/lib/lib_39fc0.h b/src/include/lib/lib_39fc0.h index 0edb48e58..0846e4f9a 100644 --- a/src/include/lib/lib_39fc0.h +++ b/src/include/lib/lib_39fc0.h @@ -4,6 +4,6 @@ #include "data.h" #include "types.h" -u32 func00039fc0(void); +void n_alSynDelete(void); #endif diff --git a/src/lib/audiomgr.c b/src/lib/audiomgr.c index b5eab4b7e..61b8be3fd 100644 --- a/src/lib/audiomgr.c +++ b/src/lib/audiomgr.c @@ -1520,7 +1520,7 @@ glabel amgrMain /* 931c: 1260ff7a */ beqz $s3,.PF00009108 /* 9320: 00000000 */ nop /* 9324: 3c048009 */ lui $a0,0x8009 -/* 9328: 0c00bd43 */ jal alClose +/* 9328: 0c00bd43 */ jal n_alClose /* 932c: 24841dd0 */ addiu $a0,$a0,0x1dd0 /* 9330: 8fbf003c */ lw $ra,0x3c($sp) /* 9334: 8fb00018 */ lw $s0,0x18($sp) @@ -1722,7 +1722,7 @@ glabel amgrMain /* 9404: 1260ff7a */ beqz $s3,.L000091f0 /* 9408: 00000000 */ nop /* 940c: 3c048009 */ lui $a0,%hi(g_AudioManager+0x2b8) -/* 9410: 0c00bf03 */ jal alClose +/* 9410: 0c00bf03 */ jal n_alClose /* 9414: 24841880 */ addiu $a0,$a0,%lo(g_AudioManager+0x2b8) /* 9418: 8fbf003c */ lw $ra,0x3c($sp) /* 941c: 8fb00018 */ lw $s0,0x18($sp) @@ -1799,7 +1799,7 @@ glabel amgrMain // } // } // -// alClose(&g_AudioManager.g); +// n_alClose(&g_AudioManager.g); //} GLOBAL_ASM( diff --git a/src/lib/lib_2fba0.c b/src/lib/lib_2fba0.c index 007fb7d00..903371700 100644 --- a/src/lib/lib_2fba0.c +++ b/src/lib/lib_2fba0.c @@ -8,8 +8,6 @@ ALGlobals *var8005f110 = NULL; ALGlobals *alGlobals = NULL; -u32 var8005f118 = 0; -u32 var8005f11c = 0; void n_alInit(ALGlobals *g, ALSynConfig *c) { @@ -23,27 +21,11 @@ void n_alInit(ALGlobals *g, ALSynConfig *c) } } -GLOBAL_ASM( -glabel alClose -/* 2fc0c: 27bdffe8 */ addiu $sp,$sp,-24 -/* 2fc10: afbf0014 */ sw $ra,0x14($sp) -/* 2fc14: afa40018 */ sw $a0,0x18($sp) -/* 2fc18: 3c0e8006 */ lui $t6,%hi(var8005f110) -/* 2fc1c: 8dcef110 */ lw $t6,%lo(var8005f110)($t6) -/* 2fc20: 11c00007 */ beqz $t6,.L0002fc40 -/* 2fc24: 00000000 */ nop -/* 2fc28: 0c00e7f0 */ jal func00039fc0 -/* 2fc2c: 00000000 */ nop -/* 2fc30: 3c018006 */ lui $at,%hi(var8005f110) -/* 2fc34: ac20f110 */ sw $zero,%lo(var8005f110)($at) -/* 2fc38: 3c018006 */ lui $at,%hi(alGlobals) -/* 2fc3c: ac20f114 */ sw $zero,%lo(alGlobals)($at) -.L0002fc40: -/* 2fc40: 10000001 */ b .L0002fc48 -/* 2fc44: 00000000 */ nop -.L0002fc48: -/* 2fc48: 8fbf0014 */ lw $ra,0x14($sp) -/* 2fc4c: 27bd0018 */ addiu $sp,$sp,0x18 -/* 2fc50: 03e00008 */ jr $ra -/* 2fc54: 00000000 */ nop -); +void n_alClose(ALGlobals *g) +{ + if (var8005f110) { + n_alSynDelete(); + var8005f110 = NULL; + alGlobals = NULL; + } +} diff --git a/src/lib/lib_39fc0.c b/src/lib/lib_39fc0.c index 068522b3a..65706d0cd 100644 --- a/src/lib/lib_39fc0.c +++ b/src/lib/lib_39fc0.c @@ -5,7 +5,7 @@ #include "types.h" GLOBAL_ASM( -glabel func00039fc0 +glabel n_alSynDelete /* 39fc0: 3c0e8006 */ lui $t6,%hi(alGlobals) /* 39fc4: 8dcef114 */ lw $t6,%lo(alGlobals)($t6) /* 39fc8: adc00000 */ sw $zero,0x0($t6)