cfg: allow non per-game option to be overriden. Remove per-game for some

Allow non per-game options to be overridden with command line args.
Fixes MINIDUMP-7G

Save state slot, box art settings, UploadCrashLogs, UseRawInput and lua
filename shouldn't be settable per-game.
This commit is contained in:
Flyinghead 2023-02-05 11:38:21 +01:00
parent f35167a0de
commit 3a21f545d8
3 changed files with 15 additions and 15 deletions

View File

@ -37,10 +37,10 @@ Option<bool> FullMMU("Dreamcast.FullMMU");
Option<bool> ForceWindowsCE("Dreamcast.ForceWindowsCE");
Option<bool> AutoLoadState("Dreamcast.AutoLoadState");
Option<bool> AutoSaveState("Dreamcast.AutoSaveState");
Option<int> SavestateSlot("Dreamcast.SavestateSlot");
Option<int, false> SavestateSlot("Dreamcast.SavestateSlot");
Option<bool> ForceFreePlay("ForceFreePlay", true);
Option<bool> FetchBoxart("FetchBoxart", true);
Option<bool> BoxartDisplayMode("BoxartDisplayMode", true);
Option<bool, false> FetchBoxart("FetchBoxart", true);
Option<bool, false> BoxartDisplayMode("BoxartDisplayMode", true);
// Sound
@ -121,7 +121,7 @@ Option<bool> OpenGlChecks("OpenGlChecks", false, "validate");
Option<std::vector<std::string>, false> ContentPath("Dreamcast.ContentPath");
Option<bool, false> HideLegacyNaomiRoms("Dreamcast.HideLegacyNaomiRoms", true);
Option<bool> UploadCrashLogs("UploadCrashLogs", true);
Option<bool, false> UploadCrashLogs("UploadCrashLogs", true);
// Profiler
Option<bool> ProfilerEnabled("Profiler.Enabled");
@ -181,11 +181,11 @@ std::array<std::array<Option<MapleDeviceType>, 2>, 4> MapleExpansionDevices {
Option<MapleDeviceType>("device4.2", MDT_None, "input"),
};
#ifdef _WIN32
Option<bool> UseRawInput("RawInput", false, "input");
Option<bool, false> UseRawInput("RawInput", false, "input");
#endif
#ifdef USE_LUA
OptionString LuaFileName("LuaFileName", "flycast.lua");
Option<std::string, false> LuaFileName("LuaFileName", "flycast.lua");
#endif
} // namespace config

View File

@ -157,8 +157,8 @@ public:
T& get() { return value; }
void set(T v) { value = v; }
void override(T v) {
verify(PerGameOption);
void override(T v)
{
overriddenDefault = v;
overridden = true;
value = v;
@ -372,10 +372,10 @@ extern Option<bool> FullMMU;
extern Option<bool> ForceWindowsCE;
extern Option<bool> AutoLoadState;
extern Option<bool> AutoSaveState;
extern Option<int> SavestateSlot;
extern Option<int, false> SavestateSlot;
extern Option<bool> ForceFreePlay;
extern Option<bool> FetchBoxart;
extern Option<bool> BoxartDisplayMode;
extern Option<bool, false> FetchBoxart;
extern Option<bool, false> BoxartDisplayMode;
// Sound
@ -482,7 +482,7 @@ extern Option<bool> OpenGlChecks;
extern Option<std::vector<std::string>, false> ContentPath;
extern Option<bool, false> HideLegacyNaomiRoms;
extern Option<bool> UploadCrashLogs;
extern Option<bool, false> UploadCrashLogs;
// Profiling
extern Option<bool> ProfilerEnabled;
@ -524,13 +524,13 @@ extern Option<int> VirtualGamepadVibration;
extern std::array<Option<MapleDeviceType>, 4> MapleMainDevices;
extern std::array<std::array<Option<MapleDeviceType>, 2>, 4> MapleExpansionDevices;
#ifdef _WIN32
extern Option<bool> UseRawInput;
extern Option<bool, false> UseRawInput;
#else
constexpr bool UseRawInput = false;
#endif
#ifdef USE_LUA
extern OptionString LuaFileName;
extern Option<std::string, false> LuaFileName;
#endif
} // namespace config

View File

@ -36,7 +36,7 @@ Option<bool> FullMMU("");
Option<bool> ForceWindowsCE(CORE_OPTION_NAME "_force_wince");
Option<bool> AutoLoadState("");
Option<bool> AutoSaveState("");
Option<int> SavestateSlot("");
Option<int, false> SavestateSlot("");
Option<bool> ForceFreePlay(CORE_OPTION_NAME "_force_freeplay", true);
// Sound