Decompile __n_lookupVoice

This commit is contained in:
Ryan Dwyer 2021-10-14 21:51:09 +10:00
parent 97b814256f
commit ddd76bcdf9
3 changed files with 22 additions and 48 deletions

View File

@ -6,7 +6,7 @@
u32 func0003d280(void);
u32 func0003d5d8(void);
u32 func0003d69c(void);
u32 __n_lookupVoice(void);
u32 func0003d72c(void);
u32 func0003d8a4(void);
u32 func0003d9cc(void);

View File

@ -2151,7 +2151,7 @@ glabel var70054a74
.L00035a44:
/* 35a44: 8fa400d0 */ lw $a0,0xd0($sp)
/* 35a48: 93a500c2 */ lbu $a1,0xc2($sp)
/* 35a4c: 0c00f5a7 */ jal func0003d69c
/* 35a4c: 0c00f5a7 */ jal __n_lookupVoice
/* 35a50: 93a600c3 */ lbu $a2,0xc3($sp)
/* 35a54: afa2009c */ sw $v0,0x9c($sp)
/* 35a58: 8fae009c */ lw $t6,0x9c($sp)
@ -2229,7 +2229,7 @@ glabel var70054a74
/* 35b64: 00000000 */ nop
/* 35b68: 8fa400d0 */ lw $a0,0xd0($sp)
/* 35b6c: 93a500c2 */ lbu $a1,0xc2($sp)
/* 35b70: 0c00f5a7 */ jal func0003d69c
/* 35b70: 0c00f5a7 */ jal __n_lookupVoice
/* 35b74: 93a600c3 */ lbu $a2,0xc3($sp)
/* 35b78: afa2009c */ sw $v0,0x9c($sp)
/* 35b7c: 8fae009c */ lw $t6,0x9c($sp)
@ -4669,7 +4669,7 @@ glabel var70054a74
.L00035a44:
/* 35a44: 8fa400d0 */ lw $a0,0xd0($sp)
/* 35a48: 93a500c2 */ lbu $a1,0xc2($sp)
/* 35a4c: 0c00f5a7 */ jal func0003d69c
/* 35a4c: 0c00f5a7 */ jal __n_lookupVoice
/* 35a50: 93a600c3 */ lbu $a2,0xc3($sp)
/* 35a54: afa2009c */ sw $v0,0x9c($sp)
/* 35a58: 8fae009c */ lw $t6,0x9c($sp)
@ -4747,7 +4747,7 @@ glabel var70054a74
/* 35b64: 00000000 */ nop
/* 35b68: 8fa400d0 */ lw $a0,0xd0($sp)
/* 35b6c: 93a500c2 */ lbu $a1,0xc2($sp)
/* 35b70: 0c00f5a7 */ jal func0003d69c
/* 35b70: 0c00f5a7 */ jal __n_lookupVoice
/* 35b74: 93a600c3 */ lbu $a2,0xc3($sp)
/* 35b78: afa2009c */ sw $v0,0x9c($sp)
/* 35b7c: 8fae009c */ lw $t6,0x9c($sp)

View File

@ -213,49 +213,23 @@ glabel func0003d5d8
/* 3d698: 27bd0008 */ addiu $sp,$sp,0x8
);
GLOBAL_ASM(
glabel func0003d69c
/* 3d69c: 27bdfff8 */ addiu $sp,$sp,-8
/* 3d6a0: 30a500ff */ andi $a1,$a1,0xff
/* 3d6a4: 30c600ff */ andi $a2,$a2,0xff
/* 3d6a8: 8c8e0064 */ lw $t6,0x64($a0)
/* 3d6ac: afae0004 */ sw $t6,0x4($sp)
/* 3d6b0: 8faf0004 */ lw $t7,0x4($sp)
/* 3d6b4: 11e00017 */ beqz $t7,.L0003d714
/* 3d6b8: 00000000 */ nop
.L0003d6bc:
/* 3d6bc: 8fb80004 */ lw $t8,0x4($sp)
/* 3d6c0: 93190032 */ lbu $t9,0x32($t8)
/* 3d6c4: 1725000d */ bne $t9,$a1,.L0003d6fc
/* 3d6c8: 00000000 */ nop
/* 3d6cc: 93080031 */ lbu $t0,0x31($t8)
/* 3d6d0: 1506000a */ bne $t0,$a2,.L0003d6fc
/* 3d6d4: 00000000 */ nop
/* 3d6d8: 93090035 */ lbu $t1,0x35($t8)
/* 3d6dc: 24010003 */ addiu $at,$zero,0x3
/* 3d6e0: 11210006 */ beq $t1,$at,.L0003d6fc
/* 3d6e4: 00000000 */ nop
/* 3d6e8: 24010004 */ addiu $at,$zero,0x4
/* 3d6ec: 11210003 */ beq $t1,$at,.L0003d6fc
/* 3d6f0: 00000000 */ nop
/* 3d6f4: 1000000b */ b .L0003d724
/* 3d6f8: 8fa20004 */ lw $v0,0x4($sp)
.L0003d6fc:
/* 3d6fc: 8faa0004 */ lw $t2,0x4($sp)
/* 3d700: 8d4b0000 */ lw $t3,0x0($t2)
/* 3d704: afab0004 */ sw $t3,0x4($sp)
/* 3d708: 8fac0004 */ lw $t4,0x4($sp)
/* 3d70c: 1580ffeb */ bnez $t4,.L0003d6bc
/* 3d710: 00000000 */ nop
.L0003d714:
/* 3d714: 10000003 */ b .L0003d724
/* 3d718: 00001025 */ or $v0,$zero,$zero
/* 3d71c: 10000001 */ b .L0003d724
/* 3d720: 00000000 */ nop
.L0003d724:
/* 3d724: 03e00008 */ jr $ra
/* 3d728: 27bd0008 */ addiu $sp,$sp,0x8
);
N_ALVoiceState *__n_lookupVoice(N_ALSeqPlayer *seqp, u8 key, u8 channel)
{
N_ALVoiceState *vs = seqp->vAllocHead;
while (vs != 0) {
if (vs->key == key
&& vs->channel == channel
&& vs->phase != AL_PHASE_RELEASE
&& vs->phase != AL_PHASE_SUSTREL) {
return vs;
}
vs = vs->next;
}
return 0;
}
GLOBAL_ASM(
glabel func0003d72c