


                            DEUTEX/DEUSF 2.9
                              November 1994

                      WAD composition tool for DOOM
                   Copyright (c) Olivier Montanuy 1994
                         (montanuy@dmi.ens.fr)

                     Manual Edited by Kevin McGrail
                      (74107.1254@compuserve.com)

------------------------ Data Utility License -------------------------
DOOM(tm) is a trademark of Id Software, Inc.
The DOOM characters and the Id Software logo are trademarks of Id
Software, Inc. DOOM Copyright (c) 1993. Id Software Inc. All rights
reserved. This utility product is not a product of Id Software, Inc.
and has not been approved by Id Software, Inc. Id Software will not
provide technical support for this product. The purchaser of this
utility product may not distribute for money or other consideration
any software data created and/or modified by the use of this utility
product.
-----------------------------------------------------------------------


****************************** FEATURES *******************************

                             ------------
                                DeuTex
                             ------------

		   DeuTex stands for DEU's Texture Companion.

DEU is a DOOM level editor by Brendon Wyber and Raphael Quinet, and
DeuTex was originally derived from the code of DEU 5.21. DeuTex uses
various contributions for particular file formats.

DEUTEX Features:

-  Reverse engineer existing PWADs.
-  Compose your own wall textures, by reusing DOOM patches or adding
   your own patches as .BMP or .GIF files.
-  Load sounds as .WAV, PC sounds as text (don't laugh!) and Music as
   .MUS format.
-  Add your own floors (still quite tricky. see manual).
-  Add your own sprites (a bit tricky. see manual).
-  Simple WAD creation directives from a text file.
-  Simple directory structure (for the resources).
-  Work in batch mode (like a compiler).
-  Compatible with other level editors (like DEU).
-  Merge a PWAD into the main IWAD, recreating the WAD directory, so
   that ANY or ALL kinds of FLATS can be defined, while distributing
   only the changed ones in the PWAD.
-  Extract graphics, bitmaps and lumps out of your favorite PWAD, for
   contemplation or reuse. (WITH WAD AUTHOR AGREEMENT ONLY!)
-  Check your PWAD for errors in TEXTURE definitions.
-  Create animated walls with (almost) any sequence of pictures.
-  Create a non repeating sky texture.


                                                                 page i




                             -------------
                                 DEUSF
                             -------------

                  DeuSF stands for DEU Sprite and Flats.

DEU is a DOOM level editor by Brendon Wyber and Raphael Quinet.
   (Heck, I know the DeuSF name is lame, but it's short.)
DeuSF is inspired from DMADDS by Bernd Kreimeier, but is an alternative
to it. DeuSF will enable you to distribute PWADS with only the SPRITES
and/or FLATS that you wish to replace. There are some caveats here, so
read the manual! DeuSF will work with PWADs composed for DMADDS, but
DeuSF's preferred PWAD composer is of course DeuTex.

DEUSF Features:

-  Recreate a complete sprite and flat PWAD from a partial sprite or
   flat PWAD and the main WAD of DOOM.


WARNING: These programs have been used with DOOM2, but I cannot be
         sure that all the functions will work perfectly with DOOM2.
         The sprite names VILE[ VILE\ VILE] are not valid DOS file
         names, and are replaced by VIL@A VIL@B VIL@C if and only
         if used for file names.
  
***************************** DISCLAIMER *****************************

    I cannot held be liable for damages consecutive to the use of
    this program. I did my best to avoid any such occurrence, and
    use only very basic commands. However, it is impossible to
    state that these will work for all hardware and software
    configurations.

 Legalese: Read the license information at the end of this manual.
           DeuTex/DeuSF are freeware and Copyright (c) O.Montanuy 1994.
           DeuSF can be freely distributed.
           DeuTex cannot be distributed for *any* commercial purpose,
           with the sole exception of Compuserve download charges.


***************************** WHAT'S NEW? *****************************

FUTURE (DeuTex 3.0)
-  Color Quantization, allowing TGA/PPM support.
-  VOC sounds.
-  Loading of Dehacked patches in a clean fashion (IF ALLOWED BY ID).
-  Second Visual Basic shell (still under progress.)

New in version 2.9:
-  DeuSF -sprite bug corrected.
-  New directory listing for sprites, music, sounds. Verbose.
-  Some other bug corrections I'm not listing.(shame prevents)
-  Sources now compile under Alpha and SGiX. (well, err...)
-  Data Utility license executed: no more string handling functions.
   Sorry, this is not allowed by ID software. Use DeHacked.

New in version 2.8:
-  Small BMP bug corrected.
-  Visual Basic shell version 1.2

                                                                page ii




New in version 2.7:

-  Bad news for those who didn't register DOOM. I have received mail
   from John Romero which kindly requests that DeuTex work only for the
   registered version of DOOM.
   And when the Lord speaks...
-  A Visual Basic shell for DeuTex. version 1.0 beta.


New in version 2.6:

-  Unix version available (SUN SPARC, little endian processor).
-  OS/2 and Linux version by Mark Mathews and Per Allansson.
-  DeuSF supports viewpoints not available in DOOM.WAD.
-  Removal of some bugs and restrictions of DeuTex and DeuSF.
-  Verbose and Non-Verbose mode.
-  Function to determine unused data in a WAD.
-  Improvement of the user manual (just joking...).
-  Converts all sounds to 11025 samples/second.


Lacking in version 2.6:

-  MIDI support. If anyone can understand the code of Joachim...


New in version 2.2:

-  Extension to -merge. You can now change the number of viewpoints of
   a sprite. DOOM wants either one view point (ex: COLUA0) or eight
   viewpoints (ex: COLUA1 COLUA2A8 COLUA3A7 COLUA4A6 COLUA5). These are
   mutually exclusive. DEUTEX will delete those viewpoints you do not
   want, but take care to provide all the necessary viewpoints, or else
   DOOM will lockup.
-  Extension to -extract. When extracting sound, you can now tell
   DEUTEX to extract the whole entry, beyond the declared sound length.
   This is necessary for some PWADs, who cheat with the sound entry
   length. I dunno why. (I believe it's due to a feature of DMAUD).
-  Extension to -make. When loading a sound, DEUTEX now converts to
   11025 sample/s. Better not rely too much on this, and use a real
   sound utility. This is only for convenience.
-  DEUSF can now change the number of viewpoints of a sprite as well.
   DEUSF will delete those viewpoints you do not want, but take care to
   provide all the necessary viewpoints, or else DOOM will lockup.
-  Some bug corrections. Nothing critical :-)



************************** CONVIVIALITY ****************************** 

DeuTex and DeuSF have NO human interface. I will seriously frown upon
complaints about the lack of human interface. DeuTex and it's companion
DeuSF are MEANT to be run from BATCH files. Think of them as PWAD
compilers. You write your batch file once, and run the batch to re-
create your PWAD, each time you modify an entry.
***********************************************************************





                                                               page iii






*************************** Known problems ****************************

-  DeuTex makes limited checks on your PWAD. I check only texture
   consistency, and coherency of S_START/S_END,  F_START/F_END.
   Any suggestions?

-  BMP 24bit color quantization is slow. I have a quite fast quantizer,
   but it's a bit lossy, and needs *some* init time. Not implemented
   in this version.

-  Entry type identification does not always work with every PWAD. No
   general solution to this problem, only best effort. Void entries are
   saved as LUMPS. Sprites and Flats are missed if conventions are not
   respected. (files generated by hand or by WACKER-beta7)

-  GIF format defaults to GIF87.

-  BMP format is a bit hacked. My painting tools accept it, but Visual
   Basic refuses it. If this happens, load the file with a good
   program, overwrite it with a save from that program, and then it
   will work. :-)

-  WAVE (.WAV) and AUDIO (.AU) file format are hacked. Might not
   *always* work correctly. No one ever sent me the specs! If you have
   the specs, my mailbox is waiting for your kind contribution!

-  No MIDI support. I dunno how to write the code, but I'm looking at
   the code of Just_Joe (that I don't understand at all).

-  Levels must be complete before DeuTex will insert them in a PWAD.
   This means: nodes, reject, blockmap and such must exist.

-  DeuSF does NOT test that all required sprite viewpoints are
   available when changing viewpoints.  DOOM will lock up if you forget
   one of the sprite viewpoints.

-  If the -app command is interrupted, the PWAD file becomes bigger due
   to appended waste data, but it is still operational.

-  DeuSF says stupid things if no command is given.

-  Source is NOT included.
		not yet.





*LIMITATIONS of DOOM

-  Sprites in PWADs only work if you don't reuse existing sprites. Use
   DeuSF or DMADDS if you want to replace sprites. Actually, DeuTex
   -merge will also work. (and better!)

-  Flats don't work in PWADs. Use DeuSF or DMADDS if you want to
   replace Flats.  Deutex -merge will also work. (and better!)


										   
                                                                page iv






******************************* Contents *****************************

Data Utility License                                            i
Features                                                        i
Disclaimer                                                     ii
What's  New?                                                   ii
Conviviality                                                  iii
Known Problems                                                 iv


Chapter 1         OVERVIEW                                      1

             A) What is DeuTex?                                 1
             B) Installation                                    1
             C) Directories and DeuTex                          3
             D) What do I need?                                 4
             E) What do I do?                                   4
             F) What is DeuSF for?                              4
             G) What are the Palettes For?                      5


Chapter 2         DIRECTORY STRUCTURE                           6

             A) \Levels                                         7
             B) \Lumps                                          8
             C) \Textures                                       9
             D) \Sounds                                        10
             E  \Graphics                                      10
             F) \Sprites                                       11
             G) \Flats                                         11
             H) \Patches                                       12


Chapter 3         DEUTEX COMMANDS                              13

             A) Complete Command Reference                     13
             B) Help Commands                                  13
             C) Optional Commands                              13
             D) Commands to Compose or Decompose WADS          14
             E) Commands for merging PWADS into the Main IWAD  15


Chapter 4         DEUSF COMMANDS                               17

             A) Summary                                        17
             B) Complete Command Reference                     18
             C) Help Commands                                  18
             D) Optional Commands                              18
             E) Mandatory Commands                             19


Chapter 5         FORMATS                                      20

             A) The WAD Creation Directive (WADINFO.TXT)       20
             B) The Texture Definition File (MYTEXT.TXT)       23




                                                                 page v






Chapter 6         WORKING WITH WADS                               27

                    INTRODUCTION                                  27
             A) How to Decompose a PWAD                           27
             B) How to Create a PWAD with new TEXTURES            28
             C) How to Create a PWAD with new SPRITES and FLATS   28
             D) How to Create a PWAD with new SOUNDS              29

Chapter 7         TEST-ME or What's inside TRINITY.WAD?           30

             A) About Test-Me                                     30
             B) Listing the Directory                             30
             C) Decomposing TRINITY.WAD                           30
             D) Recomposing TRINITY.WAD as TRINIDAD.WAD           31
             E) Customizing TRINITY.WAD

Chapter 8         VBDEUTEX                                        32

Chapter 9         NECESSARY STUFF                                 33

             A) License Agreement                                 33
             B) Legal Stuff                                       33
             C) Thanx                                             35
             D) Where to get DeuTex/DeuSF                         37
             E) Final Words                                       37

APPENDICES
             I) Switch Textures in DOOM.WAD                       38
            II) Animated Wall Textures in DOOM.WAD                42
           III) Sound Names for DOOM                              44

                   A) Sounds found in BOTH DOOM I and DOOM II     44    
                   B) Sounds found ONLY in DOOM II                46


AFTERWORD
            Trinity.wad - How I Made It by Steve McCrea           48






















                                                                page vi




CHAPTER 1
****************************** OVERVIEW *******************************

This manual has a lot of trees in it. This chapter will give you a view
of the forest. DeuTex and DeuSF are powerful programs that will let you
do almost anything you can imagine in composing or manipulating PWADS.
Notice the word composing. Deutex is an Orchestra Conductor. It can
perform whatever music you write for it brilliantly, but you must
supply the musicians. A PWAD consists of many parts. DeuTex coordinates
those parts to give you the PWAD you desire, but it doesn't create
them. With DeuTex you have access to all the resources in the DOOM or
DOOM II IWADS. Since it does so many things, it might seem a little
confusing at first glance. Don't worry. If you are familiar with DOOM
(read Matt Fell's DOOM specs and Hank Leukart's DOOMFAQ), then all you
need to learn about DeuTex is it's organization.

This organization is the reason for all the directories involved, and
everything is actually pretty simple once it's explained. The DOOM and
DOOM II WADs provide a framework. Your PWAD modifies the framework in
various ways. For DeuTex, you put each type of change (sounds,textures,
etc.) into it's own subdirectory. When you're ready to test, you run a
batch file that takes all your modifications out of the directories and
creates a PWAD from them.

A. WHAT IS DEUTEX?

DeuTex is a PWAD compiler. It allows you to organize ALL the resources
you modify, and group them into your PWAD in a single step. This
eliminates the need for running a different program for each type of
editing you want to do (DMAUD, DMGRAPH, DMADDS, etc). DeuTex is NOT a
map editor. Your final map with nodes, reject and blockmap already
calculated is just another resource to DeuTex. If you don't redefine or
create textures, flats sounds, etc. in your PWAD, you don't need
DeuTex. If you redefine LOTS of stuff, you'll wonder how you got along
without it.

If you've worked with wads before, you know how many times you have to
go in and change something! With DeuTex, you just edit the resource you
want to change, throw it back in it's subdirectory, and run the batch
file to put everything together again.
 
B. INSTALLATION

DeuTex comes in zipped format. Naturally, you need a copy of PKUNZIP
(v2.04G) to unzip it. If you don't have one, go get it! It's probably
available the same place you got DeuTex. 

The file name is DEUTEX.ZIP or something like it. Depending on where
you got it, the file name may differ, and there may be some changes due
to different versions, but overall this manual should cover pretty much
everything you want to know about it.

Different versions of DEUTEX contain different numbers of files. There
are 28 files in the biggest one I know of. This manual contains all the
text files from various versions, and thus makes them unnecessary.
Whatever version you have, you should unzip it with the PKUNZIP -d
option to retain the directory structure of the files. If you are
upgrading from a previous version, don't unzip the new version in the
same place as the old one. PKUNZIP will complain about creating
directories that already exist.

                                                                 page 1




You don't have to make a directory for DEUTEX itself, since it will be
created when you unzip. Just copy the zip file to whatever directory
you want to start from. When unzipped, DEUTEX.ZIP will still be there,
but all the other files will have been placed in an assortment of
subdirectories.

