mirror of
https://github.com/jkdansereau/goldeneye-pc-port.git
synced 2026-10-24 00:02:45 +02:00
Added a GE_D217TEX env-gated probe (src/game/image.c, texInflateZlib) logging texnum/numcolours/palette[0..1] straight off the decode bitstream -- the most direct check of whether the SAME texture number decodes to the SAME bytes across levels. Result: texnum=1608 (the PP7 grip, confirmed by its pal0=0001 matching the previously-documented BUNKER1-correct value) decodes IDENTICALLY on both BUNKER1 and FACILITY. This disproves the 'different ROM bytes per level' theory and confirms the bug is strictly downstream of a provably correct decode. Then built and tested the parked fix/d217-model-texture-palette (f6fc0399, the CI-texture-cache content-hash fix, defect (2)) directly against the FACILITY repro -- still renders green. That fix does not close this row; defect (1) and (2) are confirmed separate bugs. New leading theory: a stale/dangling tex->data pointer into the texpool arena, re-resolved once and not re-checked at draw time, so a later texture decode reusing the same arena address on a texture-heavy level silently overwrites the grip's palette bytes. Documented as the concrete next probe for whoever picks this up. Probe left in tree, env-gated (GE_D217TEX), inert by default. tools_pc/verify.sh bunker1: PASS, no regression. Claude-Session: https://claude.ai/code/session_016TaKy6AAsVUTfjkhrX6CjG