Skip to content

Commit

Permalink
Avoid compatibility issues
Browse files Browse the repository at this point in the history
  • Loading branch information
iota97 committed Aug 14, 2022
1 parent 7846340 commit 9b0ff06
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 51 deletions.
101 changes: 51 additions & 50 deletions Core/Config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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"),
Expand Down Expand Up @@ -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),
};
Expand Down Expand Up @@ -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),
Expand Down Expand Up @@ -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();
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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_)) {
Expand All @@ -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_)) {
Expand All @@ -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) {
Expand All @@ -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;
Expand Down Expand Up @@ -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;
}
Expand Down
1 change: 0 additions & 1 deletion Core/Config.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,6 @@ struct Config {
bool bEnableLogging;
bool bDumpDecryptedEboot;
bool bFullscreenOnDoubleclick;
uint32_t uSettingsVersion;

// These four are Win UI only
bool bPauseOnLostFocus;
Expand Down

0 comments on commit 9b0ff06

Please sign in to comment.