Type:           <path> PKUNZIP -d DEUTEX.ZIP

The -d tells PKUNZIP to keep the directory structure in the ZIP file.
If you put your PKZIP files in a directory on your path, you won't need
to type the path statement above, or ever again for that matter (when
you unzip files, that is).

If everything goes as planned, DEUTEX.ZIP will blow up into something
like the following structure (the example shown is the version with 28
files mentioned above):

NOTE: \msdos may be \linux,\unix or \os2 depending on your version.

C:\ -------- deutex.zip
   |_
     \DEUTEX\ ------- file_id.diz
            |         readme.txt
            |_
            | \MSDOS\*-- deusf.exe
            |            deutex.exe
            |            deutex.pif
            |            vbdeutex.exe
            |            vbdeutex.txt
            |_
            | \TEST-ME\ --- test-me.txt
            |               trinity.bat
            |               trinity.cmd
            |_
              \MANUAL\ ------- deusf.txt
                     |         deutex.txt
                     |         license.txt
                     |         summary.txt
                     |         thanks.txt
                     |_
                     | \EASY\ --- decompos.txt
                     |            sound.txt
                     |            sprites.txt
                     |            texture.txt
                     |_
                       \ADVANCED\ ------- format.gif
                                |         format.txt
                                |         midi2mus.exe
                                |         soundlis.txt
                                |         trinity.txt
                                |         warning.txt
                                |_
                                  \PALETTE\ ------- doompal.pal 
                                                    doompal.ppm
                                                    readme.txt

17 of the 28 files listed above are text files that are incorporated
in this manual. You can  delete them all. If you don't have a bulletin
board fetish, you don't need file_id.diz either. Do what you like with
DEUTEX.ZIP. Put it on a floppy in case you ever have to reinstall.

                                                                 page 2





After deleting the text files, do the following:

Leave DeuTex\test-Me alone, when you do this demo, you'll want it to be
in its own directory.

Copy all the other remaining files to \DeuTex. Delete all the other
directories except test-me. Now copy this manual to \DEUTEX, and let's
look at what we have:

C:\_
    \DEUTEX\ ------------------- deusf.exe
           |                     deutex.exe
           |                     deutex.pif
           |                     deutxman.txt
           |                     doompal.pal
           |                     doompal.ppm
           |                     format.gif
           |                     midi2mus.exe
           |                     vbdeutex.exe
           |_
             \TEST-ME\ --------- trinity.bat
                                 trinity.cmd

Ahhh! That's better. You'll probably get rid of format.gif after you
see the ascii art masterpiece gracing this manual, and after you do
test-me and understand it, that's history, too! So now DeuTex looks
like it might be manageable after all.                         

C. DIRECTORIES AND DeuTex

If this section's about directories, then what were we just talking
about? Well, one reason it's a good thing to get DeuTex pared down to
size on installation is that when you use it, there is a directory
structure involved, and remembering one is easier than two, right?

Chapter 2 tells you all about the directories DeuTex uses, but this
section will give you the general picture. I'm going to use an
imaginary cakemaking machine to explain DeuTex's directories (I know,
I know, it's stupid! <g>). To make cake with this machine, you put your
flour in one, container, raisins in another, sugar another, milk,
icing, walnuts, chocolate, eggs, etc. All your best stuff, each in it's
own place. Then you flip the switch, and the machine thumps and smokes,
and voila! Cake!

DeuTex works in the same way . You put your map in one box, sounds in
another, textures, patches, graphics, lumps, sprites and flats all in
their own boxes. If you don't want raisins today, leave the sprites box
empty. When all is in place, flip the switch (DeuTex -make, in a batch
file preferably), DeuTex thumps and smokes for a little while, and
voila! PWAD!










                                                                 page 3




D. WHAT DO I NEED?

************************** User Requirements *************************

ATTENTION: DeuTex is not completely trivial to use. It requires a
           fully functional processing unit, with a least 10000 meg
           of available neurons, some basic DOS and DOOM specs dynamic
           libraries and at least 1 or 2 hours of spare processing
           time, at a minimum 80% attention rate. You have been warned.

SUGGESTION: If you use DeuTex, try New Wad Tool, too. The two tools
            combine very well together under DOS. (NWT is not available
            for other O/S).

************************ Hardware Requirements ***********************

This program is an ordinary DOS executable, compiled in a HUGE memory
model, with 386 instructions. It does not make use of a math copro-
cessor. It should run with about 500k of free base memory, or less. It
might not run under a 286. It was tested on a Compaq LITE 4/33c and an
IBM Thinkpad 755c.

Unix, Linux, OS/2, SGiX and Alpha versions are also available. 

E. WHAT DO I DO?

Please read this Manual before asking questions. My time on the net is
limited. Bug reports ARE appreciated IF they come with the files you
were using when the bug occurred, and a full description of it.

Read and be familiar with all the DOOM literature you can. Especially
DOOMSPECS 1.3 by Matt Fell. Become familiar with the various editors
you need to create the resources used in this program. DeuTex does not
edit things. It puts the things YOU edit together.

When the foregoing is done, you take all your cool stuff. You put it in
DeuTex's boxes. You give DeuTex the directions on what to DO with your
stuff. You run DeuTex. That's All, Folks.

F. WHAT IS DEUSF FOR?

DeuSF is a program to help overcome some of DOOM's limitations, and
still be able to distribute a reasonable sized PWAD. With SPRITES and
FLATS, you have to replace EVERYTHING in order for DOOM to work right.
This makes for a big PWAD, and it's not really legal to take DOOM's
Sprites or Flats, put them in your PWAD, and then distribute them
(kinda splitting hairs, I know). So DeuSF allows you to replace as few
sprites and flats as you desire, and distribute IT with your PWAD. With
the appropriate batch file, it will change things at the USER's site to
enable your PWAD to play, without stepping on toes, or asking people to
download multi megabyte single level PWADS!
 
 








                                                                 page 4




G. WHAT ARE THE PALETTES FOR? 

These are the color palettes used by DOOM.

If you edit or create any graphics (Patches, sprites, etc.) in your
favorite graphics program, the colors are liable to be different from
the ones used in DOOM. When they are inserted in a PWAD, they need to
be 'quantized', which is a fancy word for color-matched. Although this
sounds simple, it can actually be quite involved. DeuTex has the
capability, but design of a good quantizer was not the highest priority
for the type of program DeuTex is. With this in mind, if you have any
edited graphics you want to insert with DeuTex, you  should be aware of
the following:

Avoid 24bit BMP format! 24bit BMP color quantization is slow. I have a
quite fast quantizer, but it's a bit lossy, and needs *some* init time.
Therefore, it's not implemented in this version.

Use 8bit (256 color) and have the color quantization done by a serious
program.  If you don't quantize the colors, DeuTex will, but it's slow,
and doesn't provide any dithering, so it's lame, too.

The enclosed color palettes are in the format of two good graphics
programs. Use them to quantize your pictures, before you feed them to
DeuTex.
	
doompal.pal is in the format used by PAINTSHOP PRO v2, a popular
shareware graphics program with excellent color conversion capabilities.

To convert with doompal.pal in PAINT SHOP PRO:

      1)    load the file you want to convert
      2)    in the color menu, select: load palette
            browse to find doompal.pal and select it
      3)    save the file as a bitmap (.BMP)

If you want to make a .PBM (portable bitmap), use ppmquant on your
picture, with doompal.ppm as the reference for colors.

You know another method?   Just tell me!





















                                                                 page 5




CHAPTER 2
************************* DIRECTORY STRUCTURE *************************

First: You can enable DeuTex/DeuSF to locate your REGISTERED doom or
       doom 2 files by creating an environmental variable DOOMWADDIR
       that points to your DOOM path like: 

       set DOOMWADDIR= d:\doom     (in autoexec.bat  under DOS)  
       setenv DOOMWADDIR ~/doom    (in .tcshrc under Linux/Unix)

       This is more important for the LINUX version, since with DOS the
       command DeuTex -doom <doomdir> will achieve the same result. In
       DOS, it's possible to get an 'out of environment space' error.
       If this occurs, use DOS Help for the SHELL command to find out
       how to increase your environment space.

DeuTex uses the following directory structure to store DOOM entries.
First create a directory (call it MYWADIR or whatever) for your wad.
Make sure DeuTex is on your path, or put a copy of it in MYWADIR. Put
a copy of the wad you are working on (MYWAD.WAD) in MYWADIR.

Type:        DeuTex -xtract mywad.wad

DeuTex will automatically create the appropriate subdirectories and put
all the WAD'S entries in the proper place. It will also create a file
named WADINFO.TXT in MYWADIR. If your wad is a bare map level with no
additions yet, you should get something like:

            \MYWADIR\--------mywad.wad
                    |        wadinfo.txt
                    |        DeuTex.exe (optional, if not on your path)
                    |_
                      \LEVELS\------ExMx.wad

Note that DeuTex will not OVERWRITE any existing files. In the example
above, if you type DeuTex -xtract AGAIN, you will get an error message
telling you the files already exist. You have to delete wadinfo.txt and
ExMx.wad (or move them somewhere else) for xtract to work again. If you
lose something you wanted to keep, don't blame DeuTex, it's innocent!

Now type :   DeuTex <-doom doom directory> -textures

DeuTex will read the textures from DOOM.WAD or DOOM2.WAD, list them in
a file called TEXTURE1.TXT (and TEXTURE2.TXT for DOOM 1) and store them
in a directory called TEXTURES, which it will create if it doesn't
exist.

NOTE: The <-doom doom directory> command is optional. See Chapter 3 for
      a complete description of when you should use it.

Your working directory should now look like this:

              \MYWADIR\-----mywad.wad
                      |     wadinfo.txt
                      |     DeuTex (optional)
                      |_
                      | \LEVELS\----ExMx.wad
                      |_
                        \TEXTURES\---texture1.txt
                                     texture2.txt

                                                                 page 6




If your wad had any other resources (sprites, flats, sounds, etc.) in
it and you used DeuTex -xtract, it would extract those resources, too.
Then it would create the proper directory and store them in it.

