Lighting: stride-8/9 vertices carry a normal (floats 3-5, uv at 6-7). The backend transforms normals by the instance rotation and lights with a single directional sun (GL_LIGHT0, smooth, two-sided, GL_COLOR_MATERIAL). Terrain and hulls shade instead of reading flat. LOD: the lod flush has no switch distances -- the host keeps the active LOD at the child-list head and re-orders over the wire, so children[0] is right and LOD changes come through as the sim runs. The crash that halted the game once the RIO drove the sim was not ours: fault at 0047E1D1 writing 0xFFFFFFFF is the RIO driver's DISABLE_AND_DIE debug macro (PCSPAK.ASM, DIE_ON_ERROR=1), which deliberately faults on a serial-tx anomaly -- error 3 = body char >0x7F during a RIO packet, i.e. a glitch on a board reset. Release build (DIE_ON_ERROR=0) compiles it out and recovers (and al,07Fh). patch_btl4opt.py NOPs all 12 sites by signature (with .orig backup) = release behavior; game then survives RIO resets (1200+ frames). (ALPHA_1 is git-ignored, so the tool ships, not the patched binary.) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
23 lines
409 B
Plaintext
23 lines
409 B
Plaintext
# Local working artifacts
|
|
dosbox-x/
|
|
image/
|
|
*.png
|
|
# Phase 3 evidence renders (keep: decoded from the captured VPX stream)
|
|
!divrgb-decoded.png
|
|
!divrgb-frame0.png
|
|
!divrgb-live-gl.png
|
|
!game-cockpit-decoded.png
|
|
!game-mech-decoded.png
|
|
!game-live-gl.png
|
|
!game-live-textured.png
|
|
!game-live-lit.png
|
|
dbx_out.txt
|
|
vpx*.txt
|
|
sweep_*.txt
|
|
dbx_err.txt
|
|
src/
|
|
vpxlog.txt
|
|
sent_hex.txt
|
|
build.log
|
|
run_build.sh
|