| 166 | } |
| 167 | |
| 168 | static void LoadDefaultSettings() { |
| 169 | LoadedConfig = fextl::make_unique<FEX::Config::EmptyMapper>(); |
| 170 | #define OPT_BASE(type, group, enum, json, default) LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_##enum, std::to_string(default)); |
| 171 | #define OPT_STR(group, enum, json, default) LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_##enum, default); |
| 172 | #define OPT_STRARRAY(group, enum, json, default) // Do nothing |
| 173 | #define OPT_STRENUM(group, enum, json, default) \ |
| 174 | LoadedConfig->Set(FEXCore::Config::ConfigOption::CONFIG_##enum, std::to_string(FEXCore::ToUnderlying(default))); |
| 175 | #include <FEXCore/Config/ConfigValues.inl> |
| 176 | |
| 177 | // Erase unnamed options which shouldn't be set |
| 178 | LoadedConfig->Erase(FEXCore::Config::ConfigOption::CONFIG_IS_INTERPRETER); |
| 179 | LoadedConfig->Erase(FEXCore::Config::ConfigOption::CONFIG_INTERPRETER_INSTALLED); |
| 180 | LoadedConfig->Erase(FEXCore::Config::ConfigOption::CONFIG_APP_FILENAME); |
| 181 | LoadedConfig->Erase(FEXCore::Config::ConfigOption::CONFIG_APP_CONFIG_NAME); |
| 182 | LoadedConfig->Erase(FEXCore::Config::ConfigOption::CONFIG_IS64BIT_MODE); |
| 183 | } |
| 184 | |
| 185 | static void ConfigInit(fextl::string ConfigFilename) { |
| 186 | #define OPT_BASE(type, group, enum, json, default) \ |