New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Savestates/rsx/IO: Resume emulation on long START press, enable "Start Paused" by defaut #12881
Conversation
Implemented emulation unpausing using the START button, implementing part of #12539. This works very well with the new savestate pause state by default. |
0e9907c
to
8620355
Compare
7e9ff9c
to
1d5563e
Compare
463c2f8
to
33ba25a
Compare
… manually Move some code in Emulator::Pause() so thread pausing is the first thing done by this function
rsx::overlays::queue_message(localized_string_id::EMULATION_RESUMING, 2'000'000); | ||
|
||
m_resume_emulation_flag = true; | ||
|
||
for (u32 i = 0; i < 40; i++) | ||
{ | ||
if (!Emu.IsPaused()) | ||
{ | ||
// Abort if emulation has been resumed by other means | ||
m_resume_emulation_flag = false; | ||
break; | ||
} | ||
|
||
thread_ctrl::wait_for(50'000); | ||
rsx::set_native_ui_flip(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think these 3 magic numbers should be calculated from a single variable.
The message "Press and hold the START button to resume" shows up even when the emulator is frozen by a log.fatal() assertion. (e.g. |
FPS_.29.57._.Vulkan._.0.0.24-64201fe4.Alpha._.patch-6._.local_build._.Persona.5.NPUB31848.2022-10-29.15-50-56.mp4
Implements part of #12539