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
This commit is contained in:
mpnico
2021-09-11 22:08:25 +02:00
committed by GitHub
parent b0e410a828
commit 117e32a6ff
21 changed files with 311 additions and 54 deletions

View File

@@ -908,18 +908,6 @@
}
},
"properties": {
"backend_threading": {
"$id": "#/properties/backend_threading",
"type": "string",
"title": "Backend Threading",
"description": "Whether backend threading is enabled or not. 'Auto' selects the most appropriate option for the current OS, vendor and backend.",
"default": "Auto",
"examples": [
"Auto",
"Off",
"On"
]
},
"res_scale": {
"$id": "#/properties/res_scale",
"type": "integer",
@@ -1468,7 +1456,8 @@
"title": "Hotkey Controls",
"required": [
"toggle_vsync",
"screenshot"
"screenshot",
"pause"
],
"properties": {
"toggle_vsync": {
@@ -1482,6 +1471,12 @@
"$ref": "#/definitions/key",
"title": "Screenshot",
"default": "F8"
},
"pause": {
"$id": "#/properties/hotkeys/properties/pause",
"$ref": "#/definitions/key",
"title": "Toggle Pause",
"default": "F5"
}
}
},