diff --git a/Core/Config.cpp b/Core/Config.cpp index 89c42d616ed7..6fb58abb1668 100644 --- a/Core/Config.cpp +++ b/Core/Config.cpp @@ -548,6 +548,21 @@ static ConfigSetting generalSettings[] = { ConfigSetting("GridView1", &g_Config.bGridView1, true), ConfigSetting("GridView2", &g_Config.bGridView2, true), ConfigSetting("GridView3", &g_Config.bGridView3, false), + ConfigSetting("RightAnalogUp", &g_Config.iRightAnalogUp, 0, true, true), + ConfigSetting("RightAnalogDown", &g_Config.iRightAnalogDown, 0, true, true), + ConfigSetting("RightAnalogLeft", &g_Config.iRightAnalogLeft, 0, true, true), + ConfigSetting("RightAnalogRight", &g_Config.iRightAnalogRight, 0, true, true), + ConfigSetting("RightAnalogPress", &g_Config.iRightAnalogPress, 0, true, true), + ConfigSetting("RightAnalogCustom", &g_Config.bRightAnalogCustom, false, true, true), + ConfigSetting("RightAnalogDisableDiagonal", &g_Config.bRightAnalogDisableDiagonal, false, true, true), + ConfigSetting("SwipeUp", &g_Config.iSwipeUp, 0, true, true), + ConfigSetting("SwipeDown", &g_Config.iSwipeDown, 0, true, true), + ConfigSetting("SwipeLeft", &g_Config.iSwipeLeft, 0, true, true), + ConfigSetting("SwipeRight", &g_Config.iSwipeRight, 0, true, true), + ConfigSetting("SwipeSensitivity", &g_Config.fSwipeSensitivity, 1.0f, true, true), + ConfigSetting("SwipeSmoothing", &g_Config.fSwipeSmoothing, 0.3f, true, true), + ConfigSetting("DoubleTapGesture", &g_Config.iDoubleTapGesture, 0, true, true), + ConfigSetting("GestureControlEnabled", &g_Config.bGestureControlEnabled, false, true, true), // "default" means let emulator decide, "" means disable. ConfigSetting("ReportingHost", &g_Config.sReportHost, "default"), @@ -586,7 +601,6 @@ static ConfigSetting generalSettings[] = { ConfigSetting("EnablePlugins", &g_Config.bLoadPlugins, true, true, true), ReportedConfigSetting("IgnoreCompatSettings", &g_Config.sIgnoreCompatSettings, "", true, true), - ConfigSetting("SettingsVersion", &g_Config.uSettingsVersion, 0u, true, true), // Per game for game configs ConfigSetting(false), }; @@ -1050,23 +1064,6 @@ static ConfigSetting controlSettings[] = { ConfigSetting("MouseSensitivity", &g_Config.fMouseSensitivity, 0.1f, true, true), ConfigSetting("MouseSmoothing", &g_Config.fMouseSmoothing, 0.9f, true, true), - ConfigSetting("RightAnalogUp", &g_Config.iRightAnalogUp, 0, true, true), - ConfigSetting("RightAnalogDown", &g_Config.iRightAnalogDown, 0, true, true), - ConfigSetting("RightAnalogLeft", &g_Config.iRightAnalogLeft, 0, true, true), - ConfigSetting("RightAnalogRight", &g_Config.iRightAnalogRight, 0, true, true), - ConfigSetting("RightAnalogPress", &g_Config.iRightAnalogPress, 0, true, true), - ConfigSetting("RightAnalogCustom", &g_Config.bRightAnalogCustom, false, true, true), - ConfigSetting("RightAnalogDisableDiagonal", &g_Config.bRightAnalogDisableDiagonal, false, true, true), - - ConfigSetting("SwipeUp", &g_Config.iSwipeUp, 0, true, true), - ConfigSetting("SwipeDown", &g_Config.iSwipeDown, 0, true, true), - ConfigSetting("SwipeLeft", &g_Config.iSwipeLeft, 0, true, true), - ConfigSetting("SwipeRight", &g_Config.iSwipeRight, 0, true, true), - ConfigSetting("SwipeSensitivity", &g_Config.fSwipeSensitivity, 1.0f, true, true), - ConfigSetting("SwipeSmoothing", &g_Config.fSwipeSmoothing, 0.3f, true, true), - ConfigSetting("DoubleTapGesture", &g_Config.iDoubleTapGesture, 0, true, true), - ConfigSetting("GestureControlEnabled", &g_Config.bGestureControlEnabled, false, true, true), - ConfigSetting("SystemControls", &g_Config.bSystemControls, true, true, false), ConfigSetting(false), @@ -1271,24 +1268,6 @@ void Config::UpdateIniLocation(const char *iniFileName, const char *controllerIn controllerIniFilename_ = FindConfigFile(useControllerIniFilename ? controllerIniFilename : "controls.ini"); } -static void loadOldControlSettings(IniFile &iniFile) { - iniFile.GetIfExists("General", "RightAnalogUp", &g_Config.iRightAnalogUp); - iniFile.GetIfExists("General", "RightAnalogDown", &g_Config.iRightAnalogDown); - iniFile.GetIfExists("General", "RightAnalogLeft", &g_Config.iRightAnalogLeft); - iniFile.GetIfExists("General", "RightAnalogRight", &g_Config.iRightAnalogRight); - iniFile.GetIfExists("General", "RightAnalogPress", &g_Config.iRightAnalogPress); - iniFile.GetIfExists("General", "SwipeUp", &g_Config.iSwipeUp); - iniFile.GetIfExists("General", "SwipeDown", &g_Config.iSwipeDown); - iniFile.GetIfExists("General", "SwipeLeft", &g_Config.iSwipeLeft); - iniFile.GetIfExists("General", "SwipeRight", &g_Config.iSwipeRight); - iniFile.GetIfExists("General", "DoubleTapGesture", &g_Config.iDoubleTapGesture); - iniFile.GetIfExists("General", "SwipeSensitivity", &g_Config.fSwipeSensitivity); - iniFile.GetIfExists("General", "SwipeSmoothing", &g_Config.fSwipeSmoothing); - iniFile.GetIfExists("General", "RightAnalogCustom", &g_Config.bRightAnalogCustom); - iniFile.GetIfExists("General", "RightAnalogDisableDiagonal", &g_Config.bRightAnalogDisableDiagonal); - iniFile.GetIfExists("General", "GestureControlEnabled", &g_Config.bGestureControlEnabled); -} - void Config::Load(const char *iniFileName, const char *controllerIniFilename) { if (!bUpdatedInstanceCounter) { InitInstanceCounter(); @@ -1387,12 +1366,6 @@ void Config::Load(const char *iniFileName, const char *controllerIniFilename) { ResetControlLayout(); } - if (g_Config.uSettingsVersion == 0) { - g_Config.uSettingsVersion = 1; - - loadOldControlSettings(iniFile); - } - const char *gitVer = PPSSPP_GIT_VERSION; Version installed(gitVer); Version upgrade(upgradeVersion); @@ -1462,6 +1435,24 @@ void Config::Load(const char *iniFileName, const char *controllerIniFilename) { INFO_LOG(LOADER, "Config loaded: '%s'", iniFilename_.c_str()); } +static const char *controlSettingInGeneral[] = { + "RightAnalogUp", + "RightAnalogDown", + "RightAnalogLeft", + "RightAnalogRight", + "RightAnalogPress", + "SwipeUp", + "SwipeDown", + "SwipeLeft", + "SwipeRight", + "DoubleTapGesture", + "SwipeSensitivity", + "SwipeSmoothing", + "RightAnalogCustom", + "RightAnalogDisableDiagonal", + "GestureControlEnabled", +}; + bool Config::SaveControllerProfile(uint32_t id) { IniFile iniFile; if (!iniFile.Load(controllerIniFilename_)) { @@ -1474,6 +1465,14 @@ bool Config::SaveControllerProfile(uint32_t id) { setting->Set(section); } + // Those are in the general section... Mistake were made :( + for (auto setting = generalSettings; setting->HasMore(); ++setting) { + for (auto val : controlSettingInGeneral) { + if (strcmp(setting->iniKey_, val) == 0) + setting->Set(section); + } + } + KeyMap::SaveToIni(iniFile, StringFromFormat("ControlProfile%uMapping", id).c_str()); if (!iniFile.Save(controllerIniFilename_)) { @@ -1491,10 +1490,10 @@ bool Config::ControllerProfileExist(uint32_t id) { return false; } + // Mapping can be empty and have no section, so don't check for it too bool setting = iniFile.HasSection(StringFromFormat("ControlProfile%uSettings", id).c_str()); - bool mapping = iniFile.HasSection(StringFromFormat("ControlProfile%uMapping", id).c_str()); - return mapping && setting; + return setting; } bool Config::LoadControllerProfile(uint32_t id) { @@ -1509,6 +1508,14 @@ bool Config::LoadControllerProfile(uint32_t id) { setting->Get(section); } + // Those are in the general section... Mistake were made :( + for (auto setting = generalSettings; setting->HasMore(); ++setting) { + for (auto val : controlSettingInGeneral) { + if (strcmp(setting->iniKey_, val) == 0) + setting->Get(section); + } + } + KeyMap::LoadFromIni(iniFile, StringFromFormat("ControlProfile%uMapping", id).c_str()); return true; @@ -1898,12 +1905,6 @@ bool Config::loadGameConfig(const std::string &pGameId, const std::string &title } }); - if (g_Config.uSettingsVersion == 0) { - g_Config.uSettingsVersion = 1; - - loadOldControlSettings(iniFile); - } - KeyMap::LoadFromIni(iniFile); return true; } diff --git a/Core/Config.h b/Core/Config.h index 9e840ada7146..03babb872d94 100644 --- a/Core/Config.h +++ b/Core/Config.h @@ -91,7 +91,6 @@ struct Config { bool bEnableLogging; bool bDumpDecryptedEboot; bool bFullscreenOnDoubleclick; - uint32_t uSettingsVersion; // These four are Win UI only bool bPauseOnLostFocus;