diff --git a/Source/Core/Common/Config/Section.cpp b/Source/Core/Common/Config/Section.cpp index 7db2c557ea..bb9fcef0e3 100644 --- a/Source/Core/Common/Config/Section.cpp +++ b/Source/Core/Common/Config/Section.cpp @@ -54,6 +54,11 @@ void Section::Set(const std::string& key, const std::string& value) } } +void Section::Set(const std::string& key, u16 newValue) +{ + Section::Set(key, StringFromFormat("0x%04x", newValue)); +} + void Section::Set(const std::string& key, u32 newValue) { Section::Set(key, StringFromFormat("0x%08x", newValue)); @@ -124,6 +129,18 @@ bool Section::Get(const std::string& key, int* value, int defaultValue) const return false; } +bool Section::Get(const std::string& key, u16* value, u16 defaultValue) const +{ + std::string temp; + bool retval = Get(key, &temp); + + if (retval && TryParse(temp, value)) + return true; + + *value = defaultValue; + return false; +} + bool Section::Get(const std::string& key, u32* value, u32 defaultValue) const { std::string temp; diff --git a/Source/Core/Common/Config/Section.h b/Source/Core/Common/Config/Section.h index 0a4662d156..948ebd67d4 100644 --- a/Source/Core/Common/Config/Section.h +++ b/Source/Core/Common/Config/Section.h @@ -35,6 +35,7 @@ public: // Setters virtual void Set(const std::string& key, const std::string& value); + void Set(const std::string& key, u16 newValue); void Set(const std::string& key, u32 newValue); void Set(const std::string& key, float newValue); void Set(const std::string& key, double newValue); @@ -57,6 +58,7 @@ public: const std::string& default_value = NULL_STRING) const; bool Get(const std::string& key, int* value, int defaultValue = 0) const; + bool Get(const std::string& key, u16* value, u16 defaultValue = 0) const; bool Get(const std::string& key, u32* value, u32 defaultValue = 0) const; bool Get(const std::string& key, bool* value, bool defaultValue = false) const; bool Get(const std::string& key, float* value, float defaultValue = 0.0f) const;