From 005b250ef03ee756831915f0990df9bb0ce0e6fe Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Thu, 14 Oct 2021 19:28:22 +1000 Subject: [PATCH] Decompile n_alSynSetVol --- ld/libfiles.ntsc-beta.inc | 2 +- ld/libfiles.ntsc-final.inc | 2 +- ld/libfiles.pal-final.inc | 2 +- src/include/lib/lib_3ccf0.h | 7 ---- src/lib/lib_317f0.c | 1 - src/lib/lib_3ccf0.c | 62 ------------------------------------ src/lib/naudio/n_synsetvol.c | 29 +++++++++++++++++ src/lib/speaker.c | 1 - 8 files changed, 32 insertions(+), 74 deletions(-) delete mode 100644 src/include/lib/lib_3ccf0.h delete mode 100644 src/lib/lib_3ccf0.c create mode 100644 src/lib/naudio/n_synsetvol.c diff --git a/ld/libfiles.ntsc-beta.inc b/ld/libfiles.ntsc-beta.inc index 830b7bb84..898f45564 100644 --- a/ld/libfiles.ntsc-beta.inc +++ b/ld/libfiles.ntsc-beta.inc @@ -88,7 +88,7 @@ build/ROMID/lib/naudio/n_event.o (section); \ build/ROMID/lib/naudio/n_synaddplayer.o (section); \ build/ROMID/lib/lib_3c890.o (section); \ - build/ROMID/lib/lib_3ccf0.o (section); \ + build/ROMID/lib/naudio/n_synsetvol.o (section); \ build/ROMID/lib/lib_3cdc0.o (section); \ build/ROMID/lib/lib_3cef0.o (section); \ build/ROMID/lib/naudio/n_seqplayer.o (section); \ diff --git a/ld/libfiles.ntsc-final.inc b/ld/libfiles.ntsc-final.inc index 4052cdb94..3623214ae 100644 --- a/ld/libfiles.ntsc-final.inc +++ b/ld/libfiles.ntsc-final.inc @@ -85,7 +85,7 @@ build/ROMID/lib/naudio/n_event.o (section); \ build/ROMID/lib/naudio/n_synaddplayer.o (section); \ build/ROMID/lib/lib_3c890.o (section); \ - build/ROMID/lib/lib_3ccf0.o (section); \ + build/ROMID/lib/naudio/n_synsetvol.o (section); \ build/ROMID/lib/lib_3cdc0.o (section); \ build/ROMID/lib/lib_3cef0.o (section); \ build/ROMID/lib/naudio/n_seqplayer.o (section); \ diff --git a/ld/libfiles.pal-final.inc b/ld/libfiles.pal-final.inc index 7e14c0dee..d2a37f8e1 100644 --- a/ld/libfiles.pal-final.inc +++ b/ld/libfiles.pal-final.inc @@ -85,7 +85,7 @@ build/ROMID/lib/naudio/n_event.o (section); \ build/ROMID/lib/naudio/n_synaddplayer.o (section); \ build/ROMID/lib/lib_3c890.o (section); \ - build/ROMID/lib/lib_3ccf0.o (section); \ + build/ROMID/lib/naudio/n_synsetvol.o (section); \ build/ROMID/lib/lib_3cdc0.o (section); \ build/ROMID/lib/lib_3cef0.o (section); \ build/ROMID/lib/naudio/n_seqplayer.o (section); \ diff --git a/src/include/lib/lib_3ccf0.h b/src/include/lib/lib_3ccf0.h deleted file mode 100644 index ea821f105..000000000 --- a/src/include/lib/lib_3ccf0.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef _IN_LIB_LIB_3CCF0_H -#define _IN_LIB_LIB_3CCF0_H -#include -#include "data.h" -#include "types.h" - -#endif diff --git a/src/lib/lib_317f0.c b/src/lib/lib_317f0.c index 6dd635a0e..c821e8899 100644 --- a/src/lib/lib_317f0.c +++ b/src/lib/lib_317f0.c @@ -8,7 +8,6 @@ #include "lib/lib_39fe0.h" #include "lib/lib_3a100.h" #include "lib/lib_3c4d0.h" -#include "lib/lib_3ccf0.h" #include "lib/lib_3cdc0.h" #include "lib/lib_3cef0.h" #include "lib/lib_3d280.h" diff --git a/src/lib/lib_3ccf0.c b/src/lib/lib_3ccf0.c deleted file mode 100644 index 66e3fd5cd..000000000 --- a/src/lib/lib_3ccf0.c +++ /dev/null @@ -1,62 +0,0 @@ -#include -#include "constants.h" -#include "bss.h" -#include "lib/lib_3e730.h" -#include "data.h" -#include "types.h" - -GLOBAL_ASM( -glabel n_alSynSetVol -/* 3ccf0: 27bdffe0 */ addiu $sp,$sp,-32 -/* 3ccf4: afbf0014 */ sw $ra,0x14($sp) -/* 3ccf8: afa40020 */ sw $a0,0x20($sp) -/* 3ccfc: afa50024 */ sw $a1,0x24($sp) -/* 3cd00: afa60028 */ sw $a2,0x28($sp) -/* 3cd04: 8fae0020 */ lw $t6,0x20($sp) -/* 3cd08: 8dcf0008 */ lw $t7,0x8($t6) -/* 3cd0c: 11e00023 */ beqz $t7,.L0003cd9c -/* 3cd10: 00000000 */ nop -/* 3cd14: 0c00c541 */ jal __n_allocParam -/* 3cd18: 00000000 */ nop -/* 3cd1c: afa2001c */ sw $v0,0x1c($sp) -/* 3cd20: 8fb8001c */ lw $t8,0x1c($sp) -/* 3cd24: 17000003 */ bnez $t8,.L0003cd34 -/* 3cd28: 00000000 */ nop -/* 3cd2c: 1000001d */ b .L0003cda4 -/* 3cd30: 00000000 */ nop -.L0003cd34: -/* 3cd34: 8fa90020 */ lw $t1,0x20($sp) -/* 3cd38: 3c198006 */ lui $t9,%hi(n_syn) -/* 3cd3c: 8f39f114 */ lw $t9,%lo(n_syn)($t9) -/* 3cd40: 8d2a0008 */ lw $t2,0x8($t1) -/* 3cd44: 8fad001c */ lw $t5,0x1c($sp) -/* 3cd48: 8f28001c */ lw $t0,0x1c($t9) -/* 3cd4c: 8d4b0088 */ lw $t3,0x88($t2) -/* 3cd50: 010b6021 */ addu $t4,$t0,$t3 -/* 3cd54: adac0004 */ sw $t4,0x4($t5) -/* 3cd58: 8faf001c */ lw $t7,0x1c($sp) -/* 3cd5c: 240e000b */ addiu $t6,$zero,0xb -/* 3cd60: a5ee0008 */ sh $t6,0x8($t7) -/* 3cd64: 87b80026 */ lh $t8,0x26($sp) -/* 3cd68: 8fb9001c */ lw $t9,0x1c($sp) -/* 3cd6c: af38000c */ sw $t8,0xc($t9) -/* 3cd70: 0c00c5a6 */ jal _n_timeToSamples -/* 3cd74: 8fa40028 */ lw $a0,0x28($sp) -/* 3cd78: 8fa9001c */ lw $t1,0x1c($sp) -/* 3cd7c: ad220010 */ sw $v0,0x10($t1) -/* 3cd80: 8faa001c */ lw $t2,0x1c($sp) -/* 3cd84: ad400000 */ sw $zero,0x0($t2) -/* 3cd88: 8fa80020 */ lw $t0,0x20($sp) -/* 3cd8c: 24050003 */ addiu $a1,$zero,0x3 -/* 3cd90: 8fa6001c */ lw $a2,0x1c($sp) -/* 3cd94: 0c00fc79 */ jal n_alEnvmixerParam -/* 3cd98: 8d040008 */ lw $a0,0x8($t0) -.L0003cd9c: -/* 3cd9c: 10000001 */ b .L0003cda4 -/* 3cda0: 00000000 */ nop -.L0003cda4: -/* 3cda4: 8fbf0014 */ lw $ra,0x14($sp) -/* 3cda8: 27bd0020 */ addiu $sp,$sp,0x20 -/* 3cdac: 03e00008 */ jr $ra -/* 3cdb0: 00000000 */ nop -); diff --git a/src/lib/naudio/n_synsetvol.c b/src/lib/naudio/n_synsetvol.c new file mode 100644 index 000000000..1ec5ce413 --- /dev/null +++ b/src/lib/naudio/n_synsetvol.c @@ -0,0 +1,29 @@ +#include +#include +#include "n_synthInternals.h" + +void n_alSynSetVol(N_ALVoice *v, s16 volume, ALMicroTime t) +{ + ALParam *update; + ALFilter *f; + + if (v->pvoice) { + /* + * get new update struct from the free list + */ + update = __n_allocParam(); + ALFailIf(update == 0, ERR_ALSYN_NO_UPDATE); + + /* + * set offset and volume data + */ + update->delta = n_syn->paramSamples + v->pvoice->offset; + update->type = AL_FILTER_SET_VOLUME; + update->data.i = volume; + update->moredata.i = _n_timeToSamples(t); + update->next = 0; + + n_alEnvmixerParam(v->pvoice, AL_FILTER_ADD_UPDATE, update); + } +} + diff --git a/src/lib/speaker.c b/src/lib/speaker.c index 2106cd37e..e11ca8c09 100644 --- a/src/lib/speaker.c +++ b/src/lib/speaker.c @@ -9,7 +9,6 @@ #include "lib/lib_39fe0.h" #include "lib/lib_3a100.h" #include "lib/lib_3c4d0.h" -#include "lib/lib_3ccf0.h" #include "lib/lib_3cdc0.h" #include "lib/lib_3cef0.h" #include "lib/lib_3d280.h"