Earthsiege Research archive

Expansion catalogue and implementation

The March 1995 expansion is now included in the inspection browsers. Select Expansion in the model browser to find Apocalypse, Diablo, Headhunter, Wasteland and Ruins scenery, the landing craft and bunker, and the revised original HERCs. The original versions remain available alongside them.

Resources and viewers

Inspector Expansion coverage
Models 35 separate model entries, 348 variant/LOD thumbnails, 19 HERC assemblies and 112 hangar/mission loadout presets. Equipment uses expansion weapon geometry and texture banks.
Missions 24 campaign missions in three ordered chapters, 12 selectable single missions and one retained single-mission variant. All 37 have original constructed starting scenes; 74 launch cases cover two RNG seeds. There are 114 effective zone layouts.
Cockpits Nine human HERC layouts, including Apocalypse, with expansion palettes, side mirroring and instrument metadata.
Worlds All 36 expansion conditions, original-renderer stills, moving clouds and complete horizon strips. Wasteland and Ruins add twelve conditions.
Artwork and audio 150 new/changed image resources, 26 palettes and 791 audio clips, including French and German speech. Exact base duplicates reuse existing exports.
Music 13 additional or changed songs, with MIDI, decoded events, and lossless GM, OPL2 and OPL3 auditions.
Presentations 61 new/changed TTM programs, 69 portrait timelines and six distinct or localized films.
Shell 42 effective expansion dialog layouts, their original 44-key dispatch table, labels and 38 stored artwork previews. These previews show background resources, not complete running screens.
Interface 220 new/changed strings, dialogs, viewports, masks, gauges and damage-diagram resources.
Tables 89 additional or changed tables; full byte layouts, with uncertain fields retained under neutral names.
Fonts 15 changed DFN resources exported to TTF and WOFF2. All 3,345 glyph rasters, advances and colour layers pass independent FreeType checks.
Recordings Four expansion demos, their bundled mission state and all 11,421 input packets. These are different recordings from the original game's demos.
Coverage All 4,274 members of the 20 expansion CD volumes, including source archive, hash, priority, selected consumer and duplicate links.

Mission text includes 310 effective English, French and German resources across the original and expansion missions. The mission browser has a language selector. The short mission summaries are editorial descriptions of the supplied briefings. S2_RCN03 has source and briefing resources but is absent from the single-mission selector; it is labelled as a retained variant.

The floppy expansion contains no unique VOL member bytes relative to this CD. Its simulator is a different build. The April patch replaces the simulator only. The three executable revisions remain separate in Simulator versions.

Original-code checks

HERC assembly uses the expansion's original model loader and profile binding routine, including every stored LOD. The nineteen chassis all pass. The native mission launch path prepares counters, consumes its RNG and writes SCRIPT.DAT, PLAYER.MEC and MISSION.VAR before the original simulator constructs actors. Browser scenes use those captured placements and equipment. All 37 render without missing model resources, invalid vertex references or JavaScript exceptions. Inactive groups remain visible for inspection; the scene is the starting state, not a running simulation.

The nine cockpit exports compare all four views, bitmap selections, mirroring, 425 instrument words and palette copies against original code. The expansion copies sixteen cockpit colours to indices 32-47 and one selected highlight to 64. It leaves 65-79 from the world palette. The base game copies a second full sixteen-colour bank there, so reusing its palette rule gives incorrect colours.

Every exported DFL delta is compared with PLAYFLIC's original decoder. That executable is byte-identical on the original and expansion CDs. The expansion shell calls its integrated movie player at 67 ms/frame for MI_INT1 and MECHVIC3; localized original cinematics retain the ESCD launcher's 83 ms/frame. Header rates differ and are recorded separately. MI_INT1 starts audio at frame 14; its synchronized audition includes the corresponding leading silence.

FR_INTRO contains two overlong copies, on frames 100 and 360. Each writes two bytes beyond the 64,000 visible pixels. Extraction keeps a bounded guard word, compares it with the original decoder and exports only the visible image.

Expansion tapes use a sixteen-byte input packet, followed by mouse-event and command counts, fourteen-byte mouse events and a separate sixteen-bit command queue. The original version has a fourteen-byte packet and no command queue. All expansion packets and queued events were checked against DBSIM 0x51f84, stopping after the recorded state is copied at 0x5233f. Starting worlds were also constructed by the original loader. The C++ game now runs all four recordings to completion. Comparison of every subsequent world state with the original remains separate from packet decoding.

Remaining uncertainties

The catalogue preserves existing uncertainties rather than assigning new meanings to unchanged data. Two archive copies of CFG/TEST.DAT are identical to the base release's unclassified test resource. Legacy HOVTANK.DMG and retained mission layout exceptions remain identified. Module BND fields and some profile/table words have no established semantic consumer. The coverage inspector distinguishes those records from fully named layouts.

C++ integration

The native launcher now offers the March CD expansion alongside the original edition. Archive precedence, Battleset 2, career transfer, nine service-bay HERCs, expanded weapons, combat, cockpit rules, deployment pods, terrain, music and cinematics are connected. Saves use a separate expansion directory by default.

The executable comparisons add:

See the native repository's docs/EXPANSION.md for its regression coverage. The March CD engine is the implemented ruleset. The floppy engine and April patch remain separately characterised builds, not selectable C++ modes. Remaining work is broader consecutive gameplay comparison and playtesting, plus the unidentified data fields listed above. No complete expansion campaign playthrough is claimed by the component tests.

Rebuilding

Generators write to work/research; only curated findings and viewer assets are copied to analysis. Raw handoffs, original-code probes and individual film frames stay in the working directory.

Run these with the project virtual environment, in order:

python tools/build_expansion_catalogue.py
python tools/build_expansion_links.py
python tools/build_expansion_worlds.py
python tools/build_expansion_missions.py
python tools/complete_expansion_models.py
python tools/build_expansion_text.py
python tools/build_expansion_interface.py
python tools/build_expansion_tables.py
python tools/build_expansion_shell_catalogue.py
python tools/build_expansion_cockpits.py
python tools/build_expansion_fonts.py
python tools/build_expansion_music.py
python tools/build_expansion_movies.py
python tools/build_expansion_environment.py
python tools/build_expansion_tapes.py
python tools/build_expansion_inventory.py
python tools/render_model_thumbnails.py --edition expansion
python tools/check_expansion_browsers.py
python tools/publish_analysis.py

The film and environment exporters reuse completed checked captures. To replace a capture after changing its decoder, remove only that capture's cached report and outputs first. The publication manifest controls which results are shared.