summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/InputProfile.cpp
diff options
context:
space:
mode:
authoriwubcode <iwubcode@users.noreply.github.com>2018-05-23 22:20:58 -0500
committeriwubcode <iwubcode@users.noreply.github.com>2018-07-07 13:02:38 -0500
commit3b11066e6168a4c266ab30dd2805f8148c00f1a1 (patch)
tree4511e62d4a38320512ec3f071226cad98e15b680 /Source/Core/InputCommon/InputProfile.cpp
parentb5db180ac4dad3b0de143a3f3d4d061ba79e709a (diff)
Fix lint bugs
Diffstat (limited to 'Source/Core/InputCommon/InputProfile.cpp')
-rw-r--r--Source/Core/InputCommon/InputProfile.cpp270
1 files changed, 141 insertions, 129 deletions
diff --git a/Source/Core/InputCommon/InputProfile.cpp b/Source/Core/InputCommon/InputProfile.cpp
index dc76c83fa8..2ca7b46096 100644
--- a/Source/Core/InputCommon/InputProfile.cpp
+++ b/Source/Core/InputCommon/InputProfile.cpp
@@ -20,167 +20,179 @@
namespace InputProfile
{
+namespace
+{
+constexpr int display_message_ms = 3000;
+}
- namespace
- {
- constexpr int display_message_ms = 3000;
- }
+std::vector<std::string> ProfileCycler::GetProfilesForDevice(InputConfig* device_configuration)
+{
+ const std::string device_profile_root_location(File::GetUserPath(D_CONFIG_IDX) + "Profiles/" +
+ device_configuration->GetProfileName());
+ return Common::DoFileSearch({device_profile_root_location}, {".ini"});
+}
- std::vector<std::string> ProfileCycler::GetProfilesForDevice(InputConfig* device_configuration)
- {
- const std::string device_profile_root_location(File::GetUserPath(D_CONFIG_IDX) + "Profiles/" + device_configuration->GetProfileName());
- return Common::DoFileSearch({ device_profile_root_location }, { ".ini" });
- }
+std::string ProfileCycler::GetProfile(CycleDirection cycle_direction, int& profile_index,
+ const std::vector<std::string>& profiles)
+{
+ // update the index and bind it to the number of available strings
+ auto positive_modulo = [](int& i, int n) { i = (i % n + n) % n; };
+ profile_index += static_cast<int>(cycle_direction);
+ positive_modulo(profile_index, static_cast<int>(profiles.size()));
- std::string ProfileCycler::GetProfile(CycleDirection cycle_direction, int& profile_index, const std::vector<std::string>& profiles)
- {
- // update the index and bind it to the number of available strings
- auto positive_modulo = [](int& i, int n) {i = (i % n + n) % n;};
- profile_index += static_cast<int>(cycle_direction);
- positive_modulo(profile_index, static_cast<int>(profiles.size()));
+ return profiles[profile_index];
+}
- return profiles[profile_index];
- }
+void ProfileCycler::UpdateToProfile(const std::string& profile_filename,
+ ControllerEmu::EmulatedController* controller)
+{
+ std::string base;
+ SplitPath(profile_filename, nullptr, &base, nullptr);
- void ProfileCycler::UpdateToProfile(const std::string& profile_filename, ControllerEmu::EmulatedController* controller)
+ IniFile ini_file;
+ if (ini_file.Load(profile_filename))
{
- std::string base;
- SplitPath(profile_filename, nullptr, &base, nullptr);
-
- IniFile ini_file;
- if (ini_file.Load(profile_filename))
- {
- Core::DisplayMessage("Loading input profile '" + base + "' for device '" + controller->GetName() + "'", display_message_ms);
- controller->LoadConfig(ini_file.GetOrCreateSection("Profile"));
- controller->UpdateReferences(g_controller_interface);
- }
- else
- {
- Core::DisplayMessage("Unable to load input profile '" + base + "' for device '" + controller->GetName() + "'", display_message_ms);
- }
+ Core::DisplayMessage("Loading input profile '" + base + "' for device '" +
+ controller->GetName() + "'",
+ display_message_ms);
+ controller->LoadConfig(ini_file.GetOrCreateSection("Profile"));
+ controller->UpdateReferences(g_controller_interface);
}
-
- std::vector<std::string> ProfileCycler::GetProfilesFromSetting(const std::string& setting, InputConfig* device_configuration)
+ else
{
- const auto& profiles = SplitString(setting, ',');
+ Core::DisplayMessage("Unable to load input profile '" + base + "' for device '" +
+ controller->GetName() + "'",
+ display_message_ms);
+ }
+}
- const std::string device_profile_root_location(File::GetUserPath(D_CONFIG_IDX) + "Profiles/" + device_configuration->GetProfileName());
+std::vector<std::string> ProfileCycler::GetProfilesFromSetting(const std::string& setting,
+ InputConfig* device_configuration)
+{
+ const auto& profiles = SplitString(setting, ',');
- std::vector<std::string> result(profiles.size());
- std::transform(profiles.begin(), profiles.end(), result.begin(), [&device_profile_root_location](const std::string& profile)
- {
- return device_profile_root_location + "/" + StripSpaces(profile) + ".ini";
- });
+ const std::string device_profile_root_location(File::GetUserPath(D_CONFIG_IDX) + "Profiles/" +
+ device_configuration->GetProfileName());
- return result;
- }
+ std::vector<std::string> result(profiles.size());
+ std::transform(profiles.begin(), profiles.end(), result.begin(),
+ [&device_profile_root_location](const std::string& profile) {
+ return device_profile_root_location + "/" + StripSpaces(profile) + ".ini";
+ });
- std::vector<std::string> ProfileCycler::GetMatchingProfilesFromSetting(const std::string& setting, const std::vector<std::string>& profiles, InputConfig* device_configuration)
+ return result;
+}
+
+std::vector<std::string>
+ProfileCycler::GetMatchingProfilesFromSetting(const std::string& setting,
+ const std::vector<std::string>& profiles,
+ InputConfig* device_configuration)
+{
+ const auto& profiles_from_setting = GetProfilesFromSetting(setting, device_configuration);
+ if (profiles_from_setting.empty())
{
- const auto& profiles_from_setting = GetProfilesFromSetting(setting, device_configuration);
- if (profiles_from_setting.empty())
- {
- return {};
- }
-
- std::vector<std::string> result;
- std::set_intersection(profiles.begin(), profiles.end(), profiles_from_setting.begin(),
- profiles_from_setting.end(), std::back_inserter(result));
- return result;
+ return {};
}
- void ProfileCycler::CycleProfile(CycleDirection cycle_direction,
- InputConfig* device_configuration, int& profile_index,
- int controller_index)
+ std::vector<std::string> result;
+ std::set_intersection(profiles.begin(), profiles.end(), profiles_from_setting.begin(),
+ profiles_from_setting.end(), std::back_inserter(result));
+ return result;
+}
+
+void ProfileCycler::CycleProfile(CycleDirection cycle_direction, InputConfig* device_configuration,
+ int& profile_index, int controller_index)
+{
+ const auto& profiles = GetProfilesForDevice(device_configuration);
+ if (profiles.empty())
{
- const auto& profiles = GetProfilesForDevice(device_configuration);
- if (profiles.empty())
- {
- Core::DisplayMessage("No input profiles found", display_message_ms);
- return;
- }
- const std::string profile = GetProfile(cycle_direction, profile_index, profiles);
-
- auto* controller = device_configuration->GetController(controller_index);
- if (controller)
- {
- UpdateToProfile(profile, controller);
- }
- else
- {
- Core::DisplayMessage("No controller found for index: " + std::to_string(controller_index), display_message_ms);
- }
+ Core::DisplayMessage("No input profiles found", display_message_ms);
+ return;
}
+ const std::string profile = GetProfile(cycle_direction, profile_index, profiles);
- void ProfileCycler::CycleProfileForGame(CycleDirection cycle_direction,
- InputConfig* device_configuration, int& profile_index,
- const std::string& setting, int controller_index)
+ auto* controller = device_configuration->GetController(controller_index);
+ if (controller)
{
- const auto& profiles = GetProfilesForDevice(device_configuration);
- if (profiles.empty())
- {
- Core::DisplayMessage("No input profiles found", display_message_ms);
- return;
- }
-
- if (setting.empty())
- {
- Core::DisplayMessage("No setting found for game", display_message_ms);
- return;
- }
-
- const auto& profiles_for_game = GetMatchingProfilesFromSetting(setting, profiles,
- device_configuration);
- if (profiles_for_game.empty())
- {
- Core::DisplayMessage("No input profiles found for game", display_message_ms);
- return;
- }
-
- const std::string profile = GetProfile(cycle_direction, profile_index, profiles_for_game);
-
- auto* controller = device_configuration->GetController(controller_index);
- if (controller)
- {
- UpdateToProfile(profile, controller);
- }
- else
- {
- Core::DisplayMessage("No controller found for index: " + std::to_string(controller_index), display_message_ms);
- }
+ UpdateToProfile(profile, controller);
}
-
- std::string ProfileCycler::GetWiimoteInputProfilesForGame(int controller_index)
+ else
{
- IniFile game_ini = SConfig::GetInstance().LoadGameIni();
- const IniFile::Section* const control_section = game_ini.GetOrCreateSection("Controls");
-
- std::string result;
- control_section->Get(StringFromFormat("WiimoteProfile%d", controller_index+1), &result);
- return result;
+ Core::DisplayMessage("No controller found for index: " + std::to_string(controller_index),
+ display_message_ms);
}
+}
- void ProfileCycler::NextWiimoteProfile(int controller_index)
+void ProfileCycler::CycleProfileForGame(CycleDirection cycle_direction,
+ InputConfig* device_configuration, int& profile_index,
+ const std::string& setting, int controller_index)
+{
+ const auto& profiles = GetProfilesForDevice(device_configuration);
+ if (profiles.empty())
{
- CycleProfile(CycleDirection::Forward, Wiimote::GetConfig(), m_wiimote_profile_index,
- controller_index);
+ Core::DisplayMessage("No input profiles found", display_message_ms);
+ return;
}
- void ProfileCycler::PreviousWiimoteProfile(int controller_index)
+ if (setting.empty())
{
- CycleProfile(CycleDirection::Backward, Wiimote::GetConfig(), m_wiimote_profile_index,
- controller_index);
+ Core::DisplayMessage("No setting found for game", display_message_ms);
+ return;
}
- void ProfileCycler::NextWiimoteProfileForGame(int controller_index)
+ const auto& profiles_for_game =
+ GetMatchingProfilesFromSetting(setting, profiles, device_configuration);
+ if (profiles_for_game.empty())
{
- CycleProfileForGame(CycleDirection::Forward, Wiimote::GetConfig(), m_wiimote_profile_index,
- GetWiimoteInputProfilesForGame(controller_index), controller_index);
+ Core::DisplayMessage("No input profiles found for game", display_message_ms);
+ return;
}
- void ProfileCycler::PreviousWiimoteProfileForGame(int controller_index)
+ const std::string profile = GetProfile(cycle_direction, profile_index, profiles_for_game);
+
+ auto* controller = device_configuration->GetController(controller_index);
+ if (controller)
+ {
+ UpdateToProfile(profile, controller);
+ }
+ else
{
- CycleProfileForGame(CycleDirection::Backward, Wiimote::GetConfig(), m_wiimote_profile_index,
- GetWiimoteInputProfilesForGame(controller_index), controller_index);
+ Core::DisplayMessage("No controller found for index: " + std::to_string(controller_index),
+ display_message_ms);
}
}
+
+std::string ProfileCycler::GetWiimoteInputProfilesForGame(int controller_index)
+{
+ IniFile game_ini = SConfig::GetInstance().LoadGameIni();
+ const IniFile::Section* const control_section = game_ini.GetOrCreateSection("Controls");
+
+ std::string result;
+ control_section->Get(StringFromFormat("WiimoteProfile%d", controller_index + 1), &result);
+ return result;
+}
+
+void ProfileCycler::NextWiimoteProfile(int controller_index)
+{
+ CycleProfile(CycleDirection::Forward, Wiimote::GetConfig(), m_wiimote_profile_index,
+ controller_index);
+}
+
+void ProfileCycler::PreviousWiimoteProfile(int controller_index)
+{
+ CycleProfile(CycleDirection::Backward, Wiimote::GetConfig(), m_wiimote_profile_index,
+ controller_index);
+}
+
+void ProfileCycler::NextWiimoteProfileForGame(int controller_index)
+{
+ CycleProfileForGame(CycleDirection::Forward, Wiimote::GetConfig(), m_wiimote_profile_index,
+ GetWiimoteInputProfilesForGame(controller_index), controller_index);
+}
+
+void ProfileCycler::PreviousWiimoteProfileForGame(int controller_index)
+{
+ CycleProfileForGame(CycleDirection::Backward, Wiimote::GetConfig(), m_wiimote_profile_index,
+ GetWiimoteInputProfilesForGame(controller_index), controller_index);
+}
+}