Earlier CD resource differences
The comparison browser shows every decoded resource difference between the December 1993 / March 1994 CDs and the September 1994 TFX 2.05 reference. The bundled Inferno demo is deliberately excluded for its own reverse-engineering project. This comparison concerns game resources; executable/patch lineage and CD audio mastering are documented separately.
| CD | Archive entries | Identical to reference content | Different entries | Newly stored unique payloads |
|---|---|---|---|---|
| December 1993 | 3,474 | 3,277 | 197 | 121 / 4,561,583 bytes |
| March 1994 | 3,148 | 3,118 | 30 | 30 / 60,671 bytes |
All 6,622 earlier entries have a delta-manifest record. Shared content points into the existing reference or floppy extractions. Unique payloads are retained once across both earlier CDs under extracted/<version>/resources/; repeated representations and compositions are not copied as additional listening or image files. Candidate filenames are resolved with each archive's own directory/extension tables and remain candidates.
December artwork
All 116 differing pictures show identical artwork to the September bitmaps at six-bit VGA DAC precision. December keeps original ILBM bitplanes, full eight-bit RGB palettes and editor metadata; September uses the engine's war bitmap representation. Comparison decodes both images, includes alpha, and checks the actual rendered pixel colours rather than relying on filenames. Fourteen otherwise unnamed matches were recovered this way. These establish artwork equivalence, not original filename recovery.
The original ILBMs remain useful source evidence: they retain DPPS perspective settings, CRNG colour ranges and TINY thumbnails that the converted bitmaps omit. Five files include one alignment zero inside the declared BODY extent. The decoder accepts that precise padding case after the complete image, and continues rejecting other unused BODY data. The browser reuses the existing September PNGs for the identical artwork.
There are no earlier-CD-only aircraft meshes, sprites, animation sequences, texture pages, palettes or musical compositions in the decoded content comparison. The two March model programs described below are earlier versions of effects already present in September.
December scripts and authoring files
Apart from the 116 picture entries, the 81 differences comprise 27 mission scripts, 25 route sources, 11 compiled routes, five parser graphs, twelve other texts and one SSD candidate. Seventy-six of the 197 differences already have exactly matching payloads in the floppy delta and are referenced there.
The differences include the earlier mission targets, aircraft choices, flak and route edits documented in the floppy comparison. Regional introduction graphs contain wording and layout revisions while retaining their visual assets. For example, cdcolint changes “the drugs war” to “the drug war”; the other regional texts also have revisions.
December's selected main graph is cd_demo.par, corresponding to September's tfx.par. March already launches tfx.par, whose decoded bytes are identical to September's; see the version-by-version launch commands. A second, unnamed 51,528-byte graph contains the same complete ordered list of 33 function names; it is compared with tfx.par on that structural evidence. Its original name and whether it was selected during ordinary play remain unverified. Parser comparisons retain opaque statement data and variable bytes; differences in saved pointers or editor fields must not automatically be called gameplay changes.
The earlier waypoint authoring sources already exposed by the floppy sweep are retained here by reference. Their presence does not establish additional playable missions: the corresponding compiled programs can still be present in September.
March changes
The 30 changes comprise ten text resources, nine route sources, five compiled routes, three mission scripts, two effect models and one SSD candidate.
- Briefing 929 describes an EF2000 strike in March and an F-117 strike in September. Other briefing changes include wording, punctuation, line wrapping and
defenses/defences; later text also introduces some misspellings, so these are not uniformly improvements. - Missions 803 and 922 remove an additional failure-message line. Mission 943 changes “transporters” to “Hercules” and removes its additional line. Their remaining script logic is retained in the side-by-side comparison.
ssinfo.fnloses its finalOILRIGname, going from 922 to 921 entries. The associated authoring header also changes exported object-state names.clatterandkapowreplace an anchor-only helper call (opcode 45) with an explicit zero-rotation helper call (opcode 73). This adds 18 bytes and shifts subsequent offsets;kapow's helper-call displacements change accordingly. These are effect-program revisions, not additional meshes. Both versions can be rotated and inspected together in the comparison browser.
September contains content absent from March as well: principally the translated text resources, plus the FM tunes/1unsuc.adl resource and the changed counterparts above. This does not make March's entire installation equivalent to September after replacing its executable.
Reproduce and verify
python3 tools/compare_cd_resources.py
python3 tools/check_cd_resources.py
The tools use the same Python environment as the existing extractors (including Pillow). Checks reopen both source archives, verify every retained/shared payload and stored-stream hash, independently repeat the rendered-artwork comparisons, and reject redundant or unreferenced generated delta files. See comparison and hashes and verification.