Files
BT411/context/project-overview.md
T
Joe DiPrimaandClaude Fable 5 f49f35cd43 KB housekeeping sweep: end-of-arc staleness purge (2026-08-06)
Corrections (wrong claims fixed + swept):
- open-questions: the DuckState 'no CODE consumer, authentic [T1]' verdict
  RETRACTED (consumer = the unexported posture block; squat clips shipped in
  BTL4.RES all along); the searchlight fog swap re-marked DONE (was 'STILL
  DEFERRED'); crouch index pointer updated.
- combat-damage: old task-#60 kill-score section marked SUPERSEDED by the
  report tail (BTPostKillScore retired).
- pod-hardware: crouch census rows -> COMPLETE; gauges-hud: 07-20 note
  (generators 'unreconstructed') re-swept.

New knowledge:
- reconstruction-gotchas #20: EXPORT-GAP BLINDNESS (4 incidents, 2 falsely
  T1; the byte-scan/named-member/RES-TOC/manifest checklist) + the
  verification-viewpoint bullet in #13 (the crouch capture errors).
- decomp-reference: master posture/crouch block offsets (+0x3f8/+0x79c, the
  myomers cluster) + 8 new bench env gates.
- rendering: beam-material decode (btfx brighten) + look-pass acceptance.
- experience-levels: crouch novice lockout in the +0x25c consumer list.
- build-and-run: the stale-link build ritual; test-harness: bench-script
  gotchas (both previously oral tradition).
- glossary: export-gap-blindness; multiplayer: crouch/searchlight ride
  existing records; subsystems: searchlight visuals pointer.

Status refresh: CLAUDE.md front + project-overview current-state -> core
gameplay reconstruction COMPLETE (774->801), polish phase, #60 census next.
Ledger addenda: INPUT_PATH row 6 complete; RESPAWN_REARM VehicleDead-sender
note. .gitignore: content/ bench artifacts (pngs/logs/eggs/exe) out of
status. checkctx CLEAN.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-06 10:22:50 -05:00

62 lines
3.8 KiB
Markdown

---
id: project-overview
title: "Project Overview — what this is, people, goals"
status: established
source_sections: "PROGRESS_LOG.md §1-3; README.md"
related_topics: [pod-hardware, wintesla-port, source-completeness, build-and-run]
key_terms: [BT, RP, MUNGA, Tesla-platform, WinTesla, pod]
---
# 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]
**Remaining (polish + infra):** the #60 export gap census (NEXT — export-gap blindness has caused
4 wrong conclusions, [[reconstruction-gotchas]] §20); VehicleDead killed-by consumption (operator
"X killed by Y"); burning-wreck handler (mech-0x17 label mismatch); 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).