From 60d51bfcf17da552e12e4b5507f8ef6a2a394203 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 31 Oct 2021 22:19:47 +1000 Subject: [PATCH] Decompile n_alCSPSetSeq --- ld/libfiles.ntsc-beta.inc | 1 + ld/libfiles.ntsc-final.inc | 1 + ld/libfiles.pal-final.inc | 1 + src/include/lib/lib_39be0.h | 1 - src/lib/lib_39be0.c | 25 ------------------------- src/lib/naudio/n_cspsetseq.c | 12 ++++++++++++ src/lib/snd.c | 4 ++-- 7 files changed, 17 insertions(+), 28 deletions(-) create mode 100644 src/lib/naudio/n_cspsetseq.c diff --git a/ld/libfiles.ntsc-beta.inc b/ld/libfiles.ntsc-beta.inc index 379b5d16e..8273424c7 100644 --- a/ld/libfiles.ntsc-beta.inc +++ b/ld/libfiles.ntsc-beta.inc @@ -79,6 +79,7 @@ build/ROMID/lib/mp3.o (section); \ build/ROMID/lib/naudio/n_cspgetstate.o (section); \ build/ROMID/lib/naudio/n_csq.o (section); \ + build/ROMID/lib/naudio/n_cspsetseq.o (section); \ build/ROMID/lib/lib_39be0.o (section); \ build/ROMID/lib/naudio/n_cspsetvol.o (section); \ build/ROMID/lib/lib_39c80.o (section); \ diff --git a/ld/libfiles.ntsc-final.inc b/ld/libfiles.ntsc-final.inc index f3a3e013e..5fdbdc11f 100644 --- a/ld/libfiles.ntsc-final.inc +++ b/ld/libfiles.ntsc-final.inc @@ -76,6 +76,7 @@ build/ROMID/lib/mp3.o (section); \ build/ROMID/lib/naudio/n_cspgetstate.o (section); \ build/ROMID/lib/naudio/n_csq.o (section); \ + build/ROMID/lib/naudio/n_cspsetseq.o (section); \ build/ROMID/lib/lib_39be0.o (section); \ build/ROMID/lib/naudio/n_cspsetvol.o (section); \ build/ROMID/lib/lib_39c80.o (section); \ diff --git a/ld/libfiles.pal-final.inc b/ld/libfiles.pal-final.inc index c99f178fa..9df88bc08 100644 --- a/ld/libfiles.pal-final.inc +++ b/ld/libfiles.pal-final.inc @@ -76,6 +76,7 @@ build/ROMID/lib/mp3.o (section); \ build/ROMID/lib/naudio/n_cspgetstate.o (section); \ build/ROMID/lib/naudio/n_csq.o (section); \ + build/ROMID/lib/naudio/n_cspsetseq.o (section); \ build/ROMID/lib/lib_39be0.o (section); \ build/ROMID/lib/naudio/n_cspsetvol.o (section); \ build/ROMID/lib/lib_39c80.o (section); \ diff --git a/src/include/lib/lib_39be0.h b/src/include/lib/lib_39be0.h index e475b0f90..1da26e583 100644 --- a/src/include/lib/lib_39be0.h +++ b/src/include/lib/lib_39be0.h @@ -4,7 +4,6 @@ #include "data.h" #include "types.h" -void func00039be0(N_ALCSPlayer *seqp, void *arg1); void func00039c30(N_ALCSPlayer *seqp); #endif diff --git a/src/lib/lib_39be0.c b/src/lib/lib_39be0.c index 1ce0d6a6c..9bea61678 100644 --- a/src/lib/lib_39be0.c +++ b/src/lib/lib_39be0.c @@ -4,31 +4,6 @@ #include "data.h" #include "types.h" -GLOBAL_ASM( -glabel func00039be0 -/* 39be0: 27bdffd8 */ addiu $sp,$sp,-40 -/* 39be4: afbf0014 */ sw $ra,0x14($sp) -/* 39be8: afa40028 */ sw $a0,0x28($sp) -/* 39bec: afa5002c */ sw $a1,0x2c($sp) -/* 39bf0: 240e000d */ addiu $t6,$zero,0xd -/* 39bf4: a7ae0018 */ sh $t6,0x18($sp) -/* 39bf8: 8faf002c */ lw $t7,0x2c($sp) -/* 39bfc: afaf001c */ sw $t7,0x1c($sp) -/* 39c00: 8fa40028 */ lw $a0,0x28($sp) -/* 39c04: 27a50018 */ addiu $a1,$sp,0x18 -/* 39c08: 00003025 */ or $a2,$zero,$zero -/* 39c0c: 00003825 */ or $a3,$zero,$zero -/* 39c10: 0c00f184 */ jal n_alEvtqPostEvent -/* 39c14: 24840048 */ addiu $a0,$a0,0x48 -/* 39c18: 10000001 */ b .L00039c20 -/* 39c1c: 00000000 */ nop -.L00039c20: -/* 39c20: 8fbf0014 */ lw $ra,0x14($sp) -/* 39c24: 27bd0028 */ addiu $sp,$sp,0x28 -/* 39c28: 03e00008 */ jr $ra -/* 39c2c: 00000000 */ nop -); - GLOBAL_ASM( glabel func00039c30 /* 39c30: 27bdffd8 */ addiu $sp,$sp,-40 diff --git a/src/lib/naudio/n_cspsetseq.c b/src/lib/naudio/n_cspsetseq.c new file mode 100644 index 000000000..009754c64 --- /dev/null +++ b/src/lib/naudio/n_cspsetseq.c @@ -0,0 +1,12 @@ +#include +#include "n_libaudio.h" + +void n_alCSPSetSeq(N_ALCSPlayer *seqp, ALCSeq *seq) +{ + N_ALEvent evt; + + evt.type = AL_SEQP_SEQ_EVT; + evt.msg.spseq.seq = seq; + + n_alEvtqPostEvent(&seqp->evtq, &evt, 0, 0); +} diff --git a/src/lib/snd.c b/src/lib/snd.c index 207820da3..9ff935a9f 100644 --- a/src/lib/snd.c +++ b/src/lib/snd.c @@ -2478,7 +2478,7 @@ bool seqPlay(struct seqinstance *seq, s32 tracknum) rzipInflate(zipstart, binstart, scratch); n_alCSeqNew(&seq->seq, seq->data); - func00039be0(seq->seqp, seq); + n_alCSPSetSeq(seq->seqp, &seq->seq); seqSetVolume(seq, seqGetVolume(seq)); func00039c30(seq->seqp); @@ -2601,7 +2601,7 @@ glabel seqPlay /* 1027c: 0c00e840 */ jal n_alCSeqNew /* 10280: 8e0500fc */ lw $a1,0xfc($s0) /* 10284: 8e0400f8 */ lw $a0,0xf8($s0) -/* 10288: 0c00ebec */ jal func00039be0 +/* 10288: 0c00ebec */ jal n_alCSPSetSeq /* 1028c: 02002825 */ or $a1,$s0,$zero /* 10290: 0c0040b1 */ jal seqGetVolume /* 10294: 02002025 */ or $a0,$s0,$zero