If you want to add something to your wad, put it in the proper
subdirectory (create it if it's not there), and tell wadinfo.txt about
it. Chapter 5 FORMATS describes wadinfo.txt in detail.

Then type: DeuTex -make wadinfo.txt mywad.wad

DeuTex will read wadinfo.txt and go get all the resources it asks for
from the directories. Then it will create mywad.wad from them. Note
that if you create a wad from the above example, it  won't be any
different than what you started out with! You need to put some
ingredients into the mix before you see any results. THAT's what the
other directories are for.

Again note that DeuTex won't overwrite mywad.wad if it exists. Since
most of the stuff you'll do with DeuTex will be from a batch file, have
it handle your housekeeping whatever way you like. Something like the
following works pretty well:

        del mywad.wad
        DeuTex -make wadinfo.txt mywad.wad
        copy DOOM\WADS\mywad.wad mywad.bak
        copy mywad.wad DOOM\WADS\mywad.wad

This way, if you find out you've really screwed things up when you test
your wad, there's always a copy of the previous version to use.
	
DEUTEX SUBDIRECTORIES:

A. \LEVELS  

'Bare' PWADS go here! A bare PWAD is one that you have edited and
constructed the nodes, reject, and blockmap. The PWAD will then
contain only the following 11 entries in IT'S directory: ExMx(MAPxx),
THINGS, LINEDEFS, SIDEDEFS, VERTEXES, SEGS, SSECTORS, NODES, SECTORS,
REJECT, and BLOCKMAP.

BEWARE: BLOCKMAP REJECT SSECTOR SEGS are not optional! they must have
        been generated by your level editor (along with BSP, IDBSP,
        REJECT, RMB, whatever).

THE FILES PUT HERE MUST BE DECLARED IN THE 'LEVELS' SECTION OF
(WADINFO.TXT). ALL FILES MUST BE IN THE FORM ExMx.WAD OR MAPxx.WAD.

Suppose you want your PWAD to consist of two levels, E1M2 and E3M4.
Name the two (bare) levels E1M2.WAD and E2M4.WAD, and put them here.
Then edit the LEVELS section of WADINFO.TXT to read:

Begin: LEVELS
E1M2
E3M4
End: LEVELS

     This tells DeuTex to look in the LEVELS\ subdirectory for E1M2.WAD
     and E3M4.WAD.
	


                                                                 page 7





B. \LUMPS 

LUMPS are raw data for DOOM with the extension .LMP. If you have
edited or created any of them for your PWAD, put them here. The
following files are the LMPs used by DOOM. You can insert something
else if you like, and DOOM will ignore it. It's a mystery why anyone
would do this, but WAD builders are a mysterious bunch!

*********************** LUMPS recognized by DOOM **********************

PLAYPAL.LMP   Color PALETTES (14 of them consisting of 256 RGB triplets
              each - 768 bytes/palette). The first one contains the
              normal DOOM colors. The others temporarily 'tint' the
              screen colors for different events in DOOM. (Item pickup,
              Hurt and Berserk Reds, Radsuit Green etc...)

COLORMAP.LMP  Color MAPS.  There are 34 of these,consisting of
              256 bytes each. These are NOT RGB triplets. They map
              whatever PLAYPAL currently being displayed by DOOM to
              darker colors corresponding to the light level in a
              sector. These mapped colors are what you see on the
              screen.  The first map corresponds to a light level of
              247-255, and doesn't change the display at all. The 32nd
              map corresponds to a light level of 0-7 and maps almost
              all colors to the darkest one in the presently used
              PLAYPAL. Map 32 makes everything black and white for
              'invulnerability'. Map 33 is all zeros.

ENDDOOM.LMP   Text displayed when leaving DOOM. Use A program like TED
              or ENDOOMER to edit this text.
              (DO NOT REMOVE THE ID COPYRIGHT!)

DEMO1.LMP   / Demos recorded by DOOM.
DEMO2.LMP  <  e.g. DOOM -record DEMO2 -file MYWAD.WAD
DEMO3.LMP   \ Then move DEMO2.LMP here, and that's all!

DMXGUS.LMP    (DOOM)    / Text file remapping MIDI instruments 
DMXGUSC.LMP   (DOOM II) \ for the Gravis Ultra Sound card.

GENMIDI       Instrument mapping for GENMIDI compatible cards.

***********************************************************************

Suppose you have edited ENDOOM.LMP and recorded a new DEMO1.LMP  for
your PWAD. Just put copies of them here, and declare them in the LUMPS
section of WADINFO.TXT like this:

	Begin: LUMPS
	ENDOOM
	DEMO1
	End: LUMPS

	          and DeuTex will look here for ENDOOM.LMP and DEMO1.LMP







                                                                 page 8





C. \TEXTURES

This subdirectory contains a text file(s) describing the texture
changes you want in your PWAD (Chapter 5 describes texture definition
files). Your file can be given any name you want (except TEXTURE1.TXT
or TEXTURE2.TXT). This name (without extension) is then entered in the
TEXTURES section of WADINFO.TXT.

FILES PUT HERE HAVE THE EXTENSION (.TXT). THE TITLE OF ANY FILE PUT
HERE MUST BE DECLARED IN THE TEXTURES SECTION OF WADINFO.TXT.

The file names TEXTURE1.TXT and TEXTURE2.TXT are reserved. Due to an
amazing bug (in DOOM?), if there are any new or redefined textures in
in a PWAD, DOOM no longer looks at it's existing TEXTURE1 list. If you
use ANY new textures, TEXTURE1.TXT must be here or DOOM will crash.
Also, TEXTURE1.TXT in this subdirectory should ALWAYS contain ALL the
UNCHANGED TEXTURE1 definitions.

DeuTex defines all new and modified textures in TEXTURE1.
TEXTURE2 is redefined only if needed. This way, it works with both
DOOM1 and DOOM2 (TEXTURE2 does not exist in DOOM2).

DeuTex automatically looks here for TEXTURE1.TXT and TEXTURE2.TXT, so
you don't need to declare them in WADINFO.TXT. This is because the
order of declaration seems critical.

When DeuTex sees TEXTURE1.TXT here, it uses it to REPLACE the default
TEXTURE1.TXT in the main DOOM.WAD. It then tacks on any other texture
definition files you have put here. If you delete texture entries in
the TEXTURE1.TXT or TEXTURE2.TXT file, make sure that you redefine them
somewhere. If they are never defined, DOOM will halt when it looks for
such a texture.


EXAMPLES:

If you want to add ONLY new textures:

    - Run DeuTex -textures to get the textures.
    - Leave TEXTURE1.TXT here.
    - Delete TEXTURE2.TXT. (if you leave it, if will be loaded. No harm
                            done but your PWAD will be about 8K bigger)
    - Put your definition file here (e.g. MYTEXT.TXT), and declare
      MYTEXT in the TEXTURES section of (WADINFO.TXT).

If you want to redefine textures in TEXTURE1:

    - Run DeuTex -textures to get the textures.
    - Leave TEXTURE1.TXT here.
    - Delete TEXTURE2.TXT. (if you leave it, if will be loaded. No harm
                            done but your PWAD will be about 8K bigger)
    - Cut the textures to be redefined from TEXTURE1.TXT and paste
      them into MYTEXT.TXT. Edit them or change them as you wish.
    - Declare MYTEXT in the TEXTURES section of WADINFO.TXT.
      





                                                                 page 9




If you want to redefine old textures (of TEXTURE2):

    - Run DeuTex -textures to get the textures.
    - Leave TEXTURE1.TXT here.
    - Leave TEXTURE2.TXT here.
    - Cut the textures to redefine out of TEXTURE2.TXT and put them
      in MYTEXT.TXT. Edit and change them as you wish.
    - Declare MYTEXT in the TEXTURES section of WADINFO.TXT.


APPENDICES I and II contain lists of the animated and switch textures
from DOOM.WAD (Not the new ones from DOOM II, sorry. Use DeuTex to make
your own list). Copy the portion you want to edit into MYTEXT.TXT. It's
a little easier than hunting through the entire TEXTUREx.TXT files.


D. \SOUNDS

Put your new sound files here in the correct format. They must have the
same name as the sound you want to replace (Appendix IV contains a list
of the sound names used in DOOM and DOOM II). Put the sound NAME
(no extension) in the SOUNDS section of WADINFO.TXT.

DeuTex uses the following formats for DOOM sound files:

MUSIC:                      [D_xxxxxx.MUS]
 
MUS format (RAW format, which can be created from MIDI files with
MIDI2MUS.EXE, provided by ddt).

SOUNDCARD SOUND EFFECTS:    [DSxxxxxx.WAV]

Windows WAVE file (.WAV). Use a converter if you prefer .AU.
Preferably use 11025 sample/second for your recording.

PC-SPEAKER:                  [DPxxxxxx.TXT]

Text files (.TXT) with numbers 0-255 

WARNING: DeuTex assumes that any file name beginning with: 
                     'D_' is music.
                     'DS' is soundcard sound effect.
                     'DP' is PC speaker sound effect.

E. \GRAPHICS

For DOOM pictures other than SPRITES, FLATS or TEXTURES. Put the
changed graphic FILE here in .BMP or .GIF format, and enter the NAME
(without extension) in the GRAPHICS section of WADINFO.TXT.

Suppose you have created new TITLEPIC.BMP and VICTORY2.BMP graphics.
Put the files here and just declare them in the GRAPHICS part, like:

     Begin: GRAPHICS
     TITLEPIC
     VICTORY2
     End: GRAPHICS 

              This tells DeuTex to look here for TITLEPIC.BMP (or .GIF)
              and VICTORY2.BMP (or .GIF).

                                                                page 10




************ Some examples of graphic entries in DOOM.WAD *************

HELP1      The HELP screen for DOOM 1.666.
HELP2      Second HELP screen for DOOM 1.666.
HELP       The HELP screen for DOOM 2.
TITLEPIC   The title pic for Doom (320 x 200).
CREDIT     The credits for DOOM (Don't touch!).
VICTORY2   The background of the victory scenes.
STCFNxx    The fonts for DOOM.
STxxxxx    Description of the status bar.
M_xxxxx    Description of the menus.

You can read Matt Fell's DOOMSPEC for other entries, or extract them
for yourself with DeuTex -graphic -xtract DOOM.WAD.

F. \SPRITES 

Put your new sprites here in (.BMP) or (.GIF) format.

WARNING: DOOM WILL LOCK UP IF YOU ATTEMPT TO REPLACE ONLY SOME OF THE
         EXISTING SPRITES! Either replace all the sprites with DEUTEX
         -iwad -make or replace only some of the sprites and use DEUSF
         -add, DEUSF -append or DEUTEX -merge.

Suppose you want to insert SPOSA1.GIF and TROOB2.BMP as new sprites.
Put the files here, and then declare them in the SPRITES section of
WADINFO.TXT, like:

     Begin: SPRITES
     SPOSA1
     TROOB2
     End: SPRITES

                     This tells DeuTex to look here for SPOSA1.BMP
                     (then SPOSA1.GIF) and TROOB2.BMP.

G. \FLATS

For new floors and ceilings as 64x64 (.BMP) or (.GIF) files.

WARNING: TO MAKE USE OF YOUR NEW FLATS, YOU MUST MERGE YOUR PWAD WITH
         DOOM.WAD OR USE DEUSF TO REGENERATE ALL THE FLATS OF THE MAIN
         IWAD INTO YOUR PWAD.

Sorry, but this is a limitation of DOOM, not of DeuTex. FLATS inserted
here will not crash DOOM when the PWAD is run because I don't use the
regular F_START F_END delimiters that confuse DOOM. Your PWAD *WILL*
fail when it references those FLATS, so heed the warning above.

Suppose you want to insert MUDDY.BMP and HATCH.BMP as new Flats. Put
the FILES here, and declare them (no extension) in the FLATS section
of WADINFO.TXT, like:

     Begin: FLATS
     MUDDY
     HATCH
     End: FLATS

             This tells DeuTex to look here for MUDDY.BMP and
             HATCH.BMP, BUT, SEE WARNING ABOVE!

                                                                page 11





H. \PATCHES

Put any new PATCHES here as (.BMP) or (.GIF) files. DeuTex will load
any .BMP or .GIF files it finds here. They don't have to be part of
a redefined texture in MYTEXT.TXT. If you want the little man in the
danger symbol to be a little woman, just edit the patch, and throw it
in here. You don't need to redefine all the textures that contain it.

Note that WADINFO.TXT contains no PATCHES section. The texture
definition file in the \TEXTURES directory of describes where PATCHES
go in your new textures. When DeuTex reads WADINFO.TXT, it finds the
name of your texture definition file in the TEXTURES section (e.g.
MYTEXT). It then looks for MYTEXT.TXT in the \TEXTURES subdirectory.
It looks here for any PATCHES mentioned in MYTEXT.TXT.

NOTE: If you declare a NEW or MODIFIED patch in MYTEXT.TXT, there MUST
      be a corresponding .BMP or .GIF file here.

EXAMPLE:

Suppose you want to create a new TEXTURE called MYDOOR, which contains
two new PATCHES called WOODEN0 and KNOB0, and a modified WARNA0 patch.
The new TEXTURE also contains the existing EXIT1 patch.

FIRST: Put WOODEN0.BMP, KNOB0.BMP, and WARNA0.BMP here. 

THEN: Define your new TEXTURE in MYTEXT.TXT as shown below:

  Begin: TEXTURES
      MYDOOR                256   128   # a 256x128 wall with ...
      *     WOODEN0           0     0   # a 256x128 background
      *     KNOB0            64   100   # and a small knob at (64,100)
      *     WARNA0          128    12   # a lite at top/center
      *     EXIT1           128    32   # the word exit in the center
	End: TEXTURES

 The asterisks tell DeuTex to look here for PATCHES called WOODEN0.BMP,
 KNOB0.BMP, WARNA0.BMP and EXIT1.BMP. Note that WOODEN0 had better be
 256x128 or bigger, otherwise there will be at least one void column,
 and DOOM will complain and stop. If an existing PATCH is called for,
 and no entry by that name exists here, the old patch will be used.

NOTE:
DeuTex SHOULD automatically look here for ALL patches mentioned in
MYTEXT.TXT. Sometimes it fails to replace patches that already exist in
DOOM.WAD (e.g. WARNA0 above). Then the patch will be displayed as the
old patch even though you meant to change it. If this happens, put the
unrecognized patch in the GRAPHICS\ subdirectory, and declare it
explicitly in the GRAPHICS section of WADINFO.TXT.
 










                                                               page 12




CHAPTER 3

*************************** DeuTex Commands ***************************

A. COMPLETE COMMAND REFERENCE

I am lying: It's not complete, but those commands not mentioned here
are for the Visual Basic Shell, and you'll never use them. Commands
with an '*' are not implemented in the VB version. I forgot them.
All optional commands must appear before non-optional ones or else
they will be ignored.

The Command Line Format is:

DEUTEX <-optional cmd.> ,..., <-non-optional cmd.>,...,etc.

B. HELP COMMANDS

  -help    This one won't help you a lot, but it will give you the
           parameters.

  -syntax  Prints a short listing of the format of WAD creation
           directives (wadinfo.txt). See the FORMATS section of this
           manual for a more complete explanation.

C. OPTIONAL COMMANDS

  -doom <doom directory>

            Use this command to indicate the directory containing
            DOOM.WAD and DOOM.EXE or DOOM2.WAD and DOOM2.EXE.

            If this command is not used, DeuTex looks first in the
            current directory for DOOM. Then it looks in the current
            directory for DOOM2. Then it looks in the root directory of
            the current drive for a directory called DOOM, and finally
            looks in the root directory of the current drive for a
            directory called DOOM2. The first DOOM it finds is used. 

            EXAMPLE:    DEUTEX -doom C:\GAMES\DOOM

  -dir <working directory>

            DEFAULT IS: CURRENT DIRECTORY. This defines the working
            directory, into which you or DeuTex will put the WAD
            creation directives (WADINFO.TXT). All subdirectories
            containing PWAD parts will branch from here. The completely
            assembled PWAD will also reside here.

  -deu*     Use this if you want DeuTex to add 64K of junk at the end
            of your PWAD. Why? To compensate for a bug in DEU 5.21,
            that makes it sometimes crash when viewing pictures.

  -rgb* <R> <G> <B>

            When you include GIF or BMP with DeuTex, the color CYAN
            (R=0 G=255 B=255) is assumed to be transparent.  You can
            specify here an alternate color to represent transparency.
            (Only the pixel of EXACTLY that color will be transparent).


                                                                page 13





  -bmp      File format to use when EXTRACTING pictures. DeuTex will
  -gif      recognize either one when STORING pictures in a PWAD. The
            DOS version defaults to .BMP; the UNIX version defaults to
            .GIF. Avoid the 24bit BMP format! Use 8bit (256 color) and
            have the color quantization done by a serious program. Mine
            works if you need it, but it's lame. See "What are the
            Palettes For?" in Chapter 1. 

  -wave     File format to use when EXTRACTING sounds (DeuTex will
  -au       recognize either one when INSERTING sounds). The DOS
            version defaults to .WAV; the UNIX version defaults to .AU.

-fullsnd*   If the real size of the sound entry is larger than the
            declared sound length, -fullsnd enables you to extract the
            complete sound entry.

  -level    These tell DeuTex to select sprite, patch, sounds, etc ...
  -lump     when composing/decomposing/merging PWADS.  These commands
  -sound    can be combined.  By default, all entries are selected.
  -graphic
  -sprite
  -patch
  -flat
     
  -iwad     To be used with -make, this command makes an IWAD instead
            of a PWAD. This is necessary if you are building a PWAD
            which contains all the sprites or all the flats. Enables
            you to rebuild DOOM.WAD if really needed.


D. COMMANDS TO COMPOSE OR DECOMPOSE PWADS

-wadir <thatcool.wad>

            Directory list, with entry identification.  Exact entry
            identification is sometimes impossible in a PWAD. In that
            case, SPRITES, FLATS or PATCHES might be reported as
            GRAPHICS.

-xtract  <thatcool.wad>
-extract <thatcool.wad>

            Will extract lumps, graphics, floors, patches, sprites,
            sounds, levels from a WAD and put them into a subdirectory
            of the with the same name. Also lists any texture entries
            of the wad in a file called TEXTURE1.TXT, which it puts in
            a subdirectory called \TEXTURES. If a given subdirectory
            does not exist, it will be created. Also creates the file
            WADINFO.TXT in the working directory. The working directory
            is the directory the command is entered from unless -dir is
            used to specify one.  See the chapter on FORMATS for a
            description of WADINFO.TXT and TEXTURE1.TXT. This command
            will not overwrite already existing entries. It will
            complain and stop instead. 






                                                                page 14





-textures   Lists the textures contained in DOOM.WAD or DOOM2.WAD into
            text files, TEXTURE1.TXT and TEXTURE2.TXT (TEXTURE2.TXT
            does not exist in DOOM2). The files are deposited in a
            subdirectory called TEXTURES. If \TEXTURES does not exist,
            it will be created. This command will not overwrite
            TEXTURE1.TXT or TEXTURE2.TXT if they are already present.

-make     <wadinfo.txt>  <myown.wad>
-build    <wadinfo.txt>  <myown.wad>
-create   <wadinfo.txt>  <myown.wad>

            Reads WADINFO.TXT and uses it to compose MYOWN.WAD from the
            files in the subdirectories. See FORMATS for a description
            of WADINFO.TXT. MYOWN.WAD will be created in the current
            directory. If it already exists, it WON'T be overwritten,
            so it must be deleted to create a new version. This
            command replaces DMGRAPH, DMMUS, DMTEX and DMAUD. (DMAUD
            recognises more formats than .WAV and .AU, but it doesn't
            work with DOOM v1.666 or DOOM2).

-check  <myown.wad>

          Will look for any textures defined in MYOWN.WAD which contain
          void columns that would crash DOOM. Use this after modifying
          textures (Similar to the way you use checks in DEU).

-unused <thatlame.wad>

          Checks for unused bytes in a PWAD.  Reports all the unused
          zones, total number of byte wasted, and the repartition
          depending on size of wasted areas.



E. COMMANDS FOR MERGING PWADs INTO THE MAIN IWAD


-merge  <myown.wad>

            Will put the entries of MYOWN.WAD into the main DOOM.WAD
            file, thereby removing all restrictions DOOM puts on PWADS.
            This is much safer and much cleaner than inserting or
            restoring entries with DMGRAPH or such, but your IWAD IS
            modified. Usually used for SPRITES and FLATS.

-restore    Will restore DOOM.WAD and the merged MYOWN.WAD.  To be used
            after the -merge command, to undo the job. Files are
            reconstructed using information stored in the IWAD at the
            time the -merge is done.











                                                                page 15





NOTE ON SAFETY:
                - ONLY 8 BYTES of DOOM.WAD are modified
                  (but the PWAD file size increases about 32K...)
                - If all else fails, you can restore your IWAD by hand.
                - MYOWN.WAD is put INTACT into DOOM.WAD. It can then be
                  deleted since -restore recreates it. This is barely a
                  modification at all!
                - Only about 32k of additional disk space are needed.

How does it work?

             - Restoration information is added at the end of the IWAD.
             - Then the PWAD is pasted intact at the end of the IWAD. 
             - The IWAD directory is rebuilt (about 32K) and appended.
             - The pointer to the DOOM directory is modified (8 bytes). 

I did my best to make this command the safest possible. I have tested
this command thoroughly and believe it can be trusted. Be aware,
however, that the resulting IWAD might not work with DOOM if the
included PWAD does not respect some conventions about SPRITES and
FLATS. If this happens, the files are still safe, just -restore them.

The conventions a PWAD must follow are: 

        -There must be F_START or FF_START before the first flat.
        -There must be S_START or SS_START before the first sprite.

Sorry, but there is NO OTHER WAY if we want to be able to add new
sprites and flats that are unreferenced in DOOM.WAD.































                                                                page 16




CHAPTER 4
*************************** DeuSF Commands ****************************

A. SUMMARY:   

DeuSF is an improved replacement for DMADDS.  It adapts to all versions
of DOOM, requires a less perverted PWAD structure and appends to a PWAD
rather than generating a new PWAD (thereby saving space). DeuSF will
work with PWADs composed for DMADDS, and should work for ones composed
for DMADDF. Of course, the PREFERRED PWAD composer for DeuSF is DeuTex!

The code for DeuSF is 80% the same as that of DeuTex. The DeuSF -app
command is just a modified version of the amazing DeuTex -merge command
(the ONLY command that removes ALL PWAD limitations :->)

DeuSF need only be applied to PWADS that contain:

	-some sprites to replace those of DOOM.WAD.
	-some flats to replace those of DOOM.WAD.

DeuSF need NOT be used if:

	- the PWAD contains *all* the sprites of DOOM.WAD
	- the PWAD contains *all* the flats of DOOM.WAD
	- the PWAD contains sprites which are not referenced in 
	  DOOM.EXE. (a DeHacked patch is needed to have them work)

DeuSF can only be used on PWADs that respect a precise format:

 - Sprites are identified only if comprised between:

          S_START or SS_START    and    S_END or SS_END 

 -Flats (floor/ceilings) are identified only if they occur between:

          F_START or FF_START    and    F_END or FF_END  

If this format is NOT respected, DeuSF fails to identify entries
correctly. This is because in IWAD and PWAD entries there is nothing
internal to a Sprite or Flat that identifies it as such. This format is
generated by DeuTex automatically, and is compatible with DMADDS.

DeuSF is meant to be distributed with your PWAD, so it has no
restrictions on distribution (Unlike DeuTex, see License Section). This
lets you send DeuSF with your PWAD, along with a batch file like the
one in the following example. Your PWAD contains new sprites and flats,
but not all of them. Your batch file might read:

          DeuSF -app mywad.wad
          DOOM -file mywad.wad -warp x x
          DeuSF -res mywad.wad

The first command appends the necessary Sprites and Flats.
The second command plays the wad.
The last command restores everything to where it was.

This kind of PWAD should PREFERABLY be built with DeuTex.




                                                                page 17




An example of DeuSF usage on ALIENDOOM 1.0:

 DeuSF -doom c:\doom -sprite -add ALIENGFX.WAD ALINGRFX.WAD

 or, even better:

 DeuSF -doom c:\doom -sprite -app ALIENGFX.WAD

You *should* take the time to evaluate this tool even if you're not
convinced at all. Trust that this time won't be wasted.

 Note: version 1.0 of NewWadTool is not as powerful as DeuSF for
       inserting sprites and flats. This should improve in future
       versions, eventually achieving full compatibility between the
       two tools.


B. COMPLETE COMMAND REFERENCE:

 All optional commands must appear before non-optional ones or
 else they will be ignored.

Command Line Format:
DeuSF <optional cmd.>,...,<non-optional cmd.>,...,etc.


C. HELP COMMANDS

  -help     Lists these parameters.

  -format   Displays a summary of the format conventions a PWAD must
            follow so that DeuSF can recognize Sprites and Flats
            properly.

  -wadir <thatcool.wad>

            Scrolls the entries in the PWAD directory down the screen,
            along with what type DeuSF thinks each entry is (sprite,
            flat, graphic, etc.). For a PWAD with many entries, you may
            want to pipe this command (i.e. DeuSF -wadir | more) to
            ease readability. Used to check if DeuSF recognises all the
            entries correctly, for instance when there is a problem
            with -app or -add.


D. OPTIONAL COMMANDS


  -doom <doom directory>

            Use this command to indicate the directory containing the
            DOOM.WAD and DOOM.EXE you want to use. See the description
            in  the DeuTex command reference for default information.

            For example:      DeuSF -doom C:\GAMES\DOOM

  -sprite   Use with -add or -app, to add only sprites or only flats.
  -flat     Default for -add and -app is to add both.
 


                                                                page 18




E. MANDATORY COMMANDS (one of the following will always be used)

-add  <myown.wad> <allsf.wad>

            Will create a new file, ALLSF.WAD, containing all the
            sprites and flats of DOOM.WAD together with those contained
            in MYOWN.WAD.

-app  <myown.wad>

            Will append to MYOWN.WAD only those sprites of DOOM which
            are not redefined. This saves disk space, compared to -add
            command.

-res <myown.wad>

            Restores a PWAD which had been modified with -app command.
            Quite safe.











































                                                                page 19




CHAPTER 5

******************************* FORMATS *******************************

                      ----------------------------
A)                     The WAD Creation Directive
                              WADINFO.TXT
                      ----------------------------

The creation directive file is used by the DeuTex -make command to
compile a PWAD containing all of the desired enhancements. It is
automatically generated by the -xtract command and placed in the
working directory (e.g. MYWAD\). You can rename this file whatever you
like, and reference it when you use the -make or -merge commands.

The file lists most of the entries which will be present in the PWAD
file (with the exception of PATCHES and PNAMES, see note below). It
contains 6 sections: LEVELS LUMPS TEXTURES SOUNDS GRAPHICS FLATS.
They are in the same order as found in DOOM.WAD and DOOM2.WAD.
The sections MUST appear in this order. Those not in the right order
will be ignored without warning. All sections are optional, and may be
deleted provided the remaining sections are in the correct sequence.

NOTE: There is no PATCHES section. PATCH loading is automatic.
      No PNAMES entry is defined. PNAMES creation is automatic.
      TEXTURE1 and TEXTURE2 are reserved TEXTURE names. TEXTURE1 must
      be present if *any* texture is redefined. TEXTURE2 does not have
      to be present if no registered (DOOM1) texture is redefined. If
      it is, no harm done, but your PWAD will be about 8K larger.


************************ WADINFO.TXT *****************************
#
# Lines beginning with '#' are comments.
# An asterisk after an entry means set equal to preceding entry
#
# The LEVELS section define the DOOM1 levels and DOOM2 maps.
#
Begin: LEVELS
E1M2        #DeuTex will look for LEVELS\E1M2.WAD
MAP04       #DeuTex will look for LEVELS\MAP04.WAD
End: LEVELS
#
# E1M2.WAD must contain all the 11 entries that define a level.
# meaning the NODES, BLOCKMAP and REJECT must have been built.
# 
# if E1M2.WAD contains one level, it will be selected.
# if E1M2.WAD contains many levels, the one named 'E1M2' will be
# selected.
#
# The LUMPS section defines the lumps of raw data for DOOM.
#
Begin: LUMPS
ENDOOM                #DeuTex will look for LUMPS\ENDOOM.LMP
DEMO1                 #DeuTex will look for LUMPS\DEMO1.LMP
End: LUMPS
#
# See Directory Structure - LUMPS\ for a precise description of all
# these entries. Apart from the DEMO or possibly ENDOOM, there is no
# real need to mess with them. DEMOs can be recorded by DOOM.
#
                                                                page 20




# The TEXTURES section defines the new textures.
#
# 
Begin: TEXTURES #DeuTex will first load   MYWADIR\TEXTURES\TEXTURE1.TXT
MYWALLS         #DeuTex will look for     MYWADIR\TEXTURES\MYWALLS.TXT
                #DeuTex will now look for MYWADIR|TEXTURES\TEXTURE2.TXT
End: TEXTURES
#
# In the example above, if DeuTex does not find
# MYWADIR\TEXTURES\TEXTURE1.TXT, it is not loaded, the normal TEXTURE1
# textures from DOOM will not be present, and your PWAD will crash.
# Therefore, if you REDEFINE or CREATE ANY texture (from TEXTURE1 *OR*
# TEXTURE2), TEXTURE1.TXT (with the redefined entry removed) MUST be
# present. It must ALWAYS be loaded first. Must be a bug...
#
# TEXTURE2 is optional. Redefine it only if you need to modify one of
# the DOOM1 registered textures. DOOM2 does not contain a TEXTURE2
# entry. If it's here when it's not needed, it will be loaded. 
# This won't hurt your PWAD, except to make it 8K fatter. 
#
# The SOUNDS section defines MUSIC, PCSOUNDS and WAVE SOUNDS
#
Begin: SOUNDS
D_E2M3                  #DeuTex will look for SOUNDS\D_E2M3.MUS. It
                        #must be present or your wad will make DOOM
                        #stop and your computer lock up.
                        #this is the music of Episode2 Mission3
D_E3M4            *     #sets D_E3M4 music to be equal to D_E2M3
D_MAP01           *     #set  D_MAP01 music to be equal to D_E2M3
DSSLOP                  #DeuTex will look for SOUNDS\DSSLOP.WAV or .AU
                        #this is a WAVE sound, meant for sound cards.
DPSLOP                  #DeuTex will look for SOUNDS\DPSLOP.TXT
                        #this is a PC speaker sound.
End: SOUNDS
#
# MUS format can be obtained from MIDI with MIDI2MUS, or converted
# back to MIDI by MUS2MIDI (by just_joe). These are separate utilities.
# This is not a feature of DeuTex because I have no knowledge of MIDI.
#
# The WAV and AU format were hacked. DeuTex can't read compressed data.
#
# The format PC-speaker sound is a list of integers (range 1-255).
# Must represent the inverse of frequency or something. I dunno. 
#
#
# The GRAPHICS section defines all the fixed pictures.
# (Not sprites, patches, or flats)
#
Begin: GRAPHICS
WIMAP1                  #DeuTex will load GRAPHICS\WIMAP1.BMP     
STHURT1    23    45     #DeuTex will load GRAPHICS\STHURT1.BMP
                        #and set the insertion point to 23,45
STHURT2           *     #DeuTex will set STHURT2 equal to STHURT1
End: Graphics
#
# Fixed pictures include: opening screen, texts (!), menus,
# status bar, ending pictures ...
# You can only use names already defined in DOOM. Otherwise DOOM will
# ignore them. (you'll be warned :-)
#
#
                                                                page 21





# This section declares the SPRITES.
#
Begin: SPRITES
BOSSB1                  #DeuTex will load SPRITES\BOSSB1.BMP or .GIF
                        #and calculate insertion point by itself
BOSSA1        10  20    #DeuTex will load SPRITES\BOSSA1.BMP or .GIF
                        #and set the insertion point to 10,20
BOSSA2A8    *           #DeuTex will set BOSSA2A8 equal to BOSSA1
End: SPRITES
#
# If you redefine ALL sprites, use the -iwad option.
# Otherwise, you'll have to use DeuSF to rebuild a complete sprite PWAD
# each time the WAD is played. This is because of a limitation of DOOM
# which still has not been removed (ask ID software about it).
#
#
# Don't declare your patches. 
# A patch, say xxxx, will automatically be loaded into the PWAD from
# the file PATCHES\xxxx.BMP (or .GIF) if:
#
#  - 'xxxx' is referenced in one of the TEXTURE files, as a patch.
#  - 'xxxx' exists as a patch in the original DOOM, and the file 
#    PATCHES\xxxx.BMP (or .GIF) exists. (replacement of existing patch)
#
#
#
# The FLATS section declares the Floors and Ceilings
#
Begin: FLATS
GRASS             #DeuTex will load FLATS\GRASS.BMP (or .GIF)
HERBE       *     #DeuTex will set HERBE to be equal to GRASS 
End: FLATS
#
# You can define new Flat names, or redefine existing flats,
# but unless you redefine the complete list of FLATS, and use
# the -iwad option, you'll have to rebuild the complete FLAT
# list with DEUSF each time you want to use the PWAD. 
#
#
# WAD creation directives end here.
#



















                                                                page 22





                  -----------------------------------
B.                 The Texture Definitions Text File
                          TEXTURES\MYTEXT.TXT
                  -----------------------------------


Some Notes on TEXTURE definitions:

     - READ the DOOM SPECS by Matt Fell.
     - You can create textures for transparent walls (see DeuTex
       Commands -rgb), but make sure that they're composed of one patch
       only, or else you'll get the Medusa Effect.
     - Avoid using a texture of height less than 128 on a wall with a
       height greater than that of the texture (Tutti Frutti effect).
     - READ the DOOM SPECS by Matt Fell.
     - Texture widths should be rounded to the next power of 2.
       (8,16,64,128,256,512,1024 are usable)
     - The patches composing textures shall not be more than 320 wide.
     - DOOM will ignore heights above 128. 
     - READ the DOOM SPECS by Matt Fell.
     - You can create a non repeating sky texture:
       Define the SKY1 (or SKY2, or SKY3) entry as a 1024x128 area
       and place patches so as to cover it all. Note that the patches
       will appear horizontally inverted.
       0=east, 256=north, 512=west, 768=south.
     - Make sure all textures are completely covered by patches.
       Otherwise, DOOM will puke (void column error).
     - You can create animated walls with (almost) any sequence of
       pictures. No known limit in the number of frames (27 is OK!).
       The way to do this is:
                          Redefine one of DOOM's existing animated
                          walls(beginning and end), and add any extra
                          entries between them in the TEXTURE list.
     - READ the DOOM SPE.... Well, you get the picture >;-{]>


Once you have created a new PWAD, check it with the -check command.
DeuTex will complain if:

     - Any texture width is NOT a power of 2 (2,4,8,16,32,64,128,etc).
       (DOOM will round to the next lower power of 2)
     - Any texture height is greater than 128.
	 (DOOM ignore everything above 128)
     - Any texture is not completely covered by patches.
       (DOOM exit with a void column error)

A texture entry consists of:

(TEXTURE NAME)      (WIDTH) (HEIGHT)
(*)     (PATCH1)  (X offset)(Y offset)
(*)     (PATCH2)  (X offset)(Y offset)
(*)     (PATCH3)  (X offset)(Y offset)
 .          .          .         .
 .          .          .         .
 .          .          .         .
(*)     (PATCHn)  (X offset)(Y offset)




                                                                page 23




Texture Names are 8 characters or less.
Width and Height are in pixels.
An asterisk identifies the following word as a PNAME.
Patch Names are 8 characters or less.
X and Y offsets are pixel measurements.
Offsets are measured from upper-left corner (0,0).
X = positive. Offset patch to the right.
X = negative. Offset patch to the left.
Y = positive. Offset patch down.
Y = negative. Offset patch up.






The following figure is a feeble attempt to illustrate this:





 _______________________  
|                       | ^
| PATCH 1               | | 
| Both x and y          | Y  
| have negative         | |
| offsets.       _______|_v_______________________________________    
|               |       |              ^                          |   ^
|               |       |              |          TEXTURE         |   |
|               |       |              |                          |   |
|               |       |              Y                          |   |
|               |       |              |                          |   |
|_______________|_______|              |                          |   H
                |                    __v_______________________   |   E
 <----- X ----->|                   |                          |  |   I
                |                   |     PATCH 2:             |  |   G
                |                   |     Both x and y have    |  |   H
                |<------- X ------->|     positive offsets.    |  |   T
                |                   |                          |  |   |
                |                   |                          |  |   |
                |                   |                          |  |   |
                |                   |__________________________|  |   |
                |                                                 |   |
                |_________________________________________________|   v
                                                                      
                 <-------------------- WIDTH --------------------->



                TEXTURE DEFINITION SHOWING PATCH OFFSETS










                                                                page 24




                    Texture Definition File Example

***************************** MYTEXT.TXT ******************************
#
# Anything following a '#' is ignored (comment).
#
# An asterisk '*' at the beginning of a line indicates a PATCH.
#
#
Begin: TEXTURES
#
# ASHWALL is a texture 64 pixels wide, and 128 pixels high.
# It contains only one patch, W104_1, with no offset.
#
ASHWALL                 64    128
*     W104_1            0     0
#
# BIGDOOR7 is a texture of size 256x128 (X size, Y size)
# composed of two patches, W105_1 and W105_1
# respectively placed at offset -4,-4  and offset 124, -4 
#
BIGDOOR7                256   128
*     W105_1            -4    -4
*     W105_1            124   -4
#
# FLOWER is a new texture (didn't exist in DOOM.WAD).
# It is composed of an old patch.
#
FLOWER            32    128
*     TP5_1             0     0
#
# BLODGR2 redefines the old BLODGR2 texture to be composed of
# the new patch BIRDY
#
BLODGR2                 34    128
*     BIRDY             0     0
#
# new texture HADDOCK, composed of new and old ones 
#
HADDOCK                 64    128
*     FISH1             0     0
*     BIGFISH           23    44
*     TP5_1             0     0
#
# example of wall animation
#
# Start with the first entry of an existing animation (FIREBLU1)
# Insert additional entries as needed for your animation (ZZZ...)
# End with the closing entry of the existing animation (FIREBLU2)
# When FIREBLU1 is used in your PWAD, it will have your animation!
# Notice that the example uses sprites as PATCHES. DOOM don't
# know and DOOM don't care!
#
FIREBLU1                128   128     #First frame is a redefined
*     WALL62_1            0     0     #DOOM animated texture. These
*     BOSSA1             83    47     #are called in the DOOM.EXE.
*     GOR2A0             20   -70
#



                                                                page 25




#
ZZZA                    128   128     #Frame  2 inserted.
*     WALL62_1            0     0
*     BOSSB1             75    47
*     GOR2A0             20   -50
ZZZB                    128   128     #Frame  3 inserted.
*     WALL62_1            0     0
*     BOSSC1             71    47
*     GOR2A0             20   -35
ZZZC                    128   128     #Frame  4 inserted.
*     WALL62_1            0     0
*     BOSSD1             61    47
*     GOR2A0            20    -25
ZZZD                    128   128     #Frame  5 inserted.
*     WALL62_1            0     0
*     BOSSF1             47    47
*     GOR2A0             20   -20
ZZZE                    128   128     #Frame  6 inserted.
*     WALL62_1            0     0
*     BOSSE8             54    47
*     GOR2A0             20   -17
ZZZF                    128   128     #Frame  7 inserted.
*     WALL62_1            0     0
*     BOSSE7             68    47
*     GOR2A0             20   -16
ZZZG                    128   128     #Frame  8 inserted.
*     WALL62_1            0     0
*     BOSSE6             64    47
*     GOR2A0             20   -17
ZZZH                    128   128     #Frame  9 inserted.
*     WALL62_1            0     0
*     BOSSF5             60    47
*     GOR2A0             20   -20
ZZZI                    128   128     #Frame 10 inserted.
*     WALL62_1            0     0
*     BOSSF4             63    47
*     GOR2A0             20   -25
ZZZJ                    128   128     #Frame 11 inserted.
*     WALL62_1            0     0
*     BOSSD2D8           64    47
*     GOR2A0             20    35
ZZZK                    128   128     #Frame 12 inserted.
*     WALL62_1            0     0
*     BOSSB1             68    47
*     GOR2A0             20   -50
ZZZL                    128   128     #Frame 13 inserted.
*     WALL62_1            0     0
*     BOSSC1             70    47
*     GOR2A0             20   -70
FIREBLU2                128   128     #Fourteenth Frame is an
*     WALL62_1            0     0     #edited FIREBLU2, which is
*     BOSSB1             73    47     #the last frame of the
*     GOR2A0             20   -64     #DOOM animated texture.
#
# End of example
############################################
End: TEXTURES
#
#
# file ends here. bye!

                                                                page 26




CHAPTER 6
************************** WORKING WITH WADS **************************

INTRODUCTION

Read the DOOM SPECS:
Sorry. This is still unavoidable.

     NOTE: In the discussion that follows, remember to avoid the
           following common mistakes:

Hall of Mirrors with new textures:

   Care has been taken to ensure that DeuTex loads the old
   TEXTURE1 textures before adding new textures.
   However, it is still a good idea to:
         First, create your level.
         Then, build the nodes and reject.
         Then add the new textures.

   I don't do this myself, and it still works, but leonardc@halcyon.com
   has reported this error. It seems to be a problem with node
   builders, but I'm quite confused...

Tutti Frutti and Medusa Effect:

   See the DOOM specs, and the FORMATS chapter.

Doom reports a void column and exits:

   Use DeuTex -check on you PWAD before running DOOM. It will tell
   which textures still have void columns.
	
 Other bugs:

   Mail me a description of the bug, together with your
   configuration file. Don't expect a quick answer, though.

                        -----------------------
A.                      How to decompose a PWAD
                        -----------------------

First check that all the entries are identified correctly:

     DEUTEX -wadir NEWBIE.WAD     This will list the directory.

To extract all the entries:

     DEUTEX -xtract NEWBIE.WAD    The whole directory structure is
                                  extracted, and WADINFO.TXT is
                                  created.

To extract only a part of the directory; sounds, for instance:

DEUTEX -sound -xtract NEWBIE.WAD   Only the sound directory is created.

NOTE: Some PWAD creators declare PATCHES, FLATS and SPRITES outside of
      the normal boundaries. In that case, DeuTex may not identify them
      correctly, and they'll end up in another directory (under a wrong
      format).  I'm sorry about this, but there is *nothing* I can do.

                                                                page 27




