Decompile __n_CSPVoiceHandler

This commit is contained in:
Ryan Dwyer 2021-10-16 11:02:12 +10:00
parent 2ecbba6098
commit 2ff125a2f0
9 changed files with 314 additions and 723 deletions

View File

@ -437,7 +437,9 @@ enum ALMsg {
AL_CSP_LOOPEND, AL_CSP_LOOPEND,
AL_CSP_NOTEOFF_EVT, AL_CSP_NOTEOFF_EVT,
AL_TREM_OSC_EVT, AL_TREM_OSC_EVT,
AL_VIB_OSC_EVT AL_VIB_OSC_EVT,
AL_18_EVT,
AL_19_EVT
}; };
/* /*

View File

@ -130,6 +130,18 @@ typedef struct {
u8 chan; u8 chan;
} N_ALOscEvent; } N_ALOscEvent;
typedef struct {
f32 unk00;
f32 unk04;
} N_AL18Event;
typedef struct {
u8 unk00;
u8 unk01;
u8 unk02;
u8 unk03;
u8 param;
} N_AL19Event;
typedef struct { typedef struct {
s16 type; s16 type;
@ -145,6 +157,8 @@ typedef struct {
ALSeqpSeqEvent spseq; ALSeqpSeqEvent spseq;
ALSeqpBankEvent spbank; ALSeqpBankEvent spbank;
N_ALOscEvent osc; N_ALOscEvent osc;
N_AL18Event evt18;
N_AL19Event evt19;
} msg; } msg;
} N_ALEvent; } N_ALEvent;

View File

@ -5,9 +5,6 @@
#include "types.h" #include "types.h"
u32 func0003cef0(void); u32 func0003cef0(void);
u32 func0003cfa0(void); void func0003d050(N_ALVoice *v, u8 arg1);
u32 func0003d050(void);
u32 func0003d100(void);
u32 func0003d1a0(void);
#endif #endif

View File

@ -4,9 +4,9 @@
#include "data.h" #include "data.h"
#include "types.h" #include "types.h"
u32 func0003d280(void); u32 __n_unmapVoice(void);
u32 __n_mapVoice(void); u32 __n_mapVoice(void);
u32 __n_lookupSoundQuick(void); u32 __n_lookupSoundQuick(void);
u32 func0003d9cc(void); u8 func0003d9cc(N_ALVoiceState *vs, N_ALCSPlayer *seqp);
#endif #endif

View File

@ -4,10 +4,10 @@
#include "data.h" #include "data.h"
#include "types.h" #include "types.h"
u32 func0003e3e0(void); void func0003e3e0(N_ALVoice *v, f32 arg1);
u32 func0003e490(void); u32 func0003e490(void);
u32 func0003e540(void); ALFxRef func0003e540(u8 arg0);
u32 func0003e5b8(void); ALFxRef func0003e5b8(u8 arg0);
u32 func0003e674(void); void func0003e674(ALFxRef fx, u8 arg1, void *param);
#endif #endif

View File

@ -1511,7 +1511,7 @@ glabel var7005477c
/* 32804: 2544000c */ addiu $a0,$t2,0xc /* 32804: 2544000c */ addiu $a0,$t2,0xc
/* 32808: 46128102 */ mul.s $f4,$f16,$f18 /* 32808: 46128102 */ mul.s $f4,$f16,$f18
/* 3280c: 44052000 */ mfc1 $a1,$f4 /* 3280c: 44052000 */ mfc1 $a1,$f4
/* 32810: 0c00f3e8 */ jal func0003cfa0 /* 32810: 0c00f3e8 */ jal n_alSynSetPitch
/* 32814: 00000000 */ nop /* 32814: 00000000 */ nop
/* 32818: 8fa80060 */ lw $t0,0x60($sp) /* 32818: 8fa80060 */ lw $t0,0x60($sp)
/* 3281c: 910f0044 */ lbu $t7,0x44($t0) /* 3281c: 910f0044 */ lbu $t7,0x44($t0)
@ -2927,7 +2927,7 @@ glabel var7005477c
/* 33de4: 25e4000c */ addiu $a0,$t7,0xc /* 33de4: 25e4000c */ addiu $a0,$t7,0xc
/* 33de8: 46105482 */ mul.s $f18,$f10,$f16 /* 33de8: 46105482 */ mul.s $f18,$f10,$f16
/* 33dec: 44059000 */ mfc1 $a1,$f18 /* 33dec: 44059000 */ mfc1 $a1,$f18
/* 33df0: 0c00f8dc */ jal func0003cfa0 /* 33df0: 0c00f8dc */ jal n_alSynSetPitch
/* 33df4: 00000000 */ sll $zero,$zero,0x0 /* 33df4: 00000000 */ sll $zero,$zero,0x0
/* 33df8: 8fa80060 */ lw $t0,0x60($sp) /* 33df8: 8fa80060 */ lw $t0,0x60($sp)
/* 33dfc: 910d0044 */ lbu $t5,0x44($t0) /* 33dfc: 910d0044 */ lbu $t5,0x44($t0)
@ -3506,10 +3506,10 @@ glabel func00033090
/* 330a8: 13000007 */ beqz $t8,.L000330c8 /* 330a8: 13000007 */ beqz $t8,.L000330c8
/* 330ac: 00000000 */ nop /* 330ac: 00000000 */ nop
/* 330b0: 8fa40018 */ lw $a0,0x18($sp) /* 330b0: 8fa40018 */ lw $a0,0x18($sp)
/* 330b4: 0c00f440 */ jal func0003d100 /* 330b4: 0c00f440 */ jal n_alSynStopVoice
/* 330b8: 2484000c */ addiu $a0,$a0,0xc /* 330b8: 2484000c */ addiu $a0,$a0,0xc
/* 330bc: 8fa40018 */ lw $a0,0x18($sp) /* 330bc: 8fa40018 */ lw $a0,0x18($sp)
/* 330c0: 0c00f468 */ jal func0003d1a0 /* 330c0: 0c00f468 */ jal n_alSynFreeVoice
/* 330c4: 2484000c */ addiu $a0,$a0,0xc /* 330c4: 2484000c */ addiu $a0,$a0,0xc
.L000330c8: .L000330c8:
/* 330c8: 0c00cd93 */ jal func0003364c /* 330c8: 0c00cd93 */ jal func0003364c

