Files
psxrecomp/runtime
Matthew Stanley 4177029320 ws backdrop: native-wide 2D-backdrop stretch via tagged + background-phase gate
The far 2D backdrop (a sprite-tagged tile grid: sky gradient band + flower-ball
field) draws first each frame, before the GTE 3D world, and bypasses the GTE -- so
in native-wide it stays 4:3-width and leaves a void on the revealed margin (the
flower seam and, behind it, the gradient-blue sky seam at the same width).

Fix: gate the existing GL centre-stretch on native-wide + sprite-tagged +
BACKGROUND PHASE. A per-frame latch (ws_bg_phase_note at GP0 decode) marks the
phase over once the first shaded/gouraud prim (the 3D world's signature) is drawn,
so the early tagged backdrop tiles are stretched (filling both the flower and sky
seams, width scaled too -> no inter-tile gaps) while HUD/characters (tagged but
post-3D) and the GTE world (untagged, already widened) are excluded.

Replaces the dead flower-struct address-range gate (drawn prims are rebuilt into
the OT, disjoint from the struct -> never matched). USER-VERIFIED live: both seams
gone, HUD/Tomba/3D undistorted. ws_dbg_stretch debug modes retained for analysis.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 08:57:59 -07:00
..