summaryrefslogtreecommitdiff
path: root/src/yuzu_cmd/config.cpp
diff options
context:
space:
mode:
authorGravatar Zach Hilman2018-11-28 14:00:01 -0500
committerGravatar Zach Hilman2018-12-03 17:20:34 -0500
commitc381f46428268a57f0aef1d99918c8f1bb6beec7 (patch)
treef5aa5e646596d5d57d394a56f659668911c4ac27 /src/yuzu_cmd/config.cpp
parentsettings: Store list of disabled add-ons per title ID (diff)
downloadyuzu-c381f46428268a57f0aef1d99918c8f1bb6beec7.tar.gz
yuzu-c381f46428268a57f0aef1d99918c8f1bb6beec7.tar.xz
yuzu-c381f46428268a57f0aef1d99918c8f1bb6beec7.zip
config: Store and load disabled add-ons list
Diffstat (limited to 'src/yuzu_cmd/config.cpp')
-rw-r--r--src/yuzu_cmd/config.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/yuzu_cmd/config.cpp b/src/yuzu_cmd/config.cpp
index 097c1fbe3..fe0d1eebf 100644
--- a/src/yuzu_cmd/config.cpp
+++ b/src/yuzu_cmd/config.cpp
@@ -3,6 +3,7 @@
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include <memory> 5#include <memory>
6#include <sstream>
6#include <SDL.h> 7#include <SDL.h>
7#include <inih/cpp/INIReader.h> 8#include <inih/cpp/INIReader.h>
8#include "common/file_util.h" 9#include "common/file_util.h"
@@ -369,6 +370,23 @@ void Config::ReadValues() {
369 Settings::values.dump_exefs = sdl2_config->GetBoolean("Debugging", "dump_exefs", false); 370 Settings::values.dump_exefs = sdl2_config->GetBoolean("Debugging", "dump_exefs", false);
370 Settings::values.dump_nso = sdl2_config->GetBoolean("Debugging", "dump_nso", false); 371 Settings::values.dump_nso = sdl2_config->GetBoolean("Debugging", "dump_nso", false);
371 372
373 const auto title_list = sdl2_config->Get("AddOns", "title_ids", "");
374 std::stringstream ss(title_list);
375 std::string line;
376 while (std::getline(ss, line, '|')) {
377 const auto title_id = std::stoul(line, nullptr, 16);
378 const auto disabled_list = sdl2_config->Get("AddOns", "disabled_" + line, "");
379
380 std::stringstream inner_ss(disabled_list);
381 std::string inner_line;
382 std::vector<std::string> out;
383 while (std::getline(inner_ss, inner_line, '|')) {
384 out.push_back(inner_line);
385 }
386
387 Settings::values.disabled_addons.insert_or_assign(title_id, out);
388 }
389
372 // Web Service 390 // Web Service
373 Settings::values.enable_telemetry = 391 Settings::values.enable_telemetry =
374 sdl2_config->GetBoolean("WebService", "enable_telemetry", true); 392 sdl2_config->GetBoolean("WebService", "enable_telemetry", true);