diff options
author | mpnico <mpnico@gmail.com> | 2021-09-11 22:08:25 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-11 22:08:25 +0200 |
commit | 117e32a6fffc30cdb895aa98483af7df353a8dd1 (patch) | |
tree | 3a6ad3b396bbf641663dada2419709837f7c8268 /Ryujinx/Configuration/ConfigurationState.cs | |
parent | b0e410a828fd37bf0d9021fc2f6b630e3944a861 (diff) |
Implement a "Pause Emulation" option & hotkey (#2428)
* Add a "Pause Emulation" option and hotkey
Closes Ryujinx#1604
* Refactoring how pause is handled
* Applied suggested changes from review
* Applied suggested fixes
* Pass correct suspend type to threads for suspend/resume
* Fix NRE after stoping emulation
* Removing SimulateWakeUpMessage call after resuming emulation
* Skip suspending non game process
* Pause the tickCounter in the ExecutionContext
* Refactoring tickCounter pause/resume as suggested
* Fix Config migration to add pause hotkey
* Fixed pausing only application threads
* Fix exiting emulator while paused
* Avoid pause/resume while already paused/resumed
* Cleanup unused code
* Avoid restarting audio if stopping emulation while in pause.
* Added suggested changes
* Fix ConfigurationState
Diffstat (limited to 'Ryujinx/Configuration/ConfigurationState.cs')
-rw-r--r-- | Ryujinx/Configuration/ConfigurationState.cs | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/Ryujinx/Configuration/ConfigurationState.cs b/Ryujinx/Configuration/ConfigurationState.cs index 1476f623..9cf3f650 100644 --- a/Ryujinx/Configuration/ConfigurationState.cs +++ b/Ryujinx/Configuration/ConfigurationState.cs @@ -554,7 +554,8 @@ namespace Ryujinx.Configuration { ToggleVsync = Key.Tab, Screenshot = Key.F8, - ShowUi = Key.F4 + ShowUi = Key.F4, + Pause = Key.F5 }; Hid.InputConfig.Value = new List<InputConfig> { @@ -913,6 +914,21 @@ namespace Ryujinx.Configuration configurationFileUpdated = true; } + if (configurationFileFormat.Version < 32) + { + Common.Logging.Logger.Warning?.Print(LogClass.Application, $"Outdated configuration version {configurationFileFormat.Version}, migrating to version 32."); + + configurationFileFormat.Hotkeys = new KeyboardHotkeys + { + ToggleVsync = configurationFileFormat.Hotkeys.ToggleVsync, + Screenshot = configurationFileFormat.Hotkeys.Screenshot, + ShowUi = configurationFileFormat.Hotkeys.ShowUi, + Pause = Key.F5 + }; + + configurationFileUpdated = true; + } + Logger.EnableFileLog.Value = configurationFileFormat.EnableFileLog; Graphics.BackendThreading.Value = configurationFileFormat.BackendThreading; Graphics.ResScale.Value = configurationFileFormat.ResScale; |