Once you have decomposed a PWAD, you can rebuild it with:

DEUTEX -make WADINFO.TXT NEWBIE.WAD

WADINFO.TXT was automatically created in the first steps (cool, no?).

NOTE: DEUTEX puts a signature at the beginning of each PWAD created, to
	identify the DEUTEX version that was used.


                 --------------------------------------
B.               How to create a PWAD with new TEXTURES
                 --------------------------------------

First list the textures of DOOM:

DEUTEX -texture

Then look at .\TEXTURES\TEXTURE1.TXT and .\TEXTURES\TEXTURE2.TXT.

To create a new texture, declare it in .\TEXTURES\MYTEXT.TXT.
MYTEXT.TXT can be any name *except* TEXTURE1 or 2. See the chapter
on FORMATS for a more precise definition. If you want to redefine a
TEXTURE1 or TEXTURE2 entry, remove it from TEXTURE1.TXT or TEXTURE2.TXT
and put it in MYTEXT.TXT. If you don't redefine textures from
TEXTURE2.TXT, delete that file. For compatibility with DOOM2,
TEXTURE2.TXT should not exist.

Declare MYTEXT in the TEXTURES section of WADINFO.TXT:

DEUTEX -make WADINFO.TXT NEWBIE.WAD

Check your PWAD for texture errors:

