Files
goldeneye-pc-port/tools_pc/golden
James Dansereau 4b38c2566e D478-D490: crash log, session start, performance, fidelity, regions
Crash-log snprintf (D478), start-mp folder (D479), shader pre-warm (D480),
render worker thread (#92 low-end 45 to 60 fps, D481), lighter first-launch
defaults (D482), sniper crouch/zoom fixes (D483-D485, #136), Rareware text
TMEM swap (D75), D173 residual, turret/explosion fidelity (D486, #126),
21-level Windows golden rebase with a two-tier gate, PAL and JP convert/build/
boot (D258) with PAL frame height (D487) and osTvType (D488).

Refs: D478 D479 D480 D481 D482 D483 D484 D485 D486 D75 D173 D258 D487 D488 #136 #126
2026-10-06 18:35:42 -04:00
..

Golden baseline frames

<level>/<platform>/frame_NNNNNN.png: reference GE_PCDUMP captures for tools_pc/verify.sh, one folder per solo level (all 21, cuba = the ending) and per platform (win today; linux to come).

Recipe (2026-10-02 re-base; verify.sh applies all of it):

  • data/ge007.ini pinned to ONLY [Window] Width = 640, Height = 480 (every other option at its compiled-in default; verify.sh backs yours up).
  • GE_RSEED=0x0123456789abcdef (pinned PRNG).
  • GE_INPUTSCRIPT="20:START" (skips the intro flyby; the scripted pad is the only input) and GE_PCDUMP="900-1500:300": frames 900/1200/1500 are settled gameplay on every level. Cuba instead: no input (1:SNONE) and 300-900:300 (the ending cutscene; it returns to the boot screens before frame 1200).
  • Every run ends via GE_QUITFRAME (orderly quit; never a hard kill, D344).

Gate (two tiers): the structural framediff (cell means, coverage, phash) catches gross breakage; then a per-pixel --exact --tol 2 check with a per-level limit: 1% of pixels, 3% for Jungle and Surface 2, Cuba structural only. Measured run to run: <= 0.57% on 18 levels, Jungle 1.75%, Surface 2 2.33%, Cuba 36%; a global texture-filter switch measured 22%.

Regenerate one level after a deliberate visual change: run tools_pc/verify.sh <level> twice to confirm the new look is stable, then capture with the recipe above and replace <level>/<platform>/*.png.

History

  • D168 (2026-09-01): the GE_PCDUMP PPM writer emitted glReadPixels rows unreversed, so every capture — and this baseline set — was vertically flipped. Writer fixed (port/fast3d/gfx_opengl.cpp); this set regenerated from a fresh, correctly-oriented -level_09 run.
  • 2026-09-23 (v0.4.0): re-baselined. The 2026-09-09 (D215) set was captured while the port still rendered at 30 fps (2 sim ticks per frame); D248 moved it to 60 fps (1 tick/frame), so frame N now lands at half the sim time, and frames 200/320/440 fell in the intro cutscene, whose camera is nondeterministic (D117); two fresh captures disagreed at 440. The window moved to 640-1120:240, the same sim ticks the original set sampled. Two independent captures of it agree 3/3. The capture ini is now defaults-only, and verify.sh pins it the same way (it used to rewrite only Width/Height, which kept personal settings).
  • 2026-09-23 (later): window moved again, 400-880:240 → 640-1120:240. Frame 400 is the last beat of the intro cutscene (Bond in the shaft) and its camera is nondeterministic (D117): 1 in ~5 gate runs failed it (dmean 0.7 vs 20.7 run to run). All three frames are now settled gameplay; three independent captures agree (worst dmean ≤ 6.8).
  • 2026-10-02: re-based and extended to all 21 levels (<level>/win/), recipe above. The flat bunker1 set at the folder root was retired. Two independent 21-level passes agreed; noise per level measured as listed. verify.sh no longer hard-kills (taskkill of every ge007.x86_64.exe, including a maintainer's game); it quits via GE_QUITFRAME and only stops its own PID as a watchdog fallback.