View File

@ -57,7 +57,7 @@ glabel func0003cef0
); );
GLOBAL_ASM( GLOBAL_ASM(
glabel func0003cfa0 glabel n_alSynSetPitch
/* 3cfa0: 27bdffe0 */ addiu $sp,$sp,-32 /* 3cfa0: 27bdffe0 */ addiu $sp,$sp,-32
/* 3cfa4: afbf0014 */ sw $ra,0x14($sp) /* 3cfa4: afbf0014 */ sw $ra,0x14($sp)
/* 3cfa8: afa40020 */ sw $a0,0x20($sp) /* 3cfa8: afa40020 */ sw $a0,0x20($sp)
@ -159,7 +159,7 @@ glabel func0003d050
); );
GLOBAL_ASM( GLOBAL_ASM(
glabel func0003d100 glabel n_alSynStopVoice
/* 3d100: 27bdffe0 */ addiu $sp,$sp,-32 /* 3d100: 27bdffe0 */ addiu $sp,$sp,-32
/* 3d104: afbf0014 */ sw $ra,0x14($sp) /* 3d104: afbf0014 */ sw $ra,0x14($sp)
/* 3d108: afa40020 */ sw $a0,0x20($sp) /* 3d108: afa40020 */ sw $a0,0x20($sp)
@ -206,7 +206,7 @@ glabel func0003d100
); );
GLOBAL_ASM( GLOBAL_ASM(
glabel func0003d1a0 glabel n_alSynFreeVoice
/* 3d1a0: 27bdffe0 */ addiu $sp,$sp,-32 /* 3d1a0: 27bdffe0 */ addiu $sp,$sp,-32
/* 3d1a4: afbf0014 */ sw $ra,0x14($sp) /* 3d1a4: afbf0014 */ sw $ra,0x14($sp)
/* 3d1a8: afa40020 */ sw $a0,0x20($sp) /* 3d1a8: afa40020 */ sw $a0,0x20($sp)

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,7 @@
#include "seq.h" #include "seq.h"
GLOBAL_ASM( GLOBAL_ASM(
glabel func0003d280 glabel __n_unmapVoice
/* 3d280: 27bdfff8 */ addiu $sp,$sp,-8 /* 3d280: 27bdfff8 */ addiu $sp,$sp,-8
/* 3d284: afa00004 */ sw $zero,0x4($sp) /* 3d284: afa00004 */ sw $zero,0x4($sp)
/* 3d288: 8c8e0064 */ lw $t6,0x64($a0) /* 3d288: 8c8e0064 */ lw $t6,0x64($a0)
@ -64,7 +64,7 @@ glabel func0003d280
/* 3d33c: 27bd0008 */ addiu $sp,$sp,0x8 /* 3d33c: 27bd0008 */ addiu $sp,$sp,0x8
); );
void __seqpReleaseVoice(N_ALSeqPlayer *seqp, N_ALVoice *voice, ALMicroTime deltaTime) void __n_seqpReleaseVoice(N_ALSeqPlayer *seqp, N_ALVoice *voice, ALMicroTime deltaTime)
{ {
N_ALEvent evt; N_ALEvent evt;
N_ALVoiceState *vs = (N_ALVoiceState *)voice->clientPrivate; N_ALVoiceState *vs = (N_ALVoiceState *)voice->clientPrivate;