74 lines
4.8 KiB
Markdown
74 lines
4.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; 1990s, exact release year unestablished) 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`.
|
|
|
|
**Dating note (2026-08-12):** the KB previously called this "the 1995 game" — WRONG, per era
|
|
witnesses (playtesters who ran the original pods say BT 4.10 shipped later). The 1995 belief
|
|
came from the MUNGA asset-reader library RCS `$Id ... 1995/..` strings inside `BTL4OPT.EXE`,
|
|
which date the *library code*, not the game; the exe carries no game-copyright year (its PE
|
|
link timestamp is stamped 2019 — a later re-link/tool artifact, not a release date), and a
|
|
content-file timestamp of 30-Nov-1995 likewise dates assets, not the release. Until a real
|
|
date surfaces (ask Nick / era witnesses), say "the original" / "the shipped machine" — never a
|
|
year. [T2 for the library strings; T4 for any specific release year]
|
|
|
|
The ORIGINAL 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 original 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).
|