Frontends: Implement auto save on exit/resume

This commit is contained in:
Connor McLaughlin
2020-02-16 00:14:49 +09:00
parent e738b87a25
commit e01cf0dccb
9 changed files with 75 additions and 22 deletions

View File

@ -750,8 +750,9 @@ void HostInterface::SetDefaultSettings()
m_settings.emulation_speed = 1.0f;
m_settings.speed_limiter_enabled = true;
m_settings.start_paused = false;
m_settings.increase_timer_resolution = true;
m_settings.start_paused = false;
m_settings.save_state_on_exit = true;
m_settings.gpu_renderer = Settings::DEFAULT_GPU_RENDERER;
m_settings.gpu_resolution_scale = 1;

View File

@ -13,6 +13,7 @@ void Settings::Load(SettingsInterface& si)
speed_limiter_enabled = si.GetBoolValue("General", "SpeedLimiterEnabled", true);
increase_timer_resolution = si.GetBoolValue("General", "IncreaseTimerResolution", true);
start_paused = si.GetBoolValue("General", "StartPaused", false);
save_state_on_exit = si.GetBoolValue("General", "SaveStateOnExit", true);
cpu_execution_mode = ParseCPUExecutionMode(si.GetStringValue("CPU", "ExecutionMode", "Interpreter").c_str())
.value_or(CPUExecutionMode::Interpreter);
@ -63,6 +64,7 @@ void Settings::Save(SettingsInterface& si) const
si.SetBoolValue("General", "SpeedLimiterEnabled", speed_limiter_enabled);
si.SetBoolValue("General", "IncreaseTimerResolution", increase_timer_resolution);
si.SetBoolValue("General", "StartPaused", start_paused);
si.SetBoolValue("General", "SaveStateOnExit", save_state_on_exit);
si.SetStringValue("CPU", "ExecutionMode", GetCPUExecutionModeName(cpu_execution_mode));

View File

@ -36,9 +36,10 @@ struct Settings
CPUExecutionMode cpu_execution_mode = CPUExecutionMode::Interpreter;
float emulation_speed = 1.0f;
bool start_paused = false;
bool speed_limiter_enabled = true;
bool increase_timer_resolution = true;
bool start_paused = false;
bool save_state_on_exit = true;
GPURenderer gpu_renderer = GPURenderer::Software;
u32 gpu_resolution_scale = 1;