Source Completeness — the gating blocker + the decompilation route
established
PROGRESS_LOG.md §5a; docs/BT_SOURCE_STATUS.md
wintesla-port
reconstruction-method
decomp-reference
open-questions
BTL4OPT
decomp
oracle
WinTesla
BT
Get the missing BT .cpp from Nick (gating for Route A)
Source Completeness — the gating blocker
The archive has the engine and all headers, but NOT the BT game's implementation .cpp.
This is THE gating fact that shapes the whole project. Full map: docs/BT_SOURCE_STATUS.md.
What's present vs missing (verified across all 3 zips + the WinTesla archive)
All BT game .hpp headers present — every class/interface defined (the reconstruction's "answer key"). [T1]
BT game logic .cpp: MISSING — mech, mech2/3/4, mechsub, mechmppr, mechtech, heat,
sensor, gyro, torso, myomers, hud, mechweap, powersub, btplayer, and the main app
btl4 are all absent. Only ~10 BT .cpp survive (BTCNSL/BTMSSN/BTREG/BTSCNRL/BTTEAM/BTTOOL +
GAUSS/PPC + BTL4ARND/BTL4MODE). [T1]
RP can't backfill BT — RP's game source is gutted the same way. The per-game source for BOTH
titles is missing; only shared engine game-logic survives. A complete repo likely exists
elsewhere (Nick). [T1]
Consequence — routes forward
Route A (recompile original source) is impossible as-is — the code that IS the game isn't here.
Paths: (1) get the missing .cpp from Nick [gating, top priority]; (2) run btrel410.exe under
DOSBox by emulating the VPX/IG board (blocked — needs board emulation); (3) decompile
BTL4OPT.EXE + reconstruct from headers — the chosen route (in progress). [T2]
The binary is a near-ideal decompile target
btrel410.exe is a PKZIP self-extractor; inside is BTL4OPT.EXE (1.24 MB, clean uncompressed
PE32, Phar Lap TNT). It retains class names, Class::Method strings, and source-file paths in
asserts (d:\tesla_bt\bt\mech.cpp) — confirming the missing modules ARE in the binary. No COFF
symbol table (naming comes from those strings). Extracted to reference/decomp/. [T1]
Why reconstruction is viable (THREE anchors)
All BT headers = exact class layouts, vtable order, signatures (the answer key).
The working WinTesla engine to compile against (wintesla-port).
Red Planet's parallel implementations as a live reference (VTV≈mech, VTVMPPR≈mechmppr,
WEAPSYS≈mech weapons, RP_L4 app≈BT app).
Plus BTL4OPT.EXE as a behavioral oracle (run under cdb / read the decomp). Result =
behavior-equivalent reconstruction, NOT original source. [T2]