mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 18:25:35 -04:00
846e402b98
gpu.c applies draw_offset_x/y to every primitive's coordinates before calling the gr_* facade (see gp0_exec_* — triangles, rects, sprites, lines all pre-offset), and the software raster consumes them directly (g_offset_x is never read during rasterization). The GPU triangle paths were adding s_off again, double-applying the offset. At the logos the offset is 0 so it was invisible, but in the scrolling overworld it displaced every GPU-rendered triangle by 2x the scroll, pushing the background/foreground terrain quads off-screen while sprites (drawn as rects -> software, single offset) stayed put. Net effect: "the entire overworld is gone" — only sprites survived. Drop the s_off addition in gpu_triangle/gpu_textured_triangle. Verified: the attract-demo overworld now renders full terrain (grass, mushrooms, cliffs, signpost, coins) instead of sprites on an empty gradient. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>