From 2252a8f05aaf64316c6f1228ee53a7700cac907f Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Tue, 31 Dec 2019 11:25:27 +1000 Subject: [PATCH] Identify symbols related to sound mode --- src/game/game_102240.c | 6 +++--- src/game/game_10ccd0.c | 4 ++-- src/include/constants.h | 5 +++++ src/include/library/library_0e9d0.h | 2 +- src/include/setup/setup_000000.h | 1 + src/include/setup/setup_0160b0.h | 2 +- src/library/library_0e9d0.c | 4 ++-- src/setup/setup_000000.c | 2 +- src/setup/setup_0160b0.c | 2 +- 9 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/game/game_102240.c b/src/game/game_102240.c index e68166773..ddf95c41c 100644 --- a/src/game/game_102240.c +++ b/src/game/game_102240.c @@ -436,10 +436,10 @@ glabel menuhandlerAimControl GLOBAL_ASM( glabel menuhandlerSoundMode /* f102698: 27bdffd8 */ addiu $sp,$sp,-40 -/* f10269c: 3c0e8007 */ lui $t6,%hi(options_soundmode) +/* f10269c: 3c0e8007 */ lui $t6,%hi(g_SoundModeOptions) /* f1026a0: afbf0014 */ sw $ra,0x14($sp) /* f1026a4: afa5002c */ sw $a1,0x2c($sp) -/* f1026a8: 25ce19e8 */ addiu $t6,$t6,%lo(options_soundmode) +/* f1026a8: 25ce19e8 */ addiu $t6,$t6,%lo(g_SoundModeOptions) /* f1026ac: 8dc10000 */ lw $at,0x0($t6) /* f1026b0: 27a20020 */ addiu $v0,$sp,0x20 /* f1026b4: 24080004 */ addiu $t0,$zero,0x4 @@ -469,7 +469,7 @@ glabel menuhandlerSoundMode /* f10270c: 1000000e */ beqz $zero,.L0f102748 /* f102710: 8fbf0014 */ lw $ra,0x14($sp) .L0f102714: -/* f102714: 0c003ce3 */ jal func0000f38c +/* f102714: 0c003ce3 */ jal audioSetSoundMode /* f102718: 8cc40000 */ lw $a0,0x0($a2) /* f10271c: 3c02800a */ lui $v0,%hi(g_Vars) /* f102720: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars) diff --git a/src/game/game_10ccd0.c b/src/game/game_10ccd0.c index d1f265134..d48abc22b 100644 --- a/src/game/game_10ccd0.c +++ b/src/game/game_10ccd0.c @@ -3111,7 +3111,7 @@ glabel func0f10f698 /* f10f728: a049000b */ sb $t1,0xb($v0) /* f10f72c: 0fc54bdc */ jal optionsSetMusicVolume /* f10f730: 24045000 */ addiu $a0,$zero,0x5000 -/* f10f734: 0c003ce3 */ jal func0000f38c +/* f10f734: 0c003ce3 */ jal audioSetSoundMode /* f10f738: 24040001 */ addiu $a0,$zero,0x1 /* f10f73c: 02202025 */ or $a0,$s1,$zero /* f10f740: 0fc549cb */ jal optionsSetControlMode @@ -3462,7 +3462,7 @@ glabel func0f10fac8 /* f10fc60: 02802025 */ or $a0,$s4,$zero /* f10fc64: 0fc354fe */ jal func0f0d53f8 /* f10fc68: 24050002 */ addiu $a1,$zero,0x2 -/* f10fc6c: 0c003ce3 */ jal func0000f38c +/* f10fc6c: 0c003ce3 */ jal audioSetSoundMode /* f10fc70: 00402025 */ or $a0,$v0,$zero /* f10fc74: 02802025 */ or $a0,$s4,$zero /* f10fc78: 0fc354fe */ jal func0f0d53f8 diff --git a/src/include/constants.h b/src/include/constants.h index 33b4ef1d5..013591629 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -733,6 +733,11 @@ #define SCREENSPLIT_HORIZONTAL 0 #define SCREENSPLIT_VERTICAL 1 +#define SOUNDMODE_MONO 0 +#define SOUNDMODE_STEREO 1 +#define SOUNDMODE_HEADPHONE 2 +#define SOUNDMODE_SURROUND 3 + #define SPEED_WALK 0 #define SPEED_JOG 1 #define SPEED_RUN 2 diff --git a/src/include/library/library_0e9d0.h b/src/include/library/library_0e9d0.h index 94caf6aa8..fb6de29e4 100644 --- a/src/include/library/library_0e9d0.h +++ b/src/include/library/library_0e9d0.h @@ -16,7 +16,7 @@ u32 func0000ee88(void); u32 func0000efa8(void); u32 func0000f0d4(void); u32 func0000f228(void); -u32 func0000f38c(void); +u32 audioSetSoundMode(void); u32 func0000f49c(void); u32 func0000f67c(void); u32 func0000f804(void); diff --git a/src/include/setup/setup_000000.h b/src/include/setup/setup_000000.h index 22ac49215..d7777c0e5 100644 --- a/src/include/setup/setup_000000.h +++ b/src/include/setup/setup_000000.h @@ -97,6 +97,7 @@ extern u32 var8005ddb4; extern u32 var8005ddb8; extern u32 var8005ddc0; extern u32 var8005ddc4; +extern u32 g_SoundMode; extern u32 var8005ddd4; extern u32 var8005ddd8; extern u32 var8005dde0; diff --git a/src/include/setup/setup_0160b0.h b/src/include/setup/setup_0160b0.h index 622399931..48702b34d 100644 --- a/src/include/setup/setup_0160b0.h +++ b/src/include/setup/setup_0160b0.h @@ -175,7 +175,7 @@ extern u32 var800719bc; extern u32 var800719c0; extern u16 options_controlmode[]; extern u16 g_AimControlOptions[]; -extern u16 options_soundmode[]; +extern u16 g_SoundModeOptions[]; extern u16 g_ScreenSizeOptions[]; extern u16 g_ScreenRatioOptions[]; extern u16 g_ScreenSplitOptions[]; diff --git a/src/library/library_0e9d0.c b/src/library/library_0e9d0.c index 70a0af411..c21eb7ca0 100644 --- a/src/library/library_0e9d0.c +++ b/src/library/library_0e9d0.c @@ -744,7 +744,7 @@ glabel func0000f228 ); GLOBAL_ASM( -glabel func0000f38c +glabel audioSetSoundMode /* f38c: 27bdffd0 */ addiu $sp,$sp,-48 /* f390: afb1001c */ sw $s1,0x1c($sp) /* f394: 3c018006 */ lui $at,0x8006 @@ -1299,7 +1299,7 @@ glabel func0000f804 /* fb78: 0c00243b */ jal func000090ec /* fb7c: 00000000 */ sll $zero,$zero,0x0 /* fb80: 3c048006 */ lui $a0,0x8006 -/* fb84: 0c003ce3 */ jal func0000f38c +/* fb84: 0c003ce3 */ jal audioSetSoundMode /* fb88: 8c84ddcc */ lw $a0,-0x2234($a0) /* fb8c: 8fbf0024 */ lw $ra,0x24($sp) .L0000fb90: diff --git a/src/setup/setup_000000.c b/src/setup/setup_000000.c index 1816f01f3..8c81ad3c9 100644 --- a/src/setup/setup_000000.c +++ b/src/setup/setup_000000.c @@ -3885,7 +3885,7 @@ u32 var8005ddbc = 0x00000000; u32 var8005ddc0 = 0x00000000; u32 var8005ddc4 = 0x00000000; u32 var8005ddc8 = 0x7fff0000; -u32 var8005ddcc = 0x00000001; +u32 g_SoundMode = SOUNDMODE_STEREO; u32 var8005ddd0 = 0x00000000; u32 var8005ddd4 = 0x00000000; u32 var8005ddd8 = 0x00000000; diff --git a/src/setup/setup_0160b0.c b/src/setup/setup_0160b0.c index 4bcc626d5..2b74471a5 100644 --- a/src/setup/setup_0160b0.c +++ b/src/setup/setup_0160b0.c @@ -1555,7 +1555,7 @@ u16 g_AimControlOptions[] = { }; // 17a08 -u16 options_soundmode[] = { +u16 g_SoundModeOptions[] = { 0x56e8, // "Mono" 0x56e9, // "Stereo" 0x56ea, // "Headphone"