diff --git a/src/include/lib/lib_3e8c0.h b/src/include/lib/lib_3e8c0.h index 396eae632..32143258d 100644 --- a/src/include/lib/lib_3e8c0.h +++ b/src/include/lib/lib_3e8c0.h @@ -42,7 +42,6 @@ u32 func0003e8c0(void); s32 n_alEnvmixerParam(void *filter, s32 paramID, void *param); u32 func0003f328(void); u32 func0003f60c(void); -u32 func0003f81c(void); u32 func0003f8a0(void); u32 func00040164(void); u32 func00040dac(void); diff --git a/src/lib/lib_37b00.c b/src/lib/lib_37b00.c index 93d12c51a..b4b7afeec 100644 --- a/src/lib/lib_37b00.c +++ b/src/lib/lib_37b00.c @@ -1260,7 +1260,7 @@ glabel func00038924 /* 389fc: 87240010 */ lh $a0,0x10($t9) /* 38a00: 8f250028 */ lw $a1,0x28($t9) /* 38a04: 8726001a */ lh $a2,0x1a($t9) -/* 38a08: 0c00fe07 */ jal func0003f81c +/* 38a08: 0c00fe07 */ jal _getVol /* 38a0c: 97270018 */ lhu $a3,0x18($t9) /* 38a10: 8fa80018 */ lw $t0,0x18($sp) /* 38a14: a5020010 */ sh $v0,0x10($t0) @@ -1268,7 +1268,7 @@ glabel func00038924 /* 38a1c: 85240012 */ lh $a0,0x12($t1) /* 38a20: 8d250028 */ lw $a1,0x28($t1) /* 38a24: 85260020 */ lh $a2,0x20($t1) -/* 38a28: 0c00fe07 */ jal func0003f81c +/* 38a28: 0c00fe07 */ jal _getVol /* 38a2c: 9527001e */ lhu $a3,0x1e($t1) /* 38a30: 8faa0018 */ lw $t2,0x18($sp) /* 38a34: a5420012 */ sh $v0,0x12($t2) diff --git a/src/lib/lib_3e8c0.c b/src/lib/lib_3e8c0.c index 7c9fd1e6e..521a39d3a 100644 --- a/src/lib/lib_3e8c0.c +++ b/src/lib/lib_3e8c0.c @@ -5660,7 +5660,7 @@ glabel func0003e8c0 /* 3ecec: 85c4005c */ lh $a0,0x5c($t6) /* 3ecf0: 8dc50070 */ lw $a1,0x70($t6) /* 3ecf4: 85c60066 */ lh $a2,0x66($t6) -/* 3ecf8: 0c00fe07 */ jal func0003f81c +/* 3ecf8: 0c00fe07 */ jal _getVol /* 3ecfc: 95c70064 */ lhu $a3,0x64($t6) /* 3ed00: 8faf0050 */ lw $t7,0x50($sp) /* 3ed04: a5e2005c */ sh $v0,0x5c($t7) @@ -5668,7 +5668,7 @@ glabel func0003e8c0 /* 3ed0c: 8524005e */ lh $a0,0x5e($t1) /* 3ed10: 8d250070 */ lw $a1,0x70($t1) /* 3ed14: 8526006c */ lh $a2,0x6c($t1) -/* 3ed18: 0c00fe07 */ jal func0003f81c +/* 3ed18: 0c00fe07 */ jal _getVol /* 3ed1c: 9527006a */ lhu $a3,0x6a($t1) /* 3ed20: 8fab0050 */ lw $t3,0x50($sp) /* 3ed24: a562005e */ sh $v0,0x5e($t3) @@ -6373,7 +6373,7 @@ glabel func0003f60c ); GLOBAL_ASM( -glabel func0003f81c +glabel _getVol /* 3f81c: 00042400 */ sll $a0,$a0,0x10 /* 3f820: 00063400 */ sll $a2,$a2,0x10 /* 3f824: 00063403 */ sra $a2,$a2,0x10 @@ -6411,6 +6411,28 @@ glabel func0003f81c /* 3f89c: 27bd0008 */ addiu $sp,$sp,0x8 ); +//s16 _getVol(s16 ivol, s32 samples, s16 ratem, u16 ratel) +//{ +// s32 sp4; +// +// /* +// * Rate values are actually rate^8 +// */ +// samples >>= 3; +// +// if (samples == 0) { +// return ivol; +// } +// +// sp4 = ratel * samples; +// sp4 >>= 16; +// sp4 += ratem * samples; +// +// ivol += sp4; +// +// return ivol; +//} + GLOBAL_ASM( glabel func0003f8a0 /* 3f8a0: 27bdfd90 */ addiu $sp,$sp,-624