# Tesla Release 4.10 — Tesla:BattleTech & Tesla:Red Planet Source code and game content for **Tesla:BattleTech** and **Tesla:Red Planet**, the two games that ran on the **Tesla**-generation simulator cockpits built by **Virtual World Entertainment, Inc.** (VWE). Source file headers are dated 1994–1996; this tree corresponds to release 4.10 of the Tesla software. This repository is an archival snapshot. The tree is preserved byte-for-byte as found (see `.gitattributes` — no line-ending conversion is applied). ## Target hardware Each Tesla cockpit was driven by a server-class **Pentium Pro** machine running **Novell DOS**. Graphics were split across two adapters: - The **main (out-the-window) display** was rendered by one of the first pixel-pipeline 3D accelerator cards ever made, driven through **Division Ltd.'s dVS/DPL libraries** (`libDPL` — DPL, dsys, dvs, and the VPX headers; Division copyright 1995). - An **S3 video adapter** drove the other **six cockpit displays** (instrument and gauge screens — see the `GAUGE` content directories and the `PCPIC.INC` / `L4GAU*` gauge code). Other hardware/OS interfaces: - **Audio:** HMI **SOS** (Sound Operating System) — `sos/` libraries, with variants for Borland (`bc4`) and Watcom (`wc`). - **Networking:** pods were networked over Ethernet using **WATTCP** (DOS TCP/IP, with BOOTP) via VWE's **NetNub** layer. - **Input:** joystick/pedal/panel I/O in assembly (`JOYSTICK.ASM`) and the `L4CTRL*` control modules. ## Toolchain - **Borland C++ 5.0** (`BCC`) with **TASM32** for assembly — see the `.MAK` makefiles (original build tree lived at `D:\TESLA_RP\` and `D:\BC5\`). - Precompiled-header discipline throughout (`.CSM` headers, `#pragma hdrstop`). - `VSSVER.SCC` / `MSSCCPRJ.SCC` files are remnants of the original **Visual SourceSafe** source control. - File extensions: `.CPP/.HPP` C++ source/headers, `.TCP/.THP` C++ template source/headers, `.MAK` Borland makefiles. ## Repository layout ``` ARTTOOLS/ (empty placeholder — art tools were not included in this snapshot) BORLAND/ (empty placeholder — compiler was not included in this snapshot) CODE/ Game and engine source (~200k lines of C++/asm) CONTENT/ Game data: models, animations, audio, maps, textures, gauges HEADOFF/ Head/camera offset calibration configs for the cockpit displays ``` ### CODE/ Both games share the same architecture: a portable simulation engine (**MUNGA**, VWE's in-house engine) plus a hardware layer (**MUNGA_L4**, the "L4" Tesla pod platform layer), with game-specific code and a game-specific L4 layer on top. ``` CODE/BT/ Tesla:BattleTech BT/ Game logic: mechs, weapons (PPC, Gauss, missiles), damage tables, teams, missions, scenario rules BT_L4/ BattleTech pod application layer (app modes, arena, radar, playback, version) MUNGA/ Engine bricks: math (matrices, angles, splines), containers, file streams, audio manager, events MUNGA_L4/ Pod hardware layer: video renderer manager, keyboard, mouse, audio hardware, warehouse (resource loading) LIBDPL/ Division Ltd. dVS/DPL graphics library (headers + LIBDPL.LIB + VREND*.BTL renderer modules) NETNUB/ WATTCP-based pod networking (headers + WATTCPLG.LIB) SOS/ HMI Sound Operating System libraries + drivers CODE/RP/ Tesla:Red Planet (same structure) RP/ Game logic: VTV (hover racer) power/subsystems, pickups (booster, blocker, crusher, thruster) RP_L4/ Red Planet pod application layer MUNGA/ Engine (fullest copy — 351 files incl. all .CPP) MUNGA_L4/ Pod hardware layer (fullest copy, incl. JOYSTICK.ASM) libDPL/, NetNub/, sos/ as above */opt/ Compiled Borland C++ 5.0 object files from the original build (preserved as found) ``` Note: the BT copies of MUNGA/MUNGA_L4 are partial (69/68 files) while the RP copies are complete (351/231 files) — the BT tree appears to hold only the files that diverged from the shared engine. ### CONTENT/ ``` CONTENT/BT/ Tesla:BattleTech content CONTENT/BT3025/ Parallel BattleTech content set (3025-era variant; mostly identical to BT/ with a different mech roster) CONTENT/RP/ Tesla:Red Planet content ``` Per-game content directories: | Dir | Contents | |----------|----------| | `MODELS` | `.MOD/.SUB/.DMG/.TBL` — vehicle/mech models, subsystems, damage tables | | `ANIMS` | `.ANI` — animations (BT only) | | `AUDIO` | `.MID` MIDI music, `.SCP` audio scripts, `.BNK/.BLD` banks | | `GAUGE` | `.GIM` — gauge images for the six S3-driven cockpit displays | | `MAPS` | `.MAP/.ZNE` — arena/terrain maps and zones | | `SOLIDS` | `.SLD` — collision solids | | `VIDEO` | Division renderer data: `GEO/` geometry, `MAT/` materials, and `TEX/` textures per environment (ARENA, DAY, NIGHT, DESERT, POLAR, CAVERN, …), `.DZM` skins, `.BMF/.BGF` binary geometry, `BUILD/` sources | | `SCENES` | Scene definitions (RP only) | | `BTCAM` | Camera batch setups (BT only) | `DIVISION.SAV` subdirectories inside `VIDEO/` are backup saves written by Division's tools. `MTMCDAI.SYS` (Mitsumi) and `TAISATAP.SYS` are DOS CD-ROM device drivers used on the pod machines. ### HEADOFF/ INI-style calibration files (`.XST/.CAM/.BAK`) defining viewing extents and camera offsets ("head offset") for the cockpit's main display, including a `[LAB_ONLY]` configuration. ## Provenance - Copyright (C) 1994–1996 Virtual World Entertainment, Inc. All rights reserved worldwide. Original headers mark the source as proprietary and confidential. - Third-party components retain their own copyrights: Division Ltd. (dVS/DPL), Human Machine Interfaces (SOS), Erick Engelke / University of Waterloo (WATTCP).