Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use enums for settings in SRAM header #2429

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion include/z64audio.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,13 @@ typedef void (*AudioCustomUpdateFunction)(void);

#define AUDIO_RELOCATED_ADDRESS_START K0BASE

typedef enum AudioSetting {
/* 0 */ AUDIO_SETTING_STEREO,
/* 1 */ AUDIO_SETTING_MONO,
/* 2 */ AUDIO_SETTING_HEADSET,
/* 3 */ AUDIO_SETTING_SURROUND
} AudioSetting;

typedef enum SoundMode {
/* 0 */ SOUNDMODE_STEREO,
/* 1 */ SOUNDMODE_HEADSET,
Expand Down Expand Up @@ -1197,7 +1204,7 @@ void func_800F64E0(u8 arg0);
void Audio_ToggleMalonSinging(u8 malonSingingDisabled);
void Audio_SetEnvReverb(s8 reverb);
void Audio_SetCodeReverb(s8 reverb);
void func_800F6700(s8 audioSetting);
void Audio_SetAudioSetting(s8 audioSetting);
void Audio_SetBaseFilter(u8);
void Audio_SetExtraFilter(u8);
void Audio_SetCutsceneFlag(s8 flag);
Expand Down
5 changes: 5 additions & 0 deletions include/z64save.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@
#include "z64inventory.h"
#include "z64math.h"

typedef enum ZTargetSetting {
/* 0 */ Z_TARGET_SETTING_SWITCH,
/* 1 */ Z_TARGET_SETTING_HOLD
} ZTargetSetting;

typedef enum Language {
#if OOT_NTSC
/* 0 */ LANGUAGE_JPN,
Expand Down
4 changes: 2 additions & 2 deletions include/z64sram.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ typedef struct SramContext {
#define SRAM_HEADER_SIZE 0x10

typedef enum SramHeaderField {
/* 0x00 */ SRAM_HEADER_SOUND,
/* 0x01 */ SRAM_HEADER_ZTARGET,
/* 0x00 */ SRAM_HEADER_AUDIO,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it was previously called "sound" because that is what it is called in file select. And the options in the sram header correspond directly with the options in file select.
Currently thinking it makes sense to stay aligned with file select, but more thoughts welcome

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to rename gSaveContext.audioSetting and AudioSetting too then. What should we call those? And what about what is now SoundMode?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good question. would like to get @engineer124 involved if he sees this. will put some thought into it in the meantime

/* 0x01 */ SRAM_HEADER_Z_TARGET,
/* 0x02 */ SRAM_HEADER_LANGUAGE,
/* 0x03 */ SRAM_HEADER_MAGIC // must be the value in `sSramDefaultHeader` for save to be considered valid
} SramHeaderField;
Expand Down
2 changes: 1 addition & 1 deletion src/audio/debug.inc.c
Original file line number Diff line number Diff line change
Expand Up @@ -847,7 +847,7 @@ void AudioDebug_ProcessInput_SndCont(void) {
&gSfxDefaultReverb);
break;
case 4:
func_800F6700(sAudioSndContWork[sAudioSndContSel]);
Audio_SetAudioSetting(sAudioSndContWork[sAudioSndContSel]);
break;
case 5:
SEQCMD_DISABLE_PLAY_SEQUENCES(sAudioSndContWork[sAudioSndContSel]);
Expand Down
10 changes: 5 additions & 5 deletions src/audio/general.c
Original file line number Diff line number Diff line change
Expand Up @@ -3766,26 +3766,26 @@ void Audio_SetCodeReverb(s8 reverb) {
}
}

void func_800F6700(s8 audioSetting) {
void Audio_SetAudioSetting(s8 audioSetting) {
s8 soundModeIndex;

switch (audioSetting) {
case 0:
case AUDIO_SETTING_STEREO:
soundModeIndex = SOUNDMODE_STEREO;
sSoundMode = SOUNDMODE_STEREO;
break;

case 1:
case AUDIO_SETTING_MONO:
soundModeIndex = SOUNDMODE_MONO;
sSoundMode = SOUNDMODE_MONO;
break;

case 2:
case AUDIO_SETTING_HEADSET:
soundModeIndex = SOUNDMODE_HEADSET;
sSoundMode = SOUNDMODE_HEADSET;
break;

case 3:
case AUDIO_SETTING_SURROUND:
soundModeIndex = SOUNDMODE_STEREO;
sSoundMode = SOUNDMODE_SURROUND;
break;
Expand Down
2 changes: 1 addition & 1 deletion src/boot/z_std_dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
#endif

#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
"ntsc-1.2:68 pal-1.0:66 pal-1.1:66"
"ntsc-1.2:62 pal-1.0:60 pal-1.1:60"

StackEntry sDmaMgrStackInfo;
OSMesgQueue sDmaMgrMsgQueue;
Expand Down
2 changes: 1 addition & 1 deletion src/code/fault_gc.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
* DPad-Up may be pressed to enable sending fault pages over osSyncPrintf as well as displaying them on-screen.
* DPad-Down disables sending fault pages over osSyncPrintf.
*/
#pragma increment_block_number "gc-eu:160 gc-eu-mq:160 gc-eu-mq-dbg:160 gc-jp:160 gc-jp-ce:160 gc-jp-mq:160 gc-us:160" \
#pragma increment_block_number "gc-eu:160 gc-eu-mq:160 gc-eu-mq-dbg:128 gc-jp:160 gc-jp-ce:160 gc-jp-mq:160 gc-us:160" \
"gc-us-mq:160"

#include "global.h"
Expand Down
2 changes: 1 addition & 1 deletion src/code/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ extern struct IrqMgr gIrqMgr;
#endif

#pragma increment_block_number "gc-eu:144 gc-eu-mq:144 gc-jp:144 gc-jp-ce:144 gc-jp-mq:144 gc-us:144 gc-us-mq:144" \
"ntsc-1.0:127 ntsc-1.1:127 ntsc-1.2:127 pal-1.0:125 pal-1.1:125"
"ntsc-1.0:121 ntsc-1.1:121 ntsc-1.2:121 pal-1.0:119 pal-1.1:119"

extern u8 _buffersSegmentEnd[];

Expand Down
2 changes: 1 addition & 1 deletion src/code/z_bgcheck.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#include "terminal.h"
#include "line_numbers.h"

#pragma increment_block_number "ntsc-1.0:112 ntsc-1.1:112 ntsc-1.2:112"
#pragma increment_block_number "ntsc-1.0:104 ntsc-1.1:104 ntsc-1.2:104"

u16 DynaSSNodeList_GetNextNodeIdx(DynaSSNodeList* nodeList);
void BgCheck_GetStaticLookupIndicesFromPos(CollisionContext* colCtx, Vec3f* pos, Vec3i* sector);
Expand Down
2 changes: 1 addition & 1 deletion src/code/z_camera.c
Original file line number Diff line number Diff line change
Expand Up @@ -3639,7 +3639,7 @@ s32 Camera_KeepOn3(Camera* camera) {
}

#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
"ntsc-1.0:130 ntsc-1.1:130 ntsc-1.2:130 pal-1.0:128 pal-1.1:128"
"ntsc-1.0:124 ntsc-1.1:124 ntsc-1.2:124 pal-1.0:122 pal-1.1:122"

s32 Camera_KeepOn4(Camera* camera) {
static Vec3f D_8015BD50;
Expand Down
2 changes: 1 addition & 1 deletion src/code/z_collision_check.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
#include "z_lib.h"

#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
"ntsc-1.0:96 ntsc-1.1:96 ntsc-1.2:96 pal-1.0:96 pal-1.1:96"
"ntsc-1.0:88 ntsc-1.1:88 ntsc-1.2:88 pal-1.0:88 pal-1.1:88"

typedef s32 (*ColChkResetFunc)(PlayState*, Collider*);
typedef void (*ColChkApplyFunc)(PlayState*, CollisionCheckContext*, Collider*);
Expand Down
2 changes: 1 addition & 1 deletion src/code/z_kaleido_scope_call.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#pragma increment_block_number "gc-eu:192 gc-eu-mq:192 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \
"ntsc-1.0:224 ntsc-1.1:224 ntsc-1.2:224 pal-1.0:224 pal-1.1:224"
"ntsc-1.0:224 ntsc-1.1:224 ntsc-1.2:224 pal-1.0:192 pal-1.1:192"

#include "global.h"
#include "terminal.h"
Expand Down
4 changes: 2 additions & 2 deletions src/code/z_kankyo.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#pragma increment_block_number "gc-eu:216 gc-eu-mq:216 gc-jp:212 gc-jp-ce:212 gc-jp-mq:212 gc-us:212 gc-us-mq:212" \
"ntsc-1.0:208 ntsc-1.1:208 ntsc-1.2:208 pal-1.0:228 pal-1.1:228"
#pragma increment_block_number "gc-eu:208 gc-eu-mq:208 gc-jp:192 gc-jp-ce:192 gc-jp-mq:192 gc-us:192 gc-us-mq:192" \
"ntsc-1.0:208 ntsc-1.1:208 ntsc-1.2:208 pal-1.0:220 pal-1.1:220"

#include "global.h"
#include "ultra64.h"
Expand Down
17 changes: 10 additions & 7 deletions src/code/z_sram.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,13 @@ u16 gSramSlotOffsets[] = {
};

static u8 sSramDefaultHeader[] = {
// TODO: use enums for these
0, // SRAM_HEADER_SOUND
0, // SRAM_HEADER_ZTARGET
0, // SRAM_HEADER_LANGUAGE
AUDIO_SETTING_MONO, // SRAM_HEADER_AUDIO
Z_TARGET_SETTING_SWITCH, // SRAM_HEADER_Z_TARGET
#if OOT_NTSC
LANGUAGE_JPN, // SRAM_HEADER_LANGUAGE
#else
LANGUAGE_ENG, // SRAM_HEADER_LANGUAGE
#endif

// SRAM_HEADER_MAGIC
0x98,
Expand Down Expand Up @@ -1016,8 +1019,8 @@ void Sram_InitSram(GameState* gameState, SramContext* sramCtx) {
}
}

gSaveContext.audioSetting = sramCtx->readBuff[SRAM_HEADER_SOUND] & 3;
gSaveContext.zTargetSetting = sramCtx->readBuff[SRAM_HEADER_ZTARGET] & 1;
gSaveContext.audioSetting = sramCtx->readBuff[SRAM_HEADER_AUDIO] & 3;
gSaveContext.zTargetSetting = sramCtx->readBuff[SRAM_HEADER_Z_TARGET] & 1;

#if OOT_PAL
gSaveContext.language = sramCtx->readBuff[SRAM_HEADER_LANGUAGE];
Expand Down Expand Up @@ -1046,7 +1049,7 @@ void Sram_InitSram(GameState* gameState, SramContext* sramCtx) {
PRINTF("Na_SetSoundOutputMode = %d\n", gSaveContext.audioSetting);
PRINTF("Na_SetSoundOutputMode = %d\n", gSaveContext.audioSetting);
PRINTF_RST();
func_800F6700(gSaveContext.audioSetting);
Audio_SetAudioSetting(gSaveContext.audioSetting);
}

void Sram_Alloc(GameState* gameState, SramContext* sramCtx) {
Expand Down
2 changes: 1 addition & 1 deletion src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
#include "assets/objects/object_toki_objects/object_toki_objects.h"

#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
"ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128"
"ntsc-1.0:128 ntsc-1.1:128 ntsc-1.2:128 pal-1.0:128 pal-1.1:128"

#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED)

Expand Down
6 changes: 3 additions & 3 deletions src/overlays/actors/ovl_En_Mag/z_en_mag.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,9 @@ void EnMag_ResetSram(void) {
SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8007000), buffer, 0x800, 1);
SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8007800), buffer, 0x800, 1);

gSaveContext.audioSetting = 0;
gSaveContext.zTargetSetting = 0;
func_800F6700(gSaveContext.audioSetting);
gSaveContext.audioSetting = AUDIO_SETTING_STEREO;
gSaveContext.zTargetSetting = Z_TARGET_SETTING_SWITCH;
Audio_SetAudioSetting(gSaveContext.audioSetting);
}
#endif

Expand Down
2 changes: 1 addition & 1 deletion src/overlays/actors/ovl_Fishing/z_fishing.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
#include "cic6105.h"
#endif

#pragma increment_block_number "gc-eu:164 gc-eu-mq:164 gc-jp:164 gc-jp-ce:164 gc-jp-mq:164 gc-us:164 gc-us-mq:164" \
#pragma increment_block_number "gc-eu:158 gc-eu-mq:158 gc-jp:158 gc-jp-ce:158 gc-jp-mq:158 gc-us:158 gc-us-mq:158" \
"ntsc-1.0:121 ntsc-1.1:121 ntsc-1.2:121 pal-1.0:121 pal-1.1:121"

#define FLAGS ACTOR_FLAG_UPDATE_CULLING_DISABLED
Expand Down
5 changes: 3 additions & 2 deletions src/overlays/actors/ovl_player_actor/z_player.c
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@ void Player_Action_CsAction(Player* this, PlayState* play);
// .bss part 1

#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \
"ntsc-1.0:64 ntsc-1.1:64 ntsc-1.2:64 pal-1.0:128 pal-1.1:128"
"ntsc-1.0:64 ntsc-1.1:64 ntsc-1.2:64 pal-1.0:64 pal-1.1:64"

static s32 D_80858AA0;

Expand Down Expand Up @@ -3908,7 +3908,8 @@ void Player_UpdateZTargeting(Player* this, PlayState* play) {

// Get saved Z Target setting.
// Dark Link uses Hold Targeting.
usingHoldTargeting = (gSaveContext.zTargetSetting != 0) || (this->actor.category != ACTORCAT_PLAYER);
usingHoldTargeting = (gSaveContext.zTargetSetting != Z_TARGET_SETTING_SWITCH) ||
(this->actor.category != ACTORCAT_PLAYER);

this->stateFlags1 |= PLAYER_STATE1_Z_TARGETING;

Expand Down
7 changes: 0 additions & 7 deletions src/overlays/gamestates/ovl_file_choose/file_select.h
Original file line number Diff line number Diff line change
Expand Up @@ -152,13 +152,6 @@ typedef enum SettingIndex {
/* */ FS_SETTING_MAX
} SettingIndex;

typedef enum AudioOption {
/* 0 */ FS_AUDIO_STEREO,
/* 1 */ FS_AUDIO_MONO,
/* 2 */ FS_AUDIO_HEADSET,
/* 3 */ FS_AUDIO_SURROUND
} AudioOption;

typedef enum CharPage {
/* 0 */ FS_CHAR_PAGE_HIRA,
/* 1 */ FS_CHAR_PAGE_KATA,
Expand Down
24 changes: 12 additions & 12 deletions src/overlays/gamestates/ovl_file_choose/z_file_choose.c
Original file line number Diff line number Diff line change
Expand Up @@ -720,38 +720,38 @@ void FileSelect_PulsateCursor(GameState* thisx) {
*((u8*)0x80000002) = LANGUAGE_ENG;

SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, 3, OS_WRITE);
PRINTF("1:read_buff[]=%x, %x, %x, %x\n", sramCtx->readBuff[SRAM_HEADER_SOUND],
sramCtx->readBuff[SRAM_HEADER_ZTARGET], sramCtx->readBuff[SRAM_HEADER_LANGUAGE],
PRINTF("1:read_buff[]=%x, %x, %x, %x\n", sramCtx->readBuff[SRAM_HEADER_AUDIO],
sramCtx->readBuff[SRAM_HEADER_Z_TARGET], sramCtx->readBuff[SRAM_HEADER_LANGUAGE],
sramCtx->readBuff[SRAM_HEADER_MAGIC]);

SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE, OS_READ);
PRINTF("read_buff[]=%x, %x, %x, %x\n", sramCtx->readBuff[SRAM_HEADER_SOUND],
sramCtx->readBuff[SRAM_HEADER_ZTARGET], sramCtx->readBuff[SRAM_HEADER_LANGUAGE],
PRINTF("read_buff[]=%x, %x, %x, %x\n", sramCtx->readBuff[SRAM_HEADER_AUDIO],
sramCtx->readBuff[SRAM_HEADER_Z_TARGET], sramCtx->readBuff[SRAM_HEADER_LANGUAGE],
sramCtx->readBuff[SRAM_HEADER_MAGIC]);
} else if (CHECK_BTN_ALL(debugInput->press.button, BTN_DUP)) {
sramCtx->readBuff[SRAM_HEADER_LANGUAGE] = gSaveContext.language = LANGUAGE_GER;
*((u8*)0x80000002) = LANGUAGE_GER;

SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, 3, OS_WRITE);
PRINTF("1:read_buff[]=%x, %x, %x, %x\n", sramCtx->readBuff[SRAM_HEADER_SOUND],
sramCtx->readBuff[SRAM_HEADER_ZTARGET], sramCtx->readBuff[SRAM_HEADER_LANGUAGE],
PRINTF("1:read_buff[]=%x, %x, %x, %x\n", sramCtx->readBuff[SRAM_HEADER_AUDIO],
sramCtx->readBuff[SRAM_HEADER_Z_TARGET], sramCtx->readBuff[SRAM_HEADER_LANGUAGE],
sramCtx->readBuff[SRAM_HEADER_MAGIC]);
SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE, OS_READ);
PRINTF("read_buff[]=%x, %x, %x, %x\n", sramCtx->readBuff[SRAM_HEADER_SOUND],
sramCtx->readBuff[SRAM_HEADER_ZTARGET], sramCtx->readBuff[SRAM_HEADER_LANGUAGE],
PRINTF("read_buff[]=%x, %x, %x, %x\n", sramCtx->readBuff[SRAM_HEADER_AUDIO],
sramCtx->readBuff[SRAM_HEADER_Z_TARGET], sramCtx->readBuff[SRAM_HEADER_LANGUAGE],
sramCtx->readBuff[SRAM_HEADER_MAGIC]);
} else if (CHECK_BTN_ALL(debugInput->press.button, BTN_DRIGHT)) {
sramCtx->readBuff[SRAM_HEADER_LANGUAGE] = gSaveContext.language = LANGUAGE_FRA;
*((u8*)0x80000002) = LANGUAGE_FRA;

SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, 3, OS_WRITE);
PRINTF("1:read_buff[]=%x, %x, %x, %x\n", sramCtx->readBuff[SRAM_HEADER_SOUND],
sramCtx->readBuff[SRAM_HEADER_ZTARGET], sramCtx->readBuff[SRAM_HEADER_LANGUAGE],
PRINTF("1:read_buff[]=%x, %x, %x, %x\n", sramCtx->readBuff[SRAM_HEADER_AUDIO],
sramCtx->readBuff[SRAM_HEADER_Z_TARGET], sramCtx->readBuff[SRAM_HEADER_LANGUAGE],
sramCtx->readBuff[SRAM_HEADER_MAGIC]);

SsSram_ReadWrite(OS_K1_TO_PHYSICAL(0xA8000000), sramCtx->readBuff, SRAM_SIZE, OS_READ);
PRINTF("read_buff[]=%x, %x, %x, %x\n", sramCtx->readBuff[SRAM_HEADER_SOUND],
sramCtx->readBuff[SRAM_HEADER_ZTARGET], sramCtx->readBuff[SRAM_HEADER_LANGUAGE],
PRINTF("read_buff[]=%x, %x, %x, %x\n", sramCtx->readBuff[SRAM_HEADER_AUDIO],
sramCtx->readBuff[SRAM_HEADER_Z_TARGET], sramCtx->readBuff[SRAM_HEADER_LANGUAGE],
sramCtx->readBuff[SRAM_HEADER_MAGIC]);
}
#endif
Expand Down
8 changes: 4 additions & 4 deletions src/overlays/gamestates/ovl_file_choose/z_file_nameset.c
Original file line number Diff line number Diff line change
Expand Up @@ -1354,7 +1354,7 @@ void FileSelect_UpdateOptionsMenu(GameState* thisx) {
PRINTF("Na_SetSoundOutputMode = %d\n", gSaveContext.audioSetting);
PRINTF("Na_SetSoundOutputMode = %d\n", gSaveContext.audioSetting);
PRINTF_RST();
func_800F6700(gSaveContext.audioSetting);
Audio_SetAudioSetting(gSaveContext.audioSetting);
PRINTF("終了\n");
return;
}
Expand All @@ -1368,7 +1368,7 @@ void FileSelect_UpdateOptionsMenu(GameState* thisx) {

// because audio setting is unsigned, can't check for < 0
if (gSaveContext.audioSetting > 0xF0) {
gSaveContext.audioSetting = FS_AUDIO_SURROUND;
gSaveContext.audioSetting = AUDIO_SETTING_SURROUND;
}
} else {
#if !OOT_PAL_N64
Expand All @@ -1391,8 +1391,8 @@ void FileSelect_UpdateOptionsMenu(GameState* thisx) {
if (sSelectedSetting == FS_SETTING_AUDIO) {
gSaveContext.audioSetting++;

if (gSaveContext.audioSetting > FS_AUDIO_SURROUND) {
gSaveContext.audioSetting = FS_AUDIO_STEREO;
if (gSaveContext.audioSetting > AUDIO_SETTING_SURROUND) {
gSaveContext.audioSetting = AUDIO_SETTING_STEREO;
}
} else {
#if !OOT_PAL_N64
Expand Down
2 changes: 1 addition & 1 deletion tools/disasm/ique-cn/functions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2779,7 +2779,7 @@ func_800F64E0 = 0x800CE16C; // type:func
Audio_ToggleMalonSinging = 0x800CE210; // type:func
Audio_SetEnvReverb = 0x800CE34C; // type:func
Audio_SetCodeReverb = 0x800CE368; // type:func
func_800F6700 = 0x800CE38C; // type:func
Audio_SetAudioSetting = 0x800CE38C; // type:func
Audio_SetBaseFilter = 0x800CE42C; // type:func
Audio_SetExtraFilter = 0x800CE4B4; // type:func
Audio_SetCutsceneFlag = 0x800CE548; // type:func
Expand Down