From 0c48f1409ecdffec571d648d28215855386d8149 Mon Sep 17 00:00:00 2001 From: Ryan Houdek Date: Sun, 21 Mar 2021 00:48:12 -0700 Subject: [PATCH] Changes FEXConfig to actually load default configuration This was previously just some default values that I put in as placeholder Now that we actually have defaults configured somewhere, use those. Fixed #874 --- .../FEXCore/include/FEXCore/Config/Config.h | 2 ++ .../include/FEXCore/Config/ConfigValues.inl | 2 +- Source/Tools/FEXConfig/Main.cpp | 27 +++++-------------- 3 files changed, 9 insertions(+), 22 deletions(-) diff --git a/External/FEXCore/include/FEXCore/Config/Config.h b/External/FEXCore/include/FEXCore/Config/Config.h index 0a410977d..7100e514f 100644 --- a/External/FEXCore/include/FEXCore/Config/Config.h +++ b/External/FEXCore/include/FEXCore/Config/Config.h @@ -39,11 +39,13 @@ namespace DefaultValues { #define P(x) x #define OPT_BASE(type, group, enum, json, env, default) constexpr P(type) P(enum) = P(default); #define OPT_STR(group, enum, json, env, default) const std::string P(enum) = P(default); +#define OPT_STRARRAY(group, enum, json, env, default) OPT_STR(group, enum, json, env, default) #include namespace Type { #define OPT_BASE(type, group, enum, json, env, default) using P(enum) = P(type); #define OPT_STR(group, enum, json, env, default) using P(enum) = std::string; +#define OPT_STRARRAY(group, enum, json, env, default) OPT_STR(group, enum, json, env, default) #include } #define FEX_CONFIG_OPT(name, enum) \ diff --git a/External/FEXCore/include/FEXCore/Config/ConfigValues.inl b/External/FEXCore/include/FEXCore/Config/ConfigValues.inl index 810865f6f..a159a0c15 100644 --- a/External/FEXCore/include/FEXCore/Config/ConfigValues.inl +++ b/External/FEXCore/include/FEXCore/Config/ConfigValues.inl @@ -40,7 +40,7 @@ OPT_STR (EMULATION, THUNKHOSTLIBSPATH, ThunkHostLibs, THUNKHOSTLIBS, "") OPT_STR (EMULATION, THUNKGUESTLIBSPATH, ThunkGuestLibs, THUNKGUESTLIBS, "") OPT_STR (EMULATION, THUNKCONFIGPATH, ThunkConfig, THUNKCONFIG, "") -OPT_STR (EMULATION, ENVIRONMENT, Env, ENV, "") +OPT_STRARRAY (EMULATION, ENVIRONMENT, Env, ENV, "") OPT_BOOL (DEBUG, SINGLESTEP, SingleStep, SINGLESTEP, false) OPT_BOOL (DEBUG, GDBSERVER, GdbServer, GDBSERVER, false) diff --git a/Source/Tools/FEXConfig/Main.cpp b/Source/Tools/FEXConfig/Main.cpp index b0baa9fa0..7429dcd37 100644 --- a/Source/Tools/FEXConfig/Main.cpp +++ b/Source/Tools/FEXConfig/Main.cpp @@ -56,27 +56,12 @@ namespace { ConfigOpen = true; ConfigFilename = {}; LoadedConfig = std::make_unique(); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_DEFAULTCORE, "1"); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_MAXBLOCKINST, "5000"); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_SINGLESTEP, "0"); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_MULTIBLOCK, "1"); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_GDBSERVER, "0"); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_EMULATED_CPU_CORES, "1"); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_ROOTFSPATH, ""); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_THUNKHOSTLIBSPATH, ""); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_THUNKGUESTLIBSPATH, ""); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_THUNKCONFIGPATH, ""); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_SILENTLOGS, "0"); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_ENVIRONMENT, "GALLIUM_THREAD=1"); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_ENVIRONMENT, "GALLIUM_HUD=fps"); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_ENVIRONMENT, "TERM=xterm"); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_OUTPUTLOG, ""); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_DUMPIR, "no"), - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_TSO_ENABLED, "1"); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_SMC_CHECKS, "0"); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_ABI_LOCAL_FLAGS, "0"); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_ABI_NO_PF, "0"); - LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_DEBUG_DISABLE_OPTIMIZATION_PASSES, "0"); +#define OPT_BASE(type, group, enum, json, env, default) \ + LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_##enum, std::to_string(default)); +#define OPT_STR(group, enum, json, env, default) \ + LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_##enum, default); +#define OPT_STRARRAY(group, enum, json, env, default) // Do nothing +#include } void SaveFile(std::string Filename) {