2022-03-21 21:52:44 -04:00
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
struct SoHConfigType {
|
|
|
|
|
// Debug
|
|
|
|
|
struct {
|
|
|
|
|
bool soh = false;
|
|
|
|
|
bool n64mode = false;
|
|
|
|
|
bool menu_bar = false;
|
|
|
|
|
bool soh_sink = true;
|
|
|
|
|
} debug;
|
|
|
|
|
|
|
|
|
|
// Audio
|
|
|
|
|
struct {
|
|
|
|
|
float master = 1.0f;
|
|
|
|
|
float music_main = 1.0f;
|
|
|
|
|
float fanfare = 1.0f;
|
|
|
|
|
float sfx = 1.0f;
|
|
|
|
|
float music_sub = 1.0f;
|
|
|
|
|
} audio;
|
|
|
|
|
|
|
|
|
|
// Enhancements
|
|
|
|
|
struct {
|
|
|
|
|
bool fast_text = false;
|
|
|
|
|
bool disable_lod = false;
|
|
|
|
|
bool animated_pause_menu = false;
|
2022-03-31 18:32:32 -04:00
|
|
|
|
bool minimal_ui = false;
|
2022-03-21 21:52:44 -04:00
|
|
|
|
} enhancements;
|
|
|
|
|
|
2022-03-27 21:18:05 -04:00
|
|
|
|
// Controller
|
2022-03-21 21:52:44 -04:00
|
|
|
|
struct {
|
|
|
|
|
float gyro_sensitivity = 1.0f;
|
|
|
|
|
float rumble_strength = 1.0f;
|
|
|
|
|
float input_scale = 1.0f;
|
2022-03-29 22:23:02 -04:00
|
|
|
|
float gyroDriftX = 0.0f;
|
|
|
|
|
float gyroDriftY = 0.0f;
|
|
|
|
|
bool input_enabled = false;
|
2022-04-10 18:19:26 -04:00
|
|
|
|
bool dpad_pause_name = false;
|
2022-04-11 17:06:55 -04:00
|
|
|
|
bool dpad_ocarina_text = false;
|
2022-03-21 21:52:44 -04:00
|
|
|
|
} controller;
|
2022-03-27 21:18:05 -04:00
|
|
|
|
|
|
|
|
|
// Cheats
|
|
|
|
|
struct {
|
|
|
|
|
bool debug_mode = false;
|
|
|
|
|
bool infinite_money = false;
|
|
|
|
|
bool infinite_health = false;
|
|
|
|
|
bool infinite_ammo = false;
|
|
|
|
|
bool infinite_magic = false;
|
|
|
|
|
bool no_clip = false;
|
|
|
|
|
bool climb_everything = false;
|
|
|
|
|
bool moon_jump_on_l = false;
|
|
|
|
|
bool super_tunic = false;
|
|
|
|
|
} cheats;
|
2022-03-21 21:52:44 -04:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum SeqPlayers {
|
|
|
|
|
/* 0 */ SEQ_BGM_MAIN,
|
|
|
|
|
/* 1 */ SEQ_FANFARE,
|
|
|
|
|
/* 2 */ SEQ_SFX,
|
|
|
|
|
/* 3 */ SEQ_BGM_SUB,
|
|
|
|
|
/* 4 */ SEQ_MAX
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#define DEBUG_SECTION "DEBUG SETTINGS"
|
|
|
|
|
#define AUDIO_SECTION "AUDIO SETTINGS"
|
|
|
|
|
#define CONTROLLER_SECTION "CONTROLLER SECTION"
|
|
|
|
|
#define ENHANCEMENTS_SECTION "ENHANCEMENT SETTINGS"
|
2022-03-27 21:18:05 -04:00
|
|
|
|
#define CHEATS_SECTION "CHEATS SETTINGS"
|
2022-03-21 21:52:44 -04:00
|
|
|
|
|
|
|
|
|
namespace Game {
|
|
|
|
|
extern SoHConfigType Settings;
|
|
|
|
|
void InitSettings();
|
|
|
|
|
void LoadSettings();
|
|
|
|
|
void SaveSettings();
|
|
|
|
|
void SetSeqPlayerVolume(SeqPlayers playerId, float volume);
|
|
|
|
|
}
|