DEUTEX -check NEWBIE.WAD

Note: TEXTURE1.TXT and TEXTURE2.TXT are auto-loaded if they exist,
      because DOOM prefers to have it's old textures listed first
      (I dunno why). DeuTex takes care of that. 

            -----------------------------------------------
C.          How to create a PWAD with new SPRITES and FLATS
            -----------------------------------------------

BEWARE: Sprite replacement is tricky. One false move and DOOM will lock
        up. Check your work often.

Put your sprite files in \SPRITES in .GIF or .BMP format.
Put your flat files in \FLATS in .GIF or .BMP format.
Declare your sprite NAMES in the SPRITES section of WADINFO.TXT.
Declare your flat NAMES in the FLATS section of WADINFO.TXT.
Use only the NAME in WADINFO.TXT, without the .GIF or .BMP extension.

If you want to replace *ALL* of the sprites and flats in DOOM (crazy):

DEUTEX -iwad -make WADINFO.TXT NEWBIE.WAD

NEWBIE.WAD will be directly usable by DOOM.



                                                                page 28




To replace *SOME* of the sprites and flats in DOOM (better):

DEUTEX -make WADINFO.TXT NEWBIE.WAD

This NEWBIE.WAD will be much smaller and easier to distribute.
BUT: This NEWBIE.WAD will cause DOOM to lock up when it starts!(bad)

    So, if you want to replace only *SOME* of the sprites and flats in
    DOOM, you have 3 choices:

DEUTEX -merge NEWBIE.WAD           Modifies DOOM.WAD.
                                  (Safe and fast)

DEUSF  -append NEWBIE.WAD          Modifies DOOM.WAD.
                                  (Safer, still fast, but wastes space)

DEUSF -add NEWBIE.WAD NEWBIE2.WAD  Creates NEWBIE2.WAD.
                                  (Safest, but more space wasted.)

NOTE: The steps above are performed at the end users' site
      (preferably from a batch file supplied with your PWAD). This
      means the user must have DeuSF, which can be distributed freely
      with your PWAD, or DeuTex, which has some restrictions. See the
      License Agreement at the end of this manual for the restrictions
      on distributing DeuTex.

If you are adding only sprites, use the -sprite command to avoid
inheriting the flats too:

DEUSF -sprite -app NEWBIE.WAD

Alternatively, use the -flat command to add only flats without
inheriting the sprites:

DEUSF -flats -add NEWBIE.WAD NEWBIE2.WAD

                  ----------------------------------
 D.               How to create PWAD with new SOUNDS
                  ----------------------------------

First put your sound files in the .\SOUNDS directory.
Then, declare the sound NAMES in the SOUNDS section of WADINFO.TXT.
See APPENDIX IV for a listing of the sound names recognized by DOOM.

DEUTEX -make WADINFO.TXT NEWBIE.WAD

Sound effects: [DSxxxxxx.WAV or DSxxxxxx.AU]

Must be in WAV or AUDIO format (SUN). Make sure the format is *not*
compressed and does *not* contain comments. My code is pretty basic,
because I never had the specs of those formats. Hacked!

PC speaker sounds: [DPxxxxxx.TXT]

Text files containing a list of numbers from 1-255.

Music: [D_xxxxxx.MUS]

Must be in MUS format. Convert MIDI files to MUS files by using
the enclosed MIDI2MUS.EXE (thanks to -dtt-> of ID software).

                                                                page 29




CHAPTER 7
*************** TEST-ME or What's inside TRINITY.WAD? *****************

                             -------------
