Decompile audioSetSoundMode
This commit is contained in:
parent
8907181d74
commit
99ec60b22d
|
|
@ -35,7 +35,7 @@ extern u32 var80090b08;
|
|||
extern AMAudioMgr g_AudioManager;
|
||||
extern u32 var80092828;
|
||||
extern u32 var80092870;
|
||||
extern u32 var80094ea8;
|
||||
extern s32 var80094ea8;
|
||||
extern struct var80094ed8 var80094ed8[3];
|
||||
extern u32 var800951f0[4];
|
||||
extern u32 var80095200;
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ u32 func0000ee88(void);
|
|||
u32 func0000efa8(void);
|
||||
u32 func0000f0d4(void);
|
||||
u32 func0000f228(void);
|
||||
void audioSetSoundMode(u32 mode);
|
||||
void audioSetSoundMode(s32 mode);
|
||||
u32 func0000f49c(void);
|
||||
u32 func0000f67c(void);
|
||||
u32 func0000f804(void);
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
u32 func00034030(void);
|
||||
u32 func00034104(void);
|
||||
void func00034030(s32 arg0);
|
||||
void func00034104(s32 index, s32 arg1);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
u32 var80094ea0;
|
||||
u32 var80094ea4;
|
||||
u32 var80094ea8;
|
||||
s32 var80094ea8;
|
||||
u32 var80094eac;
|
||||
u32 var80094eb0;
|
||||
u32 var80094eb4;
|
||||
|
|
@ -1373,87 +1373,39 @@ glabel func0000f228
|
|||
/* f388: 27bd00f8 */ addiu $sp,$sp,0xf8
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel audioSetSoundMode
|
||||
/* f38c: 27bdffd0 */ addiu $sp,$sp,-48
|
||||
/* f390: afb1001c */ sw $s1,0x1c($sp)
|
||||
/* f394: 3c018006 */ lui $at,%hi(g_SoundMode)
|
||||
/* f398: 00808825 */ or $s1,$a0,$zero
|
||||
/* f39c: afbf002c */ sw $ra,0x2c($sp)
|
||||
/* f3a0: afb40028 */ sw $s4,0x28($sp)
|
||||
/* f3a4: afb30024 */ sw $s3,0x24($sp)
|
||||
/* f3a8: afb20020 */ sw $s2,0x20($sp)
|
||||
/* f3ac: afb00018 */ sw $s0,0x18($sp)
|
||||
/* f3b0: 1080000a */ beqz $a0,.L0000f3dc
|
||||
/* f3b4: ac24ddcc */ sw $a0,%lo(g_SoundMode)($at)
|
||||
/* f3b8: 24140001 */ addiu $s4,$zero,0x1
|
||||
/* f3bc: 1094000d */ beq $a0,$s4,.L0000f3f4
|
||||
/* f3c0: 24130002 */ addiu $s3,$zero,0x2
|
||||
/* f3c4: 10930010 */ beq $a0,$s3,.L0000f408
|
||||
/* f3c8: 24120003 */ addiu $s2,$zero,0x3
|
||||
/* f3cc: 10920012 */ beq $a0,$s2,.L0000f418
|
||||
/* f3d0: 00000000 */ nop
|
||||
/* f3d4: 10000013 */ b .L0000f424
|
||||
/* f3d8: 00002025 */ or $a0,$zero,$zero
|
||||
.L0000f3dc:
|
||||
/* f3dc: 0c00d00c */ jal func00034030
|
||||
/* f3e0: 24040001 */ addiu $a0,$zero,0x1
|
||||
/* f3e4: 24140001 */ addiu $s4,$zero,0x1
|
||||
/* f3e8: 24130002 */ addiu $s3,$zero,0x2
|
||||
/* f3ec: 1000000c */ b .L0000f420
|
||||
/* f3f0: 24120003 */ addiu $s2,$zero,0x3
|
||||
.L0000f3f4:
|
||||
/* f3f4: 0c00d00c */ jal func00034030
|
||||
/* f3f8: 24040002 */ addiu $a0,$zero,0x2
|
||||
/* f3fc: 24130002 */ addiu $s3,$zero,0x2
|
||||
/* f400: 10000007 */ b .L0000f420
|
||||
/* f404: 24120003 */ addiu $s2,$zero,0x3
|
||||
.L0000f408:
|
||||
/* f408: 0c00d00c */ jal func00034030
|
||||
/* f40c: 24040003 */ addiu $a0,$zero,0x3
|
||||
/* f410: 10000003 */ b .L0000f420
|
||||
/* f414: 24120003 */ addiu $s2,$zero,0x3
|
||||
.L0000f418:
|
||||
/* f418: 0c00d00c */ jal func00034030
|
||||
/* f41c: 24040004 */ addiu $a0,$zero,0x4
|
||||
.L0000f420:
|
||||
/* f420: 00002025 */ or $a0,$zero,$zero
|
||||
.L0000f424:
|
||||
/* f424: 0c00d041 */ jal func00034104
|
||||
/* f428: 24050004 */ addiu $a1,$zero,0x4
|
||||
/* f42c: 3c028009 */ lui $v0,%hi(var80094ea8)
|
||||
/* f430: 8c424ea8 */ lw $v0,%lo(var80094ea8)($v0)
|
||||
/* f434: 02808025 */ or $s0,$s4,$zero
|
||||
/* f438: 28410002 */ slti $at,$v0,0x2
|
||||
/* f43c: 54200010 */ bnezl $at,.L0000f480
|
||||
/* f440: 8fbf002c */ lw $ra,0x2c($sp)
|
||||
.L0000f444:
|
||||
/* f444: 12340005 */ beq $s1,$s4,.L0000f45c
|
||||
/* f448: 02002025 */ or $a0,$s0,$zero
|
||||
/* f44c: 12330003 */ beq $s1,$s3,.L0000f45c
|
||||
/* f450: 00000000 */ nop
|
||||
/* f454: 56320006 */ bnel $s1,$s2,.L0000f470
|
||||
/* f458: 26100001 */ addiu $s0,$s0,0x1
|
||||
.L0000f45c:
|
||||
/* f45c: 0c00d041 */ jal func00034104
|
||||
/* f460: 24050004 */ addiu $a1,$zero,0x4
|
||||
/* f464: 3c028009 */ lui $v0,%hi(var80094ea8)
|
||||
/* f468: 8c424ea8 */ lw $v0,%lo(var80094ea8)($v0)
|
||||
/* f46c: 26100001 */ addiu $s0,$s0,0x1
|
||||
.L0000f470:
|
||||
/* f470: 0202082a */ slt $at,$s0,$v0
|
||||
/* f474: 1420fff3 */ bnez $at,.L0000f444
|
||||
/* f478: 00000000 */ nop
|
||||
/* f47c: 8fbf002c */ lw $ra,0x2c($sp)
|
||||
.L0000f480:
|
||||
/* f480: 8fb00018 */ lw $s0,0x18($sp)
|
||||
/* f484: 8fb1001c */ lw $s1,0x1c($sp)
|
||||
/* f488: 8fb20020 */ lw $s2,0x20($sp)
|
||||
/* f48c: 8fb30024 */ lw $s3,0x24($sp)
|
||||
/* f490: 8fb40028 */ lw $s4,0x28($sp)
|
||||
/* f494: 03e00008 */ jr $ra
|
||||
/* f498: 27bd0030 */ addiu $sp,$sp,0x30
|
||||
);
|
||||
void audioSetSoundMode(s32 mode)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
g_SoundMode = mode;
|
||||
|
||||
switch (mode) {
|
||||
case SOUNDMODE_MONO:
|
||||
func00034030(1);
|
||||
break;
|
||||
case SOUNDMODE_STEREO:
|
||||
func00034030(2);
|
||||
break;
|
||||
case SOUNDMODE_HEADPHONE:
|
||||
func00034030(3);
|
||||
break;
|
||||
case SOUNDMODE_SURROUND:
|
||||
func00034030(4);
|
||||
break;
|
||||
}
|
||||
|
||||
func00034104(0, 4);
|
||||
|
||||
for (i = 1; i < var80094ea8; i++) {
|
||||
switch (mode) {
|
||||
case SOUNDMODE_STEREO:
|
||||
case SOUNDMODE_HEADPHONE:
|
||||
case SOUNDMODE_SURROUND:
|
||||
func00034104(i, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0000f49c
|
||||
|
|
|
|||
Loading…
Reference in New Issue