From: Bernd Kreimeier <Bernd.Kreimeier@NeRo.Uni-Bonn.DE>
Date: Sun, 10 Mar 1996 10:32:33 +0100 (MET)
Message-Id: <199603100932.KAA08721@colossus.nero.uni-bonn.de>
To: quake-editing@nvg.unit.no
Subject: Re: Distributing Quake maps (long-ish, wordy and rambling :)
> misc. discussion and proposals about distribution files deleted
One remark: as long as we do not know the final PAK/WAD2/whatever
format, it makes no sense to invent another file format with a
huge bias towards Quake.
In 1995, I wrote a proposal for a generalized WAD file structure.
I remember a WAD API proposal by somebody from the DEU team. In
addition, there are descriptions of Dark Forces and Descent
files. Now take therse and PAK and WAD2, and look for what all
these have in common.
Here is how I handled WAD files: I wrote a separate conversion
function that, reading the raw data lump of the directory,
assigned lump Type information based on some heuristics. In addition,
I treated the magic "IWAD" or "PWAD" as a Type indicator, too.
This means that my own DWAD files could as well include
PWAD or IWAD files as lumps, because I had no difference between
File header and Directory entry: both had type, offset, length,
and name (and checksum...), the data was just interpreted differently.
The main advantage is that this is a) recursive, b) allows for
including differently written files as lumps, and therefore c)
allowed for using GIF, WAV etc. raw data lumps as well.
If you want me to elaborate, I will dig up the specs.
A good idea used by the PAK is combining tar-like structures
with direct/seek access capability: the subdirectory handling. But
this simply means changing the way "/" is treated in the names
of generalized WAD files.
Finally: think in terms of checksums, copyright information, identifiers,
and resource (textures, sounds) repositories. It might be a good idea
to use PNG for pictures (see Quake Developers support pages, overview of
resources). GIF is not a good idea.
In principle, each lump that might be used and re-distributed in
different ways should provide all info about how it should be named
in the directory, the checksum to verify the data is not corrupted,
and the copyright/version/revision information, and the Type of lump.
b.