Use enums for settings in SRAM header (#2429)

* Use enums for settings in SRAM header

* Fix bss

* Uglify z_en_mag to match ique
This commit is contained in:
cadmic
2025-02-15 16:36:19 -08:00
committed by GitHub
parent a64fd8dea8
commit aba3720d62
17 changed files with 68 additions and 60 deletions
+8 -1
View File
@@ -68,6 +68,13 @@ typedef void (*AudioCustomUpdateFunction)(void);
#define AUDIO_RELOCATED_ADDRESS_START K0BASE
typedef enum SoundSetting {
/* 0 */ SOUND_SETTING_STEREO,
/* 1 */ SOUND_SETTING_MONO,
/* 2 */ SOUND_SETTING_HEADSET,
/* 3 */ SOUND_SETTING_SURROUND
} SoundSetting;
typedef enum SoundMode {
/* 0 */ SOUNDMODE_STEREO,
/* 1 */ SOUNDMODE_HEADSET,
@@ -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_SetSoundMode(s8 soundSetting);
void Audio_SetBaseFilter(u8);
void Audio_SetExtraFilter(u8);
void Audio_SetCutsceneFlag(s8 flag);
+8 -3
View File
@@ -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,
@@ -315,10 +320,10 @@ typedef struct SaveContext {
/* 0x1404 */ u16 minigameState;
/* 0x1406 */ u16 minigameScore; // "yabusame_total"
/* 0x1408 */ char unk_1408[0x0001];
/* 0x1409 */ u8 language; // NTSC 0: Japanese; 1: English | PAL 0: English; 1: German; 2: French
/* 0x140A */ u8 audioSetting;
/* 0x1409 */ u8 language; // NTSC 0: Japanese; 1: English | PAL 0: English; 1: German; 2: French (see enum `Language`)
/* 0x140A */ u8 soundSetting; // 0: Stereo; 1: Mono; 2: Headset; 3: Surround (see enum `SoundSetting`)
/* 0x140B */ char unk_140B[0x0001];
/* 0x140C */ u8 zTargetSetting; // 0: Switch; 1: Hold
/* 0x140C */ u8 zTargetSetting; // 0: Switch; 1: Hold (see enum `ZTargetSetting`)
/* 0x140E */ u16 forcedSeqId; // immediately start playing the sequence if set
/* 0x1410 */ u8 cutsceneTransitionControl; // context dependent usage: can either trigger a delayed fade or control fill alpha
/* 0x1411 */ char unk_1411[0x0001];
+1 -1
View File
@@ -12,7 +12,7 @@ typedef struct SramContext {
typedef enum SramHeaderField {
/* 0x00 */ SRAM_HEADER_SOUND,
/* 0x01 */ SRAM_HEADER_ZTARGET,
/* 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;