A newer edition of the game turns up mid-project
What to know
Find every edition before deep work, and take the last one released as the reference by default: it has the most fixes and improvements. When a newer edition turns up after the work has started, move the project to it in order: record both editions, compare their data with versiondiff.py, export the new binaries, match functions so the labels carry over, record the ground truth again, verify the port again, and keep the old edition as documented differences (docs/working/versions.md, "Moving to a newer version mid-project").
The cheap way to avoid the move is a check on day one: read the copy's identity with tools/triage/buildid.py, then search MobyGames, PCGamingWiki, the publisher's old site on archive.org and the store pages for later official releases, before deep work (re-inventory, "Every edition, and the reference").
The POD case (observed, 2026-10-24): a month of work used the March 1997 first edition, a European disc in four languages with 16 tracks and 8 cars. Then POD Gold 2.8 turned up, with executables linked in October 1997, English as well, 32 tracks, 16 cars, Direct3D and PowerVR builds, and official updates, fan files and era tools beside it. Gold's readme says "Version 2.8 (September 29th, 1997)" and its executables were linked from 1997-10-25 to 10-29; the first edition's executables were linked on 1997-03-07, and its disc was mastered on 1997-01-13. Gold has 423 data files against 289, 136 of them new, and a track list whose format needs a variant reader.
What it changes:
- Addresses. Every finding that cites an address belongs to one build. Keep a map from old to new addresses (
labels/NEW/map.tsv, frommatch_functions.py), so each finding can be found again in the newer build. - Ground truth. Emulator measurements and recordings of whole runs were made on the old executables. Record them again on the reference, and keep the old ones as evidence of how the old edition behaved.
- Patches. Patches made to run the old executables check the old bytes. The newer edition needs its own patch list, and some of its patches may already be fixed in the game.
- Readers. Run every reader over the newer data. New content shows as new files; a changed format shows as a reader that fails.
- Extras. Updates, fan levels and era tools that came with an edition are a test set for every reader, writer and editor.