Decompile n_alSynFilter12
This commit is contained in:
parent
02ca4099d1
commit
cc403a04ec
|
@ -101,6 +101,7 @@ void n_alSynStartVoiceParams(N_ALVoice *v, ALWaveTable *w,f32 pitch, s16 vol,
|
|||
void n_alSynStopVoice( N_ALVoice *v);
|
||||
|
||||
void n_alSynFilter11(N_ALVoice *v, u8 channel);
|
||||
void n_alSynFilter12(N_ALVoice *v, u8 arg1);
|
||||
void n_alSynFilter13(N_ALVoice *v, f32 arg1);
|
||||
|
||||
void n_alSynNew(ALSynConfig *c);
|
||||
|
|
|
@ -99,6 +99,7 @@
|
|||
build/ROMID/lib/naudio/n_synfreevoice.o (section); \
|
||||
build/ROMID/lib/naudio/n_seqplayer.o (section); \
|
||||
build/ROMID/lib/naudio/n_synfilter13.o (section); \
|
||||
build/ROMID/lib/naudio/n_synfilter12.o (section); \
|
||||
build/ROMID/lib/lib_3e3e0.o (section); \
|
||||
build/ROMID/lib/naudio/n_synsetfxparam.o (section); \
|
||||
build/ROMID/lib/naudio/n_synfilter11.o (section); \
|
||||
|
|
|
@ -96,6 +96,7 @@
|
|||
build/ROMID/lib/naudio/n_synfreevoice.o (section); \
|
||||
build/ROMID/lib/naudio/n_seqplayer.o (section); \
|
||||
build/ROMID/lib/naudio/n_synfilter13.o (section); \
|
||||
build/ROMID/lib/naudio/n_synfilter12.o (section); \
|
||||
build/ROMID/lib/lib_3e3e0.o (section); \
|
||||
build/ROMID/lib/naudio/n_synsetfxparam.o (section); \
|
||||
build/ROMID/lib/naudio/n_synfilter11.o (section); \
|
||||
|
|
|
@ -96,6 +96,7 @@
|
|||
build/ROMID/lib/naudio/n_synfreevoice.o (section); \
|
||||
build/ROMID/lib/naudio/n_seqplayer.o (section); \
|
||||
build/ROMID/lib/naudio/n_synfilter13.o (section); \
|
||||
build/ROMID/lib/naudio/n_synfilter12.o (section); \
|
||||
build/ROMID/lib/lib_3e3e0.o (section); \
|
||||
build/ROMID/lib/naudio/n_synsetfxparam.o (section); \
|
||||
build/ROMID/lib/naudio/n_synfilter11.o (section); \
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u32 func0003e490(void);
|
||||
ALFxRef func0003e540(u8 arg0);
|
||||
ALFxRef func0003e5b8(u8 arg0);
|
||||
void func0003e674(struct fx *fx, s16 arg1, void *param);
|
||||
|
|
|
@ -5,57 +5,6 @@
|
|||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0003e490
|
||||
/* 3e490: 27bdffe0 */ addiu $sp,$sp,-32
|
||||
/* 3e494: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* 3e498: afa40020 */ sw $a0,0x20($sp)
|
||||
/* 3e49c: afa50024 */ sw $a1,0x24($sp)
|
||||
/* 3e4a0: 8fae0020 */ lw $t6,0x20($sp)
|
||||
/* 3e4a4: 8dcf0008 */ lw $t7,0x8($t6)
|
||||
/* 3e4a8: 11e0001f */ beqz $t7,.L0003e528
|
||||
/* 3e4ac: 00000000 */ nop
|
||||
/* 3e4b0: 0c00c541 */ jal __n_allocParam
|
||||
/* 3e4b4: 00000000 */ nop
|
||||
/* 3e4b8: afa2001c */ sw $v0,0x1c($sp)
|
||||
/* 3e4bc: 8fb8001c */ lw $t8,0x1c($sp)
|
||||
/* 3e4c0: 17000003 */ bnez $t8,.L0003e4d0
|
||||
/* 3e4c4: 00000000 */ nop
|
||||
/* 3e4c8: 10000019 */ b .L0003e530
|
||||
/* 3e4cc: 00000000 */ nop
|
||||
.L0003e4d0:
|
||||
/* 3e4d0: 8fa90020 */ lw $t1,0x20($sp)
|
||||
/* 3e4d4: 3c198006 */ lui $t9,%hi(n_syn)
|
||||
/* 3e4d8: 8f39f114 */ lw $t9,%lo(n_syn)($t9)
|
||||
/* 3e4dc: 8d2a0008 */ lw $t2,0x8($t1)
|
||||
/* 3e4e0: 8fad001c */ lw $t5,0x1c($sp)
|
||||
/* 3e4e4: 8f28001c */ lw $t0,0x1c($t9)
|
||||
/* 3e4e8: 8d4b0088 */ lw $t3,0x88($t2)
|
||||
/* 3e4ec: 010b6021 */ addu $t4,$t0,$t3
|
||||
/* 3e4f0: adac0004 */ sw $t4,0x4($t5)
|
||||
/* 3e4f4: 8faf001c */ lw $t7,0x1c($sp)
|
||||
/* 3e4f8: 240e0012 */ addiu $t6,$zero,0x12
|
||||
/* 3e4fc: a5ee0008 */ sh $t6,0x8($t7)
|
||||
/* 3e500: 93b80027 */ lbu $t8,0x27($sp)
|
||||
/* 3e504: 8fb9001c */ lw $t9,0x1c($sp)
|
||||
/* 3e508: af38000c */ sw $t8,0xc($t9)
|
||||
/* 3e50c: 8fa9001c */ lw $t1,0x1c($sp)
|
||||
/* 3e510: ad200000 */ sw $zero,0x0($t1)
|
||||
/* 3e514: 8faa0020 */ lw $t2,0x20($sp)
|
||||
/* 3e518: 24050003 */ addiu $a1,$zero,0x3
|
||||
/* 3e51c: 8fa6001c */ lw $a2,0x1c($sp)
|
||||
/* 3e520: 0c00fc79 */ jal n_alEnvmixerParam
|
||||
/* 3e524: 8d440008 */ lw $a0,0x8($t2)
|
||||
.L0003e528:
|
||||
/* 3e528: 10000001 */ b .L0003e530
|
||||
/* 3e52c: 00000000 */ nop
|
||||
.L0003e530:
|
||||
/* 3e530: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* 3e534: 27bd0020 */ addiu $sp,$sp,0x20
|
||||
/* 3e538: 03e00008 */ jr $ra
|
||||
/* 3e53c: 00000000 */ nop
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0003e540
|
||||
/* 3e540: 00042400 */ sll $a0,$a0,0x10
|
||||
|
|
|
@ -564,7 +564,7 @@ void func00034fb8(N_ALCSPlayer *seqp, u8 channel)
|
|||
if (vs->channel == channel) {
|
||||
sp2a = seqp->chanState[channel].unk11;
|
||||
|
||||
func0003e490(&vs->voice, sp2a);
|
||||
n_alSynFilter12(&vs->voice, sp2a);
|
||||
|
||||
if (sp2a) {
|
||||
n_alSynFilter13(&vs->voice, func0003b9d4((vs->key - vs->sound->keyMap->keyBase) + sp29) * 440 * sp24);
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
#include <os_internal.h>
|
||||
#include <ultraerror.h>
|
||||
#include "n_synthInternals.h"
|
||||
|
||||
void n_alSynFilter12(N_ALVoice *v, u8 arg1)
|
||||
{
|
||||
ALParam *update;
|
||||
|
||||
if (v->pvoice) {
|
||||
update = (ALParam *)__n_allocParam();
|
||||
ALFailIf(update == 0, ERR_ALSYN_NO_UPDATE);
|
||||
|
||||
update->delta = n_syn->paramSamples + v->pvoice->offset;
|
||||
update->type = AL_FILTER_12;
|
||||
update->data.i = arg1;
|
||||
update->next = 0;
|
||||
|
||||
n_alEnvmixerParam(v->pvoice, AL_FILTER_ADD_UPDATE, update);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue