home *** CD-ROM | disk | FTP | other *** search
/ Quake 'em / QUAKEEM.BIN / doom_ii / text / dtexman.exe / DTEXMAN.TXT
Encoding:
Text File  |  1995-07-16  |  127.9 KB  |  3,944 lines

  1.  
  2.  
  3.  
  4.                             DEUTEX/DEUSF 2.9
  5.                               November 1994
  6.  
  7.                       WAD composition tool for DOOM
  8.                    Copyright (c) Olivier Montanuy 1994
  9.                          (montanuy@dmi.ens.fr)
  10.  
  11.                      Manual Edited by Kevin McGrail
  12.                       (74107.1254@compuserve.com)
  13.  
  14. ------------------------ Data Utility License -------------------------
  15. DOOM(tm) is a trademark of Id Software, Inc.
  16. The DOOM characters and the Id Software logo are trademarks of Id
  17. Software, Inc. DOOM Copyright (c) 1993. Id Software Inc. All rights
  18. reserved. This utility product is not a product of Id Software, Inc.
  19. and has not been approved by Id Software, Inc. Id Software will not
  20. provide technical support for this product. The purchaser of this
  21. utility product may not distribute for money or other consideration any
  22. software data created and/or modified by the use of this utility
  23. product.
  24. -----------------------------------------------------------------------
  25.  
  26.  
  27. ****************************** FEATURES *******************************
  28.  
  29.                              ------------
  30.                                 DeuTex
  31.                              ------------
  32.  
  33.            DeuTex stands for DEU's Texture Companion.
  34.  
  35. DEU is a DOOM level editor by Brendon Wyber and Raphael Quinet, and
  36. DeuTex was originally derived from the code of DEU 5.21. DeuTex uses
  37. various contributions for particular file formats.
  38.  
  39. DEUTEX Features:
  40.  
  41. -  Reverse engineer existing PWADs.
  42. -  Compose your own wall textures, by reusing DOOM patches or adding
  43.    your own patches as .BMP or .GIF files.
  44. -  Load sounds as WAV., PC sounds as text (don't laugh!) and Music as
  45.    MUS. format.
  46. -  Add your own floors (still quite tricky. see manual).
  47. -  Add your own sprites (a bit tricky. see manual).
  48. -  Simple WAD creation directives from a text file.
  49. -  Simple directory structure (for the resources).
  50. -  Work in batch mode (like a compiler).
  51. -  Compatible with other level editors (like DEU).
  52. -  Merge a PWAD into the main IWAD, recreating the WAD directory, so
  53.    that ANY or ALL kinds of FLATS can be defined, while distributing
  54.    only the changed ones in the PWAD.
  55. -  Extract graphics, bitmaps and lumps out of your favorite PWAD, for
  56.    contemplation or reuse. (WITH WAD AUTHOR AGREEMENT ONLY!)
  57. -  Check your PWAD for errors in TEXTURE definitions.
  58. -  Create animated walls with (almost) any sequence of pictures.
  59. -  Create a non repeating sky texture.
  60.  
  61.  
  62.                                                                  page i
  63.  
  64.  
  65.  
  66.  
  67.                              -------------
  68.                                  DEUSF
  69.                              -------------
  70.  
  71.                   DeuSF stands for DEU Sprite and Flats.
  72.  
  73. DEU is a DOOM level editor by Brendon Wyber and Raphael Quinet.
  74.    (Heck, I know the DeuSF name is lame, but it's short.)
  75. DeuSF is inspired from DMADDS by Bernd Kreimeier, but is an alternative
  76. to it. DeuSF will enable you to distribute PWADS with only the SPRITES
  77. and/or FLATS that you wish to replace. There are some caveats here, so
  78. read the manual! DeuSF will work with PWADs composed for DMADDS, but
  79. DeuSF's preferred PWAD composer is of course DeuTex.
  80.  
  81. DEUSF Features:
  82.  
  83. -  Recreate a complete sprite and flat PWAD from a partial sprite or
  84.    flat PWAD and the main WAD of DOOM.
  85.  
  86.  
  87. WARNING: These programs have been used with DOOM2, but I cannot be
  88.          sure that all the functions will work perfectly with DOOM2.
  89.          The sprite names VILE[ VILE\ VILE] are not valid DOS file
  90.          names, and are replaced by VIL@A VIL@B VIL@C if and only
  91.          if used for file names.
  92.   
  93. ***************************** DISCLAIMER *****************************
  94.  
  95.     I cannot held be liable for damages consecutive to the use of
  96.     this program. I did my best to avoid any such occurrence, and
  97.     use only very basic commands. However, it is impossible to
  98.     state that these will work for all hardware and software
  99.     configurations.
  100.  
  101.  Legalese: Read the license information at the end of this manual.
  102.            DeuTex/DeuSF are freeware and Copyright (c) O.Montanuy 1994.
  103.            DeuSF can be freely distributed.
  104.            DeuTex cannot be distributed for *any* commercial purpose,
  105.            with the sole exception of Compuserve download charges.
  106.  
  107.  
  108. ***************************** WHAT'S NEW? *****************************
  109.  
  110. FUTURE (DeuTex 3.0)
  111. -  Color Quantization, allowing TGA/PPM support.
  112. -  VOC sounds.
  113. -  Loading of Dehacked patches in a clean fashion (IF ALLOWED BY ID).
  114. -  Second Visual Basic shell (still under progress.)
  115.  
  116. New in version 2.9:
  117. -  DeuSF -sprite bug corrected.
  118. -  New directory listing for sprites, music, sounds. Verbose.
  119. -  Some other bug corrections I'm not listing.(shame prevents)
  120. -  Sources now compile under Alpha and SGiX. (well, err...)
  121. -  Data Utility license executed: no more string handling functions.
  122.    Sorry, this is not allowed by ID software. Use DeHacked.
  123.  
  124. New in version 2.8:
  125. -  Small BMP bug corrected.
  126. -  Visual Basic shell version 1.2
  127.  
  128.                                                                 page ii
  129.  
  130.  
  131.  
  132.  
  133. New in version 2.7:
  134.  
  135. -  Bad news for those who didn't register DOOM. I have received mail
  136.    from John Romero which kindly requests that DeuTex work only for the
  137.    registered version of DOOM.
  138.    And when the Lord speaks...
  139. -  A Visual Basic shell for DeuTex. version 1.0 beta.
  140.  
  141.  
  142. New in version 2.6:
  143.  
  144. -  Unix version available (SUN SPARC, little endian processor).
  145. -  OS/2 and Linux version by Mark Mathews and Per Allansson.
  146. -  DeuSF supports viewpoints not available in DOOM.WAD.
  147. -  Removal of some bugs and restrictions of DeuTex and DeuSF.
  148. -  Verbose and Non-Verbose mode.
  149. -  Function to determine unused data in a WAD.
  150. -  Improvement of the user manual (just joking...).
  151. -  Converts all sounds to 11025 samples/second.
  152.  
  153.  
  154. Lacking in version 2.6:
  155.  
  156. -  MIDI support. If anyone can understand the code of Joachim...
  157.  
  158.  
  159. New in version 2.2:
  160.  
  161. -  Extension to -merge. You can now change the number of viewpoints of
  162.    a sprite. DOOM wants either one view point (ex: COLUA0) or eight
  163.    viewpoints (ex: COLUA1 COLUA2A8 COLUA3A7 COLUA4A6 COLUA5). These are
  164.    mutually exclusive. DEUTEX will delete those viewpoints you do not
  165.    want, but take care to provide all the necessary viewpoints, or else
  166.    DOOM will lockup.
  167. -  Extension to -extract. When extracting sound, you can now tell
  168.    DEUTEX to extract the whole entry, beyond the declared sound length.
  169.    This is necessary for some PWADs, who cheat with the sound entry
  170.    length. I dunno why. (I believe it's due to a feature of DMAUD).
  171. -  Extension to -make. When loading a sound, DEUTEX now converts to
  172.    11025 sample/s. Better not rely too much on this, and use a real
  173.    sound utility. This is only for convenience.
  174. -  DEUSF can now change the number of viewpoints of a sprite as well.
  175.    DEUSF will delete those viewpoints you do not want, but take care to
  176.    provide all the necessary viewpoints, or else DOOM will lockup.
  177. -  Some bug corrections. Nothing critical :-)
  178.  
  179.  
  180.  
  181. ************************** CONVIVIALITY ****************************** 
  182.  
  183. DeuTex and DeuSF have NO human interface. I will seriously frown upon
  184. complaints about the lack of human interface. DeuTex and it's companion
  185. DeuSF are MEANT to be run from BATCH files. Think of them as PWAD
  186. compilers. You write your batch file once, and run the batch to re-
  187. create your PWAD, each time you modify an entry.
  188. ***********************************************************************
  189.  
  190.  
  191.  
  192.  
  193.  
  194.                                                                page iii
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201. *************************** Known problems ****************************
  202.  
  203. -  DeuTex makes limited checks on your PWAD. I check only texture
  204.    consistency, and coherency of S_START/S_END,  F_START/F_END.
  205.    Any suggestions?
  206.  
  207. -  BMP 24bit color quantization is slow. I have a quite fast quantizer,
  208.    but it's a bit lossy, and needs *some* init time. Not implemented
  209.    in this version.
  210.  
  211. -  Entry type identification does not always work with every PWAD. No
  212.    general solution to this problem, only best effort. Void entries are
  213.    saved as LUMPS. Sprites and Flats are missed if conventions are not
  214.    respected. (files generated by hand or by WACKER-beta7)
  215.  
  216. -  GIF format defaults to GIF87.
  217.  
  218. -  BMP format is a bit hacked. My painting tools accept it, but Visual
  219.    Basic refuses it. If this happens, load the file with a good
  220.    program, overwrite it with a save from that program, and then it
  221.    will work. :-)
  222.  
  223. -  WAVE (.WAV) and AUDIO (.AU) file format are hacked. Might not
  224.    *always* work correctly. No one ever sent me the specs! If you have
  225.    the specs, my mailbox is waiting for your kind contribution!
  226.  
  227. -  No MIDI support. I dunno how to write the code, but I'm looking at
  228.    the code of Just_Joe (that I don't understand at all).
  229.  
  230. -  Levels must be complete before DeuTex will insert them in a PWAD.
  231.    This means: nodes, reject, blockmap and such must exist.
  232.  
  233. -  DeuSF does NOT test that all required sprite viewpoints are
  234.    available when changing viewpoints.  DOOM will lock up if you forget
  235.    one of the sprite viewpoints.
  236.  
  237. -  If the -app command is interrupted, the PWAD file becomes bigger due
  238.    to appended waste data, but it is still operational.
  239.  
  240. -  DeuSF says stupid things if no command is given.
  241.  
  242. -  Source is NOT included.
  243.         not yet.
  244.  
  245.  
  246.  
  247.  
  248.  
  249. *LIMITATIONS of DOOM
  250.  
  251. -  Sprites in PWADs only work if you don't reuse existing sprites. Use
  252.    DeuSF or DMADDS if you want to replace sprites. Actually, DeuTex
  253.    -merge will also work. (and better!)
  254.  
  255. -  Flats don't work in PWADs. Use DeuSF or DMADDS if you want to
  256.    replace Flats.  Deutex -merge will also work. (and better!)
  257.  
  258.  
  259.                                            
  260.                                                                 page iv
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267. ******************************* Contents *****************************
  268.  
  269. Data Utility License                                            i
  270. Features                                                        i
  271. Disclaimer                                                     ii
  272. What's  New?                                                   ii
  273. Conviviality                                                  iii
  274. Known Problems                                                 iv
  275.  
  276.  
  277. Chapter 1         OVERVIEW                                      1
  278.  
  279.              A) What is DeuTex?                                 1
  280.              B) Installation                                    1
  281.              C) Directories and DeuTex                          3
  282.              D) What do I need?                                 4
  283.              E) What do I do?                                   4
  284.              F) What is DeuSF for?                              4
  285.              G) What are the Palettes For?                      5
  286.  
  287.  
  288. Chapter 2         DIRECTORY STRUCTURE                           6
  289.  
  290.              A) \Levels                                         7
  291.              B) \Lumps                                          8
  292.              C) \Textures                                       9
  293.              D) \Sounds                                        10
  294.              E  \Graphics                                      10
  295.              F) \Sprites                                       11
  296.              G) \Flats                                         11
  297.              H) \Patches                                       12
  298.  
  299.  
  300. Chapter 3         DEUTEX COMMANDS                              13
  301.  
  302.              A) Complete Command Reference                     13
  303.              B) Help Commands                                  13
  304.              C) Optional Commands                              13
  305.              D) Commands to Compose or Decompose WADS          14
  306.              E) Commands for merging PWADS into the Main IWAD  15
  307.  
  308.  
  309. Chapter 4         DEUSF COMMANDS                               17
  310.  
  311.              A) Summary                                        17
  312.              B) Complete Command Reference                     18
  313.              C) Help Commands                                  18
  314.              D) Optional Commands                              18
  315.              E) Mandatory Commands                             19
  316.  
  317.  
  318. Chapter 5         FORMATS                                      20
  319.  
  320.              A) The WAD Creation Directive (WADINFO.TXT)       20
  321.              B) The Texture Definition File (MYTEXT.TXT)       23
  322.  
  323.  
  324.  
  325.  
  326.                                                                  page v
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333. Chapter 6         WORKING WITH WADS                               27
  334.  
  335.                     INTRODUCTION                                  27
  336.              A) How to Decompose a PWAD                           27
  337.              B) How to Create a PWAD with new TEXTURES            28
  338.              C) How to Create a PWAD with new SPRITES and FLATS   28
  339.              D) How to Create a PWAD with new SOUNDS              29
  340.  
  341. Chapter 7         TEST-ME or What's inside TRINITY.WAD?           30
  342.  
  343.              A) About Test-Me                                     30
  344.              B) Listing the Directory                             30
  345.              C) Decomposing TRINITY.WAD                           30
  346.              D) Recomposing TRINITY.WAD as TRINIDAD.WAD           31
  347.              E) Customizing TRINITY.WAD
  348.  
  349. Chapter 8         VBDEUTEX                                        32
  350.  
  351. Chapter 9         NECESSARY STUFF                                 33
  352.  
  353.              A) License Agreement                                 33
  354.              B) Legal Stuff                                       33
  355.              C) Thanx                                             35
  356.              D) Where to get DeuTex/DeuSF                         37
  357.              E) Final Words                                       37
  358.  
  359. APPENDICES
  360.              I) Switch Textures in DOOM.WAD                       38
  361.             II) Animated Wall Textures in DOOM.WAD                42
  362.            III) Sound Names for DOOM                              44
  363.  
  364.                    A) Sounds found in BOTH DOOM I and DOOM II     44    
  365.                    B) Sounds found ONLY in DOOM II                46
  366.  
  367.  
  368. AFTERWORD
  369.             Trinity.wad - How I Made It by Steve McCrea           48
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.                                                                 page vi
  393.  
  394.  
  395.  
  396.  
  397. CHAPTER 1
  398. ****************************** OVERVIEW *******************************
  399.  
  400. This manual has a lot of trees in it. This chapter will give you a view
  401. of the forest. DeuTex and DeuSF are powerful programs that will let you
  402. do almost anything you can imagine in composing or manipulating PWADS.
  403. Notice the word composing. Deutex is an Orchestra Conductor. It can
  404. perform whatever music you write for it brilliantly, but you must
  405. supply the musicians. A PWAD consists of many parts. DeuTex coordinates
  406. those parts to give you the PWAD you desire, but it doesn't create
  407. them. With DeuTex you have access to all the resources in the DOOM or
  408. DOOM II IWADS. Since it does so many things, it might seem a little
  409. 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
  410. need to learn about DeuTex is it's organization.
  411.  
  412. This organization is the reason for all the directories involved, and
  413. everything is actually pretty simple once it's explained. The DOOM and
  414. DOOM II WADs provide a framework. Your PWAD modifies the framework in
  415. various ways. For DeuTex, you put each type of change (sounds,textures,
  416. etc.) into it's own subdirectory. When you're ready to test, you run a
  417. batch file that takes all your modifications out of the directories and
  418. creates a PWAD from them.
  419.  
  420. A. WHAT IS DEUTEX?
  421.  
  422. DeuTex is a PWAD compiler. It allows you to organize ALL the resources
  423. you modify, and group them into your PWAD in a single step. This
  424. eliminates the need for running a different program for each type of
  425. editing you want to do (DMAUD, DMGRAPH, DMADDS, etc). DeuTex is NOT a
  426. map editor. Your final map with nodes, reject and blockmap already
  427. calculated is just another resource to DeuTex. If you don't redefine or
  428. create textures, flats sounds, etc. in your PWAD, you don't need
  429. DeuTex. If you redefine LOTS of stuff, you'll wonder how you got along
  430. without it.
  431.  
  432. If you've worked with wads before, you know how many times you have to
  433. go in and change something! With DeuTex, you just edit the resource you
  434. want to change, throw it back in it's subdirectory, and run the batch
  435. file to put everything together again.
  436.  
  437. B. INSTALLATION
  438.  
  439. DeuTex comes in zipped format. Naturally, you need a copy of PKUNZIP
  440. (v2.04G) to unzip it. If you don't have one, go get it! It's probably
  441. available the same place you got DeuTex. 
  442.  
  443. The file name is DEUTEX.ZIP or something like it. Depending on where
  444. you got it, the file name may differ, and there may be some changes due
  445. to different versions, but overall this manual should cover pretty much
  446. everything you want to know about it.
  447.  
  448. Different versions of DEUTEX contain different numbers of files. There
  449. are 28 files in the biggest one I know of. This manual contains all the
  450. text files from various versions, and thus makes them unnecessary.
  451. Whatever version you have, you should unzip it with the PKUNZIP -d
  452. option to retain the directory structure of the files. If you are
  453. upgrading from a previous version, don't unzip the new version in the
  454. same place as the old one. PKUNZIP will complain about creating
  455. directories that already exist.
  456.  
  457.                                                                  page 1
  458.  
  459.  
  460.  
  461.  
  462. You don't have to make a directory for DEUTEX itself, since it will be
  463. created when you unzip. Just copy the zip file to whatever directory
  464. you want to start from. When unzipped, DEUTEX.ZIP will still be there,
  465. but all the other files will have been placed in an assortment of
  466. subdirectories.
  467.  
  468. Type:           <path> PKUNZIP -d DEUTEX.ZIP
  469.  
  470. The -d tells PKUNZIP to keep the directory structure in the ZIP file.
  471. If you put your PKZIP files in a directory on your path, you won't need
  472. to type the path statement above, or ever again for that matter (when
  473. you unzip files, that is).
  474.  
  475. If everything goes as planned, DEUTEX.ZIP will blow up into something
  476. like the following structure (the example shown is the version with 28
  477. files mentioned above):
  478.  
  479. NOTE: \msdos may be \linux,\unix or \os2 depending on your version.
  480.  
  481. C:\ -------- deutex.zip
  482.    |_
  483.      \DEUTEX\ ------- file_id.diz
  484.             |         readme.txt
  485.             |_
  486.             | \MSDOS\*-- deusf.exe
  487.             |            deutex.exe
  488.             |            deutex.pif
  489.             |            vbdeutex.exe
  490.             |            vbdeutex.txt
  491.             |_
  492.             | \TEST-ME\ --- test-me.txt
  493.             |               trinity.bat
  494.             |               trinity.cmd
  495.             |_
  496.               \MANUAL\ ------- deusf.txt
  497.                      |         deutex.txt
  498.                      |         license.txt
  499.                      |         summary.txt
  500.                      |         thanks.txt
  501.                      |_
  502.                      | \EASY\ --- decompos.txt
  503.                      |            sound.txt
  504.                      |            sprites.txt
  505.                      |            texture.txt
  506.                      |_
  507.                        \ADVANCED\ ------- format.gif
  508.                                 |         format.txt
  509.                                 |         midi2mus.exe
  510.                                 |         soundlis.txt
  511.                                 |         trinity.txt
  512.                                 |         warning.txt
  513.                                 |_
  514.                                   \PALETTE\ ------- doompal.pal 
  515.                                                     doompal.ppm
  516.                                                     readme.txt
  517.  
  518. 17 of the 28 files listed above are text files that are incorporated
  519. in this manual. You can  delete them all. If you don't have a bulletin
  520. board fetish, you don't need file_id.diz either. Do what you like with
  521. DEUTEX.ZIP. Put it on a floppy in case you ever have to reinstall.
  522.  
  523.                                                                  page 2
  524.  
  525.  
  526.  
  527.  
  528.  
  529. After deleting the text files, do the following:
  530.  
  531. Leave DeuTex\test-Me alone, when you do this demo, you'll want it to be
  532. in its own directory.
  533.  
  534. Copy all the other remaining files to \DeuTex. Delete all the other
  535. directories except test-me. Now copy this manual to \DEUTEX, and let's
  536. look at what we have:
  537.  
  538. C:\_
  539.     \DEUTEX\ ------------------- deusf.exe
  540.            |                     deutex.exe
  541.            |                     deutex.pif
  542.            |                     deutxman.txt
  543.            |                     doompal.pal
  544.            |                     doompal.ppm
  545.            |                     format.gif
  546.            |                     midi2mus.exe
  547.            |                     vbdeutex.exe
  548.            |_
  549.              \TEST-ME\ --------- trinity.bat
  550.                                  trinity.cmd
  551.  
  552. Ahhh! That's better. You'll probably get rid of format.gif after you
  553. see the ascii art masterpiece gracing this manual, and after you do
  554. test-me and understand it, that's history, too! So now DeuTex looks
  555. like it might be manageable after all.                         
  556.  
  557. C. DIRECTORIES AND DeuTex
  558.  
  559. If this section's about directories, then what were we just talking
  560. about? Well, one reason it's a good thing to get DeuTex pared down to
  561. size on installation is that when you use it, there is a directory
  562. structure involved, and remembering one is easier than two, right?
  563.  
  564. Chapter 2 tells you all about the directories DeuTex uses, but this
  565. section will give you the general picture. I'm going to use an
  566. imaginary cakemaking machine to explain DeuTex's directories (I know,
  567. I know, it's stupid! <g>) To make cake with this machine, you put your
  568. flour in one, container, raisins in another, sugar another, milk,
  569. icing, walnuts, chocolate, eggs, etc. All your best stuff, each in it's
  570. own place. Then you flip the switch, and the machine thumps and smokes,
  571. and voila! Cake!
  572.  
  573. 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
  574. their own boxes. If you don't want raisins today, leave the sprites box
  575. empty. When all is in place, flip the switch (DeuTex -make, in a batch
  576. file preferably), DeuTex thumps and smokes for a little while, and
  577. voila! PWAD!
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.                                                                  page 3
  589.  
  590.  
  591.  
  592.  
  593. D. WHAT DO I NEED?
  594.  
  595. ************************** User Requirements *************************
  596.  
  597. ATTENTION: DeuTex is not completely trivial to use. It requires a
  598.            fully functional processing unit, with a least 10000 meg
  599.            of available neurons, some basic DOS and DOOM specs dynamic
  600.            libraries and at least 1 or 2 hours of spare processing
  601.            time, at a minimum 80% attention rate. You have been warned.
  602.  
  603. SUGGESTION: If you use DeuTex, try New Wad Tool, too. The two tools
  604.             combine very well together under DOS. (NWT is not available
  605.             for other O/S).
  606.  
  607. ************************ Hardware Requirements ***********************
  608.  
  609. This program is an ordinary DOS executable, compiled in a HUGE memory
  610. model, with 386 instructions. It does not make use of a math copro-
  611. cessor. It should run with about 500k of free base memory, or less. It
  612. might not run under a 286. It was tested on a Compaq LITE 4/33c and an
  613. IBM Thinkpad 755c.
  614.  
  615. Unix, Linux, OS/2, SGiX and Alpha versions are also available. 
  616.  
  617. E. WHAT DO I DO?
  618.  
  619. Please read this Manual before asking questions. My time on the net is
  620. limited. Bug reports ARE appreciated IF they come with the associated
  621. configuration files.
  622.  
  623. Read and be familiar with all the DOOM literature you can. Especially
  624. DOOMSPECS 1.3 by Matt Fell. Become familiar with the various editors
  625. you need to create the resources used in this program. DeuTex does not
  626. edit things. It puts the things YOU edit together.
  627.  
  628. When the foregoing is done, you take all your cool stuff. You put it in
  629. DeuTex's boxes. You give DeuTex the directions on what to DO with your
  630. stuff. You run DeuTex. That's All, Folks.
  631.  
  632. F. WHAT IS DEUSF FOR?
  633.  
  634. DeuSF is a program to help overcome some of DOOM's limitations, and
  635. still be able to distribute a reasonable sized PWAD. With SPRITES and
  636. FLATS, you have to replace EVERYTHING in order for DOOM to work right.
  637. This makes for a big PWAD, and it's not really legal to take DOOM's
  638. Sprites or Flats, put them in your PWAD, and then distribute them
  639. (kinda splitting hairs, I know). So DeuSF allows you to replace as few
  640. sprites and flats as you desire, and distribute IT with your PWAD. With
  641. the appropriate batch file, it will change things at the USER's site to
  642. enable your PWAD to play, without stepping on toes, or asking people to
  643. download multi megabyte single level PWADS!
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.                                                                  page 4
  655.  
  656.  
  657.  
  658.  
  659. G. WHAT ARE THE PALETTES FOR? 
  660.  
  661. These are the color palettes used by DOOM.
  662.  
  663. If you edit or create any graphics (Patches, sprites, etc.) in your
  664. favorite graphics program, the colors are liable to be different from
  665. the ones used in DOOM. When they are inserted in a PWAD, they need to
  666. be 'quantized', which is a fancy word for color-matched. Although this
  667. sounds simple, it can actually be quite involved. DeuTex has the
  668. capability, but design of a good quantizer was not the highest priority
  669. for the type of program DeuTex is. With this in mind, if you have any
  670. edited graphics you want to insert with DeuTex, you  should be aware of
  671. the following:
  672.  
  673. Avoid 24bit BMP format! 24bit BMP color quantization is slow. I have a
  674. quite fast quantizer, but it's a bit lossy, and needs *some* init time.
  675. Therefore, it's not implemented in this version.
  676.  
  677. Use 8bit (256 color) and have the color quantization done by a serious
  678. program.  If you don't quantize the colors, DeuTex will, but it's slow,
  679. and doesn't provide any dithering, so it's lame, too.
  680.  
  681. The enclosed color palettes are in the format of two good graphics
  682. programs. Use them to quantize your pictures, before you feed them to
  683. DeuTex.
  684.     
  685. doompal.pal is in the format used by PAINTSHOP PRO v2, a popular
  686. shareware graphics program with excellent color conversion capabilities.
  687.  
  688. To convert with doompal.pal in PAINT SHOP PRO:
  689.  
  690.       1)    load the file you want to convert
  691.       2)    in the color menu, select: load palette
  692.             browse to find doompal.pal and select it
  693.       3)    save the file as a bitmap (.BMP)
  694.  
  695. If you want to make a .PBM (portable bitmap), use ppmquant on your
  696. picture, with doompal.ppm as the reference for colors.
  697.  
  698. You know another method?   Just tell me!
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.                                                                  page 5
  721.  
  722.  
  723.  
  724.  
  725. CHAPTER 2
  726. ************************* DIRECTORY STRUCTURE *************************
  727.  
  728. First: You can enable DeuTex/DeuSF to locate your REGISTERED doom or
  729.        doom 2 files by creating an environment variable DOOMWADDIR that
  730.        points to your DOOM path like: 
  731.  
  732.        set DOOMWADDIR= d:\doom     (in autoexec.bat  under DOS)  
  733.        setenv DOOMWADDIR ~/doom    (in .tcshrc under Linux/Unix)
  734.  
  735.        This is important for the LINUX version, but with DOS the
  736.        command DeuTex -doom <doomdir> will achieve the same result.
  737.  
  738. DeuTex uses the following directory structure to store DOOM entries.
  739. First create a directory (call it MYWADIR or whatever) for your wad.
  740. Make sure DeuTex is on your path, or put a copy of it in MYWADIR. Put
  741. a copy of the wad you are working on (MYWAD.WAD) in MYWADIR.
  742.  
  743. Type:        DeuTex -xtract mywad.wad
  744.  
  745. DeuTex will automatically create the appropriate subdirectories and put
  746. all the WAD'S entries in the proper place. It will also create a file
  747. named WADINFO.TXT in MYWADIR. If your wad is a bare map level with no
  748. additions yet, you should get something like:
  749.  
  750.             \MYWADIR\--------mywad.wad
  751.                     |        wadinfo.txt
  752.                     |        DeuTex.exe (optional, if not on your path)
  753.                     |_
  754.                       \LEVELS\------ExMx.wad
  755.  
  756. Note that DeuTex will not OVERWRITE any existing files. In the example
  757. above, if you type DeuTex -xtract AGAIN, you will get an error message
  758. telling you the files already exist. You have to delete wadinfo.txt and
  759. ExMx.wad (or move them somewhere else) for xtract to work again. If you
  760. lose something you wanted to keep, don't blame DeuTex, it's innocent!
  761.  
  762. Now type :   DeuTex <-doom doom directory> -textures
  763.  
  764. DeuTex will read the textures from DOOM.WAD or DOOM2.WAD, list them in
  765. a file called TEXTURE1.TXT (and TEXTURE2.TXT for DOOM 1) and store them
  766. in a directory called TEXTURES, which it will create if it doesn't
  767. exist.
  768.  
  769. NOTE: The <-doom doom directory> command is optional. See Chapter 3 for
  770.       a complete description of when you should use it.
  771.  
  772. Your working directory should now look like this:
  773.  
  774.               \MYWADIR\-----mywad.wad
  775.                       |     wadinfo.txt
  776.                       |     DeuTex (optional)
  777.                       |_
  778.                       | \LEVELS\----ExMx.wad
  779.                       |_
  780.                         \TEXTURES\---texture1.txt
  781.                                      texture2.txt
  782.  
  783.  
  784.  
  785.  
  786.                                                                  page 6
  787.  
  788.  
  789.  
  790.  
  791. If your wad had any other resources (sprites, flats, sounds, etc.) in
  792. it and you used DeuTex -xtract, it would extract those resources, too.
  793. Then it would create the proper directory and store them in it.
  794.  
  795. If you want to add something to your wad, put it in the proper
  796. subdirectory (create it if it's not there), and tell wadinfo.txt about
  797. it. Chapter 5 FORMATS describes wadinfo.txt in detail.
  798.  
  799. Then type: DeuTex -make wadinfo.txt mywad.wad
  800.  
  801. DeuTex will read wadinfo.txt and go get all the resources it asks for
  802. from the directories. Then it will create mywad.wad from them. Note
  803. that if you create a wad from the above example, it  won't be any
  804. different than what you started out with! You need to put some
  805. ingredients into the mix before you see any results. THAT's what the
  806. other directories are for.
  807.  
  808. Again note that DeuTex won't overwrite mywad.wad if it exists. Since
  809. most of the stuff you'll do with DeuTex will be from a batch file, have
  810. it handle your housekeeping whatever way you like. Something like the
  811. following works pretty well:
  812.  
  813.         del mywad.wad
  814.         DeuTex -make wadinfo.txt mywad.wad
  815.         copy DOOM\WADS\mywad.wad mywad.bak
  816.         copy mywad.wad DOOM\WADS\mywad.wad
  817.  
  818. This way, if you find out you've really screwed things up when you test
  819. your wad, there's always a copy of the previous version to use.
  820.     
  821. DEUTEX SUBDIRECTORIES:
  822.  
  823. A. \LEVELS  
  824.  
  825. 'Bare' PWADS go here! A bare PWAD is one that you have edited and
  826. constructed the nodes, reject, and blockmap. The PWAD will then
  827. contain only the following 11 entries in IT'S directory: ExMx(MAPxx),
  828. THINGS, LINEDEFS, SIDEDEFS, VERTEXES, SEGS, SSECTORS, NODES, SECTORS,
  829. REJECT, and BLOCKMAP.
  830.  
  831. BEWARE: BLOCKMAP REJECT SSECTOR SEGS are not optional! they must have
  832.         been generated by your level editor (along with BSP, IDBSP,
  833.         REJECT, RMB, whatever).
  834.  
  835. THE FILES PUT HERE MUST BE DECLARED IN THE 'LEVELS' SECTION OF
  836. (WADINFO.TXT). ALL FILES MUST BE IN THE FORM ExMx.WAD OR MAPxx.WAD.
  837.  
  838. Suppose you want your PWAD to consist of two levels, E1M2 and E3M4.
  839. Name the two (bare) levels E1M2.WAD and E2M4.WAD, and put them here.
  840. Then edit the LEVELS section of WADINFO.TXT to read:
  841.  
  842. Begin: LEVELS
  843. E1M2
  844. E3M4
  845. End: LEVELS
  846.  
  847.      This tells DeuTex to look in the LEVELS\ subdirectory for E1M2.WAD
  848.      and E3M4.WAD.
  849.     
  850.  
  851.  
  852.                                                                  page 7
  853.  
  854.  
  855.  
  856.  
  857.  
  858. B. \LUMPS 
  859.  
  860. LUMPS are raw data for DOOM with the extension .LMP. If you have
  861. edited or created any of them for your PWAD, put them here. The
  862. following files are the LMPs used by DOOM. You can insert something
  863. else if you like, and DOOM will ignore it. It's a mystery why anyone
  864. would do this, but WAD builders are a mysterious bunch!
  865.  
  866. *********************** LUMPS recognized by DOOM **********************
  867.  
  868. PLAYPAL.LMP   Color PALETTES (14 of them consisting of 256 RGB triplets
  869.               each - 768 bytes/palette). The first one contains the
  870.               normal DOOM colors. The others temporarily 'tint' the
  871.               screen colors for different events in DOOM. (Item pickup,
  872.               Hurt and Berserk Reds, Radsuit Green etc...)
  873.  
  874. COLORMAP.LMP  Color MAPS.  There are 34 of these,consisting of
  875.               256 bytes each. These are NOT RGB triplets. They map
  876.               whatever PLAYPAL currently being displayed by DOOM to
  877.               darker colors corresponding to the light level in a
  878.               sector. These mapped colors are what you see on the
  879.               screen.  The first map corresponds to a light level of
  880.               247-255, and doesn't change the display at all. The 32nd
  881.               map corresponds to a light level of 0-7 and maps almost
  882.               all colors to the darkest one in the presently used
  883.               PLAYPAL. Map 32 makes everything black and white for
  884.               'invulnerability'. Map 33 is all zeros.
  885.  
  886. ENDDOOM.LMP   Text displayed when leaving DOOM. Use A program like TED
  887.               or ENDOOMER to edit this text.
  888.               (DO NOT REMOVE THE ID COPYRIGHT!)
  889.  
  890. DEMO1.LMP   / Demos recorded by DOOM.
  891. DEMO2.LMP  <  e.g. DOOM -record DEMO2 -file MYWAD.WAD
  892. DEMO3.LMP   \ Then move DEMO2.LMP here, and that's all!
  893.  
  894. DMXGUS.LMP    (DOOM)    / Text file remapping MIDI instruments 
  895. DMXGUSC.LMP   (DOOM II) \ for the Gravis Ultra Sound card.
  896.  
  897. GENMIDI       Instrument mapping for GENMIDI compatible cards.
  898.  
  899. ***********************************************************************
  900.  
  901. Suppose you have edited ENDOOM.LMP and recorded a new DEMO1.LMP  for
  902. your PWAD. Just put copies of them here, and declare them in the LUMPS
  903. section of WADINFO.TXT like this:
  904.  
  905.     Begin: LUMPS
  906.     ENDOOM
  907.     DEMO1
  908.     End: LUMPS
  909.  
  910.               and DeuTex will look here for ENDOOM.LMP and DEMO1.LMP
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.                                                                  page 8
  919.  
  920.  
  921.  
  922.  
  923.  
  924. C. \TEXTURES
  925.  
  926. This subdirectory contains a text file(s) describing the texture
  927. changes you want in your PWAD (Chapter 5 describes texture definition
  928. files). Your file can be given any name you want (except TEXTURE1.TXT
  929. or TEXTURE2.TXT). This name (without extension) is then entered in the
  930. TEXTURES section of WADINFO.TXT.
  931.  
  932. FILES PUT HERE HAVE THE EXTENSION (.TXT). THE TITLE OF ANY FILE PUT HERE MUST BE DECLARED IN THE TEXTURES SECTION OF WADINFO.TXT.
  933.  
  934. The file names TEXTURE1.TXT and TEXTURE2.TXT are reserved. Due to an
  935. amazing bug (in DOOM?), if there are any new or redefined textures in
  936. in a PWAD, DOOM no longer looks at it's existing TEXTURE1 list. If you
  937. use ANY new textures, TEXTURE1.TXT must be here or DOOM will crash.
  938. Also, TEXTURE1.TXT in this subdirectory should ALWAYS contain ALL the
  939. UNCHANGED TEXTURE1 definitions.
  940.  
  941. DeuTex defines all new and modified textures in TEXTURE1.
  942. TEXTURE2 is redefined only if needed. This way, it works with both DOOM1 and DOOM2 (TEXTURE2 does not exist in DOOM2).
  943.  
  944. DeuTex automatically looks here for TEXTURE1.TXT and TEXTURE2.TXT, so
  945. you don't need to declare them in WADINFO.TXT. This is because the
  946. order of declaration seems critical.
  947.  
  948. When DeuTex sees TEXTURE1.TXT here, it uses it to REPLACE the default
  949. TEXTURE1.TXT in the main DOOM.WAD. It then tacks on any other texture
  950. definition files you have put here. If you delete texture entries in
  951. the TEXTURE1.TXT or TEXTURE2.TXT file, make sure that you redefine them
  952. somewhere. If they are never defined, DOOM will halt when it looks for
  953. such a texture.
  954.  
  955.  
  956. EXAMPLES:
  957.  
  958. If you want to add ONLY new textures:
  959.  
  960.     - Run DeuTex -textures to get the textures.
  961.     - Leave TEXTURE1.TXT here.
  962.     - Delete TEXTURE2.TXT. (if you leave it, if will be loaded. No harm
  963.                             done but your PWAD will be about 8K bigger)
  964.     - Put your definition file here (e.g. MYTEXT.TXT), and declare
  965.       MYTEXT in the TEXTURES section of (WADINFO.TXT).
  966.  
  967. If you want to redefine textures in TEXTURE1:
  968.  
  969.     - Run DeuTex -textures to get the textures.
  970.     - Leave TEXTURE1.TXT here.
  971.     - Delete TEXTURE2.TXT. (if you leave it, if will be loaded. No harm
  972.                             done but your PWAD will be about 8K bigger)
  973.     - Cut the textures to be redefined from TEXTURE1.TXT and paste
  974.       them into MYTEXT.TXT. Edit them or change them as you wish.
  975.     - Declare MYTEXT in the TEXTURES section of WADINFO.TXT.
  976.       
  977.  
  978.  
  979.  
  980.  
  981.  
  982.                                                                  page 9
  983.  
  984.  
  985.  
  986.  
  987. If you want to redefine old textures (of TEXTURE2):
  988.  
  989.     - Run DeuTex -textures to get the textures.
  990.     - Leave TEXTURE1.TXT here.
  991.     - Leave TEXTURE2.TXT here.
  992.     - Cut the textures to redefine out of TEXTURE2.TXT and put them
  993.       in MYTEXT.TXT. Edit and change them as you wish.
  994.     - Declare MYTEXT in the TEXTURES section of WADINFO.TXT.
  995.  
  996.  
  997. APPENDICES I and II contain lists of the animated and switch textures
  998. from DOOM.WAD (Not the new ones from DOOM II, sorry. Use DeuTex to make
  999. your own list). Copy the portion you want to edit into MYTEXT.TXT. It's
  1000. a little easier than hunting through the entire TEXTUREx.TXT files.
  1001.  
  1002.  
  1003. D. \SOUNDS
  1004.  
  1005. Put your new sound files here in the correct format. They must have the
  1006. same name as the sound you want to replace (Appendix IV contains a list
  1007. of the sound names used in DOOM and DOOM II). Put the sound NAME
  1008. (no extension) in the SOUNDS section of WADINFO.TXT.
  1009.  
  1010. DeuTex uses the following formats for DOOM sound files:
  1011.  
  1012. MUSIC:                      [D_xxxxxx.MUS]
  1013.  
  1014. MUS format (RAW format, which can be created from MIDI files with
  1015. MIDI2MUS.EXE, provided by ddt).
  1016.  
  1017. SOUNDCARD SOUND EFFECTS:    [DSxxxxxx.WAV]
  1018.  
  1019. Windows WAVE file (.WAV). Use a converter if you prefer .AU.
  1020. Preferably use 11025 sample/second for your recording.
  1021.  
  1022. PC-SPEAKER:                  [DPxxxxxx.TXT]
  1023.  
  1024. Text files (.TXT) with numbers 0-255 
  1025.  
  1026. WARNING: DeuTex assumes that any file name beginning with: 
  1027.                      'D_' is music.
  1028.                      'DS' is soundcard sound effect.
  1029.                      'DP' is PC speaker sound effect.
  1030.  
  1031. E. \GRAPHICS
  1032.  
  1033. For DOOM pictures other than SPRITES, FLATS or TEXTURES. Put the
  1034. changed graphic FILE here in .BMP or .GIF format, and enter the NAME
  1035. (without extension) in the GRAPHICS section of WADINFO.TXT.
  1036.  
  1037. Suppose you have created new TITLEPIC.BMP and VICTORY2.BMP graphics.
  1038. Put the files here and just declare them in the GRAPHICS part, like:
  1039.  
  1040.      Begin: GRAPHICS
  1041.      TITLEPIC
  1042.      VICTORY2
  1043.      End: GRAPHICS 
  1044.  
  1045.               This tells DeuTex to look here for TITLEPIC.BMP (or .GIF)
  1046.               and VICTORY2.BMP (or .GIF).
  1047.  
  1048.                                                                 page 10
  1049.  
  1050.  
  1051.  
  1052.  
  1053. ************ Some examples of graphic entries in DOOM.WAD *************
  1054.  
  1055. HELP1      The HELP screen for DOOM 1.666.
  1056. HELP2      Second HELP screen for DOOM 1.666.
  1057. HELP       The HELP screen for DOOM 2.
  1058. TITLEPIC   The title pic for Doom (320 x 200).
  1059. CREDIT     The credits for DOOM (Don't touch!).
  1060. VICTORY2   The background of the victory scenes.
  1061. STCFNxx    The fonts for DOOM.
  1062. STxxxxx    Description of the status bar.
  1063. M_xxxxx    Description of the menus.
  1064.  
  1065. You can read Matt Fell's DOOMSPEC for other entries, or extract them for yourself with DeuTex -graphic -xtract DOOM.WAD.
  1066.  
  1067. F. \SPRITES 
  1068.  
  1069. Put your new sprites here in (.BMP) or (.GIF) format.
  1070.  
  1071. WARNING: DOOM WILL LOCK UP IF YOU ATTEMPT TO REPLACE ONLY SOME OF THE
  1072.          EXISTING SPRITES! Either replace all the sprites with DEUTEX
  1073.          -iwad -make or replace only some of the sprites and use DEUSF
  1074.          -add, DEUSF -append or DEUTEX -merge.
  1075.  
  1076. Suppose you want to insert SPOSA1.GIF and TROOB2.BMP as new sprites.
  1077. Put the files here, and then declare them in the SPRITES section of
  1078. WADINFO.TXT, like:
  1079.  
  1080.      Begin: SPRITES
  1081.      SPOSA1
  1082.      TROOB2
  1083.      End: SPRITES
  1084.  
  1085.                      This tells DeuTex to look here for SPOSA1.BMP
  1086.                      (then SPOSA1.GIF) and TROOB2.BMP.
  1087.  
  1088. G. \FLATS
  1089.  
  1090. For new floors and ceilings as 64x64 (.BMP) or (.GIF) files.
  1091.  
  1092. WARNING: TO MAKE USE OF YOUR NEW FLATS, YOU MUST MERGE YOUR PWAD WITH
  1093.          DOOM.WAD OR USE DEUSF TO REGENERATE ALL THE FLATS OF THE MAIN
  1094.          IWAD INTO YOUR PWAD.
  1095.  
  1096. Sorry, but this is a limitation of DOOM, not of DeuTex. FLATS inserted
  1097. here will not crash DOOM when the PWAD is run because I don't use the
  1098. regular F_START F_END delimiters that confuse DOOM. Your PWAD *WILL*
  1099. fail when it references those FLATS, so heed the warning above.
  1100.  
  1101. Suppose you want to insert MUDDY.BMP and HATCH.BMP as new Flats. Put
  1102. the FILES here, and declare them (no extension) in the FLATS section of WADINFO.TXT, like:
  1103.  
  1104.      Begin: FLATS
  1105.      MUDDY
  1106.      HATCH
  1107.      End: FLATS
  1108.  
  1109.              This tells DeuTex to look here for MUDDY.BMP and
  1110.              HATCH.BMP, BUT, SEE WARNING ABOVE!
  1111.  
  1112.                                                                 page 11
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118. H. \PATCHES
  1119.  
  1120. Put any new PATCHES here as (.BMP) or (.GIF) files. DeuTex will load any .BMP or .GIF files it finds here. They don't have to be part of a redefined texture in MYTEXT.TXT. If you want the little man in the danger symbol to be a little woman, just edit the patch, and throw it in here. You don't need to redefine all the textures that contain it.
  1121.  
  1122. Note that WADINFO.TXT contains no PATCHES section. The texture
  1123. definition file in the \TEXTURES directory of describes where PATCHES
  1124. go in your new textures. When DeuTex reads WADINFO.TXT, it finds the
  1125. name of your texture definition file in the TEXTURES section (e.g.
  1126. MYTEXT). It then looks for MYTEXT.TXT in the \TEXTURES subdirectory.
  1127. It looks here for any PATCHES mentioned in MYTEXT.TXT.
  1128.  
  1129. NOTE: If you declare a NEW or MODIFIED patch in MYTEXT.TXT, there MUST
  1130.       be a corresponding .BMP or .GIF file here.
  1131.  
  1132. EXAMPLE:
  1133.  
  1134. Suppose you want to create a new TEXTURE called MYDOOR, which contains
  1135. two new PATCHES called WOODEN0 and KNOB0, and a modified WARNA0 patch.
  1136. The new TEXTURE also contains the existing EXIT1 patch.
  1137.  
  1138. FIRST: Put WOODEN0.BMP, KNOB0.BMP, and WARNA0.BMP here. 
  1139.  
  1140. THEN: Define your new TEXTURE in MYTEXT.TXT as shown below:
  1141.  
  1142.   Begin: TEXTURES
  1143.       MYDOOR                256   128   # a 256x128 wall with ...
  1144.       *     WOODEN0           0     0   # a 256x128 background
  1145.       *     KNOB0            64   100   # and a small knob at (64,100)
  1146.       *     WARNA0          128    12   # a lite at top/center
  1147.       *     EXIT1           128    32   # the word exit in the center
  1148.     End: TEXTURES
  1149.  
  1150.  The asterisks tell DeuTex to look here for PATCHES called WOODEN0.BMP,
  1151.  KNOB0.BMP, WARNA0.BMP and EXIT1.BMP. Note that WOODEN0 had better be
  1152.  256x128 or bigger, otherwise there will be at least one void column,
  1153.  and DOOM will complain and stop. If an existing PATCH is called for,
  1154.  and no entry by that name exists here, the old patch will be used.
  1155.  
  1156. NOTE:
  1157. DeuTex SHOULD automatically look here for ALL patches mentioned in
  1158. MYTEXT.TXT. Sometimes it fails to replace patches that already exist in
  1159. DOOM.WAD (e.g. WARNA0 above). Then the patch will be displayed as the
  1160. old patch even though you meant to change it. If this happens, put the
  1161. unrecognized patch in the GRAPHICS\ subdirectory, and declare it
  1162. explicitly in the GRAPHICS section of WADINFO.TXT.
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.                                                                page 12
  1175.  
  1176.  
  1177.  
  1178.  
  1179. CHAPTER 3
  1180.  
  1181. *************************** DeuTex Commands ***************************
  1182.  
  1183. A. COMPLETE COMMAND REFERENCE
  1184.  
  1185. I am lying: It's not complete, but those commands not mentioned here
  1186. are for the Visual Basic Shell, and you'll never use them. Commands
  1187. with an '*' are not implemented in the VB version. I forgot them.
  1188. All optional commands must appear before non-optional ones or else
  1189. they will be ignored.
  1190.  
  1191. The Command Line Format is:
  1192.  
  1193. DEUTEX <-optional cmd.> ,..., <-non-optional cmd.>,...,etc.
  1194.  
  1195. B. HELP COMMANDS
  1196.  
  1197.   -help    This one won't help you a lot, but it will give you the
  1198.            parameters.
  1199.  
  1200.   -syntax  Prints a short listing of the format of WAD creation
  1201.            directives (wadinfo.txt). See the FORMATS section of this
  1202.            manual for a more complete explanation.
  1203.  
  1204. C. OPTIONAL COMMANDS
  1205.  
  1206.   -doom <doom directory>
  1207.  
  1208.             Use this command to indicate the directory containing
  1209.             DOOM.WAD and DOOM.EXE or DOOM2.WAD and DOOM2.EXE.
  1210.  
  1211.             If this command is not used, DeuTex looks first in the
  1212.             current directory for DOOM. Then it looks in the current
  1213.             directory for DOOM2. Then it looks in the root directory of
  1214.             the current drive for a directory called DOOM, and finally
  1215.             looks in the root directory of the current drive for a
  1216.             directory called DOOM2. The first DOOM it finds is used. 
  1217.  
  1218.             EXAMPLE:    DEUTEX -doom C:\GAMES\DOOM
  1219.  
  1220.   -dir <working directory>
  1221.  
  1222.             DEFAULT IS: CURRENT DIRECTORY. This defines the working
  1223.             directory, into which you or DeuTex will put the WAD
  1224.             creation directives (WADINFO.TXT). All subdirectories
  1225.             containing PWAD parts will branch from here. The completely
  1226.             assembled PWAD will also reside here.
  1227.  
  1228.   -deu*     Use this if you want DeuTex to add 64K of junk at the end
  1229.             of your PWAD. Why? To compensate for a bug in DEU 5.21,
  1230.             that makes it sometimes crash when viewing pictures.
  1231.  
  1232.   -rgb* <R> <G> <B>
  1233.  
  1234.             When you include GIF or BMP with DeuTex, the color CYAN
  1235.             (R=0 G=255 B=255) is assumed to be transparent.  You can
  1236.             specify here an alternate color to represent transparency.
  1237.             (Only the pixel of EXACTLY that color will be transparent).
  1238.  
  1239.  
  1240.                                                                 page 13
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.   -bmp      File format to use when EXTRACTING pictures. DeuTex will
  1247.   -gif      recognize either one when STORING pictures in a PWAD. The
  1248.             DOS version defaults to .BMP; the UNIX version defaults to
  1249.             .GIF. Avoid the 24bit BMP format! Use 8bit (256 color) and
  1250.             have the color quantization done by a serious program. Mine
  1251.             works if you need it, but it's lame. See "What are the
  1252.             Palettes For?" in Chapter 1. 
  1253.  
  1254.   -wave     File format to use when EXTRACTING sounds (DeuTex will
  1255.   -au       recognize either one when INSERTING sounds). The DOS
  1256.             version defaults to .WAV; the UNIX version defaults to .AU.
  1257.  
  1258. -fullsnd*   If the real size of the sound entry is larger than the
  1259.             declared sound length, -fullsnd enables you to extract the
  1260.             complete sound entry.
  1261.  
  1262.   -level    These tell DeuTex to select sprite, patch, sounds, etc ...
  1263.   -lump     when composing/decomposing/merging PWADS.  These commands
  1264.   -sound    can be combined.  By default, all entries are selected.
  1265.   -graphic
  1266.   -sprite
  1267.   -patch
  1268.   -flat
  1269.      
  1270.   -iwad     To be used with -make, this command makes an IWAD instead
  1271.             of a PWAD. This is necessary if you are building a PWAD
  1272.             which contains all the sprites or all the flats. Enables
  1273.             you to rebuild DOOM.WAD if really needed.
  1274.  
  1275.  
  1276. D. COMMANDS TO COMPOSE OR DECOMPOSE PWADS
  1277.  
  1278. -wadir <thatcool.wad>
  1279.  
  1280.             Directory list, with entry identification.  Exact entry
  1281.             identification is sometimes impossible in a PWAD. In that
  1282.             case, SPRITES, FLATS or PATCHES might be reported as
  1283.             GRAPHICS.
  1284.  
  1285. -xtract  <thatcool.wad>
  1286. -extract <thatcool.wad>
  1287.  
  1288.             Will extract lumps, graphics, floors, patches, sprites,
  1289.             sounds, levels from a WAD and put them into a subdirectory
  1290.             of the with the same name. Also lists any texture entries
  1291.             of the wad in a file called TEXTURE1.TXT, which it puts in
  1292.             a subdirectory called \TEXTURES. If a given subdirectory
  1293.             does not exist, it will be created. Also creates the file
  1294.             WADINFO.TXT in the working directory. The working directory
  1295.             is the directory the command is entered from unless -dir is
  1296.             used to specify one.  See the chapter on FORMATS for a
  1297.             description of WADINFO.TXT and TEXTURE1.TXT. This command
  1298.             will not overwrite already existing entries. It will
  1299.             complain and stop instead. 
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.                                                                 page 14
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312. -textures   Lists the textures contained in DOOM.WAD or DOOM2.WAD into
  1313.             text files, TEXTURE1.TXT and TEXTURE2.TXT (TEXTURE2.TXT
  1314.             does not exist in DOOM2). The files are deposited in a
  1315.             subdirectory called TEXTURES. If \TEXTURES does not exist,
  1316.             it will be created. This command will not overwrite
  1317.             TEXTURE1.TXT or TEXTURE2.TXT if they are already present.
  1318.  
  1319. -make     <wadinfo.txt>  <myown.wad>
  1320. -build    <wadinfo.txt>  <myown.wad>
  1321. -create   <wadinfo.txt>  <myown.wad>
  1322.  
  1323.             Reads WADINFO.TXT and uses it to compose MYOWN.WAD from the
  1324.             files in the subdirectories. See FORMATS for a description
  1325.             of WADINFO.TXT. MYOWN.WAD will be created in the current
  1326.             directory. If it already exists, it WON'T be overwritten,
  1327.             so it must be deleted to create a new version. This
  1328.             command replaces DMGRAPH, DMMUS, DMTEX and DMAUD. (DMAUD
  1329.             recognises more formats than .WAV and .AU, but it doesn't
  1330.             work with DOOM v1.666 or DOOM2).
  1331.  
  1332. -check  <myown.wad>
  1333.  
  1334.           Will look for any textures defined in MYOWN.WAD which contain
  1335.           void columns that would crash DOOM. Use this after modifying
  1336.           textures (Similar to the way you use checks in DEU).
  1337.  
  1338. -unused <thatlame.wad>
  1339.  
  1340.           Checks for unused bytes in a PWAD.  Reports all the unused
  1341.           zones, total number of byte wasted, and the repartition
  1342.           depending on size of wasted areas.
  1343.  
  1344.  
  1345.  
  1346. E. COMMANDS FOR MERGING PWADs INTO THE MAIN IWAD
  1347.  
  1348.  
  1349. -merge  <myown.wad>
  1350.  
  1351.             Will put the entries of MYOWN.WAD into the main DOOM.WAD
  1352.             file, thereby removing all restrictions DOOM puts on PWAD.
  1353.             This is much safer and much cleaner than inserting or
  1354.             restoring entries with DMGRAPH or such, but your IWAD IS
  1355.             modified. Usually used for SPRITES and FLATS.
  1356.  
  1357. -restore    Will restore DOOM.WAD and the merged MYOWN.WAD.  To be used
  1358.             after the -merge command, to undo the job. Files are
  1359.             reconstructed using information stored in the IWAD at the
  1360.             time the -merge is done.
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.                                                                 page 15
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378. NOTE ON SAFETY:
  1379.                 - ONLY 8 BYTES of DOOM.WAD are modified
  1380.                   (but the PWAD file size increases about 32K...)
  1381.                 - If all else fails, you can restore you IWAD by hand.
  1382.                 - MYOWN.WAD is put INTACT into DOOM.WAD. It can then be
  1383.                   deleted since -restore recreates it. This is barely a
  1384.                   modification at all!
  1385.                 - Only about 32k of additional disk space are needed.
  1386.  
  1387. How does it work?
  1388.  
  1389.              - Restoration information is added at the end of the IWAD.
  1390.              - Then the PWAD is pasted intact at the end of the IWAD. 
  1391.              - The IWAD directory is rebuilt (about 32K) and appended.
  1392.              - The pointer to the DOOM directory is modified (8 bytes). 
  1393.  
  1394. I did my best make this command the safest possible. I have tested
  1395. this command thoroughly and believe it can be trusted. Be aware,
  1396. however, that the resulting IWAD might not work with DOOM if the
  1397. included PWAD does not respect some conventions about SPRITES and
  1398. FLATS. If this happens, the files are still safe, just -restore them.
  1399.  
  1400. The conventions a PWAD must follow are: 
  1401.  
  1402.         -There must be F_START or FF_START before the first flat.
  1403.         -There must be S_START or SS_START before the first sprite.
  1404.  
  1405. Sorry, but there is NO OTHER WAY if we want to be able to add new
  1406. sprites and flats that are unreferenced in DOOM.WAD.
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.                                                                 page 16
  1439.  
  1440.  
  1441.  
  1442.  
  1443. CHAPTER 4
  1444. *************************** DeuSF Commands ****************************
  1445.  
  1446. A. SUMMARY:   
  1447.  
  1448. DeuSF is an improved replacement for DMADDS.  It adapts to all versions
  1449. of DOOM, requires a less perverted PWAD structure and appends to a PWAD
  1450. rather than generating a new PWAD (thereby saving space). DeuSF will
  1451. work with PWADs composed for DMADDS, and should work for ones composed
  1452. for DMADDF. Of course, the PREFERRED PWAD composer for DeuSF is DeuTex!
  1453.  
  1454. The code for DeuSF is 80% the same as that of DeuTex. The DeuSF -app
  1455. command is just a modified version of the amazing DeuTex -merge command
  1456. (the ONLY command that removes ALL PWAD limitations :->)
  1457.  
  1458. DeuSF need only be applied to PWADS that contain:
  1459.  
  1460.     -some sprites to replace those of DOOM.WAD.
  1461.     -some flats to replace those of DOOM.WAD.
  1462.  
  1463. DeuSF need NOT be used if:
  1464.  
  1465.     - the PWAD contains *all* the sprites of DOOM.WAD
  1466.     - the PWAD contains *all* the flats of DOOM.WAD
  1467.     - the PWAD contains sprites which are not referenced in 
  1468.       DOOM.EXE. (a DeHacked patch is needed to have them work)
  1469.  
  1470. DeuSF can only be used on PWADs that respect a precise format:
  1471.  
  1472.  - Sprites are identified only if comprised between:
  1473.  
  1474.           S_START or SS_START    and    S_END or SS_END 
  1475.  
  1476.  -Flats (floor/ceilings) are identified only if comprised between:
  1477.  
  1478.           F_START or FF_START    and    F_END or FF_END  
  1479.  
  1480. If this format is NOT respected, DeuSF fails to identify entries
  1481. correctly. This is because in IWAD and PWAD entries there is nothing
  1482. internal to a Sprite or Flat that identifies it as such. This format is
  1483. generated by DeuTex automatically, and is compatible with DMADDS.
  1484.  
  1485. DeuSF is meant to be distributed with your PWAD, so it has no
  1486. restrictions on distribution (Unlike DeuTex, see License Section). This
  1487. lets you send DeuSF with your PWAD, along with a batch file like the
  1488. one in the following example. Your PWAD contains new sprites and flats,
  1489. but not all of them. Your batch file might read:
  1490.  
  1491.           DeuSF -app mywad.wad
  1492.           DOOM -file mywad.wad -warp x x
  1493.           DeuSF -res mywad.wad
  1494.  
  1495. The first command appends the necessary Sprites and Flats.
  1496. The second command plays the wad.
  1497. The last command restores everything to where it was.
  1498.  
  1499. This kind of PWAD should PREFERABLY be built with DeuTex.
  1500.  
  1501.  
  1502.  
  1503.  
  1504.                                                                 page 17
  1505.  
  1506.  
  1507.  
  1508.  
  1509. An example of DeuSF usage on ALIENDOOM 1.0:
  1510.  
  1511.  DeuSF -doom c:\doom -sprite -add ALIENGFX.WAD ALINGRFX.WAD
  1512.  
  1513.  or, even better:
  1514.  
  1515.  DeuSF -doom c:\doom -sprite -app ALIENGFX.WAD
  1516.  
  1517. You *should* take the time to evaluate this tool even if you're not
  1518. convinced at all. Trust that this time won't be wasted.
  1519.  
  1520.  Note: version 1.0 of NewWadTool is not as powerful as DeuSF for
  1521.        inserting sprites and flats. This should improve in future
  1522.        versions, eventually achieving full compatibility between the
  1523.        two tools.
  1524.  
  1525.  
  1526. B. COMPLETE COMMAND REFERENCE:
  1527.  
  1528.  All optional commands must appear before non-optional ones or
  1529.  else they will be ignored.
  1530.  
  1531. Command Line Format:
  1532. DeuSF <optional cmd.>,...,<non-optional cmd.>,...,etc.
  1533.  
  1534.  
  1535. C. HELP COMMANDS
  1536.  
  1537.   -help     Lists these parameters.
  1538.  
  1539.   -format   Displays a summary of the format conventions a PWAD must
  1540.             follow so that DeuSF can recognize Sprites and Flats
  1541.             properly.
  1542.  
  1543.   -wadir <thatcool.wad>
  1544.  
  1545.             Scrolls the entries in the PWAD directory down the screen,
  1546.             along with what type DeuSF thinks each entry is (sprite,
  1547.             flat, graphic, etc.). For a PWAD with many entries, you may
  1548.             want to pipe this command (i.e. DeuSF -wadir | more) to
  1549.             ease readability. Used to check if DeuSF recognises all the
  1550.             entries correctly, for instance when there is a problem
  1551.             with -app or -add.
  1552.  
  1553.  
  1554. D. OPTIONAL COMMANDS
  1555.  
  1556.  
  1557.   -doom <doom directory>
  1558.  
  1559.             Use this command to indicate the directory containing the
  1560.             DOOM.WAD and DOOM.EXE you want to use. See the description
  1561.             in  the DeuTex command reference for default information.
  1562.  
  1563.             For example:      DeuSF -doom C:\GAMES\DOOM
  1564.  
  1565.   -sprite   Use with -add or -app, to add only sprites or only flats.
  1566.   -flat     Default for -add and -app is to add both.
  1567.  
  1568.  
  1569.  
  1570.                                                                 page 18
  1571.  
  1572.  
  1573.  
  1574.  
  1575. E. MANDATORY COMMANDS (one of the following will always be used)
  1576.  
  1577. -add  <myown.wad> <allsf.wad>
  1578.  
  1579.             Will create a new file, ALLSF.WAD, containing all the
  1580.             sprites and flats of DOOM.WAD together with those contained
  1581.             in MYOWN.WAD.
  1582.  
  1583. -app  <myown.wad>
  1584.  
  1585.             Will append to MYOWN.WAD only those sprites of DOOM which
  1586.             are not redefined. This saves disk space, compared to -add
  1587.             command.
  1588.  
  1589. -res <myown.wad>
  1590.  
  1591.             Restores a PWAD which had been modified with -app command.
  1592.             Quite safe.
  1593.  
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599.  
  1600.  
  1601.  
  1602.  
  1603.  
  1604.  
  1605.  
  1606.  
  1607.  
  1608.  
  1609.  
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615.  
  1616.  
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.                                                                 page 19
  1637.  
  1638.  
  1639.  
  1640.  
  1641. CHAPTER 5
  1642.  
  1643. ******************************* FORMATS *******************************
  1644.  
  1645.                       ----------------------------
  1646. A)                     The WAD Creation Directive
  1647.                               WADINFO.TXT
  1648.                       ----------------------------
  1649.  
  1650. The creation directive file is used by the DeuTex -make command to
  1651. compile a PWAD containing all of the desired enhancements. It is
  1652. automatically generated by the -xtract command and placed in the
  1653. working directory (e.g. MYWAD\). You can rename this file whatever you
  1654. like, and reference it when you use the -make or -merge commands.
  1655.  
  1656. The file lists most of the entries which will be present in the PWAD
  1657. file (with the exception of PATCHES and PNAMES, see note below). It
  1658. contains 6 sections: LEVELS LUMPS TEXTURES SOUNDS GRAPHICS FLATS.
  1659. They are in the same order as found in DOOM.WAD and DOOM2.WAD.
  1660. The sections MUST appear in this order. Those not in the right order
  1661. will be ignored without warning. All sections are optional, and may be
  1662. deleted provided the remaining sections are in the correct sequence.
  1663.  
  1664. NOTE: There is no PATCHES section. PATCH loading is automatic.
  1665.       No PNAMES entry is defined. PNAMES creation is automatic.
  1666.       TEXTURE1 and TEXTURE2 are reserved TEXTURE names. TEXTURE1 must
  1667.       be present if *any* texture is redefined. TEXTURE2 does not have
  1668.       to be present if no registered (DOOM1) texture is redefined. If
  1669.       it is, no harm done, but your PWAD will be about 8K larger.
  1670.  
  1671.  
  1672. ************************ WADINFO.TXT *****************************
  1673. #
  1674. # Lines beginning with '#' are comments.
  1675. # An asterisk after an entry means set equal to preceding entry
  1676. #
  1677. # The LEVELS section define the DOOM1 levels and DOOM2 maps.
  1678. #
  1679. Begin: LEVELS
  1680. E1M2        #DeuTex will look for LEVELS\E1M2.WAD
  1681. MAP04       #DeuTex will look for LEVELS\MAP04.WAD
  1682. End: LEVELS
  1683. #
  1684. # E1M2.WAD must contain all the 11 entries that define a level.
  1685. # meaning the NODES, BLOCKMAP and REJECT must have been built.
  1686. # if E1M2.WAD contains one level, it will be selected.
  1687. # if E1M2.WAD contains many levels, the one named 'E1M2' will be
  1688. # selected.
  1689. #
  1690. # The LUMPS section defines the lumps of raw data for DOOM.
  1691. #
  1692. Begin: LUMPS
  1693. ENDOOM                #DeuTex will look for LUMPS\ENDOOM.LMP
  1694. DEMO1                 #DeuTex will look for LUMPS\DEMO1.LMP
  1695. End: LUMPS
  1696. #
  1697. # See Directory Structure - LUMPS\ for a precise description of all
  1698. # these entries. Apart from the DEMO or possibly ENDOOM, there is no
  1699. # real need to mess with them. DEMOs can be recorded by DOOM.
  1700. #
  1701.                                                                 page 20
  1702.  
  1703.  
  1704.  
  1705.  
  1706. # The TEXTURES section defines the new textures.
  1707. #
  1708. Begin: TEXTURES #DeuTex will first load   MYWADIR\TEXTURES\TEXTURE1.TXT
  1709. MYWALLS         #DeuTex will look for     MYWADIR\TEXTURES\MYWALLS.TXT
  1710.                 #DeuTex will now look for MYWADIR|TEXTURES\TEXTURE2.TXT
  1711. End: TEXTURES
  1712. #
  1713. # In the example above, if DeuTex does not find
  1714. # MYWADIR\TEXTURES\TEXTURE1.TXT, it is not loaded, the normal TEXTURE1
  1715. # textures from DOOM will not be present, and your PWAD will crash.
  1716. # Therefore, if you REDEFINE or CREATE ANY texture (from TEXTURE1 *OR*
  1717. # TEXTURE2), TEXTURE1.TXT (with the redefined entry removed) MUST be
  1718. # present. It must ALWAYS be loaded first. Must be a bug...
  1719. #
  1720. # TEXTURE2 is optional. Redefine it only if you need to modify one of
  1721. # the DOOM1 registered textures. DOOM2 does not contain a TEXTURE2
  1722. # entry. If it's here when it's not needed, it will be loaded. 
  1723. # This won't hurt your PWAD, except to make it 8K fatter. 
  1724. #
  1725. # The SOUNDS section defines MUSIC, PCSOUNDS and WAVE SOUNDS
  1726. #
  1727. Begin: SOUNDS
  1728. D_E2M3                  #DeuTex will look for SOUNDS\D_E2M3.MUS. It
  1729.                         #must be present or your wad will make DOOM
  1730.                         #stop and your computer lock up.
  1731.                         #this is the music of Episode2 Mission3
  1732. D_E3M4            *     #sets D_E3M4 music to be equal to D_E2M3
  1733. D_MAP01           *     #set  D_MAP01 music to be equal to D_E2M3
  1734. DSSLOP                  #DeuTex will look for SOUNDS\DSSLOP.WAV or .AU
  1735.                         #this is a WAVE sound, meant for sound cards.
  1736. DPSLOP                  #DeuTex will look for SOUNDS\DPSLOP.TXT
  1737.                         #this is a PC speaker sound.
  1738. End: SOUNDS
  1739. #
  1740. # MUS format can be obtained from MIDI with MIDI2MUS, or converted
  1741. # back to MIDI by MUS2MIDI (by just_joe). These are separate utilities.
  1742. # This is not a feature of DeuTex because I have no knowledge of MIDI.
  1743. #
  1744. # The WAV and AU format were hacked. DeuTex can't read compressed data.
  1745. #
  1746. # The format PC-speaker sound is a list of integers (range 1-255).
  1747. # Must represent the inverse of frequency or something. I dunno. 
  1748. #
  1749. #
  1750. # The GRAPHICS section defines all the fixed pictures.
  1751. # (Not sprites, patches, or flats)
  1752. #
  1753. Begin: GRAPHICS
  1754. WIMAP1                  #DeuTex will load GRAPHICS\WIMAP1.BMP     
  1755. STHURT1    23    45     #DeuTex will load GRAPHICS\STHURT1.BMP
  1756.                         #and set the insertion point to 23,45
  1757. STHURT2           *     #DeuTex will set STHURT2 equal to STHURT1
  1758. End: Graphics
  1759. #
  1760. # Fixed pictures include: opening screen, texts (!), menus,
  1761. # status bar, ending pictures ...
  1762. # You can only use names already defined in DOOM. Otherwise DOOM will
  1763. # ignore them. (you'll be warned :-)
  1764. #
  1765. #
  1766.                                                                 page 21
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772. # This section declares the SPRITES.
  1773. #
  1774. Begin: SPRITES
  1775. BOSSB1                  #DeuTex will load SPRITES\BOSSB1.BMP or .GIF
  1776.                         #and calculate insertion point by itself
  1777. BOSSA1        10  20    #DeuTex will load SPRITES\BOSSA1.BMP or .GIF
  1778.                         #and set the insertion point to 10,20
  1779. BOSSA2A8    *           #DeuTex will set BOSSA2A8 equal to BOSSA1
  1780. End: SPRITES
  1781. #
  1782. # If you redefine ALL sprites, use the -iwad option.
  1783. # Otherwise, you'll have to use DeuSF to rebuild a complete sprite PWAD
  1784. # each time the WAD is played. This is because of a limitation of DOOM
  1785. # which still has not been removed (ask ID software about it).
  1786. #
  1787. #
  1788. # Don't declare your patches. 
  1789. # A patch, say xxxx, will automatically be loaded into the PWAD from
  1790. # the file PATCHES\xxxx.BMP (or .GIF) if:
  1791. #
  1792. #  - 'xxxx' is referenced in one of the TEXTURE files, as a patch.
  1793. #  - 'xxxx' exists as a patch in the original DOOM, and the file 
  1794. #    PATCHES\xxxx.BMP (or .GIF) exists. (replacement of existing patch)
  1795. #
  1796. #
  1797. #
  1798. # The FLATS section declares the Floors and Ceilings
  1799. #
  1800. Begin: FLATS
  1801. GRASS             #DeuTex will load FLATS\GRASS.BMP (or .GIF)
  1802. HERBE       *     #DeuTex will set HERBE to be equal to GRASS 
  1803. End: FLATS
  1804. #
  1805. # You can define new Flat names, or redefine existing flats,
  1806. # but unless you redefine the complete list of FLATS, and use
  1807. # the -iwad option, you'll have to rebuild the complete FLAT
  1808. # list with DEUSF each time you want to use the PWAD. 
  1809. #
  1810. #
  1811. # WAD creation directives end here.
  1812. #
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.                                                                 page 22
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.                   -----------------------------------
  1839. B.                 The Texture Definitions Text File
  1840.                           TEXTURES\MYTEXT.TXT
  1841.                   -----------------------------------
  1842.  
  1843.  
  1844. Some Notes on TEXTURE definitions:
  1845.  
  1846.      - READ the DOOM SPECS by Matt Fell.
  1847.      - You can create textures for transparent walls (see DeuTex
  1848.        Commands -rgb), but make sure that they're composed of one patch
  1849.        only, or else you'll get the Medusa Effect.
  1850.      - Avoid using a texture of height less than 128 on a wall with a
  1851.        height greater than that of the texture (Tutti Frutti effect).
  1852.      - READ the DOOM SPECS by Matt Fell.
  1853.      - Texture widths should be rounded to the next power of 2.
  1854.        (8,16,64,128,256,512,1024 are usable)
  1855.      - The patches composing textures shall not be more than 320 wide.
  1856.      - DOOM will ignore heights above 128. 
  1857.      - READ the DOOM SPECS by Matt Fell.
  1858.      - You can create a non repeating sky texture:
  1859.        Define the SKY1 (or SKY2, or SKY3) entry as a 1024x128 area
  1860.        and place patches so as to cover it all. Note that the patches
  1861.        will appear horizontally inverted.
  1862.        0=east, 256=north, 512=west, 768=south.
  1863.      - Make sure all textures are completely covered by patches.
  1864.        Otherwise, DOOM will puke (void column error).
  1865.      - You can create animated walls with (almost) any sequence of
  1866.        pictures. No known limit in the number of frames (27 is OK!).
  1867.        The way to do this is:
  1868.                           Redefine one of DOOM's existing animated
  1869.                           walls(beginning and end), and add any extra
  1870.                           entries between them in the TEXTURE list.
  1871.      - READ the DOOM SPE.... Well, you get the picture >;-{]>
  1872.  
  1873.  
  1874. Once you have created a new PWAD, check it with the -check command.
  1875. DeuTex will complain if:
  1876.  
  1877.      - Any texture width is NOT a power of 2 (2,4,8,16,32,64,128,etc).
  1878.        (DOOM will round to the next lower power of 2)
  1879.      - Any texture height is greater than 128.
  1880.      (DOOM ignore everything above 128)
  1881.      - Any texture is not completely covered by patches.
  1882.        (DOOM exit with a void column error)
  1883.  
  1884. A texture entry consists of:
  1885.  
  1886. (TEXTURE NAME)      (WIDTH) (HEIGHT)
  1887. (*)     (PATCH1)  (X offset)(Y offset)
  1888. (*)     (PATCH2)  (X offset)(Y offset)
  1889. (*)     (PATCH3)  (X offset)(Y offset)
  1890.  .          .          .         .
  1891.  .          .          .         .
  1892.  .          .          .         .
  1893. (*)     (PATCHn)  (X offset)(Y offset)
  1894.  
  1895.  
  1896.  
  1897.  
  1898.                                                                 page 23
  1899.  
  1900.  
  1901.  
  1902.  
  1903. Texture Names are 8 characters or less.
  1904. Width and Height are in pixels.
  1905. An asterisk identifies the following word as a PNAME.
  1906. Patch Names are 8 characters or less.
  1907. X and Y offsets are pixel measurements.
  1908. Offsets are measured from upper-left corner (0,0).
  1909. X = positive. Offset patch to the right.
  1910. X = negative. Offset patch to the left.
  1911. Y = positive. Offset patch down.
  1912. Y = negative. Offset patch up.
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.  
  1919. The following figure is a feeble attempt to illustrate this:
  1920.  
  1921.  
  1922.  
  1923.  
  1924.  
  1925.  _______________________  
  1926. |                       | ^
  1927. | PATCH 1               | | 
  1928. | Both x and y          | Y  
  1929. | have negative         | |
  1930. | offsets.       _______|_v_______________________________________    
  1931. |               |       |              ^                          |   ^
  1932. |               |       |              |          TEXTURE         |   |
  1933. |               |       |              |                          |   |
  1934. |               |       |              Y                          |   |
  1935. |               |       |              |                          |   |
  1936. |_______________|_______|              |                          |   H
  1937.                 |                    __v_______________________   |   E
  1938.  <----- X ----->|                   |                          |  |   I
  1939.                 |                   |     PATCH 2:             |  |   G
  1940.                 |                   |     Both x and y have    |  |   H
  1941.                 |<------- X ------->|     positive offsets.    |  |   T
  1942.                 |                   |                          |  |   |
  1943.                 |                   |                          |  |   |
  1944.                 |                   |                          |  |   |
  1945.                 |                   |__________________________|  |   |
  1946.                 |                                                 |   |
  1947.                 |_________________________________________________|   v
  1948.                                                                       
  1949.                  <-------------------- WIDTH --------------------->
  1950.  
  1951.  
  1952.  
  1953.                 TEXTURE DEFINITION SHOWING PATCH OFFSETS
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.                                                                 page 24
  1965.  
  1966.  
  1967.  
  1968.  
  1969.                     Texture Definition File Example
  1970.  
  1971. ***************************** MYTEXT.TXT ******************************
  1972. #
  1973. # Anything following a '#' is ignored (comment).
  1974. #
  1975. # An asterisk '*' at the beginning of a line indicates a PATCH.
  1976. #
  1977. #
  1978. Begin: TEXTURES
  1979. #
  1980. # ASHWALL is a texture 64 pixels wide, and 128 pixels high.
  1981. # It contains only one patch, W104_1, with no offset.
  1982. #
  1983. ASHWALL                 64    128
  1984. *     W104_1            0     0
  1985. #
  1986. # BIGDOOR7 is a texture of size 256x128 (X size, Y size)
  1987. # composed of two patches, W105_1 and W105_1
  1988. # respectively placed at offset -4,-4  and offset 124, -4 
  1989. #
  1990. BIGDOOR7                256   128
  1991. *     W105_1            -4    -4
  1992. *     W105_1            124   -4
  1993. #
  1994. # FLOWER is a new texture (didn't exist in DOOM.WAD).
  1995. # It is composed of an old patch.
  1996. #
  1997. FLOWER            32    128
  1998. *     TP5_1             0     0
  1999. #
  2000. # BLODGR2 redefines the old BLODGR2 texture to be composed of
  2001. # the new patch BIRDY
  2002. #
  2003. BLODGR2                 34    128
  2004. *     BIRDY             0     0
  2005. #
  2006. # new texture HADDOCK, composed of new and old ones 
  2007. #
  2008. HADDOCK                 64    128
  2009. *     FISH1             0     0
  2010. *     BIGFISH           23    44
  2011. *     TP5_1             0     0
  2012. #
  2013. # example of wall animation
  2014. #
  2015. # Start with the first entry of an existing animation (FIREBLU1)
  2016. # Insert additional entries as needed for your animation (ZZZ...)
  2017. # End with the closing entry of the existing animation (FIREBLU2)
  2018. # When FIREBLU1 is used in your PWAD, it will have your animation!
  2019. # Notice that the example uses sprites as PATCHES. DOOM don't
  2020. # know and DOOM don't care!
  2021. #
  2022. FIREBLU1                128   128     #First frame is a redefined
  2023. *     WALL62_1            0     0     #DOOM animated texture. These
  2024. *     BOSSA1             83    47     #are called in the DOOM.EXE.
  2025. *     GOR2A0             20   -70
  2026. #
  2027.  
  2028.  
  2029.  
  2030.                                                                 page 25
  2031.  
  2032.  
  2033.  
  2034.  
  2035. #
  2036. ZZZA                    128   128     #Frame  2 inserted.
  2037. *     WALL62_1            0     0
  2038. *     BOSSB1             75    47
  2039. *     GOR2A0             20   -50
  2040. ZZZB                    128   128     #Frame  3 inserted.
  2041. *     WALL62_1            0     0
  2042. *     BOSSC1             71    47
  2043. *     GOR2A0             20   -35
  2044. ZZZC                    128   128     #Frame  4 inserted.
  2045. *     WALL62_1            0     0
  2046. *     BOSSD1             61    47
  2047. *     GOR2A0            20    -25
  2048. ZZZD                    128   128     #Frame  5 inserted.
  2049. *     WALL62_1            0     0
  2050. *     BOSSF1             47    47
  2051. *     GOR2A0             20   -20
  2052. ZZZE                    128   128     #Frame  6 inserted.
  2053. *     WALL62_1            0     0
  2054. *     BOSSE8             54    47
  2055. *     GOR2A0             20   -17
  2056. ZZZF                    128   128     #Frame  7 inserted.
  2057. *     WALL62_1            0     0
  2058. *     BOSSE7             68    47
  2059. *     GOR2A0             20   -16
  2060. ZZZG                    128   128     #Frame  8 inserted.
  2061. *     WALL62_1            0     0
  2062. *     BOSSE6             64    47
  2063. *     GOR2A0             20   -17
  2064. ZZZH                    128   128     #Frame  9 inserted.
  2065. *     WALL62_1            0     0
  2066. *     BOSSF5             60    47
  2067. *     GOR2A0             20   -20
  2068. ZZZI                    128   128     #Frame 10 inserted.
  2069. *     WALL62_1            0     0
  2070. *     BOSSF4             63    47
  2071. *     GOR2A0             20   -25
  2072. ZZZJ                    128   128     #Frame 11 inserted.
  2073. *     WALL62_1            0     0
  2074. *     BOSSD2D8           64    47
  2075. *     GOR2A0             20    35
  2076. ZZZK                    128   128     #Frame 12 inserted.
  2077. *     WALL62_1            0     0
  2078. *     BOSSB1             68    47
  2079. *     GOR2A0             20   -50
  2080. ZZZL                    128   128     #Frame 13 inserted.
  2081. *     WALL62_1            0     0
  2082. *     BOSSC1             70    47
  2083. *     GOR2A0             20   -70
  2084. FIREBLU2                128   128     #Fourteenth Frame is an
  2085. *     WALL62_1            0     0     #edited FIREBLU2, which is
  2086. *     BOSSB1             73    47     #the last frame of the
  2087. *     GOR2A0             20   -64     #DOOM animated texture.
  2088. #
  2089. # End of example
  2090. ############################################
  2091. End: TEXTURES
  2092. #
  2093. #
  2094. # file ends here. bye!
  2095.  
  2096.                                                                 page 26
  2097.  
  2098.  
  2099.  
  2100.  
  2101. CHAPTER 6
  2102. ************************** WORKING WITH WADS **************************
  2103.  
  2104. INTRODUCTION
  2105.  
  2106. Read the DOOM SPECS:
  2107. Sorry. This is still unavoidable.
  2108.  
  2109.      NOTE: In the discussion that follows, remember to avoid the
  2110.            following common mistakes:
  2111.  
  2112. Hall of Mirrors with new textures:
  2113.  
  2114.    Care has been taken to ensure that DeuTex loads the old
  2115.    TEXTURE1 textures before adding new textures.
  2116.    However, it is still a good idea to:
  2117.          First, create your level.
  2118.          Then, build the nodes and reject.
  2119.          Then add the new textures.
  2120.  
  2121.    I don't do this myself, and it still works, but leonardc@halcyon.com
  2122.    has reported this error. It seems to be a problem with node
  2123.    builders, but I'm quite confused...
  2124.  
  2125. Tutti Frutti and Medusa Effect:
  2126.  
  2127.    See the DOOM specs, and the FORMATS chapter.
  2128.  
  2129. Doom reports a void column and exits:
  2130.  
  2131.    Use DeuTex -check on you PWAD before running DOOM. It will tell
  2132.    which textures still have void columns.
  2133.     
  2134.  Other bugs:
  2135.  
  2136.    Mail me a description of the bug, together with your
  2137.    configuration file. Don't expect a quick answer, though.
  2138.  
  2139.                         -----------------------
  2140. A.                      How to decompose a PWAD
  2141.                         -----------------------
  2142.  
  2143. First check that all the entries are identified correctly:
  2144.  
  2145.      DEUTEX -wadir NEWBIE.WAD     This will list the directory.
  2146.  
  2147. To extract all the entries:
  2148.  
  2149.      DEUTEX -xtract NEWBIE.WAD    The whole directory structure is
  2150.                                   extracted, and WADINFO.TXT is
  2151.                                   created.
  2152.  
  2153. To extract only a part of the directory; sounds, for instance:
  2154.  
  2155. DEUTEX -sound -xtract NEWBIE.WAD   Only the sound directory is created.
  2156.  
  2157. NOTE: Some PWAD creators declare PATCHES, FLATS and SPRITES outside of
  2158.       the normal boundaries. In that case, DeuTex may not identify them
  2159.       correctly, and they'll end up in another directory (under a wrong
  2160.       format).  I'm sorry about this, but there is *nothing* I can do.
  2161.  
  2162.                                                                 page 27
  2163.  
  2164.  
  2165.  
  2166.  
  2167. Once you have decomposed a PWAD, you can rebuild it with:
  2168.  
  2169. DEUTEX -make WADINFO.TXT NEWBIE.WAD
  2170.  
  2171. WADINFO.TXT was automatically created in the first steps (cool, no?).
  2172.  
  2173. NOTE: DEUTEX puts a signature at the beginning of each PWAD created, to
  2174.     identify the DEUTEX version that was used.
  2175.  
  2176.  
  2177.                  --------------------------------------
  2178. B.               How to create a PWAD with new TEXTURES
  2179.                  --------------------------------------
  2180.  
  2181. First list the textures of DOOM:
  2182.  
  2183. DEUTEX -texture
  2184.  
  2185. Then look at .\TEXTURES\TEXTURE1.TXT and .\TEXTURES\TEXTURE2.TXT.
  2186.  
  2187. To create a new texture, declare it in .\TEXTURES\MYTEXT.TXT.
  2188. MYTEXT.TXT can be any name *except* TEXTURE1 or 2. See the chapter
  2189. on FORMATS for a more precise definition. If you want to redefine a
  2190. TEXTURE1 or TEXTURE2 entry, remove it from TEXTURE1.TXT or TEXTURE2.TXT
  2191. and put it in MYTEXT.TXT. If you don't redefine textures from
  2192. TEXTURE2.TXT, delete that file. For compatibility with DOOM2,
  2193. TEXTURE2.TXT should not exist.
  2194.  
  2195. Declare MYTEXT in the TEXTURES section of WADINFO.TXT:
  2196.  
  2197. DEUTEX -make WADINFO.TXT NEWBIE.WAD
  2198.  
  2199. Check your PWAD for texture errors:
  2200.  
  2201. DEUTEX -check NEWBIE.WAD
  2202.  
  2203. Note: TEXTURE1.TXT and TEXTURE2.TXT are auto-loaded if they exist,
  2204.       because DOOM prefers to have it's old textures listed first
  2205.       (I dunno why). DeuTex takes care of that. 
  2206.  
  2207.             -----------------------------------------------
  2208. C.          How to create a PWAD with new SPRITES and FLATS
  2209.             -----------------------------------------------
  2210.  
  2211. BEWARE: Sprite replacement is tricky. One false move and DOOM will lock
  2212.         up. Check your work often.
  2213.  
  2214. Put your sprite files in \SPRITES in .GIF or .BMP format.
  2215. Put your flat files in \FLATS in .GIF or .BMP format.
  2216. Declare your sprite NAMES in the SPRITES section of WADINFO.TXT.
  2217. Declare your flat NAMES in the FLATS section of WADINFO.TXT.
  2218. Use only the NAME in WADINFO.TXT, without the .GIF or .BMP extension.
  2219.  
  2220. If you want to replace *ALL* of the sprites and flats in DOOM (crazy):
  2221.  
  2222. DEUTEX -iwad -make WADINFO.TXT NEWBIE.WAD
  2223.  
  2224. NEWBIE.WAD will be directly usable by DOOM.
  2225.  
  2226.  
  2227.  
  2228.                                                                 page 28
  2229.  
  2230.  
  2231.  
  2232.  
  2233. To replace *SOME* of the sprites and flats in DOOM (better):
  2234.  
  2235. DEUTEX -make WADINFO.TXT NEWBIE.WAD
  2236.  
  2237. This NEWBIE.WAD will be much smaller and easier to distribute.
  2238. BUT: This NEWBIE.WAD will cause DOOM to lock up when it starts!(bad)
  2239.  
  2240.     So, if you want to replace only *SOME* of the sprites and flats in
  2241.     DOOM, you have 3 choices:
  2242.  
  2243. DEUTEX -merge NEWBIE.WAD           Modifies DOOM.WAD.
  2244.                                   (Safe and fast)
  2245.  
  2246. DEUSF  -append NEWBIE.WAD          Modifies DOOM.WAD.
  2247.                                   (Safer, still fast, but wastes space)
  2248.  
  2249. DEUSF -add NEWBIE.WAD NEWBIE2.WAD  Creates NEWBIE2.WAD.
  2250.                                   (Safest, but more space wasted.)
  2251.  
  2252. NOTE: The steps above are performed at the end users' site
  2253.       (preferably from a batch file supplied with your PWAD). This
  2254.       means the user must have DeuSF, which can be distributed freely
  2255.       with your PWAD, or DeuTex, which has some restrictions. See the
  2256.       License Agreement at the end of this manual for the restrictions
  2257.       on distributing DeuTex.
  2258.  
  2259. If you are adding only sprites, use the -sprite command to avoid
  2260. inheriting the flats too:
  2261.  
  2262. DEUSF -sprite -app NEWBIE.WAD
  2263.  
  2264. Alternatively, use the -flat command to add only flats without
  2265. inheriting the sprites:
  2266.  
  2267. DEUSF -flats -add NEWBIE.WAD NEWBIE2.WAD
  2268.  
  2269.                   ----------------------------------
  2270.  D.               How to create PWAD with new SOUNDS
  2271.                   ----------------------------------
  2272.  
  2273. First put your sound files in the .\SOUNDS directory.
  2274. Then, declare the sound NAMES in the SOUNDS section of WADINFO.TXT.
  2275. See APPENDIX IV for a listing of the sound names recognized by DOOM.
  2276.  
  2277. DEUTEX -make WADINFO.TXT NEWBIE.WAD
  2278.  
  2279. Sound effects: [DSxxxxxx.WAV or DSxxxxxx.AU]
  2280.  
  2281. Must be in WAV or AUDIO format (SUN). Make sure the format is *not*
  2282. compressed and does *not* contain comments. My code is pretty basic,
  2283. because I never had the specs of those formats. Hacked!
  2284.  
  2285. PC speaker sounds: [DPxxxxxx.TXT]
  2286.  
  2287. Text files containing a list of numbers from 1-255.
  2288.  
  2289. Music: [D_xxxxxx.MUS]
  2290.  
  2291. Must be in MUS format. Convert MIDI files to MUS files by using
  2292. the enclosed MIDI2MUS.EXE (thanks to -dtt-> of ID software).
  2293.  
  2294.                                                                 page 29
  2295.  
  2296.  
  2297.  
  2298.  
  2299. CHAPTER 7
  2300. *************** TEST-ME or What's inside TRINITY.WAD? *****************
  2301.  
  2302.                              -------------
  2303. A)                           About TEST-ME
  2304.                              -------------
  2305.  
  2306.     Do you want to have a quick overview of some of the capacities of
  2307.     DeuTex before deciding if it's worth the trouble?
  2308.  
  2309.     This file is for you:
  2310.     It will list the contents of TRINITY.WAD (with identifications).
  2311.     It will decompose and then recompose TRINITY.WAD.
  2312.     All this in only 3 trivial DeuTex commands.
  2313.  
  2314. Requirements:
  2315.  
  2316. -  You must have TRINITY.WAD, the great PWAD by Steve McCrea.
  2317.    (available on infant2.sphs.edu as TRINITY2.ZIP and in the
  2318.     Compuserve GAMERS FORUM LIB 8 as TRINTY.ZIP)
  2319. -  Doom must be in the \DOOM directory (\DOOM2 could work too)
  2320. -  TRINITY.WAD must be in the current directory.
  2321. -  You must have *some* room left on your disk :-)
  2322. -  You must be running DOS 5.0 or higher.
  2323. -  You must NOT reuse contents of TRINITY.WAD without crediting
  2324.    Steven McCrea.
  2325.  
  2326. Description:
  2327.  
  2328. Look into demo.bat, and search for the string ***DeuTex***
  2329.  
  2330.                         ----------------------
  2331. B)                      Listing the directory
  2332.                         ----------------------
  2333.  
  2334.       rem    ***DeuTex***
  2335.       deutex  -doom \doom     -wadir TRINITY.WAD
  2336.               ^^^^^^^^^^^^    ^^^^^^^^^^^^^^^^^^
  2337.                   (a)                (b)
  2338.  
  2339. (a)---> This tells DeuTex that DOOM.WAD and DOOM.EXE are in the
  2340.         \DOOM directory. OPTIONAL.
  2341. (b)---> This tell DeuTex to list the directory of TRINITY.WAD reporting
  2342.         the entry types. Types *could* be wrong, but not with Trinity.
  2343.  
  2344.                         ------------------------
  2345. C)                      Decomposing TRINITY.WAD:
  2346.                         ------------------------
  2347.  
  2348.       rem    ***DeuTex***
  2349.       deutex  -doom \DOOM    -dir .    -xtract TRINITY.WAD
  2350.               ^^^^^^^^^^^    ^^^^^^    ^^^^^^^^^^^^^^^^^^^^^^
  2351.                   (a)         (b)               (c)
  2352.  
  2353. (a)---> The same as before.
  2354. (b)---> This tells DeuTex that it must store the result in the
  2355.         directory '.' (which is the current directory).  You could skip
  2356.         (b), since '.' is the default, or you could specify another
  2357.         directory, like -dir TEST.
  2358. (c)---> This tells DeuTex to search for entries in TRINITY.WAD.
  2359.  
  2360.                                                                 page 30
  2361.  
  2362.  
  2363.  
  2364.  
  2365.                 ----------------------------------------
  2366. D)              Recomposing TRINITY.WAD as TRINIDAD.WAD:
  2367.                 ----------------------------------------
  2368.  
  2369.       rem    ***DeuTex****
  2370.       deutex  -doom \doom   -dir .   -make WADINFO.TXT TRINIDAD.WAD
  2371.               ^^^^^^^^^^^   ^^^^^^   ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^
  2372.                   (a)        (b)            (c)            (d)
  2373.  
  2374. (a)--->  The same as before.
  2375. (b)--->  The same as before.
  2376. (c)--->  This tells DeuTex to create a new PWAD, from the creation
  2377.          directives contained in WADINFO.TXT.
  2378. (d)--->  This is the name of the created PWAD.
  2379.  
  2380.  
  2381.                         ------------------------
  2382.  E)                     Customizing TRINITY.WAD:
  2383.                         ------------------------
  2384.  
  2385.     You can edit WADINFO.TXT, the format is pretty simple to guess.
  2386.    (see the FORMATS chapter for a precise definition of this format)
  2387.  
  2388. -  You can put anything you want on a line that begins with a  #,
  2389.    because # means 'comments'.
  2390. -  Don't touch any lines with Begin: or End: (they are delimiters).
  2391. -  The lines between Begin: and End: describe a section.
  2392.  
  2393.     Begin: SOUNDS
  2394.     D_E1M1
  2395.     End: SOUNDS
  2396.  
  2397.     This tells DeuTex to go into the SOUNDS subdirectory and get a file
  2398.     called D_E1M1.MUS, which is the music of TRINITY.WAD. You might
  2399.     wish to delete this D_E1M1 if your soundcard crashes while playing
  2400.     trinity.
  2401.  
  2402.     You can add your own music, for Episode 1 Mission 2 by editing:
  2403.  
  2404.     Begin: SOUNDS
  2405.     D_E1M1
  2406.     D_E1M2
  2407.     End: SOUNDS
  2408.  
  2409.     Of course, the file D_E1M2.MUS must exist... You can generate it
  2410.     from D_E1M2.MID (MIDI format) by using MIDI2MUS.
  2411.  
  2412.  
  2413.  
  2414. BEWARE: DeuTex is NOT fool proof yet. It should not crash your
  2415.         computer, but the generated PWAD may crash DOOM if you make
  2416.         mistakes. I'm very sorry for this, but I have more urgent
  2417.         optimizations to do than foolproofing. However, the PWAD
  2418.         generated here should not crash DOOM, if you use the real
  2419.         TRINITY.WAD as a basis.
  2420.  
  2421.  
  2422.  
  2423.  
  2424.  
  2425.  
  2426.                                                                 page 31
  2427.  
  2428.  
  2429.  
  2430.  
  2431. CHAPTER 8
  2432. ************************** VisualBasic Shell **************************
  2433.  
  2434.                  -------------------------------------
  2435.                               Vbdeutex.exe
  2436.                  This is the windows shell for DeuTex.
  2437.                         1.2 Alpha test version.
  2438.                  -------------------------------------
  2439.  
  2440.  
  2441. Enjoy & Criticize but don't Complain.
  2442. DeuTex 3.0 should contain a better version.
  2443. VbDeutex and deutex.pif must be in the same directory.
  2444. DeuTex.ini contains default info.
  2445.  
  2446. Edit DeuTex.pif to suit your needs.
  2447. DeuTex.pif calls deutex.exe and to work correctly:
  2448.  
  2449. -  It must exit once finished.
  2450. -  It must run in background.
  2451. -  It must not run full screen.
  2452.  
  2453. Note that deutex.pif will be minimized on startup.
  2454.  
  2455. VB DeuTex is provided as is with no manual!(I can't compile Windoze
  2456. Help, for lack of skill :-)) You'll have to guess it all or suffer a
  2457. terrible frustration.  I'm not gonna waste time on this. It should be
  2458. intuitive enough.
  2459.  
  2460. BEWARE: Behavior cannot entirely be predicted. Don't forget you are
  2461.         running MS-Windows, and thus keep an eye on the reset button.
  2462.         I don't feel at all responsible if everything goes wrong.  I
  2463.         wrote some code, but you can't expect a Microsoft product to
  2464.         execute it correctly.
  2465.  
  2466.  
  2467.  
  2468.                             WINDOZE SUCKS!
  2469.                     SOMEONE PUT BILL GATES IN DOOM! 
  2470.  
  2471.  
  2472.  
  2473.  
  2474.  
  2475.  
  2476.  
  2477.  
  2478.  
  2479.  
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.                                                                 page 32
  2493.  
  2494.  
  2495.  
  2496.  
  2497. CHAPTER 9
  2498. *************************** NECESSARY STUFF ***************************
  2499.  
  2500.                      ------------------------------
  2501. A.                   DeuTex/DeuSF License Agreement
  2502.                      ------------------------------
  2503.  
  2504.           DeuTex/DeuSF is copyright (c) Olivier Montanuy 1994.
  2505.           The GIF code was from a source (c) David Koblas.
  2506.           DeuTex code was originally derived from DEU5.21 
  2507.          by Brendon Wyber and Raphael Quinet.
  2508.           DeuSF is inspired from DMADDS by Bernd Kreimeier
  2509.  
  2510. DeuTex/DeuSF is a Freeware set of tools.
  2511. DeuTex is Freeware but NOT public domain.
  2512. DeuSF can be freely distributed with PWADS as part of their install.
  2513.  
  2514. Here are the restrictions on the usage of DeuTex:
  2515.  
  2516. - You shall not use these tools to extract or insert copyrighted
  2517.   material in DOOM IWADs and PWADs. You are especially not allowed to
  2518.   use them to build any 'shareware' DOOM version.
  2519.  
  2520. - You are not allowed to modify or reverse engineer these tools.
  2521.   (sources will be available to you if I feel you can be trusted)
  2522.  
  2523. - You cannot distribute these tools commercially without my written
  2524.   consent. This includes all kind of non free distribution (shareware,
  2525.   charging for uploads, or selling it on any kind of media).
  2526.  
  2527. *Compuserve is allowed to distribute DeuTex/DeuSF without restrictions*
  2528.  
  2529. - Anything you build with this tool shall be free for everyone, unless
  2530.   you get written permission from me. 
  2531.  
  2532. - DeuTex must be distributed with all the files in this package,
  2533.   including DeuSF, the manual and this license. Only DeuSF can be
  2534.   distributed separately, for reasons mentioned above.
  2535.  
  2536. - I will accept no liability for any damage consecutive to the use of
  2537.   this program. Remember it is freeware. There is no evil intent
  2538.   anywhere in the source of this program but I can't guess what the
  2539.   compilers might have hacked out of it, or how your system will feel
  2540.   about it.
  2541.  
  2542.                               -----------
  2543. B.                            Legal Stuff
  2544.                               -----------
  2545.  
  2546. ***********************************************************************
  2547. *  I have no relations with ID software (except as a registered user) *
  2548. *  They don't care about this program, and certainly never will!      *
  2549. *  I have good relations with Raphael Quinet and Brendon Wyber. I     *
  2550. *  also have good relations with Steve McCrea. They CANNOT be         *
  2551. *  expected to answer questions about this program.  They will get    *
  2552. *  poor if THEY receive questions about MY program.                   *
  2553. *                                                                     *
  2554. *       so please:                                                    *
  2555. *                  Direct all comments to me, don't bother them.      *
  2556. *                                                                     *
  2557. ***********************************************************************
  2558.                                                                 page 33
  2559.  
  2560.  
  2561.  
  2562.  
  2563. Why is DeuTex Copyrighted? It's so that I can make the following
  2564. requirement, which would be impossible with Public Domain status:
  2565.  
  2566. YOU ARE NOT ALLOWED TO MAKE ANY MODIFICATIONS TO THIS PROGRAM
  2567. OR TO THE INCLUDED FILES. ALL THE FILES INCLUDED IN THIS
  2568. PACKAGE SHALL BE RELEASED TOGETHER.
  2569.  
  2570.       If you want modifications, ask me, I'll do my best. 
  2571.       Later on I'll release the source, when stabilized.
  2572.  
  2573. USE AT YOUR OWN RISK. NO LIABILITY IS ACCEPTED.
  2574.  
  2575.       It runs under DOS, so behavior is unpredictable .
  2576.  
  2577. YOU ARE NOT ALLOWED TO MAKE ANY KIND OF PERSONAL PROFIT BY SELLING,
  2578. RENTING, LEASING, OR USING THIS PROGRAM, WITHOUT MY EXPLICIT WRITTEN
  2579. CONSENT.
  2580.  
  2581.       If you are interested in distributing it on a CD or any other
  2582.       media, contact me first. I should accept, provided:
  2583.                  - you keep the price low, for maximum availability.
  2584.                  - you send me a free copy.
  2585.  
  2586. SPECIAL EXCEPTION:
  2587.  
  2588. CompuServe is allowed to charge normal upload fees to distribute this
  2589. program, provided I receive (by e-mail) a monthly report of the total
  2590. number of said uploads.
  2591.  
  2592.  
  2593. * All right folks, it was a shame, but it had to be stated somewhere...
  2594.  
  2595.  
  2596.  
  2597.  
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.  
  2604.  
  2605.  
  2606.  
  2607.  
  2608.  
  2609.  
  2610.  
  2611.  
  2612.  
  2613.  
  2614.  
  2615.  
  2616.  
  2617.  
  2618.  
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624.                                                                 page 34
  2625.  
  2626.  
  2627.  
  2628.  
  2629.  
  2630.                                  ------                      
  2631. C.                               THANKS
  2632.                                  ------
  2633.  
  2634.  
  2635. First, thanks to you for taking the time to evaluate DeuTex/DeuSF.
  2636. I know my program is not trivial to use, and might be tricky to
  2637. understand, but I really think it's worth the trouble.
  2638.  
  2639. DeuTex/DeuSF would not have existed without the help of these people:
  2640.  
  2641.      Steve McCrea                 Author of TRINITY.WAD and DOOMTEX.
  2642.  
  2643.      Raphael Quinet               Examples of GIF and DEU code.
  2644.     (quinet@montefiore.ulg.ac.be)
  2645.  
  2646.      Elias Papavassilopoulos      Doom technical information.
  2647.     (ep104@cus.cam.ac.uk)
  2648.  
  2649.      Matt Fell                    Doom specs version 1.3
  2650.     (matt.burnet@acebbs.com)
  2651.  
  2652.      Keith Wilkins                Creator of Wacker, a texture
  2653.     (spike@nectech.demon.co.uk)   composer. Try it!
  2654.  
  2655.      Tom Neff                     Doom technical information.
  2656.     (tneff)
  2657.  
  2658.      Bern Kreimeier               Original DMADDS/DMADDF idea.
  2659.     (bernd@nero.uni-bonn.de)
  2660.  
  2661.      Dewi Morgan                  Unashamed flattery that lead me to
  2662.     (D.Morgan@bradford.ac.uk)     create DeuSF from DeuTex code.
  2663.  
  2664.      ID software                  For the DEUTEX/DeuSF test bench, also
  2665.     (help@idsoftware.com)         known as 'DOOM'.
  2666.  
  2667.  
  2668.  
  2669. Special Thanx to:
  2670.  
  2671.      Per Allansson                DeuTex Linux version.
  2672.     (c91peral@und.ida.liu.se)
  2673.      Mark Mathews                 DeuTex OS/2 port.
  2674.     (mark.mathews@channel1.com)
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.                                                                 page 35
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.                          --------------
  2697.                          THANKS (cont.)
  2698.                          --------------
  2699.  
  2700.  
  2701. Thanks to all of you who reported bugs and proposed correction
  2702. or generally supported my efforts:
  2703.  
  2704.    Leonard Czajka     leonardc@halcyon.halcyon.com
  2705.    Herve.Benvel       Herve.Benvel@inria.fr
  2706.    Paolo Hutchison    paolo@netcom.com
  2707.    M. Kernaghan       mkernagh@julian.uwo.ca
  2708.    Thierry Vermat     vermat@evol10.univ-lyon1.fr
  2709.    Jeremy Blackman    ranma@eskimo.com
  2710.    Jason Mezzaca      72510.3424@compuserve.com
  2711.    C. Gasparo         cgasparo@cymbal.aix.calpoly.edu
  2712.  
  2713.  
  2714.  
  2715. Finally: Thanks to Justin Fisher for letting me use DeuTex and DeuSF
  2716.          on a new install for Alien-TC (despite all the small mistakes
  2717.          I made).
  2718.  
  2719. Finally - part 2 (No really, this is it! Trust me!):
  2720.  
  2721.          Olivier told me to put myself in the thanks section,
  2722.          so, thanks to me:
  2723.  
  2724. Kevin McGrail, novice Manual Editor.    74107.1254@compuserve.com
  2725.  
  2726. Thanks for thanking me, Olivier, but this one made the thanks section split into two pages. I figured it was too long already! <g>.
  2727. You sure are a grateful guy! Thank YOU for a great utility.
  2728.  
  2729.  
  2730.  
  2731.  
  2732.  
  2733.                                SHAMES
  2734. DeuSF would not have existed if there was not a stupid bug in the DOOM
  2735. code for loading FLATS and SPRITES, that locks up DOOM when you try to
  2736. replace existing entries.
  2737.  
  2738.  
  2739.  
  2740.  
  2741.  
  2742.  
  2743.  
  2744.  
  2745.  
  2746.  
  2747.  
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753.  
  2754.  
  2755.                                                                 page 36
  2756.  
  2757.  
  2758.  
  2759.  
  2760.                         -------------------------
  2761. D.                      Where to get DeuTex/DeuSF
  2762.                         -------------------------
  2763.  
  2764. DeuTex/DeuSF are meant to be available by anonymous FTP on Internet
  2765. sites: the same as of that of DEU.
  2766.  
  2767.      infant2.sphs.indiana.edu,ftp.luth.se,iglou.com,...
  2768.      /pub/doom/deu
  2769.      /pub/doom/wad_edit/misc      
  2770.  
  2771. DeuTex/DeuSF are available on Compuserve, by special request of
  2772. Dr. Sleep.
  2773.            GAMERS FORUM LIB 8 ACTION GAME AIDS [CIS:GAMERS]
  2774.            PC WORLD FORUM LIB 22 The DOOM ROOM [CIS:PWOFORUM]
  2775.            
  2776. DeuTex/DeuSF can be available on any free of charge BBS.
  2777.  
  2778. Though a freeware tool, DeuTex cannot be distributed by shareware
  2779. vendors without my written agreement.
  2780.  
  2781. DeuSF can be freely distributed, because it is meant to help
  2782. install some PWADs, and thus is not subject to any restrictions.
  2783.  
  2784. You might also want to try:
  2785.  
  2786. DOOMTEX by Steve McCrea
  2787. A list of tools to generate textures. It's not exactly user friendly,
  2788. but successfully used for TRINITY.WAD. For hackers only :-) I *do* hope
  2789. you'll find DeuTex a bit easier to use, but Steve was a pioneer in the area of texture editing!
  2790.  
  2791. WACKER by Keith Wilkins
  2792. A graphic texture editor. I could not test it, but it should be good.
  2793. It would be a good idea to use it in combination with DeuTex.
  2794.  
  2795.                              -----------
  2796. E.                           FINAL WORDS   
  2797.                               (AT LAST)
  2798.                              -----------
  2799. Thanx for using DeuTex.
  2800.  
  2801. I wasted long hours on it, so I could hope it will be of use.
  2802. Though in fact I just wanted to program *something that works*,
  2803. It's a kind of moral crisis that I had to atone in an orgy of
  2804. programmation. Such things happen when you spend too much time 
  2805. dealing with norms and specifications...
  2806.  
  2807.     Olivier Montanuy,
  2808.  
  2809. E-Mail:
  2810.     montanuy@lannion.cnet.fr      Work time mailbox
  2811.     montanuy@dmi.ens.fr           Leisure time mailbox
  2812.     montanuy@idsoftware.com       Dream time mailbox
  2813. Address:
  2814.     Manoir de Keringant, St Quay Perros, 22700 Perros Guirec, FRANCE
  2815.     This is in Bretagne (Brittany), the westernmost part of France.
  2816. Phone:
  2817.     +33 96482047 (time: UTC+1)
  2818.     modem: 1 bit of usable information per second (vocal emulation)
  2819.  
  2820.                                                                 page 37
  2821.  
  2822.  
  2823.  
  2824.  
  2825. APPENDIX I
  2826.  
  2827.          Here is a listing of the switch textures for DOOM.WAD
  2828.  
  2829. Begin: TEXTURES
  2830. #
  2831. SW1BRCOM                128   128
  2832. *     WALL62_1          0     0
  2833. *     SW1S0             48    72
  2834. SW1BRN1                 64    128
  2835. *     WALL02_2          0     56
  2836. *     WALL02_2          0     0
  2837. *     SW3S0             16    75
  2838. SW1BRN2                 64    128
  2839. *     WALL02_2          0     56
  2840. *     WALL02_2          0     0
  2841. *     SW4S0             20    79
  2842. SW1BRNGN                64    128
  2843. *     WALL62_2          0     0
  2844. *     SW4S0             20    80
  2845. SW1BROWN                128   128
  2846. *     WALL62_1          0     0
  2847. *     SW3S1             48    72
  2848. SW1COMM                 64    72
  2849. *     W13_1             0     0
  2850. *     SW1S0             15    18
  2851. SW1COMP                 64    128
  2852. *     COMP03_4          0     64
  2853. *     COMP04_5          0     0
  2854. *     COMP03_4          32    64
  2855. *     SW2S0             16    72
  2856. SW1DIRT                 64    128
  2857. *     WALL00_7          32    0
  2858. *     WALL00_6          16    0
  2859. *     SW1S0             16    20
  2860. *     WALL00_6          0     -16
  2861. *     WALL00_7          48    0
  2862. SW1EXIT                 32    72
  2863. *     W32_4             0     0
  2864. *     SW2S0             0     16
  2865. *     W33_8             0     64
  2866. SW1GRAY                 64    128
  2867. *     W31_1             0     0
  2868. *     W31_1             0     64
  2869. *     SW2S0             16    70
  2870. SW1GRAY1                64    128
  2871. *     W31_1             0     64
  2872. *     W31_1             0     0
  2873. *     SW4S0             19    79
  2874. SW1METAL                64    128
  2875. *     WALL03_7          0     0
  2876. *     WALL03_7          0     64
  2877. *     SW4S0             20    68
  2878. SW1PIPE                 128   128
  2879. *     TP2_2             0     0
  2880. *     SW3S0             48    76
  2881. SW1SLAD                 64    128
  2882. *     WLA128_1          0     0
  2883. *     WARNB0            24    73
  2884.  
  2885.  
  2886.                                                                 page 38
  2887.  
  2888.  
  2889.  
  2890.  
  2891. SW1STARG                128   128
  2892. *     SW19_3            64    0
  2893. *     SW19_4            0     0
  2894. *     SW3S0             48    76
  2895. SW1STON1                64    128
  2896. *     W28_8             0     64
  2897. *     W28_8             0     0
  2898. *     SW1S0             16    78
  2899. SW1STON2                64    128
  2900. *     W28_5             0     0
  2901. *     W28_8             0     64
  2902. *     WARNB0            24    73
  2903. SW1STONE                64    128
  2904. *     WALL01_1          0     0
  2905. *     WALL01_2          16    0
  2906. *     WALL01_3          32    0
  2907. *     WALL01_4          48    0
  2908. *     WALL01_1          0     72
  2909. *     WALL01_2          16    72
  2910. *     WALL01_3          32    72
  2911. *     WALL01_4          48    72
  2912. *     W33_8             0     64
  2913. *     W33_8             0     120
  2914. *     SW1S0             16    72
  2915. SW1STRTN                64    128
  2916. *     SW12_4            0     0
  2917. *     SW12_5            32    0
  2918. *     SW1S0             16    72
  2919. SW2BRCOM                128   128
  2920. *     WALL62_1          0     0
  2921. *     SW1S1             48    72
  2922. SW2BRN1                 64    128
  2923. *     STEP07            32    72
  2924. *     STEP07            0     72
  2925. *     WALL02_2          0     56
  2926. *     WALL02_2          0     0
  2927. *     SW3S1             16    75
  2928. SW2BRN2                 64    128
  2929. *     WALL02_2          0     56
  2930. *     WALL02_2          0     0
  2931. *     SW4S1             20    79
  2932. SW2BRNGN                64    128
  2933. *     WALL62_2          0     0
  2934. *     SW4S1             20    80
  2935. SW2BROWN                128   128
  2936. *     WALL62_1          0     0
  2937. *     SW3S0             48    72
  2938. SW2COMM                 64    72
  2939. *     W13_1             0     0
  2940. *     SW1S1             15    18
  2941. SW2COMP                 64    128
  2942. *     COMP03_4          0     64
  2943. *     COMP04_5          0     0
  2944. *     COMP03_4          32    64
  2945. *     SW2S1             16    72
  2946. SW2DIRT                 64    128
  2947. *     WALL00_8          48    0
  2948. *     WALL00_7          32    0
  2949. *     WALL00_6          16    0
  2950. *     WALL00_5          0     -1
  2951. *     SW1S1             16    20
  2952.                                                                 page 39
  2953.  
  2954.  
  2955.  
  2956.  
  2957. SW2EXIT                 32    72
  2958. *     W32_4             0     0
  2959. *     SW2S1             0     16
  2960. *     W33_8             0     64
  2961. SW2GRAY                 64    128
  2962. *     W31_1             0     0
  2963. *     W31_1             0     64
  2964. *     SW2S1             16    70
  2965. SW2GRAY1                64    128
  2966. *     W31_1             0     64
  2967. *     W31_1             0     0
  2968. *     SW4S1             19    79
  2969. SW2METAL                64    128
  2970. *     WALL03_7          0     0
  2971. *     WALL03_7          0     64
  2972. *     SW4S1             20    68
  2973. SW2PIPE                 128   128
  2974. *     TP2_2             0     0
  2975. *     SW3S1             48    76
  2976. SW2SLAD                 64    128
  2977. *     WLA128_1          0     0
  2978. *     WARNA0            24    73
  2979. SW2STARG                128   128
  2980. *     SW19_3            64    0
  2981. *     SW19_4            0     0
  2982. *     SW3S1             48    76
  2983. SW2STON1                64    128
  2984. *     W28_8             0     64
  2985. *     W28_8             0     0
  2986. *     SW1S1             16    78
  2987. SW2STON2                64    128
  2988. *     W28_8             0     64
  2989. *     WARNA0            24    73
  2990. *     W28_5             0     0
  2991. SW2STONE                64    128
  2992. *     WALL01_1          0     0
  2993. *     WALL01_2          16    0
  2994. *     WALL01_3          32    0
  2995. *     WALL01_4          48    0
  2996. *     WALL01_1          0     72
  2997. *     WALL01_2          16    72
  2998. *     WALL01_3          32    72
  2999. *     WALL01_4          48    72
  3000. *     W33_8             0     64
  3001. *     W33_8             0     120
  3002. *     SW1S1             16    72
  3003. SW2STRTN                64    128
  3004. *     SW12_4            0     0
  3005. *     SW12_5            32    0
  3006. *     SW1S1             16    72
  3007. #
  3008. SW1BLUE                 64    128
  3009. *     COMP03_1          0     0
  3010. *     COMP03_2          0     64
  3011. *     SW2_7             14    66
  3012. SW1CMT                  64    128
  3013. *     WALL54_1          -42   0
  3014. *     SW3S1             16    72
  3015. SW1GARG                 64    128
  3016. *     WALL47_2          0     0
  3017. *     WALL42_6          12    62
  3018.                                                                 page 40
  3019.  
  3020.  
  3021.  
  3022.  
  3023. SW1GSTON                64    128
  3024. *     WALL48_2          0     0
  3025. *     SW2_7             13    67
  3026. SW1HOT                  64    128
  3027. *     WALL49_1          0     0
  3028. *     SW2_7             12    66
  3029. SW1LION                 64    128
  3030. *     WALL47_2          0     0
  3031. *     WALL42_5          11    62
  3032. SW1SATYR                64    128
  3033. *     WALL47_2          0     0
  3034. *     WALL42_1          12    62
  3035. SW1SKIN                 64    128
  3036. *     HELL6_3           0     0
  3037. *     SW2_5             0     59
  3038. SW1VINE                 64    128
  3039. *     WALL00_1          0     -16
  3040. *     W106_1            0     0
  3041. *     SW4S0             20    84
  3042. SW1WOOD                 64    128
  3043. *     WALL40_2          -64   0
  3044. *     SW2_7             14    66
  3045. SW2BLUE                 64    128
  3046. *     COMP03_1          0     0
  3047. *     COMP03_2          0     64
  3048. *     SW2_8             14    66
  3049. SW2CMT                  64    128
  3050. *     WALL54_1          -42   0
  3051. *     SW3S0             16    72
  3052. SW2GARG                 64    128
  3053. *     WALL47_2          0     0
  3054. *     WALL47_5          12    62
  3055. SW2GSTON                64    128
  3056. *     WALL48_2          0     0
  3057. *     SW2_8             13    67
  3058. SW2HOT                  64    128
  3059. *     WALL49_1          0     0
  3060. *     SW2_8             12    66
  3061. SW2LION                 64    128
  3062. *     WALL47_2          0     0
  3063. *     WALL47_4          11    62
  3064. SW2SATYR                64    128
  3065. *     WALL47_2          0     0
  3066. *     WALL47_3          12    62
  3067. SW2SKIN                 64    128
  3068. *     HELL6_3           0     0
  3069. *     SW2_6             0     59
  3070. SW2VINE                 64    128
  3071. *     WALL00_1          0     -16
  3072. *     W106_1            0     0
  3073. *     SW4S1             20    84
  3074. SW2WOOD                 64    128
  3075. *     WALL40_2          -64   0
  3076. *     SW2_8             14    66
  3077. #
  3078. End: TEXTURES
  3079. #
  3080. #The End
  3081.  
  3082.  
  3083.  
  3084.                                                                 page 41
  3085.  
  3086.  
  3087.  
  3088.  
  3089. APPENDIX II
  3090.  
  3091.           This is a listing of the animated walls in DOOM.WAD
  3092.  
  3093. Begin: TEXTURES
  3094. SLADRIP1                64    128
  3095. *     WALL57_2          0     0
  3096. SLADRIP2                64    128
  3097. *     WALL57_3          0     0
  3098. SLADRIP3                64    128
  3099. *     WALL57_4          0     0
  3100. SLADWALL                64    128
  3101. *     WLA128_1          0     0
  3102. BLODGR1                 32    128
  3103. *     TP5_1             0     0
  3104. BLODGR2                 32    128
  3105. *     TP5_2             0     0
  3106. BLODGR3                 32    128
  3107. *     TP5_3             0     0
  3108. BLODGR4                 32    128
  3109. *     TP5_4             0     0
  3110. #
  3111. BLODRIP1                32    128
  3112. *     RP2_1             0     0
  3113. BLODRIP2                32    128
  3114. *     RP2_2             0     0
  3115. BLODRIP3                32    128
  3116. *     RP2_3             0     0
  3117. BLODRIP4                32    128
  3118. *     RP2_4             0     0
  3119. #  
  3120. FIREBLU1                128   128
  3121. *     W65B_1            0     0
  3122. FIREBLU2                128   128
  3123. *     W65B_2            0     0
  3124. #
  3125. FIRELAV2                128   128
  3126. *     W73A_2            0     0
  3127. FIRELAV3                128   128
  3128. *     W73B_1            0     0
  3129. FIRELAVA                128   128
  3130. *     W73A_1            0     0
  3131. #
  3132. FIREMAG1                128   128
  3133. *     W74A_1            0     0
  3134. FIREMAG2                128   128
  3135. *     W74A_2            0     0
  3136. FIREMAG3                128   128
  3137. *     W74B_1            0     0
  3138. #
  3139. FIREWALA                128   112
  3140. *     WALL23_1          0     0
  3141. FIREWALB                128   112
  3142. *     WALL23_2          0     0
  3143. FIREWALL                128   112
  3144. *     WALL22_1          0     0
  3145. #
  3146. GSTFONT1                64    128
  3147. *     WALL58_1          0     0
  3148.  
  3149.                                                                 page 42
  3150.  
  3151.  
  3152.  
  3153.  
  3154. GSTFONT2                64    128
  3155. *     WALL58_2          0     0
  3156. GSTFONT3                64    128
  3157. *     WALL58_3          0     0
  3158. ROCKRED1                128   128
  3159. *     WALL64_2          0     0
  3160. ROCKRED2                128   128
  3161. *     W64B_1            0     0
  3162. ROCKRED3                128   128
  3163. *     W64B_2            0     0
  3164. #
  3165. #  
  3166. End: TEXTURES
  3167.  
  3168. #
  3169. #The End
  3170.  
  3171.  
  3172.  
  3173.  
  3174.  
  3175.  
  3176.  
  3177.  
  3178.  
  3179.  
  3180.  
  3181.  
  3182.  
  3183.  
  3184.  
  3185.  
  3186.  
  3187.  
  3188.  
  3189.  
  3190.  
  3191.  
  3192.  
  3193.  
  3194.  
  3195.  
  3196.  
  3197.  
  3198.  
  3199.  
  3200.  
  3201.  
  3202.  
  3203.  
  3204.  
  3205.  
  3206.  
  3207.  
  3208.  
  3209.  
  3210.  
  3211.  
  3212.  
  3213.  
  3214.                                                                 page 43
  3215.  
  3216.  
  3217.  
  3218.  
  3219. APPENDIX III     Listing of Sound Names for DOOM I and II
  3220.  
  3221. *Ripped off from DMGRAPH by Bill Neisius*
  3222. Then corrected and expanded to include DOOM II sounds for this manual.
  3223. DeuTex uses sound names rather than the artificial sound numbers used
  3224. in DMGRAPH.
  3225.  
  3226. NOTE: An asterisk '*' means sound is used for multiple functions.
  3227.  
  3228. _____________________________________________
  3229.  
  3230. A)   SOUNDS FOUND IN BOTH DOOM I and DOOM II
  3231. _____________________________________________
  3232.  
  3233.      Weapons
  3234.  
  3235. DSPISTOL*    Pistol firing
  3236. DSSGCOCK*    Shotgun cocking
  3237. DSSHOTGN     Shotgun firing (followed by cock)
  3238. DSSAWUP      Chainsaw start
  3239. DSSAWIDL     Chainsaw idle
  3240. DSSAWFUL     Chainsaw with trigger pulled
  3241. DSSAWHIT     Chainsaw hitting monster
  3242. DSRLAUNC     Rocket Launcher firing
  3243. DSBAREXP*    Rocket exploding
  3244. DSFIRSHT     Fireballs shot or passing
  3245. DSFIRXPL*    Fireball hitting object
  3246. DSPUNCH      Player punching
  3247. DSPLASMA     Plasma Gun firing
  3248. DSFIRXPL*    Plasma Round hitting object
  3249. DSBFG        BFG9000 firing
  3250. DSRXPLOD     BFG9000 round exploding
  3251.  
  3252.      Objects
  3253.  
  3254. DSPSTART    Floor/Lift starting
  3255. DSPSTOP     Floor/Lift stops (Clunk)
  3256. DSSTNMOV    Stairs/ceilings moving
  3257. DSDOROPN    Mechanical Door opening
  3258. DSDORCLS    Mechanical Door closing
  3259. DSBDOPN     Fast Door Open
  3260. DSBDCLS     Fast Door Close
  3261. DSSWTCHN*   Switch 'thunk' sound
  3262. DSSWTCHX    Switch 'pop' sound
  3263. DSTELEPT    Player/Monster teleport
  3264. DSSLOP      GUTS/SLOP (What the name says)
  3265. DSITMBK     Item Return in MultiPlayer
  3266. DSBAREXP*   Barrel explosion
  3267.  
  3268.      Player
  3269.  
  3270. DSSKLDTH    Player Push on wall
  3271. DSNOWAY     Player blocked by wall
  3272. DSOOF       Player hitting ground
  3273. DSWPNUP     Weapon pickup
  3274. DSITEMUP    Item pickup
  3275. DSGETPOW    Power up sound (Soul Sphere, etc.)
  3276. DSPLPAIN    Player injured
  3277. DSPLDETH    Player dying scream
  3278. DSPDIEHI    Player higher dying scream
  3279.  
  3280.                                                                 page 44
  3281.  
  3282.  
  3283.  
  3284.  
  3285.      Former Humans
  3286.  
  3287. DSPOSACT    Former Human nearby breathing
  3288. DSPOSIT1    Former Human sees Player
  3289. DSPOSIT2    Former Human sees Player
  3290. DSPOSIT3    Former Human sees Player
  3291. DSPOPAIN*   Former Human injured
  3292. DSPODTH1    Former Human Death Moan
  3293. DSPODTH2    Former Human Death Moan
  3294. DSPODTH3    Former Human Death Yell
  3295.  
  3296.      Imps
  3297.  
  3298. DSBGACT     Imps nearby oinking
  3299. DSBGSIT1    Imp sees Player
  3300. DSBGSIT2    Imp sees Player
  3301. DSCLAW*     Imp clawing Player
  3302. DSPOPAIN*   Imp injured
  3303. DSBGDTH1    Imp dying
  3304. DSBGDTH2    Imp dying
  3305.  
  3306.      Demons/Spectres
  3307.  
  3308. DSSGTSIT    Demon/Spectre sees Player
  3309. DSDMACT*    Demon/Spectre nearby
  3310. DSSGTATK    Demon/Spectre chomping Player
  3311. DSDMPAIN*   Demon/Spectre injured
  3312. DSSGTDTH    Demon/Spectre dying
  3313.  
  3314.      Cacodemons
  3315.  
  3316. DSCACSIT    Cacodemon sees player
  3317. DSDMACT*    Cacodemon nearby
  3318. DSDMPAIN*   Cacodemon injured
  3319. DSCACDTH    Cacodemon dying
  3320.  
  3321.      Barons of Hell
  3322.  
  3323. DSBRSSIT    Baron sees Player
  3324. DSDMACT*    Baron nearby
  3325. DSCLAW*     Baron clawing Player
  3326. DSDMPAIN*   Baron injured
  3327. DSBRSDTH    Baron dying
  3328.  
  3329.      Lost Souls
  3330.  
  3331. DSSKLATK    Lost Soul attacking
  3332. DSDMACT*    Lost Soul nearby
  3333. DSDMPAIN*   Lost Soul injured
  3334. DSFIRXPL*   Lost Soul dying
  3335.  
  3336.      Spider Demon
  3337.  
  3338. DSSPISIT    Spider Demon sees Player
  3339. DSMETAL     Spider Demon walking
  3340. DSSPIDTH    Spider Demon dying
  3341.  
  3342.  
  3343.  
  3344.  
  3345.  
  3346.                                                                 page 45
  3347.  
  3348.  
  3349.  
  3350.  
  3351.      Cyber Demon
  3352.  
  3353. DSCYBSIT    Cyber Demon sees Player
  3354. DSHOOF      Cyber Demon walking
  3355. DSCYBDTH    Cyber Demon dying
  3356.  
  3357.      Miscellaneous
  3358.  
  3359. DSPISTOL*    Menu selections
  3360. DSPISTOL*    Kills, Items, Secrets & Time at end of level screen
  3361. DSSWTCHN*    Esc to main menu
  3362. DSBAREXP*    Level finished explosion at end of level screen
  3363. DSSGCOCK*    Proceed to next level at end of level screen
  3364.  
  3365.      Modem
  3366.  
  3367. DSTINK      Player calling you in modem play
  3368.  
  3369. ___________________________________
  3370.  
  3371. B)    SOUNDS FOUND ONLY in DOOM II
  3372. ___________________________________
  3373.  
  3374.  
  3375.      Weapons
  3376.  
  3377. DSDBOPN     Open Super Shotgun
  3378. DSDBCLS     Close Super Shotgun
  3379. DSDBLOAD    Reload Super Shotgun
  3380. DSDSHTGN    Fire Super Shotgun
  3381.  
  3382.      Revenant
  3383.  
  3384. DSSKESIT    Revenant sees Player    
  3385. DSSKEACT    Revenant nearby
  3386. DSSKEATK    Revenant fires missile
  3387. DSSKESWG    Revenant swings at player
  3388. DSSKEPCH    Revenant punches player
  3389. DSSKEDTH    Revenant dying
  3390.  
  3391.      Mancubis
  3392.  
  3393. DSMANSIT    Mancubis sees Player
  3394. DSMANATK    Mancubis attacks
  3395. DSMNPAIN    Mancubis injured
  3396. DSMANDTH    Mancubis dying
  3397.  
  3398.      Pain Elemental
  3399.  
  3400. DSPESIT     Pain Elemental sees Player
  3401. DSPEPAIN    Pain Elemental injured
  3402. DSPEDTH     Pain Elemental dying
  3403.  
  3404.      Baby Spider
  3405.  
  3406. DSBSPSIT    Baby Spider sees Player
  3407. DSBSPWLK    Baby Spider walking
  3408. DSBSPACT    Baby Spider nearby
  3409. DSBSPDTH    Baby Spider dying
  3410.  
  3411.  
  3412.                                                                 page 46
  3413.  
  3414.  
  3415.  
  3416.  
  3417.      Hell Knight
  3418.  
  3419. DSKNTSIT    Hell Knight sees Player
  3420. DSDMACT*    Hell Knight nearby
  3421. DSCLAW*     Hell Knight clawing Player
  3422. DSDMPAIN*   Hell Knight injured
  3423. DSKNTDTH    Hell Knight dying
  3424.  
  3425.      Arch-Vile
  3426.  
  3427. DSVILSIT    Arch Vile sees Player
  3428. DSVILACT    Arch Vile nearby
  3429. DSVILATK    Arch Vile attacks
  3430. DSFLAMST    Arch-Vile shoots Flame?
  3431. DSFLAME     Arch Vile's Flame arrives
  3432. DSVIPAIN    Arch Vile injured
  3433. DSVILDTH    Arch Vile dying
  3434.  
  3435.      Final Boss
  3436.  
  3437. DSBOSSIT    Final Boss sees Player
  3438. DSBOSPIT    Final Boss spits Cube
  3439. DSBOSCUB    Final Boss Cube lands and expands
  3440. DSBOSPN     Final Boss injured
  3441. DSBOSDTH    Final Boss dying
  3442.  
  3443.      Wolfenstein
  3444.  
  3445. DSSSSIT     Wolfenstein SS sees player. 'Schultstaffel'-'SS'
  3446. DSSSDTH     Wolfenstein SS dying. 'mein lieben' -'My Life!'
  3447. DSKEENPN    Commander Keen injured
  3448. DSKEENDT    Commander Keen dying
  3449.  
  3450.      Unknown
  3451.  
  3452. DSRADIO     Phone sound? Modem play?
  3453.  
  3454.  
  3455.  
  3456.  
  3457.  
  3458.  
  3459.  
  3460.  
  3461.  
  3462.  
  3463.  
  3464.  
  3465.  
  3466.  
  3467.  
  3468.  
  3469.  
  3470.  
  3471.  
  3472.  
  3473.  
  3474.  
  3475.  
  3476.  
  3477.  
  3478.                                                                 page 47
  3479.  
  3480.  
  3481.  
  3482.  
  3483. AFTERWORD
  3484.  
  3485.                       TRINITY.WAD: HOW I MADE IT.
  3486.                  For lost drunken men who no longer know
  3487.                  where they are, but DO care. (Cell #2)
  3488.                               Steve McCrea
  3489.                    <<FIRST DRAFT 8th September 1994>>
  3490.  
  3491. -----------------------------------------------------------------------
  3492.  
  3493.                This information is published with DeuTex
  3494.                    with permission from Steve McCrea
  3495.  
  3496.               This file is a bit obsolete. Get the last
  3497.                   version directly from Steve McCrea.
  3498.  
  3499.  
  3500. Examples are taken from DOOMTEX, which was used for TRINITY.WAD.
  3501. To convert doomtex format to DeuTex format, simply add a '*' and a
  3502. space before each PATCH name (not wall names). Here is an example:
  3503.  
  3504. --------
  3505. doomtex:
  3506. -------- 
  3507. DOORCRST 128 128
  3508.                 door11_1 4 0
  3509.                 door11_1 124 0
  3510.                 door11_1 -116 0
  3511.                 pcrest4 46 37
  3512.  
  3513. -------
  3514. DeuTex:
  3515. -------
  3516. DOORCRST 128 128
  3517. *               door11_1 4 0
  3518. *               door11_1 124 0
  3519. *               door11_1 -116 0
  3520. *               pcrest4 46 37
  3521.  
  3522. Case is not significant for DeuTex, but it was for doomtex.
  3523.  
  3524. -----------------------------------------------------------------------
  3525.  
  3526. I am writing this article in response to numerous inquiries about the
  3527. techniques used in the creation of Trinity, and in particular a direct
  3528. request from Ian Mapleson. It is in no way intended as a textbook
  3529. approach, and I accept no responsibility for any time wasted as a
  3530. result of following the procedures documented here. I may stray from
  3531. the subject matter from time to time, as I said to the producer last
  3532. week... Although titled "How I Made It", this may not be strictly true.
  3533. I leave it as an exercise to the reader to determine which bits have
  3534. been glossed over for clarity.
  3535.  
  3536.  
  3537.  
  3538.  
  3539.  
  3540.  
  3541.  
  3542.  
  3543.  
  3544.                                                                 page 48
  3545.  
  3546.  
  3547.  
  3548.  
  3549. LEVEL DESIGN
  3550.  
  3551. As with all design, it is important to have the right tools and be
  3552. familiar with them. I restricted myself unnecessarily at this early
  3553. stage by only downloading DEU. I think this was a big mistake.  The
  3554. other editors out there may well have some great features I missed out
  3555. on totally. I know, for instance, that at least one of the others
  3556. supports auto stair construction. But since I didn't get the others, I
  3557. don't know what else is available to speed design.  My recommendation
  3558. for those starting out in WAD design is to get them all, find out which
  3559. does what best and then mix and match. You may find yourself using one
  3560. for most of the layout and then just switching quickly to another to do
  3561. some trick or other. Hopefully you won't get too confused!
  3562.  
  3563. Before I started on Trinity, I had designed a few mini-levels in DEU.
  3564. The first was just one room, then I did a couple of Wolfenstein levels,
  3565. and so on. This got all the big mistakes out of the way, such as
  3566. overlaying lines and vertices, splitting sectors wrongly, and losing
  3567. work because DEU crashed. Then I laid out the courts in Trinity from
  3568. memory, and ran about in Doom checking that the scale felt right.
  3569. Initially there was an area surrounding the college but I dropped it
  3570. because it was going to be boring, and the map was huge anyway.  I left
  3571. most walls the standard texture, and only added things like wood for
  3572. gates. Having satisfied the sense of scale, I put in most of the rooms
  3573. and passages, and added rough doors.
  3574.  
  3575. SCANNING PHOTOGRAPHS
  3576.  
  3577. About this time, I realized that it would be doing the college an
  3578. injustice to use the standard Doom textures. I decided to scan some
  3579. photographs of the college and put them in, so I borrowed Peter
  3580. Morgan's (thanks Pete) camera on a sunny day and wandered over to
  3581. Trinity. I tried to make the photographs I took clear from
  3582. obstruction, shadow free and square to the viewer, i.e., with as
  3583. little distortion as possible. I then scanned standard sized 6"x4"
  3584. prints at on average 150dpi with Bill Milne's (thanks Bill) color
  3585. scanner. I used Adobe PhotoShop on Bill's Mac to straighten the
  3586. images and crop off what I was sure I didn't need, but I DIDN'T
  3587. change the resolution or convert from 24 bit color and I DIDN'T
  3588. crop right up to the edges of what I wanted.
  3589.  
  3590. This was AFTER the test run on the Wren library, the southern upper
  3591. wall of the southwest courtyard (NOTE: Apologies to those who know
  3592. Trinity: yes, I have rotated the college 90 degrees!), when I scaled
  3593. the image to 64x256 and saved it as an 8 bit GIF. If you look
  3594. carefully at the texture in the level, you will see that it is now
  3595. 128 wide, scaled from 64!  Yech. I wasn't going to make that mistake
  3596. again, although I couldn't be bothered to rescan the Wren library.
  3597.  
  3598. When I was pretty sure what size I wanted for graphics, I COPIED
  3599. the images, cropped, scaled, tinted, smoothed, converted to GIF, and
  3600. so on.  Some graphics didn't tile very well, and I either touched
  3601. them up to tile properly (e.g., stone) or mirrored one half (e.g.,
  3602. the windows on the outside of the dining hall).
  3603.  
  3604. There are three hand drawn graphics in Trinity: the sky, plaster, and
  3605. the burgundy wood paneling. Again I started with a 24 bit palette,
  3606. and used the pencil and airbrush tools before blending, motion
  3607. blurring, tinting etc. to produce the final image. Several edit
  3608. cycles were required to get something that I was (sort of) happy with
  3609. in Doom.
  3610.                                                                 page 49
  3611.  
  3612.  
  3613.  
  3614. TALL WALLS
  3615.  
  3616. The standard Doom texture is a maximum of 128 pixels high, and on walls
  3617. higher than this the texture repeats vertically. Clearly I didn't want
  3618. this in Trinity, so I use a couple of tricks to avoid it. On walls with
  3619. void space behind (no sector behind) a sector is added with floor and
  3620. ceiling heights chosen to divide the wall into sections less than 128
  3621. high. (Notice that I say _less_ than 128 high. Initially you might
  3622. think, as I did, that 128 high would be perfect. However, if there is a
  3623. substantial color change from top to bottom of a texture then, as in
  3624. Trinity, glitches appear on the walls at the dividing lines due to
  3625. round off in the vertical texture mapping.)
  3626.  
  3627.     _____________
  3628.    /   added     \
  3629.   /    sector     \
  3630. ---------------------
  3631.     tall wall
  3632.               ----------------- top of wall
  3633.         |           upper texture
  3634.         |         ----------------- ceiling of added sector
  3635.         +---->      normal texture
  3636.               ----------------- floor of added sector
  3637.                 lower texture
  3638.               ----------------- bottom of wall
  3639.  
  3640. Textures are applied as shown. The line between the sectors is marked
  3641. as 2S/Im/So in DEU, i.e., two sided, impassable, and blocks sound. The
  3642. blocks sound bit is to reduce the size of the REJECT data. See the
  3643. unofficial specs for details. The impassable bit is to prevent you or
  3644. monsters going into the sector (I had this problem with skulls
  3645. initially. It was disturbing to find skulls appearing from nowhere!).
  3646. The normal texture must be a single patch or the Medusa effect (looks
  3647. like snakes and you turn to stone) will occur.
  3648.  
  3649. In Doom, each texture is constructed from one or more graphics patches.
  3650. The texture definition contains no image data, just the size of the
  3651. texture, and a list of patches and their position in the texture. The
  3652. _patch_ definition contains the image data. For walls which already had
  3653. sectors behind them (e.g., above a doorway) non-repeating tall textures
  3654. are achieved by "stepping" the wall. A separate sector is required for
  3655. each step. In side view,
  3656.  
  3657.         ------- ceiling
  3658.          |
  3659.          |<-- top texture
  3660.          |
  3661.         -
  3662.        |
  3663.        |<-- middle texture
  3664.        |
  3665. ---------
  3666.  
  3667.     doorway
  3668. ------------------- floor
  3669.  
  3670. This is not as neat as the other method because the ceiling texture of
  3671. the sector between the top and middle textures will always be visible,
  3672. and must be chosen to minimize breaking up the look of the wall. It is
  3673. also harder to add because the sector should clearly be very thin (in
  3674. Trinity they are 2 units thick) and this is very fiddly work away from
  3675. the autogrid.
  3676.                                                                 page 50
  3677.  
  3678.  
  3679.  
  3680. GRAPHICS ADDITION
  3681.  
  3682. Initially I just replaced patches in single patch textures. I hacked
  3683. around with DMGRAPH to make it convert a GIF directly to a patch.
  3684. Then I used a program I had previously written for sound lumps to
  3685. make a PWAD of patches with names the same as the names of patches in
  3686. single patch textures. These then replaced the same-named patches
  3687. when the PWAD is included using -file.
  3688.  
  3689. However a better solution was necessary as (a) I was running out of
  3690. single patch textures, and (b) I needed some user defined multipatch
  3691. textures. So I wrote a program to convert the texture definition
  3692. entries in the main Doom WAD to an ASCII format, and another which
  3693. recreated the binary definition entries from the ASCII format. The
  3694. big advantage of this method was that it allowed the creation of NEW
  3695. textures with sensible names like "stone" and "plaster". A typical
  3696. definition of a new texture "doorcrst", a 128x128 texture with
  3697. three old patches and one new:
  3698.  
  3699. DOORCRST 128 128
  3700.             door11_1 4 0
  3701.             door11_1 124 0
  3702.             door11_1 -116 0
  3703.             pcrest4 46 37
  3704.  
  3705. For textures to repeat properly when the length is greater than the
  3706. width of the texture, the width should be a power of two. For some
  3707. reason, the "aastinky" texture in Doom is 24 units wide. The last
  3708. eight columns of the graphic will never be seen (but they're not
  3709. very exciting anyway).
  3710.  
  3711. The first released version of Trinity had redefined switch textures,
  3712. so that when the switch was encountered later in the standard levels,
  3713. it looked really bad. In the second version I fixed this by setting
  3714. the switches into walls so that only the switch part of the texture
  3715. was visible. This is _highly_ recommended for levels which may be
  3716. grouped into PWAD episodes.
  3717.  
  3718.  
  3719.        old switch texture
  3720.            | 
  3721.            v
  3722.          x--------x <-- thin sector with 'metal' textures
  3723.   -----x---x--------x---x-----
  3724.        ^            ^    wall
  3725.        |            |
  3726.        +------------+------ new switch surround
  3727.  
  3728.  
  3729.  
  3730.  
  3731.  
  3732.  
  3733.  
  3734.  
  3735.  
  3736.  
  3737.  
  3738.  
  3739.  
  3740.  
  3741.                                                                 page 51
  3742.  
  3743.  
  3744.  
  3745.  
  3746. Actually it's just occurred to me that there is a neater, if more
  3747. memory hungry, way to do this seamlessly. Widen the switch texture
  3748. and put the new switch on the right of the old one, then when using
  3749. your new switch offset the texture by the appropriate amount. As
  3750. long as no other levels use a repeated switch on a wall, then this
  3751. is perfect. For example, say you wanted a new switch pair, you could
  3752. tack them on the right of the SW1BRN1 and SW2BRN1 switch pair. The
  3753. original definition of SW1BRN1 is
  3754. SW1BRN1 64 128
  3755.             wall02_2 0 56
  3756.             wall02_2 0 0
  3757.             sw3s0 16 75
  3758. which you redefine to be
  3759. SW1BRN1 256 128
  3760.             wall02_2 192 56
  3761.             wall02_2 192 0
  3762.             wall02_2 64 56
  3763.             wall02_2 64 0
  3764.             wall02_2 0 56
  3765.             wall02_2 0 0
  3766.             sw3s0 16 75
  3767.             pplast 96 0
  3768.             pplast 160 0
  3769.             sw3s0 144 75
  3770.  
  3771. The old switch is still at offset 0. The new switch is at offset 128.
  3772. Note the repetition of the wall patch. This allows for roundoff error
  3773. in the texture mapping engine, which expects similar texture to be
  3774. just to the left and just to the right of the texture being drawn.
  3775. Don't forget to define the other switch position SW2BRN1 similarly!
  3776. This technique allows for a large number of different switch designs
  3777. to be used in a PWAD. Not that I'm condoning the use of a large
  3778. number of switches in PWADs - in fact, some of the best PWADs are
  3779. totally ruined by switches everywhere. (No Return01s, I mean names,
  3780. mentioned. Speaking of which, which I'm not of course, did you know
  3781. that there are two graphics added to Return to Phobos? Switches!
  3782. Both of them! Good grief, Michael! _Beautiful_ WAD, but...)
  3783.  
  3784. Note: remember to make the textures a power of two wide if you want to
  3785. allow for roundoff.
  3786.  
  3787. The programs I mention in this section are available as a zip
  3788. dmtex10c.zip at infant2. Alternatively you could try deutex by Olivier
  3789. Montanuy which is easier to use, and will be supported and updated.
  3790.  
  3791.  
  3792.  
  3793.  
  3794.  
  3795.  
  3796.  
  3797.  
  3798.  
  3799.  
  3800.  
  3801.  
  3802.  
  3803.  
  3804.  
  3805.  
  3806.  
  3807.                                                                 page 56
  3808.  
  3809.  
  3810.  
  3811.  
  3812. THE "ANIMATION"
  3813.  
  3814. If you haven't seen Trinity.WAD, I recommend you look at it before
  3815. reading this section as it contains a massive spoiler. However if you
  3816. haven't seen Trinity you probably aren't reading this document (?!?),
  3817. so...
  3818.  
  3819. Several people have asked how the cyberdemon movie is done. I have
  3820. even heard it described as "voodoo magic"! Nothing could be further
  3821. from the truth. It is actually very simple. To quote Matt Fell in
  3822. the unofficial Doom specs 1.3,
  3823.  
  3824.      "It is possible to change the walls and floors that are
  3825. animated, like the green blocks with a sewer-like grate that's
  3826. spewing green slime (SLADRIPx). The game engine sets up as many as 8
  3827. animation cycles for walls based on the entries in the TEXTURE
  3828. resources, and up to 5 based on what's between F_START and F_END. The
  3829. entries in FirstTexture and LastTexture, below, and all the entries
  3830. between them (in the order that they occur in a TEXTURE list), are
  3831. linked. If one of them is called by a sidedef, that sidedef will
  3832. change texture to the next in the cycle about 5 times a second,
  3833. going back to First after Last. Note that the entries between First
  3834. and Last need not be the same in number as in the original, nor do
  3835. they have to follow the same naming pattern, though that would
  3836. probably be wise. E.g. one could set up ROCKRED1, ROCKREDA, ROCKREDB,
  3837. ROCKREDC, ROCKREDD, ROCKREDE, ROCKRED3 for a 7-frame animated wall!"
  3838.  
  3839. Hence the movie in Trinity is defined in the ASCII texture file as a
  3840. series of textures SLADRIP1, MOVIE01, MOVIE02, ..., MOVIE98,
  3841. SLADRIP3. The important thing is the order in which the textures
  3842. are listed. The Doom EXE contains the names of the FirstTextures
  3843. and LastTextures so it isn't possible to have additional animation
  3844. cycles in a PWAD.
  3845.  
  3846. And because the sprites and the Doom logo have the same format
  3847. as patches, they are just listed as if they were patches. For
  3848. example, a frame of the movie is defined
  3849.  
  3850. MOVIE08 256 128
  3851.             pblak 0 0
  3852.             pblak 64 0
  3853.             pblak 128 0
  3854.             pblak 192 0
  3855.             t 67 40
  3856.             r 86 40
  3857.             i 106 40
  3858.             n 124 40
  3859.             i 144 40
  3860.             t 162 40
  3861.             y 181 40
  3862.             m_doom 67 50
  3863.             cybre7 -20 20
  3864.             playf3f7 198 64
  3865.  
  3866. where "pblak" is a totally black patch, and t, r, i, n, and y are
  3867. the characters. Initially, the movie used the character set in the
  3868. game but this caused crashes (for a reason I won't go into now) so
  3869. after consulting ID, I included the character set again in the PWAD
  3870. with new names.
  3871.  
  3872.  
  3873.                                                                 page 57
  3874.  
  3875.  
  3876.  
  3877.  
  3878. The technique described in the Graphics Addition section for adding
  3879. new switches can also be applied to new animated textures. Just
  3880. make the new animation length a multiple of the old length, and
  3881. put the old animation at the left of the textures. Don't forget to
  3882. satisfy the roundoff errors! You could squeeze twenty or more thin
  3883. animations into a large texture!
  3884.  
  3885. THE SKY
  3886.  
  3887. You may not have noticed, but the sky in the latest version of Trinity
  3888. doesn't repeat anywhere around the horizon. (Thanks to Olivier
  3889. Montanuy, author of DeuTex, for teaching me this trick.) This is done
  3890. by defining a sky texture (SKY1, SKY2, or SKY3 depending on the
  3891. episode) which is 1024x128 in size, and pasting patches into it so
  3892. that 0=East, 256=North, 512=West, and 768=South. Note that this means
  3893. that the textures are left/right mirrored! I can't think of any way
  3894. to make the sky texture animated. However you could fake twin skies
  3895. by only allowing the player to see half the sky during one part of a
  3896. level, and then later only allowing him to see the other half! A
  3897. crap example would be bright blue skies -> red skies+mushroom cloud.
  3898. It's probably a good idea to disorient the player in between with,
  3899. for example, a teleport, so he doesn't catch on to the trick too
  3900. quickly.
  3901.  
  3902. CONCLUSION
  3903.  
  3904. In this document I have outlined some techniques which can be used to
  3905. seemingly extend the Doom engine. The use of these inevitably slows
  3906. down Doom and so should be used sparingly, unless you _really_ need
  3907. (well, really _want_, anyway) the effect.
  3908.  
  3909. If you're about to start your first big WAD, collect together as many
  3910. tools as you can, and read all the documentation you can find,
  3911. particularly the Unofficial specs. Good luck!
  3912.  
  3913.  
  3914.  
  3915.  
  3916.  
  3917.  
  3918.  
  3919.  
  3920.  
  3921.  
  3922.  
  3923.  
  3924.  
  3925.  
  3926.  
  3927.  
  3928.  
  3929.  
  3930.  
  3931.  
  3932.  
  3933.  
  3934.  
  3935.  
  3936.  
  3937.  
  3938.  
  3939.                                                                 page 58
  3940.