Earthsiege Research archive

Remaining-resource audit and consumer boundaries

This records what the original consumers establish, including endpoints where a retained file has no demonstrated current use. It does not rename uncertain fields simply to improve the inventory's completion count.

BND module data

audit_resource_consumers.py executes all eight original GO BND loader routines. Each copies the entire file to its original module-global block, including the leading dword. The generic loader is GO 0x51918; all byte comparisons pass. The table browser includes field offsets, operand sizes, original instructions and containing-function addresses. The full audit retains the searches.

Shell module Loader Destination Established role
ALERT 0x2204 0x9a318 General alert constants; +4 supplies a dialog value
CTL_ALRT 0x6024 0x9a34c Controls-dialog layout and values
CAL_ALRT 0x6eec 0x9a3d4 Calibration-dialog layout and values
MAP 0x8cd4 0x9a420 Map zoom endpoints, pan bounds and initial distance
SHELLMAP 0x9210 0x9a44c Briefing map layout, projection, marker and route drawing
CTL_MGR 0x10530 0x9adec +4 = 100 control-event queue capacity
MAIN 0x12704 0x9ae18 +8 low-memory threshold; +12 minimum available memory
IMDEVICE 0x2562c 0xa0458 +4 = 25 stick deadzone; +6 = 64 fourth-axis deadzone; +8 = 1 third-axis reversal

MAP's seven dwords after its header are zoom-scale endpoints (100000,5000), pan bound 5000000, zoom step 50000, minimum/maximum distances 50000/1000000 and initial distance 200000. Consumers are 0x9010, 0x9043, 0x9076–0x90df, 0x911c and constructor 0x8cfd. IMDEVICE's exact response arithmetic is in 0x25ee5, 0x266b5 and 0x26741; deadzones are device units, not percentages. No direct consumer of the eight leading timestamp-like dwords was found. Their conversion to plausible dates remains possible export/build timestamps, not verified release metadata.

The 63 simulator BNDs are different. DBSIM declares a bnd extension at 0x980bc, with its pointer at 0x980c0, but no code reference to that pointer was found. Normal original world constructors do not open BNDs. Constants instead come from instructions and executable data. For example, SMOKE.BND preserves counts 200/500/1000 and pool/timer constants matching the smoke code; the third count is still unsupported by supplied geometry. DEBRIS.BND matches the 150-slot pool, launch/angle and bounce constants described in EFFECTS.md. MECHSYS.BND's 28-byte payload also occurs verbatim at 0x91dac. This supports retained parameter snapshots; it does not establish that every archived field matches the final compiled build or that modifying these files tunes the simulator.

Legacy resources

Literal searches cover both complete application images and every extracted VOL member, case-insensitively. Generated filenames and indirect consumers need separate consideration; absence from this search alone is not proof of disuse.

Resource Evidence and retained uncertainty
shell0/CFG/TEST.DAT 58 bytes, 29 shorts; small index/coordinate-like values. No literal basename reference anywhere searched. Does not consume as a current loadout diagram or dialog record set. Intended schema remains unidentified; raw bytes and words remain in the inventory.
shell0/CFG/CONFIG.DAT 1080 complete 20-byte records matching the expanded selector/coordinate shape of loadout diagram records. No current filename consumer. Retained workspace/cache candidate; provenance unproven.
shell0/CAR/CAREER1.MEC Four structurally decoded predecessor roster entries, lacking the current per-weapon values array. No current reference to this name; generated current careers use different names and serializers. Preserved legacy example.
zones/DAT/WORLD0..3.DAT All bytes decode as an older world descriptor. Current world loader explicitly constructs WLD paths and reads a different schema; these must not be substituted.
shell0/CAR/NAMES.LOG Current format, an empty career index. GO 0x17f5f writes count, selected index and 100-byte records when populated. Its earlier partial classification was stale.
B0_C1_20/30.MSN Original current reader rejects the retained layouts; supplied campaign and single-mission tables never select their names. They remain visible as exceptions.
HOVTANK.DMG Original current damage reader overreads this supplied file. Filename generation from the HOVTANK type remains possible, so an empty literal search cannot establish unreachability. Preserved as a real data/reader incompatibility.

These are bounded endpoints for the available files, not reasons to invent replacement data or block all further analysis. Every raw resource is retained.

Command-line fields without established consumers

The machine-code reference index finds only a parser write for GO -m (0x7fd04) and DBSIM -P (0xb5b69). DBSIM -V, -W, -T have parser writes and an initialization write each, but no direct reads. They are retained arguments with no demonstrated effect in this build, rather than advertised game controls. Computed accesses cannot be excluded by this static index alone. Other launch options and actual consumers remain in COMMAND_LINE.md.

Joined UI and profile consumers

PROFILE_FIELDS.md and the definitions inspector now identify the HERC/mount consumers and explicitly retain neutral words. The table inspector names the six verified flyer movement fields with their original functions. DLG type, style, shortcut and event IDs are typed and joined to all screen owners in SHELL.md. VUE records name viewport bounds and both projection/layout origins. GAU records retain all 425 dwords and now group the verified weapon templates, gauges, MFD, HUD, wingmate panel and identity/clock blocks by consumer. Detailed widget comparisons remain in INPUT.md and their individual original-capture reports; unused nested template words are not given speculative labels.