Text File
===========================================================================
Title : Doom utilities source
Filename : dmutils.zip
Release date : March 1998? (estimate)
Author : Id Software
uploaded by Simon Howard <fraggle@gmail.com>
Email Address : Don't contact Id about these.
Description : This is the source code to various utilities
written by Id Software and used during the
development of Doom. I found this file available
for download on AtomicGamer.com, and from the
timestamps in the zip it seems it was probably
released in March 1998, several months after the
Doom source code release.
===========================================================================
* What is included *
There is a mixture of different utilities in here:
dcolors:
Generates PLAYPAL and COLORMAP lumps, taking the base palette from
an LBM file.
lumpy:
Looks like a program for generating IWAD files from a script. None
of the scripts seem to be included, but it looks like this was
used in development of the SNES and Jaguar ports.
mapcomp:
Combines several WAD files containing levels into a single WAD
file containing all of these and a texture lump. Purpose unknown?
multigen:
Generates the state tables used in the Doom source code (info.c).
The script file used to build Doom's state tables is included
(multigen.txt).
spitwad:
Dumps the directory of a WAD file, listing the contents and
metadata about lumps.
wadlink:
Builds the game IWAD files, based on a script file. No example
script file is included, but you can examples in the Heretic
and Hexen source codes (wadlink.wl).
* Leftover sources *
infogen.c:
Builds mobjinfo_t tables. Obsoleted by multigen?
statescr.c:
Builds state_t tables. Obsoleted by multigen?
jwadlink.c:
Earlier version of wadlink, looks like it includes hacks for
building the Jaguar IWAD.
* Misc. utilities *
cmpfile:
Compares two files byte-for-byte and prints the differences.
Purpose unknown.
cmpfiles:
csh script that compares the contents of two directories using
cmpfile.
removectrlm:
Removes ^M (\r) characters from .c and .h source files. Presumably
used to convert DOS source files to Unix ones.
unfuck:
"Unfucks file permissions".
lz77:
Compress a file using LZ77 compression.
ulz77:
Uncompress a file compressed using lz77.
* Commentary *
Some of the WAD building tools include the ability to compress lumps;
these were used for Jaguar Doom, which stores lumps compressed
to save space (see Kaiser's Doomworld thread, "The Console Doom hacking
project / Console specs"). It looks like John Carmack probably experimented
with several different compression algorithms (LZSS, LZ77, and there are
references to "lzssodd" and "lzssmars").
There are old versions of some of the programs in a subdirectory
named "backup"; a few of these have minor differences to the main
versions.
* Copyright / Permissions *
No license statement is attached to these files, but I'm assuming Id
considers them GPL, or at the very least freely redistributable.
* Where to get the file that this text file describes *
The Usual: ftp://archives.gamers.org/pub/idgames/ and mirrors