HLE: CaptureManager: SaveScreenShot: properly handle screenshot image data #18

Merged
LotP merged 6 commits from Xam/Ryubing:shots into master 2026-04-17 23:08:34 +00:00
Contributor

no way this was working before, and if it did, just pure luck, unsafe blind copy of bytes as is and zero checks.

i only tested tomodachi, but should fix all games that were crashing on saving screenshots

the crash was happening because the screenshot buffer was bigger than the bitmap buffer, so marshall.copy() was raising an unhandhled expection crashing the emu.

on top of this, because the data was just copied as is, the result image was garbled.

fixes #304

no way this was working before, and if it did, just pure luck, unsafe blind copy of bytes as is and zero checks. i only tested tomodachi, but should fix all games that were crashing on saving screenshots the crash was happening because the screenshot buffer was bigger than the bitmap buffer, so marshall.copy() was raising an unhandhled expection crashing the emu. on top of this, because the data was just copied as is, the result image was garbled. [fixes #304](https://github.com/Ryubing/Issues/issues/304)
LotP force-pushed shots from dd1de89c56
All checks were successful
Build PR / linux-arm64 (Release) (pull_request) Successful in 5m0s
Build PR / win-x64 (Release) (pull_request) Successful in 5m58s
Build PR / linux-x64 (Release) (pull_request) Successful in 7m1s
Build PR / macOS Universal (Release) (pull_request) Successful in 12m29s
to 8baad70ed8
All checks were successful
Build PR / linux-arm64 (Release) (pull_request) Successful in 5m48s
Build PR / win-x64 (Release) (pull_request) Successful in 8m10s
Build PR / linux-x64 (Release) (pull_request) Successful in 8m18s
Build PR / macOS Universal (Release) (pull_request) Successful in 14m8s
2026-04-17 23:07:57 +00:00
Compare
LotP merged commit 35b1531102 into master 2026-04-17 23:08:34 +00:00
ryuadmin added this to the 1.4.0 milestone 2026-05-05 00:35:00 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
projects/Ryubing!18
No description provided.