X Tutup
Skip to content

BACKENDS: Fix screen rotation#6699

Merged
lephilousophe merged 5 commits intoscummvm:masterfrom
lephilousophe:fix-rotation
Jun 15, 2025
Merged

BACKENDS: Fix screen rotation#6699
lephilousophe merged 5 commits intoscummvm:masterfrom
lephilousophe:fix-rotation

Conversation

@lephilousophe
Copy link
Member

The screen rotation feature only worked in specific cases and is now fixed to handle all of them.
The only thing not handled is OpenGL platforms without FBO but nothing simple can be done for that.

Also makes it behaves like other settings with a dedicated setter invoked during GFX transactions.
Although OpenGL graphics manager and WindowedGraphicsManager handle the rotation, let the platform specific backend decide if the mode should be supported.

The main change in the PR is that the drawing rectangles managed by WindowedGraphicsManager are now always in window coordinates in every case and the other graphic manager handle rotation around it.

@lephilousophe lephilousophe marked this pull request as draft June 8, 2025 14:14
@lephilousophe lephilousophe marked this pull request as ready for review June 8, 2025 14:59
@lephilousophe lephilousophe force-pushed the fix-rotation branch 2 times, most recently from 3e8f351 to bbd3b81 Compare June 10, 2025 17:44
Also make flip parameter separate from size.
The rotation is fully handled by the WindowedGraphicsManager including
for the mouse mapping.
The draw rect is always in window coordinates.
This has only worked correctly in some specific cases (screen centered,
no shaders, ...).
This also avoids configuration lookups at every frame update.
@lephilousophe lephilousophe merged commit ce68acf into scummvm:master Jun 15, 2025
8 checks passed
@lephilousophe lephilousophe deleted the fix-rotation branch June 15, 2025 11:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

X Tutup