A)                           About TEST-ME
                             -------------

    Do you want to have a quick overview of some of the capacities of
    DeuTex before deciding if it's worth the trouble?

    This file is for you:
    It will list the contents of TRINITY.WAD (with identifications).
    It will decompose and then recompose TRINITY.WAD.
    All this in only 3 trivial DeuTex commands.

Requirements:

-  You must have TRINITY.WAD, the great PWAD by Steve McCrea.
   (available on infant2.sphs.edu as TRINITY2.ZIP and in the
    Compuserve GAMERS FORUM LIB 8 as TRINTY.ZIP)
-  Doom must be in the \DOOM directory (\DOOM2 could work too)
-  TRINITY.WAD must be in the current directory.
-  You must have *some* room left on your disk :-)
-  You must be running DOS 5.0 or higher.
-  You must NOT reuse contents of TRINITY.WAD without crediting
   Steven McCrea.

Description of the file, DEMO.BAT:


                        ----------------------
B)                      Listing the directory
                        ----------------------

      rem    ***DeuTex***
      deutex  -doom \doom     -wadir TRINITY.WAD
              ^^^^^^^^^^^^    ^^^^^^^^^^^^^^^^^^
                  (a)                (b)

(a)---> This tells DeuTex that DOOM.WAD and DOOM.EXE are in the
        \DOOM directory. OPTIONAL.
(b)---> This tells DeuTex to list the directory of TRINITY.WAD
        reporting the entry types. Types *could* be wrong, but not
        with Trinity.

                        ------------------------
C)                      Decomposing TRINITY.WAD:
                        ------------------------

      rem    ***DeuTex***
      deutex  -doom \DOOM    -dir .    -xtract TRINITY.WAD
              ^^^^^^^^^^^    ^^^^^^    ^^^^^^^^^^^^^^^^^^^^^^
                  (a)         (b)               (c)

(a)---> The same as before.
(b)---> This tells DeuTex that it must store the result in the
        directory '.' (which is the current directory).  You could skip
        (b), since '.' is the default, or you could specify another
        directory, like -dir TEST.
(c)---> This tells DeuTex to search for entries in TRINITY.WAD.

                                                                page 30




                ----------------------------------------
D)              Recomposing TRINITY.WAD as TRINIDAD.WAD:
                ----------------------------------------

      rem    ***DeuTex****
      deutex  -doom \doom   -dir .   -make WADINFO.TXT TRINIDAD.WAD
              ^^^^^^^^^^^   ^^^^^^   ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^
                  (a)        (b)            (c)            (d)

(a)--->  The same as before.
(b)--->  The same as before.
(c)--->  This tells DeuTex to create a new PWAD, from the creation
         directives contained in WADINFO.TXT.
(d)--->  This is the name of the created PWAD.


                        ------------------------
 E)                     Customizing TRINITY.WAD:
                        ------------------------

    You can edit WADINFO.TXT, the format is pretty simple to guess.
   (see the FORMATS chapter for a precise definition of this format)

-  You can put anything you want on a line that begins with a  #,
   because # means 'comments'.
-  Don't touch any lines with Begin: or End: (they are delimiters).
-  The lines between Begin: and End: describe a section.

	Begin: SOUNDS
	D_E1M1
	End: SOUNDS

    This tells DeuTex to go into the SOUNDS subdirectory and get a file
    called D_E1M1.MUS, which is the music of TRINITY.WAD. You might
    wish to delete this D_E1M1 if your soundcard crashes while playing
    trinity.

    You can add your own music, for Episode 1 Mission 2 by editing:

	Begin: SOUNDS
	D_E1M1
	D_E1M2
	End: SOUNDS

    Of course, the file D_E1M2.MUS must exist... You can generate it
    from D_E1M2.MID (MIDI format) by using MIDI2MUS.



BEWARE: DeuTex is NOT fool proof yet. It should not crash your
        computer, but the generated PWAD may crash DOOM if you make
        mistakes. I'm very sorry for this, but I have more urgent
        optimizations to do than foolproofing. However, the PWAD
        generated here should not crash DOOM, if you use the real
        TRINITY.WAD as a basis.






                                                                page 31




CHAPTER 8
************************** VisualBasic Shell **************************

                 -------------------------------------
                              Vbdeutex.exe
                 This is the windows shell for DeuTex.
                        1.2 Alpha test version.
                 -------------------------------------


Enjoy & Criticize but don't Complain.
DeuTex 3.0 should contain a better version.
VbDeutex and deutex.pif must be in the same directory.
DeuTex.ini contains default info.

Edit DeuTex.pif to suit your needs.
DeuTex.pif calls deutex.exe and to work correctly:

-  It must exit once finished.
-  It must run in background.
-  It must not run full screen.

Note that deutex.pif will be minimized on startup.

VB DeuTex is provided as is with no manual! (I can't compile Windoze
Help, for lack of skill :-)) You'll have to guess it all or suffer a
terrible frustration.  I'm not gonna waste time on this. It should be
intuitive enough.

BEWARE: Behavior cannot entirely be predicted. Don't forget you are
        running MS-Windows, and thus keep an eye on the reset button.
        I don't feel at all responsible if everything goes wrong.  I
        wrote some code, but you can't expect a Microsoft product to
        execute it correctly.



                            WINDOZE SUCKS!
                    SOMEONE PUT BILL GATES IN DOOM! 






















                                                                page 32




CHAPTER 9
*************************** NECESSARY STUFF ***************************

                     ------------------------------
A.                   DeuTex/DeuSF License Agreement
                     ------------------------------

          DeuTex/DeuSF is copyright (c) Olivier Montanuy 1994.
          The GIF code was from a source (c) David Koblas.
          DeuTex code was originally derived from DEU5.21 
		 by Brendon Wyber and Raphael Quinet.
          DeuSF is inspired from DMADDS by Bernd Kreimeier

DeuTex/DeuSF is a Freeware set of tools.
DeuTex is Freeware but NOT public domain.
DeuSF can be freely distributed with PWADS as part of their install.
 
Here are the restrictions on the usage of DeuTex:

- You shall not use these tools to extract or insert copyrighted
  material in DOOM IWADs and PWADs. You are especially not allowed to
  use them to build any 'shareware' DOOM version.

- You are not allowed to modify or reverse engineer these tools.
  (sources will be available to you if I feel you can be trusted)

- You cannot distribute these tools commercially without my written
  consent. This includes all kind of non free distribution (shareware,
  charging for uploads, or selling it on any kind of media).

*Compuserve is allowed to distribute DeuTex/DeuSF without restrictions*

- Anything you build with this tool shall be free for everyone, unless
  you get written permission from me. 

- DeuTex must be distributed with all the files in this package,
  including DeuSF, the manual and this license. Only DeuSF can be
  distributed separately, for reasons mentioned above.

- I will accept no liability for any damage consecutive to the use of
  this program. Remember it is freeware. There is no evil intent
  anywhere in the source of this program but I can't guess what the
  compilers might have hacked out of it, or how your system will feel
  about it.
 
                              -----------
B.                            Legal Stuff
                              -----------

***********************************************************************
*  I have no relations with ID software (except as a registered user) *
*  They don't care about this program, and certainly never will!      *
*  I have good relations with Raphael Quinet and Brendon Wyber. I     *
*  also have good relations with Steve McCrea. They CANNOT be         *
*  expected to answer questions about this program.  They will get    *
*  poor if THEY receive questions about MY program.                   *
*                                                                     *
*       so please:                                                    *
*                  Direct all comments to me, don't bother them.      *
*                                                                     *
***********************************************************************
                                                                page 33




Why is DeuTex Copyrighted? It's so that I can make the following
requirement, which would be impossible with Public Domain status:

YOU ARE NOT ALLOWED TO MAKE ANY MODIFICATIONS TO THIS PROGRAM
OR TO THE INCLUDED FILES. ALL THE FILES INCLUDED IN THIS
PACKAGE SHALL BE RELEASED TOGETHER.

      If you want modifications, ask me, I'll do my best. 
      Later on I'll release the source, when stabilized.

USE AT YOUR OWN RISK. NO LIABILITY IS ACCEPTED.

      It runs under DOS, so behavior is unpredictable .
 
YOU ARE NOT ALLOWED TO MAKE ANY KIND OF PERSONAL PROFIT BY SELLING,
RENTING, LEASING, OR USING THIS PROGRAM, WITHOUT MY EXPLICIT WRITTEN
CONSENT.

      If you are interested in distributing it on a CD or any other
      media, contact me first. I should accept, provided:
                 - you keep the price low, for maximum availability.
                 - you send me a free copy.

SPECIAL EXCEPTION:

CompuServe is allowed to charge normal upload fees to distribute this
program, provided I receive (by e-mail) a monthly report of the total
number of said uploads.


* All right folks, it was a shame, but it had to be stated somewhere...






























                                                                page 34





                                 ------					  
C.                               THANKS
                                 ------


First, thanks to you for taking the time to evaluate DeuTex/DeuSF.
I know my program is not trivial to use, and might be tricky to
understand, but I really think it's worth the trouble.

DeuTex/DeuSF would not have existed without the help of these people:

     Steve McCrea                 Author of TRINITY.WAD and DOOMTEX.

     Raphael Quinet               Examples of GIF and DEU code.
    (quinet@montefiore.ulg.ac.be)

     Elias Papavassilopoulos      Doom technical information.
    (ep104@cus.cam.ac.uk)

     Matt Fell                    Doom specs version 1.3
    (matt.burnet@acebbs.com)

     Keith Wilkins                Creator of Wacker, a texture
    (spike@nectech.demon.co.uk)   composer. Try it!

     Tom Neff                     Doom technical information.
    (tneff)

     Bern Kreimeier               Original DMADDS/DMADDF idea.
    (bernd@nero.uni-bonn.de)

     Dewi Morgan                  Unashamed flattery that lead me to
    (D.Morgan@bradford.ac.uk)     create DeuSF from DeuTex code.

     ID software                  For the DEUTEX/DeuSF test bench, also
    (help@idsoftware.com)         known as 'DOOM'.



Special Thanx to:

     Per Allansson                DeuTex Linux version.
    (c91peral@und.ida.liu.se)
     Mark Mathews                 DeuTex OS/2 port.
    (mark.mathews@channel1.com)















                                                                page 35





                         --------------
                         THANKS (cont.)
                         --------------


Thanks to all of you who reported bugs and proposed correction
or generally supported my efforts:

   Leonard Czajka     leonardc@halcyon.halcyon.com
   Herve.Benvel       Herve.Benvel@inria.fr
   Paolo Hutchison    paolo@netcom.com
   M. Kernaghan       mkernagh@julian.uwo.ca
   Thierry Vermat     vermat@evol10.univ-lyon1.fr
   Jeremy Blackman    ranma@eskimo.com
   Jason Mezzaca      72510.3424@compuserve.com
   C. Gasparo         cgasparo@cymbal.aix.calpoly.edu



Finally: Thanks to Justin Fisher for letting me use DeuTex and DeuSF
         on a new install for Alien-TC (despite all the small mistakes
         I made).

Finally - part 2 (No really, this is it! Trust me!):

         Olivier told me to put myself in the thanks section,
         so, thanks to me:

Kevin McGrail, novice Manual Editor.    74107.1254@compuserve.com

Thanks for thanking me, Olivier, but this one made the thanks section
split into two pages. *I* figured it was too long already! <g>.
You sure are a grateful guy! Thank YOU for a great utility.





                               SHAMES
DeuSF would not have existed if there was not a stupid bug in the DOOM
code for loading FLATS and SPRITES, that locks up DOOM when you try to
replace existing entries.


















                                                                page 36




                        -------------------------
D.                      Where to get DeuTex/DeuSF
                        -------------------------

DeuTex/DeuSF are meant to be available by anonymous FTP on Internet
sites: the same as of that of DEU.

	 infant2.sphs.indiana.edu,ftp.luth.se,iglou.com,...
	 /pub/doom/deu
	 /pub/doom/wad_edit/misc      

DeuTex/DeuSF are available on Compuserve, by special request of
Dr. Sleep.
           GAMERS FORUM LIB 8 ACTION GAME AIDS [CIS:GAMERS]
           PC WORLD FORUM LIB 22 The DOOM ROOM [CIS:PWOFORUM]
           
DeuTex/DeuSF can be available on any free of charge BBS.

Though a freeware tool, DeuTex cannot be distributed by shareware
vendors without my written agreement.

DeuSF can be freely distributed, because it is meant to help
install some PWADs, and thus is not subject to any restrictions.

You might also want to try:

DOOMTEX by Steve McCrea
A list of tools to generate textures. It's not exactly user friendly,
but successfully used for TRINITY.WAD. For hackers only :-) I *do* hope
you'll find DeuTex a bit easier to use, but Steve was a pioneer in the area of texture editing!

WACKER by Keith Wilkins
A graphic texture editor. I could not test it, but it should be good.
It would be a good idea to use it in combination with DeuTex.

                             -----------
E.                           FINAL WORDS   
                              (AT LAST)
                             -----------
Thanx for using DeuTex.

I wasted long hours on it, so I could hope it will be of use.
Though in fact I just wanted to program *something that works*,
It's a kind of moral crisis that I had to atone in an orgy of
programmation. Such things happen when you spend too much time 
dealing with norms and specifications...
 
	Olivier Montanuy,

E-Mail:
	montanuy@lannion.cnet.fr      Work time mailbox
	montanuy@dmi.ens.fr           Leisure time mailbox
	montanuy@idsoftware.com       Dream time mailbox
Address:
	Manoir de Keringant, St Quay Perros, 22700 Perros Guirec, FRANCE
	This is in Bretagne (Brittany), the westernmost part of France.
Phone:
	+33 96482047 (time: UTC+1)
	modem: 1 bit of usable information per second (vocal emulation)

                                                                page 37




APPENDIX I

		 Here is a listing of the switch textures for DOOM.WAD

