About and Dependencies
This is a series of Python scripts to generate Isometric views of Rise of the Triad maps, as well as extract the complete contents of DARKWAR.WAD. These scripts require the Pillow fork of the Python Imaging Library (PIL) and Python 3.x. This was tested with Python 3.9.2, but it does not use any recently-introduced features. As such, it should run with just about any version of Python 3. At the time of updating to Python 3 in 2021, the oldest version of Python still receiving updates is 3.6, so I do not recommend anything older.
Windows and macOS users should be able to download Python from the
above links and use pip
to install Pillow. Most Linux/Unix varients
should be able to install Python and Pillow via your package manager of
choice; Ubuntu users can install the python3 and python3-pil
libraries.
The scripts also obviously require Rise of the Triad: Dark War, which can be purchased from GOG.com. For the mapping scripts, DARKWAR.WAD must be in the current directory.
Usage
There are three scripts included in the package that are intended to be executed directly. rottmapper.py is the main isometric mapper script, rottdebugmapper.py is a script to generate debug maps containing all the original wall/sprite/info values, and wad.py is a script to extract the complete contents of a ROTT wad file. In addition to the three scripts above, rtl.py can also be run directly to generate a simple black and white pixel image of a level, but this is not its primary purpose.
rottmapper.py
python rottmapper.py [RTL/RTC FILE] ([Level Num])
Generates PNG isometric map images based on the specified ROTT RTL or
RTC file. If [Level Num] is specified, this will only generate a map
for the indicated level. Otherwise, maps for every level in the RTL/RTC
will be generated.
This tool requires DARKWAR.WAD from the registered version of ROTT
to be present in the current directory. Note that on case-sensitive file
systems the file name must also be uppercase.
rottdebugmapper.py
python rottdebugmapper.py [RTL/RTC FILE]...
Generates a debug HTML file for each level in the specified ROTT RTL or
RTC file. Each index in the map is output into a cell in an HTML table
containing the following information:
- The map index
- The data in the walls layer, if present, as W###
- The data in the info layer, if present, as I###
- The data in the sprite layer, if present, as S###
wad.py
python wad.py [WAD FILE]
Extracts the complete contents of a give ROTT wad file. Currently only
supports DARKWAR.WAD. All images will be written as PNG files,
other data will remain in its original format (e.g. .mid for music,
.voc for SFX). Unidentified data will be written with no extension.
Download
rottmapper.tar.gz (47.6 kB)
rottmapper.zip (49.7 kB)
Source is available in GitHub, including the legacy Python 2.x version (under the py2 tag).