- CLAUDE.md front + project-overview: census/re-export DONE (93.5% coverage, 41KB dark), polish list refreshed; the citation-policy warning rides the front matter so it is unmissable. - locomotion §CROUCH addendum: the re-export CONFIRMS the hand transcription field-for-field, documents that Ghidra renders members as int-ARRAY indices ([0xfe] == byte 0x3f8 -- why offset-string greps of the export miss them), and records the AIRBORNE AUTO-RISE branch the raw pass missed (+ its fix). - decomp-reference §7: citation policy (@ADDR, never part/LINE -- old citations resolve only against archive_2025export/), the array-index gotcha, and the full re-export toolchain (ghidra_reexport.sh incl. the 8.3 short-path requirement, gapcensus, gapdiff). - open-questions: the leads the re-export produced -- @0x4c0904 is the MASTER BTPlayer Performance (team-by-name resolve + EndMission post + score heartbeat; our @0x4c083c attribution needs a re-check) and the ~9KB l4splr|btmssn cluster that stayed dark THROUGH the fill (no call/data reference reaches it -- jump-table entry suspected). - glossary: dark-region. Section ordering fixed (addenda above Key Relationships); checkctx CLEAN. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
4.0 KiB
id, title, status, source_sections, related_topics, key_terms
| id | title | status | source_sections | related_topics | key_terms | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| project-overview | Project Overview — what this is, people, goals | established | PROGRESS_LOG.md §1-3; README.md |
|
|
Project Overview
Port VWE's arcade pod games (Tesla platform, release 4.10, ~1995-96) to modern Windows and,
ultimately, the actual arcade pod hardware. Primary target: BattleTech (BT); Red Planet
(RP) shares the engine. Full detail: docs/PROGRESS_LOG.md §1-3.
The ORIGINAL 1995-96 team — the initials in the source headers matched to names by VWE veterans
(dev team ~8, art ~6, MUNGA by a smaller internal team) — is credited in docs/CREDITS.md.
The stack
- Two games, one engine: BT + RP. Engine = MUNGA; HAL = L4 (
MUNGA_L4). Game logic =CODE/BT,CODE/RP. [T1] - Original platform: 32-bit DOS under a DPMI32 extender, Borland C++ 5 + TASM32, on Novell
DOS pods. 3D by a proprietary Division IG image-generator board (dual EISA), driven by the
closed
libDPL.lib(binary + VREND microcode). [T1] - The port replaces the IG board/libDPL with a
dpl_*→ Direct3D9 shim (done in WinTesla as L4D3D). Pods now run Windows 10 + a Voodoo/Glide wrapper. BT was abandoned (MechWarrior 4 runs on the current pods); this project revives BT. [T1]
People / goals
- arcattack (user): doing the port. NVIDIA 3060 + A6000 dev GPUs.
- Nick: owns the pods + the software license (porting is authorized). Runs the pod hardware. The gating dependency — the missing BT source likely lives on his backup drives (see source-completeness).
- Goal: run on (a) a modern dev box and (b) the fixed pod hardware. Multiplayer (pod-to-pod) wanted.
Repo orientation (bt411)
This is the clean standalone bt411 repo. README.md + the top-level CMakeLists.txt are the
build of record. Tree: engine/ game/ content/ docs/ reference/ tools/ context/. Historical
sections in docs/PROGRESS_LOG.md cite old C:/git/nick-games/... paths — treat as provenance;
they map into this repo (reconstructed BT → game/reconstructed/, engine → engine/MUNGA{,_L4}/,
content → content/, raw decomp → reference/decomp/). [T2]
Current state (2026-08-06) — core gameplay reconstruction COMPLETE; polish phase
Field-tested nightly at 4-8 pods over Steam (builds 4.11.622→801). Authentic + benched: the full
SP+MP loop; per-panel mesh-true targeting/damage (+ crits, cylinder lottery, armour darkening);
the 1995 SCORING model (kill awards + received penalties + panic cost — the id-0x16 report tail);
death (blast/splash, wreck, burial) + respawn (full re-arm audit); locomotion (two-channel gait,
gimp limp, knockdowns, CROUCH F4); the night kit (fog-swap SEARCHLIGHT F5 + beam cone); heat/
power/myomers (incl. the seek-4 freeze); replication (masters/replicants, kill/death columns,
ghost+skate field detectors); the Steam wire seam + build gate; the operator console/relay
lifecycle; gauges/HUD; audio (real OpenAL backend + the AUDIO_FIDELITY trigger waves — footsteps/
gait/alarms/impacts live in the field). [T2]
Infra ✅ 2026-08-06: the #60 export gap census AND re-export shipped — coverage 87.3% →
93.5%, dark code 90 → 41 KB, +205 functions, and the re-export independently confirmed the
week's raw-disasm reconstructions (source-completeness, phases/phase-04-gap-census.md).
Remaining (polish): VehicleDead killed-by consumption (operator "X killed by Y" — the sender
already ships the fields); burning-wreck handler (mech-0x17 label mismatch); @0x4c0904 master
BTPlayer Performance vs our @0x4c083c attribution; the id-0x16 type-0 curiosity; MechRIOMapper
Keypress @004d2514; marker beacon (LoadObject wrapper stub); DIV firmware intersection routine
(deep-cut); deferred ledger items in open-questions. [T2]
Key Relationships
- Full detail:
docs/PROGRESS_LOG.md. - Enables: everything — see wintesla-port (the base), source-completeness (the gap), build-and-run (how to build).