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