Zerk Zone

Pages for the Creations of Ryan Armstrong

Shadow Caster Isometric Mapper and Resource Extractor

Posted on November 14th, 2012 @ 7:02 pm by Zerker

About and Dependencies

This is a series of Python scripts to generate Isometric views of Shadow Caster maps, as well as extract most of the Shadow Caster Resources. These scripts require the Python Imaging Library (PIL) and Python 2.x (tested with Python 2.7.3). PIL unfortunately does not yet support Python 3, which prevents these scripts from being forward-compatible at this time.

Windows users should be able to download Python and PIL from the above links. Most Linux/Unix varients should be able to install Python and PIL via your package manager of choice; Ubuntu users can install the python and python-imaging libraries. OSX users should already have Python, but you may need to compile PIL yourself via the source download at the PIL website.

The scripts also obviously require Shadow Caster (CD version), which can be a bit hard to find nowadays. Purchasing a used copy on eBay or other used game source appears to be the only option.

As before, special thanks to the SLADE Editor and everyone on the ShadowCaster modding thread at Doomworld. Both sources were instrumental in the development of these tools.

Please note the sample.png image file is used to obtain the Shadow Caster colour
palette and is required for this tool to work.

Usage

There are three scripts included in the package that are intended to be executed directly.
isomap.py is the main isometric mapper script,
shadowdat.py is a script to extract the contents of a Shadow Caster .dat file, and shadowlib.py is a script to extract the contents of a Shadow Caster .lib file. In addition to the three scripts above, several supplimentary scripts can be run to gather debug outputs of one form or another, and are listed under the Other Scripts heading.

isomap.py

Usage: python isomap.py [LIB FILE] [cd_castr.dat] [hd_castr.dat]

Generates a isometric map for each level in the specified Shadow Caster
LIB file (typically shadow.lib). The DAT files are used for image data.

shadowdat.py

Usage: python shadowdat.py [DAT FILE]

Extracts the complete contents of a give Shadowcaster dat file.
Does not support the cutscene dat files from the CD version, only
cd_castr.dat and hd_castr.dat. The .dat file from the floppy version may
also work, although it is unknown how frequently the floppy version uses
the RLE flag.

shadowlib.py

Usage: python shadowlib.py [LIB FILE]

Extracts the complete contents of a given Shadowcaster lib file. Resources are not interpreted and are written as-is.

Other Scripts

shadowdebugmapper.py

Usage: python shadowdebugmapper.py [LIB FILE]…

Generates a debug HTML file for each level in the specified LIB file.
Each index in the map is output into a cell in an HTML table
containing the following information:
The map index
the value for each of the map layers, in order

shadowsimplemapper.py

Usage: python shadowsimplemapper.py [LIB FILE]…

Generates a debug HTML file for each level in the specified LIB file.
Each index in the map is output into a cell in an HTML table
with lines representing walls.

shadowmap.py

I didn’t even write any usage instructions for this, but this
can generate image files for each layer of each map in a given lib file,
as well as CSV files for the data from each supplementary data file.

Download

ShadowCaster Mapper.tar.gz (162.8 kB)
ShadowCaster Mapper.zip (161.4 kB)

Comments (0)

Filed under: Maps,Programs/Libraries,Python |

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment