pureikyubu/SRC/DolwinEmu/Config.h
2020-08-09 21:36:10 +03:00

49 lines
2 KiB
C++

// Json-based config
#pragma once
constexpr auto DOLWIN_DEFAULT_SETTINGS = L"./Data/DefaultSettings.json"; // Must exist
constexpr auto DOLWIN_SETTINGS = L"./Data/Settings.json";
// Sections
#define USER_PADS "controllers"
#define USER_LOADER "loader"
#define USER_CORE "core"
#define USER_HW "hardware"
#define USER_HLE "hle"
#define USER_MEMCARDS "memcards"
// Loader section variables
#define USER_BINORG "BINORG" // binary file loading offset (physical address)
#define USER_MAKEMAP "MAKEMAP" // 1: make map file, if missing (find symbols)
// Hardware section variables
#define USER_ANSI "ANSI" // bootrom ANSI font
#define USER_SJIS "SJIS" // bootrom SJIS font
#define USER_CONSOLE "CONSOLE" // console version (see YAGCD)
#define USER_OS_REPORT "OS_REPORT" // 1: allow debugger output (by EXI)
#define USER_PI_RSWHACK "RSWHACK" // reset button hack
#define USER_VI_COUNT "VI_COUNT" // lines count per single frame (0:auto)
#define USER_VI_XFB "VI_XFB" // enable video frame buffer (GDI)
#define USER_BOOTROM "BOOTROM" // Bootrom
#define USER_DSP_DROM "DSP_DROM" // DSP DROM
#define USER_DSP_IROM "DSP_IROM" // DSP IROM
// TODO: Add more
#define USER_EXI_LOG "EXI_LOG" // 1: log EXI activities
#define USER_VI_LOG "VI_LOG" // do debugger log output
// MC: Names of the keys used to store to configuration
#define MemcardA_Connected_Key "MemcardA_Connected"
#define MemcardB_Connected_Key "MemcardB_Connected"
#define MemcardA_Filename_Key "MemcardA_Filename"
#define MemcardB_Filename_Key "MemcardB_Filename"
#define Memcard_SyncSave_Key "Memcard_SyncSave"
// User variables API
wchar_t* GetConfigString(const char* var, const char* path);
void SetConfigString(const char* var, const wchar_t* newVal, const char* path);
int GetConfigInt(const char* var, const char* path);
void SetConfigInt(const char* var, int newVal, const char* path);
bool GetConfigBool(const char* var, const char* path);
void SetConfigBool(const char* var, bool newVal, const char* path);