Open myself600 opened 1 year ago
The original did not support taking screen shots during load screens or cut scenes.
Current implementation does not take keymapper in to account and has some issue with capturing from the menu on some systems.
I fixed the keymapper issue at the very least. Capturing from menu, in terms of having accurate/complete screenshots, sounds like a different issue all together.
@DakkJaniels can we disable menu screen shots for now?
I think the problem that I haven't worked out yet was the SDL1 part, not the menu screenshots
There are still three problems, right?
KeymapperOptions::IsTextEntryKey()
is not consistent with the logic in KeymapperOptions::KeyPressed()
.I'll try and wrap up at least the first two items this week. The third I'm not really sure about.
if you can just disable screen shots in the menu that would be good enough :)
The menu screenshots are missing some or all of the on-screen visual elements ~on some platforms~.
Looks like this is not a matter of it occurring on some platforms and not others. It's just order of operations. The PrintScreen()
function is invoked by UiHandleEvents()
during UiPollAndRender()
.
You may notice that UiRenderListItems()
is called just a few lines down from that so list items haven't been rendered yet. That's why those elements are missing from AJenbo's screenshot of the selhero menu (see https://github.com/diasurgical/devilutionX/pull/6058#issuecomment-1528050070).
Also, the reason why AJenbo was not able to get a screenshot of the main menu was because he was using a widescreen resolution. DakkJaniels was able to get one at 640x480 because UiClearScreen()
doesn't do anything in that menu at that resolution. The game doesn't bother clearing the screen because the ArtBackground
will eventually be drawn over the entire visible space when UiRenderListItems()
is called.
Operating System
Other (please specify)
DevilutionX version
1.4.1 (latest release)
Describe
I can't make screenshots using the built-in feature from
Reasoning:
This is needed to grab the screen before it is upscaled to 1920x1080
To Reproduce
In the description
Expected Behavior
No response
Additional context
Operating system: Manjaro ARM 23.02
Examples