summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/InputConfig.cpp
diff options
context:
space:
mode:
authoriwubcode <iwubcode@users.noreply.github.com>2018-04-22 16:27:10 -0500
committeriwubcode <iwubcode@users.noreply.github.com>2018-07-07 12:55:49 -0500
commit14482a72af9e70667cb0e8477f4c14feb2c7a762 (patch)
treee4fd6c9a881ce9ecf347c32e016849c5b64fb0a9 /Source/Core/InputCommon/InputConfig.cpp
parent485285eadc71a8ca7055b9fc6b5da13c8b0251f4 (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.cpp13
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