- manifest410.py: monotone-DP TU labeling (data-cluster affinity + CLASSMAP seeds + recon @addr soft votes) replaces naive fill; BT region = 917 fn / ~230 KB, extents match every independently-known TU boundary. - source-completeness: ROUTE A CLOSED (Nick holds no further assets); toolchain = BC++ 4.52 PROVEN by CW32.LIB byte-match, archived at TeslaRel410/BORLAND; OPT.MAK = the shipped binary's exact recipe; extender corrected to Borland PowerPack DPMI32 (was "Phar Lap TNT"); "all BT headers survive" corrected (17/36 bt-side; mech.hpp etc. reconstruction-only); engine gaps enumerated (vdata.hpp first, back-dated from BT412). - phases/phase-03: rounds 1-3 of the source410 campaign - 6/10 surviving originals compile clean under BC4.52; console wire IDs recovered from the binary ctors (Killed=9 Damaged=10 ScoreUpdate=13 DWH=15 [T1], TeamScore guessed 12 [T4] - answers the TeslaSuite console-port spec's open item); round-3 finding: MECH.HPP is the capstone grown with the mech TU reconstructions, BTREG.CPP green = the header-family milestone. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
7.0 KiB
id, title, status, source_sections, related_topics, key_terms, open_questions
| id | title | status | source_sections | related_topics | key_terms | open_questions | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| source-completeness | Source Completeness — the gating blocker + the decompilation route | established | PROGRESS_LOG.md §5a; docs/BT_SOURCE_STATUS.md |
|
|
|
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)
- MUNGA engine (shared): ~183
.cpp— largely complete (renderer, MOVER/JMOVER, math, scene), BUT NOT gapless: a 2026-07-19 header-vs-impl audit + compile bootstrap found missing engine.cpp(PLAYER, NETWORK, GRAPH2D, OBJSTRM, SCNROLE, EXPLODE, L4SPLR, L4APP + ~15 smaller) AND at least one missing engine HEADER (vdata.hpp, included by plug.hpp — exists only as the drifted WinTesla/BT412VDATA.h).CODE/BT/MUNGAis a PARTIAL BT-drift overlay (69 files) over the fullerCODE/RP/MUNGA(305); a 1995 build needs the merged BT-over-RP view. [T1] - BT game
.hppheaders: PARTIAL, not complete (2026-07-19 correction — the old "all headers present" claim was WRONG): only 17 of ~36 bt-side.hppsurvive (mech.hpp, mech2-4, heat.hpp, mechmppr.hpp, torso.hpp, gyro.hpp, hud.hpp, myomers.hpp, powersub.hpp, btplayer.hpp are reconstruction-only), and BTL4VID.HPP/BTL4MPPR.HPP are missing on the btl4 side.BT.HPP'sNO_PRECOMPILED_HEADERSgate skips the missing mech/btplayer/mechsub includes, which is why TUs outside the mech family still compile-close. [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 appbtl4are all absent. Only ~10 BT.cppsurvive (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; only shared engine game-logic survives. [T1]
Consequence — routes forward
Route A is CLOSED (2026-07-19): per the user, Nick holds NO assets beyond what's already been
provided. The decompile-and-reconstruct route is THE route: (behavioral) the WinTesla-hosted
port in game/reconstructed/, and (literal) TeslaRel410/restoration/source410/ — both fed by
the decomp + the manifest. [T1]
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). CORRECTION (2026-07-19 [T1]): the DOS-extender is Borland PowerPack DPMI32, not Phar
Lap TNT — proven by OPT.MAK (-Tpe, STARTUP c0x32.obj + dpmi32.lib + cw32.lib) + the archived
32STUB.EXE/32RTM.EXE/DPMI32VM.OVL. 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]
THE TOOLCHAIN IS IN HAND (2026-07-19) [T1]
Borland C++ 4.52 identified by BYTE-MATCH: the archived fleet CW32.LIB (CODE/RP) is
identical to the 4.52 install's and differs from 4.5's. Installed at TeslaRel410/BORLAND/BC45/
(the 4.5 CD was disposed per the user). BCC32/TLINK32/TLIB/MAKE all run NATIVELY on Win11
(hello-world compiled+linked+ran). CODE/BT/OPT.MAK is the shipped binary's exact recipe:
BCC = bcc32 (NOT bcc32i — that was only EXAMPLE.CFG), -DLBE4;DEBUG_LEVEL=0;DEBUG_STREAM=cout,
-5 -a4 -ff -k- -V -Jg -x- -RT- -O2 -Ot -Oc -Og -O -Ol -Z -Ob -Oe -Oi -Om -Op -Ov, PCH via
-H=btopt.csm; link -Tpe -ax + c0x32/dpmi32/cw32. Gaps: TASM32 absent (separate product;
only JOYSTICK.ASM needs it); compile bootstrap of original BTL4MODE.CPP parses deep into the real
headers but stops at the missing vdata.hpp closure (see What's-missing above). Source paths for
a build: include order = CODE/BT/* OVER CODE/RP/* (BT drift wins), roots per BTL4.PTH /
EXAMPLE.CFG (all under the archive: LIBDPL/SOS/NETNUB in CODE/BT/MUNGA_L4/). [T1]
The mountain, measured (2026-07-18) — the per-TU manifest
tools/manifest410.py → reference/BT410_SOURCE_MANIFEST.md: every image function
attributed to its original TU via the makefile link order (BT.MAK/BTL4.MAK — census + the
tlink32 lib order), Fail() path+line anchors, CLASSMAP seeds, and a monotone-in-link-order DP
over data-section cluster affinity. The missing BT game code = 917 functions / ~230 KB
(bt.lib 482 fn/153 KB + btl4.lib 435 fn/76 KB) out of 6267 image functions; DP extents match
every independently-known TU boundary. [T1 region totals / T3 unanchored boundaries]
Corrections/leads: the .TCP files are TEST-CLASS files (debug self-test bodies with
SOME shipped code — minor partial survivors for heat, gnrator, emitter, projweap, ammobin,
projtile, missile); toolchain = Borland BCC/tlib/tlink32 (from the makefiles;
TeslaRel410/BORLAND/ placeholder is EMPTY — no byte-match compiler archived yet, though
CODE/RP keeps C0X32.OBJ/CW32.LIB/32STUB.EXE); TeslaRel410/sda4 + CODE/ swept — NO BT
.cpp there; PVCS conventions (sda4 install) ⇒ .CPV/.HPV/.TCV are the grep
targets for future drive dumps. Full log: phases/phase-03-bt410-source-manifest.md.
The literal 4.10 tree — TeslaRel410/restoration/source410/ (started 2026-07-18)
The archival-grade recreation of the missing TUs in 1995 house style against the surviving
1995 engine headers (distinct from OUR WinTesla port). Rules + status in its README; every
file carries a .NOTES.md evidence sidecar; binary Fail() file:line records are treated
as LINE CONSTRAINTS. Pilot complete: BT_L4/BTL4APP.CPP — 12/12 functions, all decomp
constants resolved to named 1995 expressions (ApplicationID BTL4=1 + an unreleased BTW4
slot in APPMSG.HPP; ModeInitial=0x50421; AddModeMask inlines byte-exact), Fail lands on
its recorded line 400 exactly. [T1/T3 per the sidecar]
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_L4app≈BT app). PlusBTL4OPT.EXEas a behavioral oracle (run under cdb / read the decomp). Result = behavior-equivalent reconstruction, NOT original source. [T2]
Key Relationships
- Feeds: reconstruction-method (the loop that fills the gap), decomp-reference.
- Route A closed 2026-07-19 (Nick holds nothing further); gated now only on reconstruction labor + the engine-closure backfill.
- Built atop: wintesla-port.