s-macke/Test-Drive-3-Maps

GitHub: s-macke/Test-Drive-3-Maps

该项目针对DOS游戏《Test Drive III》进行逆向工程,提供提取游戏地图、3D模型及图像资源的工具与在线查看器。

Stars: 9 | Forks: 1

# Test-Drive-3-Maps 由 Accolade 开发的 DOS 游戏 *Test Drive III: The Passion* 的逆向工程与提取地图 # **[在线查看器](https://s-macke.github.io/Test-Drive-3-Maps/)** # **[提取的图像](images/)** Wavefront Object 文件位于 objs 目录中。 ## 开发 ### 前置条件 - Node.js 18+ ### 安装 ``` npm install ``` ### 运行浏览器查看器 ``` npm run dev ``` 在 http://localhost:5173 打开查看器 ### 生产环境构建 ``` npm run build ``` 输出位于 `dist/` 目录。 ### 导出 OBJ 文件 ``` npm run export ``` 将所有地图和对象导出到 `objs/` 目录。 ### 导出 PNG 图像 ``` npm run imgextract ``` 将当前已记录的 DAT 图像作为索引颜色 PNG 导出到 `images/` 目录。 ### 导出场景精灵 ``` npm run spriteextract ``` 从已知的场景渲染描述符库中提取透明的场景精灵 PNG,包括 `SCENE02` 同系列变体。 ### CLI 工具 ``` # 查看 LST 文件内容 npm run lstview -- public/base/SCENE01.LST # 从 DAT 文件中提取 VGA 图像 npm run imgview -- public/base/DATAB.DAT 0x151 12083 320 ``` ## 项目结构 ``` src/ ├── browser/ # Browser-only modules (Three.js viewer) ├── shared/ # Shared modules (extraction logic, LZW/RLE decoders) └── tools/ # Node.js CLI tools ├── export/ # OBJ 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 ``` 提取的图像示例: - [images/SCENE01/SCENE01_0x0_320x33.png](images/SCENE01/SCENE01_0x0_320x33.png) - [images/DATAA/TITLELET.LZ.png](images/DATAA/TITLELET.LZ.png) - [images/DATAB/COPA.LZ.png](images/DATAB/COPA.LZ.png) ## 文件格式规范 `spec/` 目录包含 Test Drive III 文件格式的逆向工程文档: | 文件 | 描述 | |------|-------------| | [3d-object-format.md](spec/3d-object-format.md) | 用于图块和对象的 3D 多边形/顶点格式 | | [dat-file-layouts.md](spec/dat-file-layouts.md) | DAT 文件偏移表和资源布局 | | [scene-render-descriptor-bank-format.md](spec/scene-render-descriptor-bank-format.md) | 由 `SCENE01.DAT`、`SCENE02.DAT` 和 `SCENETT1.DAT` 使用的场景渲染描述符库系列 | | [lst-file-format.md](spec/lst-file-format.md) | LST 资源索引文件(场景和车辆变体) | | [image-format.md](spec/image-format.md) | VGA 图像压缩(LZW + RLE pipeline) |
标签:DOS游戏, GNU通用公共许可证, LZW解压, MITM代理, Node.js, RLE解码, Test Drive III, Three.js, VGA图像, Wavefront OBJ, 云资产清单, 前端可视化, 场景精灵, 安全报告生成, 怀旧游戏, 数据可视化, 数据导出, 文件格式解析, 游戏地图提取, 游戏存档, 游戏资源提取, 逆向工程