     Quake Editing Utilities v0.2 by Raphael Quinet - 03 Mar 1996
     ------------------------------------------------------------

	   NOTE: NO BINARIES ARE INCLUDED IN THIS PACKAGE!
	   I don't have a PC for the moment and I do all my
	  development on a UNIX machine.  Most of you would
	  not be able to use Solaris binaries, so this only
	    contains the source code for the programs I'm
	  developing.  If you don't have a C compiler, this
		  will probably be useless for you.

This package contains a few tools that can help you to edit Quake
files.  More exactly, they will allow you to extract some resources
from the PAK, WAD2 or BSP files and examine them.  There is no real
editor yet, because I don't have enough information about the BSP file
structure.

I decided to release this source code in order to share information
about Quake file structures and to speed up the development of
third-party utilities.  Of course, I hope that you will help me
writing a good editor for Quake rather than starting your own
independent project.  But even if you choose to do everything on your
own, the information contained in these files should be useful to you.

Instead of keeping all the information for me, I decided to publish my
source code so that everybody can benefit from it.  In counterpart, I
ask you to credit me if you use any information contained in these
files.  I think it's fair.  If you don't like this, stop reading now.

The Makefile included in this package will compile several small
programs.  They only use a part of the routines provided in the
package, because most of these routines are intended to be used in a
bigger program.  These sample programs are:

* UNPAK  -- Unpacks a Quake *.PAK file

  Usage:  unpak -h              Get some help.
          unpak -v id1.pak      View the contents of id1.pak without
                                extracting anything.
          unpak id1.pak         Creates a new directory id1.dir and
                                extracts the contents of id1.pak in this
                                directory.
          unpak id1.pak gfx.wad Extract only gfx.wad from id1.wad.

* REPAK  -- Re-creates a Quake *.PAK file

  Usage: repak new.pak file1.lmp file2.lmp ...
                                If the PACK file already exists, data is
                                appended to it.

* UNWAD2 -- Unpacks a Quake *.WAD file (WAD2)

* REWAD2 -- Re-creates a Quake *.WAD file (WAD2)

* UNWAD  -- Unpacks a Doom/Heretic/Hexen *.WAD file (IWAD or PWAD)

* REWAD  -- Re-creates a Doom/Heretic/Hexen *.WAD file (IWAD or PWAD)

* UNBSP  -- Unpacks a Quake *.BSP file

* SPRVIEW -- View the structure of a sprite.

Note that UNBSP is a quick hack based on the other utilities.  The BSP
files contain 14 unnamed entries.  For simplicity, I give them names
(entry00, entry01, ... entry13) so that they can easily be saved to
separate files.  I will write a cleaner version of UNBSP which decodes
all chunks, but I'm still trying to understand the format of some of
them (the first one is easy...).  Any information would be welcome...

I'm also trying to understand the format of the MDL files.  I have
decoded some fields of the header and I can extract all bitmaps and
save them to BMP files (you can do that in a few lines of code with
the routines "ReadBitmap" and "SaveBMP" provided in f_bitmap.c); I
also know a bit about the structure of the file (vertices +
triangles), but there are still some unknown values in the header.

Discussions of the Quake file formats takes place only in the
newsgroup rec.games.computer.quake.editing.  I read this newsgroup
several times a day, so you can post your questions and suggestions
there.  Actually, it is better to post in the newsgroup than to e-mail
me directly, since lots of people will be able to answer your
questions or benefit from the information that you post there.  If you
really want to reach me directly, my e-mail address is:
Raphael.Quinet@eed.ericsson.se.  But don't expect a quick reply,
because I'm supposed to work on serious projects during the day and I
can only read my mail and write QEU during my spare time.

Note for the curious: there are no binaries in this package because I
don't have my PC with me for the moment.  I'm currently on a business
trip (for three weeks) and I can only write my programs in the evening
(after work), on a Sun workstation.  The only PC to which I have
access doesn't have a compiler, so I cannot even verify if what I
wrote runs on a PC or not (but I think so, since the code is based on
DEU 5.3 and it is very portable).  If you have a DOS compiler and you
managed to compile these programs on a PC, I would be glad if you
could upload them to ftp.cdrom.com (but whatever you do, don't send
the binaries to me by e-mail - I want to keep my mailbox clean...).

-Raphael
