mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-11-15 10:40:01 +01:00
Add overlay (bezel) support
Draws a user image around or behind the PSP screen, to fill the black bars on displays whose aspect ratio doesn't match the PSP's (#20325). - Overlays are PNGs in PSP/OVERLAYS. A plain PNG there just works: it's drawn in front of the game, and its transparent hole is found by walking from the image center to each edge until a nearly opaque pixel. Existing RetroArch overlay images can be dropped in as-is. - A subfolder with an overlay.ini can define overlays with a Name, Layer (Foreground/Background) and an explicit Hole=x,y,w,h. - "Load overlay image..." in the display layout screen imports any PNG (including Android content URIs) into the overlays folder and selects it. - The overlay is fit to the screen (aspect preserved, centered). The hole is mapped with the same scale, and the game is fit into it with the normal stretch / integer scale / aspect ratio options. Offset and scale don't apply while an overlay with a hole is active. This goes through CalculateDisplayOutputRect, so touch mapping and post shaders agree. - The selection is a per-orientation, per-game DisplayLayout setting. - Disabled in VR, Cardboard, and with skip buffer effects (except software rendering), since the presentation path doesn't run there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QGBg32EFPsTXjAFu7dnTcz
This commit is contained in:
1 parent
ff3d184b43
commit
3ce3973781
18 files changed
+697
-6
No files matched your search
@@ -141,6 +141,8 @@ Path GetSysDirectory(PSPDirectories directoryType) {
|
||||
return PreferUpperCaseDir(pspDirectory, "SHADERS", "shaders");
|
||||
case DIRECTORY_CUSTOM_THEMES:
|
||||
return PreferUpperCaseDir(pspDirectory, "THEMES", "themes");
|
||||
case DIRECTORY_CUSTOM_OVERLAYS:
|
||||
return PreferUpperCaseDir(pspDirectory, "OVERLAYS", "overlays");
|
||||
case DIRECTORY_NAND:
|
||||
return pspDirectory / "NAND";
|
||||
|
||||
|
||||
Reference in new issue
Block a user