Quake Miscellaneous Utilities

The info here is taken from the README written by John Carmack, and the Makefile. There are four tools:

Two additional tools illustrate the way Quake accesses its resource files. The majority of files provide commonly used functions.

"qlumpy"

Grabs graphics off of lbm screens. Has the colormap calculation code and the error-diffused mip map generation code. It generates either individual files, or a combined wad file (barely used at all in Quake now).

The sources qlumpy.h / qlumpy.c are linked with the LBM library (lbmlib.h / lbmlib.c), script handling functions (scriplib.h / scriplib.c), code for WAD2 creation (wadlib.h / wadlib.c), the common command library (cmdlib.h / cmdlib.c), and screen grab functions (in quakegrb.c).

"sprgen"

Grabs sprite data. We coded lots of ways for sprites to behave (allways perpendicular, pivot along Z to face origin, pivot on Z to be parallel to view plane, fixed orientation), but we wound up only having three sprites in the entire game: explosions, drowning bubble, and a gold ball light in the registered version....

The sources spritegn.h / sprgen.c are linked with the LBM library (lbmlib.h / lbmlib.c), script handling functions (scriplib.h / scriplib.c), and the common command library (cmdlib.h / cmdlib.c).

"texmake"

Takes an alias/wavefront .tri file and generates a wireframe outline on an lbm page for artists to draw in. This one will ease creation of skins for MDL objects a lot.

The source texmake.c is linked with the LBM library (lbmlib.h / lbmlib.c), math functions (mathlib.h / mathlib.c), code for WAD2 creation (wadlib.h / wadlib.c), and the common command library (cmdlib.h / cmdlib.c).

"modelgen"

Takes a directory of alias/wavefront .tri files for all of the animations of a character, combines with one or more skins colored over texmake frames, and outputs a .mdl file. Modelgen parses the same script source as qcc, so frame indexes keep their symbolic names when compiled into prog code.

The sources modelgen.h / modelgen.c are linked with the LBM library (lbmlib.h / lbmlib.c), Alias triangle file I/O (trilib.h / trilib.c), script handling functions (scriplib.h / scriplib.c), math functions (mathlib.h / mathlib.c), and the common command library (cmdlib.h / cmdlib.c).

Additional tools

Two other tools have been included that relate to the way Quake accesses its data.

Both are simply linked against the common command library (cmdlib.h / cmdlib.c).

Common Code

The common code files, as already listed above, in overview, are:

Note that some of these are shared with qbsp, vis and light, and even QuakeEd sources.


home qdev qdev dread rsc qdev doom license web
home dEr95 r3D dread netrsc quake doom legal web
Author: B., email to bernd@nero.uni-bonn.de, with public PGP key
Copyright (©) 1995, 1996 by author. All rights reserved.
Source: $Id: index.html,v 1.1 1996/07/22 10:27:05 b1 Exp $