diff options
Diffstat (limited to 'src/citra')
| -rw-r--r-- | src/citra/citra.cpp | 13 | ||||
| -rw-r--r-- | src/citra/config.cpp | 3 | ||||
| -rw-r--r-- | src/citra/default_ini.h | 8 | 
3 files changed, 16 insertions, 8 deletions
| diff --git a/src/citra/citra.cpp b/src/citra/citra.cpp index e47375f88..f9387e61c 100644 --- a/src/citra/citra.cpp +++ b/src/citra/citra.cpp @@ -129,15 +129,22 @@ int main(int argc, char** argv) {      std::unique_ptr<EmuWindow_SDL2> emu_window = std::make_unique<EmuWindow_SDL2>(); -    System::Init(emu_window.get()); -    SCOPE_EXIT({ System::Shutdown(); }); -      std::unique_ptr<Loader::AppLoader> loader = Loader::GetLoader(boot_filename);      if (!loader) {          LOG_CRITICAL(Frontend, "Failed to obtain loader for %s!", boot_filename.c_str());          return -1;      } +    boost::optional<u32> system_mode = loader->LoadKernelSystemMode(); + +    if (!system_mode) { +        LOG_CRITICAL(Frontend, "Failed to load ROM (Could not determine system mode)!"); +        return -1; +    } + +    System::Init(emu_window.get(), system_mode.get()); +    SCOPE_EXIT({ System::Shutdown(); }); +      Loader::ResultStatus load_result = loader->Load();      if (Loader::ResultStatus::Success != load_result) {          LOG_CRITICAL(Frontend, "Failed to load ROM (Error %i)!", load_result); diff --git a/src/citra/config.cpp b/src/citra/config.cpp index fd30bfc85..29462c982 100644 --- a/src/citra/config.cpp +++ b/src/citra/config.cpp @@ -59,7 +59,6 @@ void Config::ReadValues() {      // Core      Settings::values.use_cpu_jit = sdl2_config->GetBoolean("Core", "use_cpu_jit", true); -    Settings::values.frame_skip = sdl2_config->GetInteger("Core", "frame_skip", 0);      // Renderer      Settings::values.use_hw_renderer = sdl2_config->GetBoolean("Renderer", "use_hw_renderer", true); @@ -67,6 +66,8 @@ void Config::ReadValues() {      Settings::values.use_scaled_resolution =          sdl2_config->GetBoolean("Renderer", "use_scaled_resolution", false);      Settings::values.use_vsync = sdl2_config->GetBoolean("Renderer", "use_vsync", false); +    Settings::values.toggle_framelimit = +        sdl2_config->GetBoolean("Renderer", "toggle_framelimit", true);      Settings::values.bg_red = (float)sdl2_config->GetReal("Renderer", "bg_red", 1.0);      Settings::values.bg_green = (float)sdl2_config->GetReal("Renderer", "bg_green", 1.0); diff --git a/src/citra/default_ini.h b/src/citra/default_ini.h index b22627a2f..001b18ac2 100644 --- a/src/citra/default_ini.h +++ b/src/citra/default_ini.h @@ -42,10 +42,6 @@ pad_circle_modifier_scale =  # 0: Interpreter (slow), 1 (default): JIT (fast)  use_cpu_jit = -# The applied frameskip amount. Must be a power of two. -# 0 (default): No frameskip, 1: x2 frameskip, 2: x4 frameskip, 3: x8 frameskip, etc. -frame_skip = -  [Renderer]  # Whether to use software or hardware rendering.  # 0: Software, 1 (default): Hardware @@ -68,6 +64,10 @@ use_vsync =  # 0 (default): Default Top Bottom Screen, 1: Single Screen Only, 2: Large Screen Small Screen  layout_option = +#Whether to toggle frame limiter on or off. +# 0: Off , 1  (default): On +toggle_framelimit = +  # Swaps the prominent screen with the other screen.  # For example, if Single Screen is chosen, setting this to 1 will display the bottom screen instead of the top screen.  # 0 (default): Top Screen is prominent, 1: Bottom Screen is prominent | 
