mirror of
https://github.com/jkdansereau/goldeneye-pc-port.git
synced 2026-10-23 15:52:42 +02:00
- Widescreen/FOV Phase 4: automatic vertical-FOV scale by window aspect ratio (Video.WidescreenAuto, default on), composed before the existing manual Video.FovScale multiplier. New symmetric FOV floor (20 deg) alongside the existing 160 deg ceiling. - D247/D246: the game's own TV-overscan safe-area viewport inset (real on N64, hidden by CRT overscan, visible as black bars on PC with no crop) now gets cropped instead of shown -- gfx_adjust_viewport_or_scissor remaps against the actual captured gameplay viewport bounds (vertical) plus a measured, resolution-independent 1-logical-unit trim (horizontal) instead of the fixed VI canvas size. New Video.SafeAreaCrop toggle, default on. - D219 (rainbow bullet-spark colors), a real 32->64-bit ABI bug: bullet_spark_render (glass2.c) read the spark's stored RGBA color via a hardcoded raw byte offset instead of the named s_bullet_spark struct field -- on 64-bit PC an earlier void* field's widening + alignment padding shifts the true offset by 4 bytes, so the read landed in unrelated f32 velocity fields instead. Fixed by reading the named fields. Also fixed an adjacent UB (a 16-byte Vtx read from a 4-byte global) in the same function. This turned out to be the actual root cause behind the D252 "lingering particle sprites after an explosion" report as well (same render path via objHit and friends) -- closed as a duplicate. - Moved docs/dev/WIDESCREEN-FOV-PLAN.md to docs/dev/notes/ (gitignored local notes), matching this project's convention of keeping in-progress planning docs out of the tracked tree. User live-verified all of the above interactively this session.