Begin: TEXTURES
#
SW1BRCOM                128   128
*     WALL62_1          0     0
*     SW1S0             48    72
SW1BRN1                 64    128
*     WALL02_2          0     56
*     WALL02_2          0     0
*     SW3S0             16    75
SW1BRN2                 64    128
*     WALL02_2          0     56
*     WALL02_2          0     0
*     SW4S0             20    79
SW1BRNGN                64    128
*     WALL62_2          0     0
*     SW4S0             20    80
SW1BROWN                128   128
*     WALL62_1          0     0
*     SW3S1             48    72
SW1COMM                 64    72
*     W13_1             0     0
*     SW1S0             15    18
SW1COMP                 64    128
*     COMP03_4          0     64
*     COMP04_5          0     0
*     COMP03_4          32    64
*     SW2S0             16    72
SW1DIRT                 64    128
*     WALL00_7          32    0
*     WALL00_6          16    0
*     SW1S0             16    20
*     WALL00_6          0     -16
*     WALL00_7          48    0
SW1EXIT                 32    72
*     W32_4             0     0
*     SW2S0             0     16
*     W33_8             0     64
SW1GRAY                 64    128
*     W31_1             0     0
*     W31_1             0     64
*     SW2S0             16    70
SW1GRAY1                64    128
*     W31_1             0     64
*     W31_1             0     0
*     SW4S0             19    79
SW1METAL                64    128
*     WALL03_7          0     0
*     WALL03_7          0     64
*     SW4S0             20    68
SW1PIPE                 128   128
*     TP2_2             0     0
*     SW3S0             48    76
SW1SLAD                 64    128
*     WLA128_1          0     0
*     WARNB0            24    73


                                                                page 38




SW1STARG                128   128
*     SW19_3            64    0
*     SW19_4            0     0
*     SW3S0             48    76
SW1STON1                64    128
*     W28_8             0     64
*     W28_8             0     0
*     SW1S0             16    78
SW1STON2                64    128
*     W28_5             0     0
*     W28_8             0     64
*     WARNB0            24    73
SW1STONE                64    128
*     WALL01_1          0     0
*     WALL01_2          16    0
*     WALL01_3          32    0
*     WALL01_4          48    0
*     WALL01_1          0     72
*     WALL01_2          16    72
*     WALL01_3          32    72
*     WALL01_4          48    72
*     W33_8             0     64
*     W33_8             0     120
*     SW1S0             16    72
SW1STRTN                64    128
*     SW12_4            0     0
*     SW12_5            32    0
*     SW1S0             16    72
SW2BRCOM                128   128
*     WALL62_1          0     0
*     SW1S1             48    72
SW2BRN1                 64    128
*     STEP07            32    72
*     STEP07            0     72
*     WALL02_2          0     56
*     WALL02_2          0     0
*     SW3S1             16    75
SW2BRN2                 64    128
*     WALL02_2          0     56
*     WALL02_2          0     0
*     SW4S1             20    79
SW2BRNGN                64    128
*     WALL62_2          0     0
*     SW4S1             20    80
SW2BROWN                128   128
*     WALL62_1          0     0
*     SW3S0             48    72
SW2COMM                 64    72
*     W13_1             0     0
*     SW1S1             15    18
SW2COMP                 64    128
*     COMP03_4          0     64
*     COMP04_5          0     0
*     COMP03_4          32    64
*     SW2S1             16    72
SW2DIRT                 64    128
*     WALL00_8          48    0
*     WALL00_7          32    0
*     WALL00_6          16    0
*     WALL00_5          0     -1
*     SW1S1             16    20
                                                                page 39




SW2EXIT                 32    72
*     W32_4             0     0
*     SW2S1             0     16
*     W33_8             0     64
SW2GRAY                 64    128
*     W31_1             0     0
*     W31_1             0     64
*     SW2S1             16    70
SW2GRAY1                64    128
*     W31_1             0     64
*     W31_1             0     0
*     SW4S1             19    79
SW2METAL                64    128
*     WALL03_7          0     0
*     WALL03_7          0     64
*     SW4S1             20    68
SW2PIPE                 128   128
*     TP2_2             0     0
*     SW3S1             48    76
SW2SLAD                 64    128
*     WLA128_1          0     0
*     WARNA0            24    73
SW2STARG                128   128
*     SW19_3            64    0
*     SW19_4            0     0
*     SW3S1             48    76
SW2STON1                64    128
*     W28_8             0     64
*     W28_8             0     0
*     SW1S1             16    78
SW2STON2                64    128
*     W28_8             0     64
*     WARNA0            24    73
*     W28_5             0     0
SW2STONE                64    128
*     WALL01_1          0     0
*     WALL01_2          16    0
*     WALL01_3          32    0
*     WALL01_4          48    0
*     WALL01_1          0     72
*     WALL01_2          16    72
*     WALL01_3          32    72
*     WALL01_4          48    72
*     W33_8             0     64
*     W33_8             0     120
*     SW1S1             16    72
SW2STRTN                64    128
*     SW12_4            0     0
*     SW12_5            32    0
*     SW1S1             16    72
#
SW1BLUE                 64    128
*     COMP03_1          0     0
*     COMP03_2          0     64
*     SW2_7             14    66
SW1CMT                  64    128
*     WALL54_1          -42   0
*     SW3S1             16    72
SW1GARG                 64    128
*     WALL47_2          0     0
*     WALL42_6          12    62
                                                                page 40




SW1GSTON                64    128
*     WALL48_2          0     0
*     SW2_7             13    67
SW1HOT                  64    128
*     WALL49_1          0     0
*     SW2_7             12    66
SW1LION                 64    128
*     WALL47_2          0     0
*     WALL42_5          11    62
SW1SATYR                64    128
*     WALL47_2          0     0
*     WALL42_1          12    62
SW1SKIN                 64    128
*     HELL6_3           0     0
*     SW2_5             0     59
SW1VINE                 64    128
*     WALL00_1          0     -16
*     W106_1            0     0
*     SW4S0             20    84
SW1WOOD                 64    128
*     WALL40_2          -64   0
*     SW2_7             14    66
SW2BLUE                 64    128
*     COMP03_1          0     0
*     COMP03_2          0     64
*     SW2_8             14    66
SW2CMT                  64    128
*     WALL54_1          -42   0
*     SW3S0             16    72
SW2GARG                 64    128
*     WALL47_2          0     0
*     WALL47_5          12    62
SW2GSTON                64    128
*     WALL48_2          0     0
*     SW2_8             13    67
SW2HOT                  64    128
*     WALL49_1          0     0
*     SW2_8             12    66
SW2LION                 64    128
*     WALL47_2          0     0
*     WALL47_4          11    62
SW2SATYR                64    128
*     WALL47_2          0     0
*     WALL47_3          12    62
SW2SKIN                 64    128
*     HELL6_3           0     0
*     SW2_6             0     59
SW2VINE                 64    128
*     WALL00_1          0     -16
*     W106_1            0     0
*     SW4S1             20    84
SW2WOOD                 64    128
*     WALL40_2          -64   0
*     SW2_8             14    66
#
End: TEXTURES
#
#The End



                                                                page 41




APPENDIX II

		  This is a listing of the animated walls in DOOM.WAD

Begin: TEXTURES
SLADRIP1                64    128
*     WALL57_2          0     0
SLADRIP2                64    128
*     WALL57_3          0     0
SLADRIP3                64    128
*     WALL57_4          0     0
SLADWALL                64    128
*     WLA128_1          0     0
# 
BLODGR1                 32    128
*     TP5_1             0     0
BLODGR2                 32    128
*     TP5_2             0     0
BLODGR3                 32    128
*     TP5_3             0     0
BLODGR4                 32    128
*     TP5_4             0     0
#
BLODRIP1                32    128
*     RP2_1             0     0
BLODRIP2                32    128
*     RP2_2             0     0
BLODRIP3                32    128
*     RP2_3             0     0
BLODRIP4                32    128
*     RP2_4             0     0
#  
FIREBLU1                128   128
*     W65B_1            0     0
FIREBLU2                128   128
*     W65B_2            0     0
#
FIRELAV2                128   128
*     W73A_2            0     0
FIRELAV3                128   128
*     W73B_1            0     0
FIRELAVA                128   128
*     W73A_1            0     0
#
FIREMAG1                128   128
*     W74A_1            0     0
FIREMAG2                128   128
*     W74A_2            0     0
FIREMAG3                128   128
*     W74B_1            0     0
#
FIREWALA                128   112
*     WALL23_1          0     0
FIREWALB                128   112
*     WALL23_2          0     0
FIREWALL                128   112
*     WALL22_1          0     0
#
GSTFONT1                64    128
*     WALL58_1          0     0

                                                                page 42




GSTFONT2                64    128
*     WALL58_2          0     0
GSTFONT3                64    128
*     WALL58_3          0     0
# 
ROCKRED1                128   128
*     WALL64_2          0     0
ROCKRED2                128   128
*     W64B_1            0     0
ROCKRED3                128   128
*     W64B_2            0     0
#
#  
End: TEXTURES

#
#The End












































                                                                page 43




APPENDIX III     Listing of Sound Names for DOOM I and II

*Ripped off from DMGRAPH by Bill Neisius*
Then corrected and expanded to include DOOM II sounds for this manual.
DeuTex uses sound names rather than the artificial sound numbers used
in DMGRAPH.

NOTE: An asterisk '*' means sound is used for multiple functions.

_____________________________________________

A)   SOUNDS FOUND IN BOTH DOOM I and DOOM II
_____________________________________________

     Weapons

DSPISTOL*    Pistol firing
DSSGCOCK*    Shotgun cocking
DSSHOTGN     Shotgun firing (followed by cock)
DSSAWUP      Chainsaw start
DSSAWIDL     Chainsaw idle
DSSAWFUL     Chainsaw with trigger pulled
DSSAWHIT     Chainsaw hitting monster
DSRLAUNC     Rocket Launcher firing
DSBAREXP*    Rocket exploding
DSFIRSHT     Fireballs shot or passing
DSFIRXPL*    Fireball hitting object
DSPUNCH      Player punching
DSPLASMA     Plasma Gun firing
DSFIRXPL*    Plasma Round hitting object
DSBFG        BFG9000 firing
DSRXPLOD     BFG9000 round exploding

     Objects

DSPSTART    Floor/Lift starting
DSPSTOP     Floor/Lift stops (Clunk)
DSSTNMOV    Stairs/ceilings moving
DSDOROPN    Mechanical Door opening
DSDORCLS    Mechanical Door closing
DSBDOPN     Fast Door Open
DSBDCLS     Fast Door Close
DSSWTCHN*   Switch 'thunk' sound
DSSWTCHX    Switch 'pop' sound
DSTELEPT    Player/Monster teleport
DSSLOP      GUTS/SLOP (What the name says)
DSITMBK     Item Return in MultiPlayer
DSBAREXP*   Barrel explosion

     Player

DSSKLDTH    Player Push on wall
DSNOWAY     Player blocked by wall
DSOOF       Player hitting ground
DSWPNUP     Weapon pickup
DSITEMUP    Item pickup
DSGETPOW    Power up sound (Soul Sphere, etc.)
DSPLPAIN    Player injured
DSPLDETH    Player dying scream
DSPDIEHI    Player higher dying scream

                                                                page 44




     Former Humans

DSPOSACT    Former Human nearby breathing
DSPOSIT1    Former Human sees Player
DSPOSIT2    Former Human sees Player
DSPOSIT3    Former Human sees Player
DSPOPAIN*   Former Human injured
DSPODTH1    Former Human Death Moan
DSPODTH2    Former Human Death Moan
DSPODTH3    Former Human Death Yell

     Imps

DSBGACT     Imps nearby oinking
DSBGSIT1    Imp sees Player
DSBGSIT2    Imp sees Player
DSCLAW*     Imp clawing Player
DSPOPAIN*   Imp injured
DSBGDTH1    Imp dying
DSBGDTH2    Imp dying

     Demons/Spectres

DSSGTSIT    Demon/Spectre sees Player
DSDMACT*    Demon/Spectre nearby
DSSGTATK    Demon/Spectre chomping Player
DSDMPAIN*   Demon/Spectre injured
DSSGTDTH    Demon/Spectre dying

     Cacodemons

DSCACSIT    Cacodemon sees player
DSDMACT*    Cacodemon nearby
DSDMPAIN*   Cacodemon injured
DSCACDTH    Cacodemon dying

     Barons of Hell

DSBRSSIT    Baron sees Player
DSDMACT*    Baron nearby
DSCLAW*     Baron clawing Player
DSDMPAIN*   Baron injured
DSBRSDTH    Baron dying

     Lost Souls

DSSKLATK    Lost Soul attacking
DSDMACT*    Lost Soul nearby
DSDMPAIN*   Lost Soul injured
DSFIRXPL*   Lost Soul dying

     Spider Demon

DSSPISIT    Spider Demon sees Player
DSMETAL     Spider Demon walking
DSSPIDTH    Spider Demon dying





                                                                page 45




     Cyber Demon

DSCYBSIT    Cyber Demon sees Player
DSHOOF      Cyber Demon walking
DSCYBDTH    Cyber Demon dying

     Miscellaneous

DSPISTOL*    Menu selections
DSPISTOL*    Kills, Items, Secrets & Time at end of level screen
DSSWTCHN*    Esc to main menu
DSBAREXP*    Level finished explosion at end of level screen
DSSGCOCK*    Proceed to next level at end of level screen
DSTINK      "TINK" To Chat in Modem Play



___________________________________

B)    SOUNDS FOUND ONLY in DOOM II
___________________________________


     Weapons

DSDBOPN     Open Super Shotgun
DSDBCLS     Close Super Shotgun
DSDBLOAD    Reload Super Shotgun
DSDSHTGN    Fire Super Shotgun

     Revenant

DSSKESIT    Revenant sees Player    
DSSKEACT    Revenant nearby
DSSKEATK    Revenant fires missile
DSSKESWG    Revenant swings at player
DSSKEPCH    Revenant punches player
DSSKEDTH    Revenant dying

     Mancubis

DSMANSIT    Mancubis sees Player
DSMANATK    Mancubis attacks
DSMNPAIN    Mancubis injured
DSMANDTH    Mancubis dying

     Pain Elemental

DSPESIT     Pain Elemental sees Player
DSPEPAIN    Pain Elemental injured
DSPEDTH     Pain Elemental dying

     Baby Spider

DSBSPSIT    Baby Spider sees Player
DSBSPWLK    Baby Spider walking
DSBSPACT    Baby Spider nearby
DSBSPDTH    Baby Spider dying



                                                                page 46




     Hell Knight

DSKNTSIT    Hell Knight sees Player
DSDMACT*    Hell Knight nearby
DSCLAW*     Hell Knight clawing Player
DSDMPAIN*   Hell Knight injured
DSKNTDTH    Hell Knight dying

     Arch-Vile

DSVILSIT    Arch Vile sees Player
DSVILACT    Arch Vile nearby
DSVILATK    Arch Vile attacks
DSFLAMST    Arch-Vile shoots Flame?
DSFLAME     Arch Vile's Flame arrives
DSVIPAIN    Arch Vile injured
DSVILDTH    Arch Vile dying

     Final Boss

