Skip to content
HN On Hacker News ↗

GitHub - s-macke/Test-Drive-3-Maps: Extracted Maps of the DOS Game Test Drive 3

▲ 215 points • 56 comments • by s-macke • 5mo ago • HN discussion ↗

Pangram verdict · v3.3

We believe that this document is a mix of AI-generated, AI-assisted, and human-written content

48 %

AI likelihood · overall

Mixed
45% human-written 40% AI-generated
SEGMENTS · HUMAN 1 of 3
SEGMENTS · AI 1 of 3
WORD COUNT 561
PEAK AI % 89% · §2
Analyzed
Jun 3
backend: pangram/v3.3
Segments scanned
3 windows
avg 187 words each
Distribution
45 / 40%
human / AI fraction
Verdict
Mixed
Pangram v3.3

Article text · 561 words · 3 segments analyzed

Human AI-generated
§1 Human · 16%

Reverse engineered and extracted maps of the DOS Game Test Drive III: The Passion by Accolade As a kid, I played Test Drive III a lot. Not because of the racing, but simply to explore the world. There was so much to see, so much to discover. This project is an attempt to reconstruct those maps as accurately as possible. Over the past five years, I have worked on it on and off. Now, with the help of AI, I am close to success. Apart from the occasional flying car and missing sprites. The 3D format itself is nothing too exotic, but it does contain a few special cases. Each tile or object is a small mesh stored as three parallel arrays of 16-bit signed X, Y, and Z vertex coordinates, followed by 8-byte polygon records containing the polygon type, vertex indices, and palette color. These are preceded by a short 4- or 8-byte header. A map is a 32×16 grid. Each cell is 2 bytes: a tile ID selecting one of those meshes, plus packed rotation and height bits.

Online Viewer Extracted Images Gallery Wavefront Object files are available in the objs directory. Development Prerequisites

Node.js 20.19+ (required by Vite 7)

Installation npm install Running the Browser Viewer npm run dev Opens the viewer at http://localhost:5173 Building for Production npm run build Output is in the dist/ directory. Exporting OBJ Files npm run export Exports all maps and objects to the objs/ directory. Exporting PNG Images npm run imgextract Exports the currently documented DAT images as indexed-color PNGs to the images/ directory. Exporting Scene Sprites npm run spriteextract Extracts transparent scene-sprite PNGs from the known scene render descriptor banks, including the SCENE02 same-family variant.

§2 AI · 89%

CLI Tools # View LST file contents npm run lstview -- public/base/SCENE01.LST

# Extract VGA image from DAT file npm run imgview -- public/base/DATAB.DAT 0x151 12083 320 Project Structure src/ ├── browser/ # Browser-only modules (Three.js viewer) ├── shared/ # Shared modules (extraction logic, LZW/RLE decoders) └── tools/ # Node.js CLI tools ├── export/ # OBJ exporter ├── imgextract/ # Batch DAT image → PNG exporter ├── spriteextract/ # Scene sprite extractor ├── lstviewer/ # LST file viewer └── imgviewer/ # VGA image extractor public/ └── base/ # Game data files (required) objs/ # Exported Wavefront OBJ files images/ # Extracted VGA images (PNG format) spec/ # File format specifications

Extracted Images Gallery For a visual overview and previews of all extracted UI assets, scene sprites, map palettes, and car designs, visit the Project Images Gallery Index. Each individual directory contains its own generated visual gallery:

📁 Corvette ZR-1 Asset Gallery 📁 Honda NSX Asset Gallery 📁 Lamborghini Diablo Asset Gallery 📁 Mythos Asset Gallery 📁 Chevrolet Corvette Stelvio Asset Gallery 📁 Scenery Sprites Galleries

File Format Specifications The spec/ directory contains reverse-engineered documentation for Test Drive III file formats:

File Description

3d-object-format.md 3D polygon/vertex format used in tiles and objects

dat-file-layouts.md DAT file offset tables and resource layouts

map-format.md Race-track

§3 Mixed · 36%

map format: tile grid, object placement block, color table, and header parameter struct

scene-render-descriptor-bank-format.md Scene render descriptor bank family used by SCENE01.DAT, SCENE02.DAT, and SCENETT1.DAT

lst-file-format.md LST resource index files (scene and car variants)

image-format.md VGA image compression (LZW + RLE pipeline)

palette-format.md VGA palette handling and color selection

color_remap.md Paired-pixel lookup tables for sky/horizon gradient and road remapping

references.md External reverse-engineering references and links