home *** CD-ROM | disk | FTP | other *** search
/ The Hacker's Encyclopedia 1998 / hackers_encyclopedia.iso / pc / softdox / build1_1.faq < prev    next >
Encoding:
Text File  |  2003-06-11  |  249.5 KB  |  7,700 lines

  1. HHHHHH HH              HH    HH        .dHHb.   .dH  .dH db       db       HH
  2.   HH   HH              HH    HH       dhP""YHb dH"  dH"  YP       YP       HH
  3.   HH   HHHb.  .db.     HH    HH HHb.  HH    HH HHHH HHHH     dHHb     dHb. HH
  4.   HH   HH"Hb HP..Hb    HH    HH HH"Hb HH    HH HH   HH   HH dP"   HH   7db HH
  5.   HH   HH HH HH"""'    YHb..dHP HH HH YHb..dHP HH   HH   HH Yb.   HH HH"HH HH
  6.   HH   HH HH  "YHP      "YHHP"  HH HH  "YHHP"  HH   HH   HH  YHHP HH "YHHH HH
  7.  
  8.              __________     ___     ___   ___   ______ __________
  9.             |          `\  |   |   |   | |   | /    /~|          |
  10.             `|     ..    `\|.::|   |:::| |::.|/.. /~  |   -------'
  11.              |     HHb..:::dHHHH   HHHHH |HHHHHb:Y..  |   `"""""|
  12.              |    .HHH:::dHHHHHH   HHHHH |HHHHHHHb::::|.  ______|
  13.             ,|  .:|HHHxHHHHHHHHHbodHHHHP |HHHHHHHHbn::|:::`------.
  14.             |______HHHHHHHP "YHHHHHHHHP  |HHH| `HHHHHbHHb:::::...|
  15.              ____  ~~~~~~     `~~"~~~     ~~~   ~~~~~~ ~~~~~~~~~~
  16.             |.:::`:::HHHH:HHH:::HHH:HHb::dHHP:HHHHHHHH:HHb::::,~~|
  17.             |:::dHb::HHHH:HHH:::HHH:HHHbdHHP::HHHHHHHH:HHHb:::/::|
  18.              |dHHHHb:HHHH:HHH:::HHH:HHHHHHP:::HHH....::HHHHb:/'::|
  19.              dHHHHHHMHHHH:HHH:::HHH:HHHHHHX:::HHHHHHH::HHHHHXHb::|
  20.              HHH"YHHHHHHH:HHH:::HHH:HHHHHHHb::HHH""""::HHHXHHHXHb|
  21.             HHHH:::YHMMM!:YHHHMHHHP:HHH:"YHHb:HHHHHHHH:HHH:YHP:HHH
  22.             HHHH:::::HHHH::"YHHHY"::HHH:::YHHbHHHHHHHH:HHH::Y::HHH
  23.             mmmmmmmmmmmmmmmmmmmmmmm   mmmmmmmmmmmmmmmmmmmmmm..
  24.             HHHHHHHHHHHHHHHHHHHHHHHHb HHHHHHHHHHHHHHHHHHHHHHHHHn
  25.             """"          XHHHHHHHHHR ^HHHHHHHHHHH"""YHHHHHHHHHHb.
  26.                  HHHHHHHHHHHHHHHHHHHP  HHHHHHHHHHH    HHHHHHHHHHHH
  27.                  HHHHHHHHHHHHHHHHHHHb  HHHHHHHHHHH    HHHHHHHHHHHH
  28.             mmmm          XHHHHHHHHHH mHHHHHHHHHHHmmmdHHHHHHHHHHP'
  29.             HHHHHHHHHHHHHHHHHHHHHHHHP HHHHHHHHHHHHHHHHHHHHHHHHP'
  30.             """""""""""""""""""""""   """""""""""""""""""""""
  31.  
  32.        HHHHHH    HH db HH   db                HHHHHHHH  dHH  .dHHb.
  33.        HH        HH YP HH   YP                HH       dHHH dHP""YHb
  34.        HHHH   .dHHH    HHHH    HHHb.  .db.    HHHHH   dHPHH HH    HH
  35.        HH    dH' HH HH HH   HH HH"Hb dP"Hb    HH     dHP HH HH Yb HH
  36.        HH    Yb. HH HH YHb. HH HH HH Yb HH    HH    dHHHHHH YHb.YbHP
  37.        HHHHHH "YHHH HH  "YH HH HH HH  "YHH    HH   dHP   HH  "YHHHH"
  38.                                         HH                        Yb
  39.                                      Yb dP
  40.                                       "B"
  41.  
  42.                           Release v1.1
  43.                   Last Updated: 27th June 1996
  44.  
  45.                            Written by
  46.           Klaus Breuer (sz0759@rzmail.uni-erlangen.de)
  47.  
  48.  
  49.                           Contents
  50.  
  51.  
  52.  
  53.      Chapter 1  Happy lawyer dept.
  54.         1.1  Disclaimer
  55.         1.2  Trademark information
  56.         1.3  Copyright notice
  57.  
  58.      Chapter 2  Introduction
  59.         2.1  *A word from Klaus Breuer*
  60.         2.2  *Intended Audience*
  61.         2.3  *About the "UnOfficial" DUKE NUKEM 3D EDITING
  62.              FAQ*
  63.         2.4  *Getting the "UnOfficial" DN3DE FAQ*
  64.         2.5  Adding to the FAQ
  65.         2.6  (The DN3D EDITING mailing list)
  66.         2.7  *The DN3D EDITING ftp site*
  67.         2.8  *WWW sites*
  68.         2.9  (IRC)
  69.         2.10  *Acknowledgments*
  70.         2.11  Accurate information
  71.         2.12  Help with new levels
  72.  
  73.      Chapter 3  Preliminary information
  74.         3.1  Intended audience for this chapter
  75.         3.2  The basics
  76.            3.2.1  Differences between the Build and DOOM
  77.                   engines
  78.            3.2.2  (Useful cheats for testing levels)
  79.            3.2.3  What a map consists of
  80.               3.2.3.1  Sectors
  81.               3.2.3.2  Walls
  82.               3.2.3.3  Textures
  83.               3.2.3.4  (Sprites)
  84.  
  85.      Chapter 4  Planning and designing a level
  86.         4.1  (Installing BUILD)
  87.         4.2  (Before starting)
  88.         4.3  [Pros and cons of using real-world maps]
  89.            4.3.1  [Advantages]
  90.            4.3.2  (Disadvantages)
  91.         4.4  [Using DOOM maps]
  92.         4.5  (Designing the level)
  93.            4.5.1  (Level types)
  94.               4.5.1.1  (Single player)
  95.               4.5.1.2  (Co-op)
  96.               4.5.1.3  (DukeMatch)
  97.               4.5.1.4  (My room/flat/dorm/house)
  98.            4.5.2  (Choosing a level type)
  99.            4.5.3  *Random tips and thoughts*
  100.         4.6  (DukeMatch level design)
  101.            4.6.1  (Monster placement)
  102.            4.6.2  (Weapon placement)
  103.               4.6.2.1  (Power weapons)
  104.               4.6.2.2  (Starting-point weapons)
  105.            4.6.3  (Ammo placement)
  106.               4.6.3.1  (Amount and location)
  107.               4.6.3.2  (Ammo Quantity Types)
  108.            4.6.4  (Health placement)
  109.            4.6.5  (Architectures)
  110.               4.6.5.1  (Large, open areas)
  111.               4.6.5.2  (Long, wide passages)
  112.               4.6.5.3  (Nooks 'n crannies)
  113.               4.6.5.4  (Balconies, bridges and tower)
  114.               4.6.5.5  (Fortresses)
  115.               4.6.5.6  (Obstacles)
  116.               4.6.5.7  (Sniper spots)
  117.         4.7  (Once your level is done)
  118.  
  119.      Chapter 5  [A walkthrough to creating a simple level]
  120.         5.1  [Planning]
  121.         5.2  [Getting ready]
  122.         5.3  [Creating a new map]
  123.         5.4  [The 2D screen]
  124.            5.4.1  [Map]
  125.            5.4.2  [Message window]
  126.            5.4.3  [Data window]
  127.            5.4.4  [Info window]
  128.         5.5  [Moving about]
  129.         5.6  [Creating a room]
  130.         5.7  [3D mode]
  131.         5.8  [Raising the roof]
  132.         5.9  [Textures]
  133.            5.9.1  [The floor]
  134.            5.9.2  [The roof]
  135.            5.9.3  [Flying about]
  136.            5.9.4  [The walls]
  137.         5.10  [Building the house]
  138.            5.10.1  [The house sector]
  139.            5.10.2  [Fixing the house sector]
  140.               5.10.2.1  [The carpet floor]
  141.               5.10.2.2  [Nice walls]
  142.               5.10.2.3  [Finally, the roof]
  143.            5.10.3  [Saving your work]
  144.            5.10.4  [Building a doorway]
  145.            5.10.5  [Adding a window]
  146.            5.10.6  [Glass]
  147.            5.10.7  [The sloped roof]
  148.         5.11  [Trying it out]
  149.         5.12  [Decorations]
  150.            5.12.1  [The flower pot]
  151.            5.12.2  [The picture]
  152.            5.12.3  [A hanging lamp]
  153.            5.12.4  [The burning barrel]
  154.         5.13  [The enemy appears]
  155.         5.14  [The other players]
  156.         5.15  [Taking it from here]
  157.  
  158.      Chapter 6  [The BUILD Editor]
  159.         6.1  [2D Mode]
  160.            6.1.1  [The Screen]
  161.               6.1.1.1  [The map]
  162.               6.1.1.2  [The Message window]
  163.               6.1.1.3  [The Data window]
  164.               6.1.1.4  [The Info window]
  165.            6.1.2  [The mouse]
  166.               6.1.2.1  [Move]
  167.               6.1.2.2  [Left button]
  168.               6.1.2.3  [Right button]
  169.            6.1.3  [The keyboard]
  170.               6.1.3.1  [Esc]
  171.               6.1.3.2  [Cursor keys]
  172.               6.1.3.3  [NumIns and NumDel]
  173.               6.1.3.4  [Spacebar]
  174.               6.1.3.5  [NumEnter]
  175.               6.1.3.6  (RightShift)
  176.               6.1.3.7  [Control-RightShift]
  177.               6.1.3.8  *RightAlt*
  178.               6.1.3.9  [Ins]
  179.               6.1.3.10  [Del]
  180.               6.1.3.11  (RightControl-Del)
  181.               6.1.3.12  [A and Z]
  182.               6.1.3.13  [G]
  183.               6.1.3.14  [L]
  184.               6.1.3.15  [J]
  185.               6.1.3.16  [Alt-S]
  186.               6.1.3.17  [S]
  187.               6.1.3.18  [B]
  188.               6.1.3.19  (C)
  189.               6.1.3.20  [T]
  190.               6.1.3.21  [H]
  191.               6.1.3.22  [Alt-T]
  192.               6.1.3.23  [Alt-H]
  193.               6.1.3.24  [E]
  194.               6.1.3.25  [< and >]
  195.               6.1.3.26  [Shift-< and Shift->]
  196.               6.1.3.27  [[ ]]
  197.               6.1.3.28  ['-M]
  198.               6.1.3.29  ['-3]
  199.               6.1.3.30  [F1]
  200.               6.1.3.31  [F2]
  201.               6.1.3.32  [F3]
  202.               6.1.3.33  [F4]
  203.               6.1.3.34  [F5]
  204.               6.1.3.35  [F6]
  205.               6.1.3.36  [F7]
  206.               6.1.3.37  (F8)
  207.               6.1.3.38  [F9]
  208.               6.1.3.39  [F10]
  209.               6.1.3.40  [F11]
  210.               6.1.3.41  [F12]
  211.               6.1.3.42  [TAB]
  212.               6.1.3.43  *Alt-TAB*
  213.               6.1.3.44  [ScrollLock]
  214.               6.1.3.45  [Ctrl-T]
  215.               6.1.3.46  [Enter]
  216.         6.2  [3D Mode]
  217.            6.2.1  [The screen]
  218.            6.2.2  [The mouse]
  219.               6.2.2.1  [Move]
  220.               6.2.2.2  [Left button]
  221.               6.2.2.3  (Right button)
  222.            6.2.3  [The keyboard]
  223.               6.2.3.1  [Cursor keys]
  224.               6.2.3.2  [CapsLock]
  225.               6.2.3.3  [PgUp and PgDn]
  226.               6.2.3.4  [V]
  227.               6.2.3.5  [Alt-V]
  228.               6.2.3.6  [NumCursor keys]
  229.               6.2.3.7  [Shift-NumCursor keys]
  230.               6.2.3.8  [/]
  231.               6.2.3.9  [.]
  232.               6.2.3.10  [F]
  233.               6.2.3.11  [Alt-F]
  234.               6.2.3.12  [P]
  235.               6.2.3.13  *Ctrl-P*
  236.               6.2.3.14  [G]
  237.               6.2.3.15  [E]
  238.               6.2.3.16  [R]
  239.               6.2.3.17  [O]
  240.               6.2.3.18  [B]
  241.               6.2.3.19  [T]
  242.               6.2.3.20  [M]
  243.               6.2.3.21  [Shift-M]
  244.               6.2.3.22  [1]
  245.               6.2.3.23  [2]
  246.               6.2.3.24  [H]
  247.               6.2.3.25  [TAB]
  248.               6.2.3.26  [Enter]
  249.               6.2.3.27  [Ctrl-Enter]
  250.               6.2.3.28  [Shift-Enter]
  251.               6.2.3.29  [Ctrl-Shift-Enter]
  252.               6.2.3.30  ['-ENTER]
  253.               6.2.3.31  ['-R]
  254.               6.2.3.32  ['-D]
  255.               6.2.3.33  ['-W]
  256.               6.2.3.34  ['-G]
  257.               6.2.3.35  ['-Y]
  258.               6.2.3.36  ['-T]
  259.               6.2.3.37  [-H]
  260.               6.2.3.38  ['-S]
  261.               6.2.3.39  ('-V)
  262.               6.2.3.40  ['-C]
  263.               6.2.3.41  ['-Del]
  264.               6.2.3.42  *Alt+-*
  265.               6.2.3.43  *CtrlAlt+-*
  266.               6.2.3.44  [F1]
  267.               6.2.3.45  [F2]
  268.               6.2.3.46  [F3]
  269.               6.2.3.47  [F4]
  270.               6.2.3.48  [F5]
  271.               6.2.3.49  [F6]
  272.               6.2.3.50  [F7]
  273.               6.2.3.51  [F8]
  274.               6.2.3.52  [F9]
  275.               6.2.3.53  [F10]
  276.               6.2.3.54  (F11)
  277.               6.2.3.55  [F12]
  278.         6.3  Typical mistakes to avoid
  279.            6.3.1  Crossed lines
  280.            6.3.2  Overlaying lines
  281.            6.3.3  (Hall Of Mirrors)
  282.            6.3.4  (Door side tracks)
  283.            6.3.5  (Unaligned Textures)
  284.            6.3.6  (Missing Player Starts)
  285.  
  286.      Chapter 7  How to...
  287.         7.1  Extracting the original maps
  288.         7.2  Abbreviations
  289.         7.3  (Player starting points)
  290.            7.3.1  (Notes)
  291.         7.4  Glass panes
  292.            7.4.1  *Notes*
  293.         7.5  *Invisible forcefield*
  294.         7.6  [Doorways]
  295.               7.6.0.1  Notes
  296.         7.7  Windows
  297.         7.8  (Air ducts)
  298.            7.8.1  (Notes)
  299.         7.9  Angled surfaces
  300.            7.9.1  (Notes)
  301.         7.10  Secret places
  302.         7.11  Multiplayer sprites
  303.         7.12  Level-end button
  304.            7.12.1  Notes
  305.         7.13  Level-end sector
  306.         7.14  Cameras
  307.            7.14.1  (Setup)
  308.            7.14.2  *Notes*
  309.         7.15  (Demo cameras)
  310.            7.15.1  (Setup)
  311.            7.15.2  *Notes*
  312.         7.16  Blastable walls (user control)
  313.            7.16.1  Setup
  314.            7.16.2  *Notes*
  315.            7.16.3  [Tips]
  316.         7.17  Blastable walls (triggered)
  317.            7.17.1  Setup
  318.            7.17.2  Notes
  319.         7.18  Conveyor Belts
  320.            7.18.1  Setup
  321.            7.18.2  [Notes]
  322.         7.19  Mirrors
  323.            7.19.1  *Notes*
  324.         7.20  *Garbage cans*
  325.            7.20.1  *Notes*
  326.         7.21  *Revenge of the dancers*
  327.            7.21.1  *Notes*
  328.         7.22  *Buzzing phones*
  329.         7.23  (Light switches)
  330.            7.23.1  Setup
  331.            7.23.2
  332.         7.24  [Permanently rotating sector (gears)]
  333.            7.24.1  [Setup]
  334.            7.24.2  [Notes]
  335.         7.25  Doors
  336.            7.25.1  (Standard hinged)
  337.               7.25.1.1  (Notes)
  338.            7.25.2  *DOOM-type door, remote control*
  339.               7.25.2.1  Setup
  340.               7.25.2.2  Notes
  341.            7.25.3  DOOM-type door, local control
  342.            7.25.4  (Sliding sideways)
  343.               7.25.4.1  (Notes)
  344.            7.25.5  Star Trek door
  345.               7.25.5.1  Setup
  346.               7.25.5.2  [Notes]
  347.            7.25.6  Four-way door
  348.               7.25.6.1  Notes
  349.            7.25.7  *Clamshell doors*
  350.            7.25.8  Teeth doors
  351.            7.25.9  Auto-closing doors
  352.            7.25.10  *Switch-controlled doors*
  353.         7.26  *Shrinking sector (remote control)*
  354.            7.26.1  *Setup*
  355.            7.26.2  *Notes*
  356.         7.27  (Automatic cannon)
  357.            7.27.1  (Setup)
  358.            7.27.2  (Notes)
  359.         7.28  (Lethal sectors)
  360.         7.29  (Earthquakes)
  361.            7.29.1  (Setup)
  362.            7.29.2  (Notes)
  363.         7.30  Elevators
  364.            7.30.1  Setup
  365.            7.30.2  (Notes)
  366.         7.31  (Remote-controlled Elevators)
  367.            7.31.1  (Setup)
  368.         7.32  Teleporters
  369.            7.32.1  Setup
  370.            7.32.2  (Notes)
  371.         7.33  Swimming pools
  372.            7.33.1  Setup
  373.            7.33.2  (Notes)
  374.            7.33.3  Tips
  375.         7.34  (The Grapplers)
  376.            7.34.1  (Setup)
  377.            7.34.2  (Tips)
  378.         7.35  (Overlapping sectors)
  379.            7.35.1  (Notes)
  380.         7.36  [Hiding switches]
  381.         7.37  [Bridges and Shelves]
  382.            7.37.1  *Notes*
  383.         7.38  (Minibosses)
  384.            7.38.1  (Notes)
  385.         7.39  {Morphing ramps}
  386.         7.40  *Pulsing lights*
  387.            7.40.1  *Setup*
  388.            7.40.2  *Notes*
  389.         7.41  (Vehicles)
  390.            7.41.1  Setup
  391.            7.41.2  (Notes)
  392.         7.42  Attacking Vehicles
  393.            7.42.1  (Notes)
  394.         7.43  (Two-way Vehicles)
  395.            7.43.1  (Setup)
  396.            7.43.2  (Notes)
  397.         7.44  [Water waves]
  398.            7.44.1  *Setup*
  399.            7.44.2  [Notes]
  400.         7.45  [Engine piston]
  401.            7.45.1  [Setup]
  402.            7.45.2  [Notes]
  403.         7.46  [Edge walls]
  404.            7.46.1  (Setup)
  405.         7.47  [Code switches]
  406.            7.47.1  [Setup]
  407.            7.47.2  [Notes]
  408.         7.48  [The pool table]
  409.            7.48.1  [Setup]
  410.            7.48.2  [Notes]
  411.            7.48.3  (Once-only sound effects)
  412.               7.48.3.1  (Setup)
  413.            7.48.4  *Ambience sounds*
  414.         7.49  [Tips and tricks: New and interesting
  415.               effects]
  416.            7.49.1  (Ghosts)
  417.            7.49.2  *Unfreezable monsters*
  418.            7.49.3  (Falling to your death?)
  419.            7.49.4  (Malfunctioning doors)
  420.            7.49.5  *Mines*
  421.            7.49.6  (The shrinking player)
  422.            7.49.7  *Even more textures*
  423.  
  424.      Chapter 8  *Programming the .CON files*
  425.         8.1  *The language of the .CON files*
  426.         8.2  *Notes*
  427.         8.3  *Cute tricks*
  428.            8.3.1  *Picking up weapons*
  429.            8.3.2  *Explosive ammunition*
  430.            8.3.3  *Splat!*
  431.  
  432.      Chapter 9  [Utilities and add-ons]
  433.         9.1  [Editing utilities]
  434.            9.1.1  [BUILD]
  435.            9.1.2  [EditArt]
  436.               9.1.2.1  *Changing graphics*
  437.               9.1.2.2  (Adding new graphics)
  438.               9.1.2.3  [Using DOOM I graphics]
  439.               9.1.2.4  (General notes)
  440.            9.1.3  *Wad2Map utilities*
  441.               9.1.3.1  *WAD2ART*
  442.               9.1.3.2  [WAD2MAP]
  443.         9.2  [Future add-ons]
  444.            9.2.1  *Add-on software wish list*
  445.            9.2.2  Add-on software in the making
  446.  
  447.      Chapter 10  [Troubleshooting]
  448.         10.1  [Common questions]
  449.            10.1.1  [My 3D mode messes up]
  450.            10.1.2  *How do I copy sectors?*
  451.            10.1.3  *I'm using Windoze/Win95, and...*
  452.            10.1.4  [I can't select sprites]
  453.            10.1.5  *How do I make a flat sprite double-
  454.                    sided?*
  455.            10.1.6  (How do I view the original maps?)
  456.            10.1.7  *How do I use new maps?*
  457.            10.1.8  *No monsters in new maps?*
  458.            10.1.9  (How do I use the new .VOC and .MIDs?)
  459.            10.1.10  [How do I show the wall data?]
  460.            10.1.11  (I can't save the changes in BSetup)
  461.            10.1.12  (The game ends with 'MAP E1L9.MAP not
  462.                     found!')
  463.            10.1.13  *Can the subway speeds be changed?*
  464.            10.1.14  *How do I place active tripmines?*
  465.            10.1.15  *How do I shade a whole room at once?*
  466.            10.1.16  (How do I set the par time?)
  467.         10.2  [Bugs in the game]
  468.            10.2.1  (Holodukes)
  469.               10.2.1.1  (Bug)
  470.               10.2.1.2  (Workaround)
  471.            10.2.2  (The shrinker)
  472.               10.2.2.1  (Bug)
  473.               10.2.2.2  (Workaround)
  474.            10.2.3  (Endless ammo)
  475.               10.2.3.1  (Bug)
  476.               10.2.3.2  (Workaround)
  477.            10.2.4  Remote switch triggering
  478.               10.2.4.1  Bug
  479.               10.2.4.2  Workaround
  480.            10.2.5  (Underwater toilets)
  481.               10.2.5.1  (Bug)
  482.               10.2.5.2  (Workaround)
  483.            10.2.6  (Explosions)
  484.               10.2.6.1  (Bug)
  485.               10.2.6.2  (Workaround)
  486.            10.2.7  [Crash on shattering objects]
  487.               10.2.7.1  [Bug]
  488.               10.2.7.2  [Workaround]
  489.            10.2.8  (Breaking unbreakable glass)
  490.               10.2.8.1  (Bug)
  491.               10.2.8.2  (Workaround)
  492.            10.2.9  (Trip mines)
  493.               10.2.9.1  (Bug)
  494.               10.2.9.2  (Workaround)
  495.            10.2.10  [Phantom bullet-holes]
  496.               10.2.10.1  [Bug]
  497.               10.2.10.2  [Workaround]
  498.         10.3  [Bugs in BUILD]
  499.            10.3.1  Selecting long lines
  500.               10.3.1.1  Bug
  501.               10.3.1.2  Workaround
  502.            10.3.2  [Splitting a sector]
  503.               10.3.2.1  [Bug]
  504.               10.3.2.2  [Workaround]
  505.            10.3.3  [Selecting sprites]
  506.               10.3.3.1  [Bug]
  507.               10.3.3.2  [Workaround]
  508.            10.3.4  Autoaligning textures
  509.               10.3.4.1  Bug
  510.               10.3.4.2  Workaround
  511.            10.3.5  [Displaying memory info]
  512.               10.3.5.1  [Bug]
  513.               10.3.5.2  [Workaround]
  514.            10.3.6  [Function keys in 3D mode]
  515.               10.3.6.1  [Bug]
  516.               10.3.6.2  [Workaround]
  517.            10.3.7  (Deleting sectors)
  518.               10.3.7.1  (Bug)
  519.               10.3.7.2  (Workaround)
  520.            10.3.8  (Copying sectors)
  521.               10.3.8.1  (Bug)
  522.               10.3.8.2  (Workaround)
  523.            10.3.9  (FPU reliance)
  524.               10.3.9.1  (Bug)
  525.               10.3.9.2  (Workaround)
  526.         10.4  *BUILD wishlist*
  527.  
  528.      Chapter 11  Reference lists
  529.         11.1  (List of original levels)
  530.            11.1.1  L.A. Meltdown
  531.            11.1.2  Lunar Apocalypse
  532.            11.1.3  Shrapnel City
  533.         11.2  [List of tiles]
  534.            11.2.1  [Control tiles]
  535.            11.2.2  [Weapon sprites]
  536.            11.2.3  [Ammo sprites]
  537.            11.2.4  [Item sprites]
  538.            11.2.5  [Special sprites]
  539.            11.2.6  [Parallax (sky) textures]
  540.            11.2.7  (Lights)
  541.            11.2.8  [Switches]
  542.            11.2.9  [Doors]
  543.               11.2.9.1  (Technical doors)
  544.               11.2.9.2  (Normal)
  545.            11.2.10  (Floors)
  546.            11.2.11  (Walls)
  547.               11.2.11.1  (Machines)
  548.               11.2.11.2  (Space ship hull)
  549.               11.2.11.3  (Modern)
  550.               11.2.11.4  (Metal)
  551.               11.2.11.5  (Concrete)
  552.               11.2.11.6  (Stone)
  553.               11.2.11.7  (Rock)
  554.            11.2.12  (Technical-looking items)
  555.            11.2.13  (Often-used special textures)
  556.            11.2.14  [Diverse]
  557.            11.2.15  (Unclassified (please assist!))
  558.         11.3  (List of Palettes)
  559.         11.4  {List of Sector Effectors}
  560.         11.5  *List of sounds*
  561.            11.5.1  Format of this list
  562.            11.5.2  *The sounds themselves*
  563.         11.6  (Dimensions)
  564.            11.6.1  [Units]
  565.            11.6.2  [The map]
  566.               11.6.2.1  [Walking about]
  567.               11.6.2.2  [Weapons]
  568.  
  569.      Chapter 12  Miscellaneous
  570.         12.1  (MAP design contest)
  571.         12.2  *PC Gaming's offer*
  572.         12.3  Conclusion
  573.         12.4  [Revision history]
  574.  
  575.  
  576.  
  577.                             Chapter 1
  578.  
  579.                        Happy lawyer dept.
  580.  
  581.  
  582. 1.1  Disclaimer
  583.  
  584.  
  585. This FAQ is to aid in informing the public about creating
  586. additional levels for the Game Duke Nukem 3D, by 3DRealms. In no
  587. way should this promote your killing yourself, killing others, or
  588. killing in any other fashion. Also, it should not promote the
  589. building of real-world death-traps :)
  590.  
  591. Additionally, Klaus Breuer claims NO responsibility regarding ANY
  592. illegal activity concerning this FAQ, or indirectly related to
  593. this FAQ. The information contained in this FAQ only reflects
  594. 3DRealms indirectly, and questioning 3DRealms regarding any
  595. information in this FAQ is not recommended.
  596.  
  597.  
  598. 1.2  Trademark information
  599.  
  600.  
  601. All specific names included herein are trademarks and are so
  602. acknowledged:
  603. 3DRealms, Duke Nukem, id, DOOM, IBM, Microsoft, Windows and MS-
  604. DOS.  Any trademarks not mentioned here are still hypothetically
  605. acknowledged.
  606.  
  607.  
  608. 1.3  Copyright notice
  609.  
  610.  
  611. This article is Copyright 1996 by Klaus Breuer. All rights
  612. reserved.
  613. You are granted the following rights:
  614.  
  615.    1.  To make copies of this work in original form, so long as
  616.  
  617.         1.1.  the copies are exact and complete;
  618.  
  619.         1.2.  the copies include the copyright notice and these
  620.               paragraphs in their entirety;
  621.  
  622.         1.3.  the copies give obvious credit to the author, Klaus
  623.               Breuer;
  624.  
  625.         1.4.  the copies are in electronic form.
  626.  
  627.    2.  To distribute this work, or copies made under the
  628.        provisions above, so long as
  629.  
  630.         2.1.  this is the original work and not a derivative
  631.               form;
  632.  
  633.         2.2.  you do not charge a fee for copying or for
  634.               distribution;
  635.  
  636.         2.3.  you ensure that the distributed form includes the
  637.               copyright notice, this paragraph, the disclaimer of
  638.               warranty in their entirety and credit to the
  639.               author;
  640.  
  641.         2.4.  the distributed form is not in an electronic
  642.               magazine or within computer software (prior
  643.               explicit permission may be obtained from Klaus
  644.               Breuer);
  645.  
  646.         2.5.  the distributed form is the NEWEST version of the
  647.               article to the best of the knowledge of the
  648.               distributor;
  649.  
  650.         2.6.  the distributed form is electronic.
  651.  
  652. You may not distribute this work by any non-electronic media,
  653. including but not limited to books, newsletters, magazines,
  654. manuals, catalogs, and speech.  You may not distribute this work
  655. in electronic magazines or within computer software without prior
  656. written explicit permission.
  657. These rights are temporary and revocable upon written, oral, or
  658. other notice by Klaus Breuer. This copyright notice shall be
  659. governed by the laws of the Federal Republic of Germany.
  660.  
  661. If you would like additional rights beyond those granted above,
  662. write to the author at "sz0759@rzmail.uni-erlangen.de" on the
  663. Internet.
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.                             Chapter 2
  671.  
  672.                           Introduction
  673.  
  674.  
  675. 2.1  *A word from Klaus Breuer*
  676.  
  677.  
  678. Well, here's the v1.1 version of the FAQ!
  679. I've had lots of feedback and got pointed into a lot of
  680. interesting directions - thanks to everyone who helped out so
  681. far!
  682.  
  683. A word of caution for those of you who'ld like to print this FAQ:
  684. the table of contents alone takes up 8 pages on my printer.
  685. You're probably better off reading the whole thing with an ASCII
  686. editor (easier to search for keywords, too).
  687. Personally, I use the most excellent LIST program from Vernon
  688. Buerg (no, I'm not affiliated, just a happy user).
  689.  
  690.  
  691. 2.2  *Intended Audience*
  692.  
  693.  
  694. Since 3DRealms was kind enough to bundle their editor with the
  695. game itself, lots of people have dreamed of creating their own
  696. levels - their own worlds.
  697. However, the BUILD editor was written by hackers for hackers;
  698. documentation is scant.
  699.  
  700. Thus this paper should help everybody who intends to design his
  701. own levels. However, you should be willing read all the info in
  702. here and experiment as well. If you have a problem, study this
  703. text, look at the original maps and experiment. Don't ask the Net
  704. about it right away.
  705.  
  706. Creating a map is real easy. Creating a *good* map is very hard,
  707. requiring not only perseverance and patience but time and -yes-
  708. even a bit of brains ;)
  709.  
  710.  
  711. 2.3  *About the "UnOfficial" DUKE NUKEM 3D EDITING FAQ*
  712.  
  713.  
  714. Welcome to the release v1.1 of the "UnOfficial" DUKE NUKEM 3D
  715. EDITING FAQ.
  716.  
  717. What does that mean?  Version 1.1 is the sixth release of the
  718. FAQ, "UnOfficial" means absolutely nothing, DUKE NUKEM 3D is the
  719. name of the game, Editing is what the FAQ is all about and FAQs
  720. are [F]requently [A]sked [Q]uesti
  721.  
  722. Here's how revision classification works.  If a new version of
  723. the FAQ only has a small amount of information changed or added,
  724. the version number is increased by 0.1. This is called a "minor
  725. revision."
  726. If a new version of the FAQ has a substantial amount of new
  727. information changed or added, the version number is increased by
  728. 0.5. This is called a "standard revision."
  729. If a new version of the FAQ has a huge amount of added or changed
  730. information, major parts of the FAQ are rearranged, or major
  731. parts of the FAQ are rewritten, then the version number is
  732. increased by 1.0. This is called a "major revision."
  733.  
  734. You may be wondering why chapter headings are enclosed in either
  735. {}'s, []'s, ()'s, or **'s. The definition of these is as follows:
  736.  
  737. {}             Chapters enclosed in curly brackets haven't been
  738.                written yet.
  739.  
  740. []             Chapters enclosed in brackets mean that the
  741.                information contained in the chapter has not been
  742.                updated in this or the previous FAQ.
  743.  
  744. ()             Chapters enclosed in parenthesis mean that the
  745.                information contained in the chapter has not been
  746.                updated since the previous FAQ.
  747.  
  748. **             Chapters enclosed in asterisks means that the
  749.                information contained in the chapter is new or has
  750.                been updated for the current version of the FAQ
  751.                you are reading.
  752.  
  753. Also, ##'s are at times found in the text - these denote
  754. questions I urgently need help on, and any feedback is especially
  755. appreciated.
  756.  
  757. 2.4  *Getting the "UnOfficial" DN3DE FAQ*
  758.  
  759.  
  760. The "UnOfficial" DN3DE FAQ is posted every month (or earlier if a
  761. new version is released) on the following Usenet group:
  762.  
  763. alt.games.duke3d
  764.  
  765. The "Subject:" line of the post will be "'UnOfficial' DN3D
  766. EDITING FAQ v??.??" where "??.??" is the version number of the
  767. FAQ.
  768.  
  769. The FAQ is also posted to the editing mailing list as soon as a
  770. new version comes out.
  771.  
  772. An HTML version is available at
  773. http://ww.aber.ac.uk/~ngh94/duke.html
  774.  
  775. New releases of the "UnOfficial" DN3D EDITING FAQ will be
  776. uploaded to internet ftp sites as soon as I find suitable sites.
  777.  
  778. The file name of the upload will be "dnefaq??.faq" where "??" is
  779. the version number of the FAQ.
  780.  
  781. ATTENTION: ALL BBSes, Compuserve, America Online, GEnie, and all
  782. other information services.  PLEASE conform to the naming
  783. standard of the "UnOfficial" DN3D EDITING FAQ when placing this
  784. file on your system.
  785.  
  786.  
  787. 2.5  Adding to the FAQ
  788.  
  789.  
  790. If you want something added to the FAQ, please send E-mail to
  791. "sz0759@rzmail.uni-erlangen.de" (no quotes), explaining what your
  792. addition is.
  793.  
  794. It will be reviewed, and if accepted, added to the next FAQ
  795. version. In the E-mail, please supply your name and E-mail
  796. address.
  797. Please note that all submissions to the FAQ become the property
  798. of the author (Klaus Breuer) and that they may or may not be
  799. acknowleged.
  800.  
  801. By submitting to the FAQ, you grant permission for use of your
  802. submission in any future publications of the FAQ in any media.
  803. The author reserves the right to omit information from a
  804. submission or delete the submission entirely.
  805.  
  806.  
  807. 2.6  (The DN3D EDITING mailing list)
  808.  
  809.  
  810. Ginger (lattav@vnet.net) has set up a mailing list!
  811.  
  812. To subscribe, send email to: majordomo@oozoo.vnet.net
  813. Put in the body of the message: subscribe duke3d-edit
  814.  
  815. A digested version is also available, send email to the same
  816. address, but the body of the message should be: subscribe
  817. duke3d-edit-digest
  818.  
  819. To unsubscribe, send the line
  820. unsubscribe
  821. to duke3d-edit-digest-request@oozoo.vnet.net
  822.  
  823. The mailing list digests are archived at ftp.vnet.net/pub/duke3d
  824.  
  825.  
  826. 2.7  *The DN3D EDITING ftp site*
  827.  
  828.  
  829. We now have an ftp site where everything for editing duke maps
  830. will be found. The address is oozoo.vnet.net/pub/duke3d-edit.
  831.  
  832.  
  833. 2.8  *WWW sites*
  834.  
  835.  
  836. So far, I know of the following WWW sites which contain info
  837. about map editing (in alphabetical order):
  838.  
  839. http://fluffy.neb.net/Duke
  840. http://www.3drealms.com
  841. http://www.aber.ac.uk/~ngh94/duke.html
  842. http://www.cris.com/~Demogorg/main.html
  843. http://duke3d.crystalball.com/stereo/tfiles.html
  844. http://www.ea.ucla.edu/~kd/Duke3D/index.html
  845. http://www.fluffy.neb.net/Duke
  846. http://www.frii.com/~afs/allabout.cgi/dn3d
  847. http://www.koan.com/~ryman
  848. http://www.newreach.net/~avenger/
  849. http://www.salamander.net/~avenger/msques.html
  850. http://www.servtech.com/public/duke3d/
  851. http://www.whiterock.com/kinglink/duke3d.html
  852. http://www.wi.leidenuniv.nl/~cwong/myindex.html
  853.  
  854.  
  855. 2.9  (IRC)
  856.  
  857.  
  858. The IRC channel of interest is #duke3dedit.
  859. Don't ask the 'The 3D mode is messing up my screen' question
  860. there. Please.
  861.  
  862.  
  863. 2.10  *Acknowledgments*
  864.  
  865.  
  866. I'd like to thank 3DRealms for bringing out such an astonishing
  867. game! After two years, we finally seem to have a DOOM killer.
  868. Also, it's real nice of you guys to add the BUILD program into
  869. the package! We've never had an editor out so fast :)
  870.  
  871. Thanks to Allen H Blum III, Richard "Levelord" Gray and Kenneth
  872. Silverman for writing the Build docs. We all know you were in a
  873. big hurry and the docs nearly didn't make it to the CD, so we
  874. especially appreciate your work!
  875.  
  876. ALPHABETICAL ORDER:
  877.  
  878. Ahmed Hammad   (aka Spasmo) (cosc19z5@bayou.uh.edu)
  879.                RightShift sprite selection/nonclip move trick and
  880.                helped with the sliding door. The metallic tile
  881.                idea is also from him.
  882.  
  883. Allen H. Blum III
  884.                (Stryker@metronet.com)
  885.                Thanks for showing up in the mailing list and
  886.                answering questions! Especially the 'shade a whole
  887.                room at once' idea is way cool.
  888.  
  889. BKlehr         (bklehr@aol.com)
  890.                Found some more FAQ bugs.
  891.  
  892. Brett Gmoser   (gmoser@gramercy.ios.com)
  893.                Wrote a long tutorial covering all kinds of
  894.                things.
  895.  
  896. Brian Gentry   (gentryb@wasc.egginc.com)
  897.                Found out about switch sounds.
  898.  
  899. Brian Kidby    (thekid@ornews.intel.com)
  900.                Wrote the 'DeathMatch Level Design Guidelines
  901.                v1.0' for DOOM, which I've used as a basis for my
  902.                'DukeMatch level design' section.
  903.  
  904. Bullethead     (???)
  905.                Wrote a couple of interesting lab notes, shedding
  906.                light on some more obscure parts of BUILD.
  907.  
  908. Cho Yan Wong   (aka Tempest) (pwong@pobox.leidenuniv.nl)
  909.                Wrote several very good tutorials.
  910.  
  911. Chris Longhurst
  912.                (chrisl@division.co.uk)
  913.                Found out about pulsing lights and clamshell
  914.                doors.
  915.  
  916. Dan Benge      (DanBenge@ix.netcom.com)
  917.                Ideas on level design and the Alice In Wonderland
  918.                effect.
  919.  
  920. David Moisan   (dmoisan@shore.net)
  921.                Many thoughts on level design.
  922.  
  923. Ginger Latta   (lattav@vnet.net)
  924.                Has agreed to set up a mailing list, even
  925.                including a digested form. She's also setting up
  926.                an ftp site for us!
  927.  
  928. Jeff Oliver    (jroliver@cs.sci.csupomona.edu)
  929.                Teleporter info.
  930.  
  931. Jesse Lambert  (slcsj@cc.usu.edu)
  932.                Did the nice ASCII logo.
  933.  
  934. Jim            (jek19@ios.orci.com)
  935.                Help on rotating doors.
  936.  
  937. Joe Giddings   (goldcard@intrstar.net)
  938.                Worked out lots of info about the different
  939.                palettes.
  940.  
  941. John Allen Christian
  942.                (hugejohn@ix.netcom.com)
  943.                Info on Build keypresses (tilting floors).
  944.  
  945. Jonas          (JoXonoX@aol.com)
  946.                Sprite flag meanings.
  947.  
  948. Mark Lee       (mark.lee@gecm.com)
  949.                Had the idea about making bridge sprites single-
  950.                sided.
  951.  
  952. Mike Forst     (mcforst@uniserve.com)
  953.                Found out about the BIGFORCE tile.
  954.  
  955. Nigel Hughes   (ngh94@aber.ac.uk)
  956.                Converting the FAQ to HTML format.
  957.  
  958. Rober Coward   (rcoward@madge.com)
  959.                Found some FAQ errors and Duke bugs.
  960.  
  961. RoboJim        (Robojim@aol.com)
  962.                Info on grapplers, garbage/stripper respawns,
  963.                telephones and train setups.
  964.  
  965. Samiel         (samiel@fastlane.net)
  966.                Wrote the tile renumbering utilities.
  967.  
  968. Scatt Man      (scattman@bssc.edu.au)
  969.                Ambiemncve, Once-only sounds and demo camera info.
  970.                Also wrote the sound list (now I don't have to do
  971.                it myself, yaay!).
  972.  
  973. Sir Hoppy      (glenn@interaccess.com)
  974.                Pointed out some errors in the air cents section.
  975.  
  976. Steffen Itterheim
  977.                (100606.2141@compuserve.com)
  978.                Apogee Staff, is also answering questions on the
  979.                mailing list - thanks!
  980.  
  981. Steve C. Brown (sbrown@praline.no.NeoSoft.com)
  982.                Help with F8 key.
  983.  
  984. Thomas Mueller (tsmuelle@cip.informatik.uni-erlangen.de)
  985.                He found out lots of basic workings like
  986.                Teleporters, Swimming Pools, etc and put me on the
  987.                right track in regard to sector effectors.
  988.  
  989. THANK YOU! If, for some reason, I did miss you, PLEASE send me
  990. e-mail!
  991.  
  992. Finally, I'd like to thank everyone who reads this FAQ, you are
  993. what the FAQ is for!
  994.  
  995.  
  996. 2.11  Accurate information
  997.  
  998.  
  999. An attempt has been made to make the information in this FAQ as
  1000. accurate as possible. Unfortunately, due to the fact that the
  1001. game was recently released, and updates, add-ons, and new
  1002. information are being worked on each second, it's hard to keep
  1003. up.
  1004.  
  1005.  
  1006. 2.12  Help with new levels
  1007.  
  1008.  
  1009. If you are building a new level and are experiencing trouble,
  1010. feel free to contact me about it. Chances are that you are not
  1011. the only one with this problem, and I can add it to the FAQ.
  1012.  
  1013. Also, your particular difficulty could be an interesting side-
  1014. effect of something else, and others might want to hear about it
  1015. as well.
  1016.  
  1017. However, *please* read the FAQ fully before asking me about
  1018. anything :)
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.                             Chapter 3
  1026.  
  1027.                      Preliminary information
  1028.  
  1029.  
  1030. This chapter explains some of the background behind creating
  1031. add-ons for Duke Nukem 3D.
  1032.  
  1033.  
  1034. 3.1  Intended audience for this chapter
  1035.  
  1036.  
  1037. I guess all of you have heard of the game DOOM by id Software :)
  1038. Well, many of you have created add-on maps for DOOM. You know how
  1039. a door works, what a sector is, what to look out for while
  1040. creating a level.
  1041. While Duke3Ds BUILD engine is much more powerful than id's (see
  1042. below for a list of differences), it is similar enough for all
  1043. the experts to skip this chapter.
  1044.  
  1045. What? You've never created a DOOM map? Never heard of DEU? Don't
  1046. know that a DOOM-style door works by raising it's ceiling off the
  1047. floor?
  1048. Ok, this chapter here's for you.
  1049.  
  1050. First off, let me explain that I've created quite a few DOOM
  1051. maps. Thus if I take some things for granted you don't know
  1052. about, please write me and ask! That way I'll be able to work it
  1053. into this chapter, making it easier to understand.
  1054.  
  1055.  
  1056. 3.2  The basics
  1057.  
  1058.  
  1059. Let's start by taking a look at the basics behind map building.
  1060.  
  1061. Do yourself a favour and don't skip this section!
  1062. I know many of you have met computers through Windoze or some
  1063. other GUI toy and don't know much about the underlying
  1064. intricacies of your system, but please - the more you know about
  1065. how Duke3D works, the better your maps will be.
  1066.  
  1067. Besides, it's fun to learn things :)
  1068.  
  1069. 3.2.1  Differences between the Build and DOOM engines
  1070.  
  1071. Those of you who don't know DOOM (gasp!), feel free to skip this
  1072. section.
  1073.  
  1074. The Build engine is the system used to create Duke Nukem 3D.
  1075. Here's a list of the improvements over DOOM:
  1076.  
  1077.     *  Looking up and down
  1078.        Finally, you can accurately shoot an RPG through an
  1079.        upper-story window without needing a target in the window.
  1080.  
  1081.     *  Rooms above rooms (even if you can't display them)
  1082.        Build real spiral staircases and crossing corridors.
  1083.  
  1084.     *  Mirrors
  1085.        See your enemies around corners.
  1086.  
  1087.     *  Multi-colored lights
  1088.        Great ambience effects.
  1089.  
  1090.     *  Moving/rotating sectors
  1091.        This is in my opinion (no, it's not humble) the best
  1092.        improvement. It allows you to build subways, real doors,
  1093.        moving stairways, squeeze through rotating gears, survive
  1094.        (?) earthquakes, drive around in vehicles...the
  1095.        possibilities are simply endless.
  1096.  
  1097.     *  Transparent sprites
  1098.        Build ghosts and proper windows.
  1099.  
  1100.     *  Flying via jetpack
  1101.        Fly about, attack your opponents from above. Very useful
  1102.        as a long drop can now kill you.
  1103.  
  1104.     *  Underwater diving
  1105.        The obvious extension to the flying capability. Explore an
  1106.        underwater world, fight sharks :)
  1107.  
  1108.     *  Sloping floors and ceilings
  1109.        This adds no end of realism! Finally, we can have sloping
  1110.        corridors, pyramid-shaped buildings, real domes...
  1111.  
  1112.     *  Rotated sprites
  1113.        Doesn't seem like much, but a rotated sprite marked as
  1114.        'blocking movement' can be used as a floor - and thus we
  1115.        can fake bridges!
  1116.  
  1117.     *  Blastable walls
  1118.        A very nice touch - it allows you to blow (predefined)
  1119.        holes in walls.
  1120.  
  1121.     *  SVGA support
  1122.        If your system can take it. Looks good, but in my eyes not
  1123.        so important.
  1124.  
  1125.     *  Highly customizable
  1126.        Very nice, this. You can write your own opponent-AI, very
  1127.        easily add new sounds and graphics, and change the weapons
  1128.        simply by editing an ASCII file.
  1129.  
  1130. 3.2.2  (Useful cheats for testing levels)
  1131.  
  1132. Read the Duke Nukem FAQ for a list of all cheats. Here are just
  1133. the codes I find myself using while testing a level:
  1134.  
  1135. DNRATE         Display the fps meter in the top left.
  1136.  
  1137. DNCOORDS       Shows your cordinates.
  1138.  
  1139. DNSHOWMAP      Show the full map.
  1140.  
  1141. DNDEBUG        Shows some interesting info in the top left.
  1142.                ## Anybody know what it means? Could be real
  1143.                useful.
  1144.  
  1145. DNCLIP         Toggle clipping. This will kill you if you walk
  1146.                into empty space, so use it only to quickly walk
  1147.                through doors and the like.
  1148.  
  1149. DNKROZ         Toggle God mode.
  1150.  
  1151. DNUNLOCK       Unlock all doors on the level.
  1152.  
  1153. DNWEAPONS      Give all weapons but no items or keys.
  1154.  
  1155. DNITEMS        Give all items and keys.
  1156.  
  1157. DNSTUFF        Gives everything.
  1158.  
  1159. 3.2.3  What a map consists of
  1160.  
  1161. Maps are made up of sectors (rooms), walls and sprites.
  1162.  
  1163. 3.2.3.1  Sectors
  1164.  
  1165. The map itself is basically just a collection of sectors.
  1166. A sector is a room consisting of a floor, a ceiling and walls.
  1167. Imaging a square column, looking like this:
  1168.               __________
  1169.              |\          \
  1170.              |  \          \
  1171.              |    \__________\
  1172.              \    |          |          Top block: Roof
  1173.              . \  |          |
  1174.              .   \|__________|
  1175.              .    .     .    .
  1176.              .    .     .    .
  1177.               ___________    .         Player area
  1178.              |\   .      \   .
  1179.              |  \ .        \ .
  1180.              |    \__________\
  1181.              \    |          |
  1182.                \  |          |         Bottom block: Floor
  1183.                  \|__________|
  1184.  
  1185. The lower block is the floor, the upper block is the roof, and
  1186. the player moves about in the missing bit in the middle.
  1187. The edges are walls, although it's possible to make a wall
  1188. intangible to the player, allowing him to cross it into another
  1189. sector.
  1190.  
  1191. Sectors can share borders with other sectors, and can include
  1192. other sectors as well.
  1193. Thus a room with a crate standing in the middle would consist of
  1194.  
  1195. two sectors: The room itself, with a square sector (the crate)
  1196. inside it.
  1197. The crate sector would have the same ceiling height as the room,
  1198. but with a slightly raised floor (forming the crate): the player
  1199. can hop onto the crate, but he can't walk below it.
  1200.  
  1201. The walls of the sector making up the crate would be intangible
  1202. (invisible and not blocking player movement), otherwise it would
  1203. look like a column instead.
  1204.  
  1205. This also explains why we can't have real bridges: if we raise
  1206. the floor of the bridge sector high enough, the bottom block will
  1207. elongate upwards until we have a wall instead.
  1208.  
  1209. Of course, seen from above sectors can have any shape: square,
  1210. rectangular, round or kidney-shaped.
  1211.  
  1212. 3.2.3.2  Walls
  1213.  
  1214. Walls come in two flavours: one-sided and two-sided.
  1215.  
  1216. Imagine carving a dungeon out of a mountain. So far you have dug
  1217. two rooms, connected by a tunnel. This would translate into three
  1218. sectors; two big ones connected by a smaller one:
  1219.  
  1220.          _________________________
  1221.        /                          |       _______________
  1222.      /                            .______.               |
  1223.     |     * <- The player         .      .               |
  1224.      \                            .------.               |
  1225.        \                          |      |_______________|
  1226.          \________________________|    (seen from above)
  1227.  
  1228.  
  1229. Obviously, the outer walls have only one side, since they consist
  1230. of solid rock. But the borders between the two big sectors and
  1231. the small one are two-sided walls - you can walk on both sides of
  1232. them.
  1233.  
  1234. 3.2.3.3  Textures
  1235.  
  1236. Textures are what a wall, a floor or the ceiling actually looks
  1237. like.
  1238. They make the difference between a wall looking like a brick wall
  1239. or a steel slab. You can also texture a floor or the ceiling.
  1240.  
  1241. Duke has quite a lot of textures for us, ranging from plush red
  1242. wall-towall carpeting to green alien slime. Some textures are
  1243. even animated, meaning they look as if they were moving - water
  1244. is a nice example of this.
  1245.  
  1246. Textures always make me feel a bit like a magician - with a wave
  1247. of my wand (ok: mouse) I can change a wall from flimsy straw to
  1248. solid steel and back.
  1249.  
  1250. 3.2.3.4  (Sprites)
  1251.  
  1252. Sprites are all the objects in Duke3D: the flower pot in the
  1253. corner, the switch on the wall, the alien lurking behind yu -
  1254. even the player is a sprite.
  1255. A sprite is always flat and two-dimensional, like a piece of
  1256. paper. Even a 3D-looking alien is just a sprite: Duke3D simply
  1257. shows you different sprites according to from where you're
  1258. looking at the alien.
  1259.  
  1260. Sprites exist in three forms:
  1261.  
  1262. Standing up    This sprite always faces you, looking nice and
  1263.                solid. A flower pot or a bottle is a typical
  1264.                example.
  1265.  
  1266. Flat           This sprite actually behaves like a painted piece
  1267.                of paper. They look weird standing in the middle
  1268.  
  1269.                of a room, so they are usually pasted on the walls
  1270.                (like switches or posters).
  1271.  
  1272. Lying down     These sprites are also flat, but they're lying on
  1273.                the ground (or hanging on the roof) instead. An
  1274.                example are the magazines scattered on the ground
  1275.                in the Red Light District (E1L2).
  1276.  
  1277. Sprites can block movement and can be placed at any height. Thus
  1278. it is possible (using sprites lying down) to create real 3D
  1279. functions like bridges out of sprites.
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.                             Chapter 4
  1287.  
  1288.                  Planning and designing a level
  1289.  
  1290.  
  1291. This chapter looks at designing a level with BUILD.EXE, the
  1292. editor supplied on the CD (in \GOODIES\BUILD).
  1293.  
  1294.  
  1295. 4.1  (Installing BUILD)
  1296.  
  1297.  
  1298. An awful lot of people are having an awful lot of trouble getting
  1299. BUILD to run. So here's the beef:
  1300.  
  1301.     *  Install Duke3D to your hard drive.
  1302.  
  1303.     *  Copy everything from \GOODIES\BUILD into the Duke3D
  1304.        directory (NOT into a subdirectory thereof!)
  1305.  
  1306.     *  Remove all read-only attributes: ATTRIB -R *.*
  1307.  
  1308.  
  1309. 4.2  (Before starting)
  1310.  
  1311.  
  1312. I know you're eager to start building the level (why else are you
  1313. reading this FAQ?), but there are several things you should do
  1314. before firing up the editor and designing away:
  1315.  
  1316. Play the game  Play the whole Duke Nukem 3D game from start to
  1317.                finish. All three episodes. This will give you
  1318.                lots of ideas on what is possible and what you'ld
  1319.                like to do.
  1320.                Look critically at how things happen: doors
  1321.                opening, aliens suddenly appearing, lights
  1322.                changing, gears rotating...
  1323.  
  1324. View the maps  Use the editor to have a close look at the
  1325.                existing maps. How do these doors open? What kinds
  1326.                of tricks were used to work around the limitations
  1327.                of the Build engine? How do people actually do a
  1328.                house - note how all walls are actually build out
  1329.                of one-sided walls. Things like that.
  1330.  
  1331. Have a theme   Please. Don't build yet another red light district
  1332.                with a sleazy bar and some dancers. We've got one
  1333.                already!
  1334.                Try to think of something original and take some
  1335.                time to really think about what you're trying to
  1336.                do: the New York traffic? A nuclear power station?
  1337.                An underwater base? A barren planetoid surface?
  1338.                Also try to think what would fit into the theme -
  1339.                make a list.
  1340.                A .TXT file with a short story setting the mood
  1341.                and explaining your mission is also nice.
  1342.  
  1343. Draw a map     Take some graph paper and draw the whole map
  1344.                first. Believe me, your level is going to be lots
  1345.                better this way. You'll be able to take your time
  1346.                and think about everything you want to include.
  1347.                Another approach is to just make a rough sketch of
  1348.                the map with a good theme and create everything
  1349.                'on the fly'. That's the way it usually ends up
  1350.                anyway :), but the map-drawing approach does
  1351.                produce nicer-looking maps.
  1352.  
  1353. Less is more   Zen, yes. Also known as the KISS principle: Keep
  1354.                It Simple, Stupid.
  1355.                Remember that you have lots of tools and tricks to
  1356.                create a map - don't use them all! Don't include,
  1357.                for example, dancers just because you can. Don't
  1358.                use the trip mines in a non-futuristic level.
  1359.                Leave out the security cameras in a medieval
  1360.                castle (time travel theme).
  1361.                Rather build several levels, each based on one or
  1362.                two ideas.
  1363.  
  1364. Keep it small  Beginners usually make the mistake of designing
  1365.                cyclopian buildings. Massive forecourts, towering
  1366.                walls, huge gloomy halls - all empty.
  1367.                Rather keep the rooms small and full of detail -
  1368.                they will be more interesting and the game will
  1369.                run faster.
  1370.  
  1371. Time           You'll need loads of it. Much more than you think.
  1372.                Especially the shading and testing will take days.
  1373.                Weeks.
  1374.                Have a look at the original levels and see just
  1375.                how much time and care has been spent on them.
  1376.                Don't post a level which is substantially below
  1377.                the niveau of 3DRealms levels - nobody will like
  1378.                it.
  1379.  
  1380. Data           It is said that you should write what you know,
  1381.                and the same applies to level design. If you've
  1382.                never really looked hard at a subway station,
  1383.                don't try to create one.
  1384.  
  1385. Read this FAQ  Don't jump into drawing your level half-way
  1386.                through reading this FAQ - wait until you have a
  1387.                good idea just what is possible with the Build
  1388.                engine.
  1389.  
  1390. Your first level
  1391.                Face it. Your first level is going to be something
  1392.                you'll be ashamed of after designing your third
  1393.                level. Don't post it.
  1394.  
  1395. 4.3  [Pros and cons of using real-world maps]
  1396.  
  1397.  
  1398. There are lots of levels based on maps of the real world. Maps of
  1399. your campus (hello, first years!), maps of your dorm, your
  1400. apartment, your house.
  1401. The question is, should you use them?
  1402.  
  1403. 4.3.1  [Advantages]
  1404.  
  1405. Real-world maps are drawn by professionals (ok, ok, I've also
  1406. seen houses designed by blind idiots) who know what they are
  1407. doing.
  1408. They don't forget to make the outer walls thicker than the inner
  1409. ones. They don't forget the kitchen or the storage space. The
  1410. halls are of the right width...in short, the whole map is
  1411. realistic and believable.
  1412.  
  1413. Also, it's real quick creating a level from such a map since you
  1414. don't have to think and design as much.
  1415.  
  1416. 4.3.2  (Disadvantages)
  1417.  
  1418. Such maps are also boring.
  1419. Believe it or not, but most architects didn't design their block
  1420. of flats for gun-toting maniacs chasing each other through the
  1421. corridors.
  1422. There are too few places to hide and the map typically has a
  1423. simple, utilitarian look.
  1424.  
  1425. Scale is a hassle as well. Ever looked real closely at a subway
  1426. station? It's actually very big and empty. And very boring as a
  1427. Duke level.
  1428. So you'll have to scale everything down by quite a lot anyway.
  1429.  
  1430. Remember that it's great fun for yourself to run through a
  1431. virtual representation of your house - but others who don't know
  1432. you might find such a map terribly boring.
  1433.  
  1434. And the biggest disadvantage of all: you don't think enough about
  1435. your level. The more time you spend mentally planning your world,
  1436. the better it will become.
  1437.  
  1438.  
  1439. 4.4  [Using DOOM maps]
  1440.  
  1441.  
  1442. With the Wad2Map program (see further below), it is now possible
  1443. to convert DOOM maps to Duke3D maps.
  1444.  
  1445. Do everybody a favour: don't.
  1446. And here's why:
  1447.  
  1448.     *  We've _seen_ the DOOM maps already.
  1449.  
  1450.     *  They aren't designed to take advantage of the Build
  1451.        engine.
  1452.  
  1453.     *  They aren't designed to work with the new monsters.
  1454.  
  1455.     *  It's a heck of a lot of work checking a level after
  1456.        conversion, and it's easy to mess things up and even
  1457.        forget textures (HOM, here we come!).
  1458.  
  1459. 4.5  (Designing the level)
  1460.  
  1461.  
  1462. When designing a level, keep in mind that there is no formula
  1463. telling you how to build a fun level. Unfortunately, I can't just
  1464. tell you "Do this and that, and everybody will love your level".
  1465. But I can give you some tips and pointers.
  1466.  
  1467. 4.5.1  (Level types)
  1468.  
  1469. There are basically four types of levels:
  1470.  
  1471. 4.5.1.1  (Single player)
  1472.  
  1473. Single player maps are typically large and intricate, full of
  1474. detail and clever monster ambush points. They are aimed at people
  1475. who play them on their own (for example, nearly everybody in
  1476. Germany, as the telephone rates are simply shocking).
  1477.  
  1478. 4.5.1.2  (Co-op)
  1479.  
  1480. Few levels are actually designed for co-op playing only. If they
  1481. are, they are larger versions of single-player levels, with a lot
  1482. more monsters and perhaps the odd trap which can only be passed
  1483. via teamwork.
  1484.  
  1485. 4.5.1.3  (DukeMatch)
  1486.  
  1487. Since the original levels in Duke3D are very very good as both
  1488. single player and (usually, anyway) co-op, most people create
  1489. DukeMatch-only maps.
  1490. These maps are small and fast, concentrating on action instead of
  1491. the surroundings.
  1492.  
  1493. 4.5.1.4  (My room/flat/dorm/house)
  1494.  
  1495. These levels attempt to copy a real-world place with as much
  1496. accuracy as possible.
  1497. These levels are typically rather boring and only of interest to
  1498. the people who know the place well.
  1499.  
  1500. 4.5.2  (Choosing a level type)
  1501.  
  1502. Your new level will usually be one of the above - very few maps
  1503. suceed at being good at everything.
  1504. Happily, there's an exception to the rule: JenApt (Jennies
  1505. Apartment) is an early (and great) level which excels at
  1506. combining all four level types in one. Created by Jennifer Lynn
  1507. (fragment@cyberramp.net), it's well worth looking at.
  1508.  
  1509. Single player levels are easy to do - all you need is a good
  1510. idea, lots of imagination and plenty of time. If you make the
  1511. level large enough, you might be able to combine it with a co-op
  1512. level.
  1513.  
  1514. DukeMatch levels are surprisingly difficult to create. Not only
  1515. do tastes differ (by a lot! For example, do I Hide&Snipe or
  1516. Chase&Blast?), but you have to do a lot of testing to make the
  1517. level just right.
  1518. And even then, it'll only be just right for you, and others might
  1519. not like it at all. See the section on DukeMatch level design
  1520. below.
  1521.  
  1522. The 'My very own room in VirtualReality MultiMedia CyberSpace
  1523. (tm)' theme we'll leave to the Windoze-players.
  1524.  
  1525. 4.5.3  *Random tips and thoughts*
  1526.  
  1527. ## Feedback needed! In this section, I'ld like to simply list
  1528. tips and tricks to keep in mind while designing a level, and I'll
  1529. organize them better in a later release of the FAQ.
  1530.  
  1531.     *  Build from the outside in.
  1532.        When creating a house, for example, first create a huge
  1533.        bonding sector, containing everything else. You can always
  1534.        resize it later.
  1535.  
  1536.     *  Do the rough work first.
  1537.        Build your house (or dungeon, or subway, or whatever) like
  1538.        you would build it in real life: start with the outer
  1539.        walls, add the rough rooms, connect everything up and only
  1540.        then add the details: glass in the windows, different
  1541.        textures, etc.
  1542.  
  1543.     *  Use F12 to dump the map to disk and print it out.
  1544.  
  1545.     *  Use F7 a lot while playing your map to make sure the scale
  1546.        is all right.
  1547.  
  1548.     *  Remember that scale is important! Duke levels are usually
  1549.        smaller that their real-world counterparts.
  1550.  
  1551.     *  Take it easy on triangle-shaped sectors, the tip can look
  1552.        real bad.
  1553.  
  1554.     *  Save your level a lot. Use the 'save (A)s' option to
  1555.        create several versions of your level. Thus, if an idea
  1556.        goes wrong, you can always return to an earlier version.
  1557.        The more backups you have, the happier you'll be if BUILD
  1558.        nukes your map.
  1559.  
  1560.     *  Beware the bug! BUILD is not perfect and contains some
  1561.        nasty bugs capable of rending your map to pieces. See the
  1562.        section on Build Bugs for more info.
  1563.  
  1564.     *  Scare the player. Dan Benge came up with the idea of
  1565.        breaking a (single player) level into scenes: lead the
  1566.        player into it (lots of ambience sound), lead him to the
  1567.        climax (octabrain in the face, whatever), reward him
  1568.        afterwards (triumphant music, power up, keys).
  1569.        Tension is very important in a level.
  1570.  
  1571.     *  Most sprites are too large when just inserted as they are
  1572.        (especially the buttons). Make sure you scale everything
  1573.        right.
  1574.  
  1575.     *  Have plenty of height variations: stairs, lifts, ledges.
  1576.        Force the player to jump, too.
  1577.  
  1578.     *  Make players earn bigger and better weapons. Especially,
  1579.        guard the bigger ones well.
  1580.  
  1581.     *  If the player falls into nukage, give him a way out (a
  1582.        button to press, stairs...). He should be punished for
  1583.        moving carelessly, yes, but not killed.
  1584.  
  1585.     *  Mark secret doors - a lightly darker or mismatched texture
  1586.        (forcing you to look closely) will do.
  1587.  
  1588.     *  Keep in mind that players will try _anything_ - if they
  1589.        are crazy enough to try and jump to that ledge, reward
  1590.        them if they make it (and punish them if they don't >:)
  1591.  
  1592.     *  Avoid cliches: do you NEED a shark in every bathtub? Why
  1593.        yet another lizard sitting on a toilet? Should this level
  1594.        really contain strippers?
  1595.  
  1596.     *  Pacing! Keep the player interested. This shuold also stop
  1597.        you from building mazes, which are plain boring to
  1598.        explore.
  1599.  
  1600.     *  Please don't overuse the effect of monsters warping in!
  1601.        It's so darn unrealistic! rather open a hidden door or
  1602.        somesuch, and have the opponents boil out from there.
  1603.  
  1604.     *  Try to make everything look as realistic as possible:
  1605.        wooden ceilings are usually titled and are held up with
  1606.        massive beams. Often, corners of rooms (especially large
  1607.        ones) will be held up by stone pillars. And so on.
  1608.  
  1609.     *  The Ending: make it good! When the player finally managed
  1610.        to finish the level, make it worth his while.
  1611.  
  1612.     *  Don't post half-finished levels to let others see your
  1613.        'work in progress'. What for? You'll only make a bad name
  1614.        for yourself if you release half-baked levels...
  1615.  
  1616.  
  1617. 4.6  (DukeMatch level design)
  1618.  
  1619.  
  1620. The info in this section I've shamelessly swiped from the
  1621. excellent 'Deathmatch level design guidelines v1.0' from Brian
  1622. Kidby (thekid@ornews.intel.com).
  1623.  
  1624. As the basis for this section was aimed at DOOM players, I
  1625. haven't included as many Duke-specific things as I should. ##
  1626. Please send me your thoughts and ideas, I'll be expanding this
  1627. section.
  1628.  
  1629. 4.6.1  (Monster placement)
  1630.  
  1631. Pig cops are useful for supplying ammunition to the player.
  1632. Since ammunition respawns, the question is if you want your
  1633. players to fight for their ammo, especially as dead enemies don't
  1634. always drop anything (it's easy to hack the GAME.CON file for
  1635. this, though - see lines 1072/2862 and 188 in USER.CON).
  1636.  
  1637. Other monsters (the leaping chaingunning lizard comes to mind)
  1638. might give ammo as well, but they usually just distract from the
  1639. main aim of the game - nuke your opponent!
  1640.  
  1641. However, the placement of monsters can do a lot to generate the
  1642. 'feel' for your level - minibosses might keep a large area clear
  1643. for a long time, as nobody will want to get close to them if they
  1644. dont have to...
  1645.  
  1646. 4.6.2  (Weapon placement)
  1647.  
  1648. 4.6.2.1  (Power weapons)
  1649.  
  1650. Power weapons are defined as the favourite DukeMatch weapons: the
  1651. chaingun and the rocket launcher.
  1652. In nearly all DukeMatches I've played, the first priority of the
  1653. players was to get one of these weapons. The second was to start
  1654. using it >:)
  1655.  
  1656. These weapons should be places as far apart as possible. This has
  1657. three reasons:
  1658.  
  1659.     *  Getting the gun
  1660.        Placing the weapons far apart forces the players to cover
  1661.        more ground. Thus they meet more opponents and monsters,
  1662.        possibly trigger traps and learn the layout of the level.
  1663.  
  1664.     *  Defending the gun
  1665.        Many DukeMatchers will go to a power weapon and 'sit on
  1666.        it', waiting for the other players to show up. if the
  1667.        weapons are far apart, the players won't see much action
  1668.        during their wait, forcing them to move ot to hunt sooner
  1669.        - much more exciting.
  1670.  
  1671.     *  Covering tracks
  1672.        In a new DukeMatch level, players like to keep the
  1673.        locations of the weapons secret for as long as possible.
  1674.        If the weapons are far apart, the chances of being
  1675.        followed are so much smaller.
  1676.  
  1677. 4.6.2.2  (Starting-point weapons)
  1678.  
  1679. Every starting point should have a shotgun next to it, so the
  1680. players are not completely defenseless at the beginning. This
  1681. also gives them more confidence to go out looking for bigger toys
  1682. to use.
  1683.  
  1684. On the other hand, some people prefere to place the starting
  1685. points right next to 'normal' weapons - every start point next to
  1686. a different weapon. This makes respawning interesting, as the
  1687. kind of weapon available at the beginning (Shrinker vs. Trip
  1688. bombs, for example) radically changes the style of play.
  1689.  
  1690. 4.6.3  (Ammo placement)
  1691.  
  1692. 4.6.3.1  (Amount and location)
  1693.  
  1694. Place small amounts of ammo in high-traffic areas, and larger
  1695. (not too large!) stashes in secret places. Adding a sniper spot
  1696. near the bigger stashes makes life a lot more interesting, too.
  1697.  
  1698. 4.6.3.2  (Ammo Quantity Types)
  1699.  
  1700. Easily accessible ammo should be of the 'small quantity' type, eg
  1701. single pipe bombs instead of pipe bomb boxes, as this eliminates
  1702. waste when a player picks up more than he can carry.
  1703.  
  1704. Also, larger amounts of ammo should be strategically placed (see
  1705. above).
  1706.  
  1707. 4.6.4  (Health placement)
  1708.  
  1709. Rarely does health seem to be a problem in DukeMatch games.
  1710. Usually, players either die really quickly of a massive lead
  1711. overdose, or they run and hide, sniping at their opponent.
  1712.  
  1713. If you do place health around (and I still think you should), do
  1714. so sparingly, observing the same rules as for ammo. Also, place
  1715. toilets and water fountains only in high-traffic areas, to avoif
  1716. players disappearing for a long time to fill up their health
  1717. slowly (although, if several nice sniper spots are nearby...).
  1718.  
  1719. 4.6.5  (Architectures)
  1720.  
  1721. First off, let me say that level layouts are always a matter of
  1722. taste.
  1723. Here are just some things which I like in DukeMatch levels:
  1724.  
  1725. 4.6.5.1  (Large, open areas)
  1726.  
  1727. Fun! Show your aim at long-range pistol shooting, have rocket
  1728. launcher duels (have you mastered jumping over an approaching
  1729. rocket?), fight several players at once and have lots of space to
  1730. move about.
  1731.  
  1732. 4.6.5.2  (Long, wide passages)
  1733.  
  1734. Same as for large areas applies - running towards somebody,
  1735. dodging his attacks while shooting your own is great fun.
  1736.  
  1737. 4.6.5.3  (Nooks 'n crannies)
  1738.  
  1739. Such areas should not be too large, but it is fun as well:
  1740.  
  1741.     *  Hunting somebody through narrow, twisting passages is an
  1742.        adrenaline rush in itself - is he hiding behind this
  1743.        corner?
  1744.  
  1745.     *  Lots of nice sniping spots.
  1746.  
  1747. 4.6.5.4  (Balconies, bridges and tower)
  1748.  
  1749. It's always fun watching your opponent walking under you,
  1750. completely unaware of your presence until you pull the trigger...
  1751. It's also nice blasting a sprite bridge out from under his feet
  1752. :)
  1753.  
  1754. 4.6.5.5  (Fortresses)
  1755.  
  1756. At times, players may decide to pay a 'capture the flag' theme,
  1757. with four players defending a fortress and four others trying to
  1758. break it (perhaps with the aim of reaching/rescuing the dancer in
  1759. the middle?).
  1760. The fort should be wel armed and not too large with lots of nice
  1761. sniper spots (and the odd blastable wall to enable attacks
  1762. through the back).
  1763.  
  1764. 4.6.5.6  (Obstacles)
  1765.  
  1766. Obstacles (pillars, crates, tables, sprites) are very important
  1767. in DukeMatch, as they allow you to hide and dodge enemy fire.
  1768.  
  1769. 4.6.5.7  (Sniper spots)
  1770.  
  1771. Snper spots greatly add to DukeMatch levels. They should always
  1772. have an escape-route, though, just in case your first shot
  1773. missed...
  1774. One-way walls are good for this, but perhaps a bit _too_ easy.
  1775.  
  1776.  
  1777. 4.7  (Once your level is done)
  1778.  
  1779.  
  1780. A finished level is far from finished - lots of things remain to
  1781. be done:
  1782.  
  1783. Shading        Shade your level! See how efficiently 3DRealms
  1784.                used light and shade in their levels? Do the same
  1785.                - carefully shade every single room. Add lamps and
  1786.                (colored) lights. Sunlight streaming through the
  1787.                windows. Shadows behind columns and buildings.
  1788.                Shade plays a major part in how realistic (and
  1789.                thus, how good) a level will look. Doing it well
  1790.                takes ages.
  1791.  
  1792. Textures       Well, we won't see the HOM (Hall Of Mirrors)
  1793.                effect from DOOM anymore. But make sure your
  1794.                textures are aligned. It's so easy to do using
  1795.                Build, please make sure they look alright! Nothing
  1796.                worse than seeing the brick texture break on the
  1797.                edge of a wall, clearly showing it to be fake.
  1798.                Use the [.] key a lot, make sure you know how it
  1799.                works (and save before you do, it crashed a couple
  1800.                of times on me).
  1801.                Also, don't use too many textures - the have to
  1802.                fit your theme and the game runs faster on fewer
  1803.                textures.
  1804.  
  1805. Details        'All those tiny little details...'
  1806.                The TV in the corner. The discarded bottle on the
  1807.                street. Blood on the walls. The camera turning by
  1808.                just the right amount. The perfect ambience sound
  1809.                in the perfect place.
  1810.  
  1811. Realism        Your map must be totally convincing. As said,
  1812.                shade plays a large part in this, but so does the
  1813.                map itself: are the walls thick enough? Are they
  1814.                too thin? Does that texture belong here? Is it too
  1815.                noticable that this sprite always seem to turn to
  1816.                face you?
  1817.  
  1818. Testing        Lots! Play the level on your own. Play in in coop.
  1819.                DukeMatch it for hours (if you can't play in it
  1820.                for hours, something's wrong). Fine-tune it: is
  1821.                the window at just the right height? Is that
  1822.                elevator positioned in the perfect place?
  1823.                Testing is really important - let your friends
  1824.                play with your level (without you being present)
  1825.                and listen to their comments.
  1826.  
  1827. Difficulty     If you're told that your level is too easy, don't
  1828.                make it more difficult by simply adding lots more
  1829.                monsters! That's a typical newbie mistake - rather
  1830.                place the monsters in better positions and redo
  1831.                the layout a bit.
  1832.  
  1833. Light          Next to shading (see above), the amount of light
  1834.                in a level is important. While a dark, gloomy
  1835.                level can create great atmosphere, keep in mind
  1836.                that few of us enjoy paying in pitch darkness.
  1837.  
  1838. Jokes          3DRealms added lots of in-jokes: the doomed space
  1839.                marine, Indiana Jones, the Terminator, the alien
  1840.                on the toilet...
  1841.                All these are jokes you can't use again: they're
  1842.                old now. Invent your own!
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.                             Chapter 5
  1850.  
  1851.            [A walkthrough to creating a simple level]
  1852.  
  1853.  
  1854. This chapter will guide you to designing your first level.
  1855. It's very much written like a cook-book - you don't have to
  1856. understand exactly what you're doing; if you follow the
  1857. instructions, it'll work out ok :)
  1858.  
  1859. Details about working with BUILD can be found in the next
  1860. chapter.
  1861.  
  1862.  
  1863. 5.1  [Planning]
  1864.  
  1865.  
  1866. Remember: we have to plan the map first.
  1867. For our first map we'll build a very simple map: a storage house
  1868. on a street. It will include a door, a window and have a sloped
  1869. roof.
  1870.  
  1871.  
  1872. 5.2  [Getting ready]
  1873.  
  1874.  
  1875. If you're still in Windoze, get out. It'll do you good, and both
  1876. Duke3D and Build run better under DOS.
  1877.  
  1878. I'm assuming that you've installed Duke3D on your hard drive on
  1879. C:\GAMES\DUKE3D and that your duke CD is in drive F.
  1880.  
  1881. So now you'll have to copy the editor into your Duke3D directory
  1882. as well:
  1883. CD C:\GAMES\DUKE3D
  1884. XCOPY F:\GOODIES\BUILD\*.*
  1885.  
  1886. Now start up BUILD.EXE. A screenfull of legalese will pop up (in
  1887. effect it says that you can't copy BUILD and should only design
  1888. maps for the commercial version of Duke3D - obvious). Press ENTER
  1889. to get rid of it and -voila!- you're in the 2D mode.
  1890.  
  1891.  
  1892. 5.3  [Creating a new map]
  1893.  
  1894.  
  1895. Press [Esc]. On the bottom, a small menu will pop up:
  1896. (N)ew, (L)oad, (S)ave, save (A)s, (Q)uit
  1897. Press [N].
  1898.  
  1899. Asked 'Are you sure you want to start a new board?', you press
  1900. [Y].
  1901. Note to non-US users: the program reads your keyboard directly
  1902. and thus expects you to press the key right next to [T] - for ze
  1903. Germans, this would be [Z].
  1904.  
  1905. The new map will automatically be called NEWBOARD.MAP -
  1906. overwriting any file with that name in your directory. So be sure
  1907. to use 'save (A)s' the first time you save your map.
  1908.  
  1909.  
  1910. 5.4  [The 2D screen]
  1911.  
  1912.  
  1913. The screen in front of you now is the 2D mode, where you'll be
  1914. doing all the rough work like laying out your rooms and
  1915. corridors. You are currently viewing your map from above.
  1916. (Changing room heights, textures, etc are done in 3D mode, so be
  1917. patient).
  1918.  
  1919. The screen consists of several parts:
  1920.  
  1921. 5.4.1  [Map]
  1922.  
  1923. Most of the screen is given over to the map itself. Currently
  1924. it's just displaying a grid.
  1925. All line endpoints and all sprites will automatically align
  1926. themselves with the grid (making it easy to design rectangular
  1927. rooms, for example). You can change the grid size by pressing [G]
  1928. several times: try it now. You'll see the grid size shrink and
  1929. then disappear (meaning the grid is switched off and you can draw
  1930. anywhere). Keep pressing [G] until you see the biggest possible
  1931. grid. The biggest (meaning coarsest) grid has points which are
  1932. 1024 units (that's 256 pixels) apart.
  1933.  
  1934. To see the maximum possible size of your map, use the [A] and [Z]
  1935. keys to zoom your map in and out. Try it, and then zoom back to a
  1936. comfortable distance.
  1937.  
  1938. The map also shows a red cross (your mouse cursor) and a white
  1939. arrow (your current position).
  1940.  
  1941. 5.4.2  [Message window]
  1942.  
  1943. The message window is the bit just below the map: on the left it
  1944. shows the text 'DUKE NUKEM BUILD V041996 BUILD by Ken Silverman'
  1945. (the version from April 1996).
  1946. The right part of the message window currently just shows a red
  1947. line - that's where the program will display messages and ask you
  1948. for any info it needs.
  1949.  
  1950. 5.4.3  [Data window]
  1951.  
  1952. The data window displays info about currently selected objects
  1953. (like sectors, walls or sprites) and can also show some help
  1954. texts.
  1955. Right now it should be empty.
  1956.  
  1957. 5.4.4  [Info window]
  1958.  
  1959. The info window also consists of two parts: on the left is your
  1960. current (x,y) position in units as well as your viewing angle.
  1961. On the right it shows how many resources you have used up
  1962. already. Interesting, because it shows you the limits imposed by
  1963. the Build engine: you can have a maximum of 1024 sectors, 8192
  1964. walls and 4096 sprites.
  1965.  
  1966.  
  1967. 5.5  [Moving about]
  1968.  
  1969.  
  1970. As said, the white arrow is your position and heading on the map.
  1971. You can move about in two ways:
  1972.  
  1973. Cursor keys    Like in the game, these move your forward and
  1974.                backwards. You can also rotate your heading.
  1975.                Interestingly, it also prohibits you from walking
  1976.                through blocking walls - this way you can see if
  1977.                the player will actually be able to walk
  1978.                everywhere he should be.
  1979.  
  1980. Mouse          The red cross is your mouse cursor and therefore
  1981.                (surprise!) moved with your mouse. Pressing the
  1982.                right mouse button transports your position to the
  1983.                mouse cursor - try keeping the button pressed and
  1984.                moving your mouse to see what happens.
  1985.  
  1986.  
  1987. 5.6  [Creating a room]
  1988.  
  1989.  
  1990. So, let's start by building the street first.
  1991. Move your position somewhere into the middle of the map and zoom
  1992. in until you're at a nice comfortable distance (three squares of
  1993. the grid should be about an inch in length).
  1994.  
  1995. Now point the mouse at the bottom left of your currently visible
  1996. map and press the spacebar.
  1997. A small green square appears on a grid point and the message
  1998. window displays 'Sector drawing started.' And so it has - try
  1999. moving the mouse about on the screen. See that white line? That's
  2000. your first wall. Move it straight up by exactly seven squares and
  2001. press the spacebar again.
  2002.  
  2003. Another green square has appeared, and you've begun drawing a new
  2004. wall. Move it exactly 14 squares to the right and press the
  2005. spacebar again. Draw the next wall seven squares straight down
  2006. and press the spacebar.
  2007. The last wall you'll end exactly on the first point created, thus
  2008. forming a neat rectangle.
  2009.  
  2010. When you pressed the spacebar for that last square, the lowest
  2011. wall started flickering. This means that it's the currently
  2012. selected wall. Press [Alt]-[Tab] to get some info on the wall.
  2013. Don't worry about what all that stuff means - the only thing of
  2014. interest right now is the Wall number: the one on the bottom is
  2015. wall number 4.
  2016. Move the cursor near the other walls and note how the other walls
  2017. get selected. The info at the bottom, however, is not
  2018. automatically updated, so you'll have to press [Alt]-[Tab] for
  2019. each wall again.
  2020.  
  2021. Just press [Tab] now and have a look at the sector info. All that
  2022. stuff is explained later in the FAQ, it's not important right
  2023. now.
  2024.  
  2025. 5.7  [3D mode]
  2026.  
  2027.  
  2028. Make sure the white arrow is inside this room and press the
  2029. [NumEnter] key. This is the Enter key on the bottom right of the
  2030. numeric keypad (the big one in the middle won't work for us).
  2031.  
  2032. Wow! 3D!
  2033. You're now inside your room. It's still somewhat narrow and has
  2034. walls consisting of ugly gray stone.
  2035.  
  2036. In 3D mode, two things are of particular interest:
  2037.  
  2038. The mouse      The mouse cursor has changed into a white cross -
  2039.                you use it to point at the things you want to
  2040.                change: walls, sprites...anything.
  2041.  
  2042. FPS            On the top left is the FPS (Frames Per Second)
  2043.                counter. This is the speed at which the screen is
  2044.                being redrawn.
  2045.                This number is terribly important while designing
  2046.                your level: if it drops too low (below 10), the
  2047.                level will play jerky and you won't enjoy it.
  2048.                The FPS are connected to the complexity of the
  2049.                displayed image - the more walls, sprites and
  2050.                textures the computer has to show on a single
  2051.                screen, the lower the FPS count will be.
  2052.                As the Levelord says: "Framerate is God!". So keep
  2053.                an eye on it.
  2054.  
  2055. You can move about in 3D mode with the cursor keys. Don't use the
  2056. cursor keys from the numeric keypad but the ones in the middle.
  2057.  
  2058. You can jump back and forth between 2D and 3D mode by pressing
  2059. the [NumEnter] key.
  2060.  
  2061.  
  2062. 5.8  [Raising the roof]
  2063.  
  2064.  
  2065. This is supposed to a street scene, right? So the first thing
  2066. we'll need to do is raise the roof.
  2067.  
  2068. Point at the ceiling and press [PgUp]. You can see it move
  2069. upwards a bit, pulling the walls with it. Point at the wall in
  2070. front of you and press [PgUp] again. That's another way to raise
  2071. the ceiling.
  2072.  
  2073. Raise the roof until you reach a height you feel more comfortable
  2074. with. The room should now resemble a small aircraft hangar.
  2075.  
  2076.  
  2077. 5.9  [Textures]
  2078.  
  2079.  
  2080. Now for some magic: let's change the appearance of the walls and
  2081. floor.
  2082.  
  2083. 5.9.1  [The floor]
  2084.  
  2085. The floor is first: we'll change it from a simple and ugly stone
  2086. to a street. Point at it and press [V].
  2087.  
  2088. The screen clears, showing the current texture at the top left
  2089. and the number '0' at the bottom left. This screen contains all
  2090. floor textures you have used on your map so far, and the number
  2091. '0' is the number of the currently selected texture.
  2092.  
  2093. Press [V] again: now you'll see a list of _all_ textures in the
  2094. game, including things which are actually sprites (like the
  2095. weapons), but can be usd as textures if you want (although
  2096. they'll usually look weird).
  2097. You can move your cursor (the white box) about with the cursor
  2098. keys - try it.
  2099.  
  2100. Have a look at all the possibilities.
  2101. Now press [G] (meaning Goto). The program will ask you 'Goto
  2102. tile:' on the top left. Use the backspace key to erase the
  2103. currently shown number and type '815'. Press [Enter].
  2104.  
  2105. Voila! The floor changed its appearance and now looks more like a
  2106. street.
  2107.  
  2108. 5.9.2  [The roof]
  2109.  
  2110. Now for the roof. The street has sky above it, right? So, using
  2111. [V] again we'll select tile number 89.
  2112.  
  2113. This looks weird, not like the sky at all. So we parallax it:
  2114. point at the roof and press [P].
  2115. Much better! Move around a bit, using [Ctrl]-[A] and [Ctrl]-[Z]
  2116. to look up and down. (Yes, if you look too high, the texture will
  2117. mess up - it's the reason most outside areas are so high and
  2118. narrow in the game. Keep your eyes low for now :)
  2119.  
  2120. 5.9.3  [Flying about]
  2121.  
  2122. There are three movement modes available to you in the 3D view:
  2123.  
  2124. Game Mode      Here you walk around like the player in the game.
  2125.                Use [A] to jump and [Z] to duck.
  2126.  
  2127. Height Lock    In this mode, you're always at the same height
  2128.                above the floor. Use [A] and [Z] to raise and
  2129.                lower yourself.
  2130.  
  2131. Float Mode     You're completely unaffected by the floor and can
  2132.                smoothly change your height with the [A] and [Z]
  2133.                keys.
  2134.  
  2135. Use the [CapsLock] to change between these modes.
  2136.  
  2137. 5.9.4  [The walls]
  2138.  
  2139. Currently we're still sitting in a walled-in box. Let's make this
  2140. look even more like street.
  2141.  
  2142. Point at the west wall and give it the texture number 794.
  2143. Now this looks more like a house. However, I bet the windows are
  2144. not perfectly aligned with the ground and you only have half the
  2145. lowest row showing.
  2146.  
  2147. So let's change the orientation of the wall texture. Point at the
  2148. houses and press [O]. Hmm, the texture now hangs from the roof
  2149. instead of the floor.
  2150.  
  2151. Still not good enough. Press [O] again and raise the ceiling
  2152. until you have three rows of windows, looking just right. Walk up
  2153. close to it, making sure it looks ok.
  2154.  
  2155. Now we'll copy this texture to the other four walls: Point at the
  2156. west wall again and press [Tab]. This copies the texture into
  2157. memory, causing some text to appear: 'Lo = 0/hi = 0/USED= 1/MEM =
  2158. 8192'. (Of interest is only the 'USED' value - it shows how often
  2159. we have used this texture already).
  2160. Point at the three gray walls in turn and press [Enter] on each.
  2161.  
  2162. Much better. Now we're standing on a street (or a courtyard).
  2163. Note how neatly the textures fit together in the corners? That's
  2164. because we stuck to the grid while designing this room in 2D
  2165. mode. All textures have width and height in a multiple of 8, same
  2166. as the grid. So stick to the grid, and you'll be ok.
  2167.  
  2168. Last thing to do now is to make our house stand out. The street
  2169. is on the north edge of our house, so point at the south wall and
  2170. give it the texture number 723. This changes our house to a
  2171. darker, more brooding one.
  2172.  
  2173.  
  2174. 5.10  [Building the house]
  2175.  
  2176.  
  2177. So far we have a street but no house.
  2178.  
  2179. To design the house, we first drop back into 2D mode: press
  2180. [NumEnter].
  2181.  
  2182. 5.10.1  [The house sector]
  2183.  
  2184. Press [G] again, making the grid a bit smaller (exactly by half,
  2185. in fact). This is now the second-biggest grid available to us.
  2186.  
  2187. Point on the grid just below the lower left point of the street
  2188. and press [Spacebar]. Don't draw on the point itself, but one
  2189. grid unit below it - if you made a mistake, press [Backspace] and
  2190. try again.
  2191.  
  2192. Draw a line to the right parallel to the street, along its whole
  2193. length. Press [Spacear] under the bottom right point of the
  2194. street. That's the first inside wall of the house. The next wall
  2195. goes straight down by 8 grid units.
  2196. Keep going until you have a rectangle defining the inside of your
  2197. house.
  2198.  
  2199. 5.10.2  [Fixing the house sector]
  2200.  
  2201. Move the white arrow inside the house sector with the mouse
  2202. (notice that you can't move from the street to the house with the
  2203. cursor keys, as there's a thin line of nothing (solid rock)
  2204. between the street and the house) and switch into 3D mode.
  2205.  
  2206. Yuck, there's the gray stone again. Again, we first raise the
  2207. roof to a comfortable height (don't make it too high - look at
  2208. the room you're in now to get an idea of the proper height).
  2209.  
  2210. Now that we have a (somewhat long and narrow-looking) room, we
  2211. fix the floor first. Let's make a red carpet on a wooden floor,
  2212. like the one we saw in the Bank Roll level.
  2213.  
  2214. 5.10.2.1  [The carpet floor]
  2215.  
  2216. Point at the floor and give is texture number 749. Hmm, the
  2217. floorboards look a bit wide. Point at them and press [E] (toggles
  2218. between enlarged and normal floor). Now the wood looks better.
  2219.  
  2220. Now how will we do the carpet? After all, we don't want wall-to-
  2221. wall carpeting, we want the wood to peek out at the edges.
  2222.  
  2223. Since a sector can only have one floor texture, the answer is to
  2224. create a second sector inside the house sector. A smaller one,
  2225. with the same roof and floor height as the first one, but a
  2226. different floor texture.
  2227.  
  2228. So we pop back into 2D mode and design a second sector inside the
  2229. house. It looks just like the house sector, but is a bit smaller
  2230. (one grid unit distance to the walls).
  2231.  
  2232. Place the white arrow in the middle of our new sector and press
  2233. [NumEnter].
  2234. Whoops! A message appears: 'Arrow must be inside a sector before
  2235. entering 3D mode'. What happened?
  2236. Place the arrow in the narrow space between the old house sector
  2237. and the new one and press [NumEnter] again. Whooo - tight!
  2238. You see, the old sector is now doghnut-shaped - we've created a
  2239. solid block of stone right in the middle of it.
  2240.  
  2241. Go back into 2D mode. Point inside the new sector and press
  2242. [Alt]-[S].
  2243. The walls now turn red, and the message window says 'Inner loop
  2244. made into new sector.'.
  2245.  
  2246. Back in 3D mode we see that everything is ok now - we have our
  2247. original house back. No sign of the new sector, though.
  2248. That's because the new sector automagically has the same floor
  2249. and ceiling of the original sector. Point at the middle of the
  2250. floor, press [V] and select texture number 899. See? There's our
  2251. carpet.
  2252. Play about raising and lowering the roof and floor of the carpet
  2253. sector to get a good understanding of what we've done just now.
  2254.  
  2255. When you're done, set the floor and roof of the carpet sector to
  2256. the same as the house sector and give all four walls a nicer
  2257. texture: 783. Remember that you can use [Tab] and [Enter] to make
  2258. life easier.
  2259.  
  2260. 5.10.2.2  [Nice walls]
  2261.  
  2262. Hmmm. The walls are suposed to have a wooden toe-rail along the
  2263. bottom and a dark stripe near the ceiling, and currently they
  2264. look wrong.
  2265. Looks like we'll have to shift the texture up a bit: point at one
  2266. of the walls and press [Shift]-[Num2] (that's the '2' key on the
  2267. numeric keypad).
  2268.  
  2269. See it move up a bit? Keep pressing [Shift]-[Num2] until the
  2270. wooden toe rail is exactly right on the floor (walk up close to
  2271. the wall to make sure no single line of brighter pixels is
  2272. peeking underneath the wood). Now the wall is so high that the
  2273. texture repeats on the upper part, so we'll lower the roof a bit.
  2274.  
  2275. Sinve the texture is attatched to the roof, this lowers the whole
  2276. wall into the floor. Point at it and press [O] (for Orientation).
  2277.  
  2278. Move the roof again and note that the texture is now attached to
  2279. the floor, not moving with the roof.
  2280.  
  2281. Make the texture look good again by using [Shift]-[Num2]. Then
  2282. lower to roof until the wall looks just perfect. Don't forget to
  2283. lower the roof of the carpet sector by the same amount, otherwise
  2284. it won't look right.
  2285.  
  2286. If the other walls are not looking ok, point at the wall you've
  2287. been working on and press [.]. This auto-aligns the textures of
  2288. all walls (you might have to press [O] on the other three walls
  2289. as well).
  2290.  
  2291. 5.10.2.3  [Finally, the roof]
  2292.  
  2293. The roof also isn't looking to good so far. Give it the texture
  2294. number 182. And change the roof texture of the carpet sector to
  2295. match, of course :)
  2296.  
  2297. 5.10.3  [Saving your work]
  2298.  
  2299. Nice. Now just so we don't loose everything, go back into 2D
  2300. mode, press [Esc] and [A] (save As). Erase the name 'NEWBOARD'
  2301. with [Backspace], type [DEMO] and press [Enter].
  2302.  
  2303. Now no matter what happens, we won't loose our work so far.
  2304.  
  2305. 5.10.4  [Building a doorway]
  2306.  
  2307. The house is well and good, but we're missing something
  2308. important: a doorway out to the street.
  2309.  
  2310. To create one, we'll need to be in 2D mode and create a sector
  2311. connecting the street and the house.
  2312.  
  2313. Move to the right of the house and zoom in a bit so you can see
  2314. the grid very clearly. Move the cursor just underneath the white
  2315. line defining the top edge of the house. See that little black
  2316. dot on it just above the red cross? Move the cross until the dot
  2317. is exactly three grid squares from the right edge of the white
  2318. house sector and press [Ins].
  2319.  
  2320. A small green square appears: we've inserted a point on the white
  2321. line, splitting it in two. Insert another point on the same line,
  2322. two grid squares to the left of the first one.
  2323.  
  2324. Now do the same thing to the bottom part of the street sector:
  2325. insert two points just above the points on the house sector.
  2326. These four new points will now define our doorway sector. Notice
  2327. that the doorway will share two lines: the bottom one will also
  2328. belong to the house, while the top one will connect to the
  2329. street.
  2330.  
  2331. Now build the door sector: point at the bottom left point and
  2332. press [Spacebar], starting a new line. Point at the point on the
  2333. bottom right and press [Spacebar] again. Keep doing this with the
  2334. top right and the top left point. End the final line on the
  2335. bottom left point, creating a rectangle which will immediately
  2336. turn partly red.
  2337.  
  2338. That's our new doorway sector. Look at it: the top and bottom
  2339. lines are red (two-sided lines) and the left and right ones are
  2340. white (one-sided).
  2341.  
  2342. Let's view this in 3D: place the arrow on the street and switch
  2343. into 3D mode.
  2344.  
  2345. Doesn't look too good so far, does it? The doorway reaches all
  2346. the way into the sky, appearing all wrong.
  2347. So let's make it lower: walk into the doorway, point at one of
  2348. the walls and keep pressing [PgDn] until the roof comes into
  2349. view.
  2350. The roof looks a mess because it's still parallaxed (the doorway
  2351. took on the setup of the street sector - notice the floor is
  2352. asphalt), so press [P] on it.
  2353.  
  2354. Take a few steps backwards into the street and change the height
  2355. of the doorway until you're happy with it (it should end just at
  2356. the top of the dark windows).
  2357. The walls look a bit messy, both over the doorway and inside it.
  2358. That's because their textures are attached wrong - press [O] on
  2359. them. Much better.
  2360. Also change the doorway sectors floor, roof and wall textures to
  2361. 773.
  2362.  
  2363. Now we have a house which we can leave through a doorway and walk
  2364. into the street!
  2365.  
  2366. 5.10.5  [Adding a window]
  2367.  
  2368. So, what's a window? Easy: just like a doorway, but with a raised
  2369. floor and some glass in it.
  2370.  
  2371. Since you now know how to build a doorway between the street and
  2372. the house, go ahead and build another one somewhere to the left
  2373. of the first doorway.
  2374.  
  2375. Got two alike doorways next to each other? Textures looking ok?
  2376. Right, step into the street. Point at the floor of the second
  2377. doorway and press [PgUp] to raise it right up to the bottom of
  2378. the black windows (looks better).
  2379. All right! You've got yourself a window!
  2380.  
  2381. However, it still doesn't look good - it's too high up, we can't
  2382. look out comfortably. So, lower the roof and floor of the window
  2383. sector until you can easily look into the house.
  2384.  
  2385. Better, but now it doesn't fit the texture on the street as
  2386. neatly anymore. So we'll use [Shift]-[Num8] to shift the wall
  2387. texture down until it looks right.
  2388. Notice how you're only shifing the wall texture over the window?
  2389. Each section of a wall (separated by a point) can have its own
  2390. texture, so you'll have to shift each walls texture.
  2391. Remember that you can use [.] to auto-align textures for you (it
  2392. auto-alignes all walls to the right of the one you pointed at, so
  2393. shift the texture on the leftmost wall).
  2394.  
  2395. 5.10.6  [Glass]
  2396.  
  2397. Now we only need to add some glass into the window (so we can
  2398. shoot it, yaaay!).
  2399. Still in the street, point on the wall below the window and press
  2400. [M]. The window will be walled closed with the ugly gray stone
  2401. texture again. Point at it and give it the texture number 503.
  2402. Voila! A glass pane!
  2403. However, the white reflections on it loks wrong. Press [T] twice
  2404. to make the window more transparent.
  2405.  
  2406. You can also use [F] (Flip) and [Num4] as well as [Num6] to
  2407. change the appearance of the window. (Of course, you can use
  2408. these keys on any wall texture). If you make a mistake, you can
  2409. reset the wall be pressing [/].
  2410.  
  2411. Remember to fix both sides of the glass pane.
  2412.  
  2413. Now, all we have to do is make the glass breakable: point at it
  2414. and press [B] (blocking movement) and [H] (hitscan on, meaning it
  2415. can be shot).
  2416.  
  2417. A glass pane on the very outside doesn't look to good, though -
  2418. it should be in the exact middle of the window sector. Besides,
  2419. it'll mess up the street texture when shattered.
  2420.  
  2421. So, first we'll define a line where the glass will be: in 2D
  2422. mide, insert a point in the middle of the left and right walls of
  2423. the window sector. Point at the first point and (using
  2424. [Spacebar]), draw a line across to the second point. The message
  2425. 'Sector split.' will appear - the window sector is now made up of
  2426. two separate sectors, and we'll put the glass on the line
  2427. dividing them.
  2428. But first, press [B] at the new line in 2D mode until it looks a
  2429. normal red. Do the same for the upper line (where our glass is
  2430. right now).
  2431.  
  2432. Back in 3D mode, we'll remove the old glass pane by pressing [M]
  2433. at it and insert the new pane by pointing just inside the window
  2434. sector and pressing [M] again. Fix the window up using [Num4] and
  2435. [Num6] and don't forget [T], [B] and [H].
  2436.  
  2437. 5.10.7  [The sloped roof]
  2438.  
  2439. Remember we wanted to slope the ceiling of the house so it looks
  2440. a bit like an A-frame?
  2441. Well, of course each sector can only be sloped one way, so we'll
  2442. have to split the house sector (and the carpet sector!) again:
  2443.  
  2444. Insert a point in the middle of each horizontal wall in the house
  2445. (the house walls and the carpet sector walls) so you get four
  2446. points underneath each other.
  2447.  
  2448. >From the top point, draw a line to the one just below it. The
  2449. message window will say 'Loops joined.'. Keep going: connect the
  2450. two points on the carpet sector ('Sector split.') and the lower
  2451. two points ('Sector split.').
  2452.  
  2453. Now, still in 2D mode, we define the 'hinges' of the sloping
  2454. ceiling. We'll hinge the roof in the middle, so first point
  2455. inside the carpet sector just to the left of the new line and
  2456. press [Alt]-[F]. Tis makes the selected line (the blinking one)
  2457. the first line in the sector the mouse cursor is in.
  2458. Do the same for the second carpet sector (the one on the right)
  2459. and with both house sectors.
  2460.  
  2461. Do the same for the second carpet sector (the one on the right)
  2462. and with both house sectors.
  2463.  
  2464. Now switch to 3D mode, point at the roof and press '[' and ']' to
  2465. tilt the ceilings. (You'll have to raise the ceiling a bit - use
  2466. [.] to realign the walls afterwards).
  2467. If the ceiling tilts wrong, you've messed up the [Alt]-[F] bit.
  2468. Make sure you've selected the right line at try again.
  2469.  
  2470. You can use [/] to make a ceiling straight again.
  2471.  
  2472.  
  2473. 5.11  [Trying it out]
  2474.  
  2475.  
  2476. Let's try our new level out. Place the arrow in the street and
  2477. press [ScrollLock] to set the dim red arrow which shows your
  2478. starting point in the game.
  2479. Caution: if the starting point is outside a valid sector, the
  2480. game will crash if you try to run the map!
  2481.  
  2482. In 2D mode, press [Esc], [Q] [Y] [Y] to exit the editor, saving
  2483. your map.
  2484.  
  2485. Now start up Duke3D by typing
  2486. DUKE3D -map DEMP.MAP
  2487.  
  2488. Fun! Walk through your creation, smash the window, look about.
  2489.  
  2490. However, it sure gets old fast - plain walls with no decorations,
  2491. and where are the enemies?
  2492.  
  2493.  
  2494. 5.12  [Decorations]
  2495.  
  2496.  
  2497. Let's keep our decorations simple: a flowerpot in the corner, a
  2498. picture on the wall, a lamp on the ceiling and a burning barrel
  2499. in the street.
  2500.  
  2501. First call up Build again:
  2502. BUILD DEMO.MAP (press [Enter] twice quickly)
  2503.  
  2504. We find ourselves in 3D mode, at the player starting point. Walk
  2505. inside the house, point somewhere at the floor and press [S]
  2506. (insert sprite).
  2507. Again, we're confronted with the ugly gray wall, this time
  2508. standing upright on the floor.
  2509.  
  2510. Try walking around it - note how it always faces you?
  2511. Press [R] at it and see how it changes into a flat piece of
  2512. paper. You can change its heading in 2D mode by pointing at the
  2513. sprite (the small circle with the tail sticking out of it) and
  2514. pressing [<] and [>].
  2515.  
  2516. Back in 3D mode, press [R] at it again - now it's flat on the
  2517. floor.
  2518.  
  2519. 5.12.1  [The flower pot]
  2520.  
  2521. Make the sprite stand up again with [R] and press [V] to select a
  2522. different sprite (number 1025). The wall changes into a flower
  2523. pot!
  2524. By the way, notice that sprite 1025 looked differently in the
  2525. selection list? The pink bits will be transparent when the sprite
  2526. is used.
  2527.  
  2528. Now shift the flower pot into a corner: in 2D mode, make the grid
  2529. a bit finer, point at the flower (now called BOTTLE7 by the
  2530. program) and move it about by pressing and holding the left mouse
  2531. button (you can shift the endpoints of walls in the same way,
  2532. btw).
  2533.  
  2534. All right! Now we have a flower pot in the corner of the room.
  2535. Press [Tab] at it and use [S] in 3D mode to place some more pots
  2536. on the floor. They will automatically shatter when hit.
  2537.  
  2538. In 2D mode, the sprite appears pink - this means that the 'block
  2539. moveemnt' flag has been set, and you can't walk through it. If
  2540. for some reason you want to allow the player to walk through a
  2541. sprite (fire, for example), press [B] at the sprite and watch it
  2542. change color.
  2543.  
  2544. 5.12.2  [The picture]
  2545.  
  2546. The next sprite will be a picture on the wall.
  2547. Point at the south wall and press [S] again. The flower pot
  2548. appears again, but since we placed it on a wall, it's
  2549. automatically flat already.
  2550.  
  2551. Use [V] to change it into sprite number 1075 - a framed picture.
  2552. Use [PgUp] and [PgDn] to position it on the wall.
  2553.  
  2554. 5.12.3  [A hanging lamp]
  2555.  
  2556. Next we'll hang a lamp from the ceiling.
  2557.  
  2558. Point at the middle of the floor and press [S]. Change it into
  2559. sprite number 979 (a hanging lamp).
  2560. Well, not exactly hanging yet. So point at it and press
  2561. [Ctrl]-[PgUp] to move it right up to the ceiling (yes,
  2562. [Ctrl]-[PgDn] will place a sprite on the floor).
  2563.  
  2564. 5.12.4  [The burning barrel]
  2565.  
  2566. Finally, we'll place a burning barrel on the street. Walk outside
  2567. and place a sprite number 1240 somewhere on the street.
  2568. Note that this sprite will automatically animate to look like a
  2569. burning barrel. If you had chosen one of the other three
  2570. animation frames (sprites 1241 to 1243), it wouldn't have worked
  2571. - - the flames would appear 'frozen' (try it).
  2572.  
  2573. By the way, you can remove a sprite by pointing at it and
  2574. pressing [Del].
  2575. You might also want to play around with the [Num2], [Num8],
  2576. Num[4], [Num[6] and [/] keys.
  2577.  
  2578.  
  2579. 5.13  [The enemy appears]
  2580.  
  2581.  
  2582. The last thing missing is the enemy.
  2583.  
  2584. So, go back into the house and place a sprite number 2000 in the
  2585. middle of it.
  2586. Ah, a PigCop! Try walking around it - note how you're always
  2587. shown the correct side of the monster?
  2588.  
  2589. Place another one next to the first one, but as number 2001.
  2590. This one isn't moving, and the program calls it PIGCOPSTAYPUT
  2591. (check it in 2D mode).
  2592. All monsters have a STAYPUT frame - it means that they will walk
  2593. around normally, but never change the sector they started in.
  2594. Great for setting up ambushes.
  2595. It also means that our second PigCop won't dare to leave the
  2596. carpet :)
  2597.  
  2598. Here's a cute trick: try making one of the cops transparent [T]
  2599. to create a ghost :)
  2600.  
  2601. Start the game up again, switch to God mode (type DNKROZ in the
  2602. game) and watch the different behaviour of the two monsters.
  2603.  
  2604. Note that you can place monsters in different poses to have them
  2605. start up in them. For example, you can place a PigCop number 2045
  2606. (lying down) behind a low wall...
  2607.  
  2608.  
  2609. 5.14  [The other players]
  2610.  
  2611.  
  2612. All that's missing now is to set up the coop and DukeMatch
  2613. starting positions of the other players. You'll need seven of
  2614. each (the red arrow is the eight one for both coop and DukeMatch
  2615. positions).
  2616.  
  2617. Simply place sprites number 1405 (called APLAYER) everywhere you
  2618. want a DukeMatch starting spot (be fair!).
  2619. To differentiate the coop starting positions (which are usually
  2620. all in a bunch somewhere) from the DukeMatch spots, point at them
  2621. in 2D mode, press [Alt]-[T], [1] and [Enter] to give them a lo-
  2622. tag of 1.
  2623.  
  2624.  
  2625. 5.15  [Taking it from here]
  2626.  
  2627.  
  2628. All right! Your first level!
  2629.  
  2630. It's still a bit simple, so read through the next chapter and
  2631. play around (save it first). The trick is to experiment as much
  2632. as possible!
  2633.  
  2634.  
  2635.  
  2636.  
  2637.  
  2638.  
  2639.                             Chapter 6
  2640.  
  2641.                        [The BUILD Editor]
  2642.  
  2643.  
  2644. This chapter is intended as a reference to the BUILD editor,
  2645. included on the CD. A big thanks to 3DRealms for giving us the
  2646. very editor they used to design their levels!
  2647.  
  2648. ## I've taken most of the info in this chapter from the build
  2649. docs. I hope to extend this with lots of tips and tricks to the
  2650. individual commands - so if you know anything, let me know!
  2651.  
  2652. In this chapter, I'm describing the BUILD editor V041996 from
  2653. 9/23/95. Press [F1] in 2D mode to see what version you've got.
  2654.  
  2655. The program consists of two parts: 2D mode and 3D.
  2656.  
  2657. 6.1  [2D Mode]
  2658.  
  2659.  
  2660. 2D mode is used to design the sectors and place sprites
  2661. accurately, much like a blue print.
  2662.  
  2663. 6.1.1  [The Screen]
  2664.  
  2665. The screen is split into four parts:
  2666.  
  2667. 6.1.1.1  [The map]
  2668.  
  2669. Most of the screen is taken in by the map.
  2670. Shown on it are:
  2671.  
  2672. The grid       Made up of dark gray lines, the grid has 8
  2673.                settings (7 magnifications and Off). All objects
  2674.                snap to the grid as they are places or moved.
  2675.  
  2676. Sprites        Small circles with a line indicating its facing.
  2677.                At high enough magnification, they will also
  2678.                display a tag:
  2679.                X Y NAME
  2680.                where X is the hi-tag, Y the lo-tag and NAME the
  2681.                name of the sprite as given in the NAMES.H file.
  2682.                A pink sprite is flagged as impassable.
  2683.  
  2684. Points         End points of lines are shown as small green
  2685.                squares.
  2686.  
  2687. Walls          Two types of walls are possible: one-sided walls
  2688.                are white, two-sided walls are red.
  2689.                Two-sided walls with the 'blocking movement' bit
  2690.                set are shown as pink, and glass (with the
  2691.                'hitscan' flag set in addition) is a thick pink
  2692.                line.
  2693.                A wall can also display a ractangular sign at high
  2694.                enough resolution, showing the wall tags.
  2695.  
  2696. Sector         A sector is bounded by walls, and is not displayed
  2697.                as such (pity - DEU did a very good job of this,
  2698.                very useful). But if it is tagged, you can see a
  2699.                sign with the tag numbers on it, same as for walls
  2700.                and sprites.
  2701.  
  2702. Mouse          The mouse cursor is a red cross if grid locking is
  2703.                on and a white one if grid locking is off.
  2704.  
  2705. Observer       The observer (your position in 3D) is a white
  2706.                arrow.
  2707.  
  2708. 6.1.1.2  [The Message window]
  2709.  
  2710. This window shows the text 'DUKE NUKEM BUILD V041996 BUILD by Ken
  2711. Silverman' (current version from April 1996).
  2712. The right part is reserved for prompts like the Esc-menu.
  2713.  
  2714. 6.1.1.3  [The Data window]
  2715.  
  2716. The data window displays info about currently selected objects
  2717. (like sectors, walls or sprites) and can also display some help
  2718. texts.
  2719.  
  2720. 6.1.1.4  [The Info window]
  2721.  
  2722. The info window also consists of two parts: on the left is your
  2723. current (x,y) position in units as well as your viewing angle.
  2724. On the right it shows how many resources you have used up
  2725. already. Interesting, because it shows you the limits imposed by
  2726. the Build engine: you can have a maximum of 1024 sectors, 8192
  2727. walls and 4096 sprites.
  2728.  
  2729. 6.1.2  [The mouse]
  2730.  
  2731. Most of the time you'll have your right hand on the mouse and the
  2732. left one on the keyboard.
  2733.  
  2734. 6.1.2.1  [Move]
  2735.  
  2736. Moves the mouse cursor (really!). Is also used to shape the
  2737. selection box together with the [RightShift] and [RightAlt] keys.
  2738.  
  2739. 6.1.2.2  [Left button]
  2740.  
  2741. Used to drag a selected object or group of objects.
  2742.  
  2743. 6.1.2.3  [Right button]
  2744.  
  2745. Places the player at the mouse position.
  2746.  
  2747. 6.1.3  [The keyboard]
  2748.  
  2749. All keys named NumXXX are keys from the numeric keypad.
  2750.  
  2751. 6.1.3.1  [Esc]
  2752.  
  2753. Pops up the Esc-menu: (N)ew, (L)oad, (S)ave, save (A)s, (Q)uit.
  2754.  
  2755. New            starts a new map (after confirming with you).
  2756.  
  2757. (L)oad         pops up a selection list of all .MAP files
  2758.                (Caution! It doesn't ask you if you're sure, so
  2759.                save first before loading a new level. If
  2760.                necessary, abort the selection process with
  2761.                [Esc]).
  2762.  
  2763. (S)ave         saves the map under its current name, overwriting
  2764.                any map with the same name on the disk without
  2765.                comment. New, unnamed levels are automatically
  2766.                called NEWBOARD.MAP.
  2767.  
  2768. save (A)s      asks you for a name to save the current map under.
  2769.                All new maps should first be given a name this
  2770.                way. Beware that it will overwrite any map with
  2771.                the same name without comment.
  2772.  
  2773. (Q)uit         will quit the editor after confirming with you and
  2774.                offering to save your current work.
  2775.  
  2776. 6.1.3.2  [Cursor keys]
  2777.  
  2778. Move the player position. The player is clipped, so use the right
  2779. mouse button to move if necessary.
  2780.  
  2781. 6.1.3.3  [NumIns and NumDel]
  2782.  
  2783. These keys will pan the player position sideways.
  2784. 6.1.3.4  [Spacebar]
  2785.  
  2786. Draw new sectors. The program is bright enough to know when
  2787. you're drawing a new sector or adding to an existing one. Use
  2788. [Backspace] to back up to the last point plotted.
  2789.  
  2790. 6.1.3.5  [NumEnter]
  2791.  
  2792. Toggles between 2D and 3D mode.
  2793.  
  2794. 6.1.3.6  (RightShift)
  2795.  
  2796. Used together with the mouse to select a rectangular region of
  2797. objects (points and sprites) to move. Press again to deselect.
  2798.  
  2799. Interesting note: if you drag a sprite normally (using the left
  2800. mouse button), the sprite will be clipped, meaning it can't pass
  2801. over high walls, into door sectors, etc. But if you select it
  2802. with the right shift key first, you can move it anywhere you
  2803. want. Real useful trick, this.
  2804.  
  2805. 6.1.3.7  [Control-RightShift]
  2806.  
  2807. Select all points of a sector, which can them be dragged with the
  2808. left mouse key and stamped with [Ins].
  2809.  
  2810. 6.1.3.8  *RightAlt*
  2811.  
  2812. Use together with the mouse to select all sectors within a
  2813. rectangular area. Before moving the mouse, press [Ins]. Now the
  2814. selected sectors can then be dragged with the mouse and stamped
  2815. with [Ins] or you can rotate them with [<] and [>].
  2816. If you load a new map right after selecting sectors, you can even
  2817. stamp the old sectors into the new map.
  2818.  
  2819. To copy a sector properly is non-trivial - see 'How do I copy a
  2820. sector' below.
  2821.  
  2822. 6.1.3.9  [Ins]
  2823.  
  2824. Insert something. If some objects are selected, it will insert
  2825. these (points or sectors) - don't forget to drag them afterwards.
  2826. If nothing is selected, it will insert a point on the current
  2827. line.
  2828.  
  2829. 6.1.3.10  [Del]
  2830.  
  2831. Delete a sprite.
  2832.  
  2833. 6.1.3.11  (RightControl-Del)
  2834.  
  2835. Delete the current sector (the one the white arrow is in).
  2836.  
  2837. 6.1.3.12  [A and Z]
  2838.  
  2839. Zoom in and out.
  2840.  
  2841. 6.1.3.13  [G]
  2842.  
  2843. Change the grid size.
  2844.  
  2845. 6.1.3.14  [L]
  2846.  
  2847. Toggle grid locking.
  2848. The color of the mouse cursor chages accordingly: red for locking
  2849. on, white for off.
  2850.  
  2851. 6.1.3.15  [J]
  2852.  
  2853. Join two neighboring sectors. Press [J] in the first sector and
  2854. again in the adjacent one. The adjacent one will take on all
  2855. settings (ceiling height, textures, etc) of the first sector.
  2856.  
  2857. 6.1.3.16  [Alt-S]
  2858.  
  2859. Turn an inner sector into player space (used to create sectors
  2860. within sectors).
  2861.  
  2862. 6.1.3.17  [S]
  2863.  
  2864. Insert a sprite. You can store a sprite in 3D mode by pressing
  2865. [Tab] on it, making it the default sprite to insert.
  2866.  
  2867. 6.1.3.18  [B]
  2868.  
  2869. Toggle the 'block movement' flag on a line or sprite.
  2870.  
  2871. 6.1.3.19  (C)
  2872.  
  2873. Turn a line into a circle - move the mouse to change the circle.
  2874.  
  2875. [+] [-]        changes the number of points on the circle.
  2876.  
  2877. [Spacebar]     draws the circle.
  2878.  
  2879. [C]            aborts it.
  2880.  
  2881. 6.1.3.20  [T]
  2882.  
  2883. Set the sector lo-tag.
  2884.  
  2885. 6.1.3.21  [H]
  2886.  
  2887. Set the sector hi-tag.
  2888.  
  2889. 6.1.3.22  [Alt-T]
  2890.  
  2891. Set the sprite or wall lo-tag.
  2892.  
  2893. 6.1.3.23  [Alt-H]
  2894.  
  2895. Set the sprite or wall hi-tag.
  2896.  
  2897. 6.1.3.24  [E]
  2898.  
  2899. Change a sprites status list number.
  2900. ## Anybody know what this does, exactly? What's a status list
  2901. number?
  2902.  
  2903. 6.1.3.25  [< and >]
  2904.  
  2905. Change the angle of a sprite or selected sector. Use [RightAlt]
  2906. to select sectors.
  2907.  
  2908. 6.1.3.26  [Shift-< and Shift->]
  2909.  
  2910. Change the angle of the sprite or selected sector in smaller
  2911. increments.
  2912. 6.1.3.27  [[ ]]
  2913.  
  2914. This allows you to search backwards or forwards for a certain
  2915. sector or wall. Select the tags to look for via [F8] (for walls)
  2916. or [F9] (for sectors) and press '[' to search backwards and ']'
  2917. to search forwards.
  2918. If the sector or wall is found, the map will jump to it, placing
  2919. the cursor at one of the points (probably the first one of the
  2920. sector/wall).
  2921.  
  2922. 6.1.3.28  ['-M]
  2923.  
  2924. Pressing ['] and [M] together brings up a memory status window.
  2925. Caution: I don't recommend using this option as BUILD gets
  2926. unstable afterwards and will crash upon switching to 3D mode.
  2927.  
  2928. Total Tiles    Bytes taken up by all selected tiles?
  2929.  
  2930. Total Sprites  Bytes taken up by all selected sprites?
  2931.  
  2932. Total Actors   Bytes taken up by all actors (now what's that?)
  2933.  
  2934. Total Memory   Bytes needed for this map?
  2935.  
  2936. Total W/Duke   Bytes needed to run this map together with Duke3D?
  2937.  
  2938. 6.1.3.29  ['-3]
  2939.  
  2940. Pressing ['] and [3] together changes the tag display mode (very
  2941. useful feature, this):
  2942.  
  2943. 0: No tags displayed
  2944. 1: Show sector tags only
  2945. 2: Show wall tags only
  2946. 3: Show sprite tags only
  2947. 4: Show all tags
  2948. 5: Show item tags only
  2949. 6: Show tags of current sprite only
  2950.  
  2951. 6.1.3.30  [F1]
  2952.  
  2953. Shows a short help screen as well as the version number of BUILD
  2954. (currently V041996).
  2955. ## According to this helpscreen, [']-[1], [~], and [']-[9] should
  2956. be doing something as well but they don't - anybody with more
  2957. luck than me?
  2958.  
  2959. 6.1.3.31  [F2]
  2960.  
  2961. Increments the players x-position by one unit. Seems like a
  2962. useless feature and my guess is that [F1] decremented the players
  2963. position before 3DRealms turned it into a help button.
  2964.  
  2965. 6.1.3.32  [F3]
  2966.  
  2967. Decrements the players y-position by one unit.
  2968.  
  2969. 6.1.3.33  [F4]
  2970.  
  2971. Increments the players y-position by one unit.
  2972.  
  2973. 6.1.3.34  [F5]
  2974.  
  2975. If you are in a valid sector, this option will show some general
  2976. info about your map, like its name and the number of items in it
  2977. (the blue numbers mean the number of each item only found in
  2978. multiplayer mode).
  2979.  
  2980. This is particularily interesting if you want to make sure that
  2981. you've got a good weapon mix with enough ammo and goodies.
  2982.  
  2983. 6.1.3.35  [F6]
  2984.  
  2985. If a sprite is selected, this will show a small help screen
  2986. listing the numbers of all (?) sector effectors and their
  2987. function.
  2988.  
  2989. Otherwise, some more really useful info about your map is shown,
  2990. this time containing the next free tag and the amount of monsters
  2991. placed.
  2992.  
  2993. 6.1.3.36  [F7]
  2994.  
  2995. This shows a help screen listing all (?) sector tags with their
  2996. function.
  2997.  
  2998. 6.1.3.37  (F8)
  2999.  
  3000. Allows you to search for a wall with specific hi- and lo-tags.
  3001. If a sprite is highlighted, you can search for the sprite via its
  3002. tags, too.
  3003. '[' and ']' start the search.
  3004.  
  3005. 6.1.3.38  [F9]
  3006.  
  3007. As [F8], but you can search for a sector instead.
  3008.  
  3009. 6.1.3.39  [F10]
  3010.  
  3011. Increments the angle of the player by one unit. Looks like a
  3012. singularily useless function.
  3013.  
  3014. 6.1.3.40  [F11]
  3015.  
  3016. Displays the message 'Grabbed wall sprite 0' - ?? ##
  3017.  
  3018. 6.1.3.41  [F12]
  3019.  
  3020. Takes a .PCX screen shot.
  3021. Turn off the Grid before you press [F12], as it isn't shown
  3022. properly.
  3023.  
  3024. 6.1.3.42  [TAB]
  3025.  
  3026. Show info on the current sector:
  3027.  
  3028. Sector         The number of the sector.
  3029.  
  3030. Firstwall      The number of the first wall (set with [Alt]-[F]).
  3031.                Interesting because:
  3032.  
  3033.                    *  The floor/ceiling texture orientates itself
  3034.                       on it.
  3035.  
  3036.                    *  The floor/ceiling uses this line as a hinge
  3037.                       when tilting.
  3038.  
  3039.                    *  Blastable walls lower the ceiling until the
  3040.                       first lines touch - if your wall has
  3041.                       triangular holes in it, this may be why. So
  3042.                       make sure your first line is the lowest
  3043.                       one.
  3044.  
  3045. Numberofwalls  The number of walls bounding this sector.
  3046.  
  3047. Firstsprite    The number of the first sprite in ths sector.
  3048.                Hmmm...anybody know if the first sprite is of
  3049.                similar importance as the first wall? ##
  3050.  
  3051. Tags           The hi and lo tags of the sector (also shown in
  3052.                hex).
  3053.                Change with [H] and [T].
  3054.  
  3055. Extra          Describes as 'used by the game programer only'.
  3056.                Usually set to -1; anybody got details? ##
  3057.  
  3058. Visibility     The visibility in this sector, usually set to 0.
  3059.  
  3060. Pixel height   The height of the room in pixels.
  3061.                Each [PgUp] or [PgDn] in 3D mode changes this by 4
  3062.                (= 256 units).
  3063.  
  3064. Ceiling Flags  The ceiling flag, shown in hex.
  3065.                The flags (with the keys used to change them in
  3066.                3D) are as follows (the rightmost bit being number
  3067.                0):
  3068.                0: Set if parallaxing [P]
  3069.                1: Set if tilted '[',']'
  3070.                2: Set if x and y are swapped [F]
  3071.                3: Set if texture size is halved [E]
  3072.                4: Set if x-flipped [F]
  3073.                5: Set if y-flipped [F]
  3074.                6: Set if texture aligned with first sector wall
  3075.                [Alt-F]
  3076.  
  3077. (X,Y) pan      The x,y amount the ceiling has been panned. Use
  3078.                the cursor keys for this.
  3079.  
  3080. Shade byte     The amount of shade on the ceiling.
  3081.                0 is normal, < 0 is lighter, > 0 is darker.
  3082.  
  3083. Z-coordinate   The z-coodinate of the ceiling.
  3084.                Smaller means higher. Each [PgUp] or [PgDn] in 3D
  3085.                mode changes this by 1024 units (= 4 pixel).
  3086.  
  3087. Tile number    The number of the ceiling texture.
  3088.                Use [V] to change.
  3089.  
  3090. Ceiling heinum Amount of tilt.
  3091.  
  3092. Palookup number
  3093.                Color palette to use (0 is normal).
  3094.  
  3095. 6.1.3.43  *Alt-TAB*
  3096.  
  3097. Show info on the current wall or sprite.
  3098.  
  3099. The wall info is as follows:
  3100. Wall           Number of the wall (note that red lines are
  3101.                actually two walls, so it's important which sector
  3102.                you're in when pressing [Alt]-[TAB]).
  3103.  
  3104. X-coordinate   X-coordinate of left side of wall.
  3105.  
  3106. Y-coordinate   Y-coordinate of left side of wall.
  3107.  
  3108. Point2         Number of the next wall to the right in the same
  3109.                sector.
  3110.  
  3111. Sector         Sector the wall is in.
  3112.  
  3113.  
  3114. Tags           The hi and lo tags for this wall, also shown in
  3115.                hex.
  3116.                ## Anybody got a list of interesting tag numbers?
  3117.  
  3118. Flags          The flag (in hex) of this wall.
  3119.                The flags (together with the keys to change them)
  3120.                are as follows (0 is on the very right):
  3121.                0: Set if wall blocks movement [B]
  3122.                1: Set if wall has two different textures [2]
  3123.                2: Set if tile is aligned to ceiling (0 if floor)
  3124.                [O]
  3125.                3: Set if x-flipped [F]
  3126.                4: Set if masking wall (like window) [M]
  3127.                5: Set if 1-way wall [1]
  3128.                6: Set if hitscan enabled [H]
  3129.                7: Set if transparent [T]
  3130.                8: Set if y-flipped [F]
  3131.                9: Set if reverse-transparent (?) [T]
  3132.  
  3133. Flags          The flags for the sprites are as follows:
  3134.                0: Set if sprite blocks movement [B]
  3135.                1: Set if sprite is transparent (see bit 9) [T]
  3136.                2: Set if flipped Left/right [F]
  3137.                3: Set if flipped Up/Down [F]
  3138.                4: Set if sprite is flat upright [R]
  3139.                5: Set if sprite is flat on ground [R]
  3140.                6: Set if sprite is single-sided [1]
  3141.                7: ???
  3142.                8: Set if hitscan enabled [Ctrl-H]
  3143.                9: Set if very transparent, else slightly
  3144.                transparent (see bit 1) [T]
  3145.  
  3146. Shade          The amount of shade on the walls (smaller is
  3147.                brighter).
  3148.                Use [+] and [-] to change.
  3149.  
  3150. (X,Y) repeat   Used to stretch textures.
  3151.                Use the [NumCursor] keys to change this, press [/]
  3152.                to undo any accidential changes.
  3153.  
  3154. (X,Y) pan      Used to move textures.
  3155.                Use the [Cursorkeys] for this.
  3156.  
  3157. Tile number    The texture number used on this wall. Use [V] to
  3158.                set this.
  3159.  
  3160. OverTile number
  3161.                The extra texture number for 1-way walls and
  3162.                masked walls.
  3163.                ## I'm not sure how this is supposed to work. On a
  3164.                wall with three textures (a window with glass on
  3165.                the maskable wall as well as two different
  3166.                textures above and below it) it stayed 0.
  3167.  
  3168. Nextsector     The number of the sector on the other side of the
  3169.                wall (-1 if there is none).
  3170.  
  3171. Nextwall       Number of the wall on the other side (only
  3172.                interesting if the wall is two-sided, otherwise
  3173.                it's -1)
  3174.  
  3175. Extra          Usually -1, and described as 'used by the game
  3176.                programmer only'. Which makes it irresistable :)
  3177.                ## Anybody got more info?
  3178.  
  3179. Wall length    Wall length in pixels. The grid at maximum size
  3180.                has a square width of 64 pixels.
  3181.  
  3182. Pixel height   Height of the wall in pixels.
  3183.  
  3184. 6.1.3.44  [ScrollLock]
  3185.  
  3186. Set the starting position to the current players position.
  3187. Caution: if this position is set to an invalid position (outside
  3188. a sector), the game will crash when you try to run this map.
  3189.  
  3190. 6.1.3.45  [Ctrl-T]
  3191.  
  3192. Toggle tag box display on the sprites, walls and sectors.
  3193.  
  3194. 6.1.3.46  [Enter]
  3195.  
  3196. Displays the text 'Highlighted line pointers checked'.
  3197. ## Anybody know what this means? It sure doesn't protect you from
  3198. invalid lines...
  3199.  
  3200.  
  3201. 6.2  [3D Mode]
  3202.  
  3203.  
  3204. 3D mode is where it's at! Here you stand right in your map and
  3205. can change anything: floor/ceiling height, textures, etc. It's
  3206. where you'll be spending most of your time.
  3207.  
  3208. This mode is also what really makes BUILD stand out from other
  3209. editors like DEU - you can spend a long time in here, fixing up
  3210. your level to look just right. No more guessing around with the
  3211. alignment, easily set the height of your rooms, see what
  3212. everything looks like before you fire up the game
  3213. itself...lovely.
  3214.  
  3215. 6.2.1  [The screen]
  3216.  
  3217. The screen shows the map as viewed from the players position. Two
  3218. things deserve special note:
  3219.  
  3220. FPS meter      On the top left the current fps rate is shown.
  3221.                Keep an eye on tis while editing and don't make a
  3222.                room so complex that the fps drops too low! Also
  3223.                remember that others may be using a slower
  3224.                computer than you, so lets keep the fps high, ok?
  3225.  
  3226. Mouse          Yes, the little white cross is the mouse pointer,
  3227.                no it doesn't change color according to the 'grid
  3228.  
  3229.                locked' status, and yes, you move it with the
  3230.                mouse :)
  3231.  
  3232. Also, sprites displayed in blue (palette 1, change via [Alt]-[P])
  3233. are only available in multiplayer mode.
  3234.  
  3235. 6.2.2  [The mouse]
  3236.  
  3237. Again, you'll be spending your time with the right hand on the
  3238. mouse and the left on the keyboard.
  3239.  
  3240. 6.2.2.1  [Move]
  3241.  
  3242. Believe it or not, but moving the mouse actually changes the
  3243. mouse cursors position on the screen, enabling you to point at
  3244. anything you can see! Yes!
  3245.  
  3246. 6.2.2.2  [Left button]
  3247.  
  3248. Pointing the mouse at something, pressing the left mouse button
  3249. and keeping it pressed keeps that object selected, even if the
  3250. mouse pointer somehow strays from it (for example, when changing
  3251. the height of an object).
  3252.  
  3253. 6.2.2.3  (Right button)
  3254.  
  3255. ## Anybody know if the right mouse button serves any useful
  3256. function? I know of none (in 3D mode!).
  3257.  
  3258. 6.2.3  [The keyboard]
  3259.  
  3260. Lots of funny buttons for you to press!
  3261.  
  3262. 6.2.3.1  [Cursor keys]
  3263.  
  3264. Moves the player around, just like in the game. Press [LeftShift]
  3265. to speed up your movement.
  3266.  
  3267. 6.2.3.2  [CapsLock]
  3268.  
  3269. This key cycles through the three different movement modes
  3270. available to you:
  3271.  
  3272. Game Mode      Here you walk around like the player in the game.
  3273.                Use [A] to jump and [Z] to duck.
  3274.  
  3275. Height Lock    In this mode, you're always at the same height
  3276.                above the floor of the current sector. Use [A] and
  3277.                [Z] to raise and lower yourself.
  3278.  
  3279. Float Mode     You're completely unaffected by the floor and can
  3280.                smoothly change your height with the [A] and [Z]
  3281.                keys.
  3282.  
  3283. 6.2.3.3  [PgUp and PgDn]
  3284.  
  3285. Allow you to change the height of the object you're pointing at:
  3286. raise or lower ceilings, floors and sprites.
  3287. If you point at a wall, the corresponding ceiling will change
  3288. height.
  3289.  
  3290. Press [Ctrl]-[PgUp]/[PgDn] to move a sprite exactly to the
  3291. ceiling/floor.
  3292.  
  3293. 6.2.3.4  [V]
  3294.  
  3295. Change the selected tile or sprite.
  3296.  
  3297. 6.2.3.5  [Alt-V]
  3298.  
  3299. This is supposed to change something called a 'Groudraw height
  3300. map'. To me it just looks like it's selecting a tile as well. ##
  3301. Anybody knows what's going on here?
  3302.  
  3303. 6.2.3.6  [NumCursor keys]
  3304.  
  3305. On a wall, these keys change the size of the texture. This means
  3306. you're able to re-use textures for many different things, scaling
  3307. them exactly as needed (perhaps showing only a certain part).
  3308.  
  3309. Using these keys on a sprite will change the size of the sprite.
  3310. Very useful indeed.
  3311.  
  3312. Finally, the textures on a ceiling or floor can only be resized
  3313. using [E], so these keys just scroll the texture, enabling you to
  3314. align it accurately.
  3315.  
  3316. 6.2.3.7  [Shift-NumCursor keys]
  3317.  
  3318. Usable only on walls and ceiling/floors (sprites will ignore the
  3319. shift key and resize instead), these keys shift the offset of the
  3320. texture.
  3321. In effect you're moving the texture without resizing it.
  3322.  
  3323. 6.2.3.8  [/]
  3324.  
  3325. Used to reset a texture or sprite to normal (undoes the effects
  3326. of [Shift]-[NumCursor] and [NumCursor]).
  3327.  
  3328. 6.2.3.9  [.]
  3329.  
  3330. This key will try to auto-align all walls to the right of the
  3331. selected wall if they are using the same texture.
  3332. Caution: this has caused my system to crash on several occasions
  3333. - - save before you try this!
  3334.  
  3335. 6.2.3.10  [F]
  3336.  
  3337. Flips the selected floor/ceiling 8 possible ways. Walls and
  3338. sprites can only be flipped 4 ways.
  3339.  
  3340. 6.2.3.11  [Alt-F]
  3341.  
  3342. Determines whether the ceiling or floor texture aligns to the
  3343. first wall. This is especially useful for tilted floors.
  3344.  
  3345. 6.2.3.12  [P]
  3346.  
  3347. Toggle parallaxing on floors or ceilings. This only works well on
  3348. some textures (like 89..96, the cityscapes).
  3349.  
  3350. 6.2.3.13  *Ctrl-P*
  3351.  
  3352. Change the type of parallaxing used (three different types are
  3353. available).
  3354.  
  3355. 6.2.3.14  [G]
  3356.  
  3357. This is supposed to give a floor height-mapping. ## Like
  3358. [Alt]-[V], this doesn't seem to work for me.
  3359.  
  3360. 6.2.3.15  [E]
  3361.  
  3362. Toggles the tile size of floors/ceilings between normal and
  3363. enlarged.
  3364.  
  3365. 6.2.3.16  [R]
  3366.  
  3367. Toggle floor/ceiling tiles between relative and absolute
  3368. alignment.
  3369. In absolute alignment, floor and ceiling tiles are aligned to the
  3370. grid itself (thus allowing you to align them neatly to the usual
  3371. rectangular floors).
  3372.  
  3373. In relative alignment mode, the tiles align themselves to the
  3374. first wall (set with [Alt]-[F] in 2D mode). This is very nice for
  3375. odd-shaped, rotated, or moving sectors.
  3376.  
  3377. 6.2.3.17  [O]
  3378.  
  3379. Changes the wall texture orientation. A wall texture can start
  3380. either on the floor or on the ceiling. This is particularily
  3381. useful when building windows (make sure that the wall above and
  3382. below looks ok) or DOOM-type doors (make sure the texture moves
  3383. with the door).
  3384.  
  3385. 6.2.3.18  [B]
  3386.  
  3387. Toggle the 'block movement' flag on a wall. Usually used for
  3388. glass panes, force fields or sector boundaries, as a one-sided
  3389. wall always blocks movement anyway.
  3390.  
  3391. 6.2.3.19  [T]
  3392.  
  3393. Toggle the transparency flag on a wall or sprite.
  3394. There are three stages: slightly transparent, very transparent,
  3395. and opaque (normal). Of course, this only works on two-sided
  3396. walls.
  3397.  
  3398. Try it on monsters to create ghosts - pity it doesn't work on
  3399. players >;)
  3400.  
  3401. 6.2.3.20  [M]
  3402.  
  3403. Point at the floor below a sector edge and press [M] to create a
  3404. maskable wall. In effect, you're giving the sector edge a two-
  3405. sided wall which is most often used in creating glass panes.
  3406.  
  3407. 6.2.3.21  [Shift-M]
  3408.  
  3409. Make a maskable wall just like with [M], but only on one side.
  3410. This way you're able to create walls where you can only see
  3411. through in one direction, for example.
  3412.  
  3413. A window created this way will only show you the glass texture
  3414. from one side. And you won't be able to shoot through it from the
  3415. wrong side, either: it will be marked with floating bullet-holes,
  3416. instead.
  3417. When shattering it from the visible side, the bullet holes stay
  3418. in the air...
  3419. 6.2.3.22  [1]
  3420.  
  3421. Create 1 one-way wall. Only possible on a two-sided line, this
  3422. command will create a wall which only has a texture on one side.
  3423.  
  3424. Monsters can see through this wall and will attack you, walking
  3425. through the wall (if they're allowed to).
  3426.  
  3427. 6.2.3.23  [2]
  3428.  
  3429. If a wall consists of two sections (a top and a bottom one, like
  3430. you find with windows), pressing [2] will allow you to separately
  3431. edit the upper and lower texture.
  3432.  
  3433. 6.2.3.24  [H]
  3434.  
  3435. Toggles the hitscan bit on a two-sided wall. If this bit is set
  3436. (default is off), the wall will react to bullets (shattering if
  3437. it is glass, showing bullet holes if it is normal).
  3438.  
  3439. If you set the hitscan bit on a sprite, the sprite will block
  3440. bullets even if it doesn't block you. However, turning off the
  3441. hitscan bit on a destructable sprite (like a bottle) has no
  3442. effect.
  3443.  
  3444. 6.2.3.25  [TAB]
  3445.  
  3446. This remembers the current object (sprite or texture) and places
  3447. it in the buffer.
  3448. According to the Build documentation, it not only remembers the
  3449. tile number, shade and texture setup, but also the cstat.
  3450. Whatever that is.
  3451.  
  3452. Some text appears, showing you what you have just selected: name,
  3453. lo- and hi-tag, number of times used in map (only if you point at
  3454. it), and MEM (amount of low RAM free?). If the graphic toggle is
  3455. on (use [']-[G]), an image of the selected texture is shown as
  3456. well.
  3457. Press [TAB] again on the same texture to turn that display off.
  3458.  
  3459. Use one of the keys below to paste the object back. Note that you
  3460. have to use the big [Enter] key, not the one at the numeric
  3461. keypad:
  3462.  
  3463. 6.2.3.26  [Enter]
  3464.  
  3465. Copy the selected object to whatever you're currently pointing at
  3466. (meaning you can replace sprites and textures this way). Shade
  3467. and (for textures) the x-repeat values are copied as well, while
  3468. the y-repeat is modified to make the pixels square.
  3469.  
  3470. 6.2.3.27  [Ctrl-Enter]
  3471.  
  3472. Copies the selected texture to all walls in a closed loop.
  3473. Use this to change the appearance of a whole room at once.
  3474.  
  3475. 6.2.3.28  [Shift-Enter]
  3476.  
  3477. Copy the shade value only.
  3478.  
  3479. 6.2.3.29  [Ctrl-Shift-Enter]
  3480.  
  3481. This function auto-shades a sector:
  3482.  
  3483. Make one of the walls the lightest shade and another one the
  3484. darkest one. Point at the lightest wall and press
  3485. [Ctrl]-[Shift]-[Enter] - all walls on the loop will be smoothly
  3486. shaded.
  3487.  
  3488. Somehow, this function never worked very well for me: wall
  3489. shading is very harsh and non-smooth, so I usually shade by hand.
  3490.  
  3491. 6.2.3.30  ['-ENTER]
  3492.  
  3493. Pressing ['] and [Enter] copies the tile only, leaving everything
  3494. else (especially the shade!) as it is.
  3495.  
  3496. 6.2.3.31  ['-R]
  3497.  
  3498. Toggles the FPS display on and off.
  3499. This is only good for taking screenshots, as the FPS is one of
  3500. the most important considerations in level design.
  3501.  
  3502. 6.2.3.32  ['-D]
  3503.  
  3504. This is supposed to change the skill mode, but on my system only
  3505. the text '(something something) not found' flashes up and nothing
  3506. changes - skill mode stays at 1.
  3507.  
  3508. 6.2.3.33  ['-W]
  3509.  
  3510. This toggles the sprite display between several modes:
  3511.  
  3512. Display all Sprites
  3513. No Effectors (Sprites 1..10 are not displayed)
  3514. No Actors (No players or monsters are shown)
  3515. None (No effectors or actors shown)
  3516.  
  3517. This is nice if you want to do some changes to the map without
  3518. being bothered by monster images.
  3519.  
  3520. 6.2.3.34  ['-G]
  3521.  
  3522. This toggles the display of the selected texture (via [TAB]) on
  3523. and off.
  3524.  
  3525. 6.2.3.35  ['-Y]
  3526.  
  3527. ## Listed as 'Toggle purple background', I haven't found out what
  3528. it does yet.
  3529.  
  3530. 6.2.3.36  ['-T]
  3531.  
  3532. Allows you to change the lo-tag of the selected object.
  3533.  
  3534. 6.2.3.37  [-H]
  3535.  
  3536. Allows you to change the hi-tag of the selected object.
  3537.  
  3538. 6.2.3.38  ['-S]
  3539.  
  3540. Allows you to directly type a shade value for the selected
  3541. object.
  3542. Very nice for setting the shade on goodies to 128 (= -128, as 127
  3543. is max. shade and you can't enter negative numbers) to make them
  3544. very visible from far away.
  3545.  
  3546. 6.2.3.39  ('-V)
  3547.  
  3548. Changes the visibility of a sector (how fast it darkens with
  3549. distance).
  3550.  
  3551. 6.2.3.40  ['-C]
  3552.  
  3553. Changes the global shade of a sector to the shade of the object
  3554. currently selected.
  3555.  
  3556. 6.2.3.41  ['-Del]
  3557.  
  3558. ## Sets the cstat to 0. Anybody know what a cstat is?
  3559.  
  3560. 6.2.3.42  *Alt+-*
  3561.  
  3562. Changes the visibility of the current sector.
  3563.  
  3564. 6.2.3.43  *CtrlAlt+-*
  3565.  
  3566. Changes the global visibility for the whole map (careful with
  3567. this!).
  3568.  
  3569. 6.2.3.44  [F1]
  3570.  
  3571. Shows a short help menu, listing the less-commonly used commands.
  3572. Pres [F1] to remove it again.
  3573.  
  3574. 6.2.3.45  [F2]
  3575.  
  3576. Increments the players x-position by one unit. Seems like a
  3577. useless feature and my guess is that [F1] decremented the players
  3578. position before 3DRealms turned it into a help button.
  3579.  
  3580. 6.2.3.46  [F3]
  3581.  
  3582. Decrements the players y-position by one unit.
  3583.  
  3584. 6.2.3.47  [F4]
  3585.  
  3586. Increments the players y-position by one unit.
  3587.  
  3588. 6.2.3.48  [F5]
  3589.  
  3590. Nukes the 3D display, forcing you back to 2D.
  3591. Strange function indeed :)
  3592.  
  3593. My guess is that the system tries to display the same text it
  3594. does in 2D mode and messes up the graphics along the way.
  3595.  
  3596. 6.2.3.49  [F6]
  3597.  
  3598. Same as [F5].
  3599.  
  3600. 6.2.3.50  [F7]
  3601.  
  3602. Same as [F5].
  3603.  
  3604. 6.2.3.51  [F8]
  3605.  
  3606. Same as [F5].
  3607.  
  3608. 6.2.3.52  [F9]
  3609.  
  3610. Rotates the players view left a bit.
  3611.  
  3612. 6.2.3.53  [F10]
  3613.  
  3614. Rotates the players view right a bit.
  3615.  
  3616. 6.2.3.54  (F11)
  3617.  
  3618. Changes the gamma correction (makes the screen lighter).
  3619. This is not terribly useful, as the settings aren't saved and the
  3620. gamma seems to reset when moving between some sectors.
  3621.  
  3622. 6.2.3.55  [F12]
  3623.  
  3624. Takes a .PCX screen shot.
  3625.  
  3626.  
  3627. 6.3  Typical mistakes to avoid
  3628.  
  3629.  
  3630. This section contains, in no particular order, common errors
  3631. which you should avoid:
  3632.  
  3633. 6.3.1  Crossed lines
  3634.  
  3635. By this I mean bounding lines from the same sector crossing each
  3636. other. While the game will allow this, it usually looks bad.
  3637.  
  3638. 6.3.2  Overlaying lines
  3639.  
  3640. Overlaying lines very often leads to mysterious graphics glitches
  3641. (a door texture suddenly spilling onto the floor is a typical
  3642. example).
  3643. Rather place the lines very close to each other (using Grid lock
  3644. off).
  3645.  
  3646. 6.3.3  (Hall Of Mirrors)
  3647.  
  3648. The Hall Of Mirrors (HOM) is caused by a missing texture and is
  3649. only really possible if BUILD is about to crash or you converted
  3650. a DOOM map via WAD2MAP.
  3651.  
  3652. 6.3.4  (Door side tracks)
  3653.  
  3654. Make sure the side tracks of doors don't move up with the door if
  3655. building a DOOM-type door. Use [O].
  3656.  
  3657. 6.3.5  (Unaligned Textures)
  3658.  
  3659. Aaargh! Unaligned textures are one of the most ugly design errors
  3660. around, and BUILD makes it so easy to avoid them! Use [.] a lot,
  3661. and look at all the corners to make sure the textures fit.
  3662.  
  3663. 6.3.6  (Missing Player Starts)
  3664.  
  3665. Make sure there are at least 7 co-op and 7 DukeMatch player
  3666. starts in your map (the 8th one in each case is the normal player
  3667. starting point).
  3668.  
  3669.  
  3670.  
  3671.  
  3672.  
  3673.  
  3674.  
  3675.                             Chapter 7
  3676.  
  3677.                             How to...
  3678.  
  3679.  
  3680. This chapter is intended as a cookbook: how to create different
  3681. effects.
  3682. If you find out something new, please let me know and I'll add it
  3683. here.
  3684.  
  3685.  
  3686. 7.1  Extracting the original maps
  3687.  
  3688.  
  3689. It's a very good idea to extract the original maps for Duke3D and
  3690. see how 3DRealms did things. It has the additional effect of
  3691. making you realize just how much work is in these levels :)
  3692.  
  3693. The command
  3694. KEXTRACT DUKE3D.GRP *.MAP
  3695. will extract all map files from Duke's group file.
  3696.  
  3697.  
  3698. 7.2  Abbreviations
  3699.  
  3700.  
  3701. In order to easily describe tags, sector effectors and the like,
  3702. I use some abbreviations:
  3703.  
  3704. Bomb           A sprite with the tile number 1247 (yellow
  3705.                gasbottle), x-shrunken as narrow as possible. It
  3706.                is intangible to the player, but blows up when
  3707.                triggered.
  3708.  
  3709. [x,y]          The tags of a sprite or wall: x is the hi-tag, y
  3710.                the lo-tag.
  3711.                Example: [0,34] describes a hi-tag of 0 and a lo-
  3712.                tag of 34.
  3713.  
  3714. (x)            Tile number (refers to sprites, too).
  3715.                Example: (621) is the camera sprite.
  3716.  
  3717. Controller     A special sprite (tile numbers 1..10) which is not
  3718.                shown at game time and controls the environment in
  3719.                some way:
  3720.  
  3721. S              Sector effector
  3722.                Example: S [100,256] means to insert a Sector
  3723.                effector with the hi-tag 100 and the lo-tag 256.
  3724.  
  3725. A              Activator
  3726.  
  3727. T              Touchplate
  3728.  
  3729. L              Locked activator
  3730.  
  3731. M              Music and SFX
  3732.  
  3733. L+             Locator
  3734.  
  3735. C              Cycler
  3736.  
  3737. D              Master switch
  3738.  
  3739. R              Respawn
  3740.  
  3741. Sp             Speed
  3742.  
  3743.  
  3744. 7.3  (Player starting points)
  3745.  
  3746.  
  3747. Player starting points are marked by sprite number 1405.
  3748. You'll need to place at least 7 players (the player start
  3749. position is automatically included, so you don't have to set a
  3750. sprite there specifically for it).
  3751.  
  3752. Dukematch starting points have no tags.
  3753.  
  3754. Coop starting points have the tag [0,1].
  3755.  
  3756. 7.3.1  (Notes)
  3757.  
  3758.     *  As far as I know, you can place any amount of dukematch
  3759.        starting points.
  3760.        ## Anybody knows what happens with too many coop starting
  3761.        points?
  3762.  
  3763.  
  3764. 7.4  Glass panes
  3765.  
  3766.  
  3767. Glass panes are simply two-sided walls maskable walls (created by
  3768. pointing on the floor in front of a two-sided line and pressing
  3769. [M]) with the 'block movement' [B] and 'hitscan' [H] flags set.
  3770. The texture has to be glass (503).
  3771.  
  3772. 7.4.1  *Notes*
  3773.  
  3774.     *  To create unbreakable glass, simply use a glass sprite
  3775.        instead of the glass texture.
  3776.  
  3777.  
  3778. 7.5  *Invisible forcefield*
  3779.  
  3780.  
  3781. Often, you'll want to place an invisible forcefield someplace (it
  3782. ripples if hit, but doesn't damage the player).
  3783.  
  3784. Simply build a glass pane, using sprite 230 instead. This tile
  3785. can be made so transparent/dark as to be completely invisible.
  3786.  
  3787.  
  3788. 7.6  [Doorways]
  3789.  
  3790.  
  3791. A doorway is nothing but a sector connecting two other sectors.
  3792. Simply lower the roof a bit, align the textures (use [O] and [.])
  3793. and you're ready to go.
  3794.  
  3795. 7.6.0.1  Notes
  3796.  
  3797.     *  You can make arching doorways by splitting the doorway
  3798.        into several sectors and tilting the roof or even the
  3799.        floor.
  3800.  
  3801.  
  3802. 7.7  Windows
  3803.  
  3804.  
  3805. A window is simply a sector with a raised floor and a lowered
  3806. roof which has been inserted into a normal wall.
  3807.  
  3808. Follow these steps to insert a window into a standard wall (made
  3809. up of one-sided walls):
  3810.  
  3811.     *  We'll assume the wall goes from east to west.
  3812.  
  3813.     *  In 2D mode, split each of the lines making up the wall
  3814.        twice where you want the window to be, forming a rectangle
  3815.        of points.
  3816.  
  3817.     *  Connect these rectangles with lines; a new sector will be
  3818.        created. This is your window sector.
  3819.  
  3820.     *  Switch to 3D mode. Raise the floor a bit and lower the
  3821.        roof of the window sector until the window looks about
  3822.        right.
  3823.  
  3824.     *  If you want, insert a glass pane in the window sector.
  3825.        It'll look especially good if you split the window sector,
  3826.        adding the glass in the exact middle of the window sector
  3827.        instead of on the edge.
  3828.  
  3829.     *  Align the textures. You can auto-align by pointing to the
  3830.        left-most wall and pressing [.].
  3831.  
  3832.  
  3833. 7.8  (Air ducts)
  3834.  
  3835.  
  3836. Air ducts are just sprites in fron of holes in the wall. They
  3837. will break automatically.
  3838.  
  3839. 7.8.1  (Notes)
  3840.  
  3841.     *  Useful sprites are 407 (rotating fan) and 595 (metal
  3842.        grate).
  3843.  
  3844.     *  Make the duct itself nice and narrow, about as wide as the
  3845.        grid at maximum size (1024 units or 256 pixels).
  3846.  
  3847.     *  For the duct inside, you can use the textures 342 and 343.
  3848.        Use 341 for a hole broken in the duct.
  3849.  
  3850.     *  If the above textures are used, the air duct sound is
  3851.        created automatically.
  3852.  
  3853.  
  3854. 7.9  Angled surfaces
  3855.  
  3856.  
  3857. To tilt a sector surface (roof or ceiling), point at it and press
  3858. the '[' and ']' keys.
  3859. 7.9.1  (Notes)
  3860.  
  3861.     *  The surfaces will always use the first line of the sector
  3862.        as hinge. To set the first line, point at it in 2D mode
  3863.        and press Alt-[F].
  3864.  
  3865.     *  To undo your changes, press [/].
  3866.  
  3867.     *  Use RightShift-'[' or ']' for small changes and
  3868.        LeftShift-'[' or ']' for very small changes.
  3869.  
  3870.  
  3871. 7.10  Secret places
  3872.  
  3873.  
  3874. To mark a sector as secret, just tag it [0,32767]. A player will
  3875. be credited for finding it as soon as the sector is entered.
  3876.  
  3877.  
  3878. 7.11  Multiplayer sprites
  3879.  
  3880.  
  3881. To make an object appear only in multiplayer (coop or DM) play,
  3882. use Alt-P to give it a palette of 1.
  3883.  
  3884.  
  3885. 7.12  Level-end button
  3886.  
  3887.  
  3888. Also called the nukebutton, this sprite (142) is used to end the
  3889. level.
  3890. Tag it [0,x], where x can be:
  3891.  
  3892. 32767          End level, go to status screen and then on to the
  3893.                next level.
  3894.  
  3895. 1..11          End level, go to level 1..11
  3896.                (eg. [0,10] would take the player to the (secret)
  3897.                level 10).
  3898.  
  3899. 7.12.1  Notes
  3900.  
  3901.     *  To get the secret-level color on the nukebutton, set its
  3902.        palette to 14.
  3903.  
  3904.  
  3905. 7.13  Level-end sector
  3906.  
  3907.  
  3908. Tag a sector [0,65535] to end the level when a player enters this
  3909. sector.
  3910.  
  3911.  
  3912. 7.14  Cameras
  3913.  
  3914.  
  3915. You can place cameras around the map, which will relay an image
  3916. to one or more viewscreens.
  3917.  
  3918. 7.14.1  (Setup)
  3919.  
  3920. The security network consists of three objects:
  3921.  
  3922. Channels       A channel transports the video data from the
  3923.                camera(s) to the viewscreens. It is just a number.
  3924.  
  3925. Cameras        (621) [Mobility,Channel]
  3926.                They have to be sprites, and can be placed
  3927.                anywhere in a room, facing in any direction. Using
  3928.                the lo-tag, you can even set the camera mobility:
  3929.                higher numbers allow the camera to move through a
  3930.                wider arc.
  3931.                Some example numbers:
  3932.                0: Immobile
  3933.                128: Very jerky (too short) - not recommended
  3934.                256: Normal panning
  3935.  
  3936. Viewscreens    (502) [Channel,0]
  3937.                Viewscreens have to be sprites, too.
  3938.  
  3939. 7.14.2  *Notes*
  3940.  
  3941.     *  The camera shade controls the down-angle: 0 is horizontal,
  3942.        -80 is most common, -128 is maximum down.
  3943.  
  3944.     *  If several cameras share a channel, the viewscreen
  3945.        connected to this channel can cycle through all connected
  3946.        camera views.
  3947.  
  3948.     *  It is advisable to hide the viewscreen behind a harmless
  3949.        forcefield (230), to cause the well-known purple circles
  3950.        when it's being shot at.
  3951.  
  3952.     *  Mobile cameras shouldn't be flipped, as the animation
  3953.        isn't flipped as well.
  3954.  
  3955.     *  The angle of the camera should point into the iddle of the
  3956.        desired panning arc. The arc angle is easily calculated:
  3957.        90x = 512.
  3958.  
  3959.     *  Don't place the cameras too close to the walls.
  3960.  
  3961.  
  3962. 7.15  (Demo cameras)
  3963.  
  3964.  
  3965. Demo cameras can be placed anywhere and will automatically film
  3966. duke from the outside when recording a demo. Neat.
  3967.  
  3968. 7.15.1  (Setup)
  3969.  
  3970. The camera is just an S[ViewDistance,27]. Don't use the sprite
  3971. itself.
  3972.  
  3973. 7.15.2  *Notes*
  3974.  
  3975. A ViewDistance of 7000 works fine.
  3976.  
  3977.  
  3978. 7.16  Blastable walls (user control)
  3979.  
  3980.  
  3981. Such walls can be blown up by detonating something close to them
  3982. (a pipebomb, RPG, etc).
  3983.  
  3984. 7.16.1  Setup
  3985.  
  3986.     *  First build the wall with the hole already in it (usually
  3987.        consisting of several sectors with angled floors and
  3988.        ceilings).
  3989.  
  3990.     *  In each of these sectors, place an S [Channel,13].
  3991.        On the wall to be blasted, place a (possible semi-
  3992.        transparent) crack [Channel,0] (546-549), facing the
  3993.        player. Fire extinguishers (916) can be used, too.
  3994.  
  3995.     *  If you want, place bombs on both sides of the wall for
  3996.        realism [Channel,DelayUntilExplosion]. A delay of 8 is
  3997.        very short, while 2000 takes ages before it explodes.
  3998.  
  3999. 7.16.2  *Notes*
  4000.  
  4001.     *  A wall with a crack on each side will blow ok, but the
  4002.        other crack will remain hanging in mid-air.
  4003.  
  4004.     *  Blastable walls retain no bullet holes until they blow.
  4005.  
  4006.     *  Here the first line of a sector is important again - the
  4007.        floor and ceiling are moved together until the first wall
  4008.        sides touch. So if your wall shows some triangular holes,
  4009.        this is where to look: make sure your first walls (set
  4010.        with Alt-F4) are the lowest ones.
  4011.  
  4012.     *  If you give the crack a palette number of 1, it can only
  4013.        be blown in multiplayer games.
  4014.  
  4015.     *  It might also be a good idea to create a wall with a
  4016.        nicely blasted hole in it and cover it with a nicely solid
  4017.        wall, thin as paper. Then blast this thin wall completely
  4018.        away, revealing the hole - this is often easier than
  4019.        laborously building a hole made up of dozens of sectors,
  4020.        each with its own sector effector...
  4021.  
  4022. 7.16.3  [Tips]
  4023.  
  4024.     *  Use texture 852 (blasted concrete) on the inside of the
  4025.        hole.
  4026.  
  4027.     *  Carefully align the wall textures. Especially the sideways
  4028.        alignment is important, as the wall looks real bad if this
  4029.        is not done properly - use the [.] key.
  4030.  
  4031.  
  4032. 7.17  Blastable walls (triggered)
  4033.  
  4034.  
  4035. The work just like user-controlled blastable walls, except that
  4036. they can only be blown by program control, not by the user.
  4037. They are triggered by a T [0,Channel], and you can even add a
  4038. time-delay from the moment T is activated to the explosion of the
  4039. wall.
  4040.  
  4041. 7.17.1  Setup
  4042.  
  4043.     *  First build the hole just as outlined above.
  4044.        However, you won't need to place a crack.
  4045.  
  4046.     *  In just one of the hole sectors, add a D [Delay,Channel].
  4047.        Delay ranges from 0 to 255, 255 being longest.
  4048.     *  Place at least a bomb [Channel, Delay] in the same sector
  4049.        as D. Delay ranges from 8 (blow right away) to over 2000
  4050.        (take ages, can be used for nasty traps) with typical
  4051.        values being 8,16 or 32.
  4052.        For realism, place some of these on both sides of the wall
  4053.        as well.
  4054.  
  4055.     *  Place a T [0,Channel] in any sector. It will go off as
  4056.        soon as the player enters the sector.
  4057.  
  4058. 7.17.2  Notes
  4059.  
  4060.     *  You can blow several walls open simultaneously, but don't
  4061.        use different delays - the world shakes, but the holes
  4062.        only appear when the highest-numbered D blows.
  4063.  
  4064.  
  4065. 7.18  Conveyor Belts
  4066.  
  4067.  
  4068. Conveyor belts are sectors which will transport any sprite on
  4069. them in a certain direction.
  4070.  
  4071. 7.18.1  Setup
  4072.  
  4073.     *  S[0,24] in the conveyor belt sector, facing in the
  4074.        direction the belt should move.
  4075.  
  4076.     *  Optionally, add a Sp[0,BeltSpeed] to change the belts
  4077.        speed.
  4078.  
  4079. 7.18.2  [Notes]
  4080.  
  4081.     *  You might have to rotate the sectors floor to make it look
  4082.        right - I've had a belt going one way and the texture
  4083.        scrolling another way...
  4084.  
  4085.     *  To create running water, just set the sector tag to [0,1].
  4086.  
  4087.     *  Typical conveyor belt tile is (1156).
  4088.  
  4089.  
  4090. 7.19  Mirrors
  4091.  
  4092.  
  4093. Mirrors are interesting in that they require a rather large room
  4094. behind the mirror (check E1L1 for example). This room must be
  4095. able to contain any part of the room visible in the mirror,
  4096. otherwise you'll get graphics glitches.
  4097.  
  4098. A mirror is in effect a masked wall (created by pointing on the
  4099. floor in front of a two-sided wall and pressing [M]) with the
  4100. texture 560.
  4101. Then make the mirror single-sided by pointing at it and pressing
  4102. [1].
  4103.  
  4104. Finally, point at it and press [B] and [H] to set the 'block
  4105. movement' and 'hittable' flags.
  4106.  
  4107. 7.19.1  *Notes*
  4108.  
  4109.     *  You can make the mirror unbreakable by now setting the
  4110.        'block movement' and 'hittable' flags. It will still be
  4111.        broken by an explosion close to it, though.
  4112.     *  Mirrors have a range limit - if they're viewed from too
  4113.        far away, they'll default to showing a parallaxed sky
  4114.        texture.
  4115.  
  4116.     *  If the 'mirror room' is too small, weird graphic glitches
  4117.        can occur.
  4118.  
  4119.     *  Also, the 'mirror room' has to have the same floor/ceiling
  4120.        height as the room being viewed - you'll get glitches when
  4121.        jumping/ducking if it isn't.
  4122.  
  4123.     *  If you set clipping and walk through the mirror, you:
  4124.  
  4125.            -  will die if you leave the mirror room,
  4126.  
  4127.            -  get stuck if you deactivate clipping, and
  4128.  
  4129.            -  notice graphic glitches underneath the mirror
  4130.               (viewed from inside).
  4131.  
  4132.  
  4133. 7.20  *Garbage cans*
  4134.  
  4135.  
  4136. Garbage cans (1232) can spawn something else when shot - just set
  4137. its tag to [0,ObjectToSpawn]. You can't spawn every possible
  4138. object though (I tried toilets :), but things like shotgun ammo
  4139. (49) work well.
  4140.  
  4141. 7.20.1  *Notes*
  4142.  
  4143.     *  Rubbercans (1062) can't be made to spawn something, they
  4144.        always create rats. Although, of course, this can be
  4145.        changed in the GAME.CON file (line 204).
  4146.  
  4147.     *  A garbage can can spawn a garbage can :)
  4148.        This way you can also see that the default sprite size is
  4149.        too large: the spawned cans are quite a bit smaller than
  4150.        the original ones.
  4151.  
  4152.  
  4153. 7.21  *Revenge of the dancers*
  4154.  
  4155.  
  4156. When a dancer is shot, you can make an enemy appear. Just set the
  4157. dancer sprite to [Channel,0] and place one or more R
  4158. [SpriteToAppear,Channel] anywhere.
  4159.  
  4160. 7.21.1  *Notes*
  4161.  
  4162.     *  You can make lots of things appear, I've even had success
  4163.        with burning barrels (1240).
  4164.  
  4165.     *  If you try to spawn an invalid object (like another dancer
  4166.        or a sign), the respawn spark appears (including the
  4167.        sound), but nothing warps in. This might be used to faze
  4168.        players.
  4169.  
  4170.     *  A dancer can spawn a weapon, preferably in the same place
  4171.        as the dancer. This makes it look as if the woman was
  4172.        armed (wonder where she hid that Devastator).
  4173.  
  4174. 7.22  *Buzzing phones*
  4175.  
  4176.  
  4177. To have a phone buzz if the player tries to activate it, place a
  4178. switch (132) on the phone (967), tag it [174,278] and rotate it
  4179. away from the player to make it invisible.
  4180.  
  4181.  
  4182. 7.23  (Light switches)
  4183.  
  4184.  
  4185. Light switches turn the light in one or more sectors on and off
  4186. ('on' is the brightness of the S, 'off' is the original light
  4187. level).
  4188.  
  4189. 7.23.1  Setup
  4190.  
  4191.     *  Place a switch (eg 164) [0,Channel] sprite anywhere.
  4192.  
  4193.     *  The sectors to light up need an S [Channel,12].
  4194.  
  4195. 7.23.2
  4196.  
  4197.     *  You can use several switches on the same channel, they
  4198.        operate simultaneously.
  4199.  
  4200.     *  Switches work just fine if used on their own - perhaps
  4201.        this could be used by players to communicate?
  4202.  
  4203.     *  The hitag of the switch controls the sound the switch
  4204.        makes on activation. 0 is the normal 'click', but try the
  4205.        others...
  4206.  
  4207.  
  4208. 7.24  [Permanently rotating sector (gears)]
  4209.  
  4210.  
  4211. You can set up a sector to keep rotating around a midpoint, like
  4212. the gears in E1L3.
  4213.  
  4214. 7.24.1  [Setup]
  4215.  
  4216. First, build your sector. If the floor is to be visible, make
  4217. sure that you've set the texture alignment to 'relative' (use
  4218. [R]) so it rotates with the sector.
  4219.  
  4220. You'll need these tags:
  4221.  
  4222. S              [Channel,0]
  4223.                Defines a rotating sector.
  4224.  
  4225. S              [Channel,1]
  4226.                Defines the sector rotating axis. The direction
  4227.                defines the rotation: up is clockwise, down is
  4228.                counterclockwise.
  4229.  
  4230. Sp             [0,Speed]
  4231.                Default rotation is rather fast, so you might want
  4232.                to add an Sp[0,64] for slower movement.
  4233.  
  4234. M              [HearingDistance,SoundNumber]
  4235.                The distance obviously depends on the size of your
  4236.                rotating sector - try 8000. Good SoundNumbers to
  4237.  
  4238.                use are 87 (grinding gears) or 89 (machine at
  4239.                work).
  4240.  
  4241. 7.24.2  [Notes]
  4242.  
  4243.     *  The two S must be on top of each other, as the sector will
  4244.        behave strangely otherwise. I've had gears rotating around
  4245.        an arbitrary midpoint causing a HOM when moving over you.
  4246.  
  4247.     *  M is usually placed on the pivot point, too.
  4248.  
  4249.     *  A gear will pick you up if it sweeps towards you. To make
  4250.        pushing/squashing gears, raise the floor of the rotating
  4251.        sector all the way up to the ceiling.
  4252.  
  4253.  
  4254. 7.25  Doors
  4255.  
  4256.  
  4257. Ignoring simple doorways, real doors come in several flavours,
  4258. consisting of one or more moving sectors, sector tags and some
  4259. controllers.
  4260. Note that all controllers must be inside the door sector(s), not
  4261. right on the edge (turn off grid locking ond place it real close
  4262. to the edge, if necessary).
  4263.  
  4264. 7.25.1  (Standard hinged)
  4265.  
  4266. A hinged door opens by rotation 90 degrees sideways.
  4267. The door sector [0,23] contains three special sprites:
  4268.  
  4269. S              [Channel,11]
  4270.                The location of the sector effector defines the
  4271.                rotation axis, the direction the rotation
  4272.                direction:
  4273.                up
  4274.                counterclockwise turn
  4275.                down
  4276.                clockwise turn
  4277.  
  4278. Sp             [0,Speed]
  4279.                Speed ranges from 8 (very slow) to over 1000 (real
  4280.                fast). ## I think you can leave this away for a
  4281.                default speed, but I'm not sure about this.
  4282.  
  4283. M              [Sound2,Sound1]
  4284.                Sound1 is the sound number to play when the door
  4285.                is opened, Sound2 when it's closed. Usually, these
  4286.                sounds will be the same.
  4287.  
  4288. 7.25.1.1  (Notes)
  4289.  
  4290.     *  Take care to set the ceiling texture to 'not relative'
  4291.        using [R], otherwise it'll rotate with the door.
  4292.  
  4293.     *  Make sure that the door doesn't rotate out of its original
  4294.        sector (for example, into a room with a higher ceiling) as
  4295.        the graphics will mess up. Thus the sector containing the
  4296.        door sector has to be large enough.
  4297.  
  4298.     *  You can open/close several doors simultaneously (building
  4299.        double doors, for example) by allocating each door the
  4300.        same channel.
  4301.  
  4302.     *  Do not attatch any part of the door to any other sector,
  4303.        the whole thing will twist (creating interesting effects,
  4304.        btw).
  4305.  
  4306.     *  Turn off grid locking [L] to position the S as close as
  4307.        possible to the edge of the door.
  4308.  
  4309. 7.25.2  *DOOM-type door, remote control*
  4310.  
  4311. A DOOM-type door is actually a thin sector of its own. It closes
  4312. by lowering its ceiling down onto the floor.
  4313. This door opens by remote control (a switch) by raising the
  4314. ceiling from the floor, delays a moment, and lowers the ceiling
  4315. onto the floor again, closing the passageway.
  4316.  
  4317. 7.25.2.1  Setup
  4318.  
  4319.     *  Switches (132) [0,Channel] can be placed anywhere. Must be
  4320.        sprites.
  4321.  
  4322.     *  The door sector [0,20] contains 4 controllers:
  4323.        M  [ClosedSound,MovingSound] (eg 0,167)
  4324.        Sp [0,Speed] (eg 0,88)
  4325.        S  [OpenDelayTime,Channel]
  4326.        A  [0,Channel]
  4327.  
  4328. 7.25.2.2  Notes
  4329.  
  4330.     *  Switches can be hidden by letting the sprites face the
  4331.        wall and adding another sprite facing the player on top of
  4332.        it (as done in the toilet of E1L2 with the blowdryer).
  4333.  
  4334.     *  If the door is half-open at game start, it will close
  4335.        automatically.
  4336.  
  4337.     *  Don't make OpenDelayTime (the time to wait after closing
  4338.        the door again) too short! A door with a value of 128 will
  4339.        close real quick. If the time passes before the door has
  4340.        fully opened, it will malfunction (could be used by
  4341.        design, though).
  4342.  
  4343. 7.25.3  DOOM-type door, local control
  4344.  
  4345. These work in the exact same way as the remote-controlled
  4346. version, but you don't need a switch to open them - just press on
  4347. the door itself.
  4348.  
  4349. Simply build the door as above, leaving the S and A controllers
  4350. out.
  4351.  
  4352. 7.25.4  (Sliding sideways)
  4353.  
  4354. While most doors simply move the floor or ceiling (aka DOOM-type
  4355. doors) or moving/rotating a sector, the sliding door is made up
  4356. of one-sided walls which are shrunk by a sector wrapped around
  4357. them.
  4358. A perfect example can be found in E1L3, just to the right of your
  4359. starting point.
  4360.  
  4361. Since I found that I'm no good at explaining this in words, allow
  4362. me to use some cheapo ASCII graphics to guide you through a
  4363. step-by-step design :)
  4364.  
  4365. We have a doorway where we want to insert a sliding door. It
  4366. shall slide into the left wall:
  4367.  
  4368. - ---------------*................*-----------------
  4369.                |                |
  4370.                |                |    Key: * Point
  4371.                |                |         . 2-sided wall
  4372.                |                |         | 1-sided wall
  4373.                |                |
  4374.                |                |
  4375.                |                |
  4376. - ---------------*................*-----------------
  4377.  
  4378. We start by adding a sector inside the doorway sector:
  4379.  
  4380. - ---------------*................*-----------------
  4381.                |                |
  4382.                *...............*|
  4383.                |               .|
  4384.                |               .|
  4385.                |               .|
  4386.                *...............*|
  4387.                |                |
  4388. - ---------------*................*-----------------
  4389.  
  4390. Note that the new sector goes nearly all the way across. I
  4391. usually try to avoid overlaying unrelated lines, as they can
  4392. cause ugly graphics glitches.
  4393. Give the new sector a tag of [0,25].
  4394.  
  4395. Next we simply extend the inner part of the left wall across,
  4396. forming the door itself:
  4397.  
  4398. - ---------------*................*-----------------
  4399.                |                |
  4400.             P1 *...............*|
  4401.             P2 *-------------\ .|
  4402.                               *.|
  4403.             P3 *-------------/ .|
  4404.             P4 *...............*|
  4405.                |                |
  4406. - ---------------*................*-----------------
  4407.  
  4408. The door has a triangular endpoint, you'll see why as we shift
  4409. points 2 and 3 (marked as P2 and P3 above) onto the points 1 and
  4410. 4 (marked as P1 and P4 in the sketch):
  4411.  
  4412. - ---------------*................*-----------------
  4413.                | L1             |
  4414.          P1/P2 *------------ ..*|
  4415.                              \ .|
  4416.                               *.|
  4417.                              / .|
  4418.          P3/P4 *------------...*|
  4419.                | L2             |
  4420. - ---------------*................*-----------------
  4421.  
  4422. And here's why it's triangular: so we still see a bit of the
  4423. sector below; we now insert some sector effectors into it:
  4424.  
  4425.     *  S[Channel,15]
  4426.  
  4427.     *  M[DoneSound,MovingSound]
  4428.  
  4429.     *  Sp[0,DistanceToOpen]
  4430.  
  4431. If you open the door now, the lines L1 and L2 (on the left) will
  4432. twist backwards. To avoid this, move P1/P2 and P3/P4 a bit to the
  4433. left, insert a point in L1 and L2 and move this point down (or in
  4434. P2s case, up) onto the line so you get this:
  4435.  
  4436. - ---------------*................*-----------------
  4437.                | L1             |
  4438.       P1/P2 *--*------------ ..*|
  4439.                              \ .|
  4440.                               *.|
  4441.                              / .|
  4442.       P3/P4 *--*------------...*|
  4443.                | L2             |
  4444. - ---------------*................*-----------------
  4445.  
  4446. Voila! Press against the door to open it.
  4447.  
  4448. Sorry about the ugly sketches, but the above is a lot easier to
  4449. understand than the gamboozle that was here in v0.4 of the FAQ :)
  4450.  
  4451. 7.25.4.1  (Notes)
  4452.  
  4453.     *  A typical sliding door texture is 447.
  4454.  
  4455.     *  Changing the heading of the sector effector produces
  4456.        interesting (and usually, buggy) results.
  4457.  
  4458. 7.25.5  Star Trek door
  4459.  
  4460. This door slides sideways, compressing its texture as it does so.
  4461. The door is activated by pressing against it.
  4462.  
  4463. 7.25.5.1  Setup
  4464.  
  4465. This door is very similar to the sliding door.
  4466. Let's assume your doorway goes from north to south and the star
  4467. trek door thus slides east/west:
  4468.  
  4469. * Create the sector containing the doorway.
  4470.  
  4471. * Using horizontal lines, split this sector into three sectors.
  4472.  
  4473. * Extend the doorway sectors walls into the middle sector of the
  4474. doorway, forming the doors themselves. Let the doors meet in the
  4475. middle.
  4476.  
  4477. * Now tag the middle sector: [0,9]
  4478.  
  4479. * Add two sprites to the middle sector:
  4480.      M[0,Sound] (eg. [0,259])
  4481.      Sp[0,OpeningSpeed] (eg. [0,64])
  4482.  
  4483. And that's all!
  4484.  
  4485. 7.25.5.2  [Notes]
  4486.  
  4487.     *  If you extend the middle sector straight to the east and
  4488.        west (like the sliding door), the door texture will be
  4489.        longer although part of it will be hidden. This will make
  4490.        sure that you can hardly see the compressing effect while
  4491.        the door opens.
  4492.  
  4493.     *  The door sound is played twice (bug). Thus my Star trek
  4494.        doors are always totally silent.
  4495.  
  4496. 7.25.6  Four-way door
  4497.  
  4498. These doors open in both directions (up/down and left/right) at
  4499. the same time when activated.
  4500.  
  4501. Simply build a star trek as above, but let the floor and ceiling
  4502. of the middle sector meet in the middle and give the middle
  4503. sector a tag of [0,26].
  4504.  
  4505. These doors look very nice indeed :)
  4506.  
  4507. 7.25.6.1  Notes
  4508.  
  4509.     *  It is possible to get these doors to misbehave: try
  4510.        triggering a low, long door again while it is already
  4511.        opening. The roof will start to close again while the
  4512.        walls are still opening.
  4513.        Now the door will be difficult to navigate: as the roof
  4514.        opens, the walls close and vise versa.
  4515.        Of course, this can be fixed by triggering the door again
  4516.        in quick succession, but it interesting to know.
  4517.  
  4518.     *  The above bug can be used for special doors - simply
  4519.        design the walls to be open at the start, and the door
  4520.        will react as above.
  4521.        You can get through it if you run, though.
  4522.  
  4523. 7.25.7  *Clamshell doors*
  4524.  
  4525. Clamshell doors split horizontally when opening - the top half
  4526. disappears into the ceiling, the bottom half into the floor.
  4527.  
  4528. Just build a DOOM-style door, but tag the door sector [0,22] and
  4529. make sure the floor and ceiling meet in the middle.
  4530.  
  4531. 7.25.8  Teeth doors
  4532.  
  4533. ## I've found some info on building teeth doors, but I didn't get
  4534. them to work. The BUILD docs say that teeth doors weren't tested
  4535. in the game and might make trouble in multi-play.
  4536.  
  4537. 7.25.9  Auto-closing doors
  4538.  
  4539. Simply add an S[DelayTime,10] in the door to auto-close.
  4540.  
  4541. 7.25.10  *Switch-controlled doors*
  4542.  
  4543. Every door can be opened via a switch as well:
  4544.  
  4545. Simply add a switch somewhere and tag it [ActivationSound,
  4546. Channel].
  4547.  
  4548. Inside the door, place two effectors:
  4549. S  [OpenDelayTime,Channel]
  4550. A  [0,Channel]
  4551.  
  4552. 7.26  *Shrinking sector (remote control)*
  4553.  
  4554.  
  4555. This will shrink a sector (for example a curtain) on the flick of
  4556. a switch. Pressing the switch again will regrow the sector.
  4557.  
  4558. 7.26.1  *Setup*
  4559.  
  4560.     *  Place one or more switches anywhere
  4561.        [ActivationSound,Channel].
  4562.  
  4563.     *  Inside the sector to shrink [0,27], place three
  4564.        controllers:
  4565.        S  [Channel,20] facing the movement direction.
  4566.        A  [0,Channel]
  4567.        Sp [0,OpeningDistance]
  4568.  
  4569. 7.26.2  *Notes*
  4570.  
  4571.     *  Don't open the sector too wide - it will move through the
  4572.        wall, creating ugly HOM effects.
  4573.  
  4574.     *  Have a look at the floor if a hanging sector moves - it
  4575.        looks strange. Use [R] to get rid of the effect.
  4576.  
  4577.  
  4578. 7.27  (Automatic cannon)
  4579.  
  4580.  
  4581. An automatic cannon will fire an object every 5 seconds in a
  4582. certain direction as soon as it's been activated by a
  4583. masterswitch.
  4584.  
  4585. 7.27.1  (Setup)
  4586.  
  4587. Place an S with [0,36], marking the shot spawn shot. Aim it
  4588. whereever you please.
  4589.  
  4590. Add an Sp[0,ObjectNumber] in the same sector. ObjectNumber is the
  4591. tile number of the object to fire from S.
  4592.  
  4593. Add a D[0,TriggerChannel] in the same sector. You can hook, for
  4594. example, a T[0,TriggerChannel] anywhere to start the gun up.
  4595.  
  4596. 7.27.2  (Notes)
  4597.  
  4598.     *  I've found the following objects to be possible ammo:
  4599.  
  4600.        1360          Psionic blast.
  4601.                      Aimed slightly down, and has a limited
  4602.                      range.
  4603.  
  4604.        1625          Laser.
  4605.  
  4606.        1636          Spit.
  4607.                      Aimed slightly down, and has a very limited
  4608.                      range. Makes no noise at all.
  4609.  
  4610.        1641          Freeze blast.
  4611.                      Always aimed at player, but has no effect on
  4612.                      him. Looks cool, though :)
  4613.  
  4614.        1650          Mortar.
  4615.  
  4616.                      The mortar ball drops down at a steep angle
  4617.                      and explodes on impact.
  4618.  
  4619.        2556          Shrink ray.
  4620.  
  4621.        2605          RPG.
  4622.                      Will always aim at player, regardless of aim
  4623.                      or LOS.
  4624.  
  4625.  
  4626. 7.28  (Lethal sectors)
  4627.  
  4628.  
  4629. To make a sector instantly lethal to the player (even in God
  4630. mode), parallax BIGORBIT as the ceiling.
  4631.  
  4632.  
  4633. 7.29  (Earthquakes)
  4634.  
  4635.  
  4636. Earthquakes have three effects:
  4637.  
  4638.     *  The screen shakes for about 4 seconds and the earthquake
  4639.        sound is played.
  4640.  
  4641.     *  Sectors can tilt.
  4642.  
  4643.     *  All SE[0,33] on the whole map spawn rocks and debris.
  4644.  
  4645. 7.29.1  (Setup)
  4646.  
  4647. Place an S[0,2] on every sector to tilt.
  4648. Place an D[0,TriggerChannel] in the same sector.
  4649. If you want, place S[0,33] anywhere on the map.
  4650.  
  4651. Earthquakes have to be triggered, for example with a
  4652. T[0,TriggerChannel] anywhere.
  4653.  
  4654. 7.29.2  (Notes)
  4655.  
  4656.     *  To tilt sectors, they have to be tilted on the map by a
  4657.        maximum of 4 clicks (you can tilt more, but it won't have
  4658.        any effect). Such sectors are shown flat at startup.
  4659.  
  4660.     *  You can put S[0,33] anywhere - they are triggered by any
  4661.        earthquake on the map. Try putting them slightly under the
  4662.        floor, or high in the air for special effects.
  4663.  
  4664.     *  The build docs claim that a sector will move in the S[0,2]
  4665.        direction during an earthquake, but I've never seen that.
  4666.  
  4667.  
  4668. 7.30  Elevators
  4669.  
  4670.  
  4671. Elevators come in two kinds: those where just the floor moves
  4672. (open elevator) and those where the ceiling moves as well (closed
  4673. elevator).
  4674.  
  4675. Both rely totally on sector tags: except for the sound, no
  4676. controllers are used.
  4677.  
  4678. 7.30.1  Setup
  4679.  
  4680. An elevator is simply a sector that moves from the nearest low
  4681. floor to the nearest high floor. Thus the only important thing
  4682. really is setting the floor heights of the adjacent sectors
  4683. properly.
  4684.  
  4685. Tag the sector according to the desired elevator type:
  4686.  
  4687. [0,16]         Open elevator
  4688.  
  4689. [0,18]         Closed elevator
  4690.  
  4691. 7.30.2  (Notes)
  4692.  
  4693.     *  You can set an elevator at the top or the bottom to start
  4694.        with, it doesn't make a difference. You can even set it at
  4695.        half-way.
  4696.  
  4697.     *  Elevators must be the right size. If the elevator seems to
  4698.        go on forever, the ceiling of the first room is too high -
  4699.        try fiddling with this or pressing [SpaceBar] in the game
  4700.        to reverse the elevators direction.
  4701.  
  4702.     *  There are two more sector tags available to elevators:
  4703.        [0,17] (open elevator) and [0,19] (closed elevator).
  4704.        They're supposed to control the starting position of the
  4705.        elevator, but _you_ do that already simply by placing the
  4706.        elevator at the desired starting height.
  4707.        ## Anybody know what's going on?
  4708.  
  4709.  
  4710. 7.31  (Remote-controlled Elevators)
  4711.  
  4712.  
  4713. Remote-controlled elevators are just like ordinary elevators,
  4714. except that they're operated via a switch somewhere (or several
  4715. switches, of course).
  4716.  
  4717. 7.31.1  (Setup)
  4718.  
  4719. To turn an ordinary elevator into a remote-controlled one, just
  4720. add an A[Channel,0] in the elevator sector and place switches
  4721. tagged [Channel,0] anywhere.
  4722.  
  4723.  
  4724. 7.32  Teleporters
  4725.  
  4726.  
  4727. Teleporters move players instantly between any two points.
  4728.  
  4729. 7.32.1  Setup
  4730.  
  4731. Teleporters are not sectors, just sector effectors. They do need
  4732. the floor tile 626, though.
  4733. S [Channel,7], facing is the same the arriving player should
  4734. face.
  4735.  
  4736. 7.32.2  (Notes)
  4737.  
  4738.     *  A teleporter without a floor tile 626 only act as
  4739.        receivers.
  4740.  
  4741.     *  A single teleporter without a destination will kill the
  4742.        player.
  4743.  
  4744.     *  If the S is off the ground, the teleporter is silent -
  4745.        useful for transporting players around the map without
  4746.        telling them about it (see E1L1, falling down the airduct,
  4747.        as an example).
  4748.  
  4749.     *  When using more than two teleporters on the same channel,
  4750.        you always land on the teleporter with the lowest sprite
  4751.        number. If teleporting from the lowest sprite number, you
  4752.        end u on the next-highest one.
  4753.  
  4754.     *  Teleporters don't work if you fly over them.
  4755.  
  4756.     *  Don't create a teleport sector with two of the walls being
  4757.        masked, blocked and hitable. It messes up.
  4758.  
  4759.     *  ## I've had strange effects when firing rockets into two
  4760.        teleporters set up in a line - the rocket reappeared
  4761.        _behind_ me, angled slightly to the right (thankfully :)
  4762.        Any ideas?
  4763.  
  4764.  
  4765. 7.33  Swimming pools
  4766.  
  4767.  
  4768. Swimming pools allow the player to jump into the water and dive
  4769. around under the water surface.
  4770.  
  4771. 7.33.1  Setup
  4772.  
  4773. A swimming pools consists of at least two sectors: one is the
  4774. room above the water, one is the room below it. An teleporter
  4775. secretly moves the player (and any other objects, like pipebombs)
  4776. between the levels as required.
  4777. The sectors sharing the water surface have to be the exact same
  4778. size and shape (of course).
  4779. The teleporter connecting them needs a unique channel number.
  4780.  
  4781. Above-water sector
  4782.                [0,1]
  4783.                S [Channel,7]
  4784.  
  4785. Below-water sector
  4786.                [0,2]
  4787.                S [Channel,7]
  4788.  
  4789. 7.33.2  (Notes)
  4790.  
  4791.     *  The floor/ceiling types for the water surface don't matter
  4792.        - all objects will always be transported correctly, water
  4793.        will splash, etc.
  4794.        This allows you to generate hidden traps, mud, etc.
  4795.  
  4796.     *  If you split a pool into several sectors (for example in
  4797.        order to create a pool with a shallow and a deep end), you
  4798.        have to split the above-water sector as well and add a
  4799.        sector effector in each new sector, each with it's own
  4800.        channel.
  4801.  
  4802.     *  Interesting things happen if the S is not exactly on the
  4803.        floor (use [Ctrl]-[PgDn]).
  4804.  
  4805.     *  Don't place a toilet underwater. While Duke can use it, he
  4806.        won't be able to surface anymore afterwards (bug).
  4807.  
  4808. 7.33.3  Tips
  4809.  
  4810.     *  Nothing to stop you from adding sector to the below-water
  4811.        sector, forming an underwater tunnel leading somewhere
  4812.        else; perhaps even surfacing in a different pool.
  4813.  
  4814.  
  4815. 7.34  (The Grapplers)
  4816.  
  4817.  
  4818. Grapplers are hooks descending from the ceiling which will pick
  4819. up objects (including players), transport them somewhere else and
  4820. drop them off again.
  4821.  
  4822. 7.34.1  (Setup)
  4823.  
  4824.     *  Add a crane pole [Channel,0] (1221) at the place where
  4825.        something is to be picked off. Place it in its own sector,
  4826.        as the crane will pick up anything that moves into this
  4827.        sector.
  4828.  
  4829.     *  Place the crane itself [Channel,0] (1222) at the
  4830.        destination point.
  4831.  
  4832. 7.34.2  (Tips)
  4833.  
  4834.     *  Grapplers don't pick up everything - I'm still fiddling
  4835.        around to try what is actually transported. Players are,
  4836.        as are monster corspes.
  4837.  
  4838.     *  As the crane move across the ciling, it's a good idea to
  4839.        place some kind of raised texture there (353 works well).
  4840.  
  4841.  
  4842. 7.35  (Overlapping sectors)
  4843.  
  4844.  
  4845. While DOOM was 2.5D because of its strictly 2D map, Duke3D is
  4846. 2.75D: while the data structure allows you to design several
  4847. sectors over each other, the graphic engine can't display more
  4848. than one ceiling and one floor over each other at a time.
  4849.  
  4850. This means you can't:
  4851.  
  4852.     *  Build a real bridge.
  4853.  
  4854.     *  Build two windows over each other.
  4855.  
  4856.     *  Build a house missing a wall, showing several floors over
  4857.        each other.
  4858.  
  4859. However, you can:
  4860.  
  4861.     *  Build a house where you can actually walk on the roof (as
  4862.        long as the house doesn't have windows).
  4863.  
  4864.     *  Build corridors crossing over and under each other.
  4865.  
  4866.     *  Build a house with two stories above each other, as long
  4867.        as the windows are on opposite sides of the house (and
  4868.        facing into different sectors).
  4869. Building overlapping sector is easy: Just draw the first sector,
  4870. move floor and ceiling where you want them, then draw another
  4871. sector overlapping the first one. Try it!
  4872.  
  4873. 7.35.1  (Notes)
  4874.  
  4875.     *  Two overlapping sectors cannot share a double-sided wall,
  4876.        but you can connect them with a separate sector (for
  4877.        example, a sloping tunnel or an elevator).
  4878.  
  4879.     *  Don't use overlapping sectors unless you have to! Editing
  4880.        them is very little fun indeed, as the 2D editor has
  4881.        trouble differentating between the sectors and it's hard
  4882.        joining sectors, etc.
  4883.  
  4884.     *  Note that you can build real 3D floors (walkable above and
  4885.        below) by using sprites rotated flat as floor (set the
  4886.        'blocking' flag). It's hard work, though - see the secton
  4887.        on bridges.
  4888.  
  4889.     *  Be careful when building overlapping sectors - monsters
  4890.        can get confused if theres somebody else in the
  4891.        overlapping room, and the sound will come from there as
  4892.        well. Use it sparingly.
  4893.  
  4894.  
  4895. 7.36  [Hiding switches]
  4896.  
  4897.  
  4898. To hide a switch, simply turn its facing towards the wall.
  4899.  
  4900. It is advisable to place a different sprite facing the player
  4901. over it, so he knows where to press (unless you _really_ want to
  4902. hide it).
  4903.  
  4904.  
  4905. 7.37  [Bridges and Shelves]
  4906.  
  4907.  
  4908. We actually cheat a bit in order to build a bridge: it's made up
  4909. of sprites!
  4910. Take the sprite, rotate it flat to the floor, mark it as 'blocks
  4911. movement' and then raise it into the air - you'll be able to walk
  4912. on and underneath it.
  4913.  
  4914. So far, I have found two typical bridge sprites, but any sprite
  4915. will work:
  4916.  
  4917. 513            Stone bridge, as found in E1L1.
  4918.  
  4919. 609            Metal bridge with holes in it, found in E1L6.
  4920.  
  4921. 7.37.1  *Notes*
  4922.  
  4923.     *  Building a solid-looking bridge (one having width)
  4924.        actually takes some time, as you have to mess around with
  4925.        the side walls too (also sprites) which can take ages.
  4926.  
  4927.     *  It's possible to make a bridge droppable (try using a
  4928.        pipebomb on the bridge in E1L1) by tagging the sprites
  4929.        [Channel,0].
  4930.        Bridges with the same channel with collapse
  4931.        simultaneously. I've tried channels 254 and 255 with good
  4932.        results.
  4933.     *  Keep in mind that the visible overlapping of sprites is
  4934.        calculated by looking at the sprite center. Thus if you
  4935.        place several small sprites (bottles) on a single large
  4936.        sprite (a wooden board), the board will overlap some
  4937.        bottles when viewed diagonally.
  4938.        Thus you should build larger objects of several small
  4939.        sprites.
  4940.  
  4941.     *  Especially bridges often suffer from the above problem.
  4942.        One way to (partly) fix this is to make all the sprites
  4943.        single-sided, with the sprites only visible from outside
  4944.        (press [1] and use [F],[<] and [>] to rotate them until it
  4945.        looks right).
  4946.  
  4947.     *  It's perfectly possible to create a multilevel building
  4948.        out of nothing but sprites. It's a hell of a job, however.
  4949.  
  4950.  
  4951. 7.38  (Minibosses)
  4952.  
  4953.  
  4954. In episodes two and three, the boss from episode one makes a
  4955. comeback, but in a 'light' version: he's smaller, more easily
  4956. killed and the level doesn't end when he's dead.
  4957.  
  4958. To create such a boss, just give him (2630) the palette number
  4959. 21.
  4960.  
  4961. 7.38.1  (Notes)
  4962.  
  4963.     *  As far as I know, it's not possible to spawn an enemy with
  4964.        a palette different to 0, so it seems that we can't spawn
  4965.        minibosses.
  4966.  
  4967.     *  No other minibosses are defined in the .CON files, thus I
  4968.        don't think that this trick also works on the other two
  4969.        bosses.
  4970.  
  4971.  
  4972. 7.39  {Morphing ramps}
  4973.  
  4974.  
  4975. 7.40  *Pulsing lights*
  4976.  
  4977.  
  4978. Pulsing lights are made up of several sectors which light up in
  4979. sequence, causing a 'running light' effect. This can be used
  4980. nicely to point a player towards an emergency exit, for example.
  4981.  
  4982. 7.40.1  *Setup*
  4983.  
  4984. You'll need several sectors in a line. Each of these sectors
  4985. should contain a C[0,LightTime] and an Sp[0,LightSpeed].
  4986.  
  4987. The sectors themselves should be dark and the C's light.
  4988.  
  4989. LightTime is the sequence in which the sectors light up (higher
  4990. ones first). A typical sequence would be 0,256,512,768,1024,...
  4991. This also controls how many sectors are lit at the same time.
  4992. With a difference of 200, the light pulse is about 4 sectors
  4993. long. With 400, it's 2 sectors (not as smooth).
  4994.  
  4995. LightSpeed is the speed at which the light pulse travels along
  4996. the sectors.
  4997. 7.40.2  *Notes*
  4998.  
  4999.     *  Nowhere is it written that the sectors have to be in a
  5000.        straight line or, indeed, any line at all.
  5001.  
  5002.     *  The C and Sp effectors have to face in the same direction
  5003.        or they won't work.
  5004.  
  5005.  
  5006. 7.41  (Vehicles)
  5007.  
  5008.  
  5009. Vehicles (simply a sector with a raised floor, a lowered roof or
  5010. both) can be set up to travel from their original position to a
  5011. pre-determined closed path, which they will follow.
  5012.  
  5013. 7.41.1  Setup
  5014.  
  5015.     *  The vehicle sector requires an S
  5016.        [LocatorNumberToStartAt,6]. The position of this
  5017.        controller determines the rotation center when turning,
  5018.        and its direction the facing of the vehicle.
  5019.        LocatorNumberToStartAt is usually 0 if you have only one
  5020.        vehicle on the route.
  5021.  
  5022.     *  Mark the route with several L+ [Pause,VisitingOrder].
  5023.        A Pause of 0 means smooth movement, a 1 means a short
  5024.        pause at the _next_ L+.
  5025.        The controllers are visited in their VisitingOrder,
  5026.        starting from 0.
  5027.  
  5028.     *  Use [R] on the vehicles floor texture to make it move with
  5029.        the vehicle.
  5030.  
  5031. 7.41.2  (Notes)
  5032.  
  5033.     *  The vehicle must start in the same sector as its route, as
  5034.        the game will refuse to run otherwise. Thus you can't, for
  5035.        example, cause a car to come out of a low garage and
  5036.        circle around outside afterwards.
  5037.  
  5038.     *  You can have several vehicles following the same route.
  5039.  
  5040.     *  You can also design a vehicle using several sectors, but
  5041.        they will rotate individually at each L+. Rather use a
  5042.        'bounding' sector, containing the S - see the attacking
  5043.        spaceship in E2L1 for an example.
  5044.  
  5045.     *  The whole route must be in one sector - you cannot move a
  5046.        vehicle through several sectors.
  5047.  
  5048.     *  You can only have one route defined per map.
  5049.  
  5050.     *  To have sprites move with the vehicle, they must be in the
  5051.        same sector as the S[0,6].
  5052.  
  5053.  
  5054. 7.42  Attacking Vehicles
  5055.  
  5056.  
  5057. To make a vehicle attack any visible player with rockets (like
  5058. the space fighter at the start of E2L1), just parallax the
  5059. ceiling of the vehicle.
  5060.  
  5061. 7.42.1  (Notes)
  5062.  
  5063.     *  To have a vehicle move about under an parallaxed sky
  5064.        without shooting at you, give the sky or the floor a
  5065.        palette (any palette except 0 will do). Palette number 3
  5066.        works well.
  5067.  
  5068.  
  5069. 7.43  (Two-way Vehicles)
  5070.  
  5071.  
  5072. A two way vehicle moves back and forth between two points when
  5073. activated (for example, with a key).
  5074.  
  5075. 7.43.1  (Setup)
  5076.  
  5077.     *  The vehicle needs a tag of [0,31], an S[Channel,30] and an
  5078.        A[0,Channel].
  5079.        S points in the direction of vehicle movement.
  5080.  
  5081.     *  Two locaters L+[0,0] and L[0,1] need to be placed to mark
  5082.        the stopping points of the vehicle. L[0,1] is the locator
  5083.        visited first by the vehicle.
  5084.  
  5085.     *  Place one or more switches [0,Channel] anywhere, including
  5086.        on the vehicle.
  5087.  
  5088. 7.43.2  (Notes)
  5089.  
  5090.     *  The vehicle moves off in the direction of its S. If it
  5091.        doesn't find an L+, it will keep moving forever, passing
  5092.        straight through the wall.
  5093.  
  5094.     *  Vehicles don't have to start near an L+, they will move
  5095.        there on their own.
  5096.  
  5097.     *  On both locators, channels are triggered which can be used
  5098.        to automatically open dors, switch on lights, etc. The
  5099.        channels are Channel+1 for the L+[0,1] and Channel+2 for
  5100.        the L+[0,0].
  5101.        Thus if you used channel 6 for a two-way train, channel 7
  5102.        would be triggered when the train reaches the first stop.
  5103.  
  5104.  
  5105. 7.44  [Water waves]
  5106.  
  5107.  
  5108. It's possible to have the floor of a sector move up and down.
  5109. Several of these sectors in series can give the effect of a
  5110. travelling water wave.
  5111.  
  5112. 7.44.1  *Setup*
  5113.  
  5114. A wave sector actually changes its floor tilt value.
  5115. Thus, simply define several 4-walled sector in a row, adding a
  5116. single S [WaveShape,29] in each.
  5117.  
  5118. You can add an Sp[0,WaveHeight] in the sector as well.
  5119.  
  5120. 7.44.2  [Notes]
  5121.  
  5122.     *  Wave sectors must be four-sided.
  5123.  
  5124.     *  The floor tilts along the first line of each sector, so
  5125.        make sure you've set it properly (use [Alt]-[F]).
  5126.  
  5127.     *  WaveShape/WaveHeight range from 0 to 2048.
  5128.  
  5129.     *  If you tag the wave sectors [0,2], you'll be able to swim
  5130.        underneath the water (see Swimming Pools for details).
  5131.        Duke won't be able to stay afloat if the wave is too high,
  5132.        though.
  5133.  
  5134.  
  5135. 7.45  [Engine piston]
  5136.  
  5137.  
  5138. In designing machines, you often want a piston moving up and
  5139. down, squashing anything wandering underneath.
  5140.  
  5141. 7.45.1  [Setup]
  5142.  
  5143. Simply add an S [0,25] in the sector.
  5144.  
  5145. 7.45.2  [Notes]
  5146.  
  5147.     *  This effector moves the ceiling down to the height of the
  5148.        S and back up.
  5149.  
  5150.     *  You can add an Sp or M to taste.
  5151.  
  5152.  
  5153. 7.46  [Edge walls]
  5154.  
  5155.  
  5156. The end of the playing map in an outdoors setting is always a
  5157. problem - how to avoid simply using a very tall building and
  5158. instead closing off with an (impassable) low wall?
  5159.  
  5160. 7.46.1  (Setup)
  5161.  
  5162.     *  Build a low wall around your world.
  5163.        Use any texture you like.
  5164.  
  5165.     *  Set the ceiling texture of the wall to the same as your
  5166.        main ceiling.
  5167.        Usually, this will be 89 (LA).
  5168.  
  5169.     *  Parallax it.
  5170.        If your main ceiling is already parallaxed, the upper part
  5171.        of the wall will disappear.
  5172.  
  5173.     *  Lower the ceiling to the floor.
  5174.  
  5175.  
  5176. 7.47  [Code switches]
  5177.  
  5178.  
  5179. Code switches are buttons which have to be pressed in a certain
  5180. way before activating something. An example is the 3-way dip
  5181. switch used to unlock the red gate in E1L2.
  5182.  
  5183. 7.47.1  [Setup]
  5184.  
  5185. Set up the switches anywhere, tagging them [Status,Channel].
  5186.  
  5187. Status         is the required state for activation: 0 (off) or 1
  5188.                (on).
  5189.  
  5190. Channel        is the same for all code switches belonging
  5191.                together, and is used as the lo-tag of the A or L
  5192.                tags activating whatever is supposed to happen.
  5193.  
  5194. 7.47.2  [Notes]
  5195.  
  5196.     *  Personally, I find these boring. I just cycle through them
  5197.        in order and the door or whatever opens real quick.
  5198.  
  5199.     *  You can place the switches all over the level, if you
  5200.        like. Not a nice thing to do :)
  5201.  
  5202.  
  5203. 7.48  [The pool table]
  5204.  
  5205.  
  5206. Everybody (myself included) was very impressed with the pool
  5207. table in E1L2. It's easy to make your own, and perhaps you can
  5208. use this to design other toys.
  5209. Reading this, I also realize why 3DRealms didn't answer our
  5210. request for a reset button :)
  5211.  
  5212. 7.48.1  [Setup]
  5213.  
  5214. The table itself is just a table with a raised wall around it.
  5215. The trick is in the sprites used: just add balls (901 and 902)
  5216. and (flat) pockets (903).
  5217.  
  5218. 7.48.2  [Notes]
  5219.  
  5220.     *  The balls will move nicely when pushed. They will remain
  5221.        at the same height, floating through the air if necessary.
  5222.  
  5223.     *  Use different palettes on the balls to create different
  5224.        colors.
  5225.  
  5226. 7.48.3  (Once-only sound effects)
  5227.  
  5228. Often, you'll want a sound effect to be played only once when a
  5229. player enters a sector. An example is Duke talking at the
  5230. beginning of E1L1.
  5231.  
  5232. 7.48.3.1  (Setup)
  5233.  
  5234. Give the sector a lotag of 10000+SoundNumber.
  5235.  
  5236. 7.48.4  *Ambience sounds*
  5237.  
  5238. Simply place an M[Range,SoundsFrom] anywhere. Every now and then,
  5239. an ambience sound will be played.
  5240.  
  5241. SoundsFrom is the number of the lowest sound to play, Range is
  5242. the number of sounds to look at for random selection of the sound
  5243. to play.
  5244.  
  5245. For example: M[231,3] would randomly select a sound from the
  5246. sound numbers 231,232,233,234.
  5247.  
  5248. Sadly, not all sounds can be used as ambience sounds (see the
  5249. list in the reference section).
  5250.  
  5251. 7.49  [Tips and tricks: New and interesting effects]
  5252.  
  5253.  
  5254. It is often the case that users find new and interesting effects
  5255. for sector functions that the designers never thought of. If
  5256. anybody finds something like that, please let me know and I'll
  5257. put it here.
  5258.  
  5259. 7.49.1  (Ghosts)
  5260.  
  5261. You can make enemies transparent or even rotated (2D or messed-up
  5262. flat things). They'll still attack normally.
  5263. Transparent enemies are particularily effective in dark places.
  5264.  
  5265. 7.49.2  *Unfreezable monsters*
  5266.  
  5267. If you give a monster a palette of 1 (blue), it can't be frozen.
  5268.  
  5269. 7.49.3  (Falling to your death?)
  5270.  
  5271. Scaring the player is high on anybodies list for levels.
  5272. So let the player fall down a deep shaft (aaaaarrrggh) with a
  5273. teleporter hanging in the air at the bottom, transporting him
  5274. somewhere else (causing a safe landing).
  5275.  
  5276. 7.49.4  (Malfunctioning doors)
  5277.  
  5278. Doors malfunction if the closing time is too short (see the
  5279. section on doors). This can cause a nice paranoia effect.
  5280.  
  5281. 7.49.5  *Mines*
  5282.  
  5283. It's possible to take a trip mine, shrink it real small and put
  5284. it in it's very own sector somewhere on the floor. Done properly,
  5285. you can create a proximity mine which can only be seen if the
  5286. player is paying attention >:)
  5287.  
  5288. 7.49.6  (The shrinking player)
  5289.  
  5290. Called the Alice In Wonderland effect, this requires you to take
  5291. a long hallway and gradually make everything bigger - the floor
  5292. gets wider, the walls higher, the sprites bigger...
  5293. The opposite works as well, of course.
  5294.  
  5295. Problems:
  5296.  
  5297.     *  Enemies can't be resized (they're animated).
  5298.  
  5299.     *  The map will show it all.
  5300.  
  5301. 7.49.7  *Even more textures*
  5302.  
  5303. Remember to only add your own graphics into your maps if you
  5304. really have to - they make your final package large and unwieldy
  5305. and, after all, Duke3D already contains LOTS of textures.
  5306. You can also cleverly resuse old textures by resizing them - if
  5307. you elongate a texure until it breaks into streaks and then make
  5308. the streaks wider, you get a nice metallic effect.
  5309.  
  5310.  
  5311.  
  5312.  
  5313.  
  5314.  
  5315.  
  5316.                             Chapter 8
  5317.  
  5318.                   *Programming the .CON files*
  5319.  
  5320.  
  5321. In this chapter I'll attempt to explain just what the .CON files
  5322. are about and how they work.
  5323.  
  5324.  
  5325. 8.1  *The language of the .CON files*
  5326.  
  5327.  
  5328. Here's just some stuff I wrote up when I still only had the
  5329. shareware version - in the next version of this FAQ I'll expand
  5330. on this:
  5331.  
  5332. state <name>   Defines a subroutine.
  5333.  
  5334. ends           Called via state <name>.  See state rats for an
  5335.                example.
  5336.  
  5337. include <filename>
  5338.                Includes <filename> in the code.
  5339.  
  5340. /* <text> */   Comment block (can be several lines)
  5341.  
  5342. // <text>      Comment to end of line
  5343.  
  5344. spawn <object> Creates <object> on nearest floor. See also
  5345.                ifspawnedby.
  5346.  
  5347. ifrnd <x> <action>
  5348.                If x is smaller than Random(255) then <action>.
  5349.                See state rats for an example.
  5350.  
  5351. debris <a> <b> Creates an exploding debris shower.
  5352.                <a> is the debris graphic:
  5353.                Normally SCRAPn:
  5354.                SCRAP1 : Metal barrel pieces
  5355.                SCRAP2 : Edged metal barrel pieces
  5356.                SCRAP3 : White fluff
  5357.                SCRAP4 : Gray/brown boxes
  5358.                SCRAP5 : Gray/brown squashed boxes
  5359.                SCRAP6 : Pottery shards
  5360.                <b> is the amount*3 of debris to show.
  5361.                Typical values are 2,3,4,5 or 12.
  5362.  
  5363. guts <a> <b>   Similar to debris, but throws guts about, which
  5364.                cause a blood splat on the ground.
  5365.                <a> is guts graphics: JIBS1..JIBS6
  5366.  
  5367. hitradius <r> <1 2 3 4>
  5368.                Causes damage in radius <r> (always 1024).
  5369.                Damage is normally WEAKEST WEAK MEDIUMSTRENGTH
  5370.                TOUGH (see USER.CON).
  5371.  
  5372. addweapon <x> <y>
  5373.                Add weapon <x> with ammo <y> to players inventory.
  5374. addammo <x> <y>
  5375.                Add <y> amount of ammo for weapon <x> in
  5376.                inventory.
  5377.  
  5378. killit         Remove current actor.
  5379.  
  5380. sizeto <a> <b> Resizes an actor.
  5381.  
  5382. palfrom <a> <b>
  5383.                Changes actor palette.
  5384.  
  5385. sound <x>      Play sound <x> locally.
  5386.  
  5387. globalsound <x>
  5388.                Like sound, but heard in whole map.
  5389.  
  5390. ifhitweapon <action>
  5391.                Execute <action> if hit by weapon.
  5392.  
  5393. ifhitspace     TRUE if player is pressing the spacebar.
  5394.  
  5395. ifcansee       TRUE if player can see this object.
  5396.  
  5397. ifwasweapon <x> <action>
  5398.                Checks to see what weapon hit the actor:
  5399.                THROWFLAME       Flamethrower
  5400.                RADIUSEXPLOSION  Exploding device
  5401.                RPG              Rocket launcher
  5402.                FIREEXT          Fire extinguisher
  5403.                SHRINKSPARK      Shrinker beam
  5404.                SHOTSPARK1       Bullet
  5405.                COOLEXPLOSION1   ?
  5406.                KNEE             The Mighty Foot
  5407.                FIRELASER        Laser
  5408.  
  5409. ifspawnedby <x>
  5410.                TRUE if actor was spawned by object <x>.
  5411.  
  5412. ifsquished     TRUE if actor was squished.
  5413.  
  5414. ifpdistg <x>   TRUE if distance to player > x.
  5415.  
  5416. ifpdistl <x>   TRUE if distance to player < x.
  5417.  
  5418. addphealth <x> Add <x> to players health (can be < 0).
  5419.  
  5420. resetplayer    Player resets in DM mode.
  5421.  
  5422. Some fun objects to spawn:
  5423. (see DEFS.CON as well)
  5424.  
  5425. AMMO           Pistol ammo.
  5426.  
  5427. BURNING        Starts fire on nearest floor, burns out soon.
  5428.                Doesn't start if no player near.
  5429.  
  5430. COLA           Small first-aid box.
  5431.  
  5432. EXPLOSION2     Nuke explosion. Image only - no damage...
  5433.  
  5434. EXPLOSION2BOT  Top part of explosion. Image only
  5435.  
  5436. FIRE           Small flame, burns out soon.
  5437.  
  5438. FIRE2          Shorter fatter flame, permanent, can be stamped
  5439.                out.
  5440.  
  5441. OOZ            Slime stretching to the ceiling.
  5442.  
  5443. PIGCOP         Pig Cop (can be spawned!).
  5444.  
  5445. RAT            Squeak!
  5446.  
  5447. SHIELD         Armor
  5448.  
  5449. SHRINKEREXPLOSION
  5450.                Green oval shrinker impact - image only.
  5451.  
  5452. STEAM          Hissing steam, causes damage, horizontal.
  5453.  
  5454.  
  5455. 8.2  *Notes*
  5456.  
  5457.  
  5458. Just some random notes - I'll rewrite the whole of this chapter
  5459. anyway in the next FAQ.
  5460.  
  5461.     *  The language is C - so if you can program in C, you won't
  5462.        need this chapter at all as you can work nearly everything
  5463.        out yourself.
  5464.  
  5465.     *  The commands are case-sensitive.
  5466.  
  5467.  
  5468. 8.3  *Cute tricks*
  5469.  
  5470.  
  5471. Here are some nice tricks to do with your .CON files - if you
  5472. know of any other, let me know! ##
  5473.  
  5474. 8.3.1  *Picking up weapons*
  5475.  
  5476. Don't you hate it when you have the RPG selected, are running
  5477. towards somebody, run over the shotgun and automatically pick it
  5478. up, selecting it as your current weapon?
  5479.  
  5480. With this patch you'll have to press [SpaceBar] to pick up any
  5481. weapon.
  5482.  
  5483. It's easy, too: look in GAME.CON at line 874. See all the
  5484. requirements that have to be true before Duke will pick up the
  5485. shotgun? Well, just add the work 'ifhitspace' (must be in
  5486. lowercase) to the end of that line and you're done!
  5487.  
  5488. Of course, you'll have to do this with all other weapons as well,
  5489. but I'm sure you're able to handle that.
  5490.  
  5491. The disadvantage? Unless you hack around a bit yourself, you'll
  5492. have to press spacebar to pick up an existing weapon as ammo as
  5493. well.
  5494.  
  5495. 8.3.2  *Explosive ammunition*
  5496.  
  5497. Lots of fun can be had with the SHOTSPARK1 actor (the spark
  5498. created by a bullet striking anything).
  5499.  
  5500. After line 1404 in GAME.CON, add the following lines:
  5501.  
  5502. ifactioncount 3
  5503. {
  5504.  hitradius 1024 WEAKEST WEAK MEDIUMSTRENGTH TOUGH
  5505.  spawn EXPLOSION2
  5506.  debris SCRAP2 2
  5507.  sound PIPEBOMB_EXPLODE
  5508. }
  5509.  
  5510. What does this do?
  5511.  
  5512. ifactioncount  is probably the animation frame number; we use it
  5513.                to make sure the code is only executed once per
  5514.                shotspark.
  5515.  
  5516. hitradius      causes damage in a 1024 unit radius, with the most
  5517.                damage in the middle of the circle.
  5518.  
  5519. spawn          spawns an object named EXPLOSION2 at the actors
  5520.                spot. In this case, the actor is SHOTSPARK1. This
  5521.                line makes sure the explosion animation is shown.
  5522.  
  5523. debris         throws some debris around, but not much (try
  5524.                "SCRAP1 10").
  5525.  
  5526. sound          plays the proper sound for the explosion.
  5527.  
  5528. { }            are the begin/end delimiters of the "if" command.
  5529.  
  5530. So your bullets now cause more pain and suffering and more fun
  5531. for you. However, even the lowly pigcops are suddenly really
  5532. dangerous.
  5533. Because, you see, the monster bullets generate SHOTSPARK1's as
  5534. well...
  5535.  
  5536. 8.3.3  *Splat!*
  5537.  
  5538. Lots more fun can be had with SHOTSPARK1.
  5539.  
  5540. Try adding this line just after line number 1404 in GAME.CON:
  5541.  
  5542. if actioncount 3 { spawn PIGCOP }
  5543.  
  5544. This will cause a pigcop to appear every time you fire a shot. As
  5545. soon as he shoots at you, eight more pigcops warp in. And then 72
  5546. more. And then...
  5547. Soon your system will hang itself.
  5548.  
  5549. Thus rather don't shoot. Take the jetpack, fly high up the street
  5550. in E1M1 and shoot and the wall. The pigcops appear and
  5551. immediately fall to a messy death many stories below >:)
  5552.  
  5553.  
  5554.  
  5555.  
  5556.  
  5557.  
  5558.  
  5559.                             Chapter 9
  5560.  
  5561.                      [Utilities and add-ons]
  5562.  
  5563.  
  5564. 9.1  [Editing utilities]
  5565.  
  5566.  
  5567. This section contains all programs which can be used in editing
  5568. somehow.
  5569.  
  5570. 9.1.1  [BUILD]
  5571.  
  5572. The BUILD program is currently the only Duke3D .MAP editor in
  5573. existence. Personally, I don't think that it will be replaced
  5574. anytime soon :)
  5575.  
  5576. Documentation to it are in the file BUILDHLP.EXE (press [F2]
  5577. while viewing and give a filename to create an ASCII file instead
  5578. of printing all that stuff) and in this FAQ.
  5579.  
  5580. 9.1.2  [EditArt]
  5581.  
  5582. EditArt is also included on the Duke3D CD and allows you to
  5583. change the graphics included in Duke3D. If effect, it allows you
  5584. to extract/import graphics (use somethig else to actually edit
  5585. the graphics).
  5586.  
  5587. You'll first have to extract the .ART files using the command
  5588. KEXTRACT DUKE3D.GRP *.ART
  5589.  
  5590. Watch out, though: this will create the files TILES000.ART to
  5591. TILES014.ART, taking up nearly 15MB of space on your drive. If
  5592. you just want to change part of the graphics, try extracting a
  5593. single .ART file:
  5594. KEXTRACT DUKE3D.GRP TILES000.ART
  5595.  
  5596. Documentation to EditArt are in the Build Docs; here are just
  5597. some notes:
  5598.  
  5599. 9.1.2.1  *Changing graphics*
  5600.  
  5601. To extract a tile from a .ART file to a .PCX file, use [PgUp] and
  5602. [PgDn] to select the tile. You can also use [V] or [G] (Goto).
  5603.  
  5604. Press [F12] to create a CAPT0000.PCX file in your directory,
  5605. containing just the tile.
  5606. Edit this tile with your favourite graphic tool. While EditArt
  5607. can also edit graphics (as the name suggests), I prefere to use
  5608. something like NeoPaint or somesuch. The guys at 3DRealms used
  5609. Dpaint, so make sure you save as an 8-bit 256 color PCX,
  5610. preferably in 320x200 format.
  5611.  
  5612. Then go back into EditArt, select the tile again and press [U] to
  5613. import the .PCX file. After selecting the image, use the mouse to
  5614. drag the rectangle over the whole image (grabbing all of it) and
  5615. press [Enter].
  5616.  
  5617. Voila! Now all you have to do is keep the changed .ART file in
  5618. your Duke3D directory, and the game will load the new graphics
  5619. automatically on starting.
  5620.  
  5621. 9.1.2.2  (Adding new graphics)
  5622.  
  5623. Adding new graphics is fun and easy: simply modify the
  5624. TILES0014.ART file.
  5625. It contains only a single tile, called 'user art'. You can
  5626. replace this and all others in the .ART file using the above
  5627. method.
  5628.  
  5629. User art starts at tile number 3584.
  5630.  
  5631. Now you can access the graphics like any other tiles in BUILD.
  5632.  
  5633. 9.1.2.3  [Using DOOM I graphics]
  5634.  
  5635. Adding DOOM graphics is less easy - here's a step-by-step account
  5636. on how to do it (there's probably an easier way, but I haven't
  5637. found it yet):
  5638.  
  5639.     *  Extract TILES0014.ART from DUKE3D.GRP, as explained above.
  5640.  
  5641.     *  Back up your PALETTE.DAT and NAMES.H files, preferably by
  5642.        copying them in their own directory (I use the same one I
  5643.        backup my .CON files into).
  5644.  
  5645.     *  Convert the DOOM graphics (you'll need the original
  5646.        DOOM.WAD):
  5647.        WAD2ART D:\GAMES\DOOM\DOOM.WAD
  5648.        (You'll find WAD2ART in the \GOODIES\WAD2MAP directory on
  5649.        your Duke3D CD)
  5650.        This'll take a while, but you only need to do it once.
  5651.  
  5652.     *  You now have three new files in your directory: NAMES.H,
  5653.        PALETTE.DAT and TILES000.ART.
  5654.  
  5655.     *  Call up EditArt and select the graphics you want to
  5656.        convert (tiles start at number 462). Press [F12] to make a
  5657.        screendump of each.
  5658.  
  5659.     *  Rename TILES000.ART to something else in case you want to
  5660.        convert more DOOM art later. Best to place it in its own
  5661.        directory, together with the new NAMES.H and PALETTE.DAT.
  5662.  
  5663.     *  Restore your original NAMES.H and PALETTE.DAT files.
  5664.  
  5665.     *  Call up EditArt, select an empty tile and import the DOOM
  5666.        .PCX screens as explained in 'Adding New Graphics' above.
  5667.  
  5668.     *  The sprites are going to need a fair amount of retouching.
  5669.  
  5670. 9.1.2.4  (General notes)
  5671.  
  5672.     *  All files must be 320x200x256. So even if you have an
  5673.        64x64 tile, you'll have to stamp it into a 320x200 image
  5674.        to import it properly.
  5675.  
  5676.     *  If one graphics format doesn't work for you, try another
  5677.        one. Personally, I have the least problems using BMP.
  5678.  
  5679.     *  Tiles with a 2^n size (like 16, 32, 64, 128, 256) seem to
  5680.        make the least problems when importing.
  5681.     *  Note possible palette problems. While EditArt can convert
  5682.        a palette for you, it usually sucks, so do it yourself
  5683.        before loading the image.
  5684.  
  5685. 9.1.3  *Wad2Map utilities*
  5686.  
  5687. The Wad2Map programs (included on the Duke3D CD) allows you to
  5688. convert your DOOM .WAD pages to .MAP format, as well as
  5689. converting the graphics.
  5690. You will need the original DOOM.WAD file (called an IWAD file).
  5691.  
  5692. I very highly recommend copying the WAD2EXE directory into its
  5693. own subdirectory on your hard drive, as you'll be overwriting
  5694. some of your files (PALETTE.DAT and NAMES.H) from Duke3D
  5695. otherwise.
  5696. In any case, make a backup of your original PALETTE.DAT and
  5697. NAMES.H files.
  5698.  
  5699. Also, don't forget to remove line 733 from DUKE.TXT as the
  5700. conversion won't work well with it (the cautious amongst you can
  5701. just comment it out - put a semicolon (;) before it).
  5702.  
  5703. The utilities consist of two parts:
  5704.  
  5705. 9.1.3.1  *WAD2ART*
  5706.  
  5707. Converts the DOOM textures (I've only tried this with DOOM I so
  5708. far) to TILE*.ART format.
  5709.  
  5710. Usage:
  5711. WAD2ART D:\GAMES\DOOM\DOOM.WAD
  5712. (or wherever your DOOM.WAD file is).
  5713.  
  5714. This will create three files in your current directory:
  5715.  
  5716. TILES000.ART   A huge file containing all the DOOM graphics.
  5717.  
  5718. NAMES.H        The names of all the new tiles.
  5719.  
  5720. PALETTE.DAT    The original DOOM palette.
  5721.  
  5722. 9.1.3.2  [WAD2MAP]
  5723.  
  5724. Here's what we all want: a program to automatically convert the
  5725. DOOM maps to Duke3D maps!
  5726.  
  5727. Unfortunately, the system crashes when trying to convert a PWAD
  5728. (add-on WAD file) for DOOM. We get around this by using DEU (Doom
  5729. Editing Utility) or a similar tool to change the first level of
  5730. the original DOOM (the IWAD) to the PWAD. To find out how to do
  5731. this, read the DEU docs.
  5732.  
  5733. There are two ways to make a .MAP from a .WAD: with conversion
  5734. (trying to convert the DOOM walls and objects to Duke3D walls and
  5735. objects - the recommended method) or without conversion (for
  5736. those brave souls who want to try to run everything on DOOM
  5737. graphics and can face reprogramming every single sprite).
  5738.  
  5739. With conversion:
  5740. WAD2MAP D:\GAMES\DOOM\DOOM.WAD E1M1 DUKE.TXT
  5741.  
  5742. Without conversion:
  5743. WAD2MAP D:\GAMES\DOOM\DOOM.WAD E1M1
  5744.  
  5745. The DUKE.TXT file is an ASCII file listing the things to be
  5746. converted. You're very welcome to mess around in it and try to
  5747. improve it. If you create a perfect one, let me know!
  5748.  
  5749. Note that there's still plenty of work to be done on a fully
  5750. converted .WAD. You'll have to load it into BUILD and check every
  5751. single object, sector, texture (the HOM is back!) and wall.
  5752. I've had some walls crash on me after conversion, and I haven't
  5753. yet found out why - seems to be caused by sprites hanging about
  5754. in midair.
  5755.  
  5756. If you did the WAD->MAP without conversion, you'll have to use
  5757. DOOMs PALETTE.DAT (automagically created for you) _and_ you'll
  5758. have a lot of work in front of you: not only do none of the doors
  5759. etc work, but you'll have to shift the graphics for the sprites
  5760. as well.
  5761. But you'll be able to play DOOM maps with DOOM textures in Duke3D
  5762. (wheeee).
  5763.  
  5764.  
  5765. 9.2  [Future add-ons]
  5766.  
  5767.  
  5768. This section contains a list of vapour-ware :)
  5769. Both software users are wishing for and projects currently in the
  5770. making are listed here.
  5771.  
  5772. 9.2.1  *Add-on software wish list*
  5773.  
  5774. Attention programmers! Here is a wish list, created by the DN3D
  5775. players, of add-on software that should be made for DN3D. If you
  5776. would like to make an addition to this list, please send me E-
  5777. mail.
  5778. Additionally, if you are planning on creating one of these
  5779. utilities, tell me, and I'll move it to the "Add-on software in
  5780. the making" chapter.
  5781.  
  5782.     *  A DEU-like pre-editor for the rough work (to be fine-tuned
  5783.        later by BUILD.EXE). Ideally, this preeditor would be
  5784.        network-capable to allow several people to work on a level
  5785.        simultaneously.
  5786.  
  5787.     *  Automatic .CON file patcher to allow easy inclusion of
  5788.        .CON modifications.
  5789.  
  5790.     *  Lots of additional graphics, allowing the building of
  5791.        realistic 'normal' street and house maps.
  5792.  
  5793.     *  A program to organize and keep track of additional .MAP
  5794.        files. Ideally, this would allow us to enter a description
  5795.        to each map, find a map quickly and launch it straight
  5796.        into Duke3D.
  5797.  
  5798. 9.2.2  Add-on software in the making
  5799.  
  5800. This chapter tells about add-on software which is being currently
  5801. worked on.
  5802. If you are working on something that is not in here, please send
  5803. me E-mail so I can put it in.
  5804. In this section, you can also request help on creating some add-
  5805. on software.
  5806.  
  5807.  
  5808.  
  5809.  
  5810.  
  5811.  
  5812.  
  5813.                            Chapter 10
  5814.  
  5815.                         [Troubleshooting]
  5816.  
  5817.  
  5818. 10.1  [Common questions]
  5819.  
  5820.  
  5821. 10.1.1  [My 3D mode messes up]
  5822.  
  5823. A common lament.
  5824.  
  5825. You've forgotten that the entire \GOODIES\BUILD directory has to
  5826. be copied into your Duke3D directory. The 3D mode requires the
  5827. DUKE3D.GRP or the TILESxxx.ART files to work properly.
  5828.  
  5829. 10.1.2  *How do I copy sectors?*
  5830.  
  5831. Copying sectors is non-trivial. If done normally, all red lines
  5832. turn white and the copy is messed up.
  5833.  
  5834. To copy a sector, you'll have to create a holding shell for it
  5835. first. This shell must be the exact same size and shape as the
  5836. sector to copy and must consist of white lines (single-sided).
  5837.  
  5838. Now select the original sector using RAlt-Mouse. Press [Ins]
  5839. before moving the mouse. Move the sector onto the holding shell
  5840. and press [Ins].
  5841. Voila!
  5842.  
  5843. You might ask why bother if you have to build the holding shell
  5844. anyway? Well, the sector being copied can _contain_ plenty other
  5845. sectors. And it's copied perfectly, complete with textures,
  5846. shading, tags...
  5847.  
  5848. 10.1.3  *I'm using Windoze/Win95, and...*
  5849.  
  5850. Tough luck; I don't have any pity for people who can't exit
  5851. Windoze to play DOS games.
  5852.  
  5853. 10.1.4  [I can't select sprites]
  5854.  
  5855. If you can't seem to select a sprite, there are two possible
  5856. reasons:
  5857.  
  5858.     *  Two sprites are overlapping each other.
  5859.        In this case, the sprite _is_ blinking, but you aren't
  5860.        seeing it. Try to move the sprite anyway.
  5861.  
  5862.     *  You've switched the grid off.
  5863.        Sprites can only be selected if a grid is shown on the
  5864.        screen.
  5865.  
  5866. 10.1.5  *How do I make a flat sprite double-sided?*
  5867.  
  5868. Point at it in 3D mode and press [1].
  5869.  
  5870. 10.1.6  (How do I view the original maps?)
  5871.  
  5872. Extract them from the DUKE3D.GRP file:
  5873.  
  5874. KEXTRACT DUKE3D.GRP *.MAP
  5875.  
  5876. 10.1.7  *How do I use new maps?*
  5877.  
  5878. Start Duke3d with
  5879.  
  5880. DUKE3D -map mapname.map
  5881.  
  5882. 10.1.8  *No monsters in new maps?*
  5883.  
  5884. This can have two reasons:
  5885.  
  5886.     *  Most user maps are for DukeMatch only, and thus don't
  5887.        contain any monsters.
  5888.  
  5889.     *  You've started the map like this: DUKE3D /map mapname.map
  5890.        Try DUKE3D -map mapname.map
  5891.  
  5892. 10.1.9  (How do I use the new .VOC and .MIDs?)
  5893.  
  5894. If you get new .VOC and .MID files with a new level, simply copy
  5895. them into your Duke3D directory. Duke3D has a list of all sounds
  5896. (VOC) and music fies (MID) in the DEFS.CON - if it finds a file
  5897. with the same name in its main directory, it will use this one
  5898. instead.
  5899.  
  5900. 10.1.10  [How do I show the wall data?]
  5901.  
  5902. If lots of sprites are real close to a wall, it can be difficult
  5903. showing the wall data with [Alt]-[TAB].
  5904.  
  5905. Press [G] several times to turn off the grid - now you'll only be
  5906. able to select walls.
  5907.  
  5908. 10.1.11  (I can't save the changes in BSetup)
  5909.  
  5910. That's because you didn't remove the read-only attribute from
  5911. your files after copying them from the CD-ROM. Try this:
  5912.  
  5913. ATTRIB -R *.*
  5914.  
  5915. 10.1.12  (The game ends with 'MAP E1L9.MAP not found!')
  5916.  
  5917. Yes, user maps loaded via the '-map' parameter are loaded as
  5918. E1L8. If you end the level, the program automatically looks for
  5919. the next level, E1L9 and dies if it doesn't find it.
  5920.  
  5921. Thus if you want to play several levels behind each other, call
  5922. the others E1L9.MAP (or E1L10/E1L11.MAP) and copy them into your
  5923. Duke3d directory.
  5924.  
  5925. 10.1.13  *Can the subway speeds be changed?*
  5926.  
  5927. No - Todd Replogle confirmed that the subways run at a fixed
  5928. speed.
  5929.  
  5930. 10.1.14  *How do I place active tripmines?*
  5931.  
  5932. Use tile number 2566 instead of 27 (ammo).
  5933.  
  5934. 10.1.15  *How do I shade a whole room at once?*
  5935.  
  5936. First select the sectors to shade using RAlt-Mouse in 2D mode.
  5937. Then switch in 3D mode, point at any wall and shade away!
  5938. Afterwards, press RAlt in 2D mode again to deselect the sectors.
  5939. This trick works with visibility setting as well.
  5940.  
  5941. 10.1.16  (How do I set the par time?)
  5942.  
  5943. You can't set a par time in your .map file - the times are stored
  5944. in USER.CON, line 329 ff.
  5945.  
  5946. We'll have to wait until somebody writes a simple .CON patcher
  5947. (hint, hint).
  5948.  
  5949.  
  5950. 10.2  [Bugs in the game]
  5951.  
  5952.  
  5953. The game itself contains some interesting bugs, none of them
  5954. serious.
  5955.  
  5956. 10.2.1  (Holodukes)
  5957.  
  5958. 10.2.1.1  (Bug)
  5959.  
  5960. Not sure if this is a bug or not, but holodukes can be
  5961. distinguished from Real Men easily:
  5962.  
  5963.     *  They don't cast shadows.
  5964.  
  5965.     *  They don't glow in night vision.
  5966.  
  5967. 10.2.1.2  (Workaround)
  5968.  
  5969. None known.
  5970.  
  5971. 10.2.2  (The shrinker)
  5972.  
  5973. 10.2.2.1  (Bug)
  5974.  
  5975. If you shrink something (a monster or a dancer) and then freeze
  5976. it, it will stay small when it thaws.
  5977.  
  5978. 10.2.2.2  (Workaround)
  5979.  
  5980. Don't allow shrinkers and freezers in the same level if this bugs
  5981. you.
  5982.  
  5983. 10.2.3  (Endless ammo)
  5984.  
  5985. 10.2.3.1  (Bug)
  5986.  
  5987. If you freeze, for example, a pig cop, it might drop a weapon.
  5988. If you then allow it to thaw and freeze it again (easy, because
  5989. it's already severely weakened), it might drop another weapon.
  5990. Repeat until you're sick of it.
  5991.  
  5992. 10.2.3.2  (Workaround)
  5993.  
  5994. None known. If you want to keep ammo away from the players (for
  5995. shame!), don't add the freezer.
  5996.  
  5997. 10.2.4  Remote switch triggering
  5998.  
  5999. 10.2.4.1  Bug
  6000.  
  6001. If a switch is placed on a thin wall, you can trigger it from the
  6002. other side of the wall.
  6003.  
  6004. 10.2.4.2  Workaround
  6005.  
  6006. Place switches on thicker or even outside walls.
  6007.  
  6008. 10.2.5  (Underwater toilets)
  6009.  
  6010. 10.2.5.1  (Bug)
  6011.  
  6012. Somebody actually had the idea of placing a toilet underwater...
  6013. But when Duke uses it, he's unable to surface again.
  6014.  
  6015. 10.2.5.2  (Workaround)
  6016.  
  6017. None - drown the bastard ;)
  6018.  
  6019. 10.2.6  (Explosions)
  6020.  
  6021. 10.2.6.1  (Bug)
  6022.  
  6023. Explosions are often clipped incorrectly, and you can see a part
  6024. of a wall or sprite overlapping it.
  6025.  
  6026. 10.2.6.2  (Workaround)
  6027.  
  6028. None - this seems to be caused by the fact that the clipping for
  6029. a sprite is worked out from its midpoint - if the sprite is big
  6030. and unhappily placed, the clipping can fail.
  6031. Not terribly serious, though.
  6032.  
  6033. 10.2.7  [Crash on shattering objects]
  6034.  
  6035. 10.2.7.1  [Bug]
  6036.  
  6037. If you break too many objects at the same time (I shot an RPG
  6038. into a very well-stocked bar) the game will crash.
  6039.  
  6040. 10.2.7.2  [Workaround]
  6041.  
  6042. Don't place too many breakable objects near each other while
  6043. designing a map. ## Anybody found out the limit? 32? 64?
  6044.  
  6045. 10.2.8  (Breaking unbreakable glass)
  6046.  
  6047. 10.2.8.1  (Bug)
  6048.  
  6049. Glass marked as unbreakable can still be shattered by an
  6050. explosion (bomb) nearby.
  6051.  
  6052. 10.2.8.2  (Workaround)
  6053.  
  6054. None known. ##
  6055.  
  6056. 10.2.9  (Trip mines)
  6057.  
  6058. 10.2.9.1  (Bug)
  6059.  
  6060. Trip mines don't work well with mirrors or moving sectors: They
  6061. don't reflect in the mirror (looking completely wrong), and the
  6062. beam breaks up in a moving sector, creating a rather strange
  6063. effect.
  6064. All this grief is because the beam is actually a collection of
  6065. sprites.
  6066.  
  6067. 10.2.9.2  (Workaround)
  6068.  
  6069. None known. Just don't place trip mines in such a way that the
  6070. beam hits a mirror.
  6071.  
  6072. 10.2.10  [Phantom bullet-holes]
  6073.  
  6074. 10.2.10.1  [Bug]
  6075.  
  6076. If you design a one-sided glass wall and shoot at it from the
  6077. wrong side, bullet-holes will appear in the glass. If you then
  6078. shatter if from the right side, the bullet holes will stay in
  6079. mid-air.
  6080.  
  6081. 10.2.10.2  [Workaround]
  6082.  
  6083. Who cares?
  6084.  
  6085.  
  6086. 10.3  [Bugs in BUILD]
  6087.  
  6088.  
  6089. Like any complex CAD software, BUILD has some bugs as well. Some
  6090. of them we have to be aware of, most are just weird.
  6091.  
  6092. 10.3.1  Selecting long lines
  6093.  
  6094. 10.3.1.1  Bug
  6095.  
  6096. If a line is too long, you can't select it anymore by moving the
  6097. cursor near it. Thus you also can't insert new points on it, for
  6098. example.
  6099.  
  6100. 10.3.1.2  Workaround
  6101.  
  6102. Keep the lines short by inserting points on too long olines:
  6103. shorten the line, insert a point, lengthen the line again, move
  6104. the newly inserted point into the middle of the line.
  6105.  
  6106. 10.3.2  [Splitting a sector]
  6107.  
  6108. 10.3.2.1  [Bug]
  6109.  
  6110. Splitting a sector containing another sector (like a door) is
  6111. often a bad idea. I've had lots of sectors disappear on me
  6112. already.
  6113.  
  6114. 10.3.2.2  [Workaround]
  6115.  
  6116. None known so far. Save your work first.
  6117.  
  6118. 10.3.3  [Selecting sprites]
  6119.  
  6120. 10.3.3.1  [Bug]
  6121.  
  6122. If several sprites are exactly over each other, they don't start
  6123. to flicker as they are selected.
  6124.  
  6125. 10.3.3.2  [Workaround]
  6126.  
  6127. Be aware of this, try to move the sprite anyway.
  6128.  
  6129. 10.3.4  Autoaligning textures
  6130.  
  6131. 10.3.4.1  Bug
  6132.  
  6133. When pressing [.] in 3D mode to autoalign textures, the system
  6134. hangs at times.
  6135.  
  6136. 10.3.4.2  Workaround
  6137.  
  6138. I don't know of any workaround to this.
  6139. Save before your press [.], and don't use it needlessly.
  6140.  
  6141. 10.3.5  [Displaying memory info]
  6142.  
  6143. 10.3.5.1  [Bug]
  6144.  
  6145. When pressing [']-[M] to display the memory info, the system will
  6146. be unstable, crashing when returning to 3D mode.
  6147.  
  6148. 10.3.5.2  [Workaround]
  6149.  
  6150. None known. Don't use this function, you don't need it anyway.
  6151.  
  6152. 10.3.6  [Function keys in 3D mode]
  6153.  
  6154. 10.3.6.1  [Bug]
  6155.  
  6156. In 3D mode, the function keys [F5], F[6], F[7] and F[8]
  6157. evidentially try to display the same help screens as they do in
  6158. 2D, messing up the graphics in the process.
  6159.  
  6160. 10.3.6.2  [Workaround]
  6161.  
  6162. Simply press [NumEnter] twice to jump to 2D mode and straight
  6163. back into 3D.
  6164.  
  6165. 10.3.7  (Deleting sectors)
  6166.  
  6167. 10.3.7.1  (Bug)
  6168.  
  6169. You can run into LOTS of trouble when deleting sectors.
  6170.  
  6171. 10.3.7.2  (Workaround)
  6172.  
  6173. Here are some general tips on deleting sectors:
  6174.  
  6175.     *  Remove all sprites (including sector tags, etc) from the
  6176.        sector before deleting it.
  6177.  
  6178.     *  Don't delete a sector by collapsing it (moving all points
  6179.        over each other).
  6180.  
  6181.     *  To delete a two-sided sector, join it with the sector
  6182.        around it.
  6183.  
  6184. 10.3.8  (Copying sectors)
  6185.  
  6186. 10.3.8.1  (Bug)
  6187.  
  6188. Copying sectors doesn't work properly - the copied sectors can't
  6189. be inserted into existing sectors (the lines turn one-sided).
  6190.  
  6191. 10.3.8.2  (Workaround)
  6192.  
  6193. None known so far - it seems to be far easier to build things
  6194. several times over than to copy them.
  6195.  
  6196. It _must_ be possible, though: I just can't believe that E3L10
  6197. (Tier Drops) was built on-site. And E3L1 shows part of E3L2,
  6198. obviously copied.
  6199.  
  6200. 10.3.9  (FPU reliance)
  6201.  
  6202. 10.3.9.1  (Bug)
  6203.  
  6204. It would seem that BUILD runs somewhat unstable on a system
  6205. without an FPU (like an 486SX).
  6206. This is not a terribly serious bug IMO, as most people are using
  6207. 486DXs or Pentium CPUs these days.
  6208.  
  6209. 10.3.9.2  (Workaround)
  6210.  
  6211. Download a good emulator. ## Anybody know any exact ftp
  6212. locations?
  6213.  
  6214.  
  6215. 10.4  *BUILD wishlist*
  6216.  
  6217.  
  6218. Here's a wishlist for features in BUILD - most of them are pretty
  6219. simple and could be fixed with a simple patch (hint, hint).
  6220. If some hero out there decides to create a BUILD replacement,
  6221. please keep these in mind :)
  6222.  
  6223.     *  Fix the bugs mentioned above.
  6224.        Especially the one about copying sectors.
  6225.  
  6226.     *  Auto-repeat the '[' and ']' keys in 3D mode.
  6227.        It's real irritating to press these buttons 101 times to
  6228.        get the tilt just right.
  6229.  
  6230.     *  Reach normal player height in float mode at the touch of a
  6231.        button.
  6232.        I often find myself switching to Game Mode just to set the
  6233.        height above ground correctly.
  6234.  
  6235.     *  Center view button.
  6236.        If case you've looked up and down and now need to see the
  6237.        world as the player will.
  6238.  
  6239.     *  User-buildable help screens.
  6240.        These would allow you to create your own help screens.
  6241.  
  6242.     *  Allow us to change sprite numbers in 2D mode.
  6243.  
  6244.     *  Control the grid spacing via the number keys on the top of
  6245.        the keyboard.
  6246.  
  6247.     *  Have a Grid on/off toggle key.
  6248.        It's irritating switching through the grid resolutions all
  6249.        the time.
  6250.  
  6251.     *  Allow us to scale selected sectors.
  6252.  
  6253.     *  Allow circle drawing via midpoint and radius selection
  6254.        (creating a new sector).
  6255.  
  6256.     *  Allow us to tag several objects to change at the same
  6257.        time.
  6258.  
  6259.     *  Allow us to set most values directly.
  6260.        This especially applies to the Wall->Sector pointers, but
  6261.        is also good for flags, room heights, etc.
  6262.  
  6263.     *  3D option to copy a sprite with _all_ settings (tags,
  6264.        shade, scale, height...everything).
  6265.  
  6266.     *  Allow us to use [F7] in Build like we can in the game
  6267.        itself, to make sure we can get the scaling right.
  6268.  
  6269.  
  6270.  
  6271.  
  6272.  
  6273.  
  6274.                            Chapter 11
  6275.  
  6276.                          Reference lists
  6277.  
  6278.  
  6279. This chapter contains useful reference material which you might
  6280. even want to print out and keep handy while designing levels.
  6281.  
  6282.  
  6283. 11.1  (List of original levels)
  6284.  
  6285.  
  6286. I very very often refere to the original levels ("Now just how
  6287. did they achieve this neat effect?") but don't know the names and
  6288. level numbers by heart.
  6289. More info (like par times, etc) can be found in USER.CON, line
  6290. 325ff).
  6291.  
  6292. 11.1.1  L.A. Meltdown
  6293.  
  6294. E1L1           Hollywood Holocaust
  6295.  
  6296. E1L2           Red Light District
  6297.  
  6298. E1L3           Death Row
  6299.  
  6300. E1L4           Toxic Dump
  6301.  
  6302. E1L5           The Abyss
  6303.  
  6304. E1L6           Launch Facility (secret)
  6305.  
  6306. E1L7           Faces Of Death (multiplayer)
  6307.  
  6308. E1L8           User Map (if your map isn't named ExL2.MAP, this
  6309.                is where it'll end up)
  6310.  
  6311. E1L9           Multiplayer 3 (like User Map)
  6312.  
  6313. E1L10          Multiplayer 4 (like User Map)
  6314.  
  6315. E1L11          Multiplayer 5 (like User Map)
  6316.  
  6317. 11.1.2  Lunar Apocalypse
  6318.  
  6319. E2L1           Spaceport
  6320.  
  6321. E2L2           Incubator
  6322.  
  6323. E2L3           Warp Factor
  6324.  
  6325. E2L4           Fusion Station
  6326.  
  6327. E2L5           Occupied Territory
  6328.  
  6329. E2L6           Tiberius Station
  6330.  
  6331. E2L7           Lunar Reactor
  6332.  
  6333. E2L8           Dark Side
  6334.  
  6335. E2L9           Overlord
  6336.  
  6337. E2L10          Spin Cycle (secret)
  6338.  
  6339. E2L11          Lunatic Fringe (secret)
  6340.  
  6341. 11.1.3  Shrapnel City
  6342.  
  6343. E3L1           Raw Meat
  6344.  
  6345. E3L2           Bank Roll
  6346.  
  6347. E3L3           Flood Zone
  6348.  
  6349. E3L4           L.A. Rumble
  6350.  
  6351. E3L5           Movie Set
  6352.  
  6353. E3L6           Rabid Transit
  6354.  
  6355. E3L7           Fahrenheit
  6356.  
  6357. E3L8           Hotel Hell
  6358.  
  6359. E3L9           Stadium
  6360.  
  6361. E3L10          Tier Drops (secret)
  6362.  
  6363. E3L11          Freeway (secret)
  6364.  
  6365.  
  6366. 11.2  [List of tiles]
  6367.  
  6368.  
  6369. This section contains a list of all tiles in the game, sometimes
  6370. with a short explanation.
  6371.  
  6372. A number like x,y or x..z denotes an animation sequence.
  6373.  
  6374. 11.2.1  [Control tiles]
  6375.  
  6376. 0              Ugly wall texture
  6377.                Default texture when creating new maps - is used
  6378.                as a marker to tell you to fix the textures.
  6379.  
  6380. 1              Sector Effector
  6381.                Is invisible at game time, and is used to
  6382.                manipulate sectors and cause all kinds of special
  6383.                effects. Is usually placed inside the sector to
  6384.                effect. See list further on.
  6385.  
  6386. 2              Activator
  6387.                Invisible at game time, use together with switches
  6388.                or touchplates to activate sector effectors in the
  6389.                same sector.
  6390.  
  6391. 3              Touchplate
  6392.                Invisible at game time, it triggers an activator
  6393.                or masterswitch when a player enters the sector
  6394.                the touchplate is in.
  6395.  
  6396. 4              ActivatorLocked
  6397.                Invisible at game time. It can be used to toggle a
  6398.                sectortag effect (meaning you can, for example,
  6399.                toggle the underwater flag of a sector by pressing
  6400.                a switch).
  6401.  
  6402. 5              MusicAndSFX
  6403.                Invisible at game time, it handles music and sound
  6404.                play.
  6405.  
  6406. 6              Locator
  6407.                Invisible at game time, it's used to define
  6408.                movement paths.
  6409.  
  6410. 7              Cycler
  6411.                Invisible at game time, it pulses the light level
  6412.                in a sector.
  6413.  
  6414. 8              MasterSwitch
  6415.                Invisible at game time. Triggered by a touchplate,
  6416.                it activates the sectortag function or a sector
  6417.                effector.
  6418.  
  6419. 9              Respawn
  6420.                Invisible at runtime, it teleports in sprites when
  6421.                triggered by a touchplate.
  6422.  
  6423. 10             GPSpeed
  6424.                Invisible at runtime, it sets movement speeds (for
  6425.                example, speed of closing doors).
  6426.  
  6427. 11.2.2  [Weapon sprites]
  6428.  
  6429. 21             The pistol.
  6430.  
  6431. 22             The chaingun.
  6432.  
  6433. 23             The RPG launcher.
  6434.  
  6435. 24             The freezer.
  6436. 25             The shrinker.
  6437.  
  6438. 26             The pipebomb.
  6439.  
  6440. 27             The tripbomb.
  6441.  
  6442. 28             The shotgun.
  6443.  
  6444. 29             The devastator.
  6445.  
  6446. 11.2.3  [Ammo sprites]
  6447.  
  6448. 37..39         Freezer ammo.
  6449.  
  6450. 40             Pistol ammo.
  6451.  
  6452. 41             Chaingun ammo.
  6453.  
  6454. 42             Devastator ammo.
  6455.  
  6456. 44             RPG ammo.
  6457.  
  6458. 46             Shrinker ammo.
  6459.  
  6460. 47             Box of pipebombs.
  6461.  
  6462. 49             Shotgun ammo.
  6463.  
  6464. 11.2.4  [Item sprites]
  6465.  
  6466. 51             Small medkit.
  6467.  
  6468. 52             Large medkit.
  6469.  
  6470. 53             Portable medkit.
  6471.  
  6472. 54             Armor.
  6473.  
  6474. 55             Steroids.
  6475.  
  6476. 56             Scuba gear.
  6477.  
  6478. 57             Jetpack.
  6479.  
  6480. 58             Spacesuit.
  6481.                This was evidentially planned as an item, but now
  6482.                we can just use it as decoration.
  6483.  
  6484. 59             Night vision goggles.
  6485.  
  6486. 60             Access card.
  6487.                Change the palette to set the cards color.
  6488.  
  6489. 61             Protective boots.
  6490.  
  6491. 100..115 Atomic health.
  6492.  
  6493. 11.2.5  [Special sprites]
  6494.  
  6495. 513            Bridge sprite
  6496.                Used to create a walkable bridge like in E1L1 near
  6497.                the exit.
  6498.  
  6499. 11.2.6  [Parallax (sky) textures]
  6500.  
  6501. Note that parallaxed space textures will make the relevant sector
  6502. lethal to the player.
  6503.  
  6504. 80,82,83       Moon surface.
  6505.                Can also be used as plain wall texture.
  6506.  
  6507. 81             Moon surface with earth.
  6508.                Can also be used as plain wall texture.
  6509.  
  6510. 84             Stars.
  6511.                Can also be used as plain wall texture.
  6512.  
  6513. 85..87         Earth from space.
  6514.                Can also be used as plain wall texture.
  6515.  
  6516. 88             Bright star with moon.
  6517.                Can also be used as plain wall texture.
  6518.  
  6519. 89             Dark city scape.
  6520.  
  6521. 90             Dark city scape, red windows.
  6522.  
  6523. 91             City scape, lots of lit windows.
  6524.  
  6525. 92             City scape with advertising (?) sign.
  6526.  
  6527. 93             Just like 90.
  6528.                (Anybody know why? ##)
  6529.  
  6530. 94             Solid red color.
  6531.  
  6532. 95             Stars, like those over a desert.
  6533.  
  6534. 96             City scape with many many lit windows.
  6535.                This texture seems messed up - some pink stripes
  6536.                are seen.
  6537.  
  6538. 11.2.7  (Lights)
  6539.  
  6540. 120            Vertical oval technical light, shootable.
  6541.  
  6542. 121            Broken version of 120.
  6543.  
  6544. 122            Horizontal oval technical light, shootable.
  6545.  
  6546. 123            Broken version of 122.
  6547.  
  6548. 124            Horizontal rectangular light (two neo tubes),
  6549.                shootable.
  6550.  
  6551. 125            Shot version of 124.
  6552.  
  6553. 126            Square technical light in four sectors.
  6554.  
  6555. 127            Wavy technical light.
  6556.  
  6557. 128            Rectangual technical light, consisting of 3 lamps.
  6558.  
  6559. 225            Long narrow blue light (up/down), used in windows
  6560.                of space station.
  6561.  
  6562. 229            Like 225, but left/right.
  6563. 11.2.8  [Switches]
  6564.  
  6565. 130            Locked access switch (requiring card).
  6566.  
  6567. 131            Open access switch.
  6568.  
  6569. 132,133        Horizontal slot switch.
  6570.  
  6571. 134,135        Vertical slot switch.
  6572.  
  6573. 136,137        Rotating switch.
  6574.  
  6575. 138,129        90 degree switch.
  6576.  
  6577. 140,141        Massive power switch.
  6578.  
  6579. 142..145       Endlevel switch with animation.
  6580.  
  6581. 146..149       Multiswitch.
  6582.  
  6583. 161,163        Red button switch.
  6584.  
  6585. 164,165        Flat square switch.
  6586.  
  6587. 166,167        Rotating lit switch.
  6588.  
  6589. 168,169        Circular lit switch.
  6590.  
  6591. 170,171        Access switch
  6592.  
  6593. 11.2.9  [Doors]
  6594.  
  6595. Doors consisting of two tiles are usually splitting doors.
  6596.  
  6597. 11.2.9.1  (Technical doors)
  6598.  
  6599. 150            Rising door with red panel.
  6600.  
  6601. 151            Door side wall, fits 150.
  6602.  
  6603. 152,153        Dark door, light row at top and bottom.
  6604.  
  6605. 154,155        Door with circular pattern.
  6606.  
  6607. 156            Modern dark blue door.
  6608.                Nice multipurpose tile.
  6609.  
  6610. 157            Sliding door with nuke pattern on it.
  6611.  
  6612. 158            Solid metal door with cross on it.
  6613.  
  6614. 159            Narrow steel door with blue grip.
  6615.  
  6616. 226            Locker door with space logo on it.
  6617.  
  6618. 227            Locker door like 226, but plain.
  6619.  
  6620. 242            Standard rising door with yellow/black tracks and
  6621.                cross-pattern.
  6622.  
  6623. 243            Garage door in poor condition, good wall texture
  6624.                as well.
  6625.  
  6626. 11.2.9.2  (Normal)
  6627.  
  6628. 245            Light hotel door with small label.
  6629.  
  6630. 11.2.10  (Floors)
  6631.  
  6632. Most of these tiles can be used for walls as well, of course.
  6633.  
  6634. 181            Smooth modern stone with circle pattern on it.
  6635.  
  6636. 182            Dark gray tile.
  6637.                Useful for kitchen walls.
  6638.  
  6639. 183            Dark gray tile with grid pattern.
  6640.  
  6641. 184            Gray modern lined, looks like columns behind bars.
  6642.  
  6643. 191            Scruffy ractangular tiles.
  6644.  
  6645. 200..202       Animated green slime.
  6646.  
  6647. 210            Many light ovals on dark background. Can probably
  6648.                be usefully resized.
  6649.  
  6650. 211            Patterned square stone tiles (gray).
  6651.  
  6652. 216            Square gray stone tile.
  6653.  
  6654. 220            Square gray stone tile with rounded edges.
  6655.  
  6656. 228            Square metal tiles with thin dark border.
  6657.  
  6658. 11.2.11  (Walls)
  6659.  
  6660. While these textures can be creatively used for anything, they
  6661. sure look like walls to me.
  6662.  
  6663. 11.2.11.1  (Machines)
  6664.  
  6665. 185            Four gray machines with an indirect light above
  6666.                them.
  6667.  
  6668. 186..190       Green pipes on tiles.
  6669.                Use 191 for same background without the pipes.
  6670.  
  6671. 192            Like the tiles from 186, but lit by a single lamp.
  6672.  
  6673. 222            Technical panel in green machine.
  6674.  
  6675. 247            Fuse panel (?) set in gray wall. Fits 251.
  6676.  
  6677. 11.2.11.2  (Space ship hull)
  6678.  
  6679. 233            Light tech wall with green stripe.
  6680.  
  6681. 234            Manoeuvre thrusters.
  6682.  
  6683. 235            Solar panels.
  6684.  
  6685. 236            Triangular pattern.
  6686.  
  6687. 237            Thick stripe.
  6688.  
  6689. 248            More hull.
  6690. 11.2.11.3  (Modern)
  6691.  
  6692. 204            Dark rounded edge on light gray, use with 205.
  6693.  
  6694. 205            Two parallel dark stripes on light gray, use with
  6695.                204 to create a special wall/door/sign.
  6696.  
  6697. 207            Gray technical-looking wall with patterned stripe.
  6698.  
  6699. 209            Similar to 207, but without the stripe.
  6700.  
  6701. 212..215       Similar to 209.
  6702.  
  6703. 217            Gray technical wall with two baby-blue (!) stripes
  6704.                on it.
  6705.  
  6706. 223            Dark blue wall with metal rivets and light pipes
  6707.                lenghtwise.
  6708.  
  6709. 224            Barred panel (?) for wall 223.
  6710.  
  6711. 246            Light wall with embossed arrow pattern.
  6712.  
  6713. 249,250        Like 246, but overgrown with slime.
  6714.  
  6715. 251            Light wall with blue strip, lit from small lamps.
  6716.                Fits 247.
  6717.  
  6718. 252            Like 251, but without the lamps.
  6719.  
  6720. 11.2.11.4  (Metal)
  6721.  
  6722. 193            Black metal, lit from the upper right.
  6723.  
  6724. 194            Narrow metal strips, belonging to 193.
  6725.  
  6726. 244            Dark corrugated metal, lit from lamp above.
  6727.  
  6728. 11.2.11.5  (Concrete)
  6729.  
  6730. 195            Heavy concrete, like inside of factory.
  6731.  
  6732. 196            Reinforced concrete, fits to 195.
  6733.  
  6734. 197            Reinforced concrete with lights, fits to 195.
  6735.  
  6736. 254            Long thin heavy-looking concrete with lichens.
  6737.  
  6738. 11.2.11.6  (Stone)
  6739.  
  6740. 231            Heavy tiled dark stone, with lichen on it.
  6741.  
  6742. 232            Similar to 232, but patterned.
  6743.  
  6744. 241            Smooth white stone (marble?).
  6745.  
  6746. 11.2.11.7  (Rock)
  6747.  
  6748. 238            Light rock with vertical dark fissures.
  6749.  
  6750. 239            Light rock with stones in it, fits 238.
  6751.  
  6752. 240            Irregular gray rock, could be used as blasted
  6753.                stone.
  6754. 11.2.12  (Technical-looking items)
  6755.  
  6756. 11,12          The floating demo recording camera.
  6757.  
  6758. 203            Computer module with chips on it.
  6759.  
  6760. 160            Steel pistons with green slime.
  6761.  
  6762. 11.2.13  (Often-used special textures)
  6763.  
  6764. 70             Broken mirror.
  6765.                This texture is set automatically when a mirror is
  6766.                broken.
  6767.  
  6768. 161            Dark door tracks.
  6769.  
  6770. 198            Milk glass.
  6771.  
  6772. 230            Invisible forcefield.
  6773.                Doesn't hurt you if touched, can be dimmed to
  6774.                invisibility.
  6775.  
  6776. 852            Broken concrete
  6777.                Typically used inside blasted holes or damaged
  6778.                walls.
  6779.  
  6780. 11.2.14  [Diverse]
  6781.  
  6782. 20             A hollow frame, used in the status bar of the
  6783.                game.
  6784.  
  6785. 30             The health box from the status bar.
  6786.  
  6787. 31             The ammo box from the status bar.
  6788.  
  6789. 33             The inventory box from the status bar.
  6790.  
  6791. 218            Long thin gray metal plate with a rivet in the
  6792.                top.
  6793.  
  6794. 219            Tree trunk.
  6795.  
  6796. 221            Metal cover with space logo embossed on it.
  6797.  
  6798. 11.2.15  (Unclassified (please assist!))
  6799.  
  6800. 62             Small red sphere.
  6801.  
  6802. 63             Small yellow sphere.
  6803.  
  6804. 64             Small green sphere.
  6805.  
  6806. 199            Solid light blue.
  6807.  
  6808. 206            Wall edge?
  6809.  
  6810. 208            Wall edge? (similar to 206).
  6811.  
  6812. 253            Long thin texture, door track?
  6813.  
  6814. 11.3  (List of Palettes)
  6815.  
  6816.  
  6817. Textures and sprites can be set to their own palette via
  6818. [Alt]-[P]. The palette info (together with distance shading and
  6819. translucence effects) is stored in PALETTE.DAT.
  6820.  
  6821. Here's a list of all useful palettes found so far:
  6822.  
  6823. 0              Default
  6824.                The standard palette. Used on a key, it defines a
  6825.                blue keycard.
  6826.  
  6827. 1              Blue
  6828.                A sprite with this palette will only appear in
  6829.                multi-player mode.
  6830.  
  6831. 2              Red
  6832.  
  6833. 3              Normal
  6834.                Use this on the floor or ceiling to create non-
  6835.                attacking vehicles under parallaxed skies.
  6836.  
  6837. 4              Special
  6838.                Makes sprites solid black - usful for turning
  6839.                forcefields invisible, for example.
  6840.  
  6841. 6              Night-vision
  6842.  
  6843. 7              Yellow
  6844.  
  6845. 8              Green
  6846.                Changes water to green slime.
  6847.  
  6848. 10             Red clothing
  6849.  
  6850. 11             Light green clothing
  6851.  
  6852. 12             Light gray clothing
  6853.  
  6854. 13             Dark grey clothing
  6855.  
  6856. 14             Dark green clothing.
  6857.                Set the nukebutton palette to 14 to have it show
  6858.                up in the proper 'secret level button' color.
  6859.  
  6860. 15             Brown clothing.
  6861.  
  6862. 16             Dark blue clothing.
  6863.  
  6864. 17             Blue skin, green clothes.
  6865.                Nice trooper palette - gives them a blue, alien
  6866.                skin.
  6867.  
  6868. 18             Light gray clothing.
  6869.  
  6870. 19             Red skin, grey clothes.
  6871.  
  6872. 20             Blue skin, grey clothes.
  6873.  
  6874. 21             Red card
  6875.                Defines a red keycard. Causes red clothes, too.
  6876.                A miniboss is created by setting a BOSS1 to this
  6877.                palette.
  6878. 22             LIght gray clothes.
  6879.  
  6880. 23             Yellow card
  6881.                Defines a yellow keycard.
  6882.  
  6883. 24             Nice trooper palette - gives them a red and blue
  6884.                uniform.
  6885.  
  6886. 25             Turns accessories red (like money from a
  6887.                stripper).
  6888.  
  6889. 26+            Seems to cause trouble, sometimes the sprite can't
  6890.                be changed back.
  6891.  
  6892.  
  6893. 11.4  {List of Sector Effectors}
  6894.  
  6895.  
  6896. This section will explain all sector effectors in detail.
  6897.  
  6898.  
  6899. 11.5  *List of sounds*
  6900.  
  6901.  
  6902. Except for some typos and formatting, I took this section
  6903. straight from Shane King aka Scatt Man (scattman@bssc.edu.au).
  6904. Thanks loads!
  6905.  
  6906. 11.5.1  Format of this list
  6907.  
  6908. Sound Number   Used in build.
  6909.  
  6910. Sound Name     This is the name that Duke Nukem uses internally
  6911.                to reference the sound.
  6912.  
  6913. .VOC file name The .voc files are stored in the duke3d.grp file.
  6914.  
  6915. Min/Max frequency adjustment
  6916.                A random value between these two limits is chosen
  6917.                each time the sound is played.
  6918.  
  6919. Priority       If there are too many sounds to be played at once
  6920.                the higher (I think) priority sounds get played.
  6921.  
  6922. Attributes
  6923.  
  6924.                    *  Bit 0 (%) Repeat
  6925.                       This sound will be played over and over.
  6926.  
  6927.                    *  Bit 1 ($) Ambient Sound
  6928.                       This sound can be used as an ambient sound.
  6929.  
  6930.                    *  Bit 2 (#) Duke Talk
  6931.                       This sound will follow the player.
  6932.  
  6933.                    *  Bit 3 (@) Adult Mode
  6934.                       This sound will only be played if adult
  6935.                       mode is on.
  6936.  
  6937.                    *  Bit 4 (!) Random Ambient Sound
  6938.                       This sound can be used as a random ambient
  6939.                       sound.
  6940.  
  6941. Volume adjustment
  6942.                Used to make the sound louder or softer.
  6943.  
  6944. Sample rate (Khz)
  6945.                Multi means the .voc file has multiple blocks.
  6946.  
  6947. Description of sound
  6948.  
  6949. A + in any section denotes that the section is not defined, hence
  6950. following sections are also not defined
  6951.  
  6952. 11.5.2  *The sounds themselves*
  6953.  
  6954.   + SLIM_PAIN           slimpn        0    0   3 -----    0 +
  6955.   0 KICK_HIT            kickhit       0    0   4 -----    0 5.988
  6956.     Duke's Mighty foot hits
  6957.   1 PISTOL_RICOCHET     ricochet      0    0   0 ----- 4096 5.988
  6958.     Pistol ricochet of solid object
  6959.   2 PISTOL_BODYHIT      bulithit      0    0   0 -----    0 5.988
  6960.     A bullet hits somebody
  6961.   3 PISTOL_FIRE         pistol      -64    0 254 -----    0 5.988
  6962.     Pistol firing
  6963.   4 EJECT_CLIP          clipout       0    0   3 -----    0 5.988
  6964.     Duke ejects a used clip
  6965.   5 INSERT_CLIP         clipin      512  512   3 -----    0 5.988
  6966.     Duke inserts a new clip
  6967.   6 CHAINGUN_FIRE       chaingun   -204 -204 254 -----  512 10.989
  6968.     Chaingun firing
  6969.   7 RPG_SHOOT           rpgfire     -32    0   4 -----    0 5.988
  6970.     RPG Firing
  6971.   8 POOLBALLHIT         poolbal1      0    0   0 -----    0 8
  6972.     A poolball is hit
  6973.   9 RPG_EXPLODE         bombexpl  -1024 1024 254 -----    0 multi
  6974.     A RPG rocket explodes
  6975.  10 CAT_FIRE            catfire     512  768   4 -----    0 5.988
  6976.     Freeze Ray Firing
  6977.  11 SHRINKER_FIRE       shrinker   -512    0   4 -----    0 8
  6978.     Shrinker Ray Firing
  6979.  12 ACTOR_SHRINKING     shrink        0    0   2 -----    0 8
  6980.     Somebody being shrunk
  6981.  13 PIPEBOMB_BOUNCE     pbombbnc      0    0   2 ----- 6144 5.988
  6982.     Tink of a pipe bomb bouncing
  6983.  14 PIPEBOMB_EXPLODE    bombexpl   -512    0 128 -----    0 multi
  6984.     A pipe bomb being detonated
  6985.  15 LASERTRIP_ONWALL    lsrbmbpt      0    0   3 -----    0 5.988
  6986.     A laser trip bomb being placed on a wall
  6987.  16 LASERTRIP_ARMING    lsrbmbwn      0    0   3 -----    0 5.988
  6988.     Beeping of a laser trip bomb about to explode
  6989.  17 LASERTRIP_EXPLODE   bombexpl   -512    0   4 -----    0 multi
  6990.     A laser trip bomb exploding
  6991.  18 VENT_BUST           ventbust    -32   32   2 -----    0 5.988
  6992.     Breaking a vent or fan
  6993.  19 GLASS_BREAKING      glass      -412    0   3 ----- 8192 8
  6994.     Glass window being smashed
  6995.  20 GLASS_HEAVYBREAK    glashevy   -412    0   3 ----- 8192 11.025
  6996.     Glass items being broken
  6997.  21 SHORT_CIRCUIT       shorted       0    0   0 ----- 6500 8
  6998.     Duke gets an electric shock
  6999.  22 ITEM_SPLASH         splash        0    0   2 -----    0 multi
  7000.     Item dropped into water
  7001.  23 DUKE_BREATHING      hlminhal      0    0 255 --#--    0 +
  7002.  24 DUKE_EXHALING       hlmexhal      0    0 255 --#--    0 +
  7003.  25 DUKE_GASP           gasp          0    0 255 --#--    0 8
  7004.     Duke catching breath after being under water
  7005.  26 SLIM_RECOG          slirec06      0    0   3 -----    0 11.025
  7006.     Green slime sights Duke
  7007.  27 ENDSEQVOL3SND1      KICKHEAD      0    0 254 -----    0 11.025
  7008.     Duke kicks bosses head at goal
  7009.  28 DUKE_URINATE        pissing       0    0   4 -----    0 5.988
  7010.     Duke going to the toilet
  7011.  29 ENDSEQVOL3SND2      GMEOVR05      0    0 254 -----    0 8
  7012.     Duke "Game over"
  7013.  30 ENDSEQVOL3SND3      CHEER         0    0 254 -----    0 11.025
  7014.     The crowd cheering Duke
  7015.  31 +
  7016.  32 DUKE_PASSWIND       +
  7017.  33 DUKE_CRACK          WAITIN03      0    0 255 --#--    0 8
  7018.     Duke "What are you waiting for, Christmas?"
  7019.  34 SLIM_ATTACK         slimat        0    0   3 -----    0 11.025
  7020.     Green Slime Attacking
  7021.  35 SOMETHINGHITFORCE   teleport      0    0   2 ----- 8192 5.988
  7022.     Something hitting a force field
  7023.  36 DUKE_DRINKING       drink18    -128  128   2 --#--    0 11.025
  7024.     Duke drinking water
  7025.  37 DUKE_KILLED1        damn03        0    0 255 -@#--    0 8
  7026.     Duke "Damn"
  7027.  38 DUKE_GRUNT          exert         0    0   2 --#--    0 11.025
  7028.     Duke - Uuugh
  7029.  39 DUKE_HARTBEAT       hartbeat      0    0   0 -----    0 5.988
  7030.     Duke's heart beating
  7031.  40 DUKE_ONWATER        wetfeet       0    0   4 -----    0 11.025
  7032.     Duke splashing through water
  7033.  41 DUKE_DEAD           DMDEATH     -64   64 255 --#--    0 8
  7034.     Duke's death scream
  7035.  42 DUKE_LAND           land02        0    0   2 -----    0 8
  7036.     Duke Landing on the ground (Not hurt)
  7037.  43 DUKE_WALKINDUCTS    ductwlk     -64  128   2 -----    0 multi
  7038.     Duke walking in air ducts
  7039.  44 DUKE_GLAD           +
  7040.  45 DUKE_YES            yes           0    0 255 --#--    0 +
  7041.  46 DUKE_HEHE           +
  7042.  47 DUKE_SHUCKS         +
  7043.  48 DUKE_UNDERWATER     scuba         0    0   2 -----    0 multi
  7044.     Duke underwater with scuba
  7045.  49 DUKE_JETPACK_ON     jetpakon      0    0   4 -----    0 8
  7046.     Duke turning jet pack on
  7047.  50 DUKE_JETPACK_IDLE   jetpaki       0    0   1 -----    0 8
  7048.     Duke with jet pack on
  7049.  51 DUKE_JETPACK_OFF    jetpakof      0    0   2 -----    0 8
  7050.     Duke turning jet pack off
  7051.  52 LIZTROOP_GROWL      +
  7052.  53 LIZTROOP_TALK1      +
  7053.  54 LIZTROOP_TALK2      +
  7054.  55 LIZTROOP_TALK3      +
  7055.  56 DUKETALKTOBOSS      duknuk14      0    0 255 -@#--    0 8
  7056.     Duke "I'm Duke Nukem and I'm coming to get the rest of you
  7057.           alien bastards"
  7058.  57 LIZCAPT_GROWL       +
  7059.  58 LIZCAPT_TALK1       +
  7060.  59 LIZCAPT_TALK2       +
  7061.  60 LIZCAPT_TALK3       +
  7062.  61 LIZARD_BEG          chokn12       0    0   3 -----    0 multi
  7063.     Alien shaking head when not quite dead
  7064.  62 LIZARD_PAIN         +
  7065.  63 LIZARD_DEATH        +
  7066.  64 LIZARD_SPIT         lizspit       0    0   0 -----    0 8
  7067.     Lizard spitting at Duke
  7068.  65 DRONE1_HISSRATTLE   +
  7069.  66 DRONE1_HISSSCREECH  +
  7070.  67 DUKE_TIP2           shake2a       0    0 255 --#--    0 8
  7071.     Duke "Shake it baby"
  7072.  68 FLESH_BURNING       fire09     -256    0   0 ----- 6100 multi
  7073.     Fire crackling
  7074.  69 SQUISHED            squish        0    0   3 -----    0 8
  7075.     Someone is squished
  7076.  70 TELEPORTER          teleport      0    0   0 -----    0 5.988
  7077.     A teleporter is used
  7078.  71 ELEVATOR_ON         gbelev01      0    0   0 -----    0 8
  7079.     Elevator is used
  7080.  72 DUKE_KILLED3        thsuk13a      0    0 255 -@#--    0 8
  7081.     Duke "Uugh, this sucks"
  7082.  73 ELEVATOR_OFF        gbelev02      0    0   0 -----    0 8
  7083.     Elevator stopping
  7084.  74 DOOR_OPERATE1       slidoor    -256    0   0 -----    0 11.025
  7085.     Metalic Sliding Door
  7086.  75 SUBWAY              subway        0    0   0 -----    0 multi
  7087.     A subway train
  7088.  76 SWITCH_ON           switch        0    0   0 -----    0 multi
  7089.     Click of a switch being used
  7090.  77 FAN                 fan           0    0   0 -----    0 +
  7091.  78 DUKE_GETWEAPON3     groovy02      0    0 255 --#--    0 8
  7092.     Duke "Groovy"
  7093.  79 FLUSH_TOILET        flush         0    0   3 ---$-    0 multi
  7094.     Toilet being flushed
  7095.  80 HOVER_CRAFT         hover         0    0   0 -----    0 +
  7096.  81 EARTHQUAKE          quake         0    0   0 -----    0 multi
  7097.     Earthquake rumble
  7098.  82 INTRUDER_ALERT      alert         0    0   0 -----    0 5.988
  7099.     Warning alarm
  7100.  83 END_OF_LEVEL_WARN   monitor       0    0   0 -----    0 8
  7101.     End of level warning
  7102.  84 ENGINE_OPERATING    onboard       0    0   0 ---$-    0 multi
  7103.     Low pitched grind of engine operation
  7104.  85 REACTOR_ON          reactor       0    0   0 ---$-    0 multi
  7105.     High pitched hum of reactor
  7106.  86 COMPUTER_AMBIENCE   compamb       0    0   0 ---$-    0 11.025
  7107.     Computer operation sound
  7108.  87 GEARS_GRINDING      geargrnd      0    0   0 ---$-    0 5.988
  7109.     Turning gears grinding together
  7110.  88 BUBBLE_AMBIENCE     bubblamb   -256    0   0 ---$-    0 multi
  7111.     Water bubbling
  7112.  89 MACHINE_AMBIENCE    machamb       0    0   0 ---$-    0 11.025
  7113.     Thumping of machine operating
  7114.  90 SEWER_AMBIENCE      drip3         0    0   0 -----    0 11.025
  7115.     Drip into water
  7116.  91 WIND_AMBIENCE       wind54        0    0   0 ---$-    0 multi
  7117.     Gust of wind
  7118.  92 SOMETHING_DRIPPING  drip3         0    0   0 ----- 9000 11.025
  7119.     Loud drip
  7120.  93 STEAM_HISSING       steamhis      0    0   0 ----% 8192 8
  7121.     Steam hissing from pipe or pot
  7122.  94 THEATER_BREATH      +
  7123.  95 BAR_MUSIC           barmusic      0    0 254 ---$%    0 11.025
  7124.     Dance music in bar (as in bar in e1l2)
  7125.  96 BOS1_ROAM           bos1rm        0    0   3 -----    0 11.025
  7126.     Boss 1 screaming
  7127.  97 BOS1_RECOG          bos1rg        0    0   5 -----    0 8
  7128.     Boss 1 sees Duke
  7129.  98 BOS1_ATTACK1        chaingun      0    0   3 -----    0 10.989
  7130.     Boss 1 using chaingun
  7131.  99 BOS1_PAIN           bos1pn        0    0   3 -----    0 8
  7132.     Boss 1 in pain
  7133. 100 BOS1_DYING          bos1dy        0    0   3 -----    0 8
  7134.     Boss 1 biting the dust
  7135. 101 BOS2_ROAM           b2atk01       0    0   3 -----    0 11.025
  7136.     Boss 2 screaming
  7137. 102 BOS2_RECOG          b2rec03       0    0   3 -----    0 11.025
  7138.     Boss 2 sees Duke
  7139. 103 BOS2_ATTACK         b2atk02       0    0   3 -----    0 11.025
  7140.     High pitched scream as boss 2 attacks
  7141. 104 BOS2_PAIN           b2pain03      0    0   3 -----    0 11.025
  7142.     Boss 2 in pain
  7143. 105 BOS2_DYING          b2die03       0    0   3 -----    0 11.025
  7144.     Boss 2 dying
  7145. 106 GETATOMICHEALTH     teleport   2048 2048 255 -----    0 5.988
  7146.     Sound when Duke picks up a health atom
  7147. 107 DUKE_GETWEAPON2     getsom1a      0    0 255 --#--    0 8
  7148.     Duke "Come get some"
  7149. 108 BOS3_DYING          b3die03g      0    0   3 -----    0 11.025
  7150.     Boss 3 Dying
  7151. 109 SHOTGUN_FIRE        shotgun7      0  512 254 -----    0 11.025 16bit
  7152.     Shotgun blast
  7153. 110 PRED_ROAM           roam06        0    0   3 -----    0 multi
  7154.     Trooper sees Duke
  7155. 111 PRED_RECOG          predrg        0    0   3 -----    0 multi
  7156.     Trooper sees Duke
  7157. 112 PRED_ATTACK         gblasr01    256  256   3 ----- 7680 8
  7158.     Trooper fires at Duke
  7159. 113 PRED_PAIN           predpn      200  500   3 -----    0 8
  7160.     Trooper screaming in pain
  7161. 114 PRED_DYING          preddy        0  400   3 -----    0 multi
  7162.     Trooper dying
  7163. 115 CAPT_ROAM           predrm        0  200   3 -----    0 multi
  7164.     Lizard Captian roaming
  7165. 116 CAPT_ATTACK         chaingun      0    0   3 ----- -200 10.989
  7166.     Lizard Captain attacking with chaingun
  7167. 117 CAPT_RECOG          predrg     -400    0   3 -----    0 multi
  7168.     Lizard Captain sees player
  7169. 118 CAPT_PAIN           predpn     -200  100   3 -----    0 8
  7170.     Lizard Captain in pain
  7171. 119 CAPT_DYING          preddy     -200  100   3 -----    0 multi
  7172.     Lizard Captain dies
  7173. 120 PIG_ROAM            roam29     -200  400   3 -----    0 multi
  7174.     Pig Cop roaming
  7175. 121 PIG_RECOG           pigrg      -200  400   3 -----    0 8
  7176.     Pig Cop sees Duke
  7177. 122 PIG_ATTACK          shotgun7   -256  256   4 -----    0 11.025 16bit
  7178.     Pig Cop fires shotgun
  7179. 123 PIG_PAIN            pigpn       100  800   3 -----    0 8
  7180.     Pig Cop grunts in pain
  7181. 124 PIG_DYING           pigdy      -800  100   3 -----    0 8
  7182.     Pig Cop death squeal
  7183. 125 RECO_ROAM           jetpaki       0    0   3 -----    0 8
  7184.     Recon Car Moving
  7185. 126 RECO_RECOG          pigrg         0    0   3 -----    0 8
  7186.     Recon Car sees Duke
  7187. 127 RECO_ATTACK         gblasr01    256  256   3 ----- 7680 8
  7188.     Recon Car firing at Duke
  7189. 128 RECO_PAIN           pigpn         0    0   3 -----    0 8
  7190.     Recon car grunts in pain
  7191. 129 RECO_DYING          pigdy         0    0   3 -----    0 8
  7192.     Recon Car Dies
  7193. 130 DRON_ROAM           snakrm        0    0   3 -----    0 multi
  7194.     Drone roaming
  7195. 131 DRON_RECOG          snakrg        0    0   3 -----    0 11.025
  7196.     Drone sees Duke
  7197. 132 DRON_ATTACK1        snakatA       0    0   3 -----    0 11.025
  7198.     High pitches zzzzz when drone attacks Duke
  7199. 133 DRON_PAIN           snakpn        0    0   3 -----    0 11.025
  7200.     Drone in Pain
  7201. 134 DRON_DYING          snakdy        0    0   3 -----    0 11.025
  7202.     Growl when Drone dies
  7203. 135 COMM_ROAM           commrm        0    0   3 -----    0 11.025
  7204.     Fat commander roaming
  7205. 136 COMM_RECOG          commrg        0    0   3 -----    0 11.025
  7206.     Fat Commander sees Duke and says "Die Human"
  7207. 137 COMM_ATTACK         commat        0    0   3 -----    0 11.025
  7208.     Fat Commander attacking and says "Suck it down"
  7209. 138 COMM_PAIN           commpn        0    0   3 -----    0 11.025
  7210.     Fat Commander in pain
  7211. 139 COMM_DYING          commdy        0    0   3 -----    0 11.025
  7212.     Extended scream of commander dying
  7213. 140 OCTA_ROAM           octarm     -200    0   3 -----    0 8
  7214.     Octobrain roaming
  7215. 141 OCTA_RECOG          octarg        0    0   3 -----    0 8
  7216.     Octobrain sees Duke
  7217. 142 OCTA_ATTACK1        octaat1       0    0   3 -----    0 8
  7218.     Octobrain firing at Duke
  7219. 143 OCTA_PAIN           octapn     -400    0   3 -----    0 8
  7220.     Octobrain screaming in pain
  7221. 144 OCTA_DYING          octady     -400 -100   3 -----    0 8
  7222.     Octobrain dying
  7223. 145 TURR_ROAM           turrrm        0    0   3 -----    0 +
  7224. 146 TURR_RECOG          turrrg        0    0   3 -----    0 +
  7225. 147 TURR_ATTACK         turrat        0    0   3 -----    0 +
  7226. 148 DUMPSTER_MOVE       grind         0    0   0 -----    0 11.025
  7227.     Grinding wheels of dumpster
  7228. 149 SLIM_DYING          slidie03      0    0   3 -----    0 11.025
  7229.     Green Slime dying
  7230. 150 BOS3_ROAM           b3roam01      0    0   3 -----    0 11.025
  7231.     Boss 3 roaming
  7232. 151 BOS3_RECOG          b3pain04      0    0   3 -----    0 11.025
  7233.     Boss 3 sees Duke
  7234. 152 BOS3_ATTACK1        b3atk01       0    0   3 -----    0 +
  7235. 153 BOS3_PAIN           b3rec03g      0    0   3 -----    0 11.025
  7236.     Boss 3 in pain
  7237. 154 BOS1_ATTACK2        rpgfire       0    0   3 -----    0 +
  7238. 155 COMM_SPIN           commsp        0    0   3 -----    0 11.025
  7239.     Fat Commander spinning
  7240. 156 BOS1_WALK           thud          0    0   3 -----    0 multi
  7241.     Thump as Boss 1 walks
  7242. 157 DRON_ATTACK2        snakatB       0    0   3 -----    0 11.025
  7243.     Drone attacking
  7244. 158 THUD                thud          0    0   0 -----    0 multi
  7245.     THUD!
  7246. 159 OCTA_ATTACK2        octaat2       0  600   3 -----    0 multi
  7247.     Octobrain attacking with teeth
  7248. 160 WIERDSHOT_FLY       octaat1       0    0   3 -----    0 8
  7249.     Octobrain firing
  7250. 161 TURR_PAIN           turrpn        0    0   3 -----    0 +
  7251. 162 TURR_DYING          turrdy        0    0   3 -----    0 +
  7252. 163 SLIM_ROAM           sliroa02      0    0   3 -----    0 11.025
  7253.     Green Slime roaming
  7254. 164 LADY_SCREAM         FSCRM10    -256    0 254 -@---    0 8
  7255.     Woman screaming when hit
  7256. 165 DOOR_OPERATE2       opendoor   -256    0   0 -----    0 11.025
  7257.     Swinging door
  7258. 166 DOOR_OPERATE3       edoor10    -256    0   0 -----    0 11.025
  7259.     Sliding door
  7260. 167 DOOR_OPERATE4       edoor11    -256    0   0 -----    0 11.025
  7261.     Sliding door
  7262. 168 BORNTOBEWILDSND     2bwild        0    0 254 ---$-    0 11.025
  7263.     Born to be wild music
  7264. 169 SHOTGUN_COCK        shotgnck     96  192   3 -----    0 11.025
  7265.     Shot gun being cocked
  7266. 170 GENERIC_AMBIENCE1   grind         0    0   0 ----%    0 11.025
  7267.     Grinding Sound
  7268. 171 GENERIC_AMBIENCE2   enghum        0    0   0 ---$-    0 multi
  7269.     Engine humming
  7270. 172 GENERIC_AMBIENCE3   lava06        0    0   0 ---$-    0 8
  7271.     Lava
  7272. 173 GENERIC_AMBIENCE4   bubblamb   -256    0   0 ---$-    0 multi
  7273.     Water bubbling
  7274. 174 GENERIC_AMBIENCE5   phonbusy      0    0   0 -----    0 11.025
  7275.     Phone Engaged
  7276. 175 GENERIC_AMBIENCE6   roam22        0    0   0 ---$-    0 multi
  7277.     Octobrain like sound
  7278. 176 BOS3_ATTACK2        +
  7279. 177 GENERIC_AMBIENCE17  myself3a      0    0 255 --#--    0 8
  7280.     Duke "Hmmm, don't have time to play with myself"
  7281. 178 GENERIC_AMBIENCE18  monolith      0    0   0 ---$-    0 11.025
  7282.     Wierd alien ambience
  7283. 179 GENERIC_AMBIENCE19  hydro50       0    0   0 ---$-    0 11.025
  7284.     Water ambience
  7285. 180 GENERIC_AMBIENCE20  con03         0    0   0 --#--    0 11.025
  7286.     Duke "Hmmm, looks like I have the con"
  7287. 181 GENERIC_AMBIENCE21  !prison       0    0 255 --#--    0 multi
  7288.     "Ha Ha Ha, too late Nukem, we're in control now"
  7289. 182 GENERIC_AMBIENCE22  vpiss2        0    0 255 --#--    0 +
  7290. 183 SECRETLEVELSND      secret        0    0 255 -----    0 11.025
  7291.     Secret Level
  7292. 184 GENERIC_AMBIENCE8   amb81b        0    0   0 ---$-    0 8
  7293.     Far off alien ambience
  7294. 185 GENERIC_AMBIENCE9   roam98b       0    0   0 ---$-    0 multi
  7295.     Muffled voice
  7296. 186 GENERIC_AMBIENCE10  h2orush2      0    0   0 ---$%    0 8
  7297.     Water flowing
  7298. 187 GENERIC_AMBIENCE11  projrun       0    0   0 ---$%    0 8
  7299.     Movie Projector
  7300. 188 GENERIC_AMBIENCE12  blank         0    0   0 -----    0 5.988
  7301.     A blank .voc file
  7302. 189 GENERIC_AMBIENCE13  pay02         0    0 255 -@#--    0 8
  7303.     Duke "Damn, those alien bastards are going to pay for
  7304.           shooting up my ride"
  7305. 190 GENERIC_AMBIENCE14  onlyon03      0    0 255 --#--    0 8
  7306.     Duke "What, there's only one of you?"
  7307. 191 +
  7308. 192 GENERIC_AMBIENCE15  rides09       0    0 255 --#--    0 8
  7309.     Duke "I think I'll climb aboard"
  7310. 193 GENERIC_AMBIENCE16  doomed16      0    0 255 --#--    0 multi
  7311.     Duke "That's one doomed space marine"
  7312. 194 FIRE_CRACKLE        fire09        0    0 254 ---$-    0 multi
  7313.     Fire crackling
  7314. 195 BONUS_SPEECH1       letsrk03      0    0 255 --#--    0 8
  7315.     Duke "Let's rock"
  7316. 196 BONUS_SPEECH2       ready2a       0    0 255 --#--    0 8
  7317.     Duke "Ready for action"
  7318. 197 BONUS_SPEECH3       ripem08       0    0 255 --#--    0 8
  7319.     Duke "Rip 'em a new one"
  7320. 198 PIG_CAPTURE_DUKE    !pig          0    0 255 -@---    0 multi
  7321.     "Got you now, you bastard, and we're gonna fry your arse"
  7322. 199 BONUS_SPEECH4       rockin02      0    0 255 --#--    0 8
  7323.     Duke "Rockin'"
  7324. 200 DUKE_LAND_HURT      pain39        0    0 255 --#--    0 8
  7325.     Duke landing from a height and hurting himself
  7326. 201 DUKE_HIT_STRIPPER1  damnit04      0    0 255 -@#--    0 8
  7327.     Duke "Damn it"
  7328. 202 DUKE_TIP1           dance01       0    0 255 --#--    0 8
  7329.     Duke "You wanna dance?"
  7330. 203 DUKE_KILLED2        damnit04      0    0 255 -@#--    0 8
  7331.     Duke "Damn it"
  7332. 204 PRED_ROAM2          roam58        0    0   3 -----    0 multi
  7333.     Trooper roaming
  7334. 205 PIG_ROAM2           roam67     -200  400   3 -----    0 8
  7335.     Pig Cop roaming
  7336. 206 DUKE_GETWEAPON1     cool01        0    0 255 --#--    0 8
  7337.     Duke "Cool"
  7338. 207 DUKE_SEARCH2        whrsit05      0    0 255 --#--    0 8
  7339.     Duke "Whare is it?"
  7340. 208 DUKE_CRACK2         COMEON02      0    0 255 --#--    0 8
  7341.     Duke "Come on"
  7342. 209 DUKE_SEARCH         pain87        0    0   2 --#--    0 8
  7343.     Umph, Duke pressing on walls
  7344. 210 DUKE_GET            getitm19    -64   64 255 -----    0 8
  7345.     Beep when Duke picks up an item
  7346. 211 DUKE_LONGTERM_PAIN  gasps07    -192    0 255 --#--    0 8
  7347.     Duke gasping
  7348. 212 MONITOR_ACTIVE      monitor       0    0   0 -----    0 8
  7349.     Monitor beeping when changing camera
  7350. 213 NITEVISION_ONOFF    goggle12      0    0   0 -----    0 multi
  7351.     Turn on or turn off night vision googles
  7352. 214 DUKE_HIT_STRIPPER2  damn03        0    0 255 -@#--    0 8
  7353.     Duke "Damn"
  7354. 215 DUKE_CRACK_FIRST    knuckle       0    0   3 -----    0 multi
  7355.     Duke cracking his knuckles
  7356. 216 DUKE_USEMEDKIT      ahh04         0    0 255 --#--    0 8
  7357.     Ahhh
  7358. 217 DUKE_TAKEPILLS      gulp01        0    0 255 --#--    0 8
  7359.     Gulp when Duke uses steroids
  7360. 218 DUKE_PISSRELIEF     ahmuch03      0    0 255 --#--    0 8
  7361.     Duke "Ahhh, much better"
  7362. 219 SELECT_WEAPON       WPNSEL21    128  128   3 -----    0 8
  7363.     Changing weapon sound
  7364. 220 WATER_GURGLE        h2ogrgl2      0    0   1 ---$- 9000 multi
  7365.     Water trickling
  7366. 221 DUKE_GETWEAPON4     wansom4a      0    0 255 --#--    0 8
  7367.     Duke "Who wants some?"
  7368. 222 JIBBED_ACTOR1       AMESS06       0    0 255 --#--    0 8
  7369.     Duke "What a mess"
  7370. 223 JIBBED_ACTOR2       BITCHN04      0    0 255 -@#--    0 8
  7371.     Duke "Bitchin'"
  7372. 224 JIBBED_ACTOR3       HOLYCW01      0    0 255 --#--    0 8
  7373.     Duke "Holy Cow"
  7374. 225 JIBBED_ACTOR4       HOLYSH02      0    0 255 -@#--    0 8
  7375.     Duke "Holy Shit"
  7376. 226 JIBBED_ACTOR5       IMGOOD12      0    0 255 -@#--    0 8
  7377.     Duke "Damn I'm good"
  7378. 227 JIBBED_ACTOR6       PIECE02       0    0 255 --#--    0 8
  7379.     Duke "Piece of cake"
  7380. 228 JIBBED_ACTOR7       GOTHRT01      0    0 255 --#--    0 8
  7381.     Duke "Ooow, that's gotta hurt"
  7382. 229 DUKE_GOTHEALTHATLOW needed03      0    0 255 --#--    0 8
  7383.     Duke "Oooh, I needed that"
  7384. 230 BOSSTALKTODUKE      !boss         0    0 255 -----    0 multi
  7385.     "Who the hell are you?"
  7386. 231 WAR_AMBIENCE1       WARAMB13   -512    0 255 !----    0 5.988
  7387.     Plane fly past
  7388. 232 WAR_AMBIENCE2       WARAMB21   -512    0 254 !----    0 5.988
  7389.     Plane Crash
  7390. 233 WAR_AMBIENCE3       WARAMB23   -512    0 254 !----    0 5.988
  7391.     Plane fly past
  7392. 234 WAR_AMBIENCE4       WARAMB29   -512    0 254 !----    0 5.988
  7393.     Plane fly and alien scream
  7394. 235 WAR_AMBIENCE5       FORCE01       0    0   0 --#--    0 11.025
  7395.     Duke "Now, this is a force to be reackoned with"
  7396. 236 WAR_AMBIENCE6       QUAKE06       0    0   0 --#--    0 11.025
  7397.     Duke "I ain't afraid of no Quake"
  7398. 237 WAR_AMBIENCE7       TERMIN01      0    0   0 --#--    0 11.025
  7399.     Duke "Hmhm, terminated"
  7400. 238 WAR_AMBIENCE8       BORN01        0    0 254 !--$-    0 11.025
  7401.     Duke "Born to be wild"
  7402. 239 WAR_AMBIENCE9       NOBODY01      0    0   0 --#--    0 11.025
  7403.     Duke "Nobody steals our chicks - and lives"
  7404. 240 WAR_AMBIENCE10      CHEW05        0    0   0 -@#--    0 11.025
  7405.     Duke "Its time to kick arse and chew bubble gum, and I'm all
  7406.           out of gum"
  7407. 241 ALIEN_TALK1         MUSTDIE       0    0 255 -@#--    0 11.025
  7408.     "Duke Nukem must die"
  7409. 242 ALIEN_TALK2         DEFEATED      0    0 255 -@#--    0 11.025
  7410.     "Earth attack force defeated"
  7411. 243 EXITMENUSOUND       item15        0    0   0 -----    0 8
  7412.     Exit menus
  7413. 244 FLY_BY              flyby      -256  256   3 -----    0 multi
  7414.     Startup sound (at nuke symbol)
  7415. 245 DUKE_SCREAM         DSCREM04      0    0 255 -----    0 8
  7416.     Duke scream when he falls from a great height
  7417. 246 SHRINKER_HIT        thud          0    0   3 -----    0 multi
  7418.     Shrinker ray hit wall
  7419. 247 RATTY               mice3         0    0   0 -----    0 11.025
  7420.     Mice squeeking
  7421. 248 INTO_MENU           bulithit   1024 1024   0 -----    0 5.988
  7422.     Enter menus
  7423. 249 BONUSMUSIC          bonus         0    0 255 ----%    0 22.050
  7424.     Music at end of level screen
  7425. 250 DUKE_BOOBY          BOOBY04       0    0 255 --#--    0 8
  7426.     Duke "I should have known that those alien maggots booby
  7427.           trapped the sub"
  7428. 251 DUKE_TALKTOBOSSFALL DIESOB03      0    0 255 -@#--    0 multi
  7429.     Duke "Die you son of a bitch"
  7430. 252 DUKE_LOOKINTOMIRROR lookin01      0    0 255 -@#--    0 8
  7431.     Duke "Damn, I'm lookin' good"
  7432. 253 PIG_ROAM3           pigrm      -200  400   3 -----    0 8
  7433.     Pig Cop roaming
  7434. 254 KILLME              killme     -128    0   0 -----    0 11.025
  7435.     Pod-female saying "Kill me"
  7436. 255 DRON_JETSND         ENGHUM     1300 1300   0 -----    0 multi
  7437.     Engine humming
  7438. 256 SPACE_DOOR1         hydro22       0    0   0 ----- 8192 11.025
  7439.     Space door/elevator open/up
  7440. 257 SPACE_DOOR2         hydro24       0    0   0 -----    0 11.025
  7441.     Space door/elevator close/down
  7442. 258 SPACE_DOOR3         hydro27       0    0   0 ----- 8192 11.025
  7443.     Space door/elevator open/up with stop
  7444. 259 SPACE_DOOR4         hydro34       0    0   0 -----    0 11.025
  7445.     Space door open/close
  7446. 260 SPACE_DOOR5         hydro40       0    0   0 -----    0 11.025
  7447.     Pressure release
  7448. 261 ALIEN_ELEVATOR1     hydro43       0    0   0 -----    0 11.025
  7449.     Noisy elevator
  7450. 262 VAULT_DOOR          vault04       0    0   0 -----    0 11.025
  7451.     Slow moving door
  7452. 263 JIBBED_ACTOR13      LETGOD01      0    0 255 --#--    0 11.025
  7453.     Duke "Let God sort 'em out"
  7454. 264 DUKE_GETWEAPON6     HAIL01        0    0 255 --#--    0 11.025
  7455.     Duke "Hail to the King baby"
  7456. 265 JIBBED_ACTOR8       BLOWIT01      0    0 255 -@#--    0 11.025
  7457.     Duke "Blow it out your arse"
  7458. 266 JIBBED_ACTOR9       EATSHT01      0    0 255 -@#--    0 11.025
  7459.     Duke "Eat shit and die"
  7460. 267 JIBBED_ACTOR10      FACE01        0    0 255 -@#--    0 11.025
  7461.     Duke "Your face, your arse, what's the difference?"
  7462. 268 JIBBED_ACTOR11      INHELL01      0    0 255 -@#--    0 11.025
  7463.     Duke "See you in hell"
  7464. 269 JIBBED_ACTOR12      SUKIT01       0    0 255 --#--    0 11.025
  7465.     Duke "Suck it down"
  7466. 270 DUKE_KILLED4        dscrem18      0    0 255 --#--    0 8
  7467.     Duke strained scream
  7468. 271 DUKE_KILLED5        pisses01      0    0 255 -@#--    0 11.025
  7469.     Duke "This really pisses me off"
  7470. 272 ALIEN_SWITCH1       aswtch23      0    0   0 -----    0 11.025
  7471.     Splat switch
  7472. 273 DUKE_STEPONFECES    happen01      0    0   0 -@#--    0 11.025
  7473.     Duke "Shit happens"
  7474. 274 DUKE_LONGTERM_PAIN2 dscrem15      0    0 255 --#--    0 8
  7475.     Medium length scream
  7476. 275 DUKE_LONGTERM_PAIN3 dscrem16      0    0 255 --#--    0 11.025
  7477.     Short scream
  7478. 276 DUKE_LONGTERM_PAIN4 dscrem17      0    0 255 --#--    0 11.025
  7479.     Even shorter scream
  7480. 277 COMPANB2            CTRLRM25      0    0   0 ---$-    0 11.025
  7481.     Oscillating alien sound
  7482. 278 KTIT                ktitx         0    0 254 ---$-    0 8
  7483.     Duke "This is KTIT, K tit. Bringing you the breast, er, the
  7484.           best tunes in town"
  7485. 279 HELICOP_IDLE        hlidle03      0    0 255 ---$%    0 5.988
  7486.     Helicopter blades spinning
  7487. 280 STEPNIT             LIZSHIT3      0    0 254 -@#--    0 11.025
  7488.     Splat as Duke steps in it
  7489. 281 SPACE_AMBIENCE1     monolith      0    0   0 !----    0 11.025
  7490.     Wierd alien ambience
  7491. 282 SPACE_AMBIENCE2     hydro50       0    0   0 !----    0 11.025
  7492.     Grinding moving sound
  7493. 283 SLIM_HATCH          slhtch01      0    0   3 -----    0 11.025
  7494.     Green slime hatching
  7495. 284 RIPHEADNECK         rip01         0    0 254 -@#--    0 11.025
  7496.     Duke "I'll rip your head off and shit down your neck"
  7497. 285 FOUNDJONES          jones04       0    0   0 --#--    0 11.025
  7498.     Duke "We meet again, Dr Jones"
  7499. 286 ALIEN_DOOR1         adoor1        0    0   0 -----    0 11.025
  7500.     Very noisy door
  7501. 287 ALIEN_DOOR2         adoor2        0    0   0 -----    0 11.025
  7502.     Splatty door
  7503. 288 ENDSEQVOL3SND4      GRABBAG       0    0 254 ----%    0 11.025
  7504.     Duke Nukem Title music
  7505. 289 ENDSEQVOL3SND5      name01        0    0 250 -----    0 8
  7506.     Duke "My name's Duke Nukem"
  7507. 290 ENDSEQVOL3SND6      r&r01         0    0 251 -----    0 8
  7508.     Duke "After a few days of R & R, I'll be ready for more
  7509.           action"
  7510. 291 ENDSEQVOL3SND7      lani05        0    0 252 -----    0 8
  7511.     Lani "Ohh, come back to bed Duke"
  7512. 292 ENDSEQVOL3SND8      lani08        0    0 253 -----    0 8
  7513.     Lani "I'm ready for some action now"
  7514. 293 ENDSEQVOL3SND9      laniduk2      0    0 254 -----    0 8
  7515.     Lani & Duke make love
  7516. 294 WHIPYOURASS         WHIPYU01      0    0 255 --#--    0 8
  7517.     Duke "It's down to you and me, you one eyed freak"
  7518. 295 ENDSEQVOL2SND1      gunhit2       0    0 249 -----    0 22.050
  7519.     Gun hit
  7520. 296 ENDSEQVOL2SND2      headrip3      0    0 250 -----    0 11.025 16bit
  7521.     Head ripped off
  7522. 297 ENDSEQVOL2SND3      buckle        0    0 251 -----    0 22.050
  7523.     Unbuckle jeans
  7524. 298 ENDSEQVOL2SND4      jetp2         0    0 252 -----    0 11.050
  7525.     Throw off jetpack
  7526. 299 ENDSEQVOL2SND5      zipper2       0    0 253 -----    0 11.050
  7527.     Undo zipper
  7528. 300 ENDSEQVOL2SND6      news          0    0 254 -----    0 11.050
  7529.     Open newspaper
  7530. 301 ENDSEQVOL2SND7      whistle       0    0 255 -----    0 11.050 16bit
  7531.     Whistle Duke Nukem theme
  7532. 302 GENERIC_AMBIENCE23  2ride06       0    0 255 --#--    0 8
  7533.     Freeze ray hit somebody
  7534. 303 SOMETHINGFROZE      freeze        0    0   3 -----    0 22.050
  7535.     Duke "Damn, that's the second time those alien bastards shot
  7536.           up my ride"
  7537. 304 DUKE_LONGTERM_PAIN5 pain54        0    0 255 --#--    0 8
  7538.     Uww
  7539. 305 DUKE_LONGTERM_PAIN6 pain75        0    0 255 --#--    0 8
  7540.     Ugh
  7541. 306 DUKE_LONGTERM_PAIN7 pain93        0    0 255 --#--    0 8
  7542.     Oww
  7543.  
  7544. 307 DUKE_LONGTERM_PAIN8 pain68        0    0 255 --#--    0 8
  7545.     Uuughh
  7546. 308 WIND_REPEAT         wind54        0    0   0 ---$%    0 multi
  7547.     Repeating gust of wind
  7548.  
  7549.  
  7550. 11.6  (Dimensions)
  7551.  
  7552.  
  7553. Here are some facts on the dimensions of Dukes world. Keep in
  7554. mind, though, that you'll want to scale down real-world places to
  7555. make them faster and better-looking in Duke.
  7556.  
  7557. 11.6.1  [Units]
  7558.  
  7559. All (x,y,z) coordinates are in units; irritatingly, it seems that
  7560. the (x,y) units are different to the (z) units.
  7561. At a rough estimate, I would say that 16 (z) units = 1 (x,y)
  7562. unit.
  7563.  
  7564. 2 (x,y) units = 1 pixel (normal texture)
  7565. 8 (x,y) units = 1 pixel (shrunk using [E])
  7566. 128 (z) units = 1 pixel (normal texture)
  7567.  
  7568. Floors are raised by 1024 units every time [PgUp] or [PgDn] is
  7569. pressed.
  7570.  
  7571. Viewing Duke via [F7] in a narrow corridor, I would estimate 1024
  7572. units to be about 2.6m in the real world (meaning 1m is roughly
  7573. 400 units).
  7574. If I remember the weirdo US units correctly, 1 foot would be
  7575. about 128 units.
  7576.  
  7577. 11.6.2  [The map]
  7578.  
  7579. Maximum grid width is 1024 units.
  7580.  
  7581. In the following paragraphs, height values are shown as z-
  7582. coordinate difference, with the number of [PgUp]-keypresses in
  7583. square brackets behind it:
  7584.  
  7585. 11.6.2.1  [Walking about]
  7586.  
  7587. 3072 [3]       Max. height difference for stairs.
  7588.  
  7589. 6144 [6]       Min. sector height to enter while ducked.
  7590.  
  7591. 10240 [10]     Min. sector height to enter (will duck
  7592.                automatically for 10).
  7593.  
  7594. 16384 [16]     Height of standard sector created.
  7595.  
  7596. 20480 [20]     Max. jumpable height.
  7597.  
  7598. 11.6.2.2  [Weapons]
  7599.  
  7600. Numbers in brackets mean that only some of the shots will make
  7601. it.
  7602.  
  7603. 3072 [4096] (3 [4])
  7604.                Max. height of floor to shoot over while ducked.
  7605.  
  7606. 4096 (4)       Min. height to place tripbomb on when ducked.
  7607.  
  7608. 5192 [4096] (5 [4])
  7609.                Max. height of ceiling to shoot under while
  7610.                ducked.
  7611.  
  7612. 6144 (6)       Max. height of ceiling to shoot RPG under while
  7613.                ducked.
  7614.  
  7615. 8192 [9216] (8 [9])
  7616.                Max. height of floor to shoot over while standing.
  7617.  
  7618. 10240 [9216] (10 [9])
  7619.                Max. height of ceiling to shoot under while
  7620.                standing.
  7621.  
  7622. 1024 (10)      Min. height to place tripbomb on when standing.
  7623.  
  7624. 11264 (11)     Max. height of ceiling to shoot RPG under while
  7625.                standing.
  7626.  
  7627.  
  7628.  
  7629.  
  7630.  
  7631.  
  7632.                            Chapter 12
  7633.  
  7634.                           Miscellaneous
  7635.  
  7636.  
  7637. 12.1  (MAP design contest)
  7638.  
  7639.  
  7640. Joseph G. Geisler III is holding a MAP design contest - he's
  7641. setting up an HTML page (adress so far unknown to me) with MAP
  7642. ratings (good idea, _I_ wanted to do that! :). So send your maps
  7643. to him at dubljay@baltimore.net, you might even win something
  7644. (keyrings, T-shirts).
  7645.  
  7646. His announcement was dated 6th Jun 1996, so don't be surprised if
  7647. he got swamped and stopped his offer :)
  7648.  
  7649.  
  7650. 12.2  *PC Gaming's offer*
  7651.  
  7652.  
  7653. PC Gaming is another page that makes your maps accessible to the
  7654. world. Submit the levels in .ZIP form and include a screenshot as
  7655. well.
  7656.  
  7657. http://www.compusmart.ab.ca/mknox/pcgaming.htm
  7658.  
  7659.  
  7660. 12.3  Conclusion
  7661.  
  7662.  
  7663. Phew! Well, that is all I have! I hope this FAQ proves to provide
  7664. a good resource for DN3D Editing information. If you have any
  7665. suggestions, questions, additions, or comments for the FAQ, send
  7666. me e-mail at "sz0759@rzmail.uni-erlangen.de".
  7667.  
  7668. Thanks for reading the FAQ!  -Klaus Breuer
  7669.  
  7670.    SUPPORT YOUR SHAREWARE COMPANIES!  REGISTER YOUR SHAREWARE!
  7671.  
  7672.  
  7673. 12.4  [Revision history]
  7674.  
  7675.  
  7676. v0.1           First release of the DN3D EDITING FAQ as an RFC.
  7677.                (16. May 1996)
  7678.  
  7679. v0.2           RFC II, added how-tos and changed the format a
  7680.                bit. (20. May 1996)
  7681.  
  7682. v0.3           RFC III, added more how-tos, extended reference
  7683.                list. Released to the mailing list only. (24. May
  7684.                1996)
  7685.  
  7686. v0.4           First non-RFC release, added lots of info,
  7687.                including a beginners tutorial and BUILD
  7688.                reference. Plenty of typos fixed. (25. May 1996)
  7689.  
  7690. v1.0           First 'real' release of the FAQ. Lots more info,
  7691.                including thoughts on level design and more how-
  7692.                tos. Plenty of errors removed, first version of
  7693.                Museum included.
  7694.  
  7695. v1.1           More errors removed, list of sounds, better Museum,
  7696.                some ideas for .CON file hacking, nice ASCII logo.
  7697.                (27. June 1996)
  7698.  
  7699.  
  7700.