summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/InputConfig.cpp
diff options
context:
space:
mode:
authorJMC47 <JMC4789@gmail.com>2025-03-23 15:12:28 -0400
committerGitHub <noreply@github.com>2025-03-23 15:12:28 -0400
commit2da255d8cdb2da67123296f5f091f808c696d021 (patch)
tree6cb532eb57ccc7565dac52beaa0901045c6f5c98 /Source/Core/InputCommon/InputConfig.cpp
parente93f0de8a4bcf9f201347fba21a12960ffa3c15f (diff)
parente18d98d4fc94830937f6011e15ad1a41a9eeb9dc (diff)
Merge pull request #13311 from iwubcode/dynamic_input_textures_reduce_image_writes
Core / DolphinQt / InputCommon: reduce the number disk writes when using DynamicInputTextures
Diffstat (limited to 'Source/Core/InputCommon/InputConfig.cpp')
-rw-r--r--Source/Core/InputCommon/InputConfig.cpp23
1 files changed, 17 insertions, 6 deletions
diff --git a/Source/Core/InputCommon/InputConfig.cpp b/Source/Core/InputCommon/InputConfig.cpp
index ff3f68acd0..2dd39f945b 100644
--- a/Source/Core/InputCommon/InputConfig.cpp
+++ b/Source/Core/InputCommon/InputConfig.cpp
@@ -35,8 +35,6 @@ bool InputConfig::LoadConfig()
static constexpr std::array<std::string_view, MAX_BBMOTES> num = {"1", "2", "3", "4", "BB"};
std::string profile[MAX_BBMOTES];
- m_dynamic_input_tex_config_manager.Load();
-
if (SConfig::GetInstance().GetGameID() != "00000000")
{
const std::string profile_directory = GetUserProfileDirectoryPath();
@@ -102,8 +100,6 @@ bool InputConfig::LoadConfig()
// Next profile
n++;
}
-
- m_dynamic_input_tex_config_manager.GenerateTextures(inifile, controller_names);
return true;
}
else
@@ -139,8 +135,6 @@ void InputConfig::SaveConfig()
controller_names.push_back(controller->GetName());
}
- m_dynamic_input_tex_config_manager.GenerateTextures(inifile, controller_names);
-
inifile.Save(ini_filename);
}
@@ -210,6 +204,8 @@ bool InputConfig::IsControllerControlledByGamepadDevice(int index) const
void InputConfig::GenerateControllerTextures(const Common::IniFile& file)
{
+ m_dynamic_input_tex_config_manager.Load();
+
std::vector<std::string> controller_names;
for (auto& controller : m_controllers)
{
@@ -218,3 +214,18 @@ void InputConfig::GenerateControllerTextures(const Common::IniFile& file)
m_dynamic_input_tex_config_manager.GenerateTextures(file, controller_names);
}
+
+void InputConfig::GenerateControllerTextures()
+{
+ const std::string ini_filename = File::GetUserPath(D_CONFIG_IDX) + m_ini_name + ".ini";
+
+ Common::IniFile inifile;
+ inifile.Load(ini_filename);
+
+ for (auto& controller : m_controllers)
+ {
+ controller->SaveConfig(inifile.GetOrCreateSection(controller->GetName()));
+ }
+
+ GenerateControllerTextures(inifile);
+}