diff options
Diffstat (limited to 'src/yuzu_cmd')
| -rw-r--r-- | src/yuzu_cmd/config.cpp | 30 | ||||
| -rw-r--r-- | src/yuzu_cmd/default_ini.h | 13 | ||||
| -rw-r--r-- | src/yuzu_cmd/emu_window/emu_window_sdl2.cpp | 1 | 
3 files changed, 42 insertions, 2 deletions
| diff --git a/src/yuzu_cmd/config.cpp b/src/yuzu_cmd/config.cpp index 097c1fbe3..7a77f76e8 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" @@ -324,13 +325,21 @@ void Config::ReadValues() {      Settings::values.current_user = std::clamp<int>(          sdl2_config->GetInteger("System", "current_user", 0), 0, Service::Account::MAX_USERS - 1); -    const auto enabled = sdl2_config->GetBoolean("System", "rng_seed_enabled", false); -    if (enabled) { +    const auto rng_seed_enabled = sdl2_config->GetBoolean("System", "rng_seed_enabled", false); +    if (rng_seed_enabled) {          Settings::values.rng_seed = sdl2_config->GetInteger("System", "rng_seed", 0);      } else {          Settings::values.rng_seed = std::nullopt;      } +    const auto custom_rtc_enabled = sdl2_config->GetBoolean("System", "custom_rtc_enabled", false); +    if (custom_rtc_enabled) { +        Settings::values.custom_rtc = +            std::chrono::seconds(sdl2_config->GetInteger("System", "custom_rtc", 0)); +    } else { +        Settings::values.custom_rtc = std::nullopt; +    } +      // Core      Settings::values.use_cpu_jit = sdl2_config->GetBoolean("Core", "use_cpu_jit", true);      Settings::values.use_multi_core = sdl2_config->GetBoolean("Core", "use_multi_core", false); @@ -369,6 +378,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); diff --git a/src/yuzu_cmd/default_ini.h b/src/yuzu_cmd/default_ini.h index d73669f36..ba51a4a51 100644 --- a/src/yuzu_cmd/default_ini.h +++ b/src/yuzu_cmd/default_ini.h @@ -183,6 +183,12 @@ enable_nfc =  rng_seed_enabled =  rng_seed = +# Sets the current time (in seconds since 12:00 AM Jan 1, 1970) that will be used by the time service +# This will auto-increment, with the time set being the time the game is started +# This override will only occur if custom_rtc_enabled is true, otherwise the current time is used +custom_rtc_enabled = +custom_rtc = +  # Sets the account username, max length is 32 characters  # yuzu (default)  username = yuzu @@ -221,5 +227,12 @@ web_api_url = https://api.yuzu-emu.org  # See https://profile.yuzu-emu.org/ for more info  yuzu_username =  yuzu_token = + +[AddOns] +# Used to disable add-ons +# List of title IDs of games that will have add-ons disabled (separated by '|'): +title_ids = +# For each title ID, have a key/value pair called `disabled_<title_id>` equal to the names of the add-ons to disable (sep. by '|') +# e.x. disabled_0100000000010000 = Update|DLC <- disables Updates and DLC on Super Mario Odyssey  )";  } diff --git a/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp b/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp index a557f2884..7df8eff53 100644 --- a/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp +++ b/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp @@ -195,6 +195,7 @@ EmuWindow_SDL2::EmuWindow_SDL2(bool fullscreen) {      SDL_GL_SetSwapInterval(false);      LOG_INFO(Frontend, "yuzu Version: {} | {}-{}", Common::g_build_fullname, Common::g_scm_branch,               Common::g_scm_desc); +    Settings::LogSettings();      DoneCurrent();  } | 
