Files
BT411/context/project-overview.md
T
arcattackandClaude Opus 4.8 52440e13b0 Audio: ENABLE the engine (relax dead AWE-card gate) + diagnose the real silence (task #50)
User reported never hearing any audio. Root-caused: the KB "Audio: DONE" was wrong.
The OpenAL playback chain IS fully implemented (device/buffers/sources; PlayNote
really calls alSourcePlay), but three gaps kept it silent:

1. GATED OFF (the "no sound" root cause): BTL4Application::MakeAudioRenderer returned
   NULL unless the pod's AWE_FRONT/AWE_REAR AWE32-card env vars were set -- authentic
   1995 pod behavior, dead on modern hardware, so the renderer was NEVER created.
   FIXED: default audio ON (BT_NO_AUDIO=1 restores silence; AWE vars still force-on).
   Verified: the OpenAL device now opens with no env vars ([audio] device OPENED).
2. Soundbank STUB: allPresets[2][100] (btstubs.cpp) is zero-init -> PRESET_isImplemented
   false -> 0 buffers load. Sample data exists (AUDIO1/2.RES: EnginePower/LaserAFire/...)
   but the event->sample map is gone (not in the decomp). STILL OPEN.
3. No triggering: the reconstructed game never creates AudioEntities on events. STILL OPEN.

So the device opens but nothing loads/plays yet -- enabling real sound needs the
soundbank reconstructed + the game triggers wired (a proper audio wave). Added a
BT_AUDIO_LOG trace harness across L4AUDRND/L4AUDRES/L4AUDLVL. KB corrected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-15 18:02:31 -05:00

3.2 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
pod-hardware
wintesla-port
source-completeness
build-and-run
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 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-07)

btl4.exe boots, renders the world + a skinned mech, and runs a full drive → animate → target → fire → damage → destroy → respawn single-player loop (task #52). 2-node MP is verified end-to-end — replication, cross-pod targeting/damage/kill, beam visuals, replicant gait (tasks #46-#51, multiplayer). All 8 cockpit canopies are authentic + the horizontal-FOV fix (task #55, cockpit-view); the Gyroscope is live byte-exact with hit-bounce (task #56); the gauge system is complete (gauges-hud). The engine/renderer/HAL are done (WinTesla); AUDIO is the exception — the OpenAL engine is ported + now on by default (2026-07-15) but the soundbank + game triggering are unbuilt, so it's still SILENT (see wintesla-port Audio). The active work is reconstructing each BT subsystem's authentic behavior from the binary. Remaining: pod-LAN config, Mech-level update records, per-subsystem waves. [T2]

Key Relationships