Zerk Zone

Pages for the Creations of Ryan Armstrong

Xargon Mapper and Resource Extractor

Posted on December 11th, 2012 @ 7:55 pm by Zerker

About and Dependencies

This is a series of Python scripts to generate maps of Xargon, as well as extract most of the Xargon image 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 Xargon, either the shareware or full versions. The full version has been released as Freeware, so it should be easy for you to get what you need.

A full development log for this tool is available on the VGMaps Forums.
This tool was developed without the use of the Xargon source code by manually
decoding the game resources, so some of the techniques may be useful for decoding other games.

Please note the palimage#.png image files are used to obtain
the assorted Xargon colour paletted variations, and are required for
this tool to work.

Usage

There are two scripts included in the package that are intended to be executed directly.
xargonmapper.py is the main map generation script,
xargongraphics.py is a script to extract the contents of a Xargon GRAPHICS resource 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.

The genep1.sh, genep2.sh and genep3.sh are pre-made shell scripts to generate map images for each episode of the game. You can edit these files to change the path to Xargon for alternate configurations. Sorry, no .BAT files are provided for Windows users, but the .sh files and the below instructions should get you going.

xargonmapper.py

Usage: python xargonmapper.py [Graphics File] [Tiles File] [Map File(s)…]

Generates map images for every Xargon map file indicated. Requires the
corresponding GRAPHICS file for the images to use, and the TILES file
for the map tile to graphics resource mapping. All files should be from
the same Episode of Xargon.

xargongraphics.py

Usage: python xargongraphics.py [Graphics File]

Extracts all graphics resources from the specified GRAPHICS file from
Xargon. Output is stored in the Episode#Images and
Episode#OriginalImages folders, where # is the episode number of the
input file. The OriginalImages folder contains the original 256-colour
images without any additional processing, while the Images folder
contains 32-bit RGBA images after colour index 0 has been set
transparent.

Other Scripts
xargonmap.py

Usage: python xargonmap.py [Map File(s)]

Generates the following debug information for each specified Xargon map
file:

[mapname]_flat.png
A false-colour image of the map, where each tile
value is represented as a different colour.
[mapname].csv
A simple CSV containing each tile value
[mapname]_info.csv
Auxiliary information about a map from the footer.
Contains all the unknown header-type information,
as well as the strings.
[mapname]_objs.csv
A full listing of all objects in the specified map,
and all their associated fields.
[mapname]_strings.csv
A listing of all the strings in the map, as well
as the guessed mapping to object reference
values.
xargontiles.py

Usage: python xargontiles.py [Tiles File]

Generates a debug CSV file for the mapping specified in the given
TILES file from Xargon. Output is written to tiles.csv.

xargonfontgen.py

Usage: python xargongraphics.py [Graphics File]

Generates BDF font files for the two identified fonts stored in the
Xargon GRAPHICS file. The BDF files can then be converted to .pil files
for use in the main mapper via the pilfont.py script. The BDF files can
also be used in any software that supports BDF.

Download

xargonmapper.tar.gz (194.2 kB)
xargonmapper.zip (212.6 kB)

Comments (2)

Filed under: Maps,Xargon |

Xargon Episode 3 Maps

Posted on December 9th, 2012 @ 10:52 am by Zerker

Finally, here’s Xargon Episode 3. As before, the a tutorial of my process is over at the VGMaps forums.

(more…)

Comments (2)

Filed under: Maps,Xargon |

Xargon Episode 2 Maps

Posted on December 6th, 2012 @ 5:19 pm by Zerker

And here’s Xargon Episode 2. If you missed it before, I’m also writing a tutorial of my process (and a log of my progress) over at the VGMaps forums.

(more…)

Comments (0)

Filed under: Maps,Xargon |

Xargon Episode 1 Maps

Posted on December 1st, 2012 @ 2:40 pm by Zerker

After finishing Shadow Caster, I had originally planned to take a break from mapping. However, I had the idea to map a “simple” game for the purposes of writing a tutorial over on the VGMaps forums. Xargon turned out to be not quite-so-straightforward as I thought, but overall wasn’t too much. I haven’t totally finished Episodes 2 and 3, but Episode 1 is ready, so I am posting this now.

(more…)

Comments (1)

Filed under: Maps,Xargon |

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 |

Shadow Caster maps

Posted on November 10th, 2012 @ 11:11 am by Zerker

Well, here we go again. After doing Rise of the Triad, I looked around for similar games to map, and decided on Shadow Caster. Special thanks to the SLADE Editor and everyone on the ShadowCaster modding thread at Doomworld. Both sources were instrumental in getting me started on decoding the game data.

Unfortunately, I am not aware of a means to purchase the game at this time beyond searching for used copies on eBay or Amazon. The game is not particularly popular, so it should not be expensive. That said, it can be a bit clunky, so I’m not sure I would recommend it for most players.

(more…)

Comments (0)

Filed under: Maps |

ROTT Isometric Mapper and WAD Extractor Release

Posted on October 13th, 2012 @ 10:33 am by Zerker

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 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 Rise of the Triad: Dark War, which can be purchased from either 3D Realms or 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:

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)

Comments (4)

Filed under: Maps,Programs/Libraries,Python,Rise of the Triad |

Rise of the Triad Download maps

Posted on October 2nd, 2012 @ 4:08 pm by Zerker

Finally, the last set of maps is all of the first-party Apogee downloadable maps. For more details and notes, please see the Hunt Begins maps.
(more…)

Comments (0)

Filed under: Maps,Rise of the Triad |

Extreme Rise of the Triad maps

Posted on October 2nd, 2012 @ 4:08 pm by Zerker

Following the main game levels, the next obvious set of maps is none other than Rise of the Triad Extreme (aka EROTT). EROTT was originally an expansion for ROTT, but it has since been released as freeware and can be obtained from 3DRealms.

For more details and notes, please see the Hunt Begins maps.
(more…)

Comments (5)

Filed under: Maps,Rise of the Triad |

Rise of the Triad Comm-bat maps

Posted on October 2nd, 2012 @ 5:05 am by Zerker

Next up are the Rise of the Triad Comm-bat levels. For more details and notes, please see the Hunt Begins maps.
(more…)

Comments (0)

Filed under: Maps,Rise of the Triad |

Next Page »