From f88f00d32405dce3f8be317c5a192cf36fb176a2 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Thu, 14 Oct 2021 19:15:51 +1000 Subject: [PATCH] Decompile n_alSynAddSndPlayer --- src/include/lib/lib_3c4d0.h | 1 - src/include/lib/lib_3c890.h | 2 +- src/lib/lib_317f0.c | 6 ++--- src/lib/naudio/n_synaddplayer.c | 43 +++++++++------------------------ 4 files changed, 15 insertions(+), 37 deletions(-) diff --git a/src/include/lib/lib_3c4d0.h b/src/include/lib/lib_3c4d0.h index b28bb95ed..333d24066 100644 --- a/src/include/lib/lib_3c4d0.h +++ b/src/include/lib/lib_3c4d0.h @@ -4,7 +4,6 @@ #include "data.h" #include "types.h" -u32 func0003c900(void); u32 func0003c9e0(void); u32 func0003cbb4(void); diff --git a/src/include/lib/lib_3c890.h b/src/include/lib/lib_3c890.h index 25e17a81b..93544d09c 100644 --- a/src/include/lib/lib_3c890.h +++ b/src/include/lib/lib_3c890.h @@ -4,7 +4,7 @@ #include "data.h" #include "types.h" -u32 func0003c900(void); +u32 n_alSynAddSndPlayer(void); u32 func0003c9e0(void); u32 func0003cbb4(void); diff --git a/src/lib/lib_317f0.c b/src/lib/lib_317f0.c index a7b15c37a..6dd635a0e 100644 --- a/src/lib/lib_317f0.c +++ b/src/lib/lib_317f0.c @@ -170,7 +170,7 @@ glabel func000317f0 /* 319f8: 8d8cf12c */ lw $t4,%lo(var8005f12c)($t4) /* 319fc: ad8c0004 */ sw $t4,0x4($t4) /* 31a00: 3c048006 */ lui $a0,%hi(var8005f12c) -/* 31a04: 0c00f240 */ jal func0003c900 +/* 31a04: 0c00f240 */ jal n_alSynAddSndPlayer /* 31a08: 8c84f12c */ lw $a0,%lo(var8005f12c)($a0) /* 31a0c: 24080020 */ addiu $t0,$zero,0x20 /* 31a10: a7a80028 */ sh $t0,0x28($sp) @@ -337,7 +337,7 @@ glabel func000317f0 /* 319f8: 8d8cf12c */ lw $t4,%lo(var8005f12c)($t4) /* 319fc: ad8c0004 */ sw $t4,0x4($t4) /* 31a00: 3c048006 */ lui $a0,%hi(var8005f12c) -/* 31a04: 0c00f240 */ jal func0003c900 +/* 31a04: 0c00f240 */ jal n_alSynAddSndPlayer /* 31a08: 8c84f12c */ lw $a0,%lo(var8005f12c)($a0) /* 31a0c: 24080020 */ addiu $t0,$zero,0x20 /* 31a10: a7a80028 */ sh $t0,0x28($sp) @@ -500,7 +500,7 @@ glabel func000317f0 /* 33138: 8d8c163c */ lw $t4,0x163c($t4) /* 3313c: ad8c0004 */ sw $t4,0x4($t4) /* 33140: 3c048006 */ lui $a0,0x8006 -/* 33144: 0c00f734 */ jal func0003c900 +/* 33144: 0c00f734 */ jal n_alSynAddSndPlayer /* 33148: 8c84163c */ lw $a0,0x163c($a0) /* 3314c: 24080020 */ addiu $t0,$zero,0x20 /* 33150: a7a80028 */ sh $t0,0x28($sp) diff --git a/src/lib/naudio/n_synaddplayer.c b/src/lib/naudio/n_synaddplayer.c index 57b62e582..f39604a25 100644 --- a/src/lib/naudio/n_synaddplayer.c +++ b/src/lib/naudio/n_synaddplayer.c @@ -13,38 +13,17 @@ void n_alSynAddPlayer(ALPlayer *client) osSetIntMask(mask); } -GLOBAL_ASM( -glabel func0003c900 -/* 3c900: 27bdffe0 */ addiu $sp,$sp,-32 -/* 3c904: afbf0014 */ sw $ra,0x14($sp) -/* 3c908: afa40020 */ sw $a0,0x20($sp) -/* 3c90c: 0c012194 */ jal osSetIntMask -/* 3c910: 24040001 */ addiu $a0,$zero,0x1 -/* 3c914: afa2001c */ sw $v0,0x1c($sp) -/* 3c918: 3c0e8006 */ lui $t6,%hi(n_syn) -/* 3c91c: 8dcef114 */ lw $t6,%lo(n_syn)($t6) -/* 3c920: 8fb80020 */ lw $t8,0x20($sp) -/* 3c924: 8dcf0020 */ lw $t7,0x20($t6) -/* 3c928: af0f0010 */ sw $t7,0x10($t8) -/* 3c92c: 3c198006 */ lui $t9,%hi(n_syn) -/* 3c930: 8f39f114 */ lw $t9,%lo(n_syn)($t9) -/* 3c934: 8fa90020 */ lw $t1,0x20($sp) -/* 3c938: 8f280000 */ lw $t0,0x0($t9) -/* 3c93c: ad280000 */ sw $t0,0x0($t1) -/* 3c940: 3c0b8006 */ lui $t3,%hi(n_syn) -/* 3c944: 8d6bf114 */ lw $t3,%lo(n_syn)($t3) -/* 3c948: 8faa0020 */ lw $t2,0x20($sp) -/* 3c94c: ad6a0000 */ sw $t2,0x0($t3) -/* 3c950: 0c012194 */ jal osSetIntMask -/* 3c954: 8fa4001c */ lw $a0,0x1c($sp) -/* 3c958: 10000001 */ b .L0003c960 -/* 3c95c: 00000000 */ nop -.L0003c960: -/* 3c960: 8fbf0014 */ lw $ra,0x14($sp) -/* 3c964: 27bd0020 */ addiu $sp,$sp,0x20 -/* 3c968: 03e00008 */ jr $ra -/* 3c96c: 00000000 */ nop -); +void n_alSynAddSndPlayer(ALPlayer *client) +{ + OSIntMask mask = osSetIntMask(OS_IM_NONE); + + client->samplesLeft = n_syn->curSamples; + + client->next = n_syn->head; + n_syn->head = client; + + osSetIntMask(mask); +} GLOBAL_ASM( glabel n_alSynAddSeqPlayer