home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-07-16 | 171.9 KB | 5,215 lines |
-
-
-
-
-
- ____________ __________________________
- \ \ \ / /
- | _______ \ \_______ ________/ /
- | |\_____\ \ \______\ / \______\/
- | | | | |\ | | /
- | | | | || __________ ____ ____ | | | __________ _____ ____
- | | | | || \ _____/ / \ / \ \ / \ | | | \ _____/ /| \ / \ / \
- | | | | || | |\___\/ | |/ | |/ | | | | |\___\/ \ \ \ / / /
- | | | _/ || | |_|____ | || | || | | | | |_|___ \ \ \/ / /
- | | |_/ __/ | | ____/ / | || | || | | | | ___/ / \/ \/
- | |/ __/ __/ | |\__\/ | || | || | | | | |\_\/ / /\ \
- \ / __/ | |_|_____ | \|__/ || | | | | |_|_____ / / |\ \
- \ / _/ /______/ / /_______/| /___| | /______/ / /__/ /\ \__\
- \ / / \______\/ \________/ \____\| \______\/ \__\/ \|__|
- \/ /
- \/ **********************************************/
- ------------------------------------->/
- *************************************************/
- ------------------------->/
- *****************************************************/
- ------------------------------------------->/
- *******************************************************/
- ------------------------------>/
- **********************************************************/
- ______________________________________________________________/
-
-
-
-
-
-
-
- DEUTEX/DEUSF 3.1
- December 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.
- -----------------------------------------------------------------------
-
-
- ***************************** DISCLAIMER *****************************
-
- I will not accept liability for damages resulting from the use of
- this program. DeuTex and DeuSF are programmed in a very secure way,
- to limit the risk of bugs. They have as few tricky optimisations as
- possible. DeuTex and DeuSF use only basic level commands, and don't
- contain any Logical bomb or other tricks. They should work on all
- platforms, but this can never be 100% certain. The source code is
- available on request (for serious people only).
-
- Legalese:
- Read the license information at the end of this manual.
- DeuTex/DeuSF are freeware and Copyright (c) O.Montanuy 1994.
-
- Distribution:
- DeuSF can be freely distributed.
- DeuTex cannot be distributed for *any* commercial purpose,
- with the sole exception of Compuserve download charges.
-
-
- ************************** CONVIVIALITY ******************************
-
- DeuTex and DeuSF have NO human interface.
-
- DeuTex is meant to be run from a batch creation file (e.g. make.bat).
- DeuSF should be run from a batch installation file (e.g. install.bat).
- A Human Interface would mean:
- - 300% additional development time.
- - Good knowledge of some graphic systems (Windows, X-Windows...).
- - 900% additional debug time (no joke).
- - A product that COULD NOT be freeware, or be written in MONTHS.
- - Portability between DOS,UNIX,OS/2 would be almost impossible.
-
- If you can't do without a human interface, there is a Visual Basic
- shell to help you run DeuTex under Windoze.
- It that's too slow for you, use New Wad Tool.
-
- ***********************************************************************
-
-
- + *NEW* - Lines begining with a '+' indicate information added since
- + the manual for DeuTex v2.9 came out. There are many other changes
- + and corrections without a '+', but a '+' is meant to show a signi-
- + ficant addition or improvement in DeuTex/DeuSF 3.0 or the manual.
- + DeuTex 3.0 is not entirely compatible with previous versions.
- + A few things were much too dirty...
-
-
-
- page i
-
-
-
-
- ************************** Table of Contents ***************************
-
-
- Data Utility License i
- Disclaimer i
- Conviviality i
- Table of Contents ii
- Features v
- What's New? vi
-
-
- ----------------------------
- *** [PART ONE] GETTING STARTED *** 1
- ----------------------------
-
-
-
- Chapter 1 OVERVIEW 1
-
-
- A) What is DeuTex? 2
- B) Installation 2
- C) Directories and DeuTex 4
- D) What do I need? 4
- E) What do I do? 4
- F) What is DeuSF for? 5
- G) What are the Palettes For? 5
-
-
- Chapter 2 TEST-ME or What's inside TRINITY.WAD? 7
-
-
- A) About Test-Me 7
- B) Listing the Directory 7
- C) Decomposing TRINITY.WAD 7
- D) Recomposing TRINITY.WAD as TRINIDAD.WAD 8
- E) Customizing TRINITY.WAD 8
-
-
- Chapter 3 WORKING WITH WADS 9
-
-
- INTRODUCTION 9
-
- A) How to Decompose a PWAD 9
- B) How to Create a PWAD with new TEXTURES 10
- C) How to Create a PWAD with new SPRITES and FLATS 11
-
- 1) Sprite and Flat Replacement 11
- 2) Changing the Number of Sprite Viewpoints 12
-
- D) How to Create a PWAD with new SOUNDS 14
-
-
- Chapter 4 VBDEUTEX 15
-
-
-
-
-
-
- page ii
-
-
-
-
- ********************** Table of Contents (cont) ************************
-
-
-
- -----------------------------
- *** [PART TWO] DETAILS, DETAILS *** 16
- -----------------------------
-
-
-
- Chapter 5 DIRECTORY STRUCTURE 16
-
-
- A) \Levels 17
- B) \Lumps 18
- C) \Textures 19
- D) \Sounds 20
- E \Graphics 20
- F) \Sprites 21
- G) \Flats 21
- H) \Patches 22
-
-
-
- Chapter 6 DEUTEX COMMANDS 23
-
-
- A) Complete Command Reference 23
- B) Help Commands 23
- C) Optional Commands 23
- D) Commands to Compose or Decompose WADS 25
- E) Commands for merging PWADS into the Main IWAD 26
-
-
-
- Chapter 7 DEUSF COMMANDS 28
-
-
- A) Overview 28
- B) Complete Command Reference 29
- C) Help Commands 29
- D) Optional Commands 30
- E) Mandatory Commands 30
-
-
-
- Chapter 8 FORMATS 31
-
-
- A) The WAD Creation Directive (WADINFO.TXT) 31
-
- 1) Overview 31
- 2) WADINFO.TXT format 32
- 3) An example WADINFO.TXT Listing 36
-
- B) The Texture Definition File (TEXTURE1.TXT) 39
-
- 1) Overview 39
- 2) An Example TEXTURE1.TXT Listing 41
-
-
- page iii
-
-
-
-
- ********************** Table of Contents (cont) ************************
-
-
-
-
- ---------------------------
- *** [PART THREE] ALL THE REST *** 43
- ---------------------------
-
-
-
-
- Chapter 9 NECESSARY STUFF 43
-
-
-
- A) License Agreement 43
- B) Legal Stuff 44
- C) Where to get DeuTex/DeuSF 45
- D) Version Information 46
- E) Known Problems 47
- F) Thanx 48
- G) Final Words 50
-
-
-
- APPENDICES
-
-
- I) Switch Textures in DOOM.WAD 51
- II) Animated Wall Textures in DOOM.WAD 56
- III) Sound Names for DOOM 58
-
- A) Sounds found in BOTH DOOM I and DOOM II 58
- B) Sounds found ONLY in DOOM II 60
- C) Converting DMAUD Sounds for DeuTex 62
-
- IV) DeuTex and DeuSF Command Summaries 64
-
- A) DeuTex Commands 64
- B) DeuSF Commands 65
-
-
-
- AFTERWORD
- TRINITY.WAD - How I Made It by Steve McCrea 66
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- page iv
-
-
-
-
- ****************************** FEATURES *******************************
-
- ------------
- DeuTex
- ------------
-
- DeuTex stands stands for DEU's Texture Companion, because it used to
- deal only with DOOM textures. Now it can do much more!
- 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:
-
- - Ported on all DOOM environement (DOS,OS/2,Linux,SGIx,Unix)
- - Reverse engineer existing PWADs.
- - Compose your own wall Textures, by reusing existing DOOM
- Patches or adding your own Patches as .BMP or .GIF files.
- - Load Sounds as .WAV, .AU or .VOC files.
- - Load PC Speaker Sounds as a serial of number (in text).
- - Load music entries as .MUS files. (from MIDItoMUS)
- - Add your own floors.
- - Add your own Sprites.
- - Simple WAD creation directives from a text file.
- - Simple directory structure for the resources.
- - Work in batch mode, like a compiler.
- - A Windows shell can be used to make your life easier.
- - Compatible with Level editors (like DEU).
- - Merge a PWAD into the main IWAD, recreating the WAD directory,
- so that ANY or ALL kinds of Sprites and/or 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.
-
- -------------
- DEUSF
- -------------
-
- DeuSF stands for DEU Sprite and Flats. It is mainly used to
- compensate a bug in DOOM Sprite and Flats handling.
-
- DeuSF was inspired by DMADDS by Bernd Kreimeier, but is more powerful
- and much cleaner. Like DMADDS, DeuSF compensates for a bug in DOOM
- concerning the treatment of external Sprite and Flat PWADS. It will
- enables you to distribute PWADS containing only the Sprites and/or Flats
- that you wish to replace. There are some caveats here, so read the
- manual! DeuSF can read DMADDS files, but its' preferred PWAD composer is
- of course DeuTex, since PWADS composed for DMADDS are very dirty inside.
-
- DEUSF Features:
-
- - Recreate a complete Sprite and/or Flat PWAD from a partial Sprite
- and/or Flat PWAD and the main WAD of DOOM.
-
- WARNING: The Sprite names VILE[, VILE\ and VILE] are not valid DOS file
- names, so DeuTex replaces them with VIL@A, VIL@B and VIL@C when
- extracting them to files. Use these names for your files, too.
-
- page v
-
-
-
-
-
-
-
-
- ***************************** WHAT'S NEW? *****************************
-
- + New in DeuTex 3.1
- + - Color Quantization, allowing PPM support.
- + - VOC Sounds (format is a bit hacked)
- + - New Visual Basic shell (still under progress.)
- + - Command -dmtexture replace -texture. -texture is now used
- + as a switch like -sprite, -flat, etc. (it's more logical)
- + - Section boundaries in PWAD composition files are now [SECTION]
- + (like Windows .ini files) and not Begin: SECTION End: SECTION.
- + - The order of sections in PWAD composition files is no longer
- + critical (it used to be real tricky).
- + - A new section [TEXTURE2] added for TEXTURE2 entries.
- + - Texture entries are now first read from DOOM.WAD. The
- + Texture file then indicates which Textures to create or
- + redefine. This eliminates all the TEXTURE1.TXT confusion
- + that existed in previous versions. Much easier!
- + - You can now keep your custom name for Levels, Sounds, Sprites
- + and Flats. For example, if you declare DSPISTOL= BOIING,
- + BOING.WAV will be read from the \SOUNDS directory and inserted
- + in the PWAD as DSPISTOL.
- + - A new command <-join> for DeuSF, that let's you combine
- + different Sprite and/or Flat PWADS into one PWAD.
- + it even merge TEXTUREs and PNAMES defined in the two Pwads
- + but still don't expect miracles.
-
-
-
- + SUPPORTED
- +
- +
- + DOOM registered 1.1 to 1.7a and above
- + DOOM2 1.6 to 1.7a and above
- + HERETIC shareware (temporary) 1.0
- +
- + NOT SUPPORTED
- +
- + DOOM shareware (by request of IDsoftware)
-
- + HERETIC shareware is supported only because I don't know what
- + HERETIC registered is like, and can't test my prog without it.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- page vi
-
-
-
-
- ----------------------------
- *** [PART ONE] GETTING STARTED ***
- ----------------------------
-
-
- CHAPTER 1
- ****************************** OVERVIEW *******************************
-
- DeuTex is a GREAT program!
-
- <editors note>
- (preceding claim inserted over the objections of Olivier Montanuy) ;-)
-
-
- *********************** A Note About This Manual ***********************
-
- There is a lot of redundancy in the manual. This is intentional. The
- manual is intended to be used as a reference. When you have a question
- on a particular aspect of DeuTex, look up a likely entry in the Table of
- Contents, and read that entry. It should have the information you need.
- This is to prevent you from having to jump around from page to page to
- figure out a procedure in DeuTex. This doesn't mean that sections are
- identical. Each section attacks a problem from a different viewpoint.
- If one section doesn't help you, maybe a different 'angle' will.
-
- ************************************************************************
-
- 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 DOOM1 or
- DOOM2 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.
-
- There are so many resources in DOOM that it isn't reasonable to put them
- all in one directory. DeuTex uses a subdirectory for each entry type.
- Using these subdirectories is easy once they're explained.
-
- Deutex makes it possible to use a simple, straightforward method for
- working with custom graphics (and sounds). The approach is as follows:
-
- 1) Put your resource files in subdirectories such as FLATS, SPRITES,
- etc., further discussed below.
-
- 2) Use a `Wadinfo' file called something like `goodies.txt' to tell
- Deutex how to assemble the resources into a PWAD.
-
- 3) Run `deutex -make goodies.txt goodies.wad' to make the PWAD.
-
- Now you can play your level with the resources, without any fuss
- (unless, of course, something has gone wrong along the way).
-
-
-
-
- page 1
-
-
-
-
- This method works for any resource. You can make sound-only wads that
- will play with any version of DOOM. You can include Level maps in a
- multi-level PWAD. DeuTex will put the Levels where you want them,
- regardless of the internal ExMy OR MAPxx of the Level. If the finished
- PWAD doesn't contain new Sprites or Flats, it can be played as is.
- Otherwise, it can be rendered playable with DeuSF, which can be freely
- distributed with your PWADS.
-
- The DeuTex Visual Basic shell let's you use the Windows environment to
- distribute those entries in the right directory, and then execute the
- -make command. It doesn't change the way DeuTex works, it only makes
- your life easier.
-
- ---------------
- 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, (use DEU, DoomCAD, WadEdit...)
- nodes builder, (use DEU, BSP, IDBSP,...)
- reject map builder (use RMB or REJECT)
- DOOM.EXE editor (use DEHACKED)
-
- Your Level map with nodes, reject and blockmap already calculated is
- just another resource to DeuTex. If you don't want to redefine or create
- Textures, Flats, Sounds, etc. in your PWAD, you don't need DeuTex.
-
- On the other hand, if you redefine LOTS of stuff,
- you'll wonder how you ever 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 a 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. PKUNZIP also exist for Unix.
-
- The file name is DTEX31.ZIP or something like it. This manual is valid
- for DeuTex versions 3.1 and above. Some information is not applicable to
- previous versions, and may cause you problems. Be forewarned!
-
- Installing DeuTex:
-
- DeuTex and DeuSF should be put somewhere in your path, e.g. under
- C:\DOS in DOS, ~/bin under Linux/Unix, etc. This is not ABSOLUTELY
- necessary, as you can put a copy in your working directory each time
- or specify path names in all the commands, but, believe me, it makes
- life much simpler.
-
-
- page 2
-
-
-
-
- You should enable DeuTex/DeuSF to locate your DOOM or DOOM2 files
- by creating an environmental variable DOOMWADDIR that points to
- your DOOM path like this:
-
- For DOS, put the line 'SET DOOMWADDIR=C:\GAMES\DOOM' in AUTOEXEC.BAT.
-
- For Linux/Unix, use 'setenv DOOMWADDIR ~/games/doom' in .tcshrc.
-
- This is more important for the Linux/Unix 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 you
- have too many variables defined in autoexec.bat (including path, etc).
- If this occurs, use DOS Help for the SHELL command to find out how to
- increase your environment space.
-
- Of course, DeuTex will only work if the REGISTERED
- version DOOM.WAD or DOOM2.WAD is available.
-
- Should you be in dire need of disk space, or should you wish to use
- DeuTex on a machine that can't run DOOM, you can use DeuTex to build a
- fake DOOM.WAD or DOOM2.WAD, keeping only the structure of the directory
- and the entries PLAYPAL, TEXTURE1, TEXTURE2 and PNAMES. Of course, to do
- this, you first need a complete registered DOOM.WAD or DOOM2.WAD, and
- even then it's a real pain. Beware to keep that file for yourself ONLY.
-
- The zip file for DeuTex 3.0 contains the following files. For
- illustration purposes, the diagram assumes you put DTEX30.ZIP
- in the root directory (C:\). Directory information is embedded
- in the zip file, so use the PKUNZIP -d option:
-
- PKUNZIP -d DTEX30.ZIP will produce:
-
- C:\dtex30.zip
- |_
- \DEUTEX\ deusf.exe - DeuSF program.
- | deutex.exe - DeuTex program.
- | deutex.pif - Windows pif file for VBDeuTex.
- | dtexman.txt - This manual.
- | file_id.diz - For BBS use.
- | midi2mus.exe - MIDI to .MUS converter.
- | readme.txt - Short descrition of DeuTex/DeuSF.
- | vbdeutex.exe - Visual Basic Shell for DeuTex.
- | vbdeutex.txt - Short description of VBDeuTex.
- |_
- | \PALETTE\ doompal.pal - DOOM, PaintShop Pro format.
- | doompal.ppm - DOOM, PPMQUANT format.
- | palette.txt - Short description of the palettes.
- | heretic.pal - HERETIC, PaintShop Pro format.
- |_
- \TEST-ME\ test-me.txt - Directions for the TRINITY example.
- trinity.bat - DOS batch file for TRINITY example.
- trinity.cmd - OS/2 file for TRINITY example.
-
- You may end up moving the palettes if you want them in their native
- application's directory, but leave DEUTEX\TEST-ME alone. When you do
- the demo, you'll want it to be in its own directory.
-
-
-
-
-
- page 3
-
-
-
-
- ----------------------
- C) DIRECTORIES AND DeuTex
- ----------------------
-
- Chapter 5 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!
-
- ---------------
- 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. I know it's boring, but
- this IS freeware, and I have limited time to support it. 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
- the 'unofficial' DOOM SPECS 1.6 by Matt Fell. You don't need to read the
- file formats, but you need to understand what the different entries are
- for, and the tricks and limitations of DOOM.
-
-
- page 4
-
-
-
-
- DeuTex makes some checks on your PWAD, but I don't have time to program
- for all possible errors. 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. For editing, use the best
- Sound or Graphic editor you can afford.
-
- 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 (3 to 5 megs), and
- it's illegal to take iD's Sprites or Flats from DOOM, put them in
- your PWAD, and then distribute them.
-
- DeuSF allows you to replace as few Sprites and Flats as you desire,
- and distribute ONLY THOSE 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!
-
- Another advantage of DeuSF is that it makes Sprite PWADs playable with
- either DOOM or DOOM2 using the same install.bat file. Isn't that great?
-
-
-
-
- --------------------------
- G) WHAT ARE THE PALETTES FOR?
- --------------------------
-
-
- doompal.pal (JASC palette, for Paintshop PRO shareware program)
- doompal.ppm (Portable Pix Map, for PBMPLUS freeware package)
-
- 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 will most likely 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
- can quantize colors, but it's not optimised for that, so quantization
- might be slow and quite poor.
-
-
-
-
-
-
-
- page 5
-
-
-
-
- What should you do before inserting a picture with DeuTex?
-
- * AVOID regular patterns, like squares/stripes. These patterns are prone
- to create ugly aliasing when scaled by DOOM.
- * SMOOTH it! I mean, apply a low pass filter so that it appears blurred.
- This will also hide some of the aliasing effects of scaling.
- * QUANTIZE your colors with one of the supplied DOOM palettes. DeuTex is
- optimised for the original DOOM palette. If you use another palette,
- it will be slower. DeuTex will quantize your colors to the DOOM colors
- using a strange alchemy. No dithering.
- * TRANSPARENT areas should be made of A UNIQUE COLOR, preferably CYAN
- (r=0,g=255,b=255, but you can specify another color to DeuTex.)
-
- WARNING: Some lame programs don't support full 0-255 range. CYAN could
- be r=0, g=252, b=252. Experiment first.
-
- The enclosed 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:
-
- - Load the file you want to convert.
- - Select *Colors* from the menu bar.
- - Select *Load Palette* from the drop-down menu.
- - Browse to find doompal.pal and select it.
- - In the 'apply palette to image using' box, select *error diffusion*.
- - Select *OK*.
-
- PaintShop Pro will then quantize your image to the DOOM palette.
-
- - Select *File* from the menu bar.
- - Select *Save As* from the drop-down menu.
- - Select *BMP - OS/2 or Windows Bitmap* from 'List files of type'.
- - Select *Windows RGB Encoded* from 'File Sub-format'.
- - Select *OK*.
-
- DOOM will now display your Graphic pretty much as you expect.
-
- If you want to make a .PBM (portable bitmap), use ppmquant on your
- picture, with doompal.ppm as the reference for colors.
-
- + Alternatively, if you extract a DOOM Graphic with DeuTex, it will
- + contain the DOOM palette. You can then feed it to your favorite
- + program, and let it extract the palette for later reuse.
- +
- + WARNING:
- + Experiment with this first, as your program might not do what you
- + expect it to. For example ZSoft's PC Paintbrush will load the DOOM
- + Graphic correctly and allow you to save the palette. However, if you
- + take a 24 bit image and load the palette, nothing will happen. You can
- + let PC Paintbrush convert the image to 256 colors (which it will do
- + poorly), and then apply the palette. The results will be grotesque,
- + because it doesn't quantize when applying a palette. A DOOM palette
- + saved in this program would be useful only for Graphics you want to
- + hand-draw from scratch. The moral is, if you don't know what you're
- + doing, experiment first before using a Graphic you don't want to lose.
-
-
- page 6
-
-
-
-
- CHAPTER 2
- *************** TEST-ME or What's inside TRINITY.WAD? *****************
-
- -------------
- A) About TEST-ME
- -------------
-
- TRINITY.BAT let's you have a quick overview of some of the cap-
- abilities of DeuTex so you can decide if it's worth the trouble.
-
- TRINITY.BAT does the following:
-
- It lists the contents of TRINITY.WAD (with identifications).
- It decomposes TRINITY.WAD and builds TRINIDAD.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 any part TRINITY.WAD without crediting Steve.
-
- Description of the file, TRINITY.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 '.' (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 extract all entries from TRINITY.WAD.
-
-
-
- page 7
-
-
-
-
- ----------------------------------------
- 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 Chapter 8 - FORMATS for a precise definition.)
-
- - A line that begins with a ';' or '#' is a comment. DeuTex ignores it.
- - Don't touch any lines with [xxxx] (they are section delimiters).
-
- Lets look at the [SOUNDS] section:
-
- [SOUNDS]
- D_E1M1
-
- 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:
-
- [SOUNDS]
- D_E1M1
- D_E1M2
-
- 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 8
-
-
-
-
- CHAPTER 3
- ************************** WORKING WITH WADS **************************
-
- ------------
- A) INTRODUCTION
- ------------
-
- Read the DOOM SPECS:
- Sorry. This is still unavoidable, because of the various tricks and
- limits of DOOM. If you have a problem, there is a VERY GOOD chance
- it's referred to somewhere in Matt Fell's SPECS.
-
- NOTE: In the following discussion, avoid these common mistakes:
-
- Hall of Mirrors with new Textures:
-
- First, create your Level.
- Then, build the nodes and reject.
- Then add the new Textures.
-
- Why? We don't know. leonardc@halcyon.com reported he saw a hall of
- mirrors with old versions of DeuTex that didn't first load the old DOOM
- Textures. It seems to be a problem with the node builders.
-
- Tutti Frutti and Medusa Effect:
-
- See the DOOM specs, and Chapter 8 - FORMATS.
- If DOOM attempts to display part of a Texture not covered by a Patch,
- you'll see some ugly garbage (usually has pinks and greens, thus 'Tutti
- Frutti'). The same thing happens if you use more than one Patch on a
- Texture with transparent areas, or walls with see-thru portions on upper
- or lower Textures. If the area is big enough, it will slow the display
- to a crawl ('Medusa Effect' - Looks like snakes and turns you to stone).
-
- Doom reports a void column and exits:
-
- One of your Textures has a column with no Patches. Use DeuTex -check on
- a PWAD before running DOOM. It reports Textures that have void columns.
-
- Other bugs:
-
- Mail me a description of the bug, together with any configuration
- files. Don't expect a quick answer, though.
-
- -----------------------
- B) How to decompose a PWAD
- -----------------------
-
- First check that all the entries are identified correctly:
-
- DEUTEX -wadir NEWBIE.WAD This will list the directory.
-
- Then try:
-
- DEUTEX -unused NEWBIE.WAD This will tell you if there is any wasted
- data in the PWAD. It's always funny to see
- how DMGRAPH and DMAUD waste *some* data.
- This won't tell you about any data wasted
- by incorrect entry formats, though.
-
-
- page 9
-
-
-
-
- To extract all the entries:
-
- DEUTEX -xtract NEWBIE.WAD The whole directory structure is extracted
- to subdirectories. WADINFO.TXT is created
- in the working directory. TEXTURE1.TXT is
- created in the \TEXTURES subdirectory.
-
-
- To extract only a part of the directory; Sounds, for instance:
-
- DEUTEX -sound -xtract NEWBIE.WAD Only the Sounds are extracted and
- placed in the \SOUNDS subdirectory,
- which is created if it doesn't exist.
-
- NOTE: Some PWAD creators declare Patches, Flats and Sprites outside of
- the normal boundaries. In that case, DeuTex may not identify them
- correctly. They'll end up in either the \LUMPS subdirectory in raw
- (.LMP) format, or the \GRAPHICS subdirectory (.BMP). Care has been
- taken to handle the most common situations, and this almost never
- happens in fact, but there is no general solution. You may have to
- check that all entries have been properly identified.
-
- Once you have decomposed a PWAD, you can rebuild it with:
-
- DEUTEX -make WADINFO.TXT NEWBIE.WAD
-
- WADINFO.TXT already exists, because it was automatically created during
- the extraction of NEWBIE.WAD (cool, no?). Make sure you delete or move
- the previous version of NEWBIE.WAD before you remake it, because DeuTex
- will not overwrite your files (you might not like it :-]).
-
- NOTE: DEUTEX puts a signature in the first few bytes of a created PWAD,
- to identify which version of DEUTEX was used.
-
- --------------------------------------
- C) How to create a PWAD with new Textures
- --------------------------------------
-
- + First list DOOM's Textures, as a reference:
- +
- + DEUTEX -dmtexture
- +
- + This will extract all the Textures from the main IWAD. They will be
- + written to OLDTEX1.TXT (and OLDTEX2.TXT for DOOM1 only). These text
- + files will be placed in the subdirectory \TEXTURES, which will be
- + created if it doesn't exist. These files make it easy for you to
- + redefine existing Textures by cutting them out and pasting them into
- + YOUR Texture definition file. For DeuTex 3.1 and above, they serve no
- + other purpose. You can delete what's left of them when you're
- + finished.
- +
- + To create a new Texture, define it in a Texture file you create (e.g.
- + TEXTURE1.TXT). TEXTUR1.TXT can have any name but TEXTURE1.TXT is
- + prefered. You can use as many Texture files as you like, as long
- + as they're declared in WADINFO.TXT. Place your file(s) in the
- + \TEXTURES subdirectory. To redefine an existing Texture, just cut the
- + desired Texture out of OLDTEX1.TXT or OLDTEX2.TXT (DOOM1 only).
- + Paste them into TEXTURE1.TXT. Then edit them as you please. You can
- + delete OLDTEX1.TXT and OLDTEX2.TXT when you're finished.
- +
-
- page 10
-
-
-
-
- + NOTE: For DOOM1 only, use one file for redefined Textures from
- + OLDTEX1.TXT, and another file for redefined Textures from
- + OLDTEX2.TXT. In DeuTex v3.1, WADINFO.TXT uses a second Tex-
- + ture section called [TEXTURE2] for redefined OLDTEX2 files.
- +
- +
- + DeuTex 3.1 doesn't care if OLDTEX1.TXT or OLDTEX2.TXT exist.
- + DeuTex 2.x used to require that all the old textures be present,
- + but now DeuTex 3.1 first read the internal DOOM texture definitions,
- + then reads the file you tell it to read, for new definitions.
- + If you mistakenly define the same Texture in multiple files,
- + only the last declared version will be used. Of course, that means
- + that if you redefine a DOOM texture your version will be used.
- +
- Declare TEXTURE1 in the [TEXTURE1] section of WADINFO.TXT.
- Then build your PWAD:
-
- DEUTEX -make WADINFO.TXT NEWBIE.WAD
-
- At this point, it would be a good idea to
- check your new PWAD for Texture errors:
-
- DEUTEX -check NEWBIE.WAD
-
-
- -----------------------------------------------
- D) How to create a PWAD with new Sprites and Flats
- -----------------------------------------------
-
- ******** 1) Sprite and Flat REPLACEMENT
-
- BEWARE: Sprite replacement is tricky. If some needed sprites are
- missing 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.
- +
- + NEW! in DeuTex 3.1:
- + The '=' label lets your Sprites keep the names YOU have given
- + them. It tells WADINFO.TXT what DOOM Sprite you mean to replace.
- + This enables you to name your sprite files as you damn wish.
- +
-
- 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.
-
-
- Remember: replacing only part of the Sprites and Flats mean you'll
- need DeuSF to install your PWAD, but it will be compatible with ALL
- versions of DOOM and DOOM2. Redefining all the Sprites is not a good
- idea unless you really mean it.
-
-
-
-
- page 11
-
-
-
-
- To replace *SOME* of the Sprites and/or 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 or DOOM2.WAD.
- (Safe, fast, and small)
-
- DEUSF -append NEWBIE.WAD Modifies NEWBIE.WAD.
- (Safer, still fast, wastes some space)
-
- DEUSF -add NEWBIE.WAD NEWBIE2.WAD Creates NEWBIE2.WAD.
- (Safest, not slow, more space wasted)
- +
- + NEW! To merge two PWADS that both redefine Sprites and/or Flats:
- +
- + DEUSF -join FIRST.WAD SECOND.WAD (FIRST.WAD now contains both wads)
-
-
- 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 on distribution. See the
- License Agreement at the end of this manual for the restrictions
- on distributing DeuTex.
-
- The -sprite command is used to add only Sprites, ignoring the Flats:
-
- DEUSF -sprite -app NEWBIE.WAD
-
- The -flat command is used to add only Flats, without the Sprites:
-
- DEUSF -flat -add NEWBIE.WAD NEWBIE2.WAD
-
-
- + ******** 2) HOW to ADD or REMOVE SPRITE VIEWPOINTS
- +
- + DeuTex allows you to alter the number of viewpoints a Sprite displays
- + in your PWAD. DOOM.EXE predetermines the 'behavior' of a given sprite
- + name, but it doesn't predetermine the number of viewpoints. A sprite
- + MUST, however, always have either ONE viewpoint or EIGHT viewpoints.
- + Viewpoints are numbered as follows:
- +
- + Front
- +
- + 1
- + 2 | 8
- + \____|____/
- + | |
- + 3 -- | SPRITE | -- 7
- + |_________|
- + / | \
- + 4 | 6
- + 5
-
-
- page 12
-
-
-
-
- + The FULL NAME of the Sprite determines the viewpoint of that Sprite:
- +
- + BAR1A2.bmp
- + \ /| \________________
- + \/ | \
- + ________________/ | The last number is the viewpoint. A
- + / | zero here means the Sprite has only
- + The first four letters are the | one viewpoint. If not zero, there
- + Sprite Name as recognized by | MUST be 8 files for each 'frame' of
- + DOOM.EXE. They are the same for | the Sprite.
- + all entries of a given Sprite. |
- + |
- + This is the 'frame' number of the Sprite. Animated
- + Sprites will have consecutive letters here for each
- + frame (A is frame one, B is frame two, etc.). DOOM.EXE
- + predetermines how many frames a Sprite uses, so you can
- + not animate an electrical column, for instance.
- +
- + Sometimes, you will see a Sprite entry that has 2 viewpoints in one
- + Sprite, like BOSSA2A8. This means that the same Graphic is used for
- + viewpoints A2 and A8 (front-left and front-right). When DOOM sees
- + this, it uses the Graphic as is for A2, and mirrors it for A8.
- +
- + In the above example BAR1 is the Barrel Sprite. DOOM does a 2 frame
- + animation on barrels (the slime flickers), so the whole entry is:
- +
- + BAR1A0
- + BAR1B0
- +
- + This disregards the explosion (BEXP) Sprite
- + that is used when you shoot a Barrel.
- +
- + If you want to change the Barrel Sprite to an 8 viewpoint
- + Sprite, you will need to create 16 Graphics:
- +
- + BAR1A1
- + BAR1B1
- + BAR1A2
- + BAR1B2
- + BAR1A3
- + BAR1B3
- + BAR1A4
- + BAR1B4
- + BAR1A5
- + BAR1B5
- + BAR1A6
- + BAR1B6
- + BAR1A7
- + BAR1B7
- + BAR1A8
- + BAR1B8
- +
- + This gives you 8 viewpoints for EACH frame of the animation. If you
- + only replaced BAR1A1 thru 8, you would see your new Graphic flash to a
- + barrel a couple of times a second, because you didn't replace the 2nd
- + frame. If you add a 3rd frame (BAR1C1 etc.), it will be ignored by
- + DOOM because DOOM.EXE already knows a barrel has only 2 frames.
-
-
-
-
- page 13
-
-
-
-
- + Alternatively, you could take an Imp and give it only 1 viewpoint by
- + taking only one of the views for each animation frame and naming it
- + TROOA0.bmp (with the correct letter for the frame you're using). The
- + Sprite will look kind of funny moving around, since it will only face
- + one direction the whole time.
-
-
-
-
- ----------------------------------
- E) 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.
- Then build your PWAD:
-
- DEUTEX -make WADINFO.TXT NEWBIE.WAD
-
- Easy enough?
-
- 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. All is 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).
-
-
-
- + NEW! in DeuTex 3.1:
- + The '=' label lets your Sounds keep the names YOU have
- + given them. It tells WADINFO.TXT what DOOM Sound you
- + mean to replace. This will make your life easier.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- page 14
-
-
-
-
- CHAPTER 4
- ************************** Visual Basic Shell **************************
-
- -------------------------------------
- Vbdeutex.exe
- This is the windows shell for DeuTex.
- 1.3 Alpha test version.
- -------------------------------------
-
- This is an attempt to provide a cool interface for DeuTex.
- However, Visual Basic is slow, and Windows is very difficult to program
- (not really complex, but real bug ridden) so don't expect miracles.
-
- A file vbdeutex.ini contains parameter for VbDeuTex. This file will
- appear in your windows directory. It defines which level editor, node
- builder, reject builder, Bitmap editor, Text editor you want to use.
- You need VBRUN300.DLL in your windows/system directory, of course.
- All external programs, and deutex among them, shall have a .pif file
- defined. deutex.pif shall call your own version of deutex, exit once
- finished, run in background, as a minimised windows.
-
- Due to a problem with MS windows programming, I'm unable to create a
- WAD entry browser. To understand why a FAR pointer points at random
- places in memory is beyond my intellectual capacities.
- So Texture composition is a real pain: you must first extract all
- the patches in DOOM together with the OLDTEX1 and OLDTEX2 entries
- (Use command buttons "old textures" and "old patches")
-
- There is no manual to VbDeuTex. No time to write one, as the product is
- constantly under change. You shall be clever enough to guess what it does.
-
- The main window is the only one that calls deutex.
- The other windows are edition windows, and call external utilities.
- All you can do with VbDeuTex, you can do with DeuTex, only the presentation
- is a little better.
-
- When extracting and composing PWADs, you can select which entry types are
- concerned by using the check boxes in front of each entry type.
- For instance, to extract only levels, check the "levels" check box, and
- don't check the others.
-
- As a security, you can affect the DOOM and DeuTex DATA directories only
- if the corresponding locks are unckecked (and then, the corresponding
- directory becomes red, as a warning).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- page 15
-
-
-
-
- -----------------------------
- *** [PART TWO] DETAILS, DETAILS ***
- -----------------------------
-
-
- CHAPTER 5
- ************************* DIRECTORY STRUCTURE *************************
-
- DeuTex uses the following directory structure to store DOOM entries.
- First create a directory (call it MYWADIR or whatever) for your PWAD.
- Make sure DeuTex is on your path, or put a copy of it in MYWADIR. Put
- a copy of the PWAD 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 PWAD 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> -dmtextures
- +
- DeuTex will read the Textures from DOOM.WAD or DOOM2.WAD, list them in
- a file called OLDTEX1.TXT (and OLDTEX2.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. Take a look at
- Chapter 6 - DEUTEX COMMANDS for a more 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\---oldtex1.txt
- oldtex2.txt
-
-
- If your PWAD 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.
-
-
-
- page 16
-
-
-
-
- If you want to add something to your PWAD, put it in the proper
- subdirectory (create it if it's not there), and tell wadinfo.txt about
- it. Chapter 8 - 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 PWAD 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 C:\DOOM\WADS\mywad.wad mywad.bak
- copy mywad.wad C:\DOOM\WADS\mywad.wad
-
- This way, if you find out you've really screwed things up when you test
- your PWAD, 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 OR
- + EQUATED TO ExMx or MAPxx in WADINFO.TXT.
- +
- + Suppose you have edited two Levels named PLAGUE.WAD and E3M4.WAD. You
- + want the combined PWAD to replace E1M2 and E3M4 in DOOM.WAD. You would
- + edit the [LEVELS] section of WADINFO.TXT to read:
- +
- + [LEVELS]
- + E1M2 =PLAGUE
- + E3M4
- +
- + This tells DeuTex to look in the LEVELS\ subdirectory for PLAGUE.WAD
- + and E3M4.WAD and to combine them in the final PWAD as E1M2 and E3M4.
-
-
-
-
-
- page 17
-
-
-
-
- -------
- 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 (map 0) corresponds to a light
- level of 247-255, and doesn't change the display at all.
- The 32nd map (map 31) corresponds to a light level of 0-7
- and maps almost all colors to the darkest one in the
- presently use 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 (DOOM1) / Text file remapping MIDI instruments
- DMXGUSC.LMP (DOOM2) \ 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:
- +
- + [LUMPS]
- + ENDOOM
- + DEMO1
- +
- This tells DeuTex to look here for ENDOOM.LMP and DEMO1.LMP
-
-
-
-
-
-
-
- page 18
-
-
-
-
- + ----------
- + C) \TEXTURES
- + ----------
- +
- + NOTE: DOOM1 contains 2 Texture entries, TEXTURE1 and TEXTURE2. This
- + is because of differences between the shareware and registered
- + versions. If you are using DeuTex with DOOM2, just ignore any
- + references to TEXTURE2. It doesn't exist in DOOM2.WAD.
- +
- + This subdirectory contains a text file(s) describing the Texture
- + changes you want in your PWAD (Chapter 8 describes Texture definition
- + files). Your file can be given any name you want (prefer TEXTURE1.TXT
- + or TEXTURE2.TXT). This name (without extension) is then entered in the
- + [TEXTURE1] section of WADINFO.TXT.
- +
- + FILES PUT HERE HAVE THE EXTENSION (.TXT). THE TITLE OF ANY FILE PUT
- + HERE MUST BE DECLARED IN THE [TEXTURE1] SECTION OF WADINFO.TXT.
- +
- + The file names OLDTEX1.TXT and OLDTEX2.TXT are reserved. Due to an
- + amazing bug (in DOOM?), if DOOM's Texture list contains any new or
- + redefined Textures before all the UNCHANGED Textures are listed, it
- + produces HOM (Hall of Mirrors) errors. Previous versions of DeuTex
- + dealt with this problem by requiring a copy of TEXTURE1.TXT (with any
- + redefined Textures deleted) here in the \TEXTURES subdirectory. This
- + is no longer necessary with version 3.1. DeuTex now reads the original
- + TEXTURE1 from the main IWAD while creating your PWAD. It then reads
- + your new Textures and automatically sorts , deletes, and combines all
- + entries. Olivier's too good to you guys >;-]
- +
- + EXAMPLES:
- +
- + If you want to add ONLY new Textures:
- +
- + - Put your definition file here (e.g. TEXTURE1.TXT), and declare
- + TEXTURE1 in the [TEXTURE1] section of (WADINFO.TXT).
- +
- + If you want to redefine Textures in TEXTURE1:
- +
- + - Run DeuTex -dmtextures to get the Textures.
- + - Cut the Textures to be redefined from OLDTEX1.TXT and paste
- + them into TEXTURE1.TXT. Edit them or change them as you wish.
- + - You can delete OLDTEX2.TXT and OLDTEX1.TXT now if you want.
- + - Declare TEXTURE1 in the [TEXTURE1] section of WADINFO.TXT.
- +
- + If you want to redefine Textures in TEXTURE2:
- +
- + - Run DeuTex -dmtextures to get the Textures.
- + - Cut the Textures to redefine out of OLDTEX2.TXT and put
- + them in TEXTURE2.TXT. Edit and change them as you wish.
- + - You can delete OLDTEX1.TXT and OLDTEX2.TXT now if you want.
- + - Declare TEXTURE2 in the [TEXTURE2] section of WADINFO.TXT.
-
- APPENDICES I and II contain lists of the animated and switch Textures
- from DOOM.WAD (Not the new ones from DOOM2, sorry. Use DeuTex to make
- your own list). Copy the portion you want to edit into TEXTURE1.TXT.
- It's a little easier than hunting through the entire OLDTEX1.TXT files.
- Beware: some textures change a lot, between DOOM and DOOM2.
-
-
-
-
- page 19
-
-
-
-
- --------
- 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 lists the
- + Sound names used in DOOM1 and DOOM2. It also lists the Sound names for
- + each DMAUD Sound number). 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) for DOOM/DOOM2
- (MUS_xxxx.MUS) for HERETIC
- MUS format (RAW format, which can be created from MIDI
- files with MIDI2MUS.EXE, provided by ddt).
-
- SOUNDCARD SOUND EFFECTS: (DSxxxxxx.WAV) for DOOM/DOOM2
- (xxxxxxx.wav) for HERETIC
- Windows WAVE file (.WAV). Use a converter if you prefer .AU.
- Preferably use 11025 sample/second for your recording.
- VOC format is supported only for 11025 sample/s (DeuTex can't convert).
-
- PC-SPEAKER: (DPxxxxxx.TXT) only for DOOM
- Text files (.TXT) with numbers 0-255
-
- WARNING: DeuTex assumes that any file name beginning with:
- 'D_' or 'MUS_' is music.
- 'DS' is soundcard sound effect.
- 'DP' is PC speaker sound effect.
-
- + Suppose you've created new music for Level E1M5 called D_E1M5.MUS. You
- + also want to replace DSSHOTGN with a your file called PTOOEY.WAV. You
- + would put the files here and edit your WADINFO.TXT as follows:
- +
- + [SOUNDS]
- + D_E1M5
- + DSSHOTGN =PTOOEY
- +
- + This tells DeuTex to look here for D_E1M5.MUS and PTOOEY.WAV.
- + It will replace the Sound DSSHOTGN with PTOOEY.WAV
-
- ----------
- 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 a new TITLEPIC.BMP, and want SURRENDR.BMP to
- replace VICTORY2. Just put the files here and declare them in the
- [GRAPHICS] part of WADINFO.TXT, like:
- +
- + [GRAPHICS]
- + TITLEPIC
- + VICTORY2 = SURRENDR
- +
- + DeuTex will look here for TITLEPIC.BMP and SURRENDR.BMP (or .GIF).
- + It will use SURRENDR.BMP for VICTORY2.
-
- page 20
-
-
-
-
- ************ 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 redefine SPOSA1 and TROOB2. You want to replace
- + them with SPOSA1.GIF and LIZARD.BMP. Put the files here, and then
- + declare them in the [SPRITES] section of WADINFO.TXT, like:
- +
- + [SPRITES]
- + SPOSA1
- + TROOB2 =LIZARD
- +
- + DeuTex will look here for SPOSA1.BMP (or .GIF) and LIZARD.BMP.
-
- -------
- G) \FLATS
- -------
-
- For new floors and ceilings as 64x64 (.BMP) or (.GIF) files.
-
- WARNING: TO USE YOUR NEW FLATS, YOU MUST MERGE YOUR PWAD WITH THE MAIN
- IWAD, OR USE DEUSF TO PUT ALL THE IWAD FLATS 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 MUDDY.BMP as a new Flat, and HATCH.GIF to replace
- + FLOOR1_7. Put the FILES here, and declare them in WADINFO.TXT, like:
- +
- + [FLATS]
- + MUDDY
- + FLOOR1_7 =HATCH
- +
- + DeuTex will look here for MUDDY.BMP and HATCH.BMP (Then HATCH.GIF),
- + and replace FLOOR1_7 with HATCH.GIF. BUT, SEE WARNING ABOVE!
-
-
- page 21
-
-
-
-
- ---------
- H) \PATCHES
- ---------
-
- Put new Patches here as (.BMP) or (.GIF). DeuTex will load ANY Patches
- that have the same name as an existing Patch. They don't have to be
- mentioned in MYTEXT.TXT. If you want the man in the danger symbol to be
- a woman, edit the Patch, and throw it in here (use the same name). You
- don't need to redefine all the Textures that contain it.
-
- WADINFO.TXT contains NO [PATCHES] section. The Texture definition file
- in \TEXTURES describes what Patches go in your new Textures. When DeuTex
- reads WADINFO.TXT, it finds the name of your Texture definition file in
- the [TEXTURE1] section (e.g. TEXTURE1). It finds the file TEXTURE1.TXT
- in \TEXTURES and looks here for any Patches mentioned. Then it looks in
- \PATCHES for pictures defining the patches.
- If you declare a NEW or MODIFIED Patch in TEXTURE1.TXT,
- there MUST be a corresponding .BMP or .GIF file in \PATCHES
-
- 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.GIF, and WARNA0.BMP here.
-
- THEN: Define your new Texture in TEXTURE1.TXT as shown below:
-
- 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
-
- THEN: Put TEXTURE1.TXT in the \TEXTURES subdirectory.
-
- THEN: Tell WADINFO.TXT that TEXTURE1.TXT is the file containing new or
- modified Textures by declaring it in the [TEXTURE1] section:
-
- [TEXTURE1]
- TEXTURE1
-
- DeuTex will read TEXTURE1.TXT from \TEXTURES. TEXTURE1.TXT tells DeuTex
- that a new texure called MYDOOR is 256 pixels wide, and 128 pixels high.
- The asterisks tell DeuTex to look here for the Patches WOODEN0.BMP,
- KNOB0.BMP, WARNA0.BMP and EXIT1.BMP. The numbers tell it where the
- Patches go on MYDOOR. Note that WOODEN0 had better be 256x128 or bigger,
- or 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 automatically looks here for ALL Patches mentioned in the
- generated TEXTURE entry. Normally it will check \PATCHES for all kind
- of patches, new patches or patches redefining DOOM patches.
- However, should DeuTex fail to recognise your modifed DOOM patches,
- put this unrecognised patch in \GRAPHICS and declare it explicitly
- in the [GRAPHICS] section of WADINFO.TXT.(The new version of DeuTex
- never demonstrated such a bug, but you never knows, with DOS.)
-
- page 22
-
-
-
-
- CHAPTER 6
-
- *************************** DeuTex Commands ***************************
-
- --------------------------
- A) COMPLETE COMMAND REFERENCE
- --------------------------
-
- Actually 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 Chapter in
- 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.
- That bug is corrected in DEU 5.3.
-
-
- page 23
-
-
-
-
- + -rgb <R> <G> <B>
- +
- + Let's you pick what *exact* color DeuTex will use for DOOM's
- + transparent color. The default is CYAN(R=0, G=255, B=255).
- +
- + EXPLANATION:
- + DOOM allows transparent areas in textures. Although there
- + are 256 colors in the DOOM palette, only 255 of them act
- + as colors. Color number 247 (CYAN R=0 G=255 B=255) is used
- + by DOOM as a 'switch' to make that pixel invisible.
- +
- + When DeuTex imports your new graphics into a PWAD, it must
- + assign each pixel one of the DOOM colors. For most of the
- + 16 million colors possible in an RGB format such as .BMP
- + and .GIF, it is just a matter of finding the most appro-
- + priate colors in the DOOM palette to map to your graphic.
- + However, CYAN is more of a 'switch' than a color.It wouldn't
- + be appropriate for DeuTex to say "anything CLOSE to CYAN is
- + transparent". That would be like saying "anything close to
- + LINEDEF type 39 is a teleport". Transparency is a switch,
- + and has to be exact.
- +
- + Some graphics programs may not be able to meet this re-
- + quirement. For example, some programs limit you to 64 (0-63)
- + increments each in Red, Green and Blue. They multiply the
- + result by 4 to get the true RGB value. This is fine for most
- + purposes, but not for DOOM.
- +
- + In any such program, the closest you can get to CYAN is,
- + 0 for Red, 63 for Blue and 63 for Green. When multiplied
- + to get a true RGB value, this becomes R=0, G=252,B=252.
- + You couldn't tell the difference by looking, but DeuTex can.
- + It will take this value and say "Hmmm... Light Blue". Your
- + graphic will be disappointing when you see it in DOOM :-<
- + -rgb 0 252 252 will make you smile again :-)
- +
- + Another example of when you might want to use this command
- + is if you use a raytracer to create your graphics. Most of
- + these programs render the background as black. If you use
- + the option -rgb 0 0 0, things will be much easier.
-
- -bmp File format to use when EXTRACTING pictures. DeuTex will
- -gif recognize either one when STORING pictures in a PWAD. The
- + -ppm 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
- + -voc 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. It's almost never needed.
-
-
-
-
-
- page 24
-
-
-
-
- + -level These tell DeuTex to select Sprites, Patches, Sounds, etc.
- + -lump when composing/decomposing/merging PWADS. These commands
- + -texture can be combined. By default, all entries are selected.
- + -sound
- + -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 and/or all the Flats. This
- enables you to rebuild the 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, Flats, Patches, Sprites,
- Sounds and Levels from a WAD and put them into a sub-
- directory having the same name (all .LMPs in \LUMPS, etc).
- Also lists any Texture entries of the WAD in a file called
- TEXTURE1.TXT, which it puts in a subdirectory called
- \TEXTURES. If you are extracting the main DOOM1 WAD, a
- second Texture file, TEXTURE2.TXT will be extracted. DOOM2
- does not have a TEXTURE2 entry. 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 8 - FORMATS for a
- description of WADINFO.TXT, TEXTURE1.TXT and TEXTURE2.TXT.
- This command will not overwrite already existing entries.
- It will complain and stop instead.
-
- + -dmtextures
- +
- + 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 sub-
- + directory called \TEXTURES. If \TEXTURES does not exist, it
- + will be created. This command won't overwrite TEXTURE1.TXT
- + or TEXTURE2.TXT if they are already present.
-
-
-
-
-
-
-
-
- page 25
-
-
-
-
- -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 or moved 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.
-
- + -join These DeuSF commands are also available for DeuTex
- + -app -join merges two PWADs, -app appends Sprite and Flats
- + -add and -add does the same, but in a new PWAD
-
- NOTE ON SAFETY:
- - ONLY 8 BYTES of DOOM.WAD are modified
- - If all else fails, you can restore your IWAD by hand.
- - Only about 32k of additional disk space are needed.
- - MYOWN.WAD is put INTACT into DOOM.WAD. It can then be
- deleted since -restore recreates it. This is barely a
- modification at all!
-
-
-
-
-
-
- page 26
-
-
-
-
- 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.
- It would be vain to compare the sprites names with those of the IWAD,
- because it's DOOM.EXE that determines which sprites are which, not
- the IWAD. And as DOOM.EXE can be hacked, and sprites vary with versions
- of DOOM, there is really no other choice.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- page 27
-
-
-
-
- CHAPTER 7
- *************************** DeuSF Commands ****************************
-
- --------
- A) OVERVIEW
- --------
-
- DeuSF is an improved replacement for DMADDS. It adapts to all versions
- of DOOM, requires a less perverted PWAD structure, and can append to a
- PWAD rather than generating a new PWAD (thereby saving space). DeuSF
- works 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
-
- First, DeuSF appends the Sprites and Flats from DOOM.WAD to mywad.wad.
- Then the PWAD is played. The last command deletes the appended Sprites
- and Flats from mywad.wad, restoring it to it's original condition.
- This kind of PWAD should PREFERABLY be built with DeuTex.
-
-
-
- page 28
-
-
-
-
- An example of DeuSF usage on ALIENDOOM 2.2:
-
- DeuSF -doom c:\doom -sprite -add ALIENGFX.WAD ALINGRFX.WAD
-
- DeuSF reads ALIENGFX.WAD to find what Sprites are missing. It then
- extracts them from DOOM.WAD and creates a new PWAD, ALINGRFX.WAD from
- the original PWAD and the extracted Sprites. DOOM.WAD and the original
- ALIENGFX.WAD are unchanged.
-
- Even better:
-
- DeuSF -doom c:\doom -sprite -app ALIENGFX.WAD > aliengfx.log
-
- DeuSF reads ALIENGFX.WAD to find what Sprites are missing. It then
- extracts them from DOOM.WAD and appends them to ALIENGFX.WAD. DOOM.WAD
- is unchanged. If -res doesn't work for any reason, ALIENGFX.WAD can be
- restored by hand from the information in aliengfx.log
-
- 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.
- DeuSF -join, -merge, -app, -res commands are incredibly more
- powerfull than those of DMADDS. NWT -as and -af duplicate some of the
- features of DeuSF, but isn't par to DeuSF yet.
- Great care involved in designing those DeuSF functions, and DeuSF in not
- only the most powerfull, it's also the only one ported to other O/S.
- Let me insist that you should use DeuSF to install your WADs.
-
- --------------------------
- B) COMPLETE COMMAND REFERENCE
- --------------------------
-
- All optional commands must appear before all
- non-optional ones. Otherwise, they are ignored.
-
- Command Line Format:
- DeuSF <optional cmd.>,...,<non-optional cmd.>,...,etc.
-
-
- ******** 1) 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.
-
-
-
-
-
-
- page 29
-
-
-
-
- ******** 2) 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. If
- -flat neither of these commands is present, DeuSF will add both.
-
-
-
-
- ******** 3) MANDATORY COMMANDS (one of these will always be used)
-
-
-
- -add <myown.wad> <allsf.wad>
-
- Will create a new file, ALLSF.WAD, containing all the
- Sprites and/or Flats of DOOM.WAD together with those
- contained in MYOWN.WAD. This is exactly like DMADDS
- ...but cleaner.
-
- -app <myown.wad>
-
- Will append to MYOWN.WAD only those Sprites and/or Flats
- of DOOM which are not redefined. This saves disk space,
- compared to -add command.
-
- + -join <this.wad> <that.wad>
- +
- + Will append to THIS.WAD all the Sprites and Flats contained in
- + THAT.WAD. This function enables you to merge two Sprite and/or
- + Flats PWADS obtained from different sources. I added this
- + command so that I could play CHOOK and BARNEY together.
- + TEXTURES and PNAMES entries of both THIS.WAD and THAT.WAD.
- + If entries are conflicting, thoses of THAT.WAD have priority.
- + Avoid conflicts! -join is not really clever.
- +
- + NOTE: After using -join on PWADS, you still have to
- + use -app on the combined PWAD to append the
- + remaining Sprites and Flats from DOOM.
- +
- + -res <myown.wad>
- +
- + Restores a PWAD which had been modified with -app command.
- + Quite safe. Performs the same function as -restore in DeuTex.
- + If a PWAD was merged inside another one (using -join), then
- + that PWAD regenerated also. Now *that's* real cool!
-
-
-
-
-
-
- page 30
-
-
-
-
- CHAPTER 8
-
- ******************************* FORMATS *******************************
-
- ----------------------------
- A) The WAD Creation Directive
- WADINFO.TXT
- ----------------------------
-
- ******** 1) OVERVIEW
-
- 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 is
- + structured similarly to a Windows .ini file with sections headed by
- + names enclosed in brackets.It contains up to 7 sections: [LEVELS],
- + [LUMPS], [TEXTURE1], [SOUNDS], [GRAPHICS], [SPRITES] and [FLATS].
- + For DOOM1, there can be an eighth section called [TEXTURE2].
- +
- + All sections are optional. Starting with DeuTex version 3.0, the order
- + of the sections is not critical. The name of the section IS critical,
- + and must be spelled correctly.
-
- NOTE: There is no [PATCHES] section. Patch loading is automatic. If a
- new Patch is referenced in a Texture, DeuTex will look for it in
- \PATCHES. If there is a Patch in \PATCHES with the same name
- as an existing Patch, DeuTex will automatically find it and load
- it. There is no need to reference a redefined Patch in a Texture
- definition, unless it is part of a new or redefined Texture. There
- is also no need to define PNAMES. PNAMES creation is automatic.
-
- + The names TEXTURE1 and TEXTURE2 refer to the OLDTEX1.TXT and
- + OLDTEX2.TXT files as extracted from DOOM. Unlike previous versions,
- + DeuTex doesn't need these files. They exist only for you. They are
- + useful in examining the makeup of textures in the WAD. They also make
- + redefining existing Textures easier by allowing you to cut and paste
- + instead of typing the redefined Texture from scratch. DeuTex 3.1 takes
- + all the information on existing Textures directly from the main WAD
- + while building your PWAD. Any new definitions supplied by you will
- + override those in DOOM. A warning will be given to inform you of this.
- + This is a great improvement and makes DeuTex even easier than before!
- +
- + Previous versions of this manual also generated confusion over where,
- + how, and if you need to use OLDTEX2.TXT (then named TEXTURE2.TXT)
- + The short answer from now on is: NOWHERE, NOHOW and NO!
- +
- + With DeuTex 3.1, [TEXTURE1] and [TEXTURE2] are separate sections.
- + There is ONLY ONE case where you will use [TEXTURE2]. This is when you
- + are using DOOM1 and you redefine a TEXTURE2 Texture. OLDTEX2.TXT does
- + NOT need to be present, even in this situation. Use it for your edits.
- +
- + If your PWAD is for DOOM2, or is for DOOM1 and doesn't change any
- + TEXTURE2 Textures, IGNORE all references to TEXTURE2 in this document!
-
-
-
- page 31
-
-
-
-
- +******** 2) EXACT FORMAT for WADINFO.TXT
- +
- +
- +
- + The following pages show the exact format for all the entries in a
- + PWAD Creation Directive File (i.e. WADINFO.TXT or YOURNAME.TXT).
- + All main sections are optional. Order of sections is unimportant.
- +
- +
- + The Symbols used in the Format Listing are as follows:
- +
- +
- + SYMBOL DEFINITION
- +_______________________________________________________________________
- +| | |
- +| x and y | Numbers for offsets, levels, etc. |
- +|________________________|____________________________________________|
- +| | |
- +| aaaa, bbbb and cccc | YOUR name for a given item (8 char max). |
- +|________________________|____________________________________________|
- +| | |
- +| qqqq, rrrr and ssss | VARIABLE parts of a DOOM name. |
- +|________________________|____________________________________________|
- +| | |
- +| CAPITAL LETTERS | MANDATORY parts of an entry. |
- +|________________________|____________________________________________|
- +| | |
- +| DOOM name '=' aaaa | DeuTex will insert 'aaaa' as 'DOOM name'. |
- +|________________________|____________________________________________|
- +| | |
- +| brackets [ ] | Define main sections in the file. |
- +|________________________|____________________________________________|
- +| | |
- +| parentheses ( ) | These entries are optional. |
- +|________________________|____________________________________________|
- +| | |
- +| asterisk '*' | Reuse the resource from the previous line. |
- +|________________________|____________________________________________|
- +| | |
- +| dot+comma ';' | 'Comment' follows. (Windoze standard) |
- +| pound sign '#' | 'Comment' follows. Rest of line ignored. |
- +|________________________|____________________________________________|
- +| | |
- +| 'white space' (spaces) | Ignored by DeuTex. |
- +|________________________|____________________________________________|
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- page 32
-
-
-
-
- Listing of the Format for WADINFO.TXT:
-
- + ;
- + ; DeuTex by Olivier Montanuy (montanuy@lannion.cnet.fr)
- + ;
- + ; PWAD creation directives
- + ;
- + ;
- + [LEVELS] ; Section to define the Level of your map(s).
- + ;
- + MAPxx (=aaaa) ; If '=aaaa' and '=bbbb' are used, looks in \LEVELS for
- + ExMy (=bbbb) ; aaaa.WAD and bbbb.WAD. If '=aaaa' and '=bbbb' are not
- + ; used, looks in \LEVELS for MAPxx.WAD and ExMy.WAD.
- + ; Combines them into one PWAD containing MAPxx and ExMy
- + ;
- + ; DeuTex does not care about the internal Level of
- + ; aaaa.WAD or MAPxx.WAD. It will output the PWAD as
- + ; whatever MAPxx or ExMy is put here. Easy conversion.
- + ;
- + ; ExMy can be E1M1 thru E3M9.
- + ; MAPxx can be MAP01 thru MAP35.
- + ; MAPS 33, 34 and 35 will play, but can only be entered
- + ; by IDCLEV. An EXIT LEVEL switch on 33, 34 and 35 will
- + ; just return you to DOS.
- + ;
- + ; If ExMy and MAPxx are entered in the same PWAD, ExMy
- + ; will play from DOOM1 and MAPxx will play from DOOM2,
- + ; IF there are no Texture additions to the PWAD. It is
- + ; still possible with Textures, but is a can of worms,
- + ; and you'd better know what you're doing.
- + ;
- + ; Thus, it is possible to make a 62 Level PWAD with
- + ; DeuTex, although some imagination would be needed to
- + ; overcome the limitations of Levels 33, 34 and 35 in
- + ; DOOM2, and only about half the wad would be available
- + ; to each DOOM engine. This may be useless, but since
- + ; it's possible, it is included here.
- + ;
- + ;
- + [LUMPS] ; Section to define any .LMP data you want to add.
- + ; Chapter 5, Section B) describes Lumps.
- + ;
- + qqqq (=aaaa) ; If '= aaaa' is used, looks in \LUMPS for aaaa.LMP. If
- + ; '= aaaa' is not used, looks for qqqq.LMP. Installs the
- + ; .LMP data in the PWAD to replace qqqq in DOOM.
- + ;
- + rrrr (*) ; If '*' is used, .LMP from the previous entry is used
- + ; for this entry as well. When you play the PWAD, qqqq
- + ; will be used for both qqqq AND rrrr.
- + ;
- + ;
-
-
-
-
-
-
-
-
-
-
- page 33
-
-
-
-
- + [TEXTURE1] ; Section for declaring what Texture definition files you
- + ; want to use when compiling your PWAD.
- + ;
- + aaaa ; First loads TEXTURE1 from the main DOOM or DOOM2 WAD.
- + (bbbb) ; Then looks in \TEXTURES for aaaa.TXT. Compiles your PWAD
- + (cccc) ; Texture directory by: TEXTURE1 - (redefined Textures in
- + ; aaaa.TXT)+(ALL textures in aaaa.TXT) = TEXTURE1 in PWAD.
- + ;
- + ; If 'bbbb' and 'cccc' are used, DeuTex searches for
- + ; bbbb.TXT in \TEXTURES, RE-edits the TEXTURE1 entry using
- + ; it, then gets cccc.TXT and repeats the process. This
- + ; means that if any duplicate Texture names exist in aaaa,
- + ; bbbb and cccc, only the entry from the last file listed
- + ; will be present in the final PWAD.
- + ;
- + [TEXTURE2] ; Used only for DOOM1. Shows what Texture definition
- + aaaa ; file(s) to use for TEXTURE2. Similar to above.
- + ;
- + ;
- + [SOUNDS] ; Section to define your modified Sound entries.
- + ;
- + DSqqqq (=aaaa) ; If '=aaaa' is used, looks in \SOUNDS for aaaa.WAV
- + ; (Sound effect). If '= aaaa' isn't used, looks for
- + ; DSqqqq.WAV. Uses file to replace DOOM sound DSqqqq.
- + ;
- + DPqqqq (=aaaa) ; If '=aaaa' is used, looks in \SOUNDS for aaaa.TXT
- + ; (PC Speaker Sound). If '= aaaa' is not used, looks
- + ; in \SOUNDS for DPqqqq.TXT. Uses file to replace
- + ; DOOM PC Speaker Sound DPqqqq.
- + ;
- + D_qqqq (=aaaa) ; If '=aaaa' is used, looks in \SOUNDS for aaaa.MUS
- + ; (Music file in DOOM's .MUS format). If '=aaaa' is
- + ; not used, looks for D_qqqq.MUS. Uses file to replace
- + ; DOOM Music D_qqqq.
- + ;
- + D_rrrr (*) ; If '*' is used, the Sound from the previous entry is
- + ; used for this entry as well. In this example, when
- + ; you play your PWAD, D_qqqq will be used for both
- + ; D_qqqq AND D_rrrr.
- + ;
- + ;
- + [GRAPHICS] ; Section used to declare Graphics other than
- + ; Sprites, Flats, or Textures. See Chapter 5,
- + ; Section E) or Matt Fell's DOOM SPECs for a
- + ; description of Graphic entries in DOOM.
- + ;
- + qqqq (xx)(yy) (=aaaa) ; If '=aaaa' is used, looks in \GRAPHICS for
- + ; aaaa.BMP. If not found, looks for aaaa.GIF.
- + ; If '=aaaa' is not used, looks for qqqq.BMP
- + ; or .GIF. Inserts the file in PWAD for entry
- + ; qqqq. xx and yy are the horizontal and
- + ; vertical offsets used when inserting the
- + ; Graphic into it's defined area. The defined
- + ; defined area is predetermined by DOOM.EXE
- + ; from the Graphic name.
- + ;
-
-
-
-
-
- page 34
-
-
-
-
- + ; For example, all Graphics beginning with STF
- + ; are placed in a box 31 x35 pixels big at the
- + ; center of the Status Bar. This is where the
- + ; player's face shows up. The xx and yy values
- + ; move the Graphic around in this box. Pos-
- + ; itive values move it left (xx) and up (yy).
- + ;
- + rrrr (*) ; If '*' is used, will re-use the Graphic from
- + ; the previous line for rrrr too.
- + ;
- + ;
- + [SPRITES] ; Section used to declare Sprites. Consult the
- + ; following for more information on modifying
- + ; Sprites in DOOM:
- + ; Chapter 3 - Section C)
- + ; Chapter 5 - Section F)
- + ; Chapter 6 - Section E)
- + ; Chapter 7 - All Sections
- + ;
- + qqqq (xx)(yy) (=aaaa) ; If '=aaaa' is used, looks for aaaa.BMP or
- + ; .GIF in \SPRITES. If '=aaaa' is not used,
- + ; looks for qqqq.BMP or GIF. Inserts the file
- + ; into the PWAD to replace the Sprite qqqq.
- + ;
- + rrrr (*) ; '*' tells DeuTex to use the previous entry
- + ; (qqqq) for this Sprite as well.
- + ;
- + ;
- + [FLATS] ; Section for declaring modified Flats. Limitations
- + ; are similar to the ones for modifying Sprites. See
- + ; [SPRITES] section above for places to find info.
- + ;
- + qqqq (=aaaa) ; If '=aaaa' is used, looks for aaaa.BMP or .GIF in
- + ; \FLATS. If '=aaaa' is not used, looks for qqqq.BMP or
- + ; .GIF. Inserts file into PWAD as replacement for qqqq.
- + ;
- + ; There are no insertion points for Flats, since they
- + ; all MUST be 64x64.
- + ;
- + ;
- + ; End File.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- page 35
-
-
-
-
- ******** 3) An EXAMPLE LISTING of WADINFO.TXT
-
- The following is a commented example of PWAD creation directives,
- A space or any text after a ';' or '#' to the end of a line is ignored.
- Not all entries need be present, and order of [SECTIONS] is optional.
-
- ************************ WADINFO.TXT *****************************
- ;
- ; The [LEVELS] section defines the DOOM1 Levels and DOOM2 maps.
- ;
- [LEVELS]
- E1M2 ;file loaded: LEVELS\E1M2.WAD
- MAP04 ;file loaded: LEVELS\MAP04.WAD
- E2M3 =TRINITY ;file loaded: LEVELS\TRINITY.WAD
- ;if more than one Level, E2M3 is read
- ;
- ; All .WADs referred to here must contain the 11 entries that
- ; define a Level, including NODES, BLOCKMAP and REJECT. Use
- ; IDBSP and RMB to build them.
- ;
- ; The [LUMPS] section defines the Lumps of raw data for DOOM.
- ;
- [LUMPS]
- ENDOOM ;file loaded: LUMPS\ENDOOM.LMP
- DEMO1 ;file loaded: LUMPS\DEMO1.LMP
- DEMO2 =KILLJOHN ;file loaded: LUMPS\KILLJOHN.LMP
- ;
- ; 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.
- ;
- ; The [TEXTURE1] section lists the names of the Texture definition files
- ; from \TEXTURES that are to be used for TEXTURE1.
- ;
- [TEXTURE1] ;DeuTex will first read TEXTURE1 in DOOM.WAD
- ;
- TEXTURE1 ;file read: \TEXTURES\TEXTURE1.TXT
- MYWALLS ;file read: \TEXTURES\MYWALLS.TXT
- MYSWITCH ;file read: \TEXTURES\MYSWITCH.TXT
- ;
- ; The new Textures found in these files are placed at the end of the
- ; Texture list. If they have the same name as an entry in OLDTEX1,
- ; (that is: the old DOOM texture) then that entry is deleted.
- ;
- ; The [TEXTURE2] entry is not needed for DOOM2
- ;
- [TEXTURE2] ;DeuTex will first read TEXTURE2 in DOOM.WAD.
- ;
- TEXTURE2 ;file read: \TEXTURES\TEXTURE2.TXT
- ;
- ; The new Textures found in this file are placed at the end of the
- ; Texture list. If they have the same name as an entry in TEXTURE2,
- ; that entry is deleted.
- ;
- ; BEWARE: don't duplicate TEXTURE1 entries in TEXTURE2.
- ; DOOM Doesn't care, but it crashes some Level
- ; editors.
- ;
-
-
-
- page 36
-
-
-
-
- ; The [SOUNDS] section defines MUSIC, PCSOUNDS and WAVE SOUNDS
- ;
- [SOUNDS]
- D_E2M3 ;file loaded: SOUNDS\D_E2M3.MUS (doom1 music).
- D_RUNNIN ;file loaded: SOUNDS\D_RUNNIN.MUS (doom2 music).
- D_ROMERO * ;no file loaded! The '*' copies D_RUNNIN to D_ROMERO.
- ;now DOOM will think D_ROMERO=D_RUNNIN.
- ;
- D_SHAWN3 =KATEBUSH ;file loaded: SOUNDS\KATEBUSH.MUS.
- ;The music for SHAWN3 will be KATEBUSH.
- ;
- ; D_E2M3 is the music for Episode2 Mission 3 of DOOM.
- ; In DOOM2, it's a real mess. The Music name is not related
- ; to the Level name, but to the guy who made the Level.
- ;
- ; MUS format can be obtained from MIDI with MIDI2MUS, or
- ; converted back to MIDI by MUS2MIDI (by just_joe).
- ; These are separate utilities (too technical for DeuTex)
- ;
- DSSLOP ;file loaded: SOUNDS\DSSLOP.WAV, .AU or .VOC
- DSPISTOL =BOIING ;file loaded: SOUNDS\BOIING.WAV, .AU or .VOC
- ;this is a WAV Sound, meant for sound cards.
- ;
- DPSLOP ;file loaded: SOUNDS\DPSLOP.TXT
- ;this is a PC speaker Sound.
- ;
- ; The WAV, AU and VOC format were hacked.
- ; DeuTex can't read compressed data.
- ; The format PC-speaker Sound is a list of integers
- ; (range 1-255). related to sound pitch...
- ;
- ;
- ; The [GRAPHICS] section defines all the fixed pictures.
- ; (Not Sprites, Patches, or Flats)
- ;
- [GRAPHICS]
- WIMAP1 ;file loaded: GRAPHICS\WIMAP1.BMP.
- STHURT1 23 45 ;file loaded: GRAPHICS\STHURT1.BMP.
- ;set the insertion point to 23,45.
- STHURT2 * ;DOOM will use STHURT1 for STHURT2.
- VICTORY2 0 12 =SULACCO ;file loaded: GRAPHICS\SULACCO.BMP
- ;set the insertion point to 0,12.
- ;SULACCO.BMP will now replace VICTORY2.
- ;
- ; 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 :-)
- ;
- ; This section declares the Sprites.
- ;
- [SPRITES]
- BOSSB1 ;File loaded: SPRITES\BOSSB1.BMP or .GIF
- ;calculate insertion point by itself.
- BOSSA1 10 20 ;File loaded: SPRITES\BOSSA1.BMP or .GIF
- ;set the insertion point to 10,20.
- BOSSA2A8 * ;DeuTex will set BOSSA2A8 equal to BOSSA1
- VILEA1 30 40 =BILLGATE ;File loaded: SPRITES\BILLGATE.BMP or .GIF
- ;VILEA1 will now be BILLGATE.BMP
-
-
- page 37
-
-
-
-
- ; 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.
- ; or 'xxxx' exists as a Patch in the original DOOM.
- ;
- ;
- ;
- ; The [FLATS] section declares the Floors and Ceilings
- ;
- [FLATS]
- GRASS ;file loaded: FLATS\GRASS.BMP (or .GIF)
- HERBE * ;DOOM will think HERBE is the same as GRASS
- BLOOD1 = MUDDY ;file loaded: FLATS\MUDDY.BMP
- ; All these files must be 64x64 pixel pictures.
- ;
- ; 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
- ; need to use DeuSF to rebuild the complete Flat list whenever you want
- ; to use the PWAD.
- ;
- ;
- ; WAD creation directives end here.
- ;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- page 38
-
-
-
-
- -----------------------------------
- B. The Texture Definitions Text File
- \TEXTURES\MYTEXT.TXT
- -----------------------------------
-
- ******** 1) OVERVIEW
-
- 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 only
- one Patch. Otherwise, you'll get the Medusa Effect.
- - Avoid using a Texture less than 128 pixels high on a
- wall higher than the Texture (Tutti Frutti effect).
- - Texture widths should be rounded to the next power
- of 2. (8,16,64,128,256,512,1024 are usable)
- - Patches composing Textures can not be more than 320 pixels wide.
- - DOOM will ignore any portion of Textures higher than 128 pixels.
- - You can create a non repeating sky Texture:
- Define the SKY1 (or SKY2, SKY3, RSKY1, RSKY2, RSKY3) entry as a
- 1024x128 area cover it with Patches. Note that SKY Patches 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:
- Edit the Textures of one of DOOM's existing animated walls
- (beginning and end). Use the original names for these entries.
- They are coded into DOOM.EXE. Add the other frames for your
- animation between these entries in your 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 ignores everything above 128)
- - Any Texture is not completely covered by Patches.
- (DOOM will exit with a void column error)
- - A Level tries to use of an undefined Texture.
-
- 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)
-
- This format is supported by both New Wad Tool and the Visual Basic
- shell for DeuTex, so use the one you prefer, to build your Textures.
-
-
-
- page 39
-
-
-
-
- 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 40
-
-
-
-
- ******** 2) An EXAMPLE LISTING of MYTEXT.TXT
-
- Texture Definition File Example
-
- *************************** TEXTURE1.TXT ******************************
- ;
- ; Anything following a ';' or ';' is ignored (comment).
- ;
- ; An asterisk '*' at the beginning of a line indicates a Patch.
- ;
- ; 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 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
- ;
- ; A new Texture, HADDOCK, composed of new and old Patches.
- ;
- 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
- ZZZA 128 128 ;Frame 2 inserted.
- * WALL62_1 0 0
- * BOSSB1 75 47
- * GOR2A0 20 -50
-
-
- page 41
-
-
-
-
- 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
- ;
- ;
- ; file ends here. bye!
-
-
-
-
-
-
-
-
- page 42
-
-
-
-
- ---------------------------
- *** [PART THREE] ALL THE REST ***
- ---------------------------
-
-
- 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 resulting from 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.
-
-
-
-
-
-
- page 43
-
-
-
-
- -----------
- B) Legal Stuff
- -----------
-
-
- ***********************************************************************
- * Please DON'T bother ID software, Raphael Quinet, Brendon Wyber, *
- * or any of the people mentioned in this manual, with questions *
- * related to DeuTex *
- ***********************************************************************
-
-
- If you need information, here are the only sources:
-
- Olivier Montanuy (DOS and Unix problems)
- Kevin McGrail (Manual and Explanations)
- Mark Mathews (OS/2 problems)
- Per Allansson (Linux problems)
-
- 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 44
-
-
-
-
- -------------------------
- C) Where to get DeuTex/DeuSF
- -------------------------
-
-
-
- DeuTex and DeuSF are meant to be available by anonymous
- FTP on Internet sites: the same as of those of DEU:
-
- infant2.cdrom.com,ftp.luth.se,iglou.com,...
- /pub/doom/deu
- /pub/doom/wad_edit/misc
-
-
-
- DeuTex and 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 made 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:
-
- NWT by Denis
- A good DOS Tool, easy to use. ideal for making small changes.
- Texture text format compatible with DeuTex.
-
- 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.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- page 45
-
-
-
-
- ---------------------
- D) Version Information
- ---------------------
-
- New in version 3.1
- - Addition of unified user manual.
- - Color Quantization, allowing PPM support. No TGA yet (I'm lazy)
- - VOC sounds (11111 sample/s assumed.)
- - Bug corrections and simplifications, for easier maintenance.
- - Command -dmtexture replaces -texture. -texture is now used
- as a switch like -sprite, -flat, etc. (it's more logical).
- - Section boundaries in PWAD composition files are now [SECTION]
- (like Windows .ini files) and not Begin: SECTION End: SECTION.
- - Order of sections in PWAD composition files no longer critical.
- - A new section [TEXTURE2] added for TEXTURE2 entries.
- - Texture entries are now first read from DOOM.WAD. The Texture
- file then indicates which Textures to create or redefine. This
- eliminates previous TEXTURE1.TXT confusion. Much easier!
- - Can now use your names for Levels, Sounds, Sprites and Flats. For
- DSPISTOL=BOIING, BOIING.WAV will be inserted in the PWAD as DSPISTOL.
- - A new command <-join> for DeuSF, that let's you combine
- different Sprite and/or Flat PWADS into one PWAD. even joins textures!
-
- 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 acquired: 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
-
- New in version 2.7:
- - John Romero 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 Sprite 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:
- - Added ability to change the number of viewpoints of a sprite.
- - Addition of -fullsound. When extracting sound, you can now tell
- DEUTEX to extract the whole entry, beyond the declared sound length.
- - When loading a sound, DEUTEX now converts to 11025 sample/s.
- - Some bug corrections. Nothing critical :-)
-
-
- page 46
-
-
-
-
- --------------
- E) Known Problems
- --------------
-
- - Color quantization is faster, but optimised for the DOOM and HERETIC
- palettes supplied with DeuTex. Else, it's slower and a bit lossy.
-
- - Identification of entry types does not always work with PWADS made by
- programs other than DeuTex. There is no general solution to this
- problem, only my best effort. Sprites and Flats could be missed if
- certain conventions are not respected. Misidentified entries are
- stored as Lumps.
-
- - GIF format defaults to GIF87.
-
- - WAVE (.WAV) and AUDIO (.AU) file format are hacked, but work. VOC
- format is hacked too, but I couldn't guess the coding for the sample
- rate. The best option resulted in Sounds being converted to 11111
- samples per second instead of 11025 samples per second.
-
- - No MIDI support. MUS format is too complex to understand. No time.
-
- - Levels should be complete (map with 11 directory entries) before DeuTex
- will insert them in a PWAD. This means: nodes, reject, blockmap and
- such should exist. If they don't, it *could* work, however.
-
- - DeuSF does NOT test that all REQUIRED Sprite viewpoints are available
- if you change the number of 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. It's available to you only if you want to
- port DeuTex to a new environement. When DeuTex is finished, the
- source will be released.
-
-
-
- *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 47
-
-
-
-
- ------
- F) 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 Author of Wacker, a Texture
- (spike@nectech.demon.co.uk) composer. Try it!
-
- Tom Neff Doom technical information.
- (tneff)
-
- Bern Kreismeier Author of DMADDS/DMADDF
- (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', 'DOOM2' or 'HERETIC'
-
- Raven software For those cool graphics in HERETIC.
- (and for messing with color palettes)
-
- Special Thanx to:
-
-
- Per Allansson DeuTex Linux version.
- (c91peral@und.ida.liu.se)
-
- Mark Mathews DeuTex OS/2 port.
- (mark.mathews@channel1.com)
-
-
-
-
-
-
-
-
- page 48
-
-
-
-
-
- --------------
- THANKS (cont.)
- --------------
-
-
-
- Thanks to all of you who reported bugs and proposed corrections
- 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 Mezzacca 72510.3424@compuserve.com
- C. Gasparo cgasparo@cymbal.aix.calpoly.edu
- Avery Andrews andaling@durras.anu.edu.au
-
-
- Thanks to Justin Fisher for letting me use DeuTex and DeuSF on a
- new install for Alien-TC (despite all the small mistakesI made).
-
- Note from Olivier:
- Now comes the guy YOU all want to thank:
-
- HevKev, also known as Kevin McGrail, novice Manual Editor.
- 74107.1254@compuserve.com
-
-
- Before his contribution, I was the only one who knew how to use DeuTex.
- Now some of you might understand enough about DeuTex to use it in your
- great DOOM conversions project.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- page 49
-
-
-
-
- -----------
- G) FINAL WORDS
- (AT LAST)
- -----------
-
-
- Thanx for trying DeuTex.
-
-
- I did my best to make it the easy to use, bug free, and portable.
- However, it's not entirely trivial to use.
- I can't spend my life on a freeware tool.
-
-
- If you can't understand this tool, chances are your contribution
- to DOOM fandom will be quite limited. Remember, I only worked to make
- your life as simple as it could be, so that even non-specialists
- could produce something cool for DOOM.
-
-
- But don't forget that it takes some time, some dedication, and
- some genius also, to make something as great as Aliens-TC.
-
-
-
-
- Olivier Montanuy,
-
- E-Mail:
- montanuy@lannion.cnet.fr Work time mailbox (avoid)
- 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: USR 14400 Worldport LITE Modem Fax.
- (I'm a real easy frag.)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- page 50
-
-
-
-
- APPENDIX I Switch Textures in DOOM.WAD
-
-
- 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
-
-
-
-
-
-
-
-
- page 51
-
-
-
-
- SW1SLAD 64 128
- * WLA128_1 0 0
- * WARNB0 24 73
- 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
-
-
-
-
-
-
-
-
- page 52
-
-
-
-
- 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
- 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
-
-
-
-
- page 53
-
-
-
-
- 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
- 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
-
-
-
-
-
-
-
-
- page 54
-
-
-
-
- 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
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- page 55
-
-
-
-
- APPENDIX II Animated Wall Textures in DOOM.WAD
-
-
- 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
-
-
-
-
-
-
- page 56
-
-
-
-
- GSTFONT1 64 128
- * WALL58_1 0 0
- 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
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- page 57
-
-
-
-
- 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 DOOM's Sound names rather than the artificial Sound numbers
- used in DMGRAPH. A Conversion table for this follows.
-
- NOTE: An asterisk '*' means the 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 58
-
-
-
-
- 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 59
-
-
-
-
- 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 60
-
-
-
-
- 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 'to win the game...' reversed
- 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 61
-
-
-
-
- + ----------------------------------
- + C) CONVERTING DMAUD Sounds for DEUTEX
- + ----------------------------------
- +
- +
- +
- + For all you DMAUD users out there, here's a chart you can use to
- + convert those DMAUD Sound Numbers to DOOM or DEUTEX Sound Names.
- +
- +
- +
- + DMAUD NO. DEUTEX/DOOM Name
- +
- +
- + 1 DSPISTOL
- + 2 DSSHOTGN
- + 3 DSSGCOCK
- + 4 DSSAWUP
- + 5 DSSAWIDL
- + 6 DSSAWFUL
- + 7 DSSAWHIT
- + 8 DSRLAUNC
- + 9 DSRXPLOD
- + 10 DSFIRSHT
- + 11 DSFIRXPL
- + 12 DSPSTART
- + 13 DSPSTOP
- + 14 DSDOROPN
- + 15 DSDORCLS
- + 16 DSSTNMOV
- + 17 DSSWTCHN
- + 18 DSSWTCHX
- + 19 DSPLPAIN
- + 20 DSDMPAIN
- + 21 DSPOPAIN
- + 22 DSSLOP
- + 23 DSITEMUP
- + 24 DSWPNUP
- + 25 DSOOF
- + 26 DSTELEPT
- + 27 DSPOSIT1
- + 28 DSPOSIT2
- + 29 DSPOSIT3
- + 30 DSBGSIT1
- + 31 DSBGSIT2
- + 32 DSSGTSIT
- + 33 DSBRSSIT
- + 34 DSSGTATK
- + 35 DSCLAW
- + 36 DSPLDETH
- + 37 DSPODTH1
- + 38 DSPODTH2
- + 39 DSPODTH3
-
-
-
-
-
-
-
-
- page 62
-
-
-
-
- + 40 DSBGDTH1
- + 41 DSBGDTH2
- + 42 DSSGTDTH
- + 43 DSBRSDTH
- + 44 DSPOSACT
- + 45 DSBGACT
- + 46 DSDMACT
- + 47 DSNOWAY
- + 48 DSBAREXP
- + 49 DSPUNCH
- + 50 DSPLASMA
- + 51 DSBFG
- + 52 DSCACSIT
- + 53 DSCYBSIT
- + 54 DSSPISIT
- + 55 DSSKLATK
- + 56 DSCACDTH
- + 57 DSSKLDTH
- + 58 DSCYBDTH
- + 59 DSSPIDTH
- + 60 DSHOOF
- + 61 DSMETAL
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- page 63
-
-
-
-
- APPENDIX IV DeuTex and DeuSF COMMAND SUMMARIES
-
-
- ---------------
- A) DeuTex COMMANDS
- ---------------
-
- Command Line Format: DEUTEX <-optional cmds.> <-other cmds.>
-
- ******** 1) STAND ALONE COMMANDS:
-
- -dmtextures Lists the DOOM Textures in TEXTURE?.TXT.
- -check <myown.wad> Will look for Textures containing void columns.
- -help Lists the parameters.
- -syntax Prints short listing of the format of WADINFO.TXT.
- -unused <thatlame.wad> Checks for unused bytes in a PWAD.
-
- ******** 2) OPTIONAL COMMANDS:
-
- -doom <doom directory> Defines the DOOM or DOOM2 directory.
- -dir <working directory> Defines the working directory.
- -deu* Add 64K at the end of your PWAD for DEU.
- -rgb <R> <G> <B> Defines the color used for 'transparent'.
-
- -bmp \_________________/ Format used when EXTRACTING pictures. DeuTex
- -gif / \ recognizes both when STORING pictures.
- -ppm /
- -wave \_______________/ Format used when EXTRACTING Sounds. DeuTex
- -au / \ recognizes both when INSERTING Sounds).
- -voc /
- -fullsnd* For extracting oversize Sound entries.
-
- -level \ / These tell DeuTex to select Sprites, Patches,
- -lump \ / Sounds, etc. when composing, decomposing, or
- -texture \___________/ merging PWADS. Commands can be combined.
- -sound / \ By default, all entries are selected.
- -graphic / \ Those switches can be combined.
- -sprite /
- -patch /
- -flat /
-
- ******** 3) OTHER COMMANDS:
-
- -iwad Used with -make, makes IWAD instead of a PWAD.
- -wadir <thatcool.wad> Directory list, with entry identification.
-
- -xtract <thatcool.wad> \/ Extracts resources from a PWAD and puts them
- -extract <thatcool.wad> /\ into a subdirectory having the resource name.
-
- -make <wadinfo.txt> <myown.wad>\ /Reads WADINFO.TXT and uses it to
- -build <wadinfo.txt> <myown.wad> >< compose MYOWN.WAD from the files
- -create <wadinfo.txt> <myown.wad>/ \in the subdirectories.
-
- -merge <myown.wad> Will merge MYOWN.WAD with DOOM.WAD.
- -restore Will restore DOOM.WAD and the merged MYOWN.WAD.
- -join <myown.wad> <this.wad> Will merge THIS.WAD with MYOWN.WAD
- -app <myown.wad> Will append DOOM sprites to MYOWN.WAD
- -res <myown.wad> Will restore MYOWN.WAD
- All these commands are like those of DeuSF
-
-
- page 64
-
-
-
-
- --------------
- B) DeuSF COMMANDS
- --------------
-
-
- Command Line Format: DeuSF <optional cmds.> <mandatory cmds.>
-
-
-
- ******** 1) STAND ALONE COMMANDS:
-
-
- -help Lists these parameters.
-
- -format Displays format conventions a PWAD must follow.
-
- -wadir <thatcool.wad> Lists the entries in the PWAD directory.
-
-
- ******** 2) OPTIONAL COMMANDS:
-
-
- -doom <doom directory> Defines the DOOM or DOOM2 directory.
-
- -sprite Used with -add or -app, to add only Sprites or only Flats. If
- -flat neither of these commands is present, DeuSF will add both.
-
-
- ******** 3) MANDATORY COMMANDS:
-
-
- -add <myown.wad> <allsf.wad> Creates ALLSF.WAD, with all Sprites and
- Flats of DOOM.WAD and MYOWN.WAD.
-
- -app <myown.wad> Appends unchanged DOOM Sprites and Flats
- to MYOWN.WAD.
-
- -join <this.wad> <that.wad> Appends the Sprites and Flats in THAT.WAD
- to THIS.WAD.
-
- -res <myown.wad> Restores PWAD modified with -app command.
-
- -merge <myown.wad> Like DeuTex
-
- -restore Like DeuTex
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- page 65
-
-
-
-
- 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.
-
-
-
- -----------------------------------------------------------------------
-
- 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.
-
- 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.
-
-
-
-
-
-
- page 66
-
-
-
-
- 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.
-
- 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.)
-
-
-
-
-
-
-
-
-
-
-
-
-
- page 67
-
-
-
-
- _____________
- / 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 68
-
-
-
-
- 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 69
-
-
-
-
- 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 program used for trinity was DOOMTEX, available as dmtex10c.zip
- [ DeuTex is easier to use that DOOMTEX, which was brilliant, but some
- [ kind of hack, with no securities. DeuTex can do all DOOMTEX did.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- page 70
-
-
-
-
- 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 71
-
-
-
-
- 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 72
-