diff options
author | Zach Hilman <zachhilman@gmail.com> | 2018-11-28 14:00:01 -0500 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2018-12-03 17:20:34 -0500 |
commit | c381f46428268a57f0aef1d99918c8f1bb6beec7 (patch) | |
tree | f5aa5e646596d5d57d394a56f659668911c4ac27 /src/yuzu_cmd/config.cpp | |
parent | 282b7e902ce9992eaa60d2c259284f83751beaaa (diff) |
config: Store and load disabled add-ons list
Diffstat (limited to 'src/yuzu_cmd/config.cpp')
-rw-r--r-- | src/yuzu_cmd/config.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/yuzu_cmd/config.cpp b/src/yuzu_cmd/config.cpp index 097c1fbe37..fe0d1eebf5 100644 --- a/src/yuzu_cmd/config.cpp +++ b/src/yuzu_cmd/config.cpp @@ -3,6 +3,7 @@ // Refer to the license.txt file included. #include <memory> +#include <sstream> #include <SDL.h> #include <inih/cpp/INIReader.h> #include "common/file_util.h" @@ -369,6 +370,23 @@ void Config::ReadValues() { Settings::values.dump_exefs = sdl2_config->GetBoolean("Debugging", "dump_exefs", false); Settings::values.dump_nso = sdl2_config->GetBoolean("Debugging", "dump_nso", false); + const auto title_list = sdl2_config->Get("AddOns", "title_ids", ""); + std::stringstream ss(title_list); + std::string line; + while (std::getline(ss, line, '|')) { + const auto title_id = std::stoul(line, nullptr, 16); + const auto disabled_list = sdl2_config->Get("AddOns", "disabled_" + line, ""); + + std::stringstream inner_ss(disabled_list); + std::string inner_line; + std::vector<std::string> out; + while (std::getline(inner_ss, inner_line, '|')) { + out.push_back(inner_line); + } + + Settings::values.disabled_addons.insert_or_assign(title_id, out); + } + // Web Service Settings::values.enable_telemetry = sdl2_config->GetBoolean("WebService", "enable_telemetry", true); |