From 299c5594e6b36cef70b164e00eb671ed32c0d705 Mon Sep 17 00:00:00 2001 From: lat9nq <22451773+lat9nq@users.noreply.github.com> Date: Wed, 30 Jun 2021 20:16:01 -0400 Subject: [PATCH] yuzu_cmd: config: Pass a reference in Also adds documentation for the ReadSetting function. Address review comments. Co-authored-by: Mai M. <mathew1800@gmail.com> --- src/yuzu_cmd/config.cpp | 8 ++++---- src/yuzu_cmd/config.h | 8 +++++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/yuzu_cmd/config.cpp b/src/yuzu_cmd/config.cpp index 2c8d3f6839..325584a1a7 100644 --- a/src/yuzu_cmd/config.cpp +++ b/src/yuzu_cmd/config.cpp @@ -242,19 +242,19 @@ static const std::array<int, 8> keyboard_mods{ }; template <> -void Config::ReadSetting(const std::string& group, Settings::BasicSetting<float> setting) { +void Config::ReadSetting(const std::string& group, Settings::BasicSetting<float>& setting) { setting = sdl2_config->GetReal(group, setting.GetLabel(), setting.GetDefault()); } template <> -void Config::ReadSetting(const std::string& group, Settings::BasicSetting<std::string> setting) { +void Config::ReadSetting(const std::string& group, Settings::BasicSetting<std::string>& setting) { setting = sdl2_config->Get(group, setting.GetLabel(), setting.GetDefault()); } template <> -void Config::ReadSetting(const std::string& group, Settings::BasicSetting<bool> setting) { +void Config::ReadSetting(const std::string& group, Settings::BasicSetting<bool>& setting) { setting = sdl2_config->GetBoolean(group, setting.GetLabel(), setting.GetDefault()); } template <typename Type> -void Config::ReadSetting(const std::string& group, Settings::BasicSetting<Type> setting) { +void Config::ReadSetting(const std::string& group, Settings::BasicSetting<Type>& setting) { setting = static_cast<Type>(sdl2_config->GetInteger(group, setting.GetLabel(), static_cast<long>(setting.GetDefault()))); } diff --git a/src/yuzu_cmd/config.h b/src/yuzu_cmd/config.h index bf0103dee6..1ee932be2e 100644 --- a/src/yuzu_cmd/config.h +++ b/src/yuzu_cmd/config.h @@ -26,6 +26,12 @@ public: void Reload(); private: + /** + * Applies a value read from the sdl2_config to a BasicSetting. + * + * @param group The name of the INI group + * @param setting The yuzu setting to modify + */ template <typename Type> - void ReadSetting(const std::string& group, Settings::BasicSetting<Type> setting); + void ReadSetting(const std::string& group, Settings::BasicSetting<Type>& setting); };