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 |