diff options
| author | iwubcode <iwubcode@users.noreply.github.com> | 2018-04-22 16:27:10 -0500 |
|---|---|---|
| committer | iwubcode <iwubcode@users.noreply.github.com> | 2018-07-07 12:55:49 -0500 |
| commit | 14482a72af9e70667cb0e8477f4c14feb2c7a762 (patch) | |
| tree | e4fd6c9a881ce9ecf347c32e016849c5b64fb0a9 /Source/Core/InputCommon/InputConfig.cpp | |
| parent | 485285eadc71a8ca7055b9fc6b5da13c8b0251f4 (diff) | |
Input: Allow cycling to occur for each individual controller
Diffstat (limited to 'Source/Core/InputCommon/InputConfig.cpp')
| -rw-r--r-- | Source/Core/InputCommon/InputConfig.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/Source/Core/InputCommon/InputConfig.cpp b/Source/Core/InputCommon/InputConfig.cpp index 989c1bdce9..9ca3e1708d 100644 --- a/Source/Core/InputCommon/InputConfig.cpp +++ b/Source/Core/InputCommon/InputConfig.cpp @@ -7,6 +7,7 @@ #include "Common/FileUtil.h" #include "Common/IniFile.h" #include "Common/MsgHandler.h" +#include "Common/StringUtil.h" #include "Core/ConfigManager.h" #include "Core/HW/Wiimote.h" #include "InputCommon/ControllerEmu/ControlGroup/ControlGroup.h" @@ -51,8 +52,16 @@ bool InputConfig::LoadConfig(bool isGC) { if (control_section->Exists(type + "Profile" + num[i])) { - if (control_section->Get(type + "Profile" + num[i], &profile[i])) + std::string profile_setting; + if (control_section->Get(type + "Profile" + num[i], &profile_setting)) { + // Setting can contain commas, which means there are multiple profiles specified + // this is used for controller cycling + const auto& profile_options = SplitString(profile_setting, ','); + + // Use the first profile by default + profile[i] = profile_options[0]; + if (File::Exists(File::GetUserPath(D_CONFIG_IDX) + path + profile[i] + ".ini")) { useProfile[i] = true; @@ -76,7 +85,7 @@ bool InputConfig::LoadConfig(bool isGC) if (useProfile[n]) { IniFile profile_ini; - profile_ini.Load(File::GetUserPath(D_CONFIG_IDX) + path + profile[n] + ".ini"); + profile_ini.Load(profile[n]); controller->LoadConfig(profile_ini.GetOrCreateSection("Profile")); } else |