DSBOSSIT    Final Boss sees Player
DSBOSPIT    Final Boss spits Cube
DSBOSCUB    Final Boss Cube lands and expands
DSBOSPN     Final Boss injured
DSBOSDTH    Final Boss dying

     Wolfenstein

DSSSSIT     Wolfenstein SS sees player. 'Schultstaffel'-'SS'
DSSSDTH     Wolfenstein SS dying. 'mein lieben' -'My Life!'
DSKEENPN    Commander Keen injured
DSKEENDT    Commander Keen dying

     Unknown

DSRADIO     Phone sound? Modem play?

























                                                                page 47




AFTERWORD

                      TRINITY.WAD: HOW I MADE IT.
                 For lost drunken men who no longer know
                 where they are, but DO care. (Cell #2)
                              Steve McCrea
                   <<FIRST DRAFT 8th September 1994>>

-----------------------------------------------------------------------

               This information is published with DeuTex
                   with permission from Steve McCrea

              This file is a bit obsolete. Get the last
                  version directly from Steve McCrea.


Examples are taken from DOOMTEX, which was used for TRINITY.WAD.
To convert doomtex format to DeuTex format, simply add a '*' and a
space before each PATCH name (not wall names). Here is an example:

--------
doomtex:
-------- 
DOORCRST 128 128
                door11_1 4 0
                door11_1 124 0
                door11_1 -116 0
                pcrest4 46 37

-------
DeuTex:
-------
DOORCRST 128 128
*               door11_1 4 0
*               door11_1 124 0
*               door11_1 -116 0
*               pcrest4 46 37

Case is not significant for DeuTex, but it was for doomtex.

-----------------------------------------------------------------------

I am writing this article in response to numerous inquiries about the
techniques used in the creation of Trinity, and in particular a direct
request from Ian Mapleson. It is in no way intended as a textbook
approach, and I accept no responsibility for any time wasted as a
result of following the procedures documented here. I may stray from
the subject matter from time to time, as I said to the producer last
week... Although titled "How I Made It", this may not be strictly true.
I leave it as an exercise to the reader to determine which bits have
been glossed over for clarity.









                                                                page 48




LEVEL DESIGN

As with all design, it is important to have the right tools and be
familiar with them. I restricted myself unnecessarily at this early
stage by only downloading DEU. I think this was a big mistake.  The
other editors out there may well have some great features I missed out
on totally. I know, for instance, that at least one of the others
supports auto stair construction. But since I didn't get the others, I
don't know what else is available to speed design.  My recommendation
for those starting out in WAD design is to get them all, find out which
does what best and then mix and match. You may find yourself using one
for most of the layout and then just switching quickly to another to do
some trick or other. Hopefully you won't get too confused!

Before I started on Trinity, I had designed a few mini-levels in DEU.
The first was just one room, then I did a couple of Wolfenstein levels,
and so on. This got all the big mistakes out of the way, such as
overlaying lines and vertices, splitting sectors wrongly, and losing
work because DEU crashed. Then I laid out the courts in Trinity from
memory, and ran about in Doom checking that the scale felt right.
Initially there was an area surrounding the college but I dropped it
because it was going to be boring, and the map was huge anyway.  I left
most walls the standard texture, and only added things like wood for
gates. Having satisfied the sense of scale, I put in most of the rooms
and passages, and added rough doors.

SCANNING PHOTOGRAPHS

About this time, I realized that it would be doing the college an
injustice to use the standard Doom textures. I decided to scan some
photographs of the college and put them in, so I borrowed Peter
Morgan's (thanks Pete) camera on a sunny day and wandered over to
Trinity. I tried to make the photographs I took clear from
obstruction, shadow free and square to the viewer, i.e., with as
little distortion as possible. I then scanned standard sized 6"x4"
prints at on average 150dpi with Bill Milne's (thanks Bill) color
scanner. I used Adobe PhotoShop on Bill's Mac to straighten the
images and crop off what I was sure I didn't need, but I DIDN'T
change the resolution or convert from 24 bit color and I DIDN'T
crop right up to the edges of what I wanted.

This was AFTER the test run on the Wren library, the southern upper
wall of the southwest courtyard (NOTE: Apologies to those who know
Trinity: yes, I have rotated the college 90 degrees!), when I scaled
the image to 64x256 and saved it as an 8 bit GIF. If you look
carefully at the texture in the level, you will see that it is now
128 wide, scaled from 64!  Yech. I wasn't going to make that mistake
again, although I couldn't be bothered to rescan the Wren library.

When I was pretty sure what size I wanted for graphics, I COPIED
the images, cropped, scaled, tinted, smoothed, converted to GIF, and
so on.  Some graphics didn't tile very well, and I either touched
them up to tile properly (e.g., stone) or mirrored one half (e.g.,
the windows on the outside of the dining hall).

There are three hand drawn graphics in Trinity: the sky, plaster, and
the burgundy wood paneling. Again I started with a 24 bit palette,
and used the pencil and airbrush tools before blending, motion
blurring, tinting etc. to produce the final image. Several edit
cycles were required to get something that I was (sort of) happy with
in Doom.
                                                                page 49



TALL WALLS

The standard Doom texture is a maximum of 128 pixels high, and on walls
higher than this the texture repeats vertically. Clearly I didn't want
this in Trinity, so I use a couple of tricks to avoid it. On walls with
void space behind (no sector behind) a sector is added with floor and
ceiling heights chosen to divide the wall into sections less than 128
high. (Notice that I say _less_ than 128 high. Initially you might
think, as I did, that 128 high would be perfect. However, if there is a
substantial color change from top to bottom of a texture then, as in
Trinity, glitches appear on the walls at the dividing lines due to
round off in the vertical texture mapping.)

    _____________
   /   added     \
  /    sector     \
---------------------
	tall wall
			  ----------------- top of wall
	    |           upper texture
	    |         ----------------- ceiling of added sector
	    +---->      normal texture
			  ----------------- floor of added sector
			    lower texture
			  ----------------- bottom of wall

Textures are applied as shown. The line between the sectors is marked
as 2S/Im/So in DEU, i.e., two sided, impassable, and blocks sound. The
blocks sound bit is to reduce the size of the REJECT data. See the
unofficial specs for details. The impassable bit is to prevent you or
monsters going into the sector (I had this problem with skulls
initially. It was disturbing to find skulls appearing from nowhere!).
The normal texture must be a single patch or the Medusa effect (looks
like snakes and you turn to stone) will occur.

In Doom, each texture is constructed from one or more graphics patches.
The texture definition contains no image data, just the size of the
texture, and a list of patches and their position in the texture. The
_patch_ definition contains the image data. For walls which already had
sectors behind them (e.g., above a doorway) non-repeating tall textures
are achieved by "stepping" the wall. A separate sector is required for
each step. In side view,

		------- ceiling
	     |
	     |<-- top texture
	     |
	    -
	   |
	   |<-- middle texture
	   |
---------

	doorway
------------------- floor

This is not as neat as the other method because the ceiling texture of
the sector between the top and middle textures will always be visible,
and must be chosen to minimize breaking up the look of the wall. It is
also harder to add because the sector should clearly be very thin (in
Trinity they are 2 units thick) and this is very fiddly work away from
the autogrid.
                                                                page 50



GRAPHICS ADDITION

Initially I just replaced patches in single patch textures. I hacked
around with DMGRAPH to make it convert a GIF directly to a patch.
Then I used a program I had previously written for sound lumps to
make a PWAD of patches with names the same as the names of patches in
single patch textures. These then replaced the same-named patches
when the PWAD is included using -file.

However a better solution was necessary as (a) I was running out of
single patch textures, and (b) I needed some user defined multipatch
textures. So I wrote a program to convert the texture definition
entries in the main Doom WAD to an ASCII format, and another which
recreated the binary definition entries from the ASCII format. The
big advantage of this method was that it allowed the creation of NEW
textures with sensible names like "stone" and "plaster". A typical
definition of a new texture "doorcrst", a 128x128 texture with
three old patches and one new:

DOORCRST 128 128
		    door11_1 4 0
		    door11_1 124 0
		    door11_1 -116 0
		    pcrest4 46 37

For textures to repeat properly when the length is greater than the
width of the texture, the width should be a power of two. For some
reason, the "aastinky" texture in Doom is 24 units wide. The last
eight columns of the graphic will never be seen (but they're not
very exciting anyway).

The first released version of Trinity had redefined switch textures,
so that when the switch was encountered later in the standard levels,
it looked really bad. In the second version I fixed this by setting
the switches into walls so that only the switch part of the texture
was visible. This is _highly_ recommended for levels which may be
grouped into PWAD episodes.


	   old switch texture
		   | 
		   v
	     x--------x <-- thin sector with 'metal' textures
  -----x---x--------x---x-----
	   ^            ^    wall
	   |            |
	   +------------+------ new switch surround














                                                                page 51




Actually it's just occurred to me that there is a neater, if more
memory hungry, way to do this seamlessly. Widen the switch texture
and put the new switch on the right of the old one, then when using
your new switch offset the texture by the appropriate amount. As
long as no other levels use a repeated switch on a wall, then this
is perfect. For example, say you wanted a new switch pair, you could
tack them on the right of the SW1BRN1 and SW2BRN1 switch pair. The
original definition of SW1BRN1 is
SW1BRN1 64 128
		    wall02_2 0 56
		    wall02_2 0 0
		    sw3s0 16 75
which you redefine to be
SW1BRN1 256 128
		    wall02_2 192 56
		    wall02_2 192 0
		    wall02_2 64 56
		    wall02_2 64 0
		    wall02_2 0 56
		    wall02_2 0 0
		    sw3s0 16 75
		    pplast 96 0
		    pplast 160 0
		    sw3s0 144 75

The old switch is still at offset 0. The new switch is at offset 128.
Note the repetition of the wall patch. This allows for roundoff error
in the texture mapping engine, which expects similar texture to be
just to the left and just to the right of the texture being drawn.
Don't forget to define the other switch position SW2BRN1 similarly!
This technique allows for a large number of different switch designs
to be used in a PWAD. Not that I'm condoning the use of a large
number of switches in PWADs - in fact, some of the best PWADs are
totally ruined by switches everywhere. (No Return01s, I mean names,
mentioned. Speaking of which, which I'm not of course, did you know
that there are two graphics added to Return to Phobos? Switches!
Both of them! Good grief, Michael! _Beautiful_ WAD, but...)

Note: remember to make the textures a power of two wide if you want to
allow for roundoff.

The programs I mention in this section are available as a zip
dmtex10c.zip at infant2. Alternatively you could try deutex by Olivier
Montanuy which is easier to use, and will be supported and updated.

















                                                                page 52




THE "ANIMATION"

If you haven't seen Trinity.WAD, I recommend you look at it before
reading this section as it contains a massive spoiler. However if you
haven't seen Trinity you probably aren't reading this document (?!?),
so...

Several people have asked how the cyberdemon movie is done. I have
even heard it described as "voodoo magic"! Nothing could be further
from the truth. It is actually very simple. To quote Matt Fell in
the unofficial Doom specs 1.3,

	 "It is possible to change the walls and floors that are
animated, like the green blocks with a sewer-like grate that's
spewing green slime (SLADRIPx). The game engine sets up as many as 8
animation cycles for walls based on the entries in the TEXTURE
resources, and up to 5 based on what's between F_START and F_END. The
entries in FirstTexture and LastTexture, below, and all the entries
between them (in the order that they occur in a TEXTURE list), are
linked. If one of them is called by a sidedef, that sidedef will
change texture to the next in the cycle about 5 times a second,
going back to First after Last. Note that the entries between First
and Last need not be the same in number as in the original, nor do
they have to follow the same naming pattern, though that would
probably be wise. E.g. one could set up ROCKRED1, ROCKREDA, ROCKREDB,
ROCKREDC, ROCKREDD, ROCKREDE, ROCKRED3 for a 7-frame animated wall!"

Hence the movie in Trinity is defined in the ASCII texture file as a
series of textures SLADRIP1, MOVIE01, MOVIE02, ..., MOVIE98,
SLADRIP3. The important thing is the order in which the textures
are listed. The Doom EXE contains the names of the FirstTextures
and LastTextures so it isn't possible to have additional animation
cycles in a PWAD.

And because the sprites and the Doom logo have the same format
as patches, they are just listed as if they were patches. For
example, a frame of the movie is defined

MOVIE08 256 128
		    pblak 0 0
		    pblak 64 0
		    pblak 128 0
		    pblak 192 0
		    t 67 40
		    r 86 40
		    i 106 40
		    n 124 40
		    i 144 40
		    t 162 40
		    y 181 40
		    m_doom 67 50
		    cybre7 -20 20
		    playf3f7 198 64

where "pblak" is a totally black patch, and t, r, i, n, and y are
the characters. Initially, the movie used the character set in the
game but this caused crashes (for a reason I won't go into now) so
after consulting ID, I included the character set again in the PWAD
with new names.


                                                                page 53




The technique described in the Graphics Addition section for adding
new switches can also be applied to new animated textures. Just
make the new animation length a multiple of the old length, and
put the old animation at the left of the textures. Don't forget to
satisfy the roundoff errors! You could squeeze twenty or more thin
animations into a large texture!

THE SKY

You may not have noticed, but the sky in the latest version of Trinity
doesn't repeat anywhere around the horizon. (Thanks to Olivier
Montanuy, author of DeuTex, for teaching me this trick.) This is done
by defining a sky texture (SKY1, SKY2, or SKY3 depending on the
episode) which is 1024x128 in size, and pasting patches into it so
that 0=East, 256=North, 512=West, and 768=South. Note that this means
that the textures are left/right mirrored! I can't think of any way
to make the sky texture animated. However you could fake twin skies
by only allowing the player to see half the sky during one part of a
level, and then later only allowing him to see the other half! A
crap example would be bright blue skies -> red skies+mushroom cloud.
It's probably a good idea to disorient the player in between with,
for example, a teleport, so he doesn't catch on to the trick too
quickly.

CONCLUSION

In this document I have outlined some techniques which can be used to
seemingly extend the Doom engine. The use of these inevitably slows
down Doom and so should be used sparingly, unless you _really_ need
(well, really _want_, anyway) the effect.

If you're about to start your first big WAD, collect together as many
tools as you can, and read all the documentation you can find,
particularly the Unofficial specs. Good luck!



























                                                                page 54
