Skip to content
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

Screen manager refactoring, preparation for running the game behind the pause screen #18511

Merged
merged 7 commits into from
Dec 11, 2023

Conversation

hrydgard
Copy link
Owner

This rearchitects how we handle rendering the game behind the pause screen, and in general how "screens" are layered.

Now it's the actual EmuScreen rendering in a special mode, previously we had some custom code just to blit the image.

This is necessary preparation for showing the pause menu without stopping emulation (#17275) which has been requested a lot since it's very bad that the game stops running when you open that menu during multiplayer games, it often leads to an instant desync. Doesn't actually implement that, but makes it possible to do in a followup PR.

There shouldn't be much of a perceptible difference from this PR alone. I've tested that the display layout screen and other special cases seem to work OK.

There will be some followup PRs, both performing more cleanup and actually implementing not pausing the game behind the menu.

@hrydgard hrydgard added the Code Cleanup Cleanup to make future work easier. Needs to be done sometimes. label Dec 10, 2023
@hrydgard hrydgard added this to the v1.17.0 milestone Dec 10, 2023
@hrydgard hrydgard merged commit 9f01661 into master Dec 11, 2023
18 checks passed
@hrydgard hrydgard deleted the screen-manager-refactor branch December 11, 2023 07:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Code Cleanup Cleanup to make future work easier. Needs to be done sometimes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants