home *** CD-ROM | disk | FTP | other *** search
/ Duke Nukem 3D - Kill-A-Ton / Duke_Nukem_3D_Kill-A-Ton_Collection_-_CD1.iso / goodies / build / userfaq / dedfaq13.exe / DEDFAQ13.TXT next >
Internet Message Format  |  1996-07-07  |  307KB

  1. From sz0759@rzmail.uni-erlangen.de Fri Jul 05 09:45:47 1996
  2. Newsgroups: alt.games.duke3d
  3. Subject: UnOfficial Duke Editing FAQ v1.3
  4. From: sz0759@rzmail.uni-erlangen.de (Klaus Breuer)
  5. Date: 5 Jul 1996 14:45:47 GMT
  6.  
  7.  
  8. Hi everybody!
  9.  
  10. Welcome to v1.2 of The UnOfficial Duke Nukem 3D Editing FAQ!
  11.  
  12. This is a quick update to fix some embarassing typos and problems
  13. and get you some more how-tos. As soon as my current project is
  14. finished (a week or two), I'll bring out v1.3 :)
  15.  
  16. Since somebody is currently working on a new and better museum, I
  17. haven't touched it. It's still included in UUencoded format at the
  18. end of this message.
  19.  
  20. Improvements to be found in here:
  21.  
  22.     *  More tiles explained (we're up to 347 and it's a slow,
  23.        ugly job).
  24.  
  25.     *  More how-tos and info, as well as some general corrections.
  26.  
  27.     *  Looots of typos fixed (thanks, Christoph!).
  28.  
  29. All chapters which changed since the last release of the FAQ are
  30. marked with '*' in the table of contents. I have stopped marking
  31. the other chapters with things like '[' or '(' as it simply
  32. became too much work.
  33.  
  34. Planned improvements:
  35.  
  36.     *  Explain _all_ tiles and sounds in the reference section. I
  37.        still haven't gotten around to doing them all.
  38.  
  39.     *  Add more info on the utilities for Duke3D (like
  40.        RTSMAKER.EXE).
  41.  
  42.     *  Write more in chapter 8 (Programming the .CON files).
  43.  
  44.     *  List of sector effectors.
  45.  
  46.     *  Improve The Museum.
  47.  
  48.     *  As always, more how-tos!
  49.  
  50. I've received quite a lot of feedback - please keep it up! I'm
  51. also very interested in any ftp or www sites as well as any maps.
  52.  
  53. Here some questions for you:
  54.  
  55.     *  Would it be a Terrible Thing if I kept posting both parts
  56.        of the FAQ? Since part II is The Museum, it's UUENCODED
  57.        and thus a binary - it might be bad form posting this on a
  58.        discussion group.
  59.        However, I don't have access to alt.games.duke3d.editing,
  60.        and neither do a lot of other people...
  61.  
  62.     *  Anybody who can send me info, tips and tricks to be
  63.        included here? All ideas, tricks, etc which make it into
  64.        the FAQ will, of course, be fully attributed.
  65.  
  66.     *  Anybody started some serious .CON file hacking or has any
  67.        other CON-info I could put into here?
  68.  
  69.     *  I'd especially appreciate it if anybody could point out
  70.        errors in this FAQ. I'm even interested in typos :)
  71.  
  72.     *  Anybody who can think of questions which should be
  73.        included in this FAQ?
  74.  
  75.     *  Lots of open questions in the FAQ - the most pressing ones
  76.        IMO are marked '##'.
  77.  
  78. The FAQ will be posted monthly (or bi-weekly, if you prefere) to
  79. alt.games.duke3d.
  80.  
  81. I can't post it in ZIPped format, as I'll get a deluge of mail
  82. from beginners asking "How do I decode your file?". Since this
  83. FAQ is aimed at beginners, it wouldn't be very fair...
  84.  
  85. Ciao,
  86. Klaus
  87.  
  88. --- cut here ---
  89.  
  90. HHHHHH HH              HH    HH        .dHHb.   .dH  .dH db       db       HH
  91.   HH   HH              HH    HH       dhP""YHb dH"  dH"  YP       YP       HH
  92.   HH   HHHb.  .db.     HH    HH HHb.  HH    HH HHHH HHHH     dHHb     dHb. HH
  93.   HH   HH"Hb HP..Hb    HH    HH HH"Hb HH    HH HH   HH   HH dP"   HH   7db HH
  94.   HH   HH HH HH"""'    YHb..dHP HH HH YHb..dHP HH   HH   HH Yb.   HH HH"HH HH
  95.   HH   HH HH  "YHP      "YHHP"  HH HH  "YHHP"  HH   HH   HH  YHHP HH "YHHH HH
  96.  
  97.              __________     ___     ___   ___   ______ __________
  98.             |          `\  |   |   |   | |   | /    /~|          |
  99.             `|     ..    `\|.::|   |:::| |::.|/.. /~  |   -------'
  100.              |     HHb..:::dHHHH   HHHHH |HHHHHb:Y..  |   `"""""|
  101.              |    .HHH:::dHHHHHH   HHHHH |HHHHHHHb::::|.  ______|
  102.             ,|  .:|HHHxHHHHHHHHHbodHHHHP |HHHHHHHHbn::|:::`------.
  103.             |______HHHHHHHP "YHHHHHHHHP  |HHH| `HHHHHbHHb:::::...|
  104.              ____  ~~~~~~     `~~"~~~     ~~~   ~~~~~~ ~~~~~~~~~~
  105.             |.:::`:::HHHH:HHH:::HHH:HHb::dHHP:HHHHHHHH:HHb::::,~~|
  106.             |:::dHb::HHHH:HHH:::HHH:HHHbdHHP::HHHHHHHH:HHHb:::/::|
  107.              |dHHHHb:HHHH:HHH:::HHH:HHHHHHP:::HHH....::HHHHb:/'::|
  108.              dHHHHHHMHHHH:HHH:::HHH:HHHHHHX:::HHHHHHH::HHHHHXHb::|
  109.              HHH"YHHHHHHH:HHH:::HHH:HHHHHHHb::HHH""""::HHHXHHHXHb|
  110.             HHHH:::YHMMM!:YHHHMHHHP:HHH:"YHHb:HHHHHHHH:HHH:YHP:HHH
  111.             HHHH:::::HHHH::"YHHHY"::HHH:::YHHbHHHHHHHH:HHH::Y::HHH
  112.             mmmmmmmmmmmmmmmmmmmmmmm   mmmmmmmmmmmmmmmmmmmmmm..
  113.             HHHHHHHHHHHHHHHHHHHHHHHHb HHHHHHHHHHHHHHHHHHHHHHHHHn
  114.             """"          XHHHHHHHHHR ^HHHHHHHHHHH"""YHHHHHHHHHHb.
  115.                  HHHHHHHHHHHHHHHHHHHP  HHHHHHHHHHH    HHHHHHHHHHHH
  116.                  HHHHHHHHHHHHHHHHHHHb  HHHHHHHHHHH    HHHHHHHHHHHH
  117.             mmmm          XHHHHHHHHHH mHHHHHHHHHHHmmmdHHHHHHHHHHP'
  118.             HHHHHHHHHHHHHHHHHHHHHHHHP HHHHHHHHHHHHHHHHHHHHHHHHP'
  119.             """""""""""""""""""""""   """""""""""""""""""""""
  120.  
  121.        HHHHHH    HH db HH   db                HHHHHHHH  dHH  .dHHb.
  122.        HH        HH YP HH   YP                HH       dHHH dHP""YHb
  123.        HHHH   .dHHH    HHHH    HHHb.  .db.    HHHHH   dHPHH HH    HH
  124.        HH    dH' HH HH HH   HH HH"Hb dP"Hb    HH     dHP HH HH Yb HH
  125.        HH    Yb. HH HH YHb. HH HH HH Yb HH    HH    dHHHHHH YHb.YbHP
  126.        HHHHHH "YHHH HH  "YH HH HH HH  "YHH    HH   dHP   HH  "YHHHH"
  127.                                         HH                        Yb
  128.                                      Yb dP
  129.                                       "B"
  130.  
  131.                           Release v1.2
  132.                   Last Updated: 28th June 1996
  133.  
  134.                            Written by
  135.           Klaus Breuer (sz0759@rzmail.uni-erlangen.de)
  136.  
  137.  
  138.  
  139.                           Contents
  140.  
  141.  
  142.  
  143.      Chapter 1  Happy lawyer dept.
  144.         1.1  Disclaimer
  145.         1.2  Trademark information
  146.         1.3  Copyright notice
  147.  
  148.      Chapter 2  Introduction
  149.         2.1  *A word from Klaus Breuer*
  150.            2.1.1  *Printing the FAQ*
  151.            2.1.2  *Flames*
  152.         2.2  Intended Audience
  153.         2.3  *About the "UnOfficial" DUKE NUKEM 3D EDITING
  154.              FAQ*
  155.         2.4  Getting the "UnOfficial" DN3DE FAQ
  156.         2.5  *Adding to the FAQ*
  157.         2.6  *The DN3D EDITING mailing list*
  158.         2.7  The DN3D EDITING ftp site
  159.         2.8  *WWW sites*
  160.         2.9  IRC
  161.         2.10  *Acknowledgments*
  162.         2.11  Accurate information
  163.         2.12  Help with new levels
  164.  
  165.      Chapter 3  Preliminary information
  166.         3.1  Intended audience for this chapter
  167.         3.2  The basics
  168.            3.2.1  *Differences between the Build and DOOM
  169.                   engines*
  170.            3.2.2  Useful cheats for testing levels
  171.            3.2.3  What a map consists of
  172.               3.2.3.1  Sectors
  173.               3.2.3.2  *Walls*
  174.               3.2.3.3  Textures
  175.               3.2.3.4  Sprites
  176.  
  177.      Chapter 4  Planning and designing a level
  178.         4.1  *Installing BUILD*
  179.         4.2  *Before starting*
  180.         4.3  Pros and cons of using real-world maps
  181.            4.3.1  *Advantages*
  182.            4.3.2  Disadvantages
  183.         4.4  Using DOOM maps
  184.         4.5  Designing the level
  185.            4.5.1  Level types
  186.               4.5.1.1  *Single player*
  187.               4.5.1.2  Co-op
  188.               4.5.1.3  *DukeMatch*
  189.               4.5.1.4  *My room/flat/dorm/house*
  190.            4.5.2  Choosing a level type
  191.            4.5.3  *Random tips and thoughts*
  192.               4.5.3.1  *Working with Build*
  193.               4.5.3.2  *Do*
  194.               4.5.3.3  *Don't*
  195.               4.5.3.4  *General tips*
  196.               4.5.3.5  *Posting your level*
  197.            4.5.4  Typical mistakes to avoid
  198.               4.5.4.1  Crossed lines
  199.               4.5.4.2  Overlaying lines
  200.               4.5.4.3  Hall Of Mirrors
  201.               4.5.4.4  Door side tracks
  202.               4.5.4.5  *Unaligned Textures*
  203.               4.5.4.6  Missing Player Starts
  204.         4.6  DukeMatch level design
  205.            4.6.1  Monster placement
  206.            4.6.2  Weapon placement
  207.               4.6.2.1  Power weapons
  208.               4.6.2.2  Starting-point weapons
  209.            4.6.3  Ammo placement
  210.               4.6.3.1  Amount and location
  211.               4.6.3.2  Ammo Quantity Types
  212.            4.6.4  Health placement
  213.            4.6.5  Architectures
  214.               4.6.5.1  Large, open areas
  215.               4.6.5.2  Long, wide passages
  216.               4.6.5.3  Nooks 'n crannies
  217.               4.6.5.4  Balconies, bridges and towers
  218.               4.6.5.5  Fortresses
  219.               4.6.5.6  Obstacles
  220.               4.6.5.7  Sniper spots
  221.         4.7  *Once your level is done*
  222.  
  223.      Chapter 5  A walkthrough to creating a simple level
  224.         5.1  Planning
  225.         5.2  Getting ready
  226.         5.3  Creating a new map
  227.         5.4  The 2D screen
  228.            5.4.1  Map
  229.            5.4.2  *Message window*
  230.            5.4.3  Data window
  231.            5.4.4  Info window
  232.         5.5  Moving about
  233.         5.6  *Creating a room*
  234.         5.7  *3D mode*
  235.         5.8  Raising the roof
  236.         5.9  Textures
  237.            5.9.1  The floor
  238.            5.9.2  The roof
  239.            5.9.3  Flying about
  240.            5.9.4  The walls
  241.         5.10  Building the house
  242.            5.10.1  The house sector
  243.            5.10.2  Fixing the house sector
  244.               5.10.2.1  The carpet floor
  245.               5.10.2.2  Nice walls
  246.               5.10.2.3  Finally, the roof
  247.            5.10.3  Saving your work
  248.            5.10.4  Building a doorway
  249.            5.10.5  Adding a window
  250.            5.10.6  Glass
  251.            5.10.7  The sloped roof
  252.         5.11  Trying it out
  253.         5.12  Decorations
  254.            5.12.1  The flower pot
  255.            5.12.2  The picture
  256.            5.12.3  A hanging lamp
  257.            5.12.4  The burning barrel
  258.         5.13  *The enemy appears*
  259.         5.14  The other players
  260.         5.15  Taking it from here
  261.      Chapter 6  The BUILD Editor
  262.         6.1  2D Mode
  263.            6.1.1  The Screen
  264.               6.1.1.1  The map
  265.               6.1.1.2  *The Message window*
  266.               6.1.1.3  The Data window
  267.               6.1.1.4  The Info window
  268.            6.1.2  The mouse
  269.               6.1.2.1  Move
  270.               6.1.2.2  Left button
  271.               6.1.2.3  Right button
  272.            6.1.3  The keyboard
  273.               6.1.3.1  Esc
  274.               6.1.3.2  Cursor keys
  275.               6.1.3.3  NumIns and NumDel
  276.               6.1.3.4  Spacebar
  277.               6.1.3.5  NumEnter
  278.               6.1.3.6  RightShift
  279.               6.1.3.7  Control-RightShift
  280.               6.1.3.8  RightAlt
  281.               6.1.3.9  Ins
  282.               6.1.3.10  Del
  283.               6.1.3.11  RightControl-Del
  284.               6.1.3.12  A and Z
  285.               6.1.3.13  G
  286.               6.1.3.14  L
  287.               6.1.3.15  J
  288.               6.1.3.16  Alt-S
  289.               6.1.3.17  S
  290.               6.1.3.18  B
  291.               6.1.3.19  C
  292.               6.1.3.20  T
  293.               6.1.3.21  H
  294.               6.1.3.22  Alt-T
  295.               6.1.3.23  Alt-H
  296.               6.1.3.24  E
  297.               6.1.3.25  < and >
  298.               6.1.3.26  Shift-< and Shift->
  299.               6.1.3.27  [ ]
  300.               6.1.3.28  '-M
  301.               6.1.3.29  '-3
  302.               6.1.3.30  F1
  303.               6.1.3.31  F2
  304.               6.1.3.32  F3
  305.               6.1.3.33  F4
  306.               6.1.3.34  F5
  307.               6.1.3.35  F6
  308.               6.1.3.36  F7
  309.               6.1.3.37  F8
  310.               6.1.3.38  F9
  311.               6.1.3.39  F10
  312.               6.1.3.40  F11
  313.               6.1.3.41  F12
  314.               6.1.3.42  TAB
  315.               6.1.3.43  Alt-TAB
  316.               6.1.3.44  ScrollLock
  317.               6.1.3.45  Ctrl-T
  318.               6.1.3.46  Enter
  319.         6.2  3D Mode
  320.            6.2.1  The screen
  321.            6.2.2  The mouse
  322.               6.2.2.1  Move
  323.               6.2.2.2  Left button
  324.               6.2.2.3  Right button
  325.            6.2.3  The keyboard
  326.               6.2.3.1  Cursor keys
  327.               6.2.3.2  CapsLock
  328.               6.2.3.3  PgUp and PgDn
  329.               6.2.3.4  V
  330.               6.2.3.5  Alt-V
  331.               6.2.3.6  NumCursor keys
  332.               6.2.3.7  Shift-NumCursor keys
  333.               6.2.3.8  /
  334.               6.2.3.9  .
  335.               6.2.3.10  F
  336.               6.2.3.11  Alt-F
  337.               6.2.3.12  P
  338.               6.2.3.13  Ctrl-P
  339.               6.2.3.14  G
  340.               6.2.3.15  E
  341.               6.2.3.16  R
  342.               6.2.3.17  O
  343.               6.2.3.18  B
  344.               6.2.3.19  T
  345.               6.2.3.20  M
  346.               6.2.3.21  Shift-M
  347.               6.2.3.22  1
  348.               6.2.3.23  2
  349.               6.2.3.24  H
  350.               6.2.3.25  TAB
  351.               6.2.3.26  Enter
  352.               6.2.3.27  Ctrl-Enter
  353.               6.2.3.28  Shift-Enter
  354.               6.2.3.29  Ctrl-Shift-Enter
  355.               6.2.3.30  '-ENTER
  356.               6.2.3.31  '-R
  357.               6.2.3.32  '-D
  358.               6.2.3.33  '-W
  359.               6.2.3.34  '-G
  360.               6.2.3.35  '-Y
  361.               6.2.3.36  '-T
  362.               6.2.3.37  -H
  363.               6.2.3.38  '-S
  364.               6.2.3.39  '-V
  365.               6.2.3.40  '-C
  366.               6.2.3.41  '-Del
  367.               6.2.3.42  Alt+-
  368.               6.2.3.43  CtrlAlt+-
  369.               6.2.3.44  F1
  370.               6.2.3.45  F2
  371.               6.2.3.46  F3
  372.               6.2.3.47  F4
  373.               6.2.3.48  F5
  374.               6.2.3.49  F6
  375.               6.2.3.50  F7
  376.               6.2.3.51  F8
  377.               6.2.3.52  F9
  378.               6.2.3.53  F10
  379.               6.2.3.54  F11
  380.               6.2.3.55  F12
  381.  
  382.      Chapter 7  How to...
  383.         7.1  *Extracting the original maps*
  384.         7.2  *Abbreviations*
  385.         7.3  Player starting points
  386.            7.3.1  Notes
  387.         7.4  Glass panes
  388.            7.4.1  Notes
  389.         7.5  Invisible forcefield
  390.         7.6  Doorways
  391.            7.6.1  Notes
  392.         7.7  Windows
  393.            7.7.1  *Setup*
  394.            7.7.2  *Notes*
  395.         7.8  *Air ducts*
  396.            7.8.1  *Notes*
  397.         7.9  Angled surfaces
  398.            7.9.1  Notes
  399.         7.10  Secret places
  400.         7.11  Multiplayer sprites
  401.         7.12  Level-end button
  402.            7.12.1  Notes
  403.         7.13  Level-end sector
  404.         7.14  Cameras
  405.            7.14.1  Setup
  406.            7.14.2  *Notes*
  407.         7.15  Demo cameras
  408.            7.15.1  Setup
  409.            7.15.2  Notes
  410.         7.16  *User-controlled force fields*
  411.            7.16.1  *Setup*
  412.            7.16.2  *Notes*
  413.         7.17  Blastable walls (user control)
  414.            7.17.1  Setup
  415.            7.17.2  Notes
  416.            7.17.3  Tips
  417.         7.18  Blastable walls (triggered)
  418.            7.18.1  Setup
  419.            7.18.2  Notes
  420.         7.19  Conveyor Belts
  421.            7.19.1  Setup
  422.            7.19.2  Notes
  423.         7.20  *Mirrors*
  424.            7.20.1  *Notes*
  425.         7.21  *Garbage cans*
  426.            7.21.1  Notes
  427.         7.22  Revenge of the dancers
  428.            7.22.1  Notes
  429.         7.23  Buzzing phones
  430.         7.24  Light switches
  431.            7.24.1  Setup
  432.            7.24.2  Notes
  433.         7.25  Permanently rotating sector (gears)
  434.            7.25.1  *Setup*
  435.            7.25.2  Notes
  436.         7.26  Doors
  437.            7.26.1  Standard hinged
  438.               7.26.1.1  Notes
  439.            7.26.2  DOOM-type door, remote control
  440.               7.26.2.1  Setup
  441.               7.26.2.2  *Notes*
  442.            7.26.3  DOOM-type door, local control
  443.            7.26.4  Sliding sideways
  444.               7.26.4.1  Notes
  445.            7.26.5  Star Trek door
  446.               7.26.5.1  *Setup*
  447.               7.26.5.2  Notes
  448.            7.26.6  Four-way door
  449.               7.26.6.1  Notes
  450.            7.26.7  Clamshell doors
  451.            7.26.8  Teeth doors
  452.            7.26.9  Auto-closing doors
  453.            7.26.10  Switch-controlled doors
  454.               7.26.10.1  *Notes*
  455.         7.27  Shrinking sector (remote control)
  456.            7.27.1  Setup
  457.            7.27.2  Notes
  458.         7.28  *Spawning monsters*
  459.            7.28.1  *Setup*
  460.            7.28.2  *Notes*
  461.         7.29  *Difficulty settings*
  462.         7.30  Automatic cannon
  463.            7.30.1  Setup
  464.            7.30.2  Notes
  465.         7.31  Lethal sectors
  466.         7.32  Earthquakes
  467.            7.32.1  Setup
  468.            7.32.2  Notes
  469.         7.33  Elevators
  470.            7.33.1  Setup
  471.            7.33.2  Notes
  472.         7.34  Remote-controlled Elevators
  473.            7.34.1  Setup
  474.         7.35  Teleporters
  475.            7.35.1  Setup
  476.            7.35.2  Notes
  477.         7.36  Swimming pools
  478.            7.36.1  Setup
  479.            7.36.2  *Notes*
  480.            7.36.3  Tips
  481.         7.37  The Grapplers
  482.            7.37.1  Setup
  483.            7.37.2  Tips
  484.         7.38  Overlapping sectors
  485.            7.38.1  Notes
  486.         7.39  Hiding switches
  487.         7.40  Bridges and Shelves
  488.            7.40.1  *Notes*
  489.         7.41  Minibosses
  490.            7.41.1  *Notes*
  491.         7.42  *Crashing car/helicopter*
  492.            7.42.1  *Notes*
  493.         7.43  Pulsing lights
  494.            7.43.1  Setup
  495.            7.43.2  Notes
  496.         7.44  Vehicles
  497.            7.44.1  *Setup*
  498.            7.44.2  *Notes*
  499.         7.45  Attacking Vehicles
  500.            7.45.1  Notes
  501.         7.46  Two-way Vehicles
  502.            7.46.1  Setup
  503.            7.46.2  *Notes*
  504.         7.47  *Echoing rooms*
  505.         7.48  Water waves
  506.            7.48.1  Setup
  507.            7.48.2  Notes
  508.         7.49  Engine piston
  509.            7.49.1  Setup
  510.            7.49.2  Notes
  511.         7.50  *Edge walls*
  512.            7.50.1  Setup
  513.         7.51  Code switches
  514.            7.51.1  Setup
  515.            7.51.2  Notes
  516.         7.52  The pool table
  517.            7.52.1  Setup
  518.            7.52.2  Notes
  519.         7.53  Once-only sound effects
  520.               7.53.0.1  Setup
  521.         7.54  Ambience sounds
  522.         7.55  Tips and tricks: New and interesting effects
  523.            7.55.1  Ghosts
  524.            7.55.2  Unfreezable monsters
  525.            7.55.3  Falling to your death?
  526.            7.55.4  *Malfunctioning doors*
  527.            7.55.5  Mines
  528.            7.55.6  The shrinking player
  529.            7.55.7  Even more textures
  530.  
  531.      Chapter 8  Programming the .CON files
  532.         8.1  The language of the .CON files
  533.         8.2  Notes
  534.         8.3  Cute tricks
  535.            8.3.1  Picking up weapons
  536.            8.3.2  Explosive ammunition
  537.            8.3.3  Splat!
  538.  
  539.      Chapter 9  Utilities and add-ons
  540.         9.1  Editing utilities
  541.            9.1.1  BUILD
  542.            9.1.2  EditArt
  543.               9.1.2.1  Changing graphics
  544.               9.1.2.2  Adding new graphics
  545.               9.1.2.3  *Using DOOM I graphics*
  546.               9.1.2.4  General notes
  547.            9.1.3  Wad2Map utilities
  548.               9.1.3.1  WAD2ART
  549.               9.1.3.2  WAD2MAP
  550.         9.2  Future add-ons
  551.            9.2.1  Add-on software wish list
  552.            9.2.2  Add-on software in the making
  553.  
  554.      Chapter 10  Troubleshooting
  555.         10.1  Common questions
  556.            10.1.1  *My 3D mode messes up*
  557.            10.1.2  How do I copy sectors?
  558.            10.1.3  I'm using Windoze/Win95, and...
  559.            10.1.4  I can't select sprites
  560.            10.1.5  How do I make a flat sprite double-
  561.                    sided?
  562.            10.1.6  How do I view the original maps?
  563.            10.1.7  How do I use new maps?
  564.            10.1.8  No monsters in new maps?
  565.            10.1.9  *How do I use the new .VOC and .MIDs?*
  566.            10.1.10  How do I show the wall data?
  567.            10.1.11  I can't save the changes in BSetup
  568.            10.1.12  The game ends with 'MAP E1L9.MAP not
  569.                     found!'
  570.            10.1.13  Can the subway speeds be changed?
  571.            10.1.14  How do I place active tripmines?
  572.            10.1.15  *How can I make a mirror shootable?*
  573.            10.1.16  How do I shade a whole room at once?
  574.            10.1.17  *The parallaxed sky looks messed up!*
  575.            10.1.18  *I've parallaxed the sky and now Duke
  576.                     dies!*
  577.            10.1.19  How do I set the par time?
  578.         10.2  Bugs in the game
  579.            10.2.1  Holodukes
  580.               10.2.1.1  Bug
  581.               10.2.1.2  Workaround
  582.            10.2.2  The shrinker
  583.               10.2.2.1  Bug
  584.               10.2.2.2  Workaround
  585.            10.2.3  Endless ammo
  586.               10.2.3.1  Bug
  587.               10.2.3.2  Workaround
  588.            10.2.4  Remote switch triggering
  589.               10.2.4.1  Bug
  590.               10.2.4.2  Workaround
  591.            10.2.5  Underwater toilets
  592.               10.2.5.1  Bug
  593.               10.2.5.2  Workaround
  594.            10.2.6  Explosions
  595.               10.2.6.1  Bug
  596.               10.2.6.2  Workaround
  597.            10.2.7  Crash on shattering objects
  598.               10.2.7.1  Bug
  599.               10.2.7.2  Workaround
  600.            10.2.8  Breaking unbreakable glass
  601.               10.2.8.1  Bug
  602.               10.2.8.2  Workaround
  603.            10.2.9  Trip mines
  604.               10.2.9.1  Bug
  605.               10.2.9.2  Workaround
  606.            10.2.10  Phantom bullet-holes
  607.               10.2.10.1  Bug
  608.               10.2.10.2  Workaround
  609.         10.3  Bugs in BUILD
  610.            10.3.1  *Using a Busmouse*
  611.               10.3.1.1  *Bug*
  612.               10.3.1.2  *Workaround*
  613.            10.3.2  Selecting long lines
  614.               10.3.2.1  Bug
  615.               10.3.2.2  Workaround
  616.            10.3.3  Splitting a sector
  617.               10.3.3.1  Bug
  618.               10.3.3.2  Workaround
  619.            10.3.4  Selecting sprites
  620.               10.3.4.1  Bug
  621.               10.3.4.2  Workaround
  622.            10.3.5  Autoaligning textures
  623.               10.3.5.1  Bug
  624.               10.3.5.2  Workaround
  625.            10.3.6  Displaying memory info
  626.               10.3.6.1  Bug
  627.               10.3.6.2  Workaround
  628.            10.3.7  Function keys in 3D mode
  629.               10.3.7.1  Bug
  630.               10.3.7.2  Workaround
  631.            10.3.8  Deleting sectors
  632.               10.3.8.1  Bug
  633.               10.3.8.2  Workaround
  634.            10.3.9  Copying sectors
  635.               10.3.9.1  Bug
  636.               10.3.9.2  *Workaround*
  637.            10.3.10  FPU reliance
  638.               10.3.10.1  Bug
  639.               10.3.10.2  Workaround
  640.         10.4  *BUILD wishlist*
  641.  
  642.      Chapter 11  Reference lists
  643.         11.1  List of original levels
  644.            11.1.1  L.A. Meltdown
  645.            11.1.2  Lunar Apocalypse
  646.            11.1.3  Shrapnel City
  647.         11.2  List of tiles
  648.            11.2.1  Control tiles
  649.            11.2.2  Weapon sprites
  650.            11.2.3  Ammo sprites
  651.            11.2.4  Item sprites
  652.            11.2.5  Special sprites
  653.            11.2.6  Parallax (sky) textures
  654.            11.2.7  *Lights*
  655.            11.2.8  Switches
  656.            11.2.9  Doors
  657.               11.2.9.1  Technical doors
  658.               11.2.9.2  Normal
  659.            11.2.10  *Floors*
  660.            11.2.11  Walls
  661.               11.2.11.1  *Machines*
  662.               11.2.11.2  Space ship hull
  663.               11.2.11.3  *Organics*
  664.               11.2.11.4  *Air ducts*
  665.               11.2.11.5  Modern
  666.               11.2.11.6  *Metal*
  667.               11.2.11.7  *Concrete*
  668.               11.2.11.8  *Stone*
  669.               11.2.11.9  Rock
  670.               11.2.11.10  *Decoration*
  671.            11.2.12  *Grids*
  672.            11.2.13  Technical-looking items
  673.            11.2.14  *Monitors*
  674.            11.2.15  Often-used special textures
  675.            11.2.16  Diverse
  676.            11.2.17  Unclassified (please assist!)
  677.         11.3  List of Palettes
  678.         11.4  List of sounds
  679.            11.4.1  Format of this list
  680.            11.4.2  The sounds themselves
  681.         11.5  Dimensions
  682.            11.5.1  Units
  683.            11.5.2  The map
  684.               11.5.2.1  Walking about
  685.               11.5.2.2  Weapons
  686.  
  687.      Chapter 12  Miscellaneous
  688.         12.1  MAP design contest
  689.         12.2  PC Gaming's offer
  690.         12.3  Conclusion
  691.         12.4  *Revision history*
  692.  
  693.  
  694.  
  695.                             Chapter 1
  696.  
  697.                        Happy lawyer dept.
  698.  
  699.  
  700. 1.1  Disclaimer
  701.  
  702.  
  703. This FAQ is to aid in informing the public about creating
  704. additional levels for the Game Duke Nukem 3D, by 3DRealms. In no
  705. way should this promote your killing yourself, killing others, or
  706. killing in any other fashion. Also, it should not promote the
  707. building of real-world death-traps :)
  708.  
  709. Additionally, Klaus Breuer claims NO responsibility regarding ANY
  710. illegal activity concerning this FAQ, or indirectly related to
  711. this FAQ. The information contained in this FAQ only reflects
  712. 3DRealms indirectly, and questioning 3DRealms regarding any
  713. information in this FAQ is not recommended.
  714.  
  715.  
  716. 1.2  Trademark information
  717.  
  718.  
  719. All specific names included herein are trademarks and are so
  720. acknowledged:
  721. 3DRealms, Duke Nukem, id, DOOM, IBM, Microsoft, Windows and MS-
  722. DOS.  Any trademarks not mentioned here are still hypothetically
  723. acknowledged.
  724.  
  725.  
  726. 1.3  Copyright notice
  727.  
  728.  
  729. This article is Copyright 1996 by Klaus Breuer. All rights
  730. reserved.
  731. You are granted the following rights:
  732.  
  733.    1.  To make copies of this work in original form, so long as
  734.  
  735.         1.1.  the copies are exact and complete;
  736.  
  737.         1.2.  the copies include the copyright notice and these
  738.               paragraphs in their entirety;
  739.  
  740.         1.3.  the copies give obvious credit to the author, Klaus
  741.               Breuer;
  742.  
  743.         1.4.  the copies are in electronic form.
  744.  
  745.    2.  To distribute this work, or copies made under the
  746.        provisions above, so long as
  747.  
  748.         2.1.  this is the original work and not a derivative
  749.               form;
  750.  
  751.         2.2.  you do not charge a fee for copying or for
  752.               distribution;
  753.  
  754.         2.3.  you ensure that the distributed form includes the
  755.               copyright notice, this paragraph, the disclaimer of
  756.               warranty in their entirety and credit to the
  757.               author;
  758.  
  759.         2.4.  the distributed form is not in an electronic
  760.               magazine or within computer software (prior
  761.               explicit permission may be obtained from Klaus
  762.               Breuer);
  763.  
  764.         2.5.  the distributed form is the NEWEST version of the
  765.               article to the best of the knowledge of the
  766.               distributor;
  767.  
  768.         2.6.  the distributed form is electronic.
  769.  
  770. You may not distribute this work by any non-electronic media,
  771. including but not limited to books, newsletters, magazines,
  772. manuals, catalogs, and speech.  You may not distribute this work
  773. in electronic magazines or within computer software without prior
  774. written explicit permission.
  775. These rights are temporary and revocable upon written, oral, or
  776. other notice by Klaus Breuer. This copyright notice shall be
  777. governed by the laws of the Federal Republic of Germany.
  778.  
  779. If you would like additional rights beyond those granted above,
  780. write to the author at "sz0759@rzmail.uni-erlangen.de" on the
  781. Internet.
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.                             Chapter 2
  789.  
  790.                           Introduction
  791.  
  792.  
  793. 2.1  *A word from Klaus Breuer*
  794.  
  795.  
  796. Well, here's the v1.2 version of the FAQ!
  797. I've had lots of feedback and got pointed into a lot of
  798. interesting directions - thanks to everyone who helped out so
  799. far!
  800.  
  801. 2.1.1  *Printing the FAQ*
  802.  
  803. A word of caution for those of you who'ld like to print this FAQ:
  804. the table of contents alone takes up 9 pages on my printer.
  805. You're probably better off reading the whole thing with an ASCII
  806. editor (easier to search for keywords, too).
  807. Personally, I use the most excellent LIST program from Vernon
  808. Buerg (no, I'm not affiliated, just a happy user).
  809.  
  810. If you have access to a Unix box (everybody should :), here's a
  811. command you can use to print the whole thing in PostScript,
  812. cramming 300 lines of text per page:
  813.  
  814.   alias a2lj5c2  "lwf -pA4 -i1 -s5  -c2 -fC  \!* | lpr -Plj4 -h"
  815.                       ^^^^     ^^^  ^^^  ^^^-Courier Font
  816.                       DinA4    5pt  2 column
  817.  
  818. 2.1.2  *Flames*
  819.  
  820. It's funny, you know. Everybody who does anything on The Net is
  821. going to be flamed sometime, no matter what he does.
  822.  
  823. So, let's get some things straight:
  824.  
  825.     *  This FAQ will be posted in its totality to
  826.        alt.games.duke3d and the BUILD editing list, because
  827.        that's where it belongs.
  828.  
  829.     *  If you can't be bothered to read the FAQ, don't flame me
  830.        for not including somethig in it. Especially if it's in
  831.        there already.
  832.  
  833.     *  Except for this general announcement, I do not respond the
  834.        flames, mail bombings, or whatever.
  835.  
  836.     *  Since I'm not using Windoze or somesuch, I can delete huge
  837.        amounts of flames with a single keypress. So don't bother.
  838.  
  839.  
  840. 2.2  Intended Audience
  841.  
  842.  
  843. Since 3DRealms was kind enough to bundle their editor with the
  844. game itself, lots of people have dreamed of creating their own
  845. levels - their own worlds.
  846. However, the BUILD editor was written by hackers for hackers;
  847. documentation is scant.
  848.  
  849. Thus this paper should help everybody who intends to design his
  850. own levels. However, you should be willing read all the info in
  851. here and experiment as well. If you have a problem, study this
  852. text, look at the original maps and experiment. Don't ask the Net
  853. about it right away.
  854.  
  855. Creating a map is real easy. Creating a *good* map is very hard,
  856. requiring not only perseverance and patience but time and -yes-
  857. even a bit of brains ;)
  858.  
  859.  
  860. 2.3  *About the "UnOfficial" DUKE NUKEM 3D EDITING FAQ*
  861.  
  862.  
  863. Welcome to the release v1.2 of the "UnOfficial" DUKE NUKEM 3D
  864. EDITING FAQ.
  865.  
  866. What does that mean?  Version 1.2 is the seventh release of the
  867. FAQ, "UnOfficial" means absolutely nothing, DUKE NUKEM 3D is the
  868. name of the game, Editing is what the FAQ is all about and FAQs
  869. are [F]requently [A]sked [Q]uestions (with answers, of course :).
  870.  
  871. Here's how revision classification works.  If a new version of
  872. the FAQ only has a small amount of information changed or added,
  873. the version number is increased by 0.1. This is called a "minor
  874. revision."
  875. If a new version of the FAQ has a substantial amount of new
  876. information changed or added, the version number is increased by
  877. 0.5. This is called a "standard revision."
  878.  
  879. If a new version of the FAQ has a huge amount of added or changed
  880. information, major parts of the FAQ are rearranged, or major
  881. parts of the FAQ are rewritten, then the version number is
  882. increased by 1.0. This is called a "major revision."
  883.  
  884. All chapters containing changes from the last versions have their
  885. chapter headings enclosed in **'s. In earlier versions of the FAQ
  886. I used a rather more complex system showing how long ago which
  887. chapter was last changed but it became too much work - this thing
  888. has simply grown out of all proportion.
  889.  
  890. Also, ##'s are at times found in the text - these denote
  891. questions I urgently need help on, and any feedback is especially
  892. appreciated.
  893.  
  894.  
  895. 2.4  Getting the "UnOfficial" DN3DE FAQ
  896.  
  897.  
  898. The "UnOfficial" DN3DE FAQ is posted every month (or earlier if a
  899. new version is released) on the following Usenet group:
  900.  
  901. alt.games.duke3d
  902.  
  903. The "Subject:" line of the post will be "'UnOfficial' DN3D
  904. EDITING FAQ v??.??" where "??.??" is the version number of the
  905. FAQ.
  906.  
  907. The FAQ is also posted to the editing mailing list as soon as a
  908. new version comes out.
  909.  
  910. An HTML version is available at
  911. http://ww.aber.ac.uk/~ngh94/duke.html
  912.  
  913. New releases of the "UnOfficial" DN3D EDITING FAQ will be
  914. uploaded to internet ftp sites as soon as I find suitable sites.
  915.  
  916. The file name of the upload will be "dnefaq??.faq" where "??" is
  917. the version number of the FAQ.
  918.  
  919. ATTENTION: ALL BBSes, Compuserve, America Online, GEnie, and all
  920. other information services.  PLEASE conform to the naming
  921. standard of the "UnOfficial" DN3D EDITING FAQ when placing this
  922. file on your system.
  923.  
  924.  
  925. 2.5  *Adding to the FAQ*
  926.  
  927.  
  928. If you want something added to the FAQ, please send E-mail to
  929. "sz0759@rzmail.uni-erlangen.de" (no quotes), explaining what your
  930. addition is.
  931.  
  932. It will be reviewed, and if accepted, added to the next FAQ
  933. version. In the E-mail, please supply your name and E-mail
  934. address.
  935. Please note that all submissions to the FAQ become the property
  936. of the author (Klaus Breuer) and that they may or may not be
  937. acknowleged.
  938.  
  939. By submitting to the FAQ, you grant permission for use of your
  940. submission in any future publications of the FAQ in any media.
  941. The author reserves the right to omit information from a
  942. submission or delete the submission entirely.
  943. If you send me binaries, please use the standard UUENCODE program
  944. to do so. I can't read the Base64 format or whatever it is that
  945. Windoze uses.
  946.  
  947.  
  948. 2.6  *The DN3D EDITING mailing list*
  949.  
  950.  
  951. Ginger (lattav@vnet.net) has set up a very active mailing list.
  952.  
  953. To subscribe, send email to: majordomo@oozoo.vnet.net
  954. Put in the body of the message: subscribe duke3d-edit
  955.  
  956. A digested version is also available, send email to the same
  957. address, but the body of the message should be: subscribe
  958. duke3d-edit-digest
  959.  
  960. To unsubscribe, send the line
  961. unsubscribe
  962. to duke3d-edit-digest-request@oozoo.vnet.net
  963.  
  964. The mailing list digests are archived at
  965. oozoo.vnet.net/pub/duke3d
  966.  
  967.  
  968. 2.7  The DN3D EDITING ftp site
  969.  
  970.  
  971. We now have an ftp site where everything for editing duke maps
  972. will be found. The address is oozoo.vnet.net/pub/duke3d-edit.
  973.  
  974.  
  975. 2.8  *WWW sites*
  976.  
  977.  
  978. There are LOTS of WWW sites around. Here are just some pointers
  979. (in alphabetical order) which should get you started:
  980.  
  981. http://fluffy.neb.net/Duke
  982. http://www.3drealms.com
  983. http://www.aber.ac.uk/~ngh94/duke.html
  984. http://www.cris.com/~Demogorg/main.html
  985. http://duke3d.crystalball.com/stereo/tfiles.html
  986. http://www.ea.ucla.edu/~kd/Duke3D/index.html
  987. http://www.fluffy.neb.net/Duke
  988. http://www.frii.com/~afs/allabout.cgi/dn3d
  989. http://www.koan.com/~ryman
  990. http://www.newreach.net/~avenger/
  991. http://www.salamander.net/~avenger/msques.html
  992. http://www.servtech.com/public/duke3d/
  993. http://www.whiterock.com/kinglink/duke3d.html
  994. http://www.wi.leidenuniv.nl/~cwong/myindex.html
  995.  
  996. And these sites have particularily many MAPs:
  997.  
  998. http://duke3d.crystalball.com/stereo/maps1.html
  999. http://users.aol.com/brnyrstomp/levelsf.html
  1000. http://www2.awinc.com/users/dgronlun/duke3d/duke3dlevels.html
  1001. http://www.whiterock.com/kinglink/duke3dlev.html
  1002. http://www.i2.i-2000.com/~richardg/levels.html
  1003.  
  1004. Finally, there's a german site too:
  1005.  
  1006. http://members.aol.com/cwaitschie/duke3d/duke3d.htm
  1007. 2.9  IRC
  1008.  
  1009.  
  1010. The IRC channel of interest is #duke3dedit.
  1011. Don't ask the 'The 3D mode is messing up my screen' question
  1012. there. Please.
  1013.  
  1014.  
  1015. 2.10  *Acknowledgments*
  1016.  
  1017.  
  1018. I'd like to thank 3DRealms for bringing out such an astonishing
  1019. game! After two years, we finally seem to have a DOOM killer.
  1020. Also, it's real nice of you guys to add the BUILD program into
  1021. the package! We've never had an editor out so fast :)
  1022.  
  1023. Thanks to Allen H Blum III, Richard "Levelord" Gray and Kenneth
  1024. Silverman for writing the Build docs. We all know you were in a
  1025. big hurry and the docs nearly didn't make it to the CD, so we
  1026. especially appreciate your work!
  1027.  
  1028. ALPHABETICAL ORDER:
  1029.  
  1030. Ahmed Hammad   (aka Spasmo) (cosc19z5@bayou.uh.edu)
  1031.                RightShift sprite selection/nonclip move trick and
  1032.                helped with the sliding door. The metallic tile
  1033.                idea is also from him.
  1034.  
  1035. Allen H. Blum III
  1036.                (Stryker@metronet.com)
  1037.                Thanks for showing up in the mailing list and
  1038.                answering questions! Especially the 'shade a whole
  1039.                room at once' idea is way cool. (Treat him to
  1040.                dinner, Buy Major Stryker ;)
  1041.  
  1042. BKlehr         (bklehr@aol.com)
  1043.                Caught some FAQ bugs and found out how to make
  1044.                shootable mirrors (bulletholes!).
  1045.  
  1046. Brett Gmoser   (gmoser@gramercy.ios.com)
  1047.                Wrote a long tutorial covering all kinds of
  1048.                things.
  1049.  
  1050. Brian Gentry   (gentryb@wasc.egginc.com)
  1051.                Found out about switch sounds.
  1052.  
  1053. Brian Kidby    (thekid@ornews.intel.com)
  1054.                Wrote the 'DeathMatch Level Design Guidelines
  1055.                v1.0' for DOOM, which I've used as a basis for my
  1056.                'DukeMatch level design' section.
  1057.  
  1058. Bullethead     (???)
  1059.                Wrote a couple of interesting lab notes, shedding
  1060.                light on some more obscure parts of BUILD.
  1061.  
  1062. Cho Yan Wong   (aka Tempest) (pwong@pobox.leidenuniv.nl)
  1063.                Wrote several very good tutorials.
  1064.  
  1065. Chris Longhurst
  1066.                (chrisl@division.co.uk)
  1067.                Found out about pulsing lights and clamshell
  1068.                doors.
  1069.  
  1070. Dan Benge      (DanBenge@ix.netcom.com)
  1071.                Ideas on level design and the Alice In Wonderland
  1072.                effect.
  1073.  
  1074. David Moisan   (dmoisan@shore.net)
  1075.                Many thoughts on level design.
  1076.  
  1077. Ginger Latta   (lattav@vnet.net)
  1078.                Has agreed to set up a mailing list, even
  1079.                including a digested form. She's also setting up
  1080.                an ftp site for us!
  1081.  
  1082. Jeff Oliver    (jroliver@cs.sci.csupomona.edu)
  1083.                Teleporter info.
  1084.  
  1085. Jesse Lambert  (slcsj@cc.usu.edu)
  1086.                Did the nice ASCII logo.
  1087.  
  1088. Jim            (jek19@ios.orci.com)
  1089.                Help on rotating doors.
  1090.  
  1091. Joe Giddings   (goldcard@intrstar.net)
  1092.                Worked out lots of info about the different
  1093.                palettes.
  1094.  
  1095. John Allen Christian
  1096.                (hugejohn@ix.netcom.com)
  1097.                Info on Build keypresses (tilting floors).
  1098.  
  1099. Jonas          (JoXonoX@aol.com)
  1100.                Sprite flag meanings.
  1101.  
  1102. Kris Lloyd     (klloyd@uniserve.com)
  1103.                Info on user-controlled force fields and Duke's
  1104.                crashinf car/helicopter as well as (finally!)
  1105.                respawning minibosses.
  1106.  
  1107. Mark Lee       (mark.lee@gecm.com)
  1108.                Had the idea about making bridge sprites single-
  1109.                sided.
  1110.  
  1111. Mike Forst     (mcforst@uniserve.com)
  1112.                Found out about the BIGFORCE tile.
  1113.  
  1114. Moritz Weigt   (wtiger17@aol.com)
  1115.                Found out about sprite difficulty settings.
  1116.  
  1117. Nigel Hughes   (ngh94@aber.ac.uk)
  1118.                Converting the FAQ to HTML format.
  1119.  
  1120. Rober Coward   (rcoward@madge.com)
  1121.                Found some FAQ errors and Duke bugs.
  1122.  
  1123. RoboJim        (Robojim@aol.com)
  1124.                Info on grapplers, garbage/stripper respawns,
  1125.                telephones and train setups.
  1126.  
  1127. Samiel         (samiel@fastlane.net)
  1128.                Wrote the tile renumbering utilities.
  1129.  
  1130. Scatt Man      (scattman@bssc.edu.au)
  1131.                Ambience, once-only sounds and demo camera info.
  1132.                Also wrote the sound list (now I don't have to do
  1133.                it myself, yaay!).
  1134.  
  1135. Sir Hoppy      (glenn@interaccess.com)
  1136.                Pointed out some errors in the air vents section.
  1137.  
  1138. Steffen Itterheim
  1139.                (100606.2141@compuserve.com)
  1140.                Apogee Staff, is also answering questions on the
  1141.                mailing list - thanks!
  1142.  
  1143. Steve C. Brown (sbrown@praline.no.NeoSoft.com)
  1144.                Help with F8 key.
  1145.  
  1146. Thomas Mueller (tsmuelle@cip.informatik.uni-erlangen.de)
  1147.                He found out lots of basic workings like
  1148.                Teleporters, Swimming Pools, etc and put me on the
  1149.                right track in regard to sector effectors.
  1150.  
  1151. THANK YOU! If, for some reason, I did miss you, PLEASE send me
  1152. e-mail!
  1153.  
  1154. Finally, I'd like to thank everyone who reads this FAQ, you are
  1155. what the FAQ is for!
  1156.  
  1157.  
  1158. 2.11  Accurate information
  1159.  
  1160.  
  1161. An attempt has been made to make the information in this FAQ as
  1162. accurate as possible. Unfortunately, due to the fact that the
  1163. game was recently released, and updates, add-ons, and new
  1164. information are being worked on each second, it's hard to keep
  1165. up.
  1166.  
  1167.  
  1168. 2.12  Help with new levels
  1169.  
  1170.  
  1171. If you are building a new level and are experiencing trouble,
  1172. feel free to contact me about it. Chances are that you are not
  1173. the only one with this problem, and I can add it to the FAQ.
  1174.  
  1175. Also, your particular difficulty could be an interesting side-
  1176. effect of something else, and others might want to hear about it
  1177. as well.
  1178.  
  1179. However, *please* read the FAQ fully before asking me about
  1180. anything :)
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.                             Chapter 3
  1188.  
  1189.                      Preliminary information
  1190.  
  1191.  
  1192. This chapter explains some of the background behind creating
  1193. add-ons for Duke Nukem 3D.
  1194.  
  1195. 3.1  Intended audience for this chapter
  1196.  
  1197.  
  1198. I guess all of you have heard of the game DOOM by id Software :)
  1199. Well, many of you have created add-on maps for DOOM. You know how
  1200. a door works, what a sector is, what to look out for while
  1201. creating a level.
  1202. While Duke3Ds BUILD engine is much more powerful than id's (see
  1203. below for a list of differences), it is similar enough for all
  1204. the experts to skip this chapter.
  1205.  
  1206. What? You've never created a DOOM map? Never heard of DEU? Don't
  1207. know that a DOOM-style door works by raising it's ceiling off the
  1208. floor?
  1209. Ok, this chapter here's for you.
  1210.  
  1211. First off, let me explain that I've created quite a few DOOM
  1212. maps. Thus if I take some things for granted you don't know
  1213. about, please write me and ask! That way I'll be able to work it
  1214. into this chapter, making it easier to understand.
  1215.  
  1216.  
  1217. 3.2  The basics
  1218.  
  1219.  
  1220. Let's start by taking a look at the basics behind map building.
  1221.  
  1222. Do yourself a favour and don't skip this section!
  1223. I know many of you have met computers through Windoze or some
  1224. other GUI toy and don't know much about the underlying
  1225. intricacies of your system, but please - the more you know about
  1226. how Duke3D works, the better your maps will be.
  1227.  
  1228. Besides, it's fun to learn things :)
  1229.  
  1230. 3.2.1  *Differences between the Build and DOOM engines*
  1231.  
  1232. Those of you who don't know DOOM (gasp!), feel free to skip this
  1233. section.
  1234.  
  1235. The Build engine is the system used to create Duke Nukem 3D.
  1236. Here's a list of the improvements over DOOM:
  1237.  
  1238.     *  Looking up and down
  1239.        Finally, you can accurately shoot an RPG through an
  1240.        upper-story window without needing a target in the window.
  1241.  
  1242.     *  Rooms above rooms (even if you can't display them)
  1243.        Build real spiral staircases and crossing corridors.
  1244.  
  1245.     *  Mirrors
  1246.        See your enemies around corners.
  1247.  
  1248.     *  Multi-colored lights
  1249.        Great ambience effects.
  1250.  
  1251.     *  Moving/rotating sectors
  1252.        This is in my opinion (no, it's not humble) the best
  1253.        improvement. It allows you to build subways, real doors,
  1254.        moving stairways, squeeze through rotating gears, survive
  1255.        (?) earthquakes, drive around in vehicles...the
  1256.        possibilities are simply endless.
  1257.  
  1258.     *  Transparent sprites
  1259.        Build ghosts and proper windows.
  1260.  
  1261.     *  Flying via jetpack
  1262.        Fly about, attack your opponents from above. Very useful
  1263.        as a long drop can now kill you.
  1264.  
  1265.     *  Underwater diving
  1266.        The obvious extension to the flying capability. Explore an
  1267.        underwater world, fight sharks :)
  1268.  
  1269.     *  Sloping floors and ceilings
  1270.        This adds no end of realism! Finally, we can have sloping
  1271.        corridors, pyramid-shaped buildings, real domes...
  1272.  
  1273.     *  Rotated sprites
  1274.        Doesn't seem like much, but a rotated sprite marked as
  1275.        'blocking movement' can be used as a floor - and thus we
  1276.        can fake bridges!
  1277.  
  1278.     *  Blastable walls
  1279.        A very nice touch - it allows you to blow (predefined)
  1280.        holes in walls.
  1281.  
  1282.     *  Interactive Environment
  1283.        Bullet holes appear in walls, bottles burst into
  1284.        splinters, bloody footsteps lead away from corpses, window
  1285.        panel burst apart...fun.
  1286.  
  1287.     *  SVGA support
  1288.        If your system can take it. Looks good, but in my eyes not
  1289.        so important.
  1290.  
  1291.     *  Highly customizable
  1292.        Very nice, this. You can write your own opponent-AI, very
  1293.        easily add new sounds and graphics, and change the weapons
  1294.        simply by editing an ASCII file.
  1295.  
  1296. 3.2.2  Useful cheats for testing levels
  1297.  
  1298. Read the Duke Nukem FAQ for a list of all cheats. Here are just
  1299. the codes I find myself using while testing a level:
  1300.  
  1301. DNRATE         Display the fps meter in the top left.
  1302.  
  1303. DNCOORDS       Shows your cordinates.
  1304.  
  1305. DNSHOWMAP      Show the full map.
  1306.  
  1307. DNDEBUG        Shows some interesting info in the top left.
  1308.                ## Anybody know what it means? Could be real
  1309.                useful.
  1310.  
  1311. DNCLIP         Toggle clipping. This will kill you if you walk
  1312.                into empty space, so use it only to quickly walk
  1313.                through doors and the like.
  1314.  
  1315. DNKROZ         Toggle God mode.
  1316.  
  1317. DNUNLOCK       Unlock all doors on the level.
  1318.  
  1319. DNWEAPONS      Give all weapons but no items or keys.
  1320.  
  1321. DNITEMS        Give all items and keys.
  1322.  
  1323. DNSTUFF        Gives everything.
  1324.  
  1325. 3.2.3  What a map consists of
  1326.  
  1327. Maps are made up of sectors (rooms), walls and sprites.
  1328.  
  1329. 3.2.3.1  Sectors
  1330.  
  1331. The map itself is basically just a collection of sectors.
  1332. A sector is a room consisting of a floor, a ceiling and walls.
  1333. Imaging a square column, looking like this:
  1334.               __________
  1335.              |\          \
  1336.              |  \          \
  1337.              |    \__________\
  1338.              \    |          |          Top block: Roof
  1339.              . \  |          |
  1340.              .   \|__________|
  1341.              .    .     .    .
  1342.              .    .     .    .
  1343.               ___________    .         Player area
  1344.              |\   .      \   .
  1345.              |  \ .        \ .
  1346.              |    \__________\
  1347.              \    |          |
  1348.                \  |          |         Bottom block: Floor
  1349.                  \|__________|
  1350.  
  1351. The lower block is the floor, the upper block is the roof, and
  1352. the player moves about in the missing bit in the middle.
  1353. The edges are walls, although it's possible to make a wall
  1354. intangible to the player, allowing him to cross it into another
  1355. sector.
  1356.  
  1357. Sectors can share borders with other sectors, and can include
  1358. other sectors as well.
  1359. Thus a room with a crate standing in the middle would consist of
  1360. two sectors: The room itself, with a square sector (the crate)
  1361. inside it.
  1362. The crate sector would have the same ceiling height as the room,
  1363. but with a slightly raised floor (forming the crate): the player
  1364. can hop onto the crate, but he can't walk below it.
  1365.  
  1366. The walls of the sector making up the crate would be intangible
  1367. (invisible and not blocking player movement), otherwise it would
  1368. look like a column instead.
  1369.  
  1370. This also explains why we can't have real bridges: if we raise
  1371. the floor of the bridge sector high enough, the bottom block will
  1372. elongate upwards until we have a wall instead.
  1373.  
  1374. Of course, seen from above sectors can have any shape: square,
  1375. rectangular, round or kidney-shaped.
  1376.  
  1377. 3.2.3.2  *Walls*
  1378.  
  1379. Walls come in two flavours: one-sided and two-sided.
  1380.  
  1381. Imagine carving a dungeon out of a mountain. So far you have dug
  1382. two rooms, connected by a tunnel. This would translate into three
  1383. sectors; two big ones connected by a smaller one:
  1384.  
  1385.          _________________________
  1386.        /                          |      ________________
  1387.      /                            .______.               |  Key:
  1388.     |     * <- The player         .      .               |    |
  1389. 1-sided wall
  1390.      \                            .------.               |    .
  1391. 2-sided wall
  1392.        \                          |      |_______________|
  1393.          \________________________|    (seen from above)
  1394.  
  1395.  
  1396. Obviously, the outer walls have only one side, since they consist
  1397. of solid rock. But the borders between the two big sectors and
  1398. the small one are two-sided walls - you can walk on both sides of
  1399. them.
  1400.  
  1401. 3.2.3.3  Textures
  1402.  
  1403. Textures are what a wall, a floor or the ceiling actually looks
  1404. like.
  1405. They make the difference between a wall looking like a brick wall
  1406. or a steel slab. You can also texture a floor or the ceiling.
  1407.  
  1408. Duke has quite a lot of textures for us, ranging from plush red
  1409. wall-to-wall carpeting to green alien slime. Some textures are
  1410. even animated, meaning they look as if they were moving - water
  1411. is a nice example of this.
  1412.  
  1413. Textures always make me feel a bit like a magician - with a wave
  1414. of my wand (ok: mouse) I can change a wall from flimsy straw to
  1415. solid steel and back.
  1416.  
  1417. 3.2.3.4  Sprites
  1418.  
  1419. Sprites are all the objects in Duke3D: the flower pot in the
  1420. corner, the switch on the wall, the alien lurking behind you -
  1421. even the player is a sprite.
  1422. A sprite is always flat and two-dimensional, like a piece of
  1423. paper. Even a 3D-looking alien is just a sprite: Duke3D simply
  1424. shows you different sprites according to from where you're
  1425. looking at the alien.
  1426.  
  1427. Sprites exist in three forms:
  1428.  
  1429. Standing up    This sprite always faces you, looking nice and
  1430.                solid. A flower pot or a bottle is a typical
  1431.                example.
  1432.  
  1433. Flat           This sprite actually behaves like a painted piece
  1434.                of paper. They look weird standing in the middle
  1435.                of a room, so they are usually pasted on the walls
  1436.                (like switches or posters).
  1437.  
  1438. Lying down     These sprites are also flat, but they're lying on
  1439.                the ground (or hanging on the roof) instead. An
  1440.                example are the magazines scattered on the ground
  1441.                in the Red Light District (E1L2).
  1442.  
  1443. Sprites can block movement and can be placed at any height. Thus
  1444. it is possible (using sprites lying down) to create real 3D
  1445. functions like bridges out of sprites.
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.                             Chapter 4
  1454.  
  1455.                  Planning and designing a level
  1456.  
  1457.  
  1458. This chapter looks at designing a level with BUILD.EXE, the
  1459. editor supplied on the CD (in \GOODIES\BUILD).
  1460.  
  1461.  
  1462. 4.1  *Installing BUILD*
  1463.  
  1464.  
  1465. An awful lot of people are having an awful lot of trouble getting
  1466. BUILD to run. So here's the beef:
  1467.  
  1468.     *  Install Duke3D to your hard drive.
  1469.  
  1470.     *  Copy everything from \GOODIES\BUILD into the Duke3D
  1471.        directory (NOT into a subdirectory thereof!). As some
  1472.        people have trouble understanding what I mean (Heaven
  1473.        protect us if they decide to post their first levels ;),
  1474.        here are the DOS commands to use (assuming your CD-ROM is
  1475.        drive E):
  1476.  
  1477.     *  CD C:\GAMES\DUKE3D
  1478.        COPY E:\GODIES\BUILD\*.*
  1479.  
  1480.     *  Finally, remove all read-only attributes: ATTRIB -R *.*
  1481.  
  1482.  
  1483. 4.2  *Before starting*
  1484.  
  1485.  
  1486. I know you're eager to start building the level (why else are you
  1487. reading this FAQ?), but there are several things you should do
  1488. before firing up the editor and designing away:
  1489.  
  1490. Play the game  Play the whole Duke Nukem 3D game from start to
  1491.                finish. All three episodes. This will give you
  1492.                lots of ideas on what is possible and what you'd
  1493.                like to do.
  1494.                Look critically at how things happen: doors
  1495.                opening, aliens suddenly appearing, lights
  1496.                changing, gears rotating...
  1497.  
  1498. View the maps  Use the editor to have a close look at the
  1499.                existing maps. How do these doors open? What kinds
  1500.                of tricks were used to work around the limitations
  1501.                of the Build engine? How do people actually do a
  1502.                house - note how all walls are actually build out
  1503.                of one-sided walls. Things like that.
  1504.  
  1505. Have a theme   Please. Don't build yet another red light district
  1506.                with a sleazy bar and some dancers. We've got one
  1507.                already!
  1508.                Try to think of something original and take some
  1509.                time to really think about what you're trying to
  1510.  
  1511.                do: the New York traffic? A nuclear power station?
  1512.                An underwater base? A barren planetoid surface?
  1513.                Also try to think what would fit into the theme
  1514.                and what wouldn't - make a list.
  1515.                A .TXT file with a short story setting the mood
  1516.                and explaining your mission is also nice.
  1517.  
  1518. Draw a map     Take some graph paper and draw the whole map
  1519.                first. Believe me, your level is going to be lots
  1520.                better this way. You'll be able to take your time
  1521.                and think about everything you want to include.
  1522.                Another approach is to just make a rough sketch of
  1523.                the map with a good theme and create everything
  1524.                'on the fly'. That's the way it usually ends up
  1525.                anyway :), but the map-drawing approach does
  1526.                produce nicer-looking maps.
  1527.  
  1528. Less is more   Zen, yes. Also known as the KISS principle: Keep
  1529.                It Simple, Stupid.
  1530.                Remember that you have lots of tools and tricks to
  1531.                create a map - don't use them all! Don't include,
  1532.                for example, dancers just because you can. Don't
  1533.                use the trip mines in a non-futuristic level.
  1534.                Leave out the security cameras in a medieval
  1535.                castle (time travel theme?).
  1536.                Rather build several levels, each based on one or
  1537.                two ideas.
  1538.  
  1539. Keep it small  Beginners usually make the mistake of designing
  1540.                cyclopian buildings. Massive forecourts, towering
  1541.                walls, huge gloomy halls - all empty.
  1542.                Rather keep the rooms small and full of detail -
  1543.                they will be more interesting and the game will
  1544.                run faster.
  1545.  
  1546. Time           You'll need loads of it. Much more than you think.
  1547.                Especially the shading and testing will take days.
  1548.                Weeks.
  1549.                Have a look at the original levels and see just
  1550.                how much time and care has been spent on them.
  1551.                Don't post a level which is substantially below
  1552.                the niveau of 3DRealms levels - nobody will like
  1553.                it.
  1554.  
  1555. Data           It is said that you should write what you know,
  1556.                and the same applies to level design. If you've
  1557.                never really looked hard at a subway station,
  1558.                don't try to create one.
  1559.  
  1560. Read this FAQ  Don't jump into drawing your level half-way
  1561.                through reading this FAQ - wait until you have a
  1562.                good idea just what is possible with the Build
  1563.                engine.
  1564.  
  1565. Your first level
  1566.                Face it. Your first level is going to be something
  1567.                you'll be ashamed of after designing your third
  1568.                level. Don't post it.
  1569.  
  1570. 4.3  Pros and cons of using real-world maps
  1571.  
  1572.  
  1573. There are lots of levels based on maps of the real world. Maps of
  1574. your campus (hello, first years!), maps of your dorm, your
  1575. apartment, your house.
  1576. The question is, should you use them?
  1577.  
  1578. 4.3.1  *Advantages*
  1579.  
  1580. Real-world maps are drawn by professionals (ok, ok, I've also
  1581. seen houses designed by blind idiots) who know what they are
  1582. doing.
  1583. They don't forget to make the outer walls thicker than the inner
  1584. ones. They don't forget the kitchen or the storage space. The
  1585. halls are of the right width...in short, the whole map is
  1586. realistic and believable.
  1587.  
  1588. Also, it's real quick creating a level from such a map since you
  1589. don't have to think and design as much.
  1590.  
  1591. Finally, it's a great way to learn how the editor works as it
  1592. forces you to implement some things you might otherwise be too
  1593. lazy to work out.
  1594.  
  1595. 4.3.2  Disadvantages
  1596.  
  1597. Such maps are also boring.
  1598. Believe it or not, but most architects didn't design their block
  1599. of flats for gun-toting maniacs chasing each other through the
  1600. corridors.
  1601. There are too few places to hide and the map typically has a
  1602. simple, utilitarian look.
  1603.  
  1604. Scale is a hassle as well. Ever looked real closely at a subway
  1605. station? It's actually very big and empty. And very boring as a
  1606. Duke level.
  1607. So you'll have to scale everything down by quite a lot anyway.
  1608.  
  1609. Remember that it's great fun for yourself to run through a
  1610. virtual representation of your house - but others who don't know
  1611. you might find such a map terribly boring.
  1612.  
  1613. And the biggest disadvantage of all: you don't think enough about
  1614. your level. The more time you spend mentally planning your world,
  1615. the better it will become.
  1616.  
  1617.  
  1618. 4.4  Using DOOM maps
  1619.  
  1620.  
  1621. With the Wad2Map program (see further below), it is now possible
  1622. to convert DOOM maps to Duke3D maps.
  1623.  
  1624. Do everybody a favour: don't.
  1625. And here's why:
  1626.  
  1627.     *  We've _seen_ the DOOM maps already.
  1628.  
  1629.     *  They aren't designed to take advantage of the Build
  1630.        engine.
  1631.  
  1632.     *  They aren't designed to work with the new monsters.
  1633.  
  1634.     *  It's a heck of a lot of work checking a level after
  1635.        conversion (for example, switches won't work), and it's
  1636.        easy to mess things up and even forget textures (HOM, here
  1637.        we come!).
  1638.  
  1639.  
  1640. 4.5  Designing the level
  1641.  
  1642.  
  1643. When designing a level, keep in mind that there is no formula
  1644. telling you how to build a fun level. Unfortunately, I can't just
  1645. tell you "Do this and that, and everybody will love your level".
  1646. But I can give you some tips and pointers.
  1647.  
  1648. 4.5.1  Level types
  1649.  
  1650. There are basically four types of levels:
  1651.  
  1652. 4.5.1.1  *Single player*
  1653.  
  1654. Single player maps are typically large and intricate, full of
  1655. detail and clever monster ambush points. They are aimed at people
  1656. who play them on their own.
  1657. For example, nearly everybody here in Germany plays in single-
  1658. player mode, as the telephone rates are simply shocking.
  1659.  
  1660. 4.5.1.2  Co-op
  1661.  
  1662. Few levels are actually designed for co-op playing only. If they
  1663. are, they are larger versions of single-player levels, with a lot
  1664. more monsters and perhaps the odd trap which can only be passed
  1665. via teamwork.
  1666.  
  1667. 4.5.1.3  *DukeMatch*
  1668.  
  1669. Since the original levels in Duke3D are very very good as both
  1670. single player and (usually, anyway) co-op, most people create
  1671. DukeMatch-only maps.
  1672. These maps are small and fast, concentrating on action instead of
  1673. the surroundings.
  1674. This doesn't mean that detail should be overlooked, though.
  1675.  
  1676. 4.5.1.4  *My room/flat/dorm/house*
  1677.  
  1678. These levels attempt to copy a real-world place with as much
  1679. accuracy as possible. They are typically rather boring and only
  1680. of interest to the people who know the place well.
  1681. The only use I personally see for such levels is to learn how to
  1682. use the editor.
  1683.  
  1684. 4.5.2  Choosing a level type
  1685.  
  1686. Your new level will usually be one of the above - very few maps
  1687. suceed at being good at everything.
  1688. Happily, there's an exception to the rule: JenApt (Jennies
  1689. Apartment) is an early (and great) level which excels at
  1690. combining all four level types in one. Created by Jennifer Lynn
  1691. (fragment@cyberramp.net), it's well worth looking at.
  1692.  
  1693. Single player levels are easy to do - all you need is a good
  1694. idea, lots of imagination and plenty of time. If you make the
  1695. level large enough, you might be able to combine it with a co-op
  1696. level.
  1697.  
  1698. DukeMatch levels are surprisingly difficult to create. Not only
  1699. do tastes differ (by a lot! For example, do I Hide&Snipe or
  1700. Chase&Blast?), but you have to do a lot of testing to make the
  1701. level just right.
  1702. And even then, it'll only be just right for you, and others might
  1703. not like it at all. See the section on DukeMatch level design
  1704. below.
  1705.  
  1706. The 'My very own room in VirtualReality MultiMedia DataHighway
  1707. CyberSpace (tm)' theme we'll leave to the VisualBasic
  1708. programmers.
  1709.  
  1710. 4.5.3  *Random tips and thoughts*
  1711.  
  1712. ## Feedback needed! In this section, I'd like to simply list tips
  1713. and tricks to keep in mind while designing a level.
  1714.  
  1715. 4.5.3.1  *Working with Build*
  1716.  
  1717.     *  Build from the outside in.
  1718.        When creating a house, for example, first create a huge
  1719.        bonding sector, containing everything else. You can always
  1720.        resize it later.
  1721.  
  1722.     *  Do the rough work first.
  1723.        Build your house (or dungeon, or subway, or whatever) like
  1724.        you would build it in real life: start with the outer
  1725.        walls, add the rough rooms, connect everything up and only
  1726.        then add the details: glass in the windows, different
  1727.        textures, etc.
  1728.  
  1729.     *  Save your level a lot. Use the 'save (A)s' option to
  1730.        create several versions of your level. Thus, if an idea
  1731.        goes wrong, you can always return to an earlier version.
  1732.        The more backups you have, the happier you'll be when (not
  1733.        if) BUILD nukes your map.
  1734.  
  1735.     *  Beware the bug! BUILD is not perfect and contains some
  1736.        nasty bugs capable of rending your map to pieces. See the
  1737.        section on Build Bugs for more info.
  1738.  
  1739.     *  Use F12 to dump the map to disk and print it out.
  1740.  
  1741. 4.5.3.2  *Do*
  1742.  
  1743.     *  Use F7 a lot while playing your map to make sure the scale
  1744.        is all right. Remember that scale is important! Duke
  1745.        levels are usually smaller that their real-world
  1746.        counterparts.
  1747.  
  1748.     *  Most sprites are too large when just inserted as they are
  1749.        (especially the buttons). Make sure you scale everything
  1750.        right.
  1751.  
  1752.     *  Take it easy on triangle-shaped sectors, the tip can look
  1753.        real bad.
  1754.  
  1755.     *  Try to make everything look as realistic as possible:
  1756.        wooden ceilings are usually tilted and are held up with
  1757.        massive beams. Often, corners of rooms (especially large
  1758.        ones) will be held up by stone pillars. And so on.
  1759.  
  1760. 4.5.3.3  *Don't*
  1761.  
  1762.     *  Avoid cliches: do you NEED a shark in every bathtub? Why
  1763.        yet another lizard sitting on a toilet? Should this level
  1764.        really contain strippers?
  1765.  
  1766.     *  Please don't overuse the effect of monsters warping in!
  1767.        It's so darn unrealistic! Rather open a hidden door or
  1768.        somesuch, and have the opponents boil out from there.
  1769.  
  1770.     *  3DRealms added lots of in-jokes: the doomed space marine,
  1771.        Indiana Jones, the Terminator, the alien on the toilet...
  1772.        Don't reuse these; nothing worse than an old, tired joke
  1773.        seen for the 100th time. Invent your own!
  1774.  
  1775.     *  Don't post half-finished levels to let others see your
  1776.        'work in progress'. What for? You'll only make a bad name
  1777.        for yourself if you release half-baked levels...
  1778.  
  1779. 4.5.3.4  *General tips*
  1780.  
  1781.     *  Scare the player. Dan Benge came up with the idea of
  1782.        breaking a (single player) level into scenes: lead the
  1783.        player into it (lots of ambience sound), lead him to the
  1784.        climax (octabrain in the face, whatever), reward him
  1785.        afterwards (triumphant music, power up, keys).
  1786.        Tension is very important in a level.
  1787.  
  1788.     *  Have plenty of height variations: stairs, lifts, ledges.
  1789.        Force the player to jump, too.
  1790.  
  1791.     *  Make players earn bigger and better weapons. Especially,
  1792.        guard the bigger ones well.
  1793.  
  1794.     *  If the player falls into nukage, give him a way out (a
  1795.        button to press, stairs...). He should be punished for
  1796.        moving carelessly, yes, but not killed.
  1797.  
  1798.     *  Mark secret doors - a lightly darker or mismatched texture
  1799.        (forcing you to look closely) will do.
  1800.  
  1801.     *  Keep in mind that players will try _anything_ - if they
  1802.        are crazy enough to try and jump to that ledge, reward
  1803.        them if they make it (and punish them if they don't >:)
  1804.  
  1805.     *  Pacing! Keep the player interested. This should also stop
  1806.        you from building mazes, which are plain boring to
  1807.        explore.
  1808.  
  1809.     *  The Ending: make it good! When the player finally managed
  1810.        to finish the level, make it worth his while.
  1811.  
  1812. 4.5.3.5  *Posting your level*
  1813.  
  1814. When posting your level on the internet or anywhere else, please
  1815. adhere to the following checklist:
  1816.  
  1817.     o  I've read and understood all above thoughts.
  1818.  
  1819.     o  My level is as good or better than the original Duke
  1820.        levels.
  1821.  
  1822.     o  I have included a .TXT file giving details about the level
  1823.        (your address, if single play is supported, etc).
  1824.     o  I'm not going to brag about how very cool and awesome my
  1825.        level is (sheesh, guys, how often have I heard that one?
  1826.        By now I'm not downloading any level with the word
  1827.        'awesome' in the description as I know that it'll be a
  1828.        waste of time - again).
  1829.  
  1830. 4.5.4  Typical mistakes to avoid
  1831.  
  1832. This section contains, in no particular order, common errors
  1833. which you should avoid:
  1834.  
  1835. 4.5.4.1  Crossed lines
  1836.  
  1837. By this I mean bounding lines from the same sector crossing each
  1838. other. While the game will allow this, it usually looks bad.
  1839.  
  1840. 4.5.4.2  Overlaying lines
  1841.  
  1842. Overlaying lines very often leads to mysterious graphics glitches
  1843. (a door texture suddenly spilling onto the floor is a typical
  1844. example).
  1845. Rather place the lines very close to each other (using Grid lock
  1846. off).
  1847.  
  1848. 4.5.4.3  Hall Of Mirrors
  1849.  
  1850. The Hall Of Mirrors (HOM) is caused by a missing texture and is
  1851. only really possible if BUILD is about to crash or you converted
  1852. a DOOM map via WAD2MAP.
  1853.  
  1854. 4.5.4.4  Door side tracks
  1855.  
  1856. Make sure the side tracks of doors don't move up with the door if
  1857. building a DOOM-type door. Use [O].
  1858.  
  1859. 4.5.4.5  *Unaligned Textures*
  1860.  
  1861. Aaargh! Unaligned textures are one of the most ugly design errors
  1862. around, and BUILD makes it so easy to avoid them! Use [.] a lot,
  1863. and look at all the corners to make sure the textures fit.
  1864. Even Our Hero Jenny made that mistake in the JenApt map :(
  1865.  
  1866. 4.5.4.6  Missing Player Starts
  1867.  
  1868. Make sure there are at least 7 co-op and 7 DukeMatch player
  1869. starts in your map (the 8th one in each case is the normal player
  1870. starting point).
  1871.  
  1872.  
  1873. 4.6  DukeMatch level design
  1874.  
  1875.  
  1876. The info in this section I've shamelessly swiped from the
  1877. excellent 'Deathmatch level design guidelines v1.0' from Brian
  1878. Kidby (thekid@ornews.intel.com).
  1879.  
  1880. As the basis for this section was aimed at DOOM players, I
  1881. haven't included as many Duke-specific things as I should. ##
  1882. Please send me your thoughts and ideas, I'll be expanding this
  1883. section.
  1884.  
  1885. 4.6.1  Monster placement
  1886.  
  1887. Pig cops are useful for supplying ammunition to the player.
  1888. Since ammunition respawns, the question is if you want your
  1889. players to fight for their ammo, especially as dead enemies don't
  1890. always drop anything (it's easy to hack the GAME.CON file for
  1891. this, though - see lines 1072/2862 and 188 in USER.CON).
  1892.  
  1893. Other monsters (the leaping chaingunning lizard comes to mind)
  1894. might give ammo as well, but they usually just distract from the
  1895. main aim of the game - nuke your opponent!
  1896.  
  1897. However, the placement of monsters can do a lot to generate the
  1898. 'feel' for your level - minibosses might keep a large area clear
  1899. for a long time, as nobody will want to get close to them if they
  1900. dont have to...
  1901.  
  1902. 4.6.2  Weapon placement
  1903.  
  1904. 4.6.2.1  Power weapons
  1905.  
  1906. Power weapons are defined as the favourite DukeMatch weapons: the
  1907. chaingun and the rocket launcher.
  1908. In nearly all DukeMatches I've played, the first priority of the
  1909. players was to get one of these weapons. The second was to start
  1910. using it >:)
  1911.  
  1912. These weapons should be places as far apart as possible. This has
  1913. three reasons:
  1914.  
  1915.     *  Getting the gun
  1916.        Placing the weapons far apart forces the players to cover
  1917.        more ground. Thus they meet more opponents and monsters,
  1918.        possibly trigger traps and learn the layout of the level.
  1919.  
  1920.     *  Defending the gun
  1921.        Many DukeMatchers will go to a power weapon and 'sit on
  1922.        it', waiting for the other players to show up. if the
  1923.        weapons are far apart, the players won't see much action
  1924.        during their wait, forcing them to move ot to hunt sooner
  1925.        - much more exciting.
  1926.  
  1927.     *  Covering tracks
  1928.        In a new DukeMatch level, players like to keep the
  1929.        locations of the weapons secret for as long as possible.
  1930.        If the weapons are far apart, the chances of being
  1931.        followed are so much smaller.
  1932.  
  1933. 4.6.2.2  Starting-point weapons
  1934.  
  1935. Every starting point should have a shotgun next to it, so the
  1936. players are not completely defenseless at the beginning. This
  1937. also gives them more confidence to go out looking for bigger toys
  1938. to use.
  1939.  
  1940. On the other hand, some people prefere to place the starting
  1941. points right next to 'normal' weapons - every start point next to
  1942. a different weapon. This makes respawning interesting, as the
  1943. kind of weapon available at the beginning (Shrinker vs. Trip
  1944. bombs, for example) radically changes the style of play.
  1945.  
  1946. 4.6.3  Ammo placement
  1947.  
  1948. 4.6.3.1  Amount and location
  1949.  
  1950. Place small amounts of ammo in high-traffic areas, and larger
  1951. (not too large!) stashes in secret places. Adding a sniper spot
  1952. near the bigger stashes makes life a lot more interesting, too.
  1953.  
  1954. 4.6.3.2  Ammo Quantity Types
  1955.  
  1956. Easily accessible ammo should be of the 'small quantity' type, eg
  1957. single pipe bombs instead of pipe bomb boxes, as this eliminates
  1958. waste when a player picks up more than he can carry.
  1959.  
  1960. Also, larger amounts of ammo should be strategically placed (see
  1961. above).
  1962.  
  1963. 4.6.4  Health placement
  1964.  
  1965. Rarely does health seem to be a problem in DukeMatch games.
  1966. Usually, players either die really quickly of a massive lead
  1967. overdose, or they run and hide, sniping at their opponent.
  1968.  
  1969. If you do place health around (and I still think you should), do
  1970. so sparingly, observing the same rules as for ammo. Also, place
  1971. toilets and water fountains only in high-traffic areas, to avoid
  1972. players disappearing for a long time to fill up their health
  1973. slowly (although, if several nice sniper spots are nearby...).
  1974.  
  1975. 4.6.5  Architectures
  1976.  
  1977. First off, let me say that level layouts are always a matter of
  1978. taste.
  1979. Here are just some things which I like in DukeMatch levels:
  1980.  
  1981. 4.6.5.1  Large, open areas
  1982.  
  1983. Fun! Show your aim at long-range pistol shooting, have rocket
  1984. launcher duels (have you mastered jumping over an approaching
  1985. rocket?), fight several players at once and have lots of space to
  1986. move about.
  1987.  
  1988. 4.6.5.2  Long, wide passages
  1989.  
  1990. Same as for large areas applies - running towards somebody,
  1991. dodging his attacks while shooting your own is great fun.
  1992.  
  1993. 4.6.5.3  Nooks 'n crannies
  1994.  
  1995. Such areas should not be too large, but it is fun as well:
  1996.  
  1997.     *  Hunting somebody through narrow, twisting passages is an
  1998.        adrenaline rush in itself - is he hiding behind this
  1999.        corner?
  2000.  
  2001.     *  Lots of nice sniping spots.
  2002.  
  2003. 4.6.5.4  Balconies, bridges and towers
  2004.  
  2005. It's always fun watching your opponent walking under you,
  2006. completely unaware of your presence until you pull the trigger...
  2007. It's also nice blasting a sprite bridge out from under his feet
  2008. :)
  2009.  
  2010. 4.6.5.5  Fortresses
  2011.  
  2012. At times, players may decide to pay a 'capture the flag' theme,
  2013. with four players defending a fortress and four others trying to
  2014. break it (perhaps with the aim of reaching/rescuing the dancer in
  2015. the middle?).
  2016. The fort should be well armed and not too large with lots of nice
  2017. sniper spots (and the odd blastable wall to enable attacks
  2018. through the back).
  2019.  
  2020. 4.6.5.6  Obstacles
  2021.  
  2022. Obstacles (pillars, crates, tables, sprites) are very important
  2023. in DukeMatch, as they allow you to hide and dodge enemy fire.
  2024.  
  2025. 4.6.5.7  Sniper spots
  2026.  
  2027. Sniper spots greatly add to DukeMatch levels. They should always
  2028. have an escape-route, though, just in case your first shot
  2029. missed...
  2030. One-way walls are good for this, but perhaps a bit _too_ easy.
  2031.  
  2032.  
  2033. 4.7  *Once your level is done*
  2034.  
  2035.  
  2036. A finished level is far from finished - lots of things remain to
  2037. be done:
  2038.  
  2039. Shading        Shade your level! See how efficiently 3DRealms
  2040.                used light and shade in their levels? Do the same
  2041.                - carefully shade every single room. Add lamps and
  2042.                (colored) lights. Sunlight streaming through the
  2043.                windows. Shadows behind columns and buildings.
  2044.                Shade plays a major part in how realistic (and
  2045.                thus, how good) a level will look. Doing it well
  2046.                takes ages.
  2047.  
  2048. Textures       Well, we won't see the HOM (Hall Of Mirrors)
  2049.                effect from DOOM anymore. But make sure your
  2050.                textures are aligned. It's so easy to do using
  2051.                Build, please make sure they look alright! Nothing
  2052.                worse than seeing the brick texture break on the
  2053.                edge of a wall, clearly showing it to be fake.
  2054.                Use the [.] key a lot, make sure you know how it
  2055.                works (and save before you do, it crashed a couple
  2056.                of times on me).
  2057.                Also, don't use too many textures - the have to
  2058.                fit your theme and the game runs faster on fewer
  2059.                textures.
  2060.  
  2061. Details        'All those tiny little details...'
  2062.                The TV in the corner. The discarded bottle on the
  2063.                street. Blood on the walls. The camera turning by
  2064.                just the right amount. The perfect ambience sound
  2065.                in the perfect place.
  2066.  
  2067. Realism        Your map must be totally convincing. As said,
  2068.                shade plays a large part in this, but so does the
  2069.                map itself: are the walls thick enough? Are they
  2070.                too thin? Does that texture belong here? Is it too
  2071.                noticable that this sprite always seem to turn to
  2072.                face you? Should you really use this type of
  2073.                monster here?
  2074. Testing        Lots! Play the level on your own. Play in in coop.
  2075.                DukeMatch it for hours (if you can't play in it
  2076.                for hours, something's wrong). Fine-tune it: is
  2077.                the window at just the right height? Is that
  2078.                elevator positioned in the perfect place?
  2079.                Testing is really important - let your friends
  2080.                play with your level (without you being present)
  2081.                and listen to their comments.
  2082.  
  2083. Difficulty     If you're told that your level is too easy, don't
  2084.                make it more difficult by simply adding lots more
  2085.                monsters! That's a typical newbie mistake - rather
  2086.                place the monsters in better positions and redo
  2087.                the layout a bit.
  2088.  
  2089. Light          Next to shading (see above), the amount of light
  2090.                in a level is important. While a dark, gloomy
  2091.                level can create great atmosphere, keep in mind
  2092.                that few of us enjoy playing in pitch darkness.
  2093.  
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.                             Chapter 5
  2100.  
  2101.             A walkthrough to creating a simple level
  2102.  
  2103.  
  2104. This chapter will guide you to designing your first level.
  2105. It's very much written like a cook-book - you don't have to
  2106. understand exactly what you're doing; if you follow the
  2107. instructions, it'll work out ok :)
  2108.  
  2109. Details about working with BUILD can be found in the next
  2110. chapter.
  2111.  
  2112.  
  2113. 5.1  Planning
  2114.  
  2115.  
  2116. Remember: we have to plan the map first.
  2117. For our first map we'll build a very simple map: a storage house
  2118. on a street. It will include a door, a window and have a sloped
  2119. roof.
  2120.  
  2121.  
  2122. 5.2  Getting ready
  2123.  
  2124.  
  2125. If you're still in Windoze, get out. It'll do you good, and both
  2126. Duke3D and Build run better under DOS.
  2127.  
  2128. I'm assuming that you've installed Duke3D on your hard drive on
  2129. C:\GAMES\DUKE3D and that your duke CD is in drive F.
  2130.  
  2131. So now you'll have to copy the editor into your Duke3D directory
  2132. as well:
  2133. CD C:\GAMES\DUKE3D
  2134. XCOPY F:\GOODIES\BUILD\*.*
  2135.  
  2136. Now start up BUILD.EXE. A screenfull of legalese will pop up (in
  2137. effect it says that you can't copy BUILD and should only design
  2138. maps for the commercial version of Duke3D - obvious). Press ENTER
  2139. to get rid of it and -voila!- you're in the 2D mode.
  2140.  
  2141.  
  2142. 5.3  Creating a new map
  2143.  
  2144.  
  2145. Press [Esc]. On the bottom, a small menu will pop up:
  2146. (N)ew, (L)oad, (S)ave, save (A)s, (Q)uit
  2147. Press [N].
  2148.  
  2149. Asked 'Are you sure you want to start a new board?', you press
  2150. [Y].
  2151. Note to non-US users: the program reads your keyboard directly
  2152. and thus expects you to press the key right next to [T] - for ze
  2153. Germans, this would be [Z].
  2154.  
  2155. The new map will automatically be called NEWBOARD.MAP -
  2156. overwriting any file with that name in your directory. So be sure
  2157. to use 'save (A)s' the first time you save your map.
  2158.  
  2159.  
  2160. 5.4  The 2D screen
  2161.  
  2162.  
  2163. The screen in front of you now is the 2D mode, where you'll be
  2164. doing all the rough work like laying out your rooms and
  2165. corridors. You are currently viewing your map from above.
  2166. (Changing room heights, textures, etc are done in 3D mode, so be
  2167. patient).
  2168.  
  2169. The screen consists of several parts:
  2170.  
  2171. 5.4.1  Map
  2172.  
  2173. Most of the screen is given over to the map itself. Currently
  2174. it's just displaying a grid.
  2175. All line endpoints and all sprites will automatically align
  2176. themselves with the grid (making it easy to design rectangular
  2177. rooms, for example). You can change the grid size by pressing [G]
  2178. several times: try it now. You'll see the grid size shrink and
  2179. then disappear (meaning the grid is switched off and you can draw
  2180. anywhere). Keep pressing [G] until you see the biggest possible
  2181. grid. The biggest (meaning coarsest) grid has points which are
  2182. 1024 units (that's 256 pixels) apart.
  2183.  
  2184. To see the maximum possible size of your map, use the [A] and [Z]
  2185. keys to zoom your map in and out. Try it, and then zoom back to a
  2186. comfortable distance.
  2187.  
  2188. The map also shows a red cross (your mouse cursor) and a white
  2189. arrow (your current position).
  2190.  
  2191. 5.4.2  *Message window*
  2192.  
  2193. The message window is the bit just below the map: on the left it
  2194. shows the text 'BUILD V041996 BUILD by Ken Silverman'.
  2195. The right part of the message window currently just shows a red
  2196. line - that's where the program will display messages and ask you
  2197. for any info it needs.
  2198.  
  2199. 5.4.3  Data window
  2200.  
  2201. The data window displays info about currently selected objects
  2202. (like sectors, walls or sprites) and can also show some help
  2203. texts.
  2204. Right now it should be empty.
  2205.  
  2206. 5.4.4  Info window
  2207.  
  2208. The info window also consists of two parts: on the left is your
  2209. current (x,y) position in units as well as your viewing angle.
  2210. On the right it shows how many resources you have used up
  2211. already. Interesting, because it shows you the limits imposed by
  2212. the Build engine: you can have a maximum of 1024 sectors, 8192
  2213. walls and 4096 sprites.
  2214.  
  2215.  
  2216. 5.5  Moving about
  2217.  
  2218.  
  2219. As said, the white arrow is your position and heading on the map.
  2220. You can move about in two ways:
  2221.  
  2222. Cursor keys    Like in the game, these move your forward and
  2223.                backwards. You can also rotate your heading.
  2224.                Interestingly, it also prohibits you from walking
  2225.                through blocking walls - this way you can see if
  2226.                the player will actually be able to walk
  2227.                everywhere he should be.
  2228.  
  2229. Mouse          The red cross is your mouse cursor and therefore
  2230.                (surprise!) moved with your mouse. Pressing the
  2231.                right mouse button transports your position to the
  2232.                mouse cursor - try keeping the button pressed and
  2233.                moving your mouse to see what happens.
  2234.  
  2235.  
  2236. 5.6  *Creating a room*
  2237.  
  2238.  
  2239. So, let's start by building the street first.
  2240. Move your position somewhere into the middle of the map and zoom
  2241. in until you're at a nice comfortable distance (three squares of
  2242. the grid should be about an inch in length on your screen).
  2243.  
  2244. Now point the mouse at the bottom left of your currently visible
  2245. map and press the spacebar.
  2246. A small green square appears on a grid point and the message
  2247. window displays 'Sector drawing started.' And so it has - try
  2248. moving the mouse about on the screen. See that white line? That's
  2249. your first wall. Move it straight up by exactly seven squares and
  2250. press the spacebar again.
  2251.  
  2252. Another green square has appeared, and you've begun drawing a new
  2253. wall. Move it exactly 14 squares to the right and press the
  2254. spacebar again. Draw the next wall seven squares straight down
  2255. and press the spacebar.
  2256. The last wall you'll end exactly on the first point created, thus
  2257. forming a neat rectangle.
  2258.  
  2259. When you pressed the spacebar for that last square, the lowest
  2260. wall started flickering. This means that it's the currently
  2261. selected wall. Press [Alt]-[Tab] to get some info on the wall.
  2262.  
  2263. Don't worry about what all that stuff means - the only thing of
  2264. interest right now is the Wall number: the one on the bottom is
  2265. wall number 4.
  2266. Move the cursor near the other walls and note how the other walls
  2267. get selected. The info at the bottom, however, is not
  2268. automatically updated, so you'll have to press [Alt]-[Tab] for
  2269. each wall again.
  2270.  
  2271. Just press [Tab] now and have a look at the sector info. All that
  2272. stuff is explained later in the FAQ, it's not important right
  2273. now.
  2274.  
  2275.  
  2276. 5.7  *3D mode*
  2277.  
  2278.  
  2279. Make sure the white arrow is inside this room and press the
  2280. [NumEnter] key. This is the Enter key on the bottom right of the
  2281. numeric keypad (the big one in the middle won't work for us).
  2282.  
  2283. Wow! 3D!
  2284. You're now inside your room. It's still somewhat narrow and has
  2285. walls consisting of ugly gray stone. That stone, by the way, is
  2286. that ugly on purpose. It reminds you that you still have to find
  2287. a nice texture for it.
  2288.  
  2289. In 3D mode, two things are of particular interest:
  2290.  
  2291. The mouse      The mouse cursor has changed into a white cross -
  2292.                you use it to point at the things you want to
  2293.                change: walls, sprites...anything.
  2294.  
  2295. FPS            On the top left is the FPS (Frames Per Second)
  2296.                counter. This is the speed at which the screen is
  2297.                being redrawn.
  2298.                This number is terribly important while designing
  2299.                your level: if it drops too low (below 10), the
  2300.                level will play jerky and you won't enjoy it.
  2301.                The FPS are connected to the complexity of the
  2302.                displayed image - the more walls, sprites and
  2303.                textures the computer has to show on a single
  2304.                screen, the lower the FPS count will be.
  2305.                As the Levelord says: "Framerate is God!". So keep
  2306.                an eye on it.
  2307.  
  2308. You can move about in 3D mode with the cursor keys. Don't use the
  2309. cursor keys from the numeric keypad but the ones in the middle.
  2310.  
  2311. You can jump back and forth between 2D and 3D mode by pressing
  2312. the [NumEnter] key.
  2313.  
  2314.  
  2315. 5.8  Raising the roof
  2316.  
  2317.  
  2318. This is supposed to a street scene, right? So the first thing
  2319. we'll need to do is raise the roof.
  2320.  
  2321. Point at the ceiling and press [PgUp]. You can see it move
  2322. upwards a bit, pulling the walls with it. Point at the wall in
  2323. front of you and press [PgUp] again. That's another way to raise
  2324. the ceiling.
  2325.  
  2326. Raise the roof until you reach a height you feel more comfortable
  2327. with. The room should now resemble a small aircraft hangar.
  2328.  
  2329.  
  2330. 5.9  Textures
  2331.  
  2332.  
  2333. Now for some magic: let's change the appearance of the walls and
  2334. floor.
  2335.  
  2336. 5.9.1  The floor
  2337.  
  2338. The floor is first: we'll change it from a simple and ugly stone
  2339. to a street. Point at it and press [V].
  2340.  
  2341. The screen clears, showing the current texture at the top left
  2342. and the number '0' at the bottom left. This screen contains all
  2343. floor textures you have used on your map so far, and the number
  2344. '0' is the number of the currently selected texture.
  2345.  
  2346. Press [V] again: now you'll see a list of _all_ textures in the
  2347. game, including things which are actually sprites (like the
  2348. weapons), but can be usd as textures if you want (although
  2349. they'll usually look weird).
  2350. You can move your cursor (the white box) about with the cursor
  2351. keys - try it.
  2352.  
  2353. Have a look at all the possibilities.
  2354. Now press [G] (meaning Goto). The program will ask you 'Goto
  2355. tile:' on the top left. Use the backspace key to erase the
  2356. currently shown number and type '815'. Press [Enter].
  2357.  
  2358. Voila! The floor changed its appearance and now looks more like a
  2359. street.
  2360.  
  2361. 5.9.2  The roof
  2362.  
  2363. Now for the roof. The street has sky above it, right? So, using
  2364. [V] again we'll select tile number 89.
  2365.  
  2366. This looks weird, not like the sky at all. So we parallax it:
  2367. point at the roof and press [P].
  2368. Much better! Move around a bit, using [Ctrl]-[A] and [Ctrl]-[Z]
  2369. to look up and down. (Yes, if you look too high, the texture will
  2370. mess up - it's the reason most outside areas are so high and
  2371. narrow in the game. Keep your eyes low for now :)
  2372.  
  2373. 5.9.3  Flying about
  2374.  
  2375. There are three movement modes available to you in the 3D view:
  2376.  
  2377. Game Mode      Here you walk around like the player in the game.
  2378.                Use [A] to jump and [Z] to duck.
  2379.  
  2380. Height Lock    In this mode, you're always at the same height
  2381.                above the floor. Use [A] and [Z] to raise and
  2382.                lower yourself.
  2383.  
  2384. Float Mode     You're completely unaffected by the floor and can
  2385.                smoothly change your height with the [A] and [Z]
  2386.                keys.
  2387.  
  2388. Use the [CapsLock] to change between these modes.
  2389.  
  2390. 5.9.4  The walls
  2391.  
  2392. Currently we're still sitting in a walled-in box. Let's make this
  2393. look even more like a street.
  2394.  
  2395. Point at the west wall and give it the texture number 794.
  2396. Now this looks more like a house. However, I bet the windows are
  2397. not perfectly aligned with the ground and you only have half the
  2398. lowest row showing.
  2399.  
  2400. So let's change the orientation of the wall texture. Point at the
  2401. houses and press [O]. Hmm, the texture now hangs from the roof
  2402. instead of the floor.
  2403. Still not good enough. Press [O] again and raise the ceiling
  2404. until you have three rows of windows, looking just right. Walk up
  2405. close to it, making sure it looks ok.
  2406.  
  2407. Now we'll copy this texture to the other four walls: Point at the
  2408. west wall again and press [Tab]. This copies the texture into
  2409. memory, causing some text to appear: 'Lo = 0/hi = 0/USED= 1/MEM =
  2410. 8192'. (Of interest is only the 'USED' value - it shows how often
  2411. we have used this texture already).
  2412. Point at the three gray walls in turn and press [Enter] on each.
  2413.  
  2414. Much better. Now we're standing on a street (or a courtyard).
  2415. Note how neatly the textures fit together in the corners? That's
  2416. because we stuck to the grid while designing this room in 2D
  2417. mode. All textures have width and height in a multiple of 8, same
  2418. as the grid. So stick to the grid, and you'll be ok.
  2419.  
  2420. Last thing to do now is to make our house stand out. The street
  2421. is on the north edge of our house, so point at the south wall and
  2422. give it the texture number 723. This changes our house to a
  2423. darker, more brooding one.
  2424.  
  2425.  
  2426. 5.10  Building the house
  2427.  
  2428.  
  2429. So far we have a street but no house.
  2430.  
  2431. To design the house, we first drop back into 2D mode: press
  2432. [NumEnter].
  2433.  
  2434. 5.10.1  The house sector
  2435.  
  2436. Press [G] again, making the grid a bit smaller (exactly by half,
  2437. in fact). This is now the second-biggest grid available to us.
  2438.  
  2439. Point on the grid just below the lower left point of the street
  2440. and press [Spacebar]. Don't draw on the point itself, but one
  2441. grid unit below it - if you made a mistake, press [Backspace] and
  2442. try again.
  2443.  
  2444. Draw a line to the right parallel to the street, along its whole
  2445. length. Press [Spacear] under the bottom right point of the
  2446. street. That's the first inside wall of the house. The next wall
  2447. goes straight down by 8 grid units.
  2448. Keep going until you have a rectangle defining the inside of your
  2449. house.
  2450.  
  2451. 5.10.2  Fixing the house sector
  2452.  
  2453. Move the white arrow inside the house sector with the mouse
  2454. (notice that you can't move from the street to the house with the
  2455. cursor keys, as there's a thin line of nothing (solid rock)
  2456. between the street and the house) and switch into 3D mode.
  2457.  
  2458. Yuck, there's the gray stone again. Again, we first raise the
  2459. roof to a comfortable height (don't make it too high - look at
  2460. the room you're in now to get an idea of the proper height).
  2461.  
  2462. Now that we have a (somewhat long and narrow-looking) room, we
  2463. fix the floor first. Let's make a red carpet on a wooden floor,
  2464. like the one we saw in the Bank Roll level.
  2465.  
  2466. 5.10.2.1  The carpet floor
  2467.  
  2468. Point at the floor and give is texture number 749. Hmm, the
  2469. floorboards look a bit wide. Point at them and press [E] (toggles
  2470. between enlarged and normal floor). Now the wood looks better.
  2471.  
  2472. Now how will we do the carpet? After all, we don't want wall-to-
  2473. wall carpeting, we want the wood to peek out at the edges.
  2474.  
  2475. Since a sector can only have one floor texture, the answer is to
  2476. create a second sector inside the house sector. A smaller one,
  2477. with the same roof and floor height as the first one, but a
  2478. different floor texture.
  2479.  
  2480. So we pop back into 2D mode and design a second sector inside the
  2481. house. It looks just like the house sector, but is a bit smaller
  2482. (one grid unit distance to the walls).
  2483.  
  2484. Place the white arrow in the middle of our new sector and press
  2485. [NumEnter].
  2486. Whoops! A message appears: 'Arrow must be inside a sector before
  2487. entering 3D mode'. What happened?
  2488. Place the arrow in the narrow space between the old house sector
  2489. and the new one and press [NumEnter] again. Whooo - tight!
  2490. You see, the old sector is now doghnut-shaped - we've created a
  2491. solid block of stone right in the middle of it.
  2492.  
  2493. Go back into 2D mode. Point inside the new sector and press
  2494. [Alt]-[S].
  2495. The walls now turn red, and the message window says 'Inner loop
  2496. made into new sector.'.
  2497.  
  2498. Back in 3D mode we see that everything is ok now - we have our
  2499. original house back. No sign of the new sector, though.
  2500. That's because the new sector automagically has the same floor
  2501. and ceiling of the original sector. Point at the middle of the
  2502. floor, press [V] and select texture number 899. See? There's our
  2503. carpet.
  2504. Play about raising and lowering the roof and floor of the carpet
  2505. sector to get a good understanding of what we've done just now.
  2506.  
  2507. When you're done, set the floor and roof of the carpet sector to
  2508. the same as the house sector and give all four walls a nicer
  2509. texture: 783. Remember that you can use [Tab] and [Enter] to make
  2510. life easier.
  2511.  
  2512. 5.10.2.2  Nice walls
  2513.  
  2514. Hmmm. The walls are suposed to have a wooden toe-rail along the
  2515. bottom and a dark stripe near the ceiling, and currently they
  2516. look wrong.
  2517. Looks like we'll have to shift the texture up a bit: point at one
  2518. of the walls and press [Shift]-[Num2] (that's the '2' key on the
  2519. numeric keypad).
  2520.  
  2521. See it move up a bit? Keep pressing [Shift]-[Num2] until the
  2522. wooden toe rail is exactly right on the floor (walk up close to
  2523. the wall to make sure no single line of brighter pixels is
  2524. peeking underneath the wood). Now the wall is so high that the
  2525. texture repeats on the upper part, so we'll lower the roof a bit.
  2526.  
  2527. Sinve the texture is attatched to the roof, this lowers the whole
  2528. wall into the floor. Point at it and press [O] (for Orientation).
  2529. Move the roof again and note that the texture is now attached to
  2530. the floor, not moving with the roof.
  2531.  
  2532. Make the texture look good again by using [Shift]-[Num2]. Then
  2533. lower to roof until the wall looks just perfect. Don't forget to
  2534. lower the roof of the carpet sector by the same amount, otherwise
  2535. it won't look right.
  2536.  
  2537. If the other walls are not looking ok, point at the wall you've
  2538. been working on and press [.]. This auto-aligns the textures of
  2539. all walls (you might have to press [O] on the other three walls
  2540. as well).
  2541.  
  2542. 5.10.2.3  Finally, the roof
  2543.  
  2544. The roof also isn't looking to good so far. Give it the texture
  2545. number 182. And change the roof texture of the carpet sector to
  2546. match, of course :)
  2547.  
  2548. 5.10.3  Saving your work
  2549.  
  2550. Nice. Now just so we don't loose everything, go back into 2D
  2551. mode, press [Esc] and [A] (save As). Erase the name 'NEWBOARD'
  2552. with [Backspace], type [DEMO] and press [Enter].
  2553.  
  2554. Now no matter what happens, we won't loose our work so far.
  2555.  
  2556. 5.10.4  Building a doorway
  2557.  
  2558. The house is well and good, but we're missing something
  2559. important: a doorway out to the street.
  2560.  
  2561. To create one, we'll need to be in 2D mode and create a sector
  2562. connecting the street and the house.
  2563.  
  2564. Move to the right of the house and zoom in a bit so you can see
  2565. the grid very clearly. Move the cursor just underneath the white
  2566. line defining the top edge of the house. See that little black
  2567. dot on it just above the red cross? Move the cross until the dot
  2568. is exactly three grid squares from the right edge of the white
  2569. house sector and press [Ins].
  2570.  
  2571. A small green square appears: we've inserted a point on the white
  2572. line, splitting it in two. Insert another point on the same line,
  2573. two grid squares to the left of the first one.
  2574.  
  2575. Now do the same thing to the bottom part of the street sector:
  2576. insert two points just above the points on the house sector.
  2577. These four new points will now define our doorway sector. Notice
  2578. that the doorway will share two lines: the bottom one will also
  2579. belong to the house, while the top one will connect to the
  2580. street.
  2581.  
  2582. Now build the door sector: point at the bottom left point and
  2583. press [Spacebar], starting a new line. Point at the point on the
  2584. bottom right and press [Spacebar] again. Keep doing this with the
  2585. top right and the top left point. End the final line on the
  2586. bottom left point, creating a rectangle which will immediately
  2587. turn partly red.
  2588.  
  2589. That's our new doorway sector. Look at it: the top and bottom
  2590. lines are red (two-sided lines) and the left and right ones are
  2591. white (one-sided).
  2592.  
  2593. Let's view this in 3D: place the arrow on the street and switch
  2594. into 3D mode.
  2595.  
  2596. Doesn't look too good so far, does it? The doorway reaches all
  2597. the way into the sky, appearing all wrong.
  2598. So let's make it lower: walk into the doorway, point at one of
  2599. the walls and keep pressing [PgDn] until the roof comes into
  2600. view.
  2601. The roof looks a mess because it's still parallaxed (the doorway
  2602. took on the setup of the street sector - notice the floor is
  2603. asphalt), so press [P] on it.
  2604.  
  2605. Take a few steps backwards into the street and change the height
  2606. of the doorway until you're happy with it (it should end just at
  2607. the top of the dark windows).
  2608. The walls look a bit messy, both over the doorway and inside it.
  2609. That's because their textures are attached wrong - press [O] on
  2610. them. Much better.
  2611. Also change the doorway sectors floor, roof and wall textures to
  2612. 773.
  2613.  
  2614. Now we have a house which we can leave through a doorway and walk
  2615. into the street!
  2616.  
  2617. 5.10.5  Adding a window
  2618.  
  2619. So, what's a window? Easy: just like a doorway, but with a raised
  2620. floor and some glass in it.
  2621.  
  2622. Since you now know how to build a doorway between the street and
  2623. the house, go ahead and build another one somewhere to the left
  2624. of the first doorway.
  2625.  
  2626. Got two alike doorways next to each other? Textures looking ok?
  2627. Right, step into the street. Point at the floor of the second
  2628. doorway and press [PgUp] to raise it right up to the bottom of
  2629. the black windows (looks better).
  2630. All right! You've got yourself a window!
  2631.  
  2632. However, it still doesn't look good - it's too high up, we can't
  2633. look out comfortably. So, lower the roof and floor of the window
  2634. sector until you can easily look into the house.
  2635.  
  2636. Better, but now it doesn't fit the texture on the street as
  2637. neatly anymore. So we'll use [Shift]-[Num8] to shift the wall
  2638. texture down until it looks right.
  2639. Notice how you're only shifing the wall texture over the window?
  2640. Each section of a wall (separated by a point) can have its own
  2641. texture, so you'll have to shift each walls texture.
  2642. Remember that you can use [.] to auto-align textures for you (it
  2643. auto-alignes all walls to the right of the one you pointed at, so
  2644. shift the texture on the leftmost wall).
  2645.  
  2646. 5.10.6  Glass
  2647.  
  2648. Now we only need to add some glass into the window (so we can
  2649. shoot it, yaaay!).
  2650. Still in the street, point on the wall below the window and press
  2651. [M]. The window will be walled closed with the ugly gray stone
  2652. texture again. Point at it and give it the texture number 503.
  2653. Voila! A glass pane!
  2654. However, the white reflections on it loks wrong. Press [T] twice
  2655. to make the window more transparent.
  2656. You can also use [F] (Flip) and [Num4] as well as [Num6] to
  2657. change the appearance of the window. (Of course, you can use
  2658. these keys on any wall texture). If you make a mistake, you can
  2659. reset the wall be pressing [/].
  2660.  
  2661. Remember to fix both sides of the glass pane.
  2662.  
  2663. Now, all we have to do is make the glass breakable: point at it
  2664. and press [B] (blocking movement) and [H] (hitscan on, meaning it
  2665. can be shot).
  2666.  
  2667. A glass pane on the very outside doesn't look to good, though -
  2668. it should be in the exact middle of the window sector. Besides,
  2669. it'll mess up the street texture when shattered.
  2670.  
  2671. So, first we'll define a line where the glass will be: in 2D
  2672. mide, insert a point in the middle of the left and right walls of
  2673. the window sector. Point at the first point and (using
  2674. [Spacebar]), draw a line across to the second point. The message
  2675. 'Sector split.' will appear - the window sector is now made up of
  2676. two separate sectors, and we'll put the glass on the line
  2677. dividing them.
  2678. But first, press [B] at the new line in 2D mode until it looks a
  2679. normal red. Do the same for the upper line (where our glass is
  2680. right now).
  2681.  
  2682. Back in 3D mode, we'll remove the old glass pane by pressing [M]
  2683. at it and insert the new pane by pointing just inside the window
  2684. sector and pressing [M] again. Fix the window up using [Num4] and
  2685. [Num6] and don't forget [T], [B] and [H].
  2686.  
  2687. 5.10.7  The sloped roof
  2688.  
  2689. Remember we wanted to slope the ceiling of the house so it looks
  2690. a bit like an A-frame?
  2691. Well, of course each sector can only be sloped one way, so we'll
  2692. have to split the house sector (and the carpet sector!) again:
  2693.  
  2694. Insert a point in the middle of each horizontal wall in the house
  2695. (the house walls and the carpet sector walls) so you get four
  2696. points underneath each other.
  2697.  
  2698. From the top point, draw a line to the one just below it. The
  2699. message window will say 'Loops joined.'. Keep going: connect the
  2700. two points on the carpet sector ('Sector split.') and the lower
  2701. two points ('Sector split.').
  2702.  
  2703. Now, still in 2D mode, we define the 'hinges' of the sloping
  2704. ceiling. We'll hinge the roof in the middle, so first point
  2705. inside the carpet sector just to the left of the new line and
  2706. press [Alt]-[F]. This makes the selected line (the blinking one)
  2707. the first line in the sector the mouse cursor is in.
  2708. Do the same for the second carpet sector (the one on the right)
  2709. and with both house sectors.
  2710.  
  2711. Do the same for the second carpet sector (the one on the right)
  2712. and with both house sectors.
  2713.  
  2714. Now switch to 3D mode, point at the roof and press '[' and ']' to
  2715. tilt the ceilings. (You'll have to raise the ceiling a bit - use
  2716. [.] to realign the walls afterwards).
  2717. If the ceiling tilts wrong, you've messed up the [Alt]-[F] bit.
  2718. Make sure you've selected the right line at try again.
  2719.  
  2720. You can use [/] to make a ceiling straight again.
  2721.  
  2722.  
  2723. 5.11  Trying it out
  2724.  
  2725.  
  2726. Let's try our new level out. Place the arrow in the street and
  2727. press [ScrollLock] to set the dim red arrow which shows your
  2728. starting point in the game.
  2729. Caution: if the starting point is outside a valid sector, the
  2730. game will crash if you try to run the map!
  2731.  
  2732. In 2D mode, press [Esc], [Q] [Y] [Y] to exit the editor, saving
  2733. your map.
  2734.  
  2735. Now start up Duke3D by typing
  2736. DUKE3D -map DEMP.MAP
  2737.  
  2738. Fun! Walk through your creation, smash the window, look about.
  2739.  
  2740. However, it sure gets old fast - plain walls with no decorations,
  2741. and where are the enemies?
  2742.  
  2743.  
  2744. 5.12  Decorations
  2745.  
  2746.  
  2747. Let's keep our decorations simple: a flowerpot in the corner, a
  2748. picture on the wall, a lamp on the ceiling and a burning barrel
  2749. in the street.
  2750.  
  2751. First call up Build again:
  2752. BUILD DEMO.MAP (press [Enter] twice quickly)
  2753.  
  2754. We find ourselves in 3D mode, at the player starting point. Walk
  2755. inside the house, point somewhere at the floor and press [S]
  2756. (insert sprite).
  2757. Again, we're confronted with the ugly gray wall, this time
  2758. standing upright on the floor.
  2759.  
  2760. Try walking around it - note how it always faces you?
  2761. Press [R] at it and see how it changes into a flat piece of
  2762. paper. You can change its heading in 2D mode by pointing at the
  2763. sprite (the small circle with the tail sticking out of it) and
  2764. pressing [<] and [>].
  2765.  
  2766. Back in 3D mode, press [R] at it again - now it's flat on the
  2767. floor.
  2768.  
  2769. 5.12.1  The flower pot
  2770.  
  2771. Make the sprite stand up again with [R] and press [V] to select a
  2772. different sprite (number 1025). The wall changes into a flower
  2773. pot!
  2774. By the way, notice that sprite 1025 looked differently in the
  2775. selection list? The pink bits will be transparent when the sprite
  2776. is used.
  2777.  
  2778. Now shift the flower pot into a corner: in 2D mode, make the grid
  2779. a bit finer, point at the flower (now called BOTTLE7 by the
  2780. program) and move it about by pressing and holding the left mouse
  2781. button (you can shift the endpoints of walls in the same way,
  2782. btw).
  2783.  
  2784. All right! Now we have a flower pot in the corner of the room.
  2785. Press [Tab] at it and use [S] in 3D mode to place some more pots
  2786. on the floor. They will automatically shatter when hit.
  2787.  
  2788. In 2D mode, the sprite appears pink - this means that the 'block
  2789. moveemnt' flag has been set, and you can't walk through it. If
  2790. for some reason you want to allow the player to walk through a
  2791. sprite (fire, for example), press [B] at the sprite and watch it
  2792. change color.
  2793.  
  2794. 5.12.2  The picture
  2795.  
  2796. The next sprite will be a picture on the wall.
  2797. Point at the south wall and press [S] again. The flower pot
  2798. appears again, but since we placed it on a wall, it's
  2799. automatically flat already.
  2800.  
  2801. Use [V] to change it into sprite number 1075 - a framed picture.
  2802. Use [PgUp] and [PgDn] to position it on the wall.
  2803.  
  2804. 5.12.3  A hanging lamp
  2805.  
  2806. Next we'll hang a lamp from the ceiling.
  2807.  
  2808. Point at the middle of the floor and press [S]. Change it into
  2809. sprite number 979 (a hanging lamp).
  2810. Well, not exactly hanging yet. So point at it and press
  2811. [Ctrl]-[PgUp] to move it right up to the ceiling (yes,
  2812. [Ctrl]-[PgDn] will place a sprite on the floor).
  2813.  
  2814. 5.12.4  The burning barrel
  2815.  
  2816. Finally, we'll place a burning barrel on the street. Walk outside
  2817. and place a sprite number 1240 somewhere on the street.
  2818. Note that this sprite will automatically animate to look like a
  2819. burning barrel. If you had chosen one of the other three
  2820. animation frames (sprites 1241 to 1243), it wouldn't have worked
  2821. - the flames would appear 'frozen' (try it).
  2822.  
  2823. By the way, you can remove a sprite by pointing at it and
  2824. pressing [Del].
  2825. You might also want to play around with the [Num2], [Num8],
  2826. Num[4], [Num[6] and [/] keys.
  2827.  
  2828. 5.13  *The enemy appears*
  2829.  
  2830.  
  2831. We're still missing opposition.
  2832.  
  2833. So, go back into the house and place a sprite number 2000 in the
  2834. middle of it.
  2835. Ah, a PigCop! Try walking around it - note how you're always
  2836. shown the correct side of the monster?
  2837.  
  2838. Place another one next to the first one, but as number 2001.
  2839. This one isn't moving, and the program calls it PIGCOPSTAYPUT
  2840. (check it in 2D mode).
  2841. All monsters have a STAYPUT frame - it means that they will walk
  2842. around normally, but never change the sector they started in.
  2843. Great for setting up ambushes.
  2844. It also means that our second PigCop won't dare to leave the
  2845. carpet :)
  2846.  
  2847. Here's a cute trick: try making one of the cops transparent [T]
  2848. to create a ghost :)
  2849.  
  2850. Start the game up again, switch to God mode (type DNKROZ in the
  2851. game) and watch the different behaviour of the two monsters.
  2852.  
  2853. Note that you can place monsters in different poses to have them
  2854. start up in them. For example, you can place a PigCop number 2045
  2855. (lying down) behind a low wall...
  2856.  
  2857.  
  2858. 5.14  The other players
  2859.  
  2860.  
  2861. All that's missing now is to set up the coop and DukeMatch
  2862. starting positions of the other players. You'll need seven of
  2863. each (the red arrow is the eight one for both coop and DukeMatch
  2864. positions).
  2865.  
  2866. Simply place sprites number 1405 (called APLAYER) everywhere you
  2867. want a DukeMatch starting spot (be fair!).
  2868. To differentiate the coop starting positions (which are usually
  2869. all in a bunch somewhere) from the DukeMatch spots, point at them
  2870. in 2D mode, press [Alt]-[T], [1] and [Enter] to give them a lo-
  2871. tag of 1.
  2872.  
  2873.  
  2874. 5.15  Taking it from here
  2875.  
  2876.  
  2877. All right! Your first level!
  2878.  
  2879. It's still a bit simple, so read through the next chapter and
  2880. play around (save it first). The trick is to experiment as much
  2881. as possible!
  2882.  
  2883.  
  2884.  
  2885.  
  2886.  
  2887.  
  2888.  
  2889.                             Chapter 6
  2890.  
  2891.                         The BUILD Editor
  2892.  
  2893.  
  2894. This chapter is intended as a reference to the BUILD editor,
  2895. included on the CD. A big thanks to 3DRealms for giving us the
  2896. very editor they used to design their levels!
  2897.  
  2898. In this chapter, I'm describing the BUILD editor V041996 from
  2899. 9/23/95. Press [F1] in 2D mode to see what version you've got.
  2900.  
  2901. The program consists of two parts: 2D mode and 3D.
  2902.  
  2903.  
  2904. 6.1  2D Mode
  2905.  
  2906.  
  2907. 2D mode is used to design the sectors and place sprites
  2908. accurately, much like a blue print.
  2909.  
  2910. 6.1.1  The Screen
  2911.  
  2912. The screen is split into four parts:
  2913.  
  2914. 6.1.1.1  The map
  2915.  
  2916. Most of the screen is taken in by the map.
  2917. Shown on it are:
  2918.  
  2919. The grid       Made up of dark gray lines, the grid has 8
  2920.                settings (7 magnifications and Off). All objects
  2921.                snap to the grid as they are placed or moved.
  2922.  
  2923. Sprites        Small circles with a line indicating its facing.
  2924.                At high enough magnification, they will also
  2925.                display a tag:
  2926.                X Y NAME
  2927.                where X is the hi-tag, Y the lo-tag and NAME the
  2928.                name of the sprite as given in the NAMES.H file.
  2929.                A pink sprite is flagged as impassable.
  2930.  
  2931. Points         End points of lines are shown as small green
  2932.                squares.
  2933.  
  2934. Walls          Two types of walls are possible: one-sided walls
  2935.                are white, two-sided walls are red.
  2936.                Two-sided walls with the 'blocking movement' bit
  2937.                set are shown as pink, and glass (with the
  2938.                'hitscan' flag set in addition) is a thick pink
  2939.                line.
  2940.                A wall can also display a rectangular sign at high
  2941.                enough resolution, showing the wall tags.
  2942.  
  2943. Sector         A sector is bounded by walls, and is not displayed
  2944.                as such (pity - DEU did a very good job of this,
  2945.                very useful). But if it is tagged, you can see a
  2946.  
  2947.                sign with the tag numbers on it, same as for walls
  2948.                and sprites.
  2949.  
  2950. Mouse          The mouse cursor is a red cross if grid locking is
  2951.                on and a white one if grid locking is off.
  2952.  
  2953. Observer       The observer (your position in 3D) is a white
  2954.                arrow.
  2955.  
  2956. 6.1.1.2  *The Message window*
  2957.  
  2958. This window shows the text 'DUKE NUKEM BUILD V041996 BUILD by Ken
  2959. Silverman'. The right part is reserved for prompts like the Esc-
  2960. menu.
  2961.  
  2962. 6.1.1.3  The Data window
  2963.  
  2964. The data window displays info about currently selected objects
  2965. (like sectors, walls or sprites) and can also display some help
  2966. texts.
  2967.  
  2968. 6.1.1.4  The Info window
  2969.  
  2970. The info window also consists of two parts: on the left is your
  2971. current (x,y) position in units as well as your viewing angle.
  2972. On the right it shows how many resources you have used up
  2973. already. Interesting, because it shows you the limits imposed by
  2974. the Build engine: you can have a maximum of 1024 sectors, 8192
  2975. walls and 4096 sprites.
  2976.  
  2977. 6.1.2  The mouse
  2978.  
  2979. Most of the time you'll have your right hand on the mouse and the
  2980. left one on the keyboard.
  2981.  
  2982. 6.1.2.1  Move
  2983.  
  2984. Moves the mouse cursor (really!). Is also used to shape the
  2985. selection box together with the [RightShift] and [RightAlt] keys.
  2986.  
  2987. 6.1.2.2  Left button
  2988.  
  2989. Used to drag a selected object or group of objects.
  2990.  
  2991. 6.1.2.3  Right button
  2992.  
  2993. Places the player at the mouse position.
  2994.  
  2995. 6.1.3  The keyboard
  2996.  
  2997. All keys named NumXXX are keys from the numeric keypad.
  2998.  
  2999. 6.1.3.1  Esc
  3000.  
  3001. Pops up the Esc-menu: (N)ew, (L)oad, (S)ave, save (A)s, (Q)uit.
  3002.  
  3003. New            starts a new map (after confirming with you).
  3004.  
  3005. (L)oad         pops up a selection list of all .MAP files
  3006.                (Caution! It doesn't ask you if you're sure, so
  3007.                save first before loading a new level. If
  3008.                necessary, abort the selection process with
  3009.                [Esc]).
  3010.  
  3011. (S)ave         saves the map under its current name, overwriting
  3012.                any map with the same name on the disk without
  3013.                comment. New, unnamed levels are automatically
  3014.                called NEWBOARD.MAP.
  3015.  
  3016. save (A)s      asks you for a name to save the current map under.
  3017.                All new maps should first be given a name this
  3018.                way. Beware that it will overwrite any map with
  3019.                the same name without comment.
  3020.  
  3021. (Q)uit         will quit the editor after confirming with you and
  3022.                offering to save your current work.
  3023.  
  3024. 6.1.3.2  Cursor keys
  3025.  
  3026. Move the player position. The player is clipped, so use the right
  3027. mouse button to move if necessary.
  3028.  
  3029. 6.1.3.3  NumIns and NumDel
  3030.  
  3031. These keys will pan the player position sideways.
  3032.  
  3033. 6.1.3.4  Spacebar
  3034.  
  3035. Draw new sectors. The program is bright enough to know when
  3036. you're drawing a new sector or adding to an existing one. Use
  3037. [Backspace] to back up to the last point plotted.
  3038.  
  3039. 6.1.3.5  NumEnter
  3040.  
  3041. Toggles between 2D and 3D mode.
  3042.  
  3043. 6.1.3.6  RightShift
  3044.  
  3045. Used together with the mouse to select a rectangular region of
  3046. objects (points and sprites) to move. Press again to deselect.
  3047.  
  3048. Interesting note: if you drag a sprite normally (using the left
  3049. mouse button), the sprite will be clipped, meaning it can't pass
  3050. over high walls, into door sectors, etc. But if you select it
  3051. with the right shift key first, you can move it anywhere you
  3052. want. Real useful trick, this.
  3053.  
  3054. 6.1.3.7  Control-RightShift
  3055.  
  3056. Select all points of a sector, which can them be dragged with the
  3057. left mouse key and stamped with [Ins].
  3058.  
  3059. 6.1.3.8  RightAlt
  3060.  
  3061. Use together with the mouse to select all sectors within a
  3062. rectangular area. Before moving the mouse, press [Ins]. Now the
  3063. selected sectors can then be dragged with the mouse and stamped
  3064. with [Ins] or you can rotate them with [<] and [>].
  3065. If you load a new map right after selecting sectors, you can even
  3066. stamp the old sectors into the new map.
  3067.  
  3068. To copy a sector properly is non-trivial - see 'How do I copy a
  3069. sector' below.
  3070.  
  3071. 6.1.3.9  Ins
  3072.  
  3073. Insert something. If some objects are selected, it will insert
  3074. these (points or sectors) - don't forget to drag them afterwards.
  3075. If nothing is selected, it will insert a point on the current
  3076. line.
  3077.  
  3078. 6.1.3.10  Del
  3079.  
  3080. Delete a sprite.
  3081.  
  3082. 6.1.3.11  RightControl-Del
  3083.  
  3084. Delete the current sector (the one the white arrow is in).
  3085.  
  3086. 6.1.3.12  A and Z
  3087.  
  3088. Zoom in and out.
  3089.  
  3090. 6.1.3.13  G
  3091.  
  3092. Change the grid size.
  3093.  
  3094. 6.1.3.14  L
  3095.  
  3096. Toggle grid locking.
  3097. The color of the mouse cursor changes accordingly: red for
  3098. locking on, white for off.
  3099.  
  3100. 6.1.3.15  J
  3101.  
  3102. Join two neighboring sectors. Press [J] in the first sector and
  3103. again in the adjacent one. The adjacent one will take on all
  3104. settings (ceiling height, textures, etc) of the first sector.
  3105.  
  3106. 6.1.3.16  Alt-S
  3107.  
  3108. Turn an inner sector into player space (used to create sectors
  3109. within sectors).
  3110.  
  3111. 6.1.3.17  S
  3112.  
  3113. Insert a sprite. You can store a sprite in 3D mode by pressing
  3114. [Tab] on it, making it the default sprite to insert.
  3115.  
  3116. 6.1.3.18  B
  3117.  
  3118. Toggle the 'block movement' flag on a line or sprite.
  3119.  
  3120. 6.1.3.19  C
  3121.  
  3122. Turn a line into a circle - move the mouse to change the circle.
  3123.  
  3124. [+] [-]        changes the number of points on the circle.
  3125.  
  3126. [Spacebar]     draws the circle.
  3127.  
  3128. [C]            aborts it.
  3129.  
  3130. 6.1.3.20  T
  3131.  
  3132. Set the sector lo-tag.
  3133.  
  3134. 6.1.3.21  H
  3135.  
  3136. Set the sector hi-tag.
  3137.  
  3138. 6.1.3.22  Alt-T
  3139.  
  3140. Set the sprite or wall lo-tag.
  3141.  
  3142. 6.1.3.23  Alt-H
  3143.  
  3144. Set the sprite or wall hi-tag.
  3145.  
  3146. 6.1.3.24  E
  3147.  
  3148. Change a sprites status list number.
  3149. ## Anybody know what this does, exactly? What's a status list
  3150. number?
  3151.  
  3152. 6.1.3.25  < and >
  3153.  
  3154. Change the angle of a sprite or selected sector. Use [RightAlt]
  3155. to select sectors.
  3156.  
  3157. 6.1.3.26  Shift-< and Shift->
  3158.  
  3159. Change the angle of the sprite or selected sector in smaller
  3160. increments.
  3161.  
  3162. 6.1.3.27  [ ]
  3163.  
  3164. This allows you to search backwards or forwards for a certain
  3165. sector or wall. Select the tags to look for via [F8] (for walls)
  3166. or [F9] (for sectors) and press '[' to search backwards and ']'
  3167. to search forwards.
  3168. If the sector or wall is found, the map will jump to it, placing
  3169. the cursor at one of the points (probably the first one of the
  3170. sector/wall).
  3171.  
  3172. 6.1.3.28  '-M
  3173.  
  3174. Pressing ['] and [M] together brings up a memory status window.
  3175. Caution: I don't recommend using this option as BUILD gets
  3176. unstable afterwards and will crash upon switching to 3D mode.
  3177.  
  3178. Total Tiles    Bytes taken up by all selected tiles?
  3179.  
  3180. Total Sprites  Bytes taken up by all selected sprites?
  3181.  
  3182. Total Actors   Bytes taken up by all actors (now what's that?)
  3183.  
  3184. Total Memory   Bytes needed for this map?
  3185.  
  3186. Total W/Duke   Bytes needed to run this map together with Duke3D?
  3187.  
  3188. 6.1.3.29  '-3
  3189.  
  3190. Pressing ['] and [3] together changes the tag display mode (very
  3191. useful feature, this):
  3192.  
  3193. 0: No tags displayed
  3194. 1: Show sector tags only
  3195. 2: Show wall tags only
  3196. 3: Show sprite tags only
  3197. 4: Show all tags
  3198. 5: Show item tags only
  3199. 6: Show tags of current sprite only
  3200.  
  3201. 6.1.3.30  F1
  3202.  
  3203. Shows a short help screen as well as the version number of BUILD
  3204. (currently V041996).
  3205. ## According to this helpscreen, [']-[1], [~], and [']-[9] should
  3206. be doing something as well but they don't - anybody with more
  3207. luck than me?
  3208.  
  3209. 6.1.3.31  F2
  3210.  
  3211. Increments the players x-position by one unit. Seems like a
  3212. useless feature and my guess is that [F1] decremented the players
  3213. position before 3DRealms turned it into a help button.
  3214.  
  3215. 6.1.3.32  F3
  3216.  
  3217. Decrements the players y-position by one unit.
  3218.  
  3219. 6.1.3.33  F4
  3220.  
  3221. Increments the players y-position by one unit.
  3222.  
  3223. 6.1.3.34  F5
  3224.  
  3225. If you are in a valid sector, this option will show some general
  3226. info about your map, like its name and the number of items in it
  3227. (the blue numbers mean the number of each item only found in
  3228. multiplayer mode).
  3229.  
  3230. This is particularily interesting if you want to make sure that
  3231. you've got a good weapon mix with enough ammo and goodies.
  3232.  
  3233. 6.1.3.35  F6
  3234.  
  3235. If a sprite is selected, this will show a small help screen
  3236. listing the numbers of all (?) sector effectors and their
  3237. function.
  3238.  
  3239. Otherwise, some more really useful info about your map is shown,
  3240. this time containing the next free tag and the amount of monsters
  3241. placed.
  3242.  
  3243. 6.1.3.36  F7
  3244.  
  3245. This shows a help screen listing all (?) sector tags with their
  3246. function.
  3247.  
  3248. 6.1.3.37  F8
  3249.  
  3250. Allows you to search for a wall with specific hi- and lo-tags.
  3251. If a sprite is highlighted, you can search for the sprite via its
  3252. tags, too.
  3253. '[' and ']' start the search.
  3254.  
  3255. 6.1.3.38  F9
  3256.  
  3257. As [F8], but you can search for a sector instead.
  3258.  
  3259. 6.1.3.39  F10
  3260.  
  3261. Increments the angle of the player by one unit. Looks like a
  3262. singularily useless function.
  3263.  
  3264. 6.1.3.40  F11
  3265.  
  3266. Displays the message 'Grabbed wall sprite 0' - ?? ##
  3267.  
  3268. 6.1.3.41  F12
  3269.  
  3270. Takes a .PCX screen shot.
  3271. Turn off the Grid before you press [F12], as it isn't shown
  3272. properly.
  3273.  
  3274. 6.1.3.42  TAB
  3275.  
  3276. Show info on the current sector:
  3277.  
  3278. Sector         The number of the sector.
  3279.  
  3280. Firstwall      The number of the first wall (set with [Alt]-[F]).
  3281.                Interesting because:
  3282.  
  3283.                    *  The floor/ceiling texture orientates itself
  3284.                       on it.
  3285.  
  3286.                    *  The floor/ceiling uses this line as a hinge
  3287.                       when tilting.
  3288.  
  3289.                    *  Blastable walls lower the ceiling until the
  3290.                       first lines touch - if your wall has
  3291.                       triangular holes in it, this may be why. So
  3292.                       make sure your first line is the lowest
  3293.                       one.
  3294.  
  3295. Numberofwalls  The number of walls bounding this sector.
  3296.  
  3297. Firstsprite    The number of the first sprite in ths sector.
  3298.                Hmmm...anybody know if the first sprite is of
  3299.                similar importance as the first wall? ##
  3300.  
  3301. Tags           The hi and lo tags of the sector (also shown in
  3302.                hex).
  3303.                Change with [H] and [T].
  3304.  
  3305. Extra          Describes as 'used by the game programer only'.
  3306.                Usually set to -1; anybody got details? ##
  3307.  
  3308. Visibility     The visibility in this sector, usually set to 0.
  3309.  
  3310. Pixel height   The height of the room in pixels.
  3311.                Each [PgUp] or [PgDn] in 3D mode changes this by 4
  3312.                (= 256 units).
  3313.  
  3314. Ceiling Flags  The ceiling flag, shown in hex.
  3315.                The flags (with the keys used to change them in
  3316.                3D) are as follows (the rightmost bit being number
  3317.                0):
  3318.                0: Set if parallaxing [P]
  3319.                1: Set if tilted '[',']'
  3320.                2: Set if x and y are swapped [F]
  3321.                3: Set if texture size is halved [E]
  3322.                4: Set if x-flipped [F]
  3323.                5: Set if y-flipped [F]
  3324.                6: Set if texture aligned with first sector wall
  3325.                [Alt-F]
  3326.  
  3327. (X,Y) pan      The x,y amount the ceiling has been panned. Use
  3328.                the cursor keys for this.
  3329.  
  3330. Shade byte     The amount of shade on the ceiling.
  3331.                0 is normal, < 0 is lighter, > 0 is darker.
  3332.  
  3333. Z-coordinate   The z-coodinate of the ceiling.
  3334.                Smaller means higher. Each [PgUp] or [PgDn] in 3D
  3335.                mode changes this by 1024 units (= 4 pixel).
  3336.  
  3337. Tile number    The number of the ceiling texture.
  3338.                Use [V] to change.
  3339.  
  3340. Ceiling heinum Amount of tilt.
  3341.  
  3342. Palookup number
  3343.                Color palette to use (0 is normal).
  3344.  
  3345. 6.1.3.43  Alt-TAB
  3346.  
  3347. Show info on the current wall or sprite.
  3348.  
  3349. The wall info is as follows:
  3350.  
  3351. Wall           Number of the wall (note that red lines are
  3352.                actually two walls, so it's important which sector
  3353.                you're in when pressing [Alt]-[TAB]).
  3354.  
  3355. X-coordinate   X-coordinate of left side of wall.
  3356.  
  3357. Y-coordinate   Y-coordinate of left side of wall.
  3358.  
  3359. Point2         Number of the next wall to the right in the same
  3360.                sector.
  3361.  
  3362. Sector         Sector the wall is in.
  3363.  
  3364. Tags           The hi and lo tags for this wall, also shown in
  3365.                hex.
  3366.                ## Anybody got a list of interesting tag numbers?
  3367.  
  3368. Flags          The flag (in hex) of this wall.
  3369.                The flags (together with the keys to change them)
  3370.                are as follows (0 is on the very right):
  3371.                0: Set if wall blocks movement [B]
  3372.                1: Set if wall has two different textures [2]
  3373.                2: Set if tile is aligned to ceiling (0 if floor)
  3374.                [O]
  3375.                3: Set if x-flipped [F]
  3376.                4: Set if masking wall (like window) [M]
  3377.                5: Set if 1-way wall [1]
  3378.                6: Set if hitscan enabled [H]
  3379.                7: Set if transparent [T]
  3380.                8: Set if y-flipped [F]
  3381.                9: Set if reverse-transparent (?) [T]
  3382.  
  3383. Flags          The flags for the sprites are as follows:
  3384.                0: Set if sprite blocks movement [B]
  3385.                1: Set if sprite is transparent (see bit 9) [T]
  3386.                2: Set if flipped Left/right [F]
  3387.                3: Set if flipped Up/Down [F]
  3388.                4: Set if sprite is flat upright [R]
  3389.                5: Set if sprite is flat on ground [R]
  3390.                6: Set if sprite is single-sided [1]
  3391.                7: ???
  3392.                8: Set if hitscan enabled [Ctrl-H]
  3393.                9: Set if very transparent, else slightly
  3394.                transparent (see bit 1) [T]
  3395.  
  3396. Shade          The amount of shade on the walls (smaller is
  3397.                brighter).
  3398.                Use [+] and [-] to change.
  3399.  
  3400. (X,Y) repeat   Used to stretch textures.
  3401.                Use the [NumCursor] keys to change this, press [/]
  3402.                to undo any accidential changes.
  3403.  
  3404. (X,Y) pan      Used to move textures.
  3405.                Use the [Cursorkeys] for this.
  3406.  
  3407. Tile number    The texture number used on this wall. Use [V] to
  3408.                set this.
  3409.  
  3410. OverTile number
  3411.                The extra texture number for 1-way walls and
  3412.                masked walls.
  3413.                ## I'm not sure how this is supposed to work. On a
  3414.                wall with three textures (a window with glass on
  3415.                the maskable wall as well as two different
  3416.                textures above and below it) it stayed 0.
  3417.  
  3418. Nextsector     The number of the sector on the other side of the
  3419.                wall (-1 if there is none).
  3420.  
  3421. Nextwall       Number of the wall on the other side (only
  3422.                interesting if the wall is two-sided, otherwise
  3423.                it's -1)
  3424.  
  3425. Extra          Usually -1, and described as 'used by the game
  3426.                programmer only'. Which makes it irresistable :)
  3427.                ## Anybody got more info?
  3428.  
  3429. Wall length    Wall length in pixels. The grid at maximum size
  3430.                has a square width of 64 pixels.
  3431.  
  3432. Pixel height   Height of the wall in pixels.
  3433.  
  3434. 6.1.3.44  ScrollLock
  3435.  
  3436. Set the starting position to the current players position.
  3437. Caution: if this position is set to an invalid position (outside
  3438. a sector), the game will crash when you try to run this map.
  3439.  
  3440. 6.1.3.45  Ctrl-T
  3441.  
  3442. Toggle tag box display on the sprites, walls and sectors.
  3443.  
  3444. 6.1.3.46  Enter
  3445.  
  3446. Displays the text 'Highlighted line pointers checked'.
  3447. ## Anybody know what this means? It sure doesn't protect you from
  3448. invalid lines...
  3449.  
  3450. 6.2  3D Mode
  3451.  
  3452.  
  3453. 3D mode is where it's at! Here you stand right in your map and
  3454. can change anything: floor/ceiling height, textures, etc. It's
  3455. where you'll be spending most of your time.
  3456.  
  3457. This mode is also what really makes BUILD stand out from other
  3458. editors like DEU - you can spend a long time in here, fixing up
  3459. your level to look just right. No more guessing around with the
  3460. alignment, easily set the height of your rooms, see what
  3461. everything looks like before you fire up the game
  3462. itself...lovely.
  3463.  
  3464. 6.2.1  The screen
  3465.  
  3466. The screen shows the map as viewed from the players position. Two
  3467. things deserve special note:
  3468.  
  3469. FPS meter      On the top left the current fps rate is shown.
  3470.                Keep an eye on this while editing and don't make a
  3471.                room so complex that the fps drops too low! Also
  3472.                remember that others may be using a slower
  3473.                computer than you, so lets keep the fps high, ok?
  3474.  
  3475. Mouse          Yes, the little white cross is the mouse pointer,
  3476.                no it doesn't change color according to the 'grid
  3477.                locked' status, and yes, you move it with the
  3478.                mouse :)
  3479.  
  3480. Also, sprites displayed in blue (palette 1, change via [Alt]-[P])
  3481. are only available in multiplayer mode.
  3482.  
  3483. 6.2.2  The mouse
  3484.  
  3485. Again, you'll be spending your time with the right hand on the
  3486. mouse and the left on the keyboard.
  3487.  
  3488. 6.2.2.1  Move
  3489.  
  3490. Believe it or not, but moving the mouse actually changes the
  3491. mouse cursors position on the screen, enabling you to point at
  3492. anything you can see! Yes!
  3493.  
  3494. 6.2.2.2  Left button
  3495.  
  3496. Pointing the mouse at something, pressing the left mouse button
  3497. and keeping it pressed keeps that object selected, even if the
  3498. mouse pointer somehow strays from it (for example, when changing
  3499. the height of an object).
  3500.  
  3501. 6.2.2.3  Right button
  3502.  
  3503. ## Anybody know if the right mouse button serves any useful
  3504. function? I know of none (in 3D mode, that is!).
  3505.  
  3506. 6.2.3  The keyboard
  3507.  
  3508. Lots of funny buttons for you to press!
  3509.  
  3510. 6.2.3.1  Cursor keys
  3511.  
  3512. Moves the player around, just like in the game. Press [LeftShift]
  3513. to speed up your movement.
  3514. 6.2.3.2  CapsLock
  3515.  
  3516. This key cycles through the three different movement modes
  3517. available to you:
  3518.  
  3519. Game Mode      Here you walk around like the player in the game.
  3520.                Use [A] to jump and [Z] to duck.
  3521.  
  3522. Height Lock    In this mode, you're always at the same height
  3523.                above the floor of the current sector. Use [A] and
  3524.                [Z] to raise and lower yourself.
  3525.  
  3526. Float Mode     You're completely unaffected by the floor and can
  3527.                smoothly change your height with the [A] and [Z]
  3528.                keys.
  3529.  
  3530. 6.2.3.3  PgUp and PgDn
  3531.  
  3532. Allow you to change the height of the object you're pointing at:
  3533. raise or lower ceilings, floors and sprites.
  3534. If you point at a wall, the corresponding ceiling will change
  3535. height.
  3536.  
  3537. Press [Ctrl]-[PgUp]/[PgDn] to move a sprite exactly to the
  3538. ceiling/floor.
  3539.  
  3540. 6.2.3.4  V
  3541.  
  3542. Change the selected tile or sprite.
  3543.  
  3544. 6.2.3.5  Alt-V
  3545.  
  3546. This is supposed to change something called a 'Groudraw height
  3547. map'. To me it just looks like it's selecting a tile as well. ##
  3548. Anybody knows what's going on here?
  3549.  
  3550. 6.2.3.6  NumCursor keys
  3551.  
  3552. On a wall, these keys change the size of the texture. This means
  3553. you're able to re-use textures for many different things, scaling
  3554. them exactly as needed (perhaps showing only a certain part).
  3555.  
  3556. Using these keys on a sprite will change the size of the sprite.
  3557. Very useful indeed.
  3558.  
  3559. Finally, the textures on a ceiling or floor can only be resized
  3560. using [E], so these keys just scroll the texture, enabling you to
  3561. align it accurately.
  3562.  
  3563. 6.2.3.7  Shift-NumCursor keys
  3564.  
  3565. Usable only on walls and ceiling/floors (sprites will ignore the
  3566. shift key and resize instead), these keys shift the offset of the
  3567. texture.
  3568. In effect you're moving the texture without resizing it.
  3569.  
  3570. 6.2.3.8  /
  3571.  
  3572. Used to reset a texture or sprite to normal (undoes the effects
  3573. of [Shift]-[NumCursor] and [NumCursor]).
  3574.  
  3575. 6.2.3.9  .
  3576.  
  3577. This key will try to auto-align all walls to the right of the
  3578. selected wall if they are using the same texture.
  3579. Caution: this has caused my system to crash on several occasions
  3580. - save before you try this!
  3581.  
  3582. 6.2.3.10  F
  3583.  
  3584. Flips the selected floor/ceiling 8 possible ways. Walls and
  3585. sprites can only be flipped 4 ways.
  3586.  
  3587. 6.2.3.11  Alt-F
  3588.  
  3589. Determines whether the ceiling or floor texture aligns to the
  3590. first wall. This is especially useful for tilted floors.
  3591.  
  3592. 6.2.3.12  P
  3593.  
  3594. Toggle parallaxing on floors or ceilings. This only works well on
  3595. some textures (like 89..96, the cityscapes).
  3596.  
  3597. 6.2.3.13  Ctrl-P
  3598.  
  3599. Change the type of parallaxing used (three different types are
  3600. available).
  3601.  
  3602. 6.2.3.14  G
  3603.  
  3604. This is supposed to give a floor height-mapping. ## Like
  3605. [Alt]-[V], this doesn't seem to work for me.
  3606.  
  3607. 6.2.3.15  E
  3608.  
  3609. Toggles the tile size of floors/ceilings between normal and
  3610. enlarged.
  3611.  
  3612. 6.2.3.16  R
  3613.  
  3614. Toggle floor/ceiling tiles between relative and absolute
  3615. alignment.
  3616. In absolute alignment, floor and ceiling tiles are aligned to the
  3617. grid itself (thus allowing you to align them neatly to the usual
  3618. rectangular floors).
  3619.  
  3620. In relative alignment mode, the tiles align themselves to the
  3621. first wall (set with [Alt]-[F] in 2D mode). This is very nice for
  3622. odd-shaped, rotated, or moving sectors.
  3623.  
  3624. 6.2.3.17  O
  3625.  
  3626. Changes the wall texture orientation. A wall texture can start
  3627. either on the floor or on the ceiling. This is particularily
  3628. useful when building windows (make sure that the wall above and
  3629. below looks ok) or DOOM-type doors (make sure the texture moves
  3630. with the door).
  3631.  
  3632. 6.2.3.18  B
  3633.  
  3634. Toggle the 'block movement' flag on a wall. Usually used for
  3635. glass panes, force fields or sector boundaries, as a one-sided
  3636. wall always blocks movement anyway.
  3637.  
  3638. 6.2.3.19  T
  3639.  
  3640. Toggle the transparency flag on a wall or sprite.
  3641. There are three stages: slightly transparent, very transparent,
  3642. and opaque (normal). Of course, this only works on two-sided
  3643. walls.
  3644.  
  3645. Try it on monsters to create ghosts - pity it doesn't work on
  3646. players >;)
  3647.  
  3648. 6.2.3.20  M
  3649.  
  3650. Point at the floor below a sector edge and press [M] to create a
  3651. maskable wall. In effect, you're giving the sector edge a two-
  3652. sided wall which is most often used in creating glass panes.
  3653.  
  3654. 6.2.3.21  Shift-M
  3655.  
  3656. Make a maskable wall just like with [M], but only on one side.
  3657. This way you're able to create walls where you can only see
  3658. through in one direction, for example.
  3659.  
  3660. A window created this way will only show you the glass texture
  3661. from one side. And you won't be able to shoot through it from the
  3662. wrong side, either: it will be marked with floating bullet-holes,
  3663. instead.
  3664. When shattering it from the visible side, the bullet holes stay
  3665. in the air...
  3666.  
  3667. 6.2.3.22  1
  3668.  
  3669. Create 1 one-way wall. Only possible on a two-sided line, this
  3670. command will create a wall which only has a texture on one side.
  3671.  
  3672. Monsters can see through this wall and will attack you, walking
  3673. through the wall (if they're allowed to).
  3674.  
  3675. 6.2.3.23  2
  3676.  
  3677. If a wall consists of two sections (a top and a bottom one, like
  3678. you find with windows), pressing [2] will allow you to separately
  3679. edit the upper and lower texture.
  3680.  
  3681. 6.2.3.24  H
  3682.  
  3683. Toggles the hitscan bit on a two-sided wall. If this bit is set
  3684. (default is off), the wall will react to bullets (shattering if
  3685. it is glass, showing bullet holes if it is normal).
  3686.  
  3687. If you set the hitscan bit on a sprite, the sprite will block
  3688. bullets even if it doesn't block you. However, turning off the
  3689. hitscan bit on a destructable sprite (like a bottle) has no
  3690. effect.
  3691.  
  3692. 6.2.3.25  TAB
  3693.  
  3694. This remembers the current object (sprite or texture) and places
  3695. it in the buffer.
  3696. According to the Build documentation, it not only remembers the
  3697. tile number, shade and texture setup, but also the cstat.
  3698. Whatever that is.
  3699.  
  3700. Some text appears, showing you what you have just selected: name,
  3701. lo- and hi-tag, number of times used in map (only if you point at
  3702. it), and MEM (amount of low RAM free?). If the graphic toggle is
  3703. on (use [']-[G]), an image of the selected texture is shown as
  3704. well.
  3705. Press [TAB] again on the same texture to turn that display off.
  3706.  
  3707. Use one of the keys below to paste the object back. Note that you
  3708. have to use the big [Enter] key, not the one at the numeric
  3709. keypad:
  3710.  
  3711. 6.2.3.26  Enter
  3712.  
  3713. Copy the selected object to whatever you're currently pointing at
  3714. (meaning you can replace sprites and textures this way). Shade
  3715. and (for textures) the x-repeat values are copied as well, while
  3716. the y-repeat is modified to make the pixels square.
  3717.  
  3718. 6.2.3.27  Ctrl-Enter
  3719.  
  3720. Copies the selected texture to all walls in a closed loop.
  3721. Use this to change the appearance of a whole room at once.
  3722.  
  3723. 6.2.3.28  Shift-Enter
  3724.  
  3725. Copy the shade value only.
  3726.  
  3727. 6.2.3.29  Ctrl-Shift-Enter
  3728.  
  3729. This function auto-shades a sector:
  3730.  
  3731. Make one of the walls the lightest shade and another one the
  3732. darkest one. Point at the lightest wall and press
  3733. [Ctrl]-[Shift]-[Enter] - all walls on the loop will be smoothly
  3734. shaded.
  3735.  
  3736. Somehow, this function never worked very well for me: wall
  3737. shading is very harsh and non-smooth, so I usually shade by hand.
  3738.  
  3739. 6.2.3.30  '-ENTER
  3740.  
  3741. Pressing ['] and [Enter] copies the tile only, leaving everything
  3742. else (especially the shade!) as it is.
  3743.  
  3744. 6.2.3.31  '-R
  3745.  
  3746. Toggles the FPS display on and off.
  3747. This is only good for taking screenshots, as the FPS is one of
  3748. the most important considerations in level design.
  3749.  
  3750. 6.2.3.32  '-D
  3751.  
  3752. This is supposed to change the skill mode, but on my system only
  3753. the text '(something something) not found' flashes up and nothing
  3754. changes - skill mode stays at 1.
  3755.  
  3756. 6.2.3.33  '-W
  3757.  
  3758. This toggles the sprite display between several modes:
  3759.  
  3760. Display all Sprites
  3761. No Effectors (Sprites 1..10 are not displayed)
  3762. No Actors (No players or monsters are shown)
  3763. None (No effectors or actors shown)
  3764.  
  3765. This is nice if you want to do some changes to the map without
  3766. being bothered by monster images.
  3767.  
  3768. 6.2.3.34  '-G
  3769.  
  3770. This toggles the display of the selected texture (via [TAB]) on
  3771. and off.
  3772.  
  3773. 6.2.3.35  '-Y
  3774.  
  3775. ## Listed as 'Toggle purple background', I haven't found out what
  3776. it does yet.
  3777.  
  3778. 6.2.3.36  '-T
  3779.  
  3780. Allows you to change the lo-tag of the selected object.
  3781.  
  3782. 6.2.3.37  -H
  3783.  
  3784. Allows you to change the hi-tag of the selected object.
  3785.  
  3786. 6.2.3.38  '-S
  3787.  
  3788. Allows you to directly type a shade value for the selected
  3789. object.
  3790. Very nice for setting the shade on goodies to 128 (= -128, as 127
  3791. is max. shade and you can't enter negative numbers) to make them
  3792. very visible from far away.
  3793.  
  3794. 6.2.3.39  '-V
  3795.  
  3796. Changes the visibility of a sector (how fast it darkens with
  3797. distance).
  3798.  
  3799. 6.2.3.40  '-C
  3800.  
  3801. Changes the global shade of a sector to the shade of the object
  3802. currently selected.
  3803.  
  3804. 6.2.3.41  '-Del
  3805.  
  3806. ## Sets the cstat to 0. Anybody know what a cstat is?
  3807.  
  3808. 6.2.3.42  Alt+-
  3809.  
  3810. Changes the visibility of the current sector.
  3811.  
  3812. 6.2.3.43  CtrlAlt+-
  3813.  
  3814. Changes the global visibility for the whole map (careful with
  3815. this!).
  3816.  
  3817. 6.2.3.44  F1
  3818.  
  3819. Shows a short help menu, listing the less-commonly used commands.
  3820. Pres [F1] to remove it again.
  3821.  
  3822. 6.2.3.45  F2
  3823.  
  3824. Increments the players x-position by one unit. Seems like a
  3825. useless feature and my guess is that [F1] decremented the players
  3826. position before 3DRealms turned it into a help button.
  3827.  
  3828. 6.2.3.46  F3
  3829.  
  3830. Decrements the players y-position by one unit.
  3831.  
  3832. 6.2.3.47  F4
  3833.  
  3834. Increments the players y-position by one unit.
  3835.  
  3836. 6.2.3.48  F5
  3837.  
  3838. Nukes the 3D display, forcing you back to 2D.
  3839. Strange function indeed :)
  3840.  
  3841. My guess is that the system tries to display the same text it
  3842. does in 2D mode and messes up the graphics along the way.
  3843.  
  3844. 6.2.3.49  F6
  3845.  
  3846. Same as [F5].
  3847.  
  3848. 6.2.3.50  F7
  3849.  
  3850. Same as [F5].
  3851.  
  3852. 6.2.3.51  F8
  3853.  
  3854. Same as [F5].
  3855.  
  3856. 6.2.3.52  F9
  3857.  
  3858. Rotates the players view left a bit.
  3859.  
  3860. 6.2.3.53  F10
  3861.  
  3862. Rotates the players view right a bit.
  3863.  
  3864. 6.2.3.54  F11
  3865.  
  3866. Changes the gamma correction (makes the screen lighter).
  3867. This is not terribly useful, as the settings aren't saved and the
  3868. gamma seems to reset when moving between some sectors.
  3869.  
  3870. 6.2.3.55  F12
  3871.  
  3872. Takes a .PCX screen shot.
  3873.  
  3874.  
  3875.  
  3876.  
  3877.  
  3878.  
  3879.                             Chapter 7
  3880.  
  3881.                             How to...
  3882.  
  3883.  
  3884. This chapter is intended as a cookbook: how to create different
  3885. effects.
  3886. ## If you find out something new, please let me know and I'll add
  3887. it here.
  3888.  
  3889. 7.1  *Extracting the original maps*
  3890.  
  3891.  
  3892. It's a very good idea to extract the original maps for Duke3D and
  3893. see how 3DRealms did things. It has the additional effect of
  3894. making you realize just how much work is in these levels and how
  3895. much you'll have to work to achieve anything similar :)
  3896.  
  3897. The command
  3898. KEXTRACT DUKE3D.GRP *.MAP
  3899. will extract all map files from Duke's group file.
  3900.  
  3901.  
  3902. 7.2  *Abbreviations*
  3903.  
  3904.  
  3905. In order to easily describe tags, sector effectors and the like,
  3906. I use some abbreviations:
  3907.  
  3908. Bomb           Also called C9, it's a sprite with the tile number
  3909.                1247 (yellow gas bottle), x-shrunken as narrow as
  3910.                possible. It is intangible to the player, but
  3911.                blows up when triggered.
  3912.  
  3913. [x,y]          The tags of a sprite or wall: x is the hi-tag, y
  3914.                the lo-tag.
  3915.                Example: [0,34] describes a hi-tag of 0 and a lo-
  3916.                tag of 34.
  3917.  
  3918. (x)            Tile number (refers to sprites, too).
  3919.                Example: (621) is the camera sprite.
  3920.  
  3921. Controller     A special sprite (tile numbers 1..10) which is not
  3922.                shown at game time and controls the environment in
  3923.                some way:
  3924.  
  3925. S              Sector effector
  3926.                Example: S [100,256] means to insert a Sector
  3927.                effector with the hi-tag 100 and the lo-tag 256.
  3928.  
  3929. A              Activator
  3930.  
  3931. T              Touchplate
  3932.  
  3933. L              Locked activator
  3934.  
  3935. M              Music and SFX
  3936.  
  3937. L+             Locator
  3938.  
  3939. C              Cycler
  3940.  
  3941. D              Master switch
  3942.  
  3943. R              Respawn
  3944.  
  3945. Sp             Speed
  3946.  
  3947.  
  3948. 7.3  Player starting points
  3949.  
  3950.  
  3951. Player starting points are marked by sprite number 1405.
  3952.  
  3953. You'll need to place at least 7 players (the player start
  3954. position is automatically included, so you don't have to set a
  3955. sprite there specifically for it).
  3956.  
  3957. Dukematch starting points have no tags.
  3958.  
  3959. Coop starting points have the tag [0,1].
  3960.  
  3961. 7.3.1  Notes
  3962.  
  3963.     *  As far as I know, you can place any amount of dukematch
  3964.        starting points.
  3965.        ## Anybody knows what happens with too many coop starting
  3966.        points?
  3967.  
  3968.  
  3969. 7.4  Glass panes
  3970.  
  3971.  
  3972. Glass panes are simply two-sided walls maskable walls (created by
  3973. pointing on the floor in front of a two-sided line and pressing
  3974. [M]) with the 'block movement' [B] and 'hitscan' [H] flags set.
  3975. The texture has to be glass (503).
  3976.  
  3977. 7.4.1  Notes
  3978.  
  3979.     *  To create unbreakable glass, simply use a glass sprite
  3980.        instead of the glass texture.
  3981.  
  3982.  
  3983. 7.5  Invisible forcefield
  3984.  
  3985.  
  3986. Often, you'll want to place an invisible forcefield someplace (it
  3987. ripples if hit, but doesn't damage the player).
  3988.  
  3989. Simply build a glass pane, using sprite 230 instead. This tile
  3990. can be made so transparent/dark as to be completely invisible.
  3991.  
  3992.  
  3993. 7.6  Doorways
  3994.  
  3995.  
  3996. A doorway is nothing but a sector connecting two other sectors.
  3997. Simply lower the roof a bit, align the textures (use [O] and [.])
  3998. and you're ready to go.
  3999.  
  4000. 7.6.1  Notes
  4001.  
  4002.     *  You can make arching doorways by splitting the doorway
  4003.        into several sectors and tilting the roof or even the
  4004.        floor.
  4005.  
  4006.  
  4007. 7.7  Windows
  4008.  
  4009.  
  4010. A window is simply a sector with a raised floor and a lowered
  4011. roof which has been inserted into a normal wall.
  4012.  
  4013. 7.7.1  *Setup*
  4014.  
  4015. Follow these steps to insert a window into a standard wall (made
  4016. up of one-sided walls):
  4017.     *  We'll assume the wall goes from east to west.
  4018.  
  4019.     *  In 2D mode, split each of the lines making up the wall
  4020.        twice where you want the window to be, forming a rectangle
  4021.        of points.
  4022.  
  4023.     *  Connect these rectangles with lines; a new sector will be
  4024.        created. This is your window sector.
  4025.  
  4026.     *  Switch to 3D mode. Raise the floor a bit and lower the
  4027.        roof of the window sector until the window looks about
  4028.        right.
  4029.  
  4030.     *  If you want, insert a glass pane in the window sector.
  4031.        It'll look especially good if you split the window sector,
  4032.        adding the glass in the exact middle of the window sector
  4033.        instead of on the edge.
  4034.  
  4035.     *  Align the textures. You can auto-align by pointing to the
  4036.        left-most wall and pressing [.].
  4037.  
  4038. 7.7.2  *Notes*
  4039.  
  4040.     *  Don't add the glass pane to the very outside of the window
  4041.        as the wall texture above it will mess up when the glass
  4042.        is shot. Place the glass on its very own line inside the
  4043.        window sector.
  4044.  
  4045.  
  4046. 7.8  *Air ducts*
  4047.  
  4048.  
  4049. Air ducts are just flat sprites in front of holes in the wall.
  4050. They will break automatically.
  4051.  
  4052. 7.8.1  *Notes*
  4053.  
  4054.     *  Useful sprites are 407 (rotating fan) and 595 (metal
  4055.        grate).
  4056.  
  4057.     *  Make the duct itself nice and narrow, about as wide as the
  4058.        grid at maximum size (1024 units or 256 pixels).
  4059.  
  4060.     *  For the duct inside, you can use the textures 342 and 343.
  4061.        Use 341 for a hole broken in the duct.
  4062.  
  4063.     *  If the above textures are used, the air duct sound is
  4064.        created automatically.
  4065.  
  4066.     *  If the duct is only visible from one side, make sure the
  4067.        sprite is two-sided by pointing at it in 3D mode and
  4068.        pressing [1].
  4069.  
  4070.  
  4071. 7.9  Angled surfaces
  4072.  
  4073.  
  4074. To tilt a sector surface (roof or ceiling), point at it and press
  4075. the '[' and ']' keys.
  4076.  
  4077. 7.9.1  Notes
  4078.  
  4079.     *  The surfaces will always use the first line of the sector
  4080.        as hinge. To set the first line, point at it in 2D mode
  4081.        and press Alt-[F].
  4082.  
  4083.     *  To undo your changes, press [/].
  4084.  
  4085.     *  Use RightShift-'[' or ']' for small changes and
  4086.        LeftShift-'[' or ']' for very small changes.
  4087.  
  4088.  
  4089. 7.10  Secret places
  4090.  
  4091.  
  4092. To mark a sector as secret, just tag it [0,32767]. A player will
  4093. be credited for finding it as soon as the sector is entered.
  4094.  
  4095.  
  4096. 7.11  Multiplayer sprites
  4097.  
  4098.  
  4099. To make an object appear only in multiplayer (coop or DM) play,
  4100. use Alt-P to give it a palette of 1.
  4101.  
  4102.  
  4103. 7.12  Level-end button
  4104.  
  4105.  
  4106. Also called the nukebutton, this sprite (142) is used to end the
  4107. level.
  4108. Tag it [0,x], where x can be:
  4109.  
  4110. 32767          End level, go to status screen and then on to the
  4111.                next level.
  4112.  
  4113. 1..11          End level, go to level 1..11
  4114.                (eg. [0,10] would take the player to the (secret)
  4115.                level 10).
  4116.  
  4117. 7.12.1  Notes
  4118.  
  4119.     *  To get the secret-level color on the nukebutton, set its
  4120.        palette to 14.
  4121.  
  4122.  
  4123. 7.13  Level-end sector
  4124.  
  4125.  
  4126. Tag a sector [0,65535] to end the level when a player enters this
  4127. sector.
  4128.  
  4129.  
  4130. 7.14  Cameras
  4131.  
  4132.  
  4133. You can place cameras around the map, which will relay an image
  4134. to one or more viewscreens.
  4135.  
  4136. 7.14.1  Setup
  4137.  
  4138. The security network consists of three objects:
  4139.  
  4140. Channels       A channel transports the video data from the
  4141.                camera(s) to the viewscreens. It is just a number.
  4142.  
  4143. Cameras        (621) [Mobility,Channel]
  4144.                They have to be sprites, and can be placed
  4145.                anywhere in a room, facing in any direction. Using
  4146.                the hi-tag, you can even set the camera mobility:
  4147.                higher numbers allow the camera to move through a
  4148.                wider arc.
  4149.                Some example numbers:
  4150.                0: Immobile
  4151.                128: Very jerky (too short) - not recommended
  4152.                256: Normal panning
  4153.  
  4154. Viewscreens    (502) [Channel,0]
  4155.                Viewscreens have to be sprites, too.
  4156.  
  4157. 7.14.2  *Notes*
  4158.  
  4159.     *  The camera shade controls the down-angle: 0 is horizontal,
  4160.        -80 is most common, -128 is maximum down.
  4161.  
  4162.     *  If several cameras share a channel, the viewscreen
  4163.        connected to this channel can cycle through all connected
  4164.        camera views.
  4165.  
  4166.     *  It is advisable to hide the viewscreen behind a harmless
  4167.        forcefield (230), to cause the well-known purple circles
  4168.        when it's being shot at.
  4169.  
  4170.     *  Mobile cameras shouldn't be flipped, as the animation
  4171.        isn't flipped as well.
  4172.  
  4173.     *  The angle of the camera should point into the middle of
  4174.        the desired panning arc. The arc angle is easily
  4175.        calculated: 90 degrees = 512.
  4176.  
  4177.     *  Don't place the cameras too close to the walls.
  4178.  
  4179.  
  4180. 7.15  Demo cameras
  4181.  
  4182.  
  4183. Demo cameras can be placed anywhere and will automatically film
  4184. duke from the outside when recording a demo. Neat.
  4185.  
  4186. 7.15.1  Setup
  4187.  
  4188. The camera is just an S[ViewDistance,27]. Don't use the sprite
  4189. itself.
  4190.  
  4191. 7.15.2  Notes
  4192.  
  4193. A ViewDistance of 7000 works fine.
  4194.  
  4195.  
  4196. 7.16  *User-controlled force fields*
  4197.  
  4198.  
  4199. A user-controlled force field is a standard force field which can
  4200. be toggled on and off with a switch.
  4201.  
  4202. 7.16.1  *Setup*
  4203.  
  4204.     *  Build a standard forcefield somewhere (masked wall, tile
  4205.        number 663), but don't set the hittable or blocking flags.
  4206.        Tag the forcefield line [0,Channel].
  4207.  
  4208.     *  Place an S[Channel,12], Palette 2, on each side of the
  4209.        force field.
  4210.  
  4211.     *  Place a switch anywhere with tags [0,Channel].
  4212.  
  4213. 7.16.2  *Notes*
  4214.  
  4215. You can use a touchplate effector as well to toggle the force
  4216. field.
  4217.  
  4218.  
  4219. 7.17  Blastable walls (user control)
  4220.  
  4221.  
  4222. Such walls can be blown up by detonating something close to them
  4223. (a pipebomb, RPG, etc).
  4224.  
  4225. 7.17.1  Setup
  4226.  
  4227.     *  First build the wall with the hole already in it (usually
  4228.        consisting of several sectors with angled floors and
  4229.        ceilings).
  4230.  
  4231.     *  In each of these sectors, place an S [Channel,13].
  4232.        On the wall to be blasted, place a (possible semi-
  4233.        transparent) crack [Channel,0] (546-549), facing the
  4234.        player. Fire extinguishers (916) can be used, too.
  4235.  
  4236.     *  If you want, place bombs on both sides of the wall for
  4237.        realism [Channel,DelayUntilExplosion]. A delay of 8 is
  4238.        very short, while 2000 takes ages before it explodes.
  4239.  
  4240. 7.17.2  Notes
  4241.  
  4242.     *  A wall with a crack on each side will blow ok, but the
  4243.        other crack will remain hanging in mid-air.
  4244.  
  4245.     *  Blastable walls retain no bullet holes until they blow.
  4246.  
  4247.     *  Here the first line of a sector is important again - the
  4248.        floor and ceiling are moved together until the first wall
  4249.        sides touch. So if your wall shows some triangular holes,
  4250.        this is where to look: make sure your first walls (set
  4251.        with Alt-F4) are the lowest ones.
  4252.  
  4253.     *  If you give the crack a palette number of 1, it can only
  4254.        be blown in multiplayer games.
  4255.  
  4256.     *  It might also be a good idea to create a wall with a
  4257.        nicely blasted hole in it and cover it with a solid wall,
  4258.        thin as paper. Then blast this thin wall completely away,
  4259.        revealing the hole - this is often easier than laborously
  4260.        building a hole made up of dozens of sectors, each with
  4261.        its own sector effector...
  4262.  
  4263. 7.17.3  Tips
  4264.  
  4265.     *  Use texture 852 (blasted concrete) on the inside of the
  4266.        hole.
  4267.  
  4268.     *  Carefully align the wall textures. Especially the sideways
  4269.        alignment is important, as the wall looks real bad if this
  4270.        is not done properly - use the [.] key.
  4271.  
  4272.  
  4273. 7.18  Blastable walls (triggered)
  4274.  
  4275.  
  4276. The work just like user-controlled blastable walls, except that
  4277. they can only be blown by program control, not by the user.
  4278. They are triggered by a T [0,Channel], and you can even add a
  4279. time-delay from the moment T is activated to the explosion of the
  4280. wall.
  4281.  
  4282. 7.18.1  Setup
  4283.  
  4284.     *  First build the hole just as outlined above.
  4285.        However, you won't need to place a crack.
  4286.  
  4287.     *  In just one of the hole sectors, add a D [Delay,Channel].
  4288.        Delay ranges from 0 to 255, 255 being longest.
  4289.  
  4290.     *  Place at least a bomb [Channel, Delay] in the same sector
  4291.        as D. Delay ranges from 8 (blow right away) to over 2000
  4292.        (take ages, can be used for nasty traps) with typical
  4293.        values being 8,16 or 32.
  4294.        For realism, place some of these on both sides of the wall
  4295.        as well.
  4296.  
  4297.     *  Place a T [0,Channel] in any sector. It will go off as
  4298.        soon as the player enters the sector.
  4299.  
  4300. 7.18.2  Notes
  4301.  
  4302.     *  You can blow several walls open simultaneously, but don't
  4303.        use different delays - the world shakes, but the holes
  4304.        only appear when the highest-numbered D blows.
  4305.  
  4306.  
  4307. 7.19  Conveyor Belts
  4308.  
  4309.  
  4310. Conveyor belts are sectors which will transport any sprite on
  4311. them in a certain direction.
  4312.  
  4313. 7.19.1  Setup
  4314.  
  4315.     *  S[0,24] in the conveyor belt sector, facing in the
  4316.        direction the belt should move.
  4317.  
  4318.     *  Optionally, add a Sp[0,BeltSpeed] to change the belts
  4319.        speed.
  4320.  
  4321. 7.19.2  Notes
  4322.  
  4323.     *  You might have to rotate the sectors floor to make it look
  4324.        right - I've had a belt going one way and the texture
  4325.        scrolling another way...
  4326.  
  4327.     *  To create running water, just set the sector tag to [0,1].
  4328.  
  4329.     *  Typical conveyor belt tile is (1156).
  4330.  
  4331.  
  4332. 7.20  *Mirrors*
  4333.  
  4334.  
  4335. Mirrors are interesting in that they require a rather large room
  4336. behind the mirror (check E1L1 for example). This room must be
  4337. able to contain any part of the room visible in the mirror,
  4338. otherwise you'll get graphics glitches.
  4339.  
  4340. A mirror is in effect a one-sided wall (created by pointing on
  4341. the floor in front of a two-sided wall and pressing [1]) with the
  4342. texture 560.
  4343.  
  4344. Finally, point at it and press [B] and [H] to set the 'block
  4345. movement' and 'hittable' flags.
  4346.  
  4347. 7.20.1  *Notes*
  4348.  
  4349.     *  You can make the mirror unbreakable by not setting the
  4350.        'block movement' and 'hittable' flags. It will still be
  4351.        broken by an explosion close to it, though.
  4352.  
  4353.     *  To have Duke say 'Damn I'm looking good' when pressing on
  4354.        the mirror, give it a lotag of 252.
  4355.  
  4356.     *  Mirrors have a range limit - if they're viewed from too
  4357.        far away, they'll default to showing a parallaxed sky
  4358.        texture.
  4359.  
  4360.     *  If the 'mirror room' is too small, weird graphic glitches
  4361.        can occur.
  4362.  
  4363.     *  Also, the 'mirror room' has to have the same floor/ceiling
  4364.        height as the room being viewed - you'll get glitches when
  4365.        jumping/ducking if it isn't.
  4366.  
  4367.     *  If you set clipping and walk through the mirror, you:
  4368.  
  4369.            -  will die if you leave the mirror room,
  4370.  
  4371.            -  get stuck if you deactivate clipping, and
  4372.  
  4373.            -  notice graphic glitches underneath the mirror
  4374.               (viewed from inside).
  4375.  
  4376.  
  4377. 7.21  *Garbage cans*
  4378.  
  4379.  
  4380. Garbage cans (1232) can spawn something else when shot - just set
  4381. its tag to [0,ObjectToSpawn]. You can't spawn every possible
  4382. object though (I tried toilets :), but things like shotgun ammo
  4383. (49) or, indeed, other cans work well.
  4384.  
  4385. 7.21.1  Notes
  4386.  
  4387.     *  Rubbercans (1062) can't be made to spawn something, they
  4388.        always create rats. Although, of course, this can be
  4389.        changed in the GAME.CON file (line 204).
  4390.  
  4391.     *  A garbage can can spawn a garbage can :)
  4392.        This way you can also see that the default sprite size is
  4393.        too large: the spawned cans are quite a bit smaller than
  4394.        the original ones.
  4395.  
  4396.  
  4397. 7.22  Revenge of the dancers
  4398.  
  4399.  
  4400. When a dancer is shot, you can make an enemy appear. Just set the
  4401. dancer sprite to [Channel,0] and place one or more R
  4402. [SpriteToAppear,Channel] anywhere.
  4403.  
  4404. 7.22.1  Notes
  4405.  
  4406.     *  You can make lots of things appear, I've even had success
  4407.        with burning barrels (1240).
  4408.  
  4409.     *  If you try to spawn an invalid object (like another dancer
  4410.        or a sign), the respawn spark appears (including the
  4411.        sound), but nothing warps in. This might be used to faze
  4412.        players.
  4413.  
  4414.     *  A dancer can spawn a weapon, preferably in the same place
  4415.        as the dancer. This makes it look as if the woman was
  4416.        armed (wonder where she hid that Devastator).
  4417.        Personally, I don't advise this, though: some people are
  4418.        strange enough to play outside Adult Mode and thus never
  4419.        see the dancers. Others again (like myself) never shoot
  4420.        the dancers (I mean, come on, shooting a woman?).
  4421.  
  4422.  
  4423. 7.23  Buzzing phones
  4424.  
  4425.  
  4426. To have a phone buzz if the player tries to activate it, place a
  4427. switch (132) on the phone (967), tag it [174,278] and rotate it
  4428. away from the player to make it invisible.
  4429.  
  4430.  
  4431. 7.24  Light switches
  4432.  
  4433.  
  4434. Light switches turn the light in one or more sectors on and off
  4435. ('on' is the brightness of the S, 'off' is the original light
  4436. level).
  4437.  
  4438. 7.24.1  Setup
  4439.  
  4440.     *  Place a switch (eg 164) [0,Channel] sprite anywhere.
  4441.  
  4442.     *  The sectors to light up need an S [Channel,12].
  4443.  
  4444. 7.24.2  Notes
  4445.  
  4446.     *  You can use several switches on the same channel, they
  4447.        operate simultaneously.
  4448.  
  4449.     *  Switches work just fine if used on their own - perhaps
  4450.        this could be used by players to communicate?
  4451.  
  4452.     *  The hitag of the switch controls the sound the switch
  4453.        makes on activation. 0 is the normal 'click', but try the
  4454.        others...
  4455. 7.25  Permanently rotating sector (gears)
  4456.  
  4457.  
  4458. You can set up a sector to keep rotating around a midpoint, like
  4459. the gears in E1L3.
  4460.  
  4461. 7.25.1  *Setup*
  4462.  
  4463. First, build your sector. If the floor or roof is to be visible,
  4464. make sure that you've set the texture alignment to 'relative'
  4465. (use [R]) so it rotates with the sector.
  4466.  
  4467. You'll need these tags:
  4468.  
  4469. S              [Channel,0]
  4470.                Defines a rotating sector.
  4471.  
  4472. S              [Channel,1]
  4473.                Defines the sector rotating axis. The direction
  4474.                defines the rotation: up is clockwise, down is
  4475.                counterclockwise.
  4476.  
  4477. Sp             [0,Speed]
  4478.                Default rotation is rather fast, so you might want
  4479.                to add an Sp[0,64] for slower movement.
  4480.  
  4481. M              [HearingDistance,SoundNumber]
  4482.                The distance obviously depends on the size of your
  4483.                rotating sector - try 8000. Good SoundNumbers to
  4484.                use are 87 (grinding gears) or 89 (machine at
  4485.                work).
  4486.  
  4487. 7.25.2  Notes
  4488.  
  4489.     *  The two S must be on top of each other, as the sector will
  4490.        behave strangely otherwise. I've had gears rotating around
  4491.        an arbitrary midpoint causing a HOM when moving over you.
  4492.  
  4493.     *  M is usually placed on the pivot point, too.
  4494.  
  4495.     *  A gear will pick you up if it sweeps towards you. To make
  4496.        pushing/squashing gears, raise the floor of the rotating
  4497.        sector all the way up to the ceiling.
  4498.  
  4499.  
  4500. 7.26  Doors
  4501.  
  4502.  
  4503. Ignoring simple doorways, real doors come in several flavours,
  4504. consisting of one or more moving sectors, sector tags and some
  4505. controllers.
  4506. Note that all controllers must be inside the door sector(s), not
  4507. right on the edge (turn off grid locking ond place it real close
  4508. to the edge, if necessary).
  4509.  
  4510. 7.26.1  Standard hinged
  4511.  
  4512. A hinged door opens by rotation 90 degrees sideways.
  4513. The door sector [0,23] contains three special sprites:
  4514.  
  4515. S              [Channel,11]
  4516.                The location of the sector effector defines the
  4517.                rotation axis, the direction the rotation
  4518.                direction:
  4519.                up
  4520.                counterclockwise turn
  4521.                down
  4522.                clockwise turn
  4523.  
  4524. Sp             [0,Speed]
  4525.                Speed ranges from 8 (very slow) to over 1000 (real
  4526.                fast). ## I think you can leave this away for a
  4527.                default speed, but I'm not sure about this.
  4528.  
  4529. M              [Sound2,Sound1]
  4530.                Sound1 is the sound number to play when the door
  4531.                is opened, Sound2 when it's closed. Usually, these
  4532.                sounds will be the same.
  4533.  
  4534. 7.26.1.1  Notes
  4535.  
  4536.     *  Take care to set the ceiling texture to 'not relative'
  4537.        using [R], otherwise it'll rotate with the door.
  4538.  
  4539.     *  Make sure that the door doesn't rotate out of its original
  4540.        sector (for example, into a room with a higher ceiling) as
  4541.        the graphics will mess up. Thus the sector containing the
  4542.        door sector has to be large enough.
  4543.  
  4544.     *  You can open/close several doors simultaneously (building
  4545.        double doors, for example) by allocating each door the
  4546.        same channel.
  4547.  
  4548.     *  Do not attatch any part of the door to any other sector,
  4549.        the whole thing will twist (creating interesting effects,
  4550.        btw).
  4551.  
  4552.     *  Turn off grid locking [L] to position the S as close as
  4553.        possible to the edge of the door.
  4554.  
  4555. 7.26.2  DOOM-type door, remote control
  4556.  
  4557. A DOOM-type door is actually a thin sector of its own. It closes
  4558. by lowering its ceiling down onto the floor.
  4559. This door opens by remote control (a switch) by raising the
  4560. ceiling from the floor, delays a moment, and lowers the ceiling
  4561. onto the floor again, closing the passageway.
  4562.  
  4563. 7.26.2.1  Setup
  4564.  
  4565.     *  Switches (132) [0,Channel] can be placed anywhere. Must be
  4566.        sprites.
  4567.  
  4568.     *  The door sector [0,20] contains 4 controllers:
  4569.        M  [ClosedSound,MovingSound] (eg 0,167)
  4570.        Sp [0,Speed] (eg 0,88)
  4571.        S  [OpenDelayTime,Channel]
  4572.        A  [0,Channel]
  4573.  
  4574. 7.26.2.2  *Notes*
  4575.  
  4576.     *  Switches can be hidden by letting the sprites face the
  4577.        wall and adding another sprite facing the player on top of
  4578.        it (as done in the toilet of E1L2 with the blowdryer).
  4579.  
  4580.     *  If the door is half-open at game start, it will close
  4581.        automatically.
  4582.  
  4583.     *  Don't make OpenDelayTime (the time to wait after closing
  4584.        the door again) too short! A door with a value of 128 will
  4585.        close real quick. If the time passes before the door has
  4586.        fully opened, it will malfunction (could be used by
  4587.        design, though).
  4588.  
  4589.     *  Make sure the orientation of the door texture is set right
  4590.        (use [O]) as the door will otherwise appear to grow
  4591.        instead or rising properly.
  4592.  
  4593. 7.26.3  DOOM-type door, local control
  4594.  
  4595. These work in the exact same way as the remote-controlled
  4596. version, but you don't need a switch to open them - just press on
  4597. the door itself.
  4598.  
  4599. Simply build the door as above, leaving the S and A controllers
  4600. out.
  4601.  
  4602. 7.26.4  Sliding sideways
  4603.  
  4604. While most doors simply move the floor or ceiling (aka DOOM-type
  4605. doors) or moving/rotating a sector, the sliding door is made up
  4606. of one-sided walls which are shrunk by a sector wrapped around
  4607. them.
  4608. A perfect example can be found in E1L3, just to the right of your
  4609. starting point.
  4610.  
  4611. Since I found that I'm no good at explaining this in words, allow
  4612. me to use some cheapo ASCII graphics to guide you through a
  4613. step-by-step design :)
  4614.  
  4615. We have a doorway where we want to insert a sliding door. It
  4616. shall slide into the left wall:
  4617.  
  4618. ---------------*................*-----------------
  4619.                |                |
  4620.                |                |    Key: * Point
  4621.                |                |         . 2-sided wall
  4622.                |                |         | 1-sided wall
  4623.                |                |
  4624.                |                |
  4625.                |                |
  4626. ---------------*................*-----------------
  4627.  
  4628. We start by adding a sector inside the doorway sector:
  4629.  
  4630. ---------------*................*-----------------
  4631.                |                |
  4632.                *...............*|
  4633.                |               .|
  4634.                |               .|
  4635.                |               .|
  4636.                *...............*|
  4637.                |                |
  4638. ---------------*................*-----------------
  4639.  
  4640. Note that the new sector goes nearly all the way across. I
  4641. usually try to avoid overlaying unrelated lines, as they can
  4642. cause ugly graphics glitches.
  4643. Give the new sector a tag of [0,25].
  4644.  
  4645. Next we simply extend the inner part of the left wall across,
  4646. forming the door itself:
  4647. ---------------*................*-----------------
  4648.                |                |
  4649.             P1 *...............*|
  4650.             P2 *-------------\ .|
  4651.                               *.|
  4652.             P3 *-------------/ .|
  4653.             P4 *...............*|
  4654.                |                |
  4655. ---------------*................*-----------------
  4656.  
  4657. The door has a triangular endpoint, you'll see why as we shift
  4658. points 2 and 3 (marked as P2 and P3 above) onto the points 1 and
  4659. 4 (marked as P1 and P4 in the sketch):
  4660.  
  4661. ---------------*................*-----------------
  4662.                | L1             |
  4663.          P1/P2 *------------ ..*|
  4664.                              \ .|
  4665.                               *.|
  4666.                              / .|
  4667.          P3/P4 *------------...*|
  4668.                | L2             |
  4669. ---------------*................*-----------------
  4670.  
  4671. And here's why it's triangular: so we still see a bit of the
  4672. sector below; we now insert some sector effectors into it:
  4673.  
  4674.     *  S[Channel,15]
  4675.  
  4676.     *  M[DoneSound,MovingSound]
  4677.  
  4678.     *  Sp[0,DistanceToOpen]
  4679.  
  4680. If you open the door now, the lines L1 and L2 (on the left) will
  4681. twist backwards. To avoid this, move P1/P2 and P3/P4 a bit to the
  4682. left, insert a point in L1 and L2 and move this point down (or in
  4683. P2s case, up) onto the line so you get this:
  4684.  
  4685. ---------------*................*-----------------
  4686.                | L1             |
  4687.       P1/P2 *--*------------ ..*|
  4688.                              \ .|
  4689.                               *.|
  4690.                              / .|
  4691.       P3/P4 *--*------------...*|
  4692.                | L2             |
  4693. ---------------*................*-----------------
  4694.  
  4695. Voila! Press against the door to open it.
  4696.  
  4697. Sorry about the ugly sketches, but the above is a lot easier to
  4698. understand than the gamboozle that was here in v0.4 of the FAQ :)
  4699.  
  4700. 7.26.4.1  Notes
  4701.  
  4702.     *  A typical sliding door texture is 447.
  4703.  
  4704.     *  Changing the heading of the sector effector produces
  4705.        interesting (and usually, buggy) results.
  4706.  
  4707. 7.26.5  Star Trek door
  4708.  
  4709. This door slides sideways, compressing its texture as it does so.
  4710. The door is activated by pressing against it.
  4711. 7.26.5.1  *Setup*
  4712.  
  4713. This door is very similar to the sliding door.
  4714. Let's assume your doorway goes from north to south and the star
  4715. trek door thus slides east/west:
  4716.  
  4717. * Create the sector containing the doorway.
  4718.  
  4719. * Using horizontal lines, split this sector into three sectors.
  4720.  
  4721. * Extend the doorway sectors walls into the middle sector of the
  4722. doorway, forming the doors themselves. Let the doors (almost)
  4723. meet in the middle.
  4724.  
  4725. * Now tag the middle sector: [0,9]
  4726.  
  4727. * Add two sprites to the middle sector:
  4728.      M[0,Sound] (eg. [0,259])
  4729.      Sp[0,OpeningSpeed] (eg. [0,64])
  4730.  
  4731. And that's all!
  4732.  
  4733. 7.26.5.2  Notes
  4734.  
  4735.     *  If you extend the middle sector straight to the east and
  4736.        west (like the sliding door), the door texture will be
  4737.        longer although part of it will be hidden. This will make
  4738.        sure that you can hardly see the compressing effect while
  4739.        the door opens.
  4740.  
  4741.     *  The door sound is played twice (bug). Thus my Star trek
  4742.        doors are always totally silent.
  4743.  
  4744. 7.26.6  Four-way door
  4745.  
  4746. These doors open in both directions (up/down and left/right) at
  4747. the same time when activated.
  4748.  
  4749. Simply build a star trek as above, but let the floor and ceiling
  4750. of the middle sector meet in the middle and give the middle
  4751. sector a tag of [0,26].
  4752.  
  4753. These doors look very nice indeed :)
  4754.  
  4755. 7.26.6.1  Notes
  4756.  
  4757.     *  It is possible to get these doors to misbehave: try
  4758.        triggering a low, long door again while it is already
  4759.        opening. The roof will start to close again while the
  4760.        walls are still opening.
  4761.        Now the door will be difficult to navigate: as the roof
  4762.        opens, the walls close and vise versa.
  4763.        Of course, this can be fixed by triggering the door again
  4764.        in quick succession, but it interesting to know.
  4765.  
  4766.     *  The above bug can be used for special doors - simply
  4767.        design the walls to be open at the start, and the door
  4768.        will react as above.
  4769.        You can get through it if you run, though.
  4770.  
  4771. 7.26.7  Clamshell doors
  4772.  
  4773. Clamshell doors split horizontally when opening - the top half
  4774. disappears into the ceiling, the bottom half into the floor.
  4775. Just build a DOOM-style door, but tag the door sector [0,22] and
  4776. make sure the floor and ceiling meet in the middle.
  4777.  
  4778. 7.26.8  Teeth doors
  4779.  
  4780. ## I've found some info on building teeth doors, but I didn't get
  4781. them to work. The BUILD docs say that teeth doors weren't tested
  4782. in the game and might make trouble in multi-play.
  4783.  
  4784. 7.26.9  Auto-closing doors
  4785.  
  4786. Simply add an S[DelayTime,10] in the door to auto-close.
  4787.  
  4788. 7.26.10  Switch-controlled doors
  4789.  
  4790. Every door can be opened via a switch as well:
  4791.  
  4792. Simply add a switch somewhere and tag it [ActivationSound,
  4793. Channel].
  4794.  
  4795. Inside the door, place two effectors:
  4796. S  [OpenDelayTime,Channel]
  4797. A  [0,Channel]
  4798.  
  4799. 7.26.10.1  *Notes*
  4800.  
  4801. You can also use sector tags (T[0,Channel]) to open a door when
  4802. the player enters a sector.
  4803.  
  4804.  
  4805. 7.27  Shrinking sector (remote control)
  4806.  
  4807.  
  4808. This will shrink a sector (for example a curtain) on the flick of
  4809. a switch. Pressing the switch again will regrow the sector.
  4810.  
  4811. 7.27.1  Setup
  4812.  
  4813.     *  Place one or more switches anywhere
  4814.        [ActivationSound,Channel].
  4815.  
  4816.     *  Inside the sector to shrink [0,27], place three
  4817.        controllers:
  4818.        S  [Channel,20] facing the movement direction.
  4819.        A  [0,Channel]
  4820.        Sp [0,OpeningDistance]
  4821.  
  4822. 7.27.2  Notes
  4823.  
  4824.     *  Don't open the sector too wide - it will move through the
  4825.        wall, creating ugly HOM effects.
  4826.  
  4827.     *  Have a look at the floor if a hanging sector moves - it
  4828.        looks strange. Use [R] to get rid of the effect.
  4829.  
  4830.  
  4831. 7.28  *Spawning monsters*
  4832.  
  4833.  
  4834. You can have monsters appear anywhere when the player walks onto
  4835. a certain sector.
  4836.  
  4837. 7.28.1  *Setup*
  4838.  
  4839.     *  Place a T[0,Channel] in the activating sector.
  4840.  
  4841.     *  Place one or more R[TileToSpawn,Channel] anywhere.
  4842.  
  4843. 7.28.2  *Notes*
  4844.  
  4845.     *  The pig cop has TileToSpawn of 2000.
  4846.  
  4847.     *  I don't know what T's hitag means. Perhaps the delay time?
  4848.        ##
  4849.  
  4850.     *  You can also use a switch with a tag of [0,Channel] to
  4851.        spawn monsters.
  4852.  
  4853.     *  You can spawn other things than just monsters (like
  4854.        weapons or medipacks).
  4855.  
  4856.  
  4857. 7.29  *Difficulty settings*
  4858.  
  4859.  
  4860. To have an object or monster only appear in a certain difficulty
  4861. level, just give it a lo-tag:
  4862.  
  4863. Lotag     Appears in difficulty level
  4864. 0         1,2,3,4
  4865. 1         1,2,3,4
  4866. 2         2,3,4
  4867. 3         3,4
  4868. 4         4
  4869.  
  4870.  
  4871. 7.30  Automatic cannon
  4872.  
  4873.  
  4874. An automatic cannon will fire an object every 5 seconds in a
  4875. certain direction as soon as it's been activated by a
  4876. masterswitch.
  4877.  
  4878. 7.30.1  Setup
  4879.  
  4880. Place an S with [0,36], marking the shot spawn shot. Aim it
  4881. whereever you please.
  4882.  
  4883. Add an Sp[0,ObjectNumber] in the same sector. ObjectNumber is the
  4884. tile number of the object to fire from S.
  4885.  
  4886. Add a D[0,TriggerChannel] in the same sector. You can hook, for
  4887. example, a T[0,TriggerChannel] anywhere to start the gun up.
  4888.  
  4889. 7.30.2  Notes
  4890.  
  4891.     *  I've found the following objects to be possible ammo:
  4892.  
  4893.        1360          Psionic blast.
  4894.                      Aimed slightly down, and has a limited
  4895.                      range.
  4896.  
  4897.        1625          Laser.
  4898.  
  4899.        1636          Spit.
  4900.  
  4901.                      Aimed slightly down, and has a very limited
  4902.                      range. Makes no noise at all.
  4903.  
  4904.        1641          Freeze blast.
  4905.                      Always aimed at player, but has no effect on
  4906.                      him. Looks cool, though :)
  4907.  
  4908.        1650          Mortar.
  4909.                      The mortar ball drops down at a steep angle
  4910.                      and explodes on impact.
  4911.  
  4912.        2556          Shrink ray.
  4913.  
  4914.        2605          RPG.
  4915.                      Will always aim at player, regardless of aim
  4916.                      or LOS.
  4917.  
  4918.  
  4919. 7.31  Lethal sectors
  4920.  
  4921.  
  4922. To make a sector instantly lethal to the player (even in God
  4923. mode), parallax BIGORBIT as the ceiling.
  4924.  
  4925.  
  4926. 7.32  Earthquakes
  4927.  
  4928.  
  4929. Earthquakes have three effects:
  4930.  
  4931.     *  The screen shakes for about 4 seconds and the earthquake
  4932.        sound is played.
  4933.  
  4934.     *  Sectors can tilt.
  4935.  
  4936.     *  All SE[0,33] on the whole map spawn rocks and debris.
  4937.  
  4938. 7.32.1  Setup
  4939.  
  4940. Place an S[0,2] on every sector to tilt.
  4941. Place an D[0,TriggerChannel] in the same sector.
  4942. If you want, place S[0,33] anywhere on the map.
  4943.  
  4944. Earthquakes have to be triggered, for example with a
  4945. T[0,TriggerChannel] anywhere.
  4946.  
  4947. 7.32.2  Notes
  4948.  
  4949.     *  To tilt sectors, they have to be tilted on the map by a
  4950.        maximum of 4 clicks (you can tilt more, but it won't have
  4951.        any effect). Such sectors are shown flat at startup.
  4952.  
  4953.     *  You can put S[0,33] anywhere - they are triggered by any
  4954.        earthquake on the map. Try putting them slightly under the
  4955.        floor, or high in the air for special effects.
  4956.  
  4957.     *  The build docs claim that a sector will move in the S[0,2]
  4958.        direction during an earthquake, but I've never seen that.
  4959.  
  4960. 7.33  Elevators
  4961.  
  4962.  
  4963. Elevators come in two kinds: those where just the floor moves
  4964. (open elevator) and those where the ceiling moves as well (closed
  4965. elevator).
  4966.  
  4967. Both rely totally on sector tags: except for the sound, no
  4968. controllers are used.
  4969.  
  4970. 7.33.1  Setup
  4971.  
  4972. An elevator is simply a sector that moves from the nearest low
  4973. floor to the nearest high floor. Thus the only important thing
  4974. really is setting the floor heights of the adjacent sectors
  4975. properly.
  4976.  
  4977. Tag the sector according to the desired elevator type:
  4978.  
  4979. [0,16]         Open elevator
  4980.  
  4981. [0,18]         Closed elevator
  4982.  
  4983. 7.33.2  Notes
  4984.  
  4985.     *  You can set an elevator at the top or the bottom to start
  4986.        with, it doesn't make a difference. You can even set it at
  4987.        half-way.
  4988.  
  4989.     *  Elevators must be the right size. If the elevator seems to
  4990.        go on forever, the ceiling of the first room is too high -
  4991.        try fiddling with this or pressing [SpaceBar] in the game
  4992.        to reverse the elevators direction.
  4993.  
  4994.     *  There are two more sector tags available to elevators:
  4995.        [0,17] (open elevator) and [0,19] (closed elevator).
  4996.        They're supposed to control the starting position of the
  4997.        elevator, but _you_ do that already simply by placing the
  4998.        elevator at the desired starting height.
  4999.        ## Anybody know what's going on?
  5000.  
  5001.  
  5002. 7.34  Remote-controlled Elevators
  5003.  
  5004.  
  5005. Remote-controlled elevators are just like ordinary elevators,
  5006. except that they're operated via a switch somewhere (or several
  5007. switches, of course).
  5008.  
  5009. 7.34.1  Setup
  5010.  
  5011. To turn an ordinary elevator into a remote-controlled one, just
  5012. add an A[Channel,0] in the elevator sector and place switches
  5013. tagged [Channel,0] anywhere.
  5014.  
  5015.  
  5016. 7.35  Teleporters
  5017.  
  5018.  
  5019. Teleporters move players instantly between any two points.
  5020.  
  5021. 7.35.1  Setup
  5022.  
  5023. Teleporters are not sectors, just sector effectors. They do need
  5024. the floor tile 626, though.
  5025. S [Channel,7], facing is the same the arriving player should
  5026. face.
  5027.  
  5028. 7.35.2  Notes
  5029.  
  5030.     *  A teleporter without a floor tile 626 only act as
  5031.        receivers.
  5032.  
  5033.     *  A single teleporter without a destination will kill the
  5034.        player.
  5035.  
  5036.     *  If the S is off the ground, the teleporter is silent -
  5037.        useful for transporting players around the map without
  5038.        telling them about it (see E1L1, falling down the airduct,
  5039.        as an example).
  5040.  
  5041.     *  When using more than two teleporters on the same channel,
  5042.        you always land on the teleporter with the lowest sprite
  5043.        number. If teleporting from the lowest sprite number, you
  5044.        end up on the next-highest one.
  5045.  
  5046.     *  Teleporters don't work if you fly over them.
  5047.  
  5048.     *  Don't create a teleport sector with two of the walls being
  5049.        masked, blocked and hitable. It messes up.
  5050.  
  5051.     *  ## I've had strange effects when firing rockets into two
  5052.        teleporters set up in a line - the rocket reappeared
  5053.        _behind_ me, angled slightly to the right (thankfully :)
  5054.        Any ideas?
  5055.  
  5056.  
  5057. 7.36  Swimming pools
  5058.  
  5059.  
  5060. Swimming pools allow the player to jump into the water and dive
  5061. around under the water surface.
  5062.  
  5063. 7.36.1  Setup
  5064.  
  5065. A swimming pools consists of at least two sectors: one is the
  5066. room above the water, one is the room below it. An teleporter
  5067. secretly moves the player (and any other objects, like pipebombs)
  5068. between the levels as required.
  5069. The sectors sharing the water surface have to be the exact same
  5070. size and shape (of course).
  5071. The teleporter connecting them needs a unique channel number.
  5072.  
  5073. Above-water sector
  5074.                [0,1]
  5075.                S [Channel,7]
  5076.  
  5077. Below-water sector
  5078.                [0,2]
  5079.                S [Channel,7]
  5080.  
  5081. 7.36.2  *Notes*
  5082.  
  5083.     *  The floor/ceiling types for the water surface don't matter
  5084.        - all objects will always be transported correctly, water
  5085.        will splash, etc.
  5086.        This allows you to generate hidden traps, mud, etc.
  5087.  
  5088.     *  If you split a pool into several sectors (for example in
  5089.        order to create a pool with a shallow and a deep end), you
  5090.        have to split the above-water sector as well and add a
  5091.        sector effector in each new sector, each with it's own
  5092.        channel.
  5093.  
  5094.     *  Interesting things happen if the S is not exactly on the
  5095.        floor (use [Ctrl]-[PgDn]).
  5096.  
  5097.     *  The S above and below the water must be in the exact same
  5098.        relative position and face in the same direction.
  5099.  
  5100.     *  Don't place a toilet underwater. While Duke can use it, he
  5101.        won't be able to surface anymore afterwards (bug).
  5102.  
  5103.     *  Beware of sloping pool floors. The SE has to be on the
  5104.        lowest point, and I don't know how stable it works.
  5105.  
  5106. 7.36.3  Tips
  5107.  
  5108.     *  Nothing to stop you from adding sector to the below-water
  5109.        sector, forming an underwater tunnel leading somewhere
  5110.        else; perhaps even surfacing in a different pool.
  5111.  
  5112.  
  5113. 7.37  The Grapplers
  5114.  
  5115.  
  5116. Grapplers are hooks descending from the ceiling which will pick
  5117. up objects (including players), transport them somewhere else and
  5118. drop them off again.
  5119.  
  5120. 7.37.1  Setup
  5121.  
  5122.     *  Add a crane pole [Channel,0] (1221) at the place where
  5123.        something is to be picked off. Place it in its own sector,
  5124.        as the crane will pick up anything that moves into this
  5125.        sector.
  5126.  
  5127.     *  Place the crane itself [Channel,0] (1222) at the
  5128.        destination point.
  5129.  
  5130. 7.37.2  Tips
  5131.  
  5132.     *  Grapplers don't pick up everything - I'm still fiddling
  5133.        around to try what is actually transported. Players are,
  5134.        as are monster corpses.
  5135.  
  5136.     *  As the crane move across the ciling, it's a good idea to
  5137.        place some kind of raised texture there (353 works well).
  5138.  
  5139.  
  5140. 7.38  Overlapping sectors
  5141.  
  5142.  
  5143. While DOOM was 2.5D because of its strictly 2D map, Duke3D is
  5144. 2.75D: while the data structure allows you to design several
  5145. sectors over each other, the graphic engine can't display more
  5146. than one ceiling and one floor over each other at a time.
  5147.  
  5148. This means you can't:
  5149.  
  5150.     *  Build a real bridge.
  5151.  
  5152.     *  Build two windows over each other.
  5153.  
  5154.     *  Build a house missing a wall, showing several floors over
  5155.        each other.
  5156.  
  5157. However, you can:
  5158.  
  5159.     *  Build a house where you can actually walk on the roof (as
  5160.        long as the house doesn't have windows).
  5161.  
  5162.     *  Build corridors crossing over and under each other.
  5163.  
  5164.     *  Build a house with two stories above each other, as long
  5165.        as the windows are on opposite sides of the house (and
  5166.        facing into different sectors).
  5167.  
  5168. Building overlapping sector is easy: Just draw the first sector,
  5169. move floor and ceiling where you want them, then draw another
  5170. sector overlapping the first one. Try it!
  5171.  
  5172. 7.38.1  Notes
  5173.  
  5174.     *  Two overlapping sectors cannot share a double-sided wall,
  5175.        but you can connect them with a separate sector (for
  5176.        example, a sloping tunnel or an elevator).
  5177.  
  5178.     *  Don't use overlapping sectors unless you have to! Editing
  5179.        them is very little fun indeed, as the 2D editor has
  5180.        trouble differentating between the sectors and it's hard
  5181.        joining sectors, etc.
  5182.  
  5183.     *  Note that you can build real 3D floors (walkable above and
  5184.        below) by using sprites rotated flat as floor (set the
  5185.        'blocking' flag). It's hard work, though - see the section
  5186.        on bridges.
  5187.  
  5188.     *  Be careful when building overlapping sectors - monsters
  5189.        can get confused if there's somebody else in the
  5190.        overlapping room, and the sound will come from there as
  5191.        well. Use it sparingly.
  5192.  
  5193.  
  5194. 7.39  Hiding switches
  5195.  
  5196.  
  5197. To hide a switch, simply turn its facing towards the wall.
  5198.  
  5199. It is advisable to place a different sprite facing the player
  5200. over it, so he knows where to press (unless you _really_ want to
  5201. hide it).
  5202.  
  5203.  
  5204. 7.40  Bridges and Shelves
  5205.  
  5206.  
  5207. We actually cheat a bit in order to build a bridge: it's made up
  5208. of sprites!
  5209. Take the sprite, rotate it flat to the floor, mark it as 'blocks
  5210. movement' and then raise it into the air - you'll be able to walk
  5211. on and underneath it.
  5212.  
  5213. So far, I have found two typical bridge sprites, but any sprite
  5214. will work:
  5215.  
  5216. 513            Stone bridge, as found in E1L1.
  5217.  
  5218. 609            Metal bridge with holes in it, found in E1L6.
  5219.  
  5220. 7.40.1  *Notes*
  5221.  
  5222.     *  Building a solid-looking bridge (one having width)
  5223.        actually takes some time, as you have to mess around with
  5224.        the side and bottom walls too (they're also sprites, of
  5225.        course) which can take ages.
  5226.  
  5227.     *  It's possible to make a bridge droppable (try using a
  5228.        pipebomb on the bridge in E1L1) by tagging the sprites
  5229.        [Channel,0].
  5230.        Bridges with the same channel with collapse
  5231.        simultaneously. I've tried channels 254 and 255 with good
  5232.        results.
  5233.  
  5234.     *  Keep in mind that the visible overlapping of sprites is
  5235.        calculated by looking at the sprite center. Thus if you
  5236.        place several small sprites (bottles) on a single large
  5237.        sprite (a wooden board), the board will overlap some
  5238.        bottles when viewed diagonally.
  5239.        Thus you should build larger objects of several small
  5240.        sprites.
  5241.  
  5242.     *  Especially bridges often suffer from the above problem.
  5243.        One way to (partly) fix this is to make all the sprites
  5244.        single-sided, with the sprites only visible from outside
  5245.        (press [1] and use [F],[<] and [>] to rotate them until it
  5246.        looks right).
  5247.  
  5248.     *  It's perfectly possible to create a multilevel building
  5249.        out of nothing but sprites. It's a hell of a job, however.
  5250.  
  5251.  
  5252. 7.41  Minibosses
  5253.  
  5254.  
  5255. In episodes two and three, the boss from episode one makes a
  5256. comeback, but in a 'light' version: he's smaller, more easily
  5257. killed and the level doesn't end when he's dead.
  5258.  
  5259. To create such a boss, just give him (2630) the palette number
  5260. 21.
  5261.  
  5262. 7.41.1  *Notes*
  5263.  
  5264.     *  To spawn minibosses, set the palete of the respawn
  5265.        effector to 21.
  5266.  
  5267.     *  No other minibosses are defined in the .CON files, thus
  5268.        this trick works poorly on the other two bosses: they die
  5269.        after taking a single hit.
  5270.  
  5271. 7.42  *Crashing car/helicopter*
  5272.  
  5273.  
  5274. These are easy: just place their sprite (car is 2491, helicopter
  5275. is 1386) anywhere high enough, point them in the direction you
  5276. want them to go and that's all.
  5277.  
  5278. 7.42.1  *Notes*
  5279.  
  5280. Make sure the sprites have enough space to fly all the way before
  5281. they (automatically) crash: if they hit a wall first, they will
  5282. slide down it.
  5283.  
  5284.  
  5285. 7.43  Pulsing lights
  5286.  
  5287.  
  5288. Pulsing lights are made up of several sectors which light up in
  5289. sequence, causing a 'running light' effect. This can be used
  5290. nicely to point a player towards an emergency exit, for example.
  5291.  
  5292. 7.43.1  Setup
  5293.  
  5294. You'll need several sectors in a line. Each of these sectors
  5295. should contain a C[0,LightTime] and an Sp[0,LightSpeed].
  5296.  
  5297. The sectors themselves should be dark and the C's light.
  5298.  
  5299. LightTime is the sequence in which the sectors light up (higher
  5300. ones first). A typical sequence would be 0,256,512,768,1024,...
  5301. This also controls how many sectors are lit at the same time.
  5302. With a difference of 200, the light pulse is about 4 sectors
  5303. long. With 400, it's 2 sectors (not as smooth).
  5304.  
  5305. LightSpeed is the speed at which the light pulse travels along
  5306. the sectors.
  5307.  
  5308. 7.43.2  Notes
  5309.  
  5310.     *  Nowhere is it written that the sectors have to be in a
  5311.        straight line or, indeed, any line at all.
  5312.  
  5313.     *  The C and Sp effectors have to face in the same direction
  5314.        or they won't work.
  5315.  
  5316.  
  5317. 7.44  Vehicles
  5318.  
  5319.  
  5320. Vehicles (simply a sector with a raised floor, a lowered roof or
  5321. both) can be set up to travel from their original position to a
  5322. pre-determined closed path, which they will follow.
  5323.  
  5324. 7.44.1  *Setup*
  5325.  
  5326.     *  The vehicle sector requires an S
  5327.        [LocatorNumberToStartAt,6]. The position of this
  5328.        controller determines the rotation center when turning,
  5329.        and its direction the facing of the vehicle.
  5330.        LocatorNumberToStartAt is usually 0 if you have only one
  5331.        vehicle on the route.
  5332.  
  5333.     *  All vehicle sectors need to be tagged [0,1].
  5334.  
  5335.     *  Mark the route with several L+ [Pause,VisitingOrder].
  5336.        A Pause of 0 means smooth movement, a 1 means a short
  5337.        pause at the _next_ L+.
  5338.        The controllers are visited in their VisitingOrder,
  5339.        starting from 0.
  5340.  
  5341.     *  Use [R] on the vehicles floor texture to make it move with
  5342.        the vehicle.
  5343.  
  5344. 7.44.2  *Notes*
  5345.  
  5346.     *  The vehicle must start in the same sector as its route, as
  5347.        the game will refuse to run otherwise. Thus you can't, for
  5348.        example, cause a car to come out of a low garage and
  5349.        circle around outside afterwards.
  5350.  
  5351.     *  You can have several vehicles following the same route.
  5352.  
  5353.     *  You can also design a vehicle using several sectors, but
  5354.        they will rotate individually at each L+. Rather use a
  5355.        'bounding' sector, containing the S - see the attacking
  5356.        spaceship in E2L1 for an example.
  5357.  
  5358.     *  The whole route must be in one sector - you cannot move a
  5359.        vehicle through several sectors.
  5360.  
  5361.     *  You can only have one route defined per map.
  5362.  
  5363.     *  To have sprites move with the vehicle, they must be in the
  5364.        same sector as the S[0,6].
  5365.  
  5366.     *  Vehicles can't move up or down slopes.
  5367.  
  5368.  
  5369. 7.45  Attacking Vehicles
  5370.  
  5371.  
  5372. To make a vehicle attack any visible player with rockets (like
  5373. the space fighter at the start of E2L1), just parallax the
  5374. ceiling of the vehicle.
  5375.  
  5376. 7.45.1  Notes
  5377.  
  5378.     *  To have a vehicle move about under an parallaxed sky
  5379.        without shooting at you, give the sky or the floor a
  5380.        palette (any palette except 0 will do). Palette number 3
  5381.        works well.
  5382.  
  5383.  
  5384. 7.46  Two-way Vehicles
  5385.  
  5386.  
  5387. A two way vehicle moves back and forth between two points when
  5388. activated (for example, with a key).
  5389.  
  5390. 7.46.1  Setup
  5391.  
  5392.     *  The vehicle needs a tag of [0,31], an S[Channel,30] and an
  5393.        A[0,Channel].
  5394.        S points in the direction of vehicle movement.
  5395.  
  5396.     *  Two locaters L+[0,0] and L[0,1] need to be placed to mark
  5397.        the stopping points of the vehicle. L[0,1] is the locator
  5398.        visited first by the vehicle.
  5399.     *  Place one or more switches [0,Channel] anywhere, including
  5400.        on the vehicle.
  5401.  
  5402. 7.46.2  *Notes*
  5403.  
  5404.     *  The vehicle moves off in the direction of its S. If it
  5405.        doesn't find an L+, it will keep moving forever, passing
  5406.        straight through any walls on the way out.
  5407.  
  5408.     *  Vehicles don't have to start near an L+, they will move
  5409.        there on their own.
  5410.  
  5411.     *  On both locators, channels are triggered which can be used
  5412.        to automatically open dors, switch on lights, etc. The
  5413.        channels are Channel+1 for the L+[0,1] and Channel+2 for
  5414.        the L+[0,0].
  5415.        Thus if you used channel 6 for a two-way train, channel 7
  5416.        would be triggered when the train reaches the first stop.
  5417.  
  5418.  
  5419. 7.47  *Echoing rooms*
  5420.  
  5421.  
  5422. To make a room echo (as in a sewer, for example), simply tag the
  5423. room sector [1000+AmountOfEcho,SoundDistance].
  5424.  
  5425. AmountOfEcho ranges from 0 to 255.
  5426.  
  5427.  
  5428. 7.48  Water waves
  5429.  
  5430.  
  5431. It's possible to have the floor of a sector move up and down.
  5432. Several of these sectors in series can give the effect of a
  5433. travelling water wave.
  5434.  
  5435. 7.48.1  Setup
  5436.  
  5437. A wave sector actually changes its floor tilt value.
  5438. Thus, simply define several 4-walled sector in a row, adding a
  5439. single S [WaveShape,29] in each.
  5440.  
  5441. You can add an Sp[0,WaveHeight] in the sector as well.
  5442.  
  5443. 7.48.2  Notes
  5444.  
  5445.     *  Wave sectors must be four-sided.
  5446.  
  5447.     *  The floor tilts along the first line of each sector, so
  5448.        make sure you've set it properly (use [Alt]-[F]).
  5449.  
  5450.     *  WaveShape/WaveHeight range from 0 to 2048.
  5451.  
  5452.     *  If you tag the wave sectors [0,2], you'll be able to swim
  5453.        underneath the water (see Swimming Pools for details).
  5454.        Duke won't be able to stay afloat if the wave is too high,
  5455.        though.
  5456.  
  5457.  
  5458. 7.49  Engine piston
  5459.  
  5460.  
  5461. In designing machines, you often want a piston moving up and
  5462. down, squashing anything wandering underneath.
  5463. 7.49.1  Setup
  5464.  
  5465. Simply add an S [0,25] in the sector.
  5466.  
  5467. 7.49.2  Notes
  5468.  
  5469.     *  This effector moves the ceiling down to the height of the
  5470.        S and back up.
  5471.  
  5472.     *  You can add an Sp or M to taste.
  5473.  
  5474.  
  5475. 7.50  *Edge walls*
  5476.  
  5477.  
  5478. The edge of the playing map in an outdoors setting is always a
  5479. problem - how to avoid simply using a very tall building and
  5480. instead closing off with an (impassable) low wall?
  5481.  
  5482. 7.50.1  Setup
  5483.  
  5484.     *  Build a low wall around your world.
  5485.        Use any texture you like.
  5486.  
  5487.     *  Set the ceiling texture of the wall to the same as your
  5488.        main ceiling.
  5489.        Usually, this will be 89 (LA).
  5490.  
  5491.     *  Parallax it.
  5492.        If your main ceiling is already parallaxed, the upper part
  5493.        of the wall will disappear.
  5494.  
  5495.     *  Lower the ceiling of the low wall to its floor.
  5496.  
  5497.  
  5498. 7.51  Code switches
  5499.  
  5500.  
  5501. Code switches are buttons which have to be pressed in a certain
  5502. way before activating something. An example is the 3-way dip
  5503. switch used to unlock the red gate in E1L2.
  5504.  
  5505. 7.51.1  Setup
  5506.  
  5507. Set up the switches anywhere, tagging them [Status,Channel].
  5508.  
  5509. Status         is the required state for activation: 0 (off) or 1
  5510.                (on).
  5511.  
  5512. Channel        is the same for all code switches belonging
  5513.                together, and is used as the lo-tag of the A or L
  5514.                tags activating whatever is supposed to happen.
  5515.  
  5516. 7.51.2  Notes
  5517.  
  5518.     *  Personally, I find these boring. I just cycle through them
  5519.        in order and the door or whatever opens real quick.
  5520.  
  5521.     *  You can place the switches all over the level, if you
  5522.        like. Not a nice thing to do :)
  5523.  
  5524. 7.52  The pool table
  5525.  
  5526.  
  5527. Everybody (myself included) was very impressed with the pool
  5528. table in E1L2. It's easy to make your own, and perhaps you can
  5529. use this to design other toys.
  5530. Reading this, I also realize why 3DRealms didn't answer our
  5531. request for a reset button :)
  5532.  
  5533. 7.52.1  Setup
  5534.  
  5535. The table itself is just a table with a raised wall around it.
  5536. The trick is in the sprites used: just add balls (901 and 902)
  5537. and (flat) pockets (903).
  5538.  
  5539. 7.52.2  Notes
  5540.  
  5541.     *  The balls will move nicely when pushed. They will remain
  5542.        at the same height, floating through the air if necessary.
  5543.  
  5544.     *  Use different palettes on the balls to create different
  5545.        colors.
  5546.  
  5547.  
  5548. 7.53  Once-only sound effects
  5549.  
  5550.  
  5551. Often, you'll want a sound effect to be played only once when a
  5552. player enters a sector. An example is Duke talking at the
  5553. beginning of E1L1.
  5554.  
  5555. 7.53.0.1  Setup
  5556.  
  5557. Give the sector a lotag of 10000+SoundNumber.
  5558.  
  5559.  
  5560. 7.54  Ambience sounds
  5561.  
  5562.  
  5563. Simply place an M[Range,SoundsFrom] anywhere. Every now and then,
  5564. an ambience sound will be played.
  5565.  
  5566. SoundsFrom is the number of the lowest sound to play, Range is
  5567. the number of sounds to look at for random selection of the sound
  5568. to play.
  5569.  
  5570. For example: M[231,3] would randomly select a sound from the
  5571. sound numbers 231,232,233,234.
  5572.  
  5573. Sadly, not all sounds can be used as ambience sounds (see the
  5574. list in the reference section).
  5575.  
  5576.  
  5577. 7.55  Tips and tricks: New and interesting effects
  5578.  
  5579.  
  5580. It is often the case that users find new and interesting effects
  5581. for sector functions that the designers never thought of. If
  5582. anybody finds something like that, please let me know and I'll
  5583. put it here.
  5584.  
  5585. 7.55.1  Ghosts
  5586.  
  5587. You can make enemies transparent or even rotated (2D or messed-up
  5588. flat things). They'll still attack normally.
  5589. Transparent enemies are particularily effective in dark places.
  5590.  
  5591. 7.55.2  Unfreezable monsters
  5592.  
  5593. If you give a monster a palette of 1 (blue), it can't be frozen.
  5594.  
  5595. 7.55.3  Falling to your death?
  5596.  
  5597. Scaring the player is high on anybodies list for levels.
  5598. So let the player fall down a deep shaft (aaaaarrrggh) with a
  5599. teleporter hanging in the air at the bottom, transporting him
  5600. somewhere else (causing a safe landing).
  5601.  
  5602. 7.55.4  *Malfunctioning doors*
  5603.  
  5604. Doors malfunction if the closing time is too short (see the
  5605. section on doors). This can cause a nice paranoia effect when the
  5606. door keeps opening and closing all the time.
  5607.  
  5608. 7.55.5  Mines
  5609.  
  5610. It's possible to take a trip mine, shrink it real small and put
  5611. it in it's very own sector somewhere on the floor. Done properly,
  5612. you can create a proximity mine which can only be seen if the
  5613. player is paying attention >:)
  5614.  
  5615. 7.55.6  The shrinking player
  5616.  
  5617. Called the Alice In Wonderland effect, this requires you to take
  5618. a long hallway and gradually make everything bigger - the floor
  5619. gets wider, the walls higher, the sprites bigger...
  5620. The opposite works as well, of course.
  5621.  
  5622. Problems:
  5623.  
  5624.     *  Enemies can't be resized (they're animated).
  5625.  
  5626.     *  The map will show it all.
  5627.  
  5628. 7.55.7  Even more textures
  5629.  
  5630. Remember to only add your own graphics into your maps if you
  5631. really have to - they make your final package large and unwieldy
  5632. and, after all, Duke3D already contains LOTS of textures.
  5633. You can also cleverly resuse old textures by resizing them - if
  5634. you elongate a texure until it breaks into streaks and then make
  5635. the streaks wider, you get a nice metallic effect.
  5636.  
  5637.  
  5638.  
  5639.  
  5640.  
  5641.  
  5642.                             Chapter 8
  5643.  
  5644.                    Programming the .CON files
  5645.  
  5646.  
  5647. In this chapter I'll attempt to explain just what the .CON files
  5648. are about and how they work.
  5649. 8.1  The language of the .CON files
  5650.  
  5651.  
  5652. Here's just some stuff I wrote up when I still only had the
  5653. shareware version - in the next version of this FAQ I'll expand
  5654. on this:
  5655.  
  5656. state <name>   Defines a subroutine.
  5657.  
  5658. ends           Called via state <name>.  See state rats for an
  5659.                example.
  5660.  
  5661. include <filename>
  5662.                Includes <filename> in the code.
  5663.  
  5664. /* <text> */   Comment block (can be several lines)
  5665.  
  5666. // <text>      Comment to end of line
  5667.  
  5668. spawn <object> Creates <object> on nearest floor. See also
  5669.                ifspawnedby.
  5670.  
  5671. ifrnd <x> <action>
  5672.                If x is smaller than Random(255) then <action>.
  5673.                See state rats for an example.
  5674.  
  5675. debris <a> <b> Creates an exploding debris shower.
  5676.                <a> is the debris graphic:
  5677.                Normally SCRAPn:
  5678.                SCRAP1 : Metal barrel pieces
  5679.                SCRAP2 : Edged metal barrel pieces
  5680.                SCRAP3 : White fluff
  5681.                SCRAP4 : Gray/brown boxes
  5682.                SCRAP5 : Gray/brown squashed boxes
  5683.                SCRAP6 : Pottery shards
  5684.                <b> is the amount*3 of debris to show.
  5685.                Typical values are 2,3,4,5 or 12.
  5686.  
  5687. guts <a> <b>   Similar to debris, but throws guts about, which
  5688.                cause a blood splat on the ground.
  5689.                <a> is guts graphics: JIBS1..JIBS6
  5690.  
  5691. hitradius <r> <1 2 3 4>
  5692.                Causes damage in radius <r> (always 1024).
  5693.                Damage is normally WEAKEST WEAK MEDIUMSTRENGTH
  5694.                TOUGH (see USER.CON).
  5695.  
  5696. addweapon <x> <y>
  5697.                Add weapon <x> with ammo <y> to players inventory.
  5698.  
  5699. addammo <x> <y>
  5700.                Add <y> amount of ammo for weapon <x> in
  5701.                inventory.
  5702.  
  5703. killit         Remove current actor.
  5704.  
  5705. sizeto <a> <b> Resizes an actor.
  5706.  
  5707. palfrom <a> <b>
  5708.                Changes actor palette.
  5709.  
  5710. sound <x>      Play sound <x> locally.
  5711.  
  5712. globalsound <x>
  5713.                Like sound, but heard in whole map.
  5714.  
  5715. ifhitweapon <action>
  5716.                Execute <action> if hit by weapon.
  5717.  
  5718. ifhitspace     TRUE if player is pressing the spacebar.
  5719.  
  5720. ifcansee       TRUE if player can see this object.
  5721.  
  5722. ifwasweapon <x> <action>
  5723.                Checks to see what weapon hit the actor:
  5724.                THROWFLAME       Flamethrower
  5725.                RADIUSEXPLOSION  Exploding device
  5726.                RPG              Rocket launcher
  5727.                FIREEXT          Fire extinguisher
  5728.                SHRINKSPARK      Shrinker beam
  5729.                SHOTSPARK1       Bullet
  5730.                COOLEXPLOSION1   ?
  5731.                KNEE             The Mighty Foot
  5732.                FIRELASER        Laser
  5733.  
  5734. ifspawnedby <x>
  5735.                TRUE if actor was spawned by object <x>.
  5736.  
  5737. ifsquished     TRUE if actor was squished.
  5738.  
  5739. ifpdistg <x>   TRUE if distance to player > x.
  5740.  
  5741. ifpdistl <x>   TRUE if distance to player < x.
  5742.  
  5743. addphealth <x> Add <x> to players health (can be < 0).
  5744.  
  5745. resetplayer    Player resets in DM mode.
  5746.  
  5747. Some fun objects to spawn:
  5748. (see DEFS.CON as well)
  5749.  
  5750. AMMO           Pistol ammo.
  5751.  
  5752. BURNING        Starts fire on nearest floor, burns out soon.
  5753.                Doesn't start if no player near.
  5754.  
  5755. COLA           Small first-aid box.
  5756.  
  5757. EXPLOSION2     Nuke explosion. Image only - no damage...
  5758.  
  5759. EXPLOSION2BOT  Top part of explosion. Image only
  5760.  
  5761. FIRE           Small flame, burns out soon.
  5762.  
  5763. FIRE2          Shorter fatter flame, permanent, can be stamped
  5764.                out.
  5765.  
  5766. OOZ            Slime stretching to the ceiling.
  5767.  
  5768. PIGCOP         Pig Cop (can be spawned!).
  5769.  
  5770. RAT            Squeak!
  5771.  
  5772. SHIELD         Armor
  5773.  
  5774. SHRINKEREXPLOSION
  5775.                Green oval shrinker impact - image only.
  5776. STEAM          Hissing steam, causes damage, horizontal.
  5777.  
  5778.  
  5779. 8.2  Notes
  5780.  
  5781.  
  5782. Just some random notes - I'll rewrite the whole of this chapter
  5783. anyway in the next FAQ.
  5784.  
  5785.     *  The language is C - so if you can program in C, you won't
  5786.        need this chapter at all as you can work nearly everything
  5787.        out yourself.
  5788.  
  5789.     *  The commands are case-sensitive.
  5790.  
  5791.  
  5792. 8.3  Cute tricks
  5793.  
  5794.  
  5795. Here are some nice tricks to do with your .CON files - if you
  5796. know of any other, let me know! ##
  5797.  
  5798. 8.3.1  Picking up weapons
  5799.  
  5800. Don't you hate it when you have the RPG selected, are running
  5801. towards somebody, run over the shotgun and automatically pick it
  5802. up, selecting it as your current weapon?
  5803.  
  5804. With this patch you'll have to press [SpaceBar] to pick up any
  5805. weapon.
  5806.  
  5807. It's easy, too: look in GAME.CON at line 874. See all the
  5808. requirements that have to be true before Duke will pick up the
  5809. shotgun? Well, just add the work 'ifhitspace' (must be in
  5810. lowercase) to the end of that line and you're done!
  5811.  
  5812. Of course, you'll have to do this with all other weapons as well,
  5813. but I'm sure you're able to handle that.
  5814.  
  5815. The disadvantage? Unless you hack around a bit yourself, you'll
  5816. have to press spacebar to pick up an existing weapon as ammo as
  5817. well.
  5818.  
  5819. 8.3.2  Explosive ammunition
  5820.  
  5821. Lots of fun can be had with the SHOTSPARK1 actor (the spark
  5822. created by a bullet striking anything).
  5823.  
  5824. After line 1404 in GAME.CON, add the following lines:
  5825.  
  5826. ifactioncount 3
  5827. {
  5828.  hitradius 1024 WEAKEST WEAK MEDIUMSTRENGTH TOUGH
  5829.  spawn EXPLOSION2
  5830.  debris SCRAP2 2
  5831.  sound PIPEBOMB_EXPLODE
  5832. }
  5833.  
  5834. What does this do?
  5835.  
  5836. ifactioncount  is probably the animation frame number; we use it
  5837.                to make sure the code is only executed once per
  5838.                shotspark.
  5839.  
  5840. hitradius      causes damage in a 1024 unit radius, with the most
  5841.                damage in the middle of the circle.
  5842.  
  5843. spawn          spawns an object named EXPLOSION2 at the actors
  5844.                spot. In this case, the actor is SHOTSPARK1. This
  5845.                line makes sure the explosion animation is shown.
  5846.  
  5847. debris         throws some debris around, but not much (try
  5848.                "SCRAP1 10").
  5849.  
  5850. sound          plays the proper sound for the explosion.
  5851.  
  5852. { }            are the begin/end delimiters of the "if" command.
  5853.  
  5854. So your bullets now cause more pain and suffering and more fun
  5855. for you. However, even the lowly pigcops are suddenly really
  5856. dangerous.
  5857. Because, you see, the monster bullets generate SHOTSPARK1's as
  5858. well...
  5859.  
  5860. 8.3.3  Splat!
  5861.  
  5862. Lots more fun can be had with SHOTSPARK1.
  5863.  
  5864. Try adding this line just after line number 1404 in GAME.CON:
  5865.  
  5866. if actioncount 3 { spawn PIGCOP }
  5867.  
  5868. This will cause a pigcop to appear every time you fire a shot. As
  5869. soon as he shoots at you, eight more pigcops warp in. And then 72
  5870. more. And then...
  5871. Soon your system will hang itself...
  5872.  
  5873. Thus rather don't shoot. Take the jetpack, fly high up the street
  5874. in E1M1 and shoot and the wall. The pigcops appear and
  5875. immediately fall to a messy death many stories below >:)
  5876.  
  5877.  
  5878.  
  5879.  
  5880.  
  5881.  
  5882.                             Chapter 9
  5883.  
  5884.                       Utilities and add-ons
  5885.  
  5886.  
  5887. 9.1  Editing utilities
  5888.  
  5889.  
  5890. This section contains all programs which can be used in editing
  5891. somehow.
  5892.  
  5893. 9.1.1  BUILD
  5894.  
  5895. The BUILD program is currently the only Duke3D .MAP editor in
  5896. existence. Personally, I don't think that it will be replaced
  5897. anytime soon :)
  5898.  
  5899. Documentation to it are in the file BUILDHLP.EXE (press [F2]
  5900. while viewing and give a filename to create an ASCII file instead
  5901. of printing all that stuff) and in this FAQ.
  5902.  
  5903. I hear somebody is working on a new .MAP editor, but it's for
  5904. Windoze95 (ugh).
  5905.  
  5906. 9.1.2  EditArt
  5907.  
  5908. EditArt is also included on the Duke3D CD and allows you to
  5909. change the graphics included in Duke3D. If effect, it allows you
  5910. to extract/import graphics (use something else to actually edit
  5911. the graphics).
  5912.  
  5913. You'll first have to extract the .ART files using the command
  5914. KEXTRACT DUKE3D.GRP *.ART
  5915.  
  5916. Watch out, though: this will create the files TILES000.ART to
  5917. TILES014.ART, taking up nearly 15MB of space on your drive. If
  5918. you just want to change part of the graphics, try extracting a
  5919. single .ART file:
  5920. KEXTRACT DUKE3D.GRP TILES000.ART
  5921.  
  5922. Documentation to EditArt are in the Build Docs; here are just
  5923. some notes:
  5924.  
  5925. 9.1.2.1  Changing graphics
  5926.  
  5927. To extract a tile from a .ART file to a .PCX file, use [PgUp] and
  5928. [PgDn] to select the tile. You can also use [V] or [G] (Goto).
  5929.  
  5930. Press [F12] to create a CAPT0000.PCX file in your directory,
  5931. containing just the tile.
  5932. Edit this tile with your favourite graphic tool. While EditArt
  5933. can also edit graphics (as the name suggests), I prefere to use
  5934. something like NeoPaint or somesuch. The guys at 3DRealms used
  5935. Dpaint, so make sure you save as an 8-bit 256 color PCX,
  5936. preferably in 320x200 format.
  5937.  
  5938. Then go back into EditArt, select the tile again and press [U] to
  5939. import the .PCX file. After selecting the image, use the mouse to
  5940. drag the rectangle over the whole image (grabbing all of it) and
  5941. press [Enter].
  5942.  
  5943. Voila! Now all you have to do is keep the changed .ART file in
  5944. your Duke3D directory, and the game will load the new graphics
  5945. automatically on starting.
  5946.  
  5947. 9.1.2.2  Adding new graphics
  5948.  
  5949. Adding new graphics is fun and easy: simply modify the
  5950. TILES0014.ART file.
  5951. It contains only a single tile, called 'user art'. You can
  5952. replace this and all others in the .ART file using the above
  5953. method.
  5954.  
  5955. User art starts at tile number 3584.
  5956.  
  5957. Now you can access the graphics like any other tiles in BUILD.
  5958.  
  5959. 9.1.2.3  *Using DOOM I graphics*
  5960.  
  5961. Adding DOOM graphics is less easy - here's a step-by-step account
  5962. on how to do it (there's probably an easier way, but I haven't
  5963. found it yet):
  5964.  
  5965.     *  Extract TILES0014.ART from DUKE3D.GRP, as explained above.
  5966.  
  5967.     *  Back up your PALETTE.DAT and NAMES.H files, preferably by
  5968.        copying them in their own directory (I use the same one I
  5969.        backup my .CON files into).
  5970.  
  5971.     *  Convert the DOOM graphics (you'll need the original
  5972.        DOOM.WAD):
  5973.        WAD2ART D:\GAMES\DOOM\DOOM.WAD
  5974.        (You'll find WAD2ART in the \GOODIES\WAD2MAP directory on
  5975.        your Duke3D CD)
  5976.        This'll take a while, but you only need to do it once.
  5977.  
  5978.     *  You now have three new files in your directory: NAMES.H,
  5979.        PALETTE.DAT and TILES000.ART.
  5980.  
  5981.     *  Call up EditArt and select the graphics you want to
  5982.        convert (tiles start at number 462). Press [F12] to make a
  5983.        screendump of each.
  5984.  
  5985.     *  Rename TILES000.ART to something else in case you want to
  5986.        convert more DOOM art later. Best to place it in its own
  5987.        directory, together with the new NAMES.H and PALETTE.DAT.
  5988.  
  5989.     *  Restore your original NAMES.H and PALETTE.DAT files.
  5990.  
  5991.     *  Call up EditArt, select an empty tile and import the DOOM
  5992.        .PCX screens as explained in 'Adding New Graphics' above.
  5993.  
  5994.     *  The sprites are going to need a fair amount of retouching.
  5995.        For example, I replaced all octabrains with cacodemons
  5996.        only to find that they shade real poorly when moving into
  5997.        a lower sector :(
  5998.  
  5999. 9.1.2.4  General notes
  6000.  
  6001.     *  All files must be 320x200x256. So even if you have an
  6002.        64x64 tile, you'll have to stamp it into a 320x200 image
  6003.        to import it properly.
  6004.  
  6005.     *  If one graphics format doesn't work for you, try another
  6006.        one. Personally, I have the least problems using BMP.
  6007.  
  6008.     *  Tiles with a 2^n size (like 16, 32, 64, 128, 256) seem to
  6009.        make the least problems when importing.
  6010.  
  6011.     *  Note possible palette problems. While EditArt can convert
  6012.        a palette for you, it usually sucks, so do it yourself
  6013.        before loading the image.
  6014.  
  6015. 9.1.3  Wad2Map utilities
  6016.  
  6017. The Wad2Map programs (included on the Duke3D CD) allows you to
  6018. convert your DOOM .WAD pages to .MAP format, as well as
  6019. converting the graphics.
  6020. You will need the original DOOM.WAD file (called an IWAD file).
  6021.  
  6022. I very highly recommend copying the WAD2EXE directory into its
  6023. own subdirectory on your hard drive, as you'll be overwriting
  6024. some of your files (PALETTE.DAT and NAMES.H) from Duke3D
  6025. otherwise.
  6026. In any case, make a backup of your original PALETTE.DAT and
  6027. NAMES.H files.
  6028.  
  6029. Also, don't forget to remove line 733 from DUKE.TXT as the
  6030. conversion won't work well with it (the cautious amongst you can
  6031. just comment it out - put a semicolon (;) before it).
  6032.  
  6033. The utilities consist of two parts:
  6034.  
  6035. 9.1.3.1  WAD2ART
  6036.  
  6037. Converts the DOOM textures (I've only tried this with DOOM I so
  6038. far) to TILE*.ART format.
  6039.  
  6040. Usage:
  6041. WAD2ART D:\GAMES\DOOM\DOOM.WAD
  6042. (or wherever your DOOM.WAD file is).
  6043.  
  6044. This will create three files in your current directory:
  6045.  
  6046. TILES000.ART   A huge file containing all the DOOM graphics.
  6047.  
  6048. NAMES.H        The names of all the new tiles.
  6049.  
  6050. PALETTE.DAT    The original DOOM palette.
  6051.  
  6052. 9.1.3.2  WAD2MAP
  6053.  
  6054. Here's what we all want: a program to automatically convert the
  6055. DOOM maps to Duke3D maps!
  6056.  
  6057. Unfortunately, the system crashes when trying to convert a PWAD
  6058. (add-on WAD file) for DOOM. We get around this by using DEU (Doom
  6059. Editing Utility) or a similar tool to change the first level of
  6060. the original DOOM (the IWAD) to the PWAD. To find out how to do
  6061. this, read the DEU docs.
  6062.  
  6063. There are two ways to make a .MAP from a .WAD: with conversion
  6064. (trying to convert the DOOM walls and objects to Duke3D walls and
  6065. objects - the recommended method) or without conversion (for
  6066. those brave souls who want to try to run everything on DOOM
  6067. graphics and can face reprogramming every single sprite).
  6068.  
  6069. With conversion:
  6070. WAD2MAP D:\GAMES\DOOM\DOOM.WAD E1M1 DUKE.TXT
  6071.  
  6072. Without conversion:
  6073. WAD2MAP D:\GAMES\DOOM\DOOM.WAD E1M1
  6074.  
  6075. The DUKE.TXT file is an ASCII file listing the things to be
  6076. converted. You're very welcome to mess around in it and try to
  6077. improve it. If you create a perfect one, let me know!
  6078.  
  6079. Note that there's still plenty of work to be done on a fully
  6080. converted .WAD. You'll have to load it into BUILD and check every
  6081. single object, sector, texture (the HOM is back!) and wall.
  6082. I've had some walls crash on me after conversion, and I haven't
  6083. yet found out why - seems to be caused by sprites hanging about
  6084. in midair.
  6085.  
  6086. If you did the WAD->MAP without conversion, you'll have to use
  6087. DOOMs PALETTE.DAT (automagically created for you) _and_ you'll
  6088. have a lot of work in front of you: not only do none of the doors
  6089. etc work, but you'll have to shift the graphics for the sprites
  6090. as well.
  6091. But you'll be able to play DOOM maps with DOOM textures in Duke3D
  6092. (wheeee).
  6093. 9.2  Future add-ons
  6094.  
  6095.  
  6096. This section contains a list of vapour-ware :)
  6097. Both software users are wishing for and projects currently in the
  6098. making are listed here.
  6099.  
  6100. 9.2.1  Add-on software wish list
  6101.  
  6102. Attention programmers! Here is a wish list, created by the DN3D
  6103. players, of add-on software that should be made for DN3D. If you
  6104. would like to make an addition to this list, please send me E-
  6105. mail.
  6106. Additionally, if you are planning on creating one of these
  6107. utilities, tell me, and I'll move it to the "Add-on software in
  6108. the making" chapter.
  6109.  
  6110.     *  A DEU-like pre-editor for the rough work (to be fine-tuned
  6111.        later by BUILD.EXE). Ideally, this preeditor would be
  6112.        network-capable to allow several people to work on a level
  6113.        simultaneously.
  6114.  
  6115.     *  Automatic .CON file patcher to allow easy inclusion of
  6116.        .CON modifications.
  6117.  
  6118.     *  Lots of additional graphics, allowing the building of
  6119.        realistic 'normal' street and house maps.
  6120.  
  6121.     *  A program to organize and keep track of additional .MAP
  6122.        files. Ideally, this would allow us to enter a description
  6123.        to each map, find a map quickly and launch it straight
  6124.        into Duke3D.
  6125.  
  6126. 9.2.2  Add-on software in the making
  6127.  
  6128. This chapter tells about add-on software which is being currently
  6129. worked on.
  6130. If you are working on something that is not in here, please send
  6131. me E-mail so I can put it in.
  6132. In this section, you can also request help on creating some add-
  6133. on software.
  6134.  
  6135.  
  6136.  
  6137.  
  6138.  
  6139.  
  6140.                            Chapter 10
  6141.  
  6142.                          Troubleshooting
  6143.  
  6144.  
  6145. 10.1  Common questions
  6146.  
  6147.  
  6148. 10.1.1  *My 3D mode messes up*
  6149.  
  6150. A common lament.
  6151.  
  6152. You've forgotten that the contents of the entire \GOODIES\BUILD
  6153. directory have to be copied into your Duke3D directory. The 3D
  6154. mode requires the DUKE3D.GRP or the TILESxxx.ART files to work
  6155. properly.
  6156.  
  6157. So, assuming that your CD-ROM is drive E:
  6158.  
  6159. CD C:\GAMES\DUKE3D
  6160. COPY E:\GOODIES\BUILD\*.*
  6161. ATTRIB -R *.*
  6162.  
  6163. 10.1.2  How do I copy sectors?
  6164.  
  6165. Copying sectors is non-trivial. If done normally, all red lines
  6166. turn white and the copy is messed up.
  6167.  
  6168. To copy a sector, you'll have to create a holding shell for it
  6169. first. This shell must be the exact same size and shape as the
  6170. sector to copy and must consist of white lines (single-sided).
  6171.  
  6172. Now select the original sector using RAlt-Mouse. Press [Ins]
  6173. before moving the mouse. Move the sector onto the holding shell
  6174. and press [Ins].
  6175. Voila!
  6176.  
  6177. You might ask why bother if you have to build the holding shell
  6178. anyway? Well, the sector being copied can _contain_ plenty other
  6179. sectors. And it's copied perfectly, complete with textures,
  6180. shading, tags...
  6181.  
  6182. 10.1.3  I'm using Windoze/Win95, and...
  6183.  
  6184. Tough luck; I don't have any pity for people who can't exit
  6185. Windoze to play DOS games.
  6186.  
  6187. 10.1.4  I can't select sprites
  6188.  
  6189. If you can't seem to select a sprite, there are two possible
  6190. reasons:
  6191.  
  6192.     *  Two sprites are overlapping each other.
  6193.        In this case, the sprite _is_ blinking, but you aren't
  6194.        seeing it. Try to move the sprite anyway.
  6195.  
  6196.     *  You've switched the grid off.
  6197.        Sprites can only be selected if a grid is shown on the
  6198.        screen.
  6199.  
  6200. 10.1.5  How do I make a flat sprite double-sided?
  6201.  
  6202. Point at it in 3D mode and press [1].
  6203.  
  6204. 10.1.6  How do I view the original maps?
  6205.  
  6206. Extract them from the DUKE3D.GRP file:
  6207.  
  6208. KEXTRACT DUKE3D.GRP *.MAP
  6209.  
  6210. 10.1.7  How do I use new maps?
  6211.  
  6212. Start Duke3d with
  6213.  
  6214. DUKE3D -map mapname.map
  6215.  
  6216. Don't use DUKE3D /map mapname.map, it'll turn off your monsters.
  6217.  
  6218. 10.1.8  No monsters in new maps?
  6219.  
  6220. This can have two reasons:
  6221.     *  Most user maps are for DukeMatch only, and thus don't
  6222.        contain any monsters.
  6223.  
  6224.     *  You've started the map like this: DUKE3D /map mapname.map
  6225.        Try DUKE3D -map mapname.map
  6226.  
  6227. 10.1.9  *How do I use the new .VOC and .MIDs?*
  6228.  
  6229. If you get new .VOC and .MID files with a new level, simply copy
  6230. them into your Duke3D directory. Duke3D has a list of all sounds
  6231. (VOC) and music fies (MID) in the DEFS.CON - if it finds a file
  6232. with the same name in its main directory, it will use this one
  6233. instead.
  6234.  
  6235. Press [F5] and [Shift-F5] during the game to select different
  6236. songs.
  6237.  
  6238. 10.1.10  How do I show the wall data?
  6239.  
  6240. If lots of sprites are real close to a wall, it can be difficult
  6241. showing the wall data with [Alt]-[TAB].
  6242.  
  6243. Press [G] several times to turn off the grid - now you'll only be
  6244. able to select walls.
  6245.  
  6246. 10.1.11  I can't save the changes in BSetup
  6247.  
  6248. That's because you didn't remove the read-only attribute from
  6249. your files after copying them from the CD-ROM. Try this:
  6250.  
  6251. ATTRIB -R *.*
  6252.  
  6253. 10.1.12  The game ends with 'MAP E1L9.MAP not found!'
  6254.  
  6255. Yes, user maps loaded via the '-map' parameter are loaded as
  6256. E1L8. If you end the level, the program automatically looks for
  6257. the next level, E1L9 and dies if it doesn't find it.
  6258.  
  6259. Thus if you want to play several levels behind each other, call
  6260. the others E1L9.MAP (or E1L10/E1L11.MAP) and copy them into your
  6261. Duke3d directory.
  6262.  
  6263. 10.1.13  Can the subway speeds be changed?
  6264.  
  6265. No - Todd Replogle confirmed that the subways run at a fixed
  6266. speed.
  6267.  
  6268. 10.1.14  How do I place active tripmines?
  6269.  
  6270. Use tile number 2566 instead of 27 (ammo).
  6271.  
  6272. 10.1.15  *How can I make a mirror shootable?*
  6273.  
  6274. Create it as a one-sided wall instead of a masked wall (press [1]
  6275. instead of [M]). Don't forget to make it hittable [H] and
  6276. blocking [B].
  6277.  
  6278. 10.1.16  How do I shade a whole room at once?
  6279.  
  6280. First select the sectors to shade using RAlt-Mouse in 2D mode.
  6281. Then switch in 3D mode, point at any wall and shade away!
  6282. Afterwards, press RAlt in 2D mode again to deselect the sectors.
  6283. This trick works with visibility setting as well.
  6284.  
  6285. 10.1.17  *The parallaxed sky looks messed up!*
  6286.  
  6287. When you parallax a sky, it can look strange in BUILD - the stars
  6288. texture spilling over into the hollywood texture is an example.
  6289. Don't worry about it - it looks fine in Duke3D itself.
  6290.  
  6291. 10.1.18  *I've parallaxed the sky and now Duke dies!*
  6292.  
  6293. Parallaxing a BIGORBIT texture will kill Duke immediately upon
  6294. entering that sector, even in God mode.
  6295. However, it you set the sky palette to anything except 0 (3 works
  6296. fine), Duke won't be killed.
  6297.  
  6298. 10.1.19  How do I set the par time?
  6299.  
  6300. You can't set a par time in your .map file - the times are stored
  6301. in USER.CON, line 329 ff.
  6302.  
  6303. We'll have to wait until somebody writes a simple .CON patcher
  6304. (hint, hint).
  6305.  
  6306.  
  6307. 10.2  Bugs in the game
  6308.  
  6309.  
  6310. The game itself contains some interesting bugs, none of them
  6311. serious.
  6312.  
  6313. 10.2.1  Holodukes
  6314.  
  6315. 10.2.1.1  Bug
  6316.  
  6317. Not sure if this is a bug or not, but holodukes can be
  6318. distinguished from Real Men easily:
  6319.  
  6320.     *  They don't cast shadows.
  6321.  
  6322.     *  They don't glow in night vision.
  6323.  
  6324. 10.2.1.2  Workaround
  6325.  
  6326. None known.
  6327.  
  6328. 10.2.2  The shrinker
  6329.  
  6330. 10.2.2.1  Bug
  6331.  
  6332. If you shrink something (a monster or a dancer) and then freeze
  6333. it, it will stay small when it thaws.
  6334.  
  6335. 10.2.2.2  Workaround
  6336.  
  6337. Don't allow shrinkers and freezers in the same level if this bugs
  6338. you.
  6339.  
  6340. 10.2.3  Endless ammo
  6341.  
  6342. 10.2.3.1  Bug
  6343.  
  6344. If you freeze, for example, a pig cop, it might drop a weapon.
  6345. If you then allow it to thaw and freeze it again (easy, because
  6346. it's already severely weakened), it might drop another weapon.
  6347. Repeat until you're sick of it.
  6348.  
  6349. 10.2.3.2  Workaround
  6350.  
  6351. None known. If you want to keep ammo away from the players (for
  6352. shame!), don't add the freezer.
  6353.  
  6354. 10.2.4  Remote switch triggering
  6355.  
  6356. 10.2.4.1  Bug
  6357.  
  6358. If a switch is placed on a thin wall, you can trigger it from the
  6359. other side of the wall.
  6360.  
  6361. 10.2.4.2  Workaround
  6362.  
  6363. Place switches on thicker or even outside walls.
  6364.  
  6365. 10.2.5  Underwater toilets
  6366.  
  6367. 10.2.5.1  Bug
  6368.  
  6369. Somebody actually had the idea of placing a toilet underwater...
  6370. But when Duke uses it, he's unable to surface again.
  6371.  
  6372. 10.2.5.2  Workaround
  6373.  
  6374. None - drown the bastard ;)
  6375.  
  6376. 10.2.6  Explosions
  6377.  
  6378. 10.2.6.1  Bug
  6379.  
  6380. Explosions are often clipped incorrectly, and you can see a part
  6381. of a wall or sprite overlapping it.
  6382.  
  6383. 10.2.6.2  Workaround
  6384.  
  6385. None - this seems to be caused by the fact that the clipping for
  6386. a sprite is worked out from its midpoint - if the sprite is big
  6387. and unhappily placed, the clipping can fail.
  6388. Not terribly serious, though.
  6389.  
  6390. 10.2.7  Crash on shattering objects
  6391.  
  6392. 10.2.7.1  Bug
  6393.  
  6394. If you break too many objects at the same time (I shot an RPG
  6395. into a very well-stocked bar) the game will crash.
  6396.  
  6397. 10.2.7.2  Workaround
  6398.  
  6399. Don't place too many breakable objects near each other while
  6400. designing a map. ## Anybody found out the limit? 32? 64?
  6401.  
  6402. 10.2.8  Breaking unbreakable glass
  6403.  
  6404. 10.2.8.1  Bug
  6405.  
  6406. Glass marked as unbreakable can still be shattered by an
  6407. explosion (bomb) nearby.
  6408.  
  6409. 10.2.8.2  Workaround
  6410.  
  6411. None known. ##
  6412.  
  6413. 10.2.9  Trip mines
  6414.  
  6415. 10.2.9.1  Bug
  6416.  
  6417. Trip mines don't work well with mirrors or moving sectors: They
  6418. don't reflect in the mirror (looking completely wrong), and the
  6419. beam breaks up in a moving sector, creating a rather strange
  6420. effect.
  6421. All this grief is because the beam is actually a collection of
  6422. sprites.
  6423.  
  6424. 10.2.9.2  Workaround
  6425.  
  6426. None known. Just don't place trip mines in such a way that the
  6427. beam hits a mirror.
  6428.  
  6429. 10.2.10  Phantom bullet-holes
  6430.  
  6431. 10.2.10.1  Bug
  6432.  
  6433. If you design a one-sided glass wall and shoot at it from the
  6434. wrong side, bullet-holes will appear in the glass. If you then
  6435. shatter if from the right side, the bullet holes will stay in
  6436. mid-air.
  6437.  
  6438. 10.2.10.2  Workaround
  6439.  
  6440. Who cares?
  6441.  
  6442.  
  6443. 10.3  Bugs in BUILD
  6444.  
  6445.  
  6446. Like any complex CAD software, BUILD has some bugs as well. Some
  6447. of them we have to be aware of, most are just weird.
  6448.  
  6449. 10.3.1  *Using a Busmouse*
  6450.  
  6451. 10.3.1.1  *Bug*
  6452.  
  6453. Using a busmouse, BUILD can crash after displaying the disclaimer
  6454. page.
  6455.  
  6456. 10.3.1.2  *Workaround*
  6457.  
  6458. Try different mouse drivers, one of them works (anybody know
  6459. which one?) ##
  6460.  
  6461. 10.3.2  Selecting long lines
  6462.  
  6463. 10.3.2.1  Bug
  6464.  
  6465. If a line is too long, you can't select it anymore by moving the
  6466. cursor near it. Thus you also can't insert new points on it, for
  6467. example.
  6468.  
  6469. 10.3.2.2  Workaround
  6470.  
  6471. Keep the lines short by inserting points on too long lines:
  6472. shorten the line, insert a point, lengthen the line again, move
  6473. the newly inserted point into the middle of the line.
  6474.  
  6475. 10.3.3  Splitting a sector
  6476.  
  6477. 10.3.3.1  Bug
  6478.  
  6479. Splitting a sector containing another sector (like a door) is
  6480. often a bad idea. I've had lots of sectors disappear on me
  6481. already.
  6482.  
  6483. 10.3.3.2  Workaround
  6484.  
  6485. None known so far. Save your work first.
  6486.  
  6487. 10.3.4  Selecting sprites
  6488.  
  6489. 10.3.4.1  Bug
  6490.  
  6491. If several sprites are exactly over each other, they don't start
  6492. to flicker as they are selected.
  6493.  
  6494. 10.3.4.2  Workaround
  6495.  
  6496. Be aware of this, try to move the sprite anyway.
  6497.  
  6498. 10.3.5  Autoaligning textures
  6499.  
  6500. 10.3.5.1  Bug
  6501.  
  6502. When pressing [.] in 3D mode to autoalign textures, the system
  6503. hangs at times.
  6504.  
  6505. 10.3.5.2  Workaround
  6506.  
  6507. I don't know of any workaround to this.
  6508. Save before your press [.], and don't use it needlessly.
  6509.  
  6510. 10.3.6  Displaying memory info
  6511.  
  6512. 10.3.6.1  Bug
  6513.  
  6514. When pressing [']-[M] to display the memory info, the system will
  6515. be unstable, crashing when returning to 3D mode.
  6516.  
  6517. 10.3.6.2  Workaround
  6518.  
  6519. None known. Don't use this function, you don't need it anyway.
  6520.  
  6521. 10.3.7  Function keys in 3D mode
  6522.  
  6523. 10.3.7.1  Bug
  6524.  
  6525. In 3D mode, the function keys [F5], F[6], F[7] and F[8]
  6526. evidentially try to display the same help screens as they do in
  6527. 2D, messing up the graphics in the process.
  6528.  
  6529. 10.3.7.2  Workaround
  6530.  
  6531. Simply press [NumEnter] twice to jump to 2D mode and straight
  6532. back into 3D.
  6533.  
  6534. 10.3.8  Deleting sectors
  6535.  
  6536. 10.3.8.1  Bug
  6537.  
  6538. You can run into LOTS of trouble when deleting sectors.
  6539. 10.3.8.2  Workaround
  6540.  
  6541. Here are some general tips on deleting sectors:
  6542.  
  6543.     *  Remove all sprites (including sector tags, etc) from the
  6544.        sector before deleting it.
  6545.  
  6546.     *  Don't delete a sector by collapsing it (moving all points
  6547.        over each other).
  6548.  
  6549.     *  To delete a two-sided sector, join it with the sector
  6550.        around it.
  6551.  
  6552. 10.3.9  Copying sectors
  6553.  
  6554. 10.3.9.1  Bug
  6555.  
  6556. Copying sectors doesn't work properly - the copied sectors can't
  6557. be inserted into existing sectors (the lines turn one-sided).
  6558.  
  6559. 10.3.9.2  *Workaround*
  6560.  
  6561. The problem is because red lines are two-sided and only the one
  6562. side (the inner one) is copied, producing a white one-sided line.
  6563.  
  6564. Thus we have to give the system a line first: Build a 'shell'
  6565. sector made up of white lines where you want to copy your sector.
  6566. This sector must have the exact same size and shape as the sector
  6567. to be copied.
  6568.  
  6569. Now just copy your old sector over the shell sector and -voila!-
  6570. the outer lines are now red.
  6571.  
  6572. The advantage: the sector to be copied can contain plenty other
  6573. sectors. Thus it might be a good idea to build a library of
  6574. complex objects, encase them in simple rectanglular sectors and
  6575. just copy these.
  6576.  
  6577. 10.3.10  FPU reliance
  6578.  
  6579. 10.3.10.1  Bug
  6580.  
  6581. It would seem that BUILD runs somewhat unstable on a system
  6582. without an FPU (like an 486SX).
  6583. This is not a terribly serious bug IMO, as most people are using
  6584. 486DXs or Pentium CPUs these days.
  6585.  
  6586. 10.3.10.2  Workaround
  6587.  
  6588. Download a good emulator. ## Anybody know any exact ftp
  6589. locations?
  6590.  
  6591.  
  6592. 10.4  *BUILD wishlist*
  6593.  
  6594.  
  6595. Here's a wishlist for features in BUILD - most of them are pretty
  6596. simple and could be fixed with a simple patch (hint, hint).
  6597. If some hero out there decides to create a BUILD replacement,
  6598. please keep these in mind :)
  6599.  
  6600.     *  Fix the bugs mentioned above.
  6601.        Especially the one about copying sectors.
  6602.  
  6603.     *  Auto-repeat the '[' and ']' keys in 3D mode.
  6604.        It's real irritating to press these buttons 101 times to
  6605.        get the tilt just right.
  6606.  
  6607.     *  Reach normal player height in float mode at the touch of a
  6608.        button.
  6609.        I often find myself switching to Game Mode just to set the
  6610.        height above ground correctly.
  6611.  
  6612.     *  Center view button.
  6613.        If case you've looked up and down and now need to see the
  6614.        world as the player will.
  6615.  
  6616.     *  User-buildable help screens.
  6617.        These would allow you to create your own help screens.
  6618.  
  6619.     *  Allow us to change sprite numbers in 2D mode. It's
  6620.        terribly irritating to change sector effectors inside
  6621.        doors with the ceiling already lowered to the floor...
  6622.  
  6623.     *  Control the grid spacing via the number keys on the top of
  6624.        the keyboard.
  6625.  
  6626.     *  Have a Grid on/off toggle key.
  6627.        It's irritating switching through the grid resolutions all
  6628.        the time.
  6629.  
  6630.     *  Allow us to scale selected sectors.
  6631.  
  6632.     *  Allow circle drawing via midpoint and radius selection
  6633.        (creating a new sector).
  6634.  
  6635.     *  Allow us to tag several objects to change at the same
  6636.        time.
  6637.  
  6638.     *  Allow us to set most values directly.
  6639.        This especially applies to the Wall->Sector pointers, but
  6640.        is also good for flags, room heights, etc.
  6641.  
  6642.     *  Allow us to change both the floor/roof of a sector at once
  6643.        (enabling us to shift a door down without changing its
  6644.        height, for example).
  6645.  
  6646.     *  Toggle the data windows on and off, enabling more of the
  6647.        map to be displayed.
  6648.  
  6649.     *  Perhaps use BSetups Screen resolution for 2D mode as well?
  6650.        Using 1024x768 in editing would be great.
  6651.  
  6652.     *  3D option to copy a sprite with _all_ settings (tags,
  6653.        shade, scale, direction...everything).
  6654.  
  6655.     *  Allow us to use [F7] in Build like we can in the game
  6656.        itself, to make sure we can get the scaling right.
  6657.  
  6658.     *  Allow us to insert pre-built library objects (hinged doors
  6659.        spring to mind, or stairs) easily.
  6660.  
  6661.  
  6662.  
  6663.  
  6664.  
  6665.  
  6666.  
  6667.                            Chapter 11
  6668.  
  6669.                          Reference lists
  6670.  
  6671.  
  6672. This chapter contains useful reference material which you might
  6673. even want to print out and keep handy while designing levels.
  6674.  
  6675.  
  6676. 11.1  List of original levels
  6677.  
  6678.  
  6679. I very very often refer to the original levels ("Now just how did
  6680. they achieve this neat effect?") but don't know the names and
  6681. level numbers by heart.
  6682. More info (like par times, etc) can be found in USER.CON, line
  6683. 325ff).
  6684.  
  6685. 11.1.1  L.A. Meltdown
  6686.  
  6687. E1L1           Hollywood Holocaust
  6688.  
  6689. E1L2           Red Light District
  6690.  
  6691. E1L3           Death Row
  6692.  
  6693. E1L4           Toxic Dump
  6694.  
  6695. E1L5           The Abyss
  6696.  
  6697. E1L6           Launch Facility (secret)
  6698.  
  6699. E1L7           Faces Of Death (multiplayer)
  6700.  
  6701. E1L8           User Map (if your map isn't named ExLx.MAP, this
  6702.                is where it'll end up)
  6703.  
  6704. E1L9           Multiplayer 3 (like User Map)
  6705.  
  6706. E1L10          Multiplayer 4 (like User Map)
  6707.  
  6708. E1L11          Multiplayer 5 (like User Map)
  6709.  
  6710. 11.1.2  Lunar Apocalypse
  6711.  
  6712. E2L1           Spaceport
  6713.  
  6714. E2L2           Incubator
  6715.  
  6716. E2L3           Warp Factor
  6717.  
  6718. E2L4           Fusion Station
  6719.  
  6720. E2L5           Occupied Territory
  6721.  
  6722. E2L6           Tiberius Station
  6723.  
  6724. E2L7           Lunar Reactor
  6725. E2L8           Dark Side
  6726.  
  6727. E2L9           Overlord
  6728.  
  6729. E2L10          Spin Cycle (secret)
  6730.  
  6731. E2L11          Lunatic Fringe (secret)
  6732.  
  6733. 11.1.3  Shrapnel City
  6734.  
  6735. E3L1           Raw Meat
  6736.  
  6737. E3L2           Bank Roll
  6738.  
  6739. E3L3           Flood Zone
  6740.  
  6741. E3L4           L.A. Rumble
  6742.  
  6743. E3L5           Movie Set
  6744.  
  6745. E3L6           Rabid Transit
  6746.  
  6747. E3L7           Fahrenheit
  6748.  
  6749. E3L8           Hotel Hell
  6750.  
  6751. E3L9           Stadium
  6752.  
  6753. E3L10          Tier Drops (secret)
  6754.  
  6755. E3L11          Freeway (secret)
  6756.  
  6757.  
  6758. 11.2  List of tiles
  6759.  
  6760.  
  6761. This section contains a list of all tiles in the game, sometimes
  6762. with a short explanation.
  6763.  
  6764. A number like x,y or x..z denotes an animation sequence.
  6765.  
  6766. 11.2.1  Control tiles
  6767.  
  6768. 0              Ugly wall texture
  6769.                Default texture when creating new maps - is used
  6770.                as a marker to tell you to fix the textures.
  6771.  
  6772. 1              Sector Effector
  6773.                Is invisible at game time, and is used to
  6774.                manipulate sectors and cause all kinds of special
  6775.                effects. Is usually placed inside the sector to
  6776.                effect. See list further on.
  6777.  
  6778. 2              Activator
  6779.                Invisible at game time, use together with switches
  6780.                or touchplates to activate sector effectors in the
  6781.                same sector.
  6782.  
  6783. 3              Touchplate
  6784.                Invisible at game time, it triggers an activator
  6785.                or masterswitch when a player enters the sector
  6786.                the touchplate is in.
  6787.  
  6788. 4              ActivatorLocked
  6789.                Invisible at game time. It can be used to toggle a
  6790.                sectortag effect (meaning you can, for example,
  6791.                toggle the underwater flag of a sector by pressing
  6792.                a switch).
  6793.  
  6794. 5              MusicAndSFX
  6795.                Invisible at game time, it handles music and sound
  6796.                play.
  6797.  
  6798. 6              Locator
  6799.                Invisible at game time, it's used to define
  6800.                movement paths.
  6801.  
  6802. 7              Cycler
  6803.                Invisible at game time, it pulses the light level
  6804.                in a sector.
  6805.  
  6806. 8              MasterSwitch
  6807.                Invisible at game time. Triggered by a touchplate,
  6808.                it activates the sectortag function or a sector
  6809.                effector.
  6810.  
  6811. 9              Respawn
  6812.                Invisible at runtime, it teleports in sprites when
  6813.                triggered by a touchplate.
  6814.  
  6815. 10             GPSpeed
  6816.                Invisible at runtime, it sets movement speeds (for
  6817.                example, speed of closing doors).
  6818.  
  6819. 11.2.2  Weapon sprites
  6820.  
  6821. 21             The pistol.
  6822.  
  6823. 22             The chaingun.
  6824.  
  6825. 23             The RPG launcher.
  6826.  
  6827. 24             The freezer.
  6828.  
  6829. 25             The shrinker.
  6830.  
  6831. 26             The pipebomb.
  6832.  
  6833. 27             The tripbomb.
  6834.  
  6835. 28             The shotgun.
  6836.  
  6837. 29             The devastator.
  6838.  
  6839. 11.2.3  Ammo sprites
  6840.  
  6841. 37..39         Freezer ammo.
  6842.  
  6843. 40             Pistol ammo.
  6844.  
  6845. 41             Chaingun ammo.
  6846.  
  6847. 42             Devastator ammo.
  6848.  
  6849. 44             RPG ammo.
  6850.  
  6851. 46             Shrinker ammo.
  6852.  
  6853. 47             Box of pipebombs.
  6854.  
  6855. 49             Shotgun ammo.
  6856.  
  6857. 11.2.4  Item sprites
  6858.  
  6859. 51             Small medkit.
  6860.  
  6861. 52             Large medkit.
  6862.  
  6863. 53             Portable medkit.
  6864.  
  6865. 54             Armor.
  6866.  
  6867. 55             Steroids.
  6868.  
  6869. 56             Scuba gear.
  6870.  
  6871. 57             Jetpack.
  6872.  
  6873. 58             Spacesuit.
  6874.                This was evidentially planned as an item, but now
  6875.                we can just use it as decoration.
  6876.  
  6877. 59             Night vision goggles.
  6878.  
  6879. 60             Access card.
  6880.                Change the palette to set the cards color.
  6881.  
  6882. 61             Protective boots.
  6883.  
  6884. 100..115 Atomic health.
  6885.  
  6886. 11.2.5  Special sprites
  6887.  
  6888. 513            Bridge sprite
  6889.                Used to create a walkable bridge like in E1L1 near
  6890.                the exit.
  6891.  
  6892. 11.2.6  Parallax (sky) textures
  6893.  
  6894. Note that parallaxed space textures will make the relevant sector
  6895. lethal to the player.
  6896.  
  6897. 80,82,83       Moon surface.
  6898.                Can also be used as plain wall texture.
  6899.  
  6900. 81             Moon surface with earth.
  6901.                Can also be used as plain wall texture.
  6902.  
  6903. 84             Stars.
  6904.                Can also be used as plain wall texture.
  6905.  
  6906. 85..87         Earth from space.
  6907.                Can also be used as plain wall texture.
  6908.  
  6909. 88             Bright star with moon.
  6910.                Can also be used as plain wall texture.
  6911.  
  6912. 89             Dark city scape.
  6913.  
  6914. 90             Dark city scape, red windows.
  6915.  
  6916. 91             City scape, lots of lit windows.
  6917. 92             City scape with advertising (?) sign.
  6918.  
  6919. 93             Just like 90.
  6920.                (Anybody know why? ##)
  6921.  
  6922. 94             Solid red color.
  6923.  
  6924. 95             Stars, like those over a desert.
  6925.  
  6926. 96             City scape with many many lit windows.
  6927.                This texture seems messed up - some pink stripes
  6928.                are seen.
  6929.  
  6930. 11.2.7  *Lights*
  6931.  
  6932. 120            Vertical oval technical light, shootable.
  6933.  
  6934. 121            Broken version of 120.
  6935.  
  6936. 122            Horizontal oval technical light, shootable.
  6937.  
  6938. 123            Broken version of 122.
  6939.  
  6940. 124            Horizontal rectangular light (two neo tubes),
  6941.                shootable.
  6942.  
  6943. 125            Shot version of 124.
  6944.  
  6945. 126            Square technical light in four sectors.
  6946.  
  6947. 127            Wavy technical light.
  6948.  
  6949. 128            Rectangual technical light, consisting of 3 lamps.
  6950.  
  6951. 225            Long narrow blue light (up/down), used in windows
  6952.                of space station.
  6953.  
  6954. 229            Like 225, but left/right.
  6955.  
  6956. 256            Thin horizontal light on gray metal wall.
  6957.  
  6958. 260...262      Three small, blue, wildly flickering lights.
  6959.  
  6960. 276            Small blue rectangular light in dark background.
  6961.  
  6962. 310            Large circular blue light on dark background.
  6963.  
  6964. 326            Large circular yellow light, fits 325.
  6965.  
  6966. 11.2.8  Switches
  6967.  
  6968. 130            Locked access switch (requiring card).
  6969.  
  6970. 131            Open access switch.
  6971.  
  6972. 132,133        Horizontal slot switch.
  6973.  
  6974. 134,135        Vertical slot switch.
  6975.  
  6976. 136,137        Rotating switch.
  6977.  
  6978. 138,129        90 degree switch.
  6979.  
  6980. 140,141        Massive power switch.
  6981. 142..145       Endlevel switch with animation.
  6982.  
  6983. 146..149       Multiswitch.
  6984.  
  6985. 161,163        Red button switch.
  6986.  
  6987. 164,165        Flat square switch.
  6988.  
  6989. 166,167        Rotating lit switch.
  6990.  
  6991. 168,169        Circular lit switch.
  6992.  
  6993. 170,171        Access switch
  6994.  
  6995. 11.2.9  Doors
  6996.  
  6997. Doors consisting of two tiles are usually splitting doors.
  6998.  
  6999. 11.2.9.1  Technical doors
  7000.  
  7001. 150            Rising door with red panel.
  7002.  
  7003. 151            Door side wall, fits 150.
  7004.  
  7005. 152,153        Dark door, light row at top and bottom.
  7006.  
  7007. 154,155        Door with circular pattern.
  7008.  
  7009. 156            Modern dark blue door.
  7010.                Nice multipurpose tile.
  7011.  
  7012. 157            Sliding door with nuke pattern on it.
  7013.  
  7014. 158            Solid metal door with cross on it.
  7015.  
  7016. 159            Narrow steel door with blue grip.
  7017.  
  7018. 226            Locker door with space logo on it.
  7019.  
  7020. 227            Locker door like 226, but plain.
  7021.  
  7022. 242            Standard rising door with yellow/black tracks and
  7023.                cross-pattern.
  7024.  
  7025. 243            Garage door in poor condition, good wall texture
  7026.                as well.
  7027.  
  7028. 11.2.9.2  Normal
  7029.  
  7030. 245            Light hotel door with small label.
  7031.  
  7032. 11.2.10  *Floors*
  7033.  
  7034. Most of these tiles can be used for walls as well, of course.
  7035.  
  7036. 181            Smooth modern stone with circle pattern on it.
  7037.  
  7038. 182            Dark gray tile.
  7039.                Useful for kitchen walls.
  7040.  
  7041. 183            Dark gray tile with grid pattern.
  7042.  
  7043. 184            Gray modern lined, looks like columns behind bars.
  7044.  
  7045. 191            Scruffy rectangular tiles.
  7046.  
  7047. 200..202       Animated green slime.
  7048.  
  7049. 210            Many light ovals on dark background. Can probably
  7050.                be usefully resized.
  7051.  
  7052. 211            Patterned square stone tiles (gray).
  7053.  
  7054. 216            Square gray stone tile.
  7055.  
  7056. 220            Square gray stone tile with rounded edges.
  7057.  
  7058. 228            Square metal tiles with thin dark border.
  7059.  
  7060. 315            Dark stone with propeller-pattern grate in it.
  7061.                Fits 312.
  7062.  
  7063. 324            Dark dirty stone with lighter square pattern on
  7064.                it.
  7065.  
  7066. 328            Fancy light/dark patterned stone.
  7067.  
  7068. 336..338       Animated water.
  7069.  
  7070. 11.2.11  Walls
  7071.  
  7072. While these textures can be creatively used for anything, they
  7073. sure look like walls to me.
  7074.  
  7075. 11.2.11.1  *Machines*
  7076.  
  7077. 185            Four gray machines with an indirect light above
  7078.                them.
  7079.  
  7080. 186..190       Green pipes on tiles.
  7081.                Use 191 for same background without the pipes.
  7082.  
  7083. 192            Like the tiles from 186, but lit by a single lamp.
  7084.  
  7085. 222            Technical panel in green machine.
  7086.  
  7087. 247            Fuse panel (?) set in gray wall. Fits 251.
  7088.  
  7089. 293            Large monitor.
  7090.  
  7091. 294...296      Computer side with blinking lights.
  7092.  
  7093. 297            Computer front with CRT and disk drive.
  7094.  
  7095. 301            Small monitor.
  7096.  
  7097. 305            Computer front with red IR camera (?).
  7098.  
  7099. 309            Black/Yellow striped acces panel, 'DANGER'
  7100.                underneath.
  7101.  
  7102. 327            The movie projector.
  7103.  
  7104. 345            Metal cut-out with three pipes. Usable as door as
  7105.                well.
  7106.  
  7107. 346            Metal cut-out, fits 345.
  7108.  
  7109. 347            Metal cut-out with several pipes, fits 345.
  7110.  
  7111. 11.2.11.2  Space ship hull
  7112.  
  7113. 233            Light tech wall with green stripe.
  7114.  
  7115. 234            Manoeuvre thrusters.
  7116.  
  7117. 235            Solar panels.
  7118.  
  7119. 236            Triangular pattern.
  7120.  
  7121. 237            Thick stripe.
  7122.  
  7123. 248            More hull.
  7124.  
  7125. 11.2.11.3  *Organics*
  7126.  
  7127. 329            Empty white holder in green evil-looking wall.
  7128.  
  7129. 330            Filled version of 329 (corpse in space suit).
  7130.  
  7131. 333            Green goo growing on gray stone wall (fits 344).
  7132.  
  7133. 334            Edge of 333.
  7134.  
  7135. 11.2.11.4  *Air ducts*
  7136.  
  7137. 341            Hole in air duct wall.
  7138.  
  7139. 342            Air duct wall.
  7140.  
  7141. 343            Like 342, with lichens.
  7142.  
  7143. 11.2.11.5  Modern
  7144.  
  7145. 204            Dark rounded edge on light gray, use with 205.
  7146.  
  7147. 205            Two parallel dark stripes on light gray, use with
  7148.                204 to create a special wall/door/sign.
  7149.  
  7150. 207            Gray technical-looking wall with patterned stripe.
  7151.  
  7152. 209            Similar to 207, but without the stripe.
  7153.  
  7154. 212..215       Similar to 209.
  7155.  
  7156. 217            Gray technical wall with two baby-blue (!) stripes
  7157.                on it.
  7158.  
  7159. 223            Dark blue wall with metal rivets and light pipes
  7160.                lenghtwise.
  7161.  
  7162. 224            Barred panel (?) for wall 223.
  7163.  
  7164. 246            Light wall with embossed arrow pattern.
  7165.  
  7166. 249,250        Like 246, but overgrown with slime.
  7167.  
  7168. 251            Light wall with blue strip, lit from small lamps.
  7169.                Fits 247.
  7170.  
  7171. 252            Like 251, but without the lamps.
  7172.  
  7173. 11.2.11.6  *Metal*
  7174.  
  7175. 193            Black metal, lit from the upper right.
  7176.  
  7177. 194            Narrow metal strips, belonging to 193.
  7178.  
  7179. 244            Dark corrugated metal, lit from lamp above.
  7180.  
  7181. 255            Light gray wall edge, with a light strip.
  7182.  
  7183. 257            Gray wall with light strips, fits 255.
  7184.  
  7185. 286            Dark corrugated metal with x-shaped grid (like
  7186.                285).
  7187.  
  7188. 317            Dark corrugated metal held by horizontal bars.
  7189.  
  7190. 318            Like 317, but tilted 90 degrees.
  7191.  
  7192. 322            Horizontal slabs held by fat vertical bars.
  7193.  
  7194. 323            Outside of trash container.
  7195.  
  7196. 324            Inside of trash container.
  7197.  
  7198. 11.2.11.7  *Concrete*
  7199.  
  7200. 195            Heavy concrete, like inside of factory.
  7201.  
  7202. 196            Reinforced concrete, fits to 195.
  7203.  
  7204. 197            Reinforced concrete with lights, fits to 195.
  7205.  
  7206. 254            Long thin heavy-looking concrete with lichens.
  7207.  
  7208. 283            Heavily textured concrete with high blue stripe.
  7209.  
  7210. 284            Heavily textured concrete with low blue stripe.
  7211.  
  7212. 288            Concrete with vertical iron bars all the way down.
  7213.  
  7214. 289            Like 288, but with the bars in the lower half
  7215.                only.
  7216.  
  7217. 290            Joins 289 and 291.
  7218.  
  7219. 291            Like 288, but with blue strip lower.
  7220.  
  7221. 331            Unstructured red.
  7222.  
  7223. 335            Rough I-shaped light gray.
  7224.  
  7225. 340            Horizontal slabs held by vertical stripes.
  7226.  
  7227. 11.2.11.8  *Stone*
  7228.  
  7229. 231            Heavy tiled dark stone, with lichen on it.
  7230.  
  7231. 232            Similar to 232, but patterned.
  7232.  
  7233. 241            Smooth white stone (marble?).
  7234.  
  7235. 258            Dark heavy wall with blue light strip on the
  7236.                bottom.
  7237. 259            Plain gray wall in need of cleaning.
  7238.  
  7239. 278            Heavy gray stone wall, rectangularily textured.
  7240.  
  7241. 279            Small gray stone texture, fits 278.
  7242.  
  7243. 280            Small green stone texture, fits 278.
  7244.  
  7245. 281            Gray stone with A-frame patterns.
  7246.  
  7247. 282            Gray stone with 279 patterns near the top.
  7248.  
  7249. 287            Gray stone with column texture, suitable for low
  7250.                walls.
  7251.  
  7252. 292            Dark gray rock held by vertical dark stone
  7253.                stripes.
  7254.  
  7255. 311            Striped gray stone, heavy lichens on it.
  7256.  
  7257. 312            Like 311, with metal X-grate on it.
  7258.  
  7259. 313            Like 312, with light in middle of X.
  7260.  
  7261. 314            Like 312, with light at the top.
  7262.  
  7263. 319            Gray stone with tulip pattern.
  7264.  
  7265. 320            Dark wall with fancy pattern in light stone.
  7266.  
  7267. 321            Similar to 320, looks slightly damaged.
  7268.  
  7269. 332            Red tiles.
  7270.  
  7271. 344            Plain gray stone, fits 333.
  7272.  
  7273. 11.2.11.9  Rock
  7274.  
  7275. 238            Light rock with vertical dark fissures.
  7276.  
  7277. 239            Light rock with stones in it, fits 238.
  7278.  
  7279. 240            Irregular gray rock, could be used as blasted
  7280.                stone.
  7281.  
  7282. 11.2.11.10  *Decoration*
  7283.  
  7284. 277            Earth Defense Forces logo on gray stone wall.
  7285.  
  7286. 11.2.12  *Grids*
  7287.  
  7288. 285            X-shaped modern metal, like 286.
  7289.  
  7290. 11.2.13  Technical-looking items
  7291.  
  7292. 11,12          The floating demo recording camera.
  7293.  
  7294. 203            Computer module with chips on it.
  7295.  
  7296. 160            Steel pistons with green slime.
  7297.  
  7298. 11.2.14  *Monitors*
  7299.  
  7300. As far as I know, all monitors flicker somewhat and are
  7301. breakable.
  7302.  
  7303. 263            Cityscape with skyscrapers.
  7304.  
  7305. 264            White map, showing labelled building.
  7306.  
  7307. 265            Radio dish.
  7308.  
  7309. 266            The earth.
  7310.  
  7311. 267            The moon.
  7312.  
  7313. 268..270       White noise.
  7314.  
  7315. 271            Computer subway map.
  7316.  
  7317. 272            Computer floorplan showing 4 circles.
  7318.  
  7319. 273            Computer floorplan - zoomed version of 274.
  7320.  
  7321. 274            Computer floorplan.
  7322.  
  7323. 275            Computer map with target points.
  7324.  
  7325. 11.2.15  Often-used special textures
  7326.  
  7327. 70             Broken mirror.
  7328.                This texture is set automatically when a mirror is
  7329.                broken.
  7330.  
  7331. 161            Dark door tracks.
  7332.  
  7333. 198            Milk glass.
  7334.  
  7335. 230            Invisible forcefield.
  7336.                Doesn't hurt you if touched, can be dimmed to
  7337.                invisibility.
  7338.  
  7339. 852            Broken concrete
  7340.                Typically used inside blasted holes or damaged
  7341.                walls.
  7342.  
  7343. 11.2.16  Diverse
  7344.  
  7345. 20             A hollow frame, used in the status bar of the
  7346.                game.
  7347.  
  7348. 30             The health box from the status bar.
  7349.  
  7350. 31             The ammo box from the status bar.
  7351.  
  7352. 33             The inventory box from the status bar.
  7353.  
  7354. 218            Long thin gray metal plate with a rivet in the
  7355.                top.
  7356.  
  7357. 219            Tree trunk.
  7358.  
  7359. 221            Metal cover with space logo embossed on it.
  7360.  
  7361. 11.2.17  Unclassified (please assist!)
  7362.  
  7363. 62             Small red sphere.
  7364.  
  7365. 63             Small yellow sphere.
  7366.  
  7367. 64             Small green sphere.
  7368.  
  7369. 199            Solid light blue.
  7370.  
  7371. 206            Wall edge?
  7372.  
  7373. 208            Wall edge? (similar to 206).
  7374.  
  7375. 253            Long thin texture, door track?
  7376.  
  7377.  
  7378. 11.3  List of Palettes
  7379.  
  7380.  
  7381. Textures and sprites can be set to their own palette via
  7382. [Alt]-[P]. The palette info (together with distance shading and
  7383. translucence effects) is stored in PALETTE.DAT.
  7384.  
  7385. Here's a list of all useful palettes found so far:
  7386.  
  7387. 0              Default
  7388.                The standard palette. Used on a key, it defines a
  7389.                blue keycard.
  7390.  
  7391. 1              Blue
  7392.                A sprite with this palette will only appear in
  7393.                multi-player mode.
  7394.  
  7395. 2              Red
  7396.  
  7397. 3              Normal
  7398.                Use this on the floor or ceiling to create non-
  7399.                attacking vehicles under parallaxed skies.
  7400.  
  7401. 4              Special
  7402.                Makes sprites solid black - usful for turning
  7403.                forcefields invisible, for example.
  7404.  
  7405. 6              Night-vision
  7406.  
  7407. 7              Yellow
  7408.  
  7409. 8              Green
  7410.                Changes water to green slime.
  7411.  
  7412. 10             Red clothing
  7413.  
  7414. 11             Light green clothing
  7415.  
  7416. 12             Light gray clothing
  7417.  
  7418. 13             Dark grey clothing
  7419.  
  7420. 14             Dark green clothing.
  7421.                Set the nukebutton palette to 14 to have it show
  7422.                up in the proper 'secret level button' color.
  7423.  
  7424. 15             Brown clothing.
  7425. 16             Dark blue clothing.
  7426.  
  7427. 17             Blue skin, green clothes.
  7428.                Nice trooper palette - gives them a blue, alien
  7429.                skin.
  7430.  
  7431. 18             Light gray clothing.
  7432.  
  7433. 19             Red skin, grey clothes.
  7434.  
  7435. 20             Blue skin, grey clothes.
  7436.  
  7437. 21             Red card
  7438.                Defines a red keycard. Causes red clothes, too.
  7439.                A miniboss is created by setting a BOSS1 to this
  7440.                palette.
  7441.  
  7442. 22             LIght gray clothes.
  7443.  
  7444. 23             Yellow card
  7445.                Defines a yellow keycard.
  7446.  
  7447. 24             Nice trooper palette - gives them a red and blue
  7448.                uniform.
  7449.  
  7450. 25             Turns accessories red (like money from a
  7451.                stripper).
  7452.  
  7453. 26+            Seems to cause trouble, sometimes the sprite can't
  7454.                be changed back.
  7455.  
  7456.  
  7457. 11.4  List of sounds
  7458.  
  7459.  
  7460. Except for some typos and formatting, I took this section
  7461. straight from Shane King aka Scatt Man (scattman@bssc.edu.au).
  7462. Thanks loads!
  7463.  
  7464. 11.4.1  Format of this list
  7465.  
  7466. Sound Number   Used in build.
  7467.  
  7468. Sound Name     This is the name that Duke Nukem uses internally
  7469.                to reference the sound.
  7470.  
  7471. .VOC file name The .voc files are stored in the duke3d.grp file.
  7472.  
  7473. Min/Max frequency adjustment
  7474.                A random value between these two limits is chosen
  7475.                each time the sound is played.
  7476.  
  7477. Priority       If there are too many sounds to be played at once
  7478.                the higher (I think) priority sounds get played.
  7479.  
  7480. Attributes
  7481.  
  7482.                    *  Bit 0 (%) Repeat
  7483.                       This sound will be played over and over.
  7484.  
  7485.                    *  Bit 1 ($) Ambient Sound
  7486.                       This sound can be used as an ambient sound.
  7487.  
  7488.                    *  Bit 2 (#) Duke Talk
  7489.                       This sound will follow the player.
  7490.  
  7491.                    *  Bit 3 (@) Adult Mode
  7492.                       This sound will only be played if adult
  7493.                       mode is on.
  7494.  
  7495.                    *  Bit 4 (!) Random Ambient Sound
  7496.                       This sound can be used as a random ambient
  7497.                       sound.
  7498.  
  7499. Volume adjustment
  7500.                Used to make the sound louder or softer.
  7501.  
  7502. Sample rate (Khz)
  7503.                Multi means the .voc file has multiple blocks.
  7504.  
  7505. Description of sound
  7506.  
  7507. A + in any section denotes that the section is not defined, hence
  7508. following sections are also not defined
  7509.  
  7510. 11.4.2  The sounds themselves
  7511.  
  7512.   + SLIM_PAIN           slimpn        0    0   3 -----    0       +
  7513.   0 KICK_HIT            kickhit       0    0   4 -----    0   5.988
  7514.     Duke's Mighty foot hits
  7515.   1 PISTOL_RICOCHET     ricochet      0    0   0 ----- 4096   5.988
  7516.     Pistol ricochet of solid object
  7517.   2 PISTOL_BODYHIT      bulithit      0    0   0 -----    0   5.988
  7518.     A bullet hits somebody
  7519.   3 PISTOL_FIRE         pistol      -64    0 254 -----    0   5.988
  7520.     Pistol firing
  7521.   4 EJECT_CLIP          clipout       0    0   3 -----    0   5.988
  7522.     Duke ejects a used clip
  7523.   5 INSERT_CLIP         clipin      512  512   3 -----    0   5.988
  7524.     Duke inserts a new clip
  7525.   6 CHAINGUN_FIRE       chaingun   -204 -204 254 -----  512  10.989
  7526.     Chaingun firing
  7527.   7 RPG_SHOOT           rpgfire     -32    0   4 -----    0   5.988
  7528.     RPG Firing
  7529.   8 POOLBALLHIT         poolbal1      0    0   0 -----    0       8
  7530.     A poolball is hit
  7531.   9 RPG_EXPLODE         bombexpl  -1024 1024 254 -----    0   multi
  7532.     A RPG rocket explodes
  7533.  10 CAT_FIRE            catfire     512  768   4 -----    0   5.988
  7534.     Freeze Ray Firing
  7535.  11 SHRINKER_FIRE       shrinker   -512    0   4 -----    0       8
  7536.     Shrinker Ray Firing
  7537.  12 ACTOR_SHRINKING     shrink        0    0   2 -----    0       8
  7538.     Somebody being shrunk
  7539.  13 PIPEBOMB_BOUNCE     pbombbnc      0    0   2 ----- 6144   5.988
  7540.     Tink of a pipe bomb bouncing
  7541.  14 PIPEBOMB_EXPLODE    bombexpl   -512    0 128 -----    0   multi
  7542.     A pipe bomb being detonated
  7543.  15 LASERTRIP_ONWALL    lsrbmbpt      0    0   3 -----    0   5.988
  7544.     A laser trip bomb being placed on a wall
  7545.  16 LASERTRIP_ARMING    lsrbmbwn      0    0   3 -----    0   5.988
  7546.     Beeping of a laser trip bomb about to explode
  7547.  17 LASERTRIP_EXPLODE   bombexpl   -512    0   4 -----    0   multi
  7548.     A laser trip bomb exploding
  7549.  18 VENT_BUST           ventbust    -32   32   2 -----    0   5.988
  7550.     Breaking a vent or fan
  7551.  19 GLASS_BREAKING      glass      -412    0   3 ----- 8192       8
  7552.     Glass window being smashed
  7553.  20 GLASS_HEAVYBREAK    glashevy   -412    0   3 ----- 8192  11.025
  7554.     Glass items being broken
  7555.  21 SHORT_CIRCUIT       shorted       0    0   0 ----- 6500       8
  7556.     Duke gets an electric shock
  7557.  22 ITEM_SPLASH         splash        0    0   2 -----    0   multi
  7558.     Item dropped into water
  7559.  23 DUKE_BREATHING      hlminhal      0    0 255 --#--    0       +
  7560.  24 DUKE_EXHALING       hlmexhal      0    0 255 --#--    0       +
  7561.  25 DUKE_GASP           gasp          0    0 255 --#--    0       8
  7562.     Duke catching breath after being under water
  7563.  26 SLIM_RECOG          slirec06      0    0   3 -----    0  11.025
  7564.     Green slime sights Duke
  7565.  27 ENDSEQVOL3SND1      KICKHEAD      0    0 254 -----    0  11.025
  7566.     Duke kicks bosses head at goal
  7567.  28 DUKE_URINATE        pissing       0    0   4 -----    0   5.988
  7568.     Duke going to the toilet
  7569.  29 ENDSEQVOL3SND2      GMEOVR05      0    0 254 -----    0       8
  7570.     Duke "Game over"
  7571.  30 ENDSEQVOL3SND3      CHEER         0    0 254 -----    0  11.025
  7572.     The crowd cheering Duke
  7573.  31 +
  7574.  32 DUKE_PASSWIND       +
  7575.  33 DUKE_CRACK          WAITIN03      0    0 255 --#--    0       8
  7576.     Duke "What are you waiting for, Christmas?"
  7577.  34 SLIM_ATTACK         slimat        0    0   3 -----    0  11.025
  7578.     Green Slime Attacking
  7579.  35 SOMETHINGHITFORCE   teleport      0    0   2 ----- 8192   5.988
  7580.     Something hitting a force field
  7581.  36 DUKE_DRINKING       drink18    -128  128   2 --#--    0  11.025
  7582.     Duke drinking water
  7583.  37 DUKE_KILLED1        damn03        0    0 255 -@#--    0       8
  7584.     Duke "Damn"
  7585.  38 DUKE_GRUNT          exert         0    0   2 --#--    0  11.025
  7586.     Duke - Uuugh
  7587.  39 DUKE_HARTBEAT       hartbeat      0    0   0 -----    0   5.988
  7588.     Duke's heart beating
  7589.  40 DUKE_ONWATER        wetfeet       0    0   4 -----    0  11.025
  7590.     Duke splashing through water
  7591.  41 DUKE_DEAD           DMDEATH     -64   64 255 --#--    0       8
  7592.     Duke's death scream
  7593.  42 DUKE_LAND           land02        0    0   2 -----    0       8
  7594.     Duke Landing on the ground (Not hurt)
  7595.  43 DUKE_WALKINDUCTS    ductwlk     -64  128   2 -----    0   multi
  7596.     Duke walking in air ducts
  7597.  44 DUKE_GLAD           +
  7598.  45 DUKE_YES            yes           0    0 255 --#--    0       +
  7599.  46 DUKE_HEHE           +
  7600.  47 DUKE_SHUCKS         +
  7601.  48 DUKE_UNDERWATER     scuba         0    0   2 -----    0   multi
  7602.     Duke underwater with scuba
  7603.  49 DUKE_JETPACK_ON     jetpakon      0    0   4 -----    0       8
  7604.     Duke turning jet pack on
  7605.  50 DUKE_JETPACK_IDLE   jetpaki       0    0   1 -----    0       8
  7606.     Duke with jet pack on
  7607.  51 DUKE_JETPACK_OFF    jetpakof      0    0   2 -----    0       8
  7608.     Duke turning jet pack off
  7609.  52 LIZTROOP_GROWL      +
  7610.  53 LIZTROOP_TALK1      +
  7611.  54 LIZTROOP_TALK2      +
  7612.  55 LIZTROOP_TALK3      +
  7613.  56 DUKETALKTOBOSS      duknuk14      0    0 255 -@#--    0       8
  7614.     Duke "I'm Duke Nukem and I'm coming to get the rest of you alien
  7615. bastards"
  7616.  57 LIZCAPT_GROWL       +
  7617.  58 LIZCAPT_TALK1       +
  7618.  59 LIZCAPT_TALK2       +
  7619.  60 LIZCAPT_TALK3       +
  7620.  61 LIZARD_BEG          chokn12       0    0   3 -----    0   multi
  7621.     Alien shaking head when not quite dead
  7622.  62 LIZARD_PAIN         +
  7623.  63 LIZARD_DEATH        +
  7624.  64 LIZARD_SPIT         lizspit       0    0   0 -----    0       8
  7625.     Lizard spitting at Duke
  7626.  65 DRONE1_HISSRATTLE   +
  7627.  66 DRONE1_HISSSCREECH  +
  7628.  67 DUKE_TIP2           shake2a       0    0 255 --#--    0       8
  7629.     Duke "Shake it baby"
  7630.  68 FLESH_BURNING       fire09     -256    0   0 ----- 6100   multi
  7631.     Fire crackling
  7632.  69 SQUISHED            squish        0    0   3 -----    0       8
  7633.     Someone is squished
  7634.  70 TELEPORTER          teleport      0    0   0 -----    0   5.988
  7635.     A teleporter is used
  7636.  71 ELEVATOR_ON         gbelev01      0    0   0 -----    0       8
  7637.     Elevator is used
  7638.  72 DUKE_KILLED3        thsuk13a      0    0 255 -@#--    0       8
  7639.     Duke "Uugh, this sucks"
  7640.  73 ELEVATOR_OFF        gbelev02      0    0   0 -----    0       8
  7641.     Elevator stopping
  7642.  74 DOOR_OPERATE1       slidoor    -256    0   0 -----    0  11.025
  7643.     Metalic Sliding Door
  7644.  75 SUBWAY              subway        0    0   0 -----    0   multi
  7645.     A subway train
  7646.  76 SWITCH_ON           switch        0    0   0 -----    0   multi
  7647.     Click of a switch being used
  7648.  77 FAN                 fan           0    0   0 -----    0       +
  7649.  78 DUKE_GETWEAPON3     groovy02      0    0 255 --#--    0       8
  7650.     Duke "Groovy"
  7651.  79 FLUSH_TOILET        flush         0    0   3 ---$-    0   multi
  7652.     Toilet being flushed
  7653.  80 HOVER_CRAFT         hover         0    0   0 -----    0       +
  7654.  81 EARTHQUAKE          quake         0    0   0 -----    0   multi
  7655.     Earthquake rumble
  7656.  82 INTRUDER_ALERT      alert         0    0   0 -----    0   5.988
  7657.     Warning alarm
  7658.  83 END_OF_LEVEL_WARN   monitor       0    0   0 -----    0       8
  7659.     End of level warning
  7660.  84 ENGINE_OPERATING    onboard       0    0   0 ---$-    0   multi
  7661.     Low pitched grind of engine operation
  7662.  85 REACTOR_ON          reactor       0    0   0 ---$-    0   multi
  7663.     High pitched hum of reactor
  7664.  86 COMPUTER_AMBIENCE   compamb       0    0   0 ---$-    0  11.025
  7665.     Computer operation sound
  7666.  87 GEARS_GRINDING      geargrnd      0    0   0 ---$-    0   5.988
  7667.     Turning gears grinding together
  7668.  88 BUBBLE_AMBIENCE     bubblamb   -256    0   0 ---$-    0   multi
  7669.     Water bubbling
  7670.  89 MACHINE_AMBIENCE    machamb       0    0   0 ---$-    0  11.025
  7671.     Thumping of machine operating
  7672.  90 SEWER_AMBIENCE      drip3         0    0   0 -----    0  11.025
  7673.     Drip into water
  7674.  91 WIND_AMBIENCE       wind54        0    0   0 ---$-    0   multi
  7675.     Gust of wind
  7676.  92 SOMETHING_DRIPPING  drip3         0    0   0 ----- 9000  11.025
  7677.     Loud drip
  7678.  93 STEAM_HISSING       steamhis      0    0   0 ----% 8192       8
  7679.     Steam hissing from pipe or pot
  7680.  94 THEATER_BREATH      +
  7681.  95 BAR_MUSIC           barmusic      0    0 254 ---$%    0  11.025
  7682.     Dance music in bar (as in bar in e1l2)
  7683.  96 BOS1_ROAM           bos1rm        0    0   3 -----    0  11.025
  7684.     Boss 1 screaming
  7685.  97 BOS1_RECOG          bos1rg        0    0   5 -----    0       8
  7686.     Boss 1 sees Duke
  7687.  98 BOS1_ATTACK1        chaingun      0    0   3 -----    0  10.989
  7688.     Boss 1 using chaingun
  7689.  99 BOS1_PAIN           bos1pn        0    0   3 -----    0       8
  7690.     Boss 1 in pain
  7691. 100 BOS1_DYING          bos1dy        0    0   3 -----    0       8
  7692.     Boss 1 biting the dust
  7693. 101 BOS2_ROAM           b2atk01       0    0   3 -----    0  11.025
  7694.     Boss 2 screaming
  7695. 102 BOS2_RECOG          b2rec03       0    0   3 -----    0  11.025
  7696.     Boss 2 sees Duke
  7697. 103 BOS2_ATTACK         b2atk02       0    0   3 -----    0  11.025
  7698.     High pitched scream as boss 2 attacks
  7699. 104 BOS2_PAIN           b2pain03      0    0   3 -----    0  11.025
  7700.     Boss 2 in pain
  7701. 105 BOS2_DYING          b2die03       0    0   3 -----    0  11.025
  7702.     Boss 2 dying
  7703. 106 GETATOMICHEALTH     teleport   2048 2048 255 -----    0   5.988
  7704.     Sound when Duke picks up a health atom
  7705. 107 DUKE_GETWEAPON2     getsom1a      0    0 255 --#--    0       8
  7706.     Duke "Come get some"
  7707. 108 BOS3_DYING          b3die03g      0    0   3 -----    0  11.025
  7708.     Boss 3 Dying
  7709. 109 SHOTGUN_FIRE        shotgun7      0  512 254 -----    0  11.025
  7710. 16bit
  7711.     Shotgun blast
  7712. 110 PRED_ROAM           roam06        0    0   3 -----    0   multi
  7713.     Trooper sees Duke
  7714. 111 PRED_RECOG          predrg        0    0   3 -----    0   multi
  7715.     Trooper sees Duke
  7716. 112 PRED_ATTACK         gblasr01    256  256   3 ----- 7680       8
  7717.     Trooper fires at Duke
  7718. 113 PRED_PAIN           predpn      200  500   3 -----    0       8
  7719.     Trooper screaming in pain
  7720. 114 PRED_DYING          preddy        0  400   3 -----    0   multi
  7721.     Trooper dying
  7722. 115 CAPT_ROAM           predrm        0  200   3 -----    0   multi
  7723.     Lizard Captian roaming
  7724. 116 CAPT_ATTACK         chaingun      0    0   3 ----- -200  10.989
  7725.     Lizard Captain attacking with chaingun
  7726. 117 CAPT_RECOG          predrg     -400    0   3 -----    0   multi
  7727.     Lizard Captain sees player
  7728. 118 CAPT_PAIN           predpn     -200  100   3 -----    0       8
  7729.     Lizard Captain in pain
  7730. 119 CAPT_DYING          preddy     -200  100   3 -----    0   multi
  7731.     Lizard Captain dies
  7732. 120 PIG_ROAM            roam29     -200  400   3 -----    0   multi
  7733.     Pig Cop roaming
  7734. 121 PIG_RECOG           pigrg      -200  400   3 -----    0       8
  7735.     Pig Cop sees Duke
  7736. 122 PIG_ATTACK          shotgun7   -256  256   4 -----    0  11.025
  7737. 16bit
  7738.     Pig Cop fires shotgun
  7739. 123 PIG_PAIN            pigpn       100  800   3 -----    0       8
  7740.     Pig Cop grunts in pain
  7741. 124 PIG_DYING           pigdy      -800  100   3 -----    0       8
  7742.     Pig Cop death squeal
  7743. 125 RECO_ROAM           jetpaki       0    0   3 -----    0       8
  7744.     Recon Car Moving
  7745. 126 RECO_RECOG          pigrg         0    0   3 -----    0       8
  7746.     Recon Car sees Duke
  7747. 127 RECO_ATTACK         gblasr01    256  256   3 ----- 7680       8
  7748.     Recon Car firing at Duke
  7749. 128 RECO_PAIN           pigpn         0    0   3 -----    0       8
  7750.     Recon car grunts in pain
  7751. 129 RECO_DYING          pigdy         0    0   3 -----    0       8
  7752.     Recon Car Dies
  7753. 130 DRON_ROAM           snakrm        0    0   3 -----    0   multi
  7754.     Drone roaming
  7755. 131 DRON_RECOG          snakrg        0    0   3 -----    0  11.025
  7756.     Drone sees Duke
  7757. 132 DRON_ATTACK1        snakatA       0    0   3 -----    0  11.025
  7758.     High pitches zzzzz when drone attacks Duke
  7759. 133 DRON_PAIN           snakpn        0    0   3 -----    0  11.025
  7760.     Drone in Pain
  7761. 134 DRON_DYING          snakdy        0    0   3 -----    0  11.025
  7762.     Growl when Drone dies
  7763. 135 COMM_ROAM           commrm        0    0   3 -----    0  11.025
  7764.     Fat commander roaming
  7765. 136 COMM_RECOG          commrg        0    0   3 -----    0  11.025
  7766.     Fat Commander sees Duke and says "Die Human"
  7767. 137 COMM_ATTACK         commat        0    0   3 -----    0  11.025
  7768.     Fat Commander attacking and says "Suck it down"
  7769. 138 COMM_PAIN           commpn        0    0   3 -----    0  11.025
  7770.     Fat Commander in pain
  7771. 139 COMM_DYING          commdy        0    0   3 -----    0  11.025
  7772.     Extended scream of commander dying
  7773. 140 OCTA_ROAM           octarm     -200    0   3 -----    0       8
  7774.     Octobrain roaming
  7775. 141 OCTA_RECOG          octarg        0    0   3 -----    0       8
  7776.     Octobrain sees Duke
  7777. 142 OCTA_ATTACK1        octaat1       0    0   3 -----    0       8
  7778.     Octobrain firing at Duke
  7779. 143 OCTA_PAIN           octapn     -400    0   3 -----    0       8
  7780.     Octobrain screaming in pain
  7781. 144 OCTA_DYING          octady     -400 -100   3 -----    0       8
  7782.     Octobrain dying
  7783. 145 TURR_ROAM           turrrm        0    0   3 -----    0       +
  7784. 146 TURR_RECOG          turrrg        0    0   3 -----    0       +
  7785. 147 TURR_ATTACK         turrat        0    0   3 -----    0       +
  7786. 148 DUMPSTER_MOVE       grind         0    0   0 -----    0  11.025
  7787.     Grinding wheels of dumpster
  7788. 149 SLIM_DYING          slidie03      0    0   3 -----    0  11.025
  7789.     Green Slime dying
  7790. 150 BOS3_ROAM           b3roam01      0    0   3 -----    0  11.025
  7791.     Boss 3 roaming
  7792. 151 BOS3_RECOG          b3pain04      0    0   3 -----    0  11.025
  7793.     Boss 3 sees Duke
  7794. 152 BOS3_ATTACK1        b3atk01       0    0   3 -----    0       +
  7795. 153 BOS3_PAIN           b3rec03g      0    0   3 -----    0  11.025
  7796.     Boss 3 in pain
  7797. 154 BOS1_ATTACK2        rpgfire       0    0   3 -----    0       +
  7798. 155 COMM_SPIN           commsp        0    0   3 -----    0  11.025
  7799.     Fat Commander spinning
  7800. 156 BOS1_WALK           thud          0    0   3 -----    0   multi
  7801.     Thump as Boss 1 walks
  7802. 157 DRON_ATTACK2        snakatB       0    0   3 -----    0  11.025
  7803.     Drone attacking
  7804. 158 THUD                thud          0    0   0 -----    0   multi
  7805.     THUD!
  7806. 159 OCTA_ATTACK2        octaat2       0  600   3 -----    0   multi
  7807.     Octobrain attacking with teeth
  7808. 160 WIERDSHOT_FLY       octaat1       0    0   3 -----    0       8
  7809.     Octobrain firing
  7810. 161 TURR_PAIN           turrpn        0    0   3 -----    0       +
  7811. 162 TURR_DYING          turrdy        0    0   3 -----    0       +
  7812. 163 SLIM_ROAM           sliroa02      0    0   3 -----    0  11.025
  7813.     Green Slime roaming
  7814. 164 LADY_SCREAM         FSCRM10    -256    0 254 -@---    0       8
  7815.     Woman screaming when hit
  7816. 165 DOOR_OPERATE2       opendoor   -256    0   0 -----    0  11.025
  7817.     Swinging door
  7818. 166 DOOR_OPERATE3       edoor10    -256    0   0 -----    0  11.025
  7819.     Sliding door
  7820. 167 DOOR_OPERATE4       edoor11    -256    0   0 -----    0  11.025
  7821.     Sliding door
  7822. 168 BORNTOBEWILDSND     2bwild        0    0 254 ---$-    0  11.025
  7823.     Born to be wild music
  7824. 169 SHOTGUN_COCK        shotgnck     96  192   3 -----    0  11.025
  7825.     Shot gun being cocked
  7826. 170 GENERIC_AMBIENCE1   grind         0    0   0 ----%    0  11.025
  7827.     Grinding Sound
  7828. 171 GENERIC_AMBIENCE2   enghum        0    0   0 ---$-    0   multi
  7829.     Engine humming
  7830. 172 GENERIC_AMBIENCE3   lava06        0    0   0 ---$-    0       8
  7831.     Lava
  7832. 173 GENERIC_AMBIENCE4   bubblamb   -256    0   0 ---$-    0   multi
  7833.     Water bubbling
  7834. 174 GENERIC_AMBIENCE5   phonbusy      0    0   0 -----    0  11.025
  7835.     Phone Engaged
  7836. 175 GENERIC_AMBIENCE6   roam22        0    0   0 ---$-    0   multi
  7837.     Octobrain like sound
  7838. 176 BOS3_ATTACK2        +
  7839. 177 GENERIC_AMBIENCE17  myself3a      0    0 255 --#--    0       8
  7840.     Duke "Hmmm, don't have time to play with myself"
  7841. 178 GENERIC_AMBIENCE18  monolith      0    0   0 ---$-    0  11.025
  7842.     Wierd alien ambience
  7843. 179 GENERIC_AMBIENCE19  hydro50       0    0   0 ---$-    0  11.025
  7844.     Water ambience
  7845. 180 GENERIC_AMBIENCE20  con03         0    0   0 --#--    0  11.025
  7846.     Duke "Hmmm, looks like I have the con"
  7847. 181 GENERIC_AMBIENCE21  !prison       0    0 255 --#--    0   multi
  7848.     "Ha Ha Ha, too late Nukem, we're in control now"
  7849. 182 GENERIC_AMBIENCE22  vpiss2        0    0 255 --#--    0       +
  7850. 183 SECRETLEVELSND      secret        0    0 255 -----    0  11.025
  7851.     Secret Level
  7852. 184 GENERIC_AMBIENCE8   amb81b        0    0   0 ---$-    0       8
  7853.     Far off alien ambience
  7854. 185 GENERIC_AMBIENCE9   roam98b       0    0   0 ---$-    0   multi
  7855.     Muffled voice
  7856. 186 GENERIC_AMBIENCE10  h2orush2      0    0   0 ---$%    0       8
  7857.     Water flowing
  7858. 187 GENERIC_AMBIENCE11  projrun       0    0   0 ---$%    0       8
  7859.     Movie Projector
  7860. 188 GENERIC_AMBIENCE12  blank         0    0   0 -----    0   5.988
  7861.     A blank .voc file
  7862. 189 GENERIC_AMBIENCE13  pay02         0    0 255 -@#--    0       8
  7863.     Duke "Damn, those alien bastards are going to pay for shooting up my
  7864. ride"
  7865. 190 GENERIC_AMBIENCE14  onlyon03      0    0 255 --#--    0       8
  7866.     Duke "What, there's only one of you?"
  7867. 191 +
  7868. 192 GENERIC_AMBIENCE15  rides09       0    0 255 --#--    0       8
  7869.     Duke "I think I'll climb aboard"
  7870. 193 GENERIC_AMBIENCE16  doomed16      0    0 255 --#--    0   multi
  7871.     Duke "That's one doomed space marine"
  7872. 194 FIRE_CRACKLE        fire09        0    0 254 ---$-    0   multi
  7873.     Fire crackling
  7874. 195 BONUS_SPEECH1       letsrk03      0    0 255 --#--    0       8
  7875.     Duke "Let's rock"
  7876. 196 BONUS_SPEECH2       ready2a       0    0 255 --#--    0       8
  7877.     Duke "Ready for action"
  7878. 197 BONUS_SPEECH3       ripem08       0    0 255 --#--    0       8
  7879.     Duke "Rip 'em a new one"
  7880. 198 PIG_CAPTURE_DUKE    !pig          0    0 255 -@---    0   multi
  7881.     "Got you now, you bastard, and we're gonna fry your arse"
  7882. 199 BONUS_SPEECH4       rockin02      0    0 255 --#--    0       8
  7883.     Duke "Rockin'"
  7884. 200 DUKE_LAND_HURT      pain39        0    0 255 --#--    0       8
  7885.     Duke landing from a height and hurting himself
  7886. 201 DUKE_HIT_STRIPPER1  damnit04      0    0 255 -@#--    0       8
  7887.     Duke "Damn it"
  7888. 202 DUKE_TIP1           dance01       0    0 255 --#--    0       8
  7889.     Duke "You wanna dance?"
  7890. 203 DUKE_KILLED2        damnit04      0    0 255 -@#--    0       8
  7891.     Duke "Damn it"
  7892. 204 PRED_ROAM2          roam58        0    0   3 -----    0   multi
  7893.     Trooper roaming
  7894. 205 PIG_ROAM2           roam67     -200  400   3 -----    0       8
  7895.     Pig Cop roaming
  7896. 206 DUKE_GETWEAPON1     cool01        0    0 255 --#--    0       8
  7897.     Duke "Cool"
  7898. 207 DUKE_SEARCH2        whrsit05      0    0 255 --#--    0       8
  7899.     Duke "Whare is it?"
  7900. 208 DUKE_CRACK2         COMEON02      0    0 255 --#--    0       8
  7901.     Duke "Come on"
  7902. 209 DUKE_SEARCH         pain87        0    0   2 --#--    0       8
  7903.     Umph, Duke pressing on walls
  7904. 210 DUKE_GET            getitm19    -64   64 255 -----    0       8
  7905.     Beep when Duke picks up an item
  7906. 211 DUKE_LONGTERM_PAIN  gasps07    -192    0 255 --#--    0       8
  7907.     Duke gasping
  7908. 212 MONITOR_ACTIVE      monitor       0    0   0 -----    0       8
  7909.     Monitor beeping when changing camera
  7910. 213 NITEVISION_ONOFF    goggle12      0    0   0 -----    0   multi
  7911.     Turn on or turn off night vision googles
  7912. 214 DUKE_HIT_STRIPPER2  damn03        0    0 255 -@#--    0       8
  7913.     Duke "Damn"
  7914. 215 DUKE_CRACK_FIRST    knuckle       0    0   3 -----    0   multi
  7915.     Duke cracking his knuckles
  7916. 216 DUKE_USEMEDKIT      ahh04         0    0 255 --#--    0       8
  7917.     Ahhh
  7918. 217 DUKE_TAKEPILLS      gulp01        0    0 255 --#--    0       8
  7919.     Gulp when Duke uses steroids
  7920. 218 DUKE_PISSRELIEF     ahmuch03      0    0 255 --#--    0       8
  7921.     Duke "Ahhh, much better"
  7922. 219 SELECT_WEAPON       WPNSEL21    128  128   3 -----    0       8
  7923.     Changing weapon sound
  7924. 220 WATER_GURGLE        h2ogrgl2      0    0   1 ---$- 9000   multi
  7925.     Water trickling
  7926. 221 DUKE_GETWEAPON4     wansom4a      0    0 255 --#--    0       8
  7927.     Duke "Who wants some?"
  7928. 222 JIBBED_ACTOR1       AMESS06       0    0 255 --#--    0       8
  7929.     Duke "What a mess"
  7930. 223 JIBBED_ACTOR2       BITCHN04      0    0 255 -@#--    0       8
  7931.     Duke "Bitchin'"
  7932. 224 JIBBED_ACTOR3       HOLYCW01      0    0 255 --#--    0       8
  7933.     Duke "Holy Cow"
  7934. 225 JIBBED_ACTOR4       HOLYSH02      0    0 255 -@#--    0       8
  7935.     Duke "Holy Shit"
  7936. 226 JIBBED_ACTOR5       IMGOOD12      0    0 255 -@#--    0       8
  7937.     Duke "Damn I'm good"
  7938. 227 JIBBED_ACTOR6       PIECE02       0    0 255 --#--    0       8
  7939.     Duke "Piece of cake"
  7940. 228 JIBBED_ACTOR7       GOTHRT01      0    0 255 --#--    0       8
  7941.     Duke "Ooow, that's gotta hurt"
  7942. 229 DUKE_GOTHEALTHATLOW needed03      0    0 255 --#--    0       8
  7943.     Duke "Oooh, I needed that"
  7944. 230 BOSSTALKTODUKE      !boss         0    0 255 -----    0   multi
  7945.     "Who the hell are you?"
  7946. 231 WAR_AMBIENCE1       WARAMB13   -512    0 255 !----    0   5.988
  7947.     Plane fly past
  7948. 232 WAR_AMBIENCE2       WARAMB21   -512    0 254 !----    0   5.988
  7949.     Plane Crash
  7950. 233 WAR_AMBIENCE3       WARAMB23   -512    0 254 !----    0   5.988
  7951.     Plane fly past
  7952. 234 WAR_AMBIENCE4       WARAMB29   -512    0 254 !----    0   5.988
  7953.     Plane fly and alien scream
  7954. 235 WAR_AMBIENCE5       FORCE01       0    0   0 --#--    0  11.025
  7955.     Duke "Now, this is a force to be reackoned with"
  7956. 236 WAR_AMBIENCE6       QUAKE06       0    0   0 --#--    0  11.025
  7957.     Duke "I ain't afraid of no Quake"
  7958. 237 WAR_AMBIENCE7       TERMIN01      0    0   0 --#--    0  11.025
  7959.     Duke "Hmhm, terminated"
  7960. 238 WAR_AMBIENCE8       BORN01        0    0 254 !--$-    0  11.025
  7961.     Duke "Born to be wild"
  7962. 239 WAR_AMBIENCE9       NOBODY01      0    0   0 --#--    0  11.025
  7963.     Duke "Nobody steals our chicks - and lives"
  7964. 240 WAR_AMBIENCE10      CHEW05        0    0   0 -@#--    0  11.025
  7965.     Duke "Its time to kick arse and chew bubble gum, and I'm all out of
  7966. gum"
  7967. 241 ALIEN_TALK1         MUSTDIE       0    0 255 -@#--    0  11.025
  7968.     "Duke Nukem must die"
  7969. 242 ALIEN_TALK2         DEFEATED      0    0 255 -@#--    0  11.025
  7970.     "Earth attack force defeated"
  7971. 243 EXITMENUSOUND       item15        0    0   0 -----    0       8
  7972.     Exit menus
  7973. 244 FLY_BY              flyby      -256  256   3 -----    0   multi
  7974.     Startup sound (at nuke symbol)
  7975. 245 DUKE_SCREAM         DSCREM04      0    0 255 -----    0       8
  7976.     Duke scream when he falls from a great height
  7977. 246 SHRINKER_HIT        thud          0    0   3 -----    0   multi
  7978.     Shrinker ray hit wall
  7979. 247 RATTY               mice3         0    0   0 -----    0  11.025
  7980.     Mice squeeking
  7981. 248 INTO_MENU           bulithit   1024 1024   0 -----    0   5.988
  7982.     Enter menus
  7983. 249 BONUSMUSIC          bonus         0    0 255 ----%    0  22.050
  7984.     Music at end of level screen
  7985. 250 DUKE_BOOBY          BOOBY04       0    0 255 --#--    0       8
  7986.     Duke "I should have known that those alien maggots booby trapped the
  7987. sub"
  7988. 251 DUKE_TALKTOBOSSFALL DIESOB03      0    0 255 -@#--    0   multi
  7989.     Duke "Die you son of a bitch"
  7990. 252 DUKE_LOOKINTOMIRROR lookin01      0    0 255 -@#--    0       8
  7991.     Duke "Damn, I'm lookin' good"
  7992. 253 PIG_ROAM3           pigrm      -200  400   3 -----    0       8
  7993.     Pig Cop roaming
  7994. 254 KILLME              killme     -128    0   0 -----    0  11.025
  7995.     Pod-female saying "Kill me"
  7996. 255 DRON_JETSND         ENGHUM     1300 1300   0 -----    0   multi
  7997.     Engine humming
  7998. 256 SPACE_DOOR1         hydro22       0    0   0 ----- 8192  11.025
  7999.     Space door/elevator open/up
  8000. 257 SPACE_DOOR2         hydro24       0    0   0 -----    0  11.025
  8001.     Space door/elevator close/down
  8002. 258 SPACE_DOOR3         hydro27       0    0   0 ----- 8192  11.025
  8003.     Space door/elevator open/up with stop
  8004. 259 SPACE_DOOR4         hydro34       0    0   0 -----    0  11.025
  8005.     Space door open/close
  8006. 260 SPACE_DOOR5         hydro40       0    0   0 -----    0  11.025
  8007.     Pressure release
  8008. 261 ALIEN_ELEVATOR1     hydro43       0    0   0 -----    0  11.025
  8009.     Noisy elevator
  8010. 262 VAULT_DOOR          vault04       0    0   0 -----    0  11.025
  8011.     Slow moving door
  8012. 263 JIBBED_ACTOR13      LETGOD01      0    0 255 --#--    0  11.025
  8013.     Duke "Let God sort 'em out"
  8014. 264 DUKE_GETWEAPON6     HAIL01        0    0 255 --#--    0  11.025
  8015.     Duke "Hail to the King baby"
  8016. 265 JIBBED_ACTOR8       BLOWIT01      0    0 255 -@#--    0  11.025
  8017.     Duke "Blow it out your arse"
  8018. 266 JIBBED_ACTOR9       EATSHT01      0    0 255 -@#--    0  11.025
  8019.     Duke "Eat shit and die"
  8020. 267 JIBBED_ACTOR10      FACE01        0    0 255 -@#--    0  11.025
  8021.     Duke "Your face, your arse, what's the difference?"
  8022. 268 JIBBED_ACTOR11      INHELL01      0    0 255 -@#--    0  11.025
  8023.     Duke "See you in hell"
  8024. 269 JIBBED_ACTOR12      SUKIT01       0    0 255 --#--    0  11.025
  8025.     Duke "Suck it down"
  8026. 270 DUKE_KILLED4        dscrem18      0    0 255 --#--    0       8
  8027.     Duke strained scream
  8028. 271 DUKE_KILLED5        pisses01      0    0 255 -@#--    0  11.025
  8029.     Duke "This really pisses me off"
  8030. 272 ALIEN_SWITCH1       aswtch23      0    0   0 -----    0  11.025
  8031.     Splat switch
  8032. 273 DUKE_STEPONFECES    happen01      0    0   0 -@#--    0  11.025
  8033.     Duke "Shit happens"
  8034. 274 DUKE_LONGTERM_PAIN2 dscrem15      0    0 255 --#--    0       8
  8035.     Medium length scream
  8036. 275 DUKE_LONGTERM_PAIN3 dscrem16      0    0 255 --#--    0  11.025
  8037.     Short scream
  8038. 276 DUKE_LONGTERM_PAIN4 dscrem17      0    0 255 --#--    0  11.025
  8039.     Even shorter scream
  8040. 277 COMPANB2            CTRLRM25      0    0   0 ---$-    0  11.025
  8041.     Oscillating alien sound
  8042. 278 KTIT                ktitx         0    0 254 ---$-    0       8
  8043.     Duke "This is KTIT, K tit. Bringing you the breast, er, the best
  8044.     tunes in town"
  8045. 279 HELICOP_IDLE        hlidle03      0    0 255 ---$%    0   5.988
  8046.     Helicopter blades spinning
  8047. 280 STEPNIT             LIZSHIT3      0    0 254 -@#--    0  11.025
  8048.     Splat as Duke steps in it
  8049. 281 SPACE_AMBIENCE1     monolith      0    0   0 !----    0  11.025
  8050.     Wierd alien ambience
  8051. 282 SPACE_AMBIENCE2     hydro50       0    0   0 !----    0  11.025
  8052.     Grinding moving sound
  8053. 283 SLIM_HATCH          slhtch01      0    0   3 -----    0  11.025
  8054.     Green slime hatching
  8055. 284 RIPHEADNECK         rip01         0    0 254 -@#--    0  11.025
  8056.     Duke "I'll rip your head off and shit down your neck"
  8057. 285 FOUNDJONES          jones04       0    0   0 --#--    0  11.025
  8058.     Duke "We meet again, Dr Jones"
  8059. 286 ALIEN_DOOR1         adoor1        0    0   0 -----    0  11.025
  8060.     Very noisy door
  8061. 287 ALIEN_DOOR2         adoor2        0    0   0 -----    0  11.025
  8062.     Splatty door
  8063. 288 ENDSEQVOL3SND4      GRABBAG       0    0 254 ----%    0  11.025
  8064.     Duke Nukem Title music
  8065. 289 ENDSEQVOL3SND5      name01        0    0 250 -----    0       8
  8066.     Duke "My name's Duke Nukem"
  8067. 290 ENDSEQVOL3SND6      r&r01         0    0 251 -----    0       8
  8068.     Duke "After a few days of R & R, I'll be ready for more action"
  8069. 291 ENDSEQVOL3SND7      lani05        0    0 252 -----    0       8
  8070.     Lani "Ohh, come back to bed Duke"
  8071. 292 ENDSEQVOL3SND8      lani08        0    0 253 -----    0       8
  8072.     Lani "I'm ready for some action now"
  8073. 293 ENDSEQVOL3SND9      laniduk2      0    0 254 -----    0       8
  8074.     Lani & Duke make love
  8075. 294 WHIPYOURASS         WHIPYU01      0    0 255 --#--    0       8
  8076.     Duke "It's down to you and me, you one eyed freak"
  8077. 295 ENDSEQVOL2SND1      gunhit2       0    0 249 -----    0  22.050
  8078.     Gun hit
  8079. 296 ENDSEQVOL2SND2      headrip3      0    0 250 -----    0  11.025
  8080. 16bit
  8081.     Head ripped off
  8082. 297 ENDSEQVOL2SND3      buckle        0    0 251 -----    0  22.050
  8083.     Unbuckle jeans
  8084. 298 ENDSEQVOL2SND4      jetp2         0    0 252 -----    0  11.050
  8085.     Throw off jetpack
  8086. 299 ENDSEQVOL2SND5      zipper2       0    0 253 -----    0  11.050
  8087.     Undo zipper
  8088. 300 ENDSEQVOL2SND6      news          0    0 254 -----    0  11.050
  8089.     Open newspaper
  8090. 301 ENDSEQVOL2SND7      whistle       0    0 255 -----    0  11.050
  8091. 16bit
  8092.     Whistle Duke Nukem theme
  8093. 302 GENERIC_AMBIENCE23  2ride06       0    0 255 --#--    0       8
  8094.     Freeze ray hit somebody
  8095. 303 SOMETHINGFROZE      freeze        0    0   3 -----    0  22.050
  8096.     Duke "Damn, that's the second time those alien bastards shot up my
  8097. ride"
  8098. 304 DUKE_LONGTERM_PAIN5 pain54        0    0 255 --#--    0       8
  8099.     Uww
  8100. 305 DUKE_LONGTERM_PAIN6 pain75        0    0 255 --#--    0       8
  8101.     Ugh
  8102. 306 DUKE_LONGTERM_PAIN7 pain93        0    0 255 --#--    0       8
  8103.     Oww
  8104. 307 DUKE_LONGTERM_PAIN8 pain68        0    0 255 --#--    0       8
  8105.     Uuughh
  8106. 308 WIND_REPEAT         wind54        0    0   0 ---$%    0   multi
  8107.     Repeating gust of wind
  8108.  
  8109.  
  8110. 11.5  Dimensions
  8111.  
  8112.  
  8113. Here are some facts on the dimensions of Dukes world. Keep in
  8114. mind, though, that you'll want to scale down real-world places to
  8115. make them faster and better-looking in Duke.
  8116.  
  8117. 11.5.1  Units
  8118.  
  8119. All (x,y,z) coordinates are in units; irritatingly, it seems that
  8120. the (x,y) units are different to the (z) units.
  8121. At a rough estimate, I would say that 16 (z) units = 1 (x,y)
  8122. unit.
  8123.  
  8124. 2 (x,y) units = 1 pixel (normal texture)
  8125. 8 (x,y) units = 1 pixel (shrunk using [E])
  8126. 128 (z) units = 1 pixel (normal texture)
  8127.  
  8128. Floors are raised by 1024 units every time [PgUp] or [PgDn] is
  8129. pressed.
  8130.  
  8131. Viewing Duke via [F7] in a narrow corridor, I would estimate 1024
  8132. units to be about 2.6m in the real world (meaning 1m is roughly
  8133. 400 units).
  8134. If I remember the weirdo US units correctly, 1 foot would be
  8135. about 128 units.
  8136.  
  8137. 11.5.2  The map
  8138.  
  8139. Maximum grid width is 1024 units.
  8140.  
  8141. In the following paragraphs, height values are shown as z-
  8142. coordinate difference, with the number of [PgUp]-keypresses in
  8143. square brackets behind it:
  8144.  
  8145. 11.5.2.1  Walking about
  8146.  
  8147. 3072 [3]       Max. height difference for stairs.
  8148.  
  8149. 6144 [6]       Min. sector height to enter while ducked.
  8150.  
  8151. 10240 [10]     Min. sector height to enter (will duck
  8152.                automatically for 10).
  8153.  
  8154. 16384 [16]     Height of standard sector created.
  8155.  
  8156. 20480 [20]     Max. jumpable height.
  8157.  
  8158. 11.5.2.2  Weapons
  8159.  
  8160. Numbers in brackets mean that only some of the shots will make
  8161. it.
  8162.  
  8163. 3072 [4096] (3 [4])
  8164.                Max. height of floor to shoot over while ducked.
  8165.  
  8166. 4096 (4)       Min. height to place tripbomb on when ducked.
  8167.  
  8168. 5192 [4096] (5 [4])
  8169.                Max. height of ceiling to shoot under while
  8170.                ducked.
  8171.  
  8172. 6144 (6)       Max. height of ceiling to shoot RPG under while
  8173.                ducked.
  8174.  
  8175. 8192 [9216] (8 [9])
  8176.                Max. height of floor to shoot over while standing.
  8177.  
  8178. 10240 [9216] (10 [9])
  8179.                Max. height of ceiling to shoot under while
  8180.                standing.
  8181.  
  8182. 1024 (10)      Min. height to place tripbomb on when standing.
  8183.  
  8184. 11264 (11)     Max. height of ceiling to shoot RPG under while
  8185.                standing.
  8186.  
  8187.  
  8188.  
  8189.  
  8190.  
  8191.  
  8192.  
  8193.                            Chapter 12
  8194.  
  8195.                           Miscellaneous
  8196.  
  8197.  
  8198. 12.1  MAP design contest
  8199.  
  8200.  
  8201. Joseph G. Geisler III is holding a MAP design contest - he's
  8202. setting up an HTML page (adress so far unknown to me) with MAP
  8203. ratings (good idea, _I_ wanted to do that! :). So send your maps
  8204. to him at dubljay@baltimore.net, you might even win something
  8205. (keyrings, T-shirts).
  8206.  
  8207. His announcement was dated 6th Jun 1996, so don't be surprised if
  8208. he got swamped and stopped his offer :)
  8209.  
  8210.  
  8211. 12.2  PC Gaming's offer
  8212.  
  8213.  
  8214. PC Gaming is another page that makes your maps accessible to the
  8215. world. Submit the levels in .ZIP form and include a screenshot as
  8216. well.
  8217.  
  8218. http://www.compusmart.ab.ca/mknox/pcgaming.htm
  8219.  
  8220.  
  8221. 12.3  Conclusion
  8222.  
  8223.  
  8224. Phew! Well, that is all I have! I hope this FAQ proves to provide
  8225. a good resource for DN3D Editing information. If you have any
  8226. suggestions, questions, additions, or comments for the FAQ, send
  8227. me e-mail at "sz0759@rzmail.uni-erlangen.de".
  8228.  
  8229. Thanks for reading the FAQ!  -Klaus Breuer
  8230.  
  8231.    SUPPORT YOUR SHAREWARE COMPANIES!  REGISTER YOUR SHAREWARE!
  8232.  
  8233.  
  8234. 12.4  *Revision history*
  8235.  
  8236.  
  8237. v0.1           First release of the DN3D EDITING FAQ as an RFC.
  8238.                (16. May 1996)
  8239.  
  8240. v0.2           RFC II, added how-tos and changed the format a
  8241.                bit. (20. May 1996)
  8242.  
  8243. v0.3           RFC III, added more how-tos, extended reference
  8244.                list. Released to the mailing list only. (24. May
  8245.                1996)
  8246.  
  8247. v0.4           First non-RFC release, added lots of info,
  8248.                including a beginners tutorial and BUILD
  8249.                reference. Plenty of typos fixed. (25. May 1996)
  8250.  
  8251. v1.0           First 'real' release of the FAQ. Lots more info,
  8252.                including thoughts on level design and more how-
  8253.                tos. Plenty of errors removed, first version of
  8254.                Museum included.
  8255.  
  8256. v1.1           Even more info, improved museum, sound list added.
  8257.                Better ASCII logo and (again?) some bugs stomped.
  8258.                (27. June 1996)
  8259.  
  8260. v1.2           More how-tos, typos fixes. Museum not changed.
  8261.                (5. July 1996)
  8262.  
  8263. --- cut here for the museum ---
  8264.  
  8265. begin 644 museum.zip
  8266. M4$L#!!0````(`&1FY2!\>KC0A!<``(8\```*````3553155-+E!23HU;[Y/;
  8267. MMM'^SAG^#VB_W%U&IR9VG+3W):]=I_&U<9S&R60ZG4X'(E<B>B3``N#)\E__
  8268. MXMD%*$IWY[3I9&(1/Q:+W6=WGX75)_[WW61:4M'5U2<&_=R1>CL%FH:Z^N3`
  8269. M]+_[S]?/?F/4K][$2%9M#LMA?^OU%-0K3Q-Y=1D^?O[UBS_]G_\X:-.O)VNN
  8270. MR??:[LBN6[K"!L>Y7RCUV:V-WK53$XVSGQT_/5/JGV_</AU0)?E5[$Q0.QSY
  8271. M7R<2/EMCC9^GZ+S1_6(^?\,B/]&6/-EF.?%Y^OW;M*\^_?G+]#-K3!NKWNB^
  8272. M/]WK2][KM1NH5=ZY[>EN7_)N[T:R_/%\*K;\D5H*43]8%OO^:FSK]F'QZ04T
  8273. MD(38Z\/R9WQA07[LG"7URKG8G4KR`I)\]CYJXQL=Z/QCDN2S5]ZTNP=?DAR?
  8274. M_5D/Y'4X__0"DWJ=I-_TI/9)+'4Y!?*J<;B__FHQX2O<"*NQZ4P2\2?GAM/U
  8275. MOA)-TN"4['?^&0?XCK0_D^,K%OZM\=[Y\R\LO+/W='!>;:B/YP->9+$&$>O\
  8276. M<Y%ZY_4X]O1@_:_3]U]U3$=NO1L?"/9'W(AS9R;XU?I/N(K>M,;N5.L>BOW%
  8277. MY]"L;M7CI_H"BOK>[+JHPM[$YNRJTX!GC]Q,=%/3C;I=WHJ,AO[>CWIO61[8
  8278. M_XF.OQ;(>)T$#2=3O\:-O=^G69AXV:5_4WO%)SH=*&.SITP0*919#X^?!^,(
  8279. MW[O]_S`2XO^9;"1_K3^8H+R+.GYRQI=\X-Y$'C:/AYX>'0\K><^:OM9--/<Z
  8280. M4JN::=PX[=M'9\!P?BKK;NALT-=\NM?OWKV]CH>11&./K"-`]LXV=.UL?WAT
  8281. M!*]$6VKB4^=]QAKZSKO])Y3R3)1R?L@G1T,E;YPW'YV-NN\/*D"?CXS_FG=_
  8282. M%SLXR1/G?,[G?!^U5S][NGMJU^=\V+^XR5_O]>'I46P0DX_:V.5N?\S.O#6>
  8283. MKQWQ9_'Y3_ES&'5#@.LE/K%'XFO/;G?VE0<(_DY]P.(\[.RH:0CD_YEZ&IV/
  8284. MIT[&/LT;4+M[L#T/X`U>&J_NR3Y86QR&(TU:_U['$]TP(&#U_T[Z[N'AG@M,
  8285. M-OT4).#BGT?B,/[Y&4$W_5\G,?Q!A2X=16F+Z#?M.@G'"-`1J,I9QHK_.WIM
  8286. M`#!U]?;ECVIK>E(&.[;4JKV)'6/,+_;==FL:HWOU>DJ"_I#^-:AO6\-^])>7
  8287. M?U]#A!]<1/#743*`08\0R+JH/+$M#J1MA!`;4F.O#VF+:V7B15"C]K&N;F^5
  8288. MV[)4:<F5:FEP-B0!>1>`)3YU;G\=75C+H4O*A)VVVJNM=T,ZA36AX]5O5:?O
  8289. MR5Y$=:"HQBFJ?Z>%_HV5ZLK8K9,9><]T]"2=B6OUAIH[45`2M*&T/-:@M)0*
  8290. MG6ZIK:NTX'J=Q+A-H@6'<19GL].P(3^+NR4=)T]!I2$'-ZDFC4KRM?@XJ,'Y
  8291. M)`?I8/K#6B[R4\G4?-%RG5#R4J4^B9].[2:Y^3L:8SJ^;0]JWQ&$FSS?]%%M
  8292. M:<]_9*'(,!;,>VK84LS)FG)>?O`E0[MA6<\SNKIZ&<(TX+[282_NZ7@7;&QE
  8293. M.6./UPRM#.R^&[Z3F#8(.$<:Y$ES-(Z=F/%1&RH)2RO$AKO%@%.3D$UV>B!U
  8294. M^?J7OWW[_+6ZAI6__>7]M[^\7:?_O&)%16BG=^Z.M7/<B_)6>J>-7<GFT0QT
  8295. MONLB=4^;UM6K7VZ_?PV5P5F>OU[/UQ;I0U0(&8H^C#UP4.WA+Z2;KEB*,F&E
  8296. M&+));$Y&UE7G]OA]KX/:3*:'=</9+O(:<"&U="!V">?91G%5YPEV7?UU"E'M
  8297. MG(*/\05D?."EV)'+;02^)>@J$+M@DJ2N]L[?!?YU(5OK+&53/DO=\<^O;(BL
  8298. M"^0E+&.V$+&$O>G[)!`D,!;.:6,^4UU17@MR+FQ8O0S8''J#T7G<CQ^Q^GPP
  8299. M^#5N=E$O9!D?JR,*M`SXK8,GL[SIX-,&PISX3UKB8:TA\_$'3&WQZ496P&J-
  8300. ML\%`J>ESH'OR.AV9FNA\.L*^,TU75X`M!I$-06.FAT=$ET[6BBR#:=N>5JKQ
  8301. ME`&2][GNS1U4M47J<81E7!!F3;8E'V#4V5#"-"+J96U-22CM:<:X5OL[\B>;
  8302. M#%/3):$BLNOGK]5BHX=555W=>F\DW>H/JP4:;UV2)*V&A"&Z#+*[7H>@G+@M
  8303. MEJBK2PHC(?#T!\"1J,%9NEJ)-;IY+!3M1H8Y.=C=X4;=UM5_8.2C]FD)_2'C
  8304. M$(_/"O`<EVTL-Y"/<E8#RH6.^8<"+7(';/:LH;3\YJ""&<8DKM<F"$A076U[
  8305. MYWS9,D\;M:5>#9JA9!IG^V`)WN$@8YEQW!@@W$P;4I?:.D9LD5N"M>9=<7.\
  8306. MX=5Y$-V:>U*MV3(*P%\/`?HB`4&$[)M2\W\FY448DD1I%X^S33$Z6YPAR6-;
  8307. M[5MU@>D]W:?#R(B+LS4V9K=[L(1NXE2NE3X(\B5!2;<XM)[3H#!Z$VF%F1)H
  8308. M,^I`$;(IMI=UUV<;?^?A/*=B7P1J/$69>Y$_KN1&S;$^0C6N-CX7.4"FZ/)^
  8309. M7YQOL^DG*KMT23`V.;W0\ZA[.(S8;-1W=-SG9.4_JDMV4A3K_,O5*CN827\X
  8310. M*$"Q9F>=YQ_SN:54?YT&!D#WN!4QR+(RR\WS;O.BE]FF@,Z]WNVHA;[3V&N1
  8311. MJF#G&1MRCIK01>P\I>6UWU':ED>NU1L&-PZYBM-%&F[$3P0"EN9A+,,5A$0A
  8312. MN%8_.]4ZOBQ)T&35[`8`SI#S(2E]>K*[V%WO3:"U>F\X?!QG82>[ZQ%]$(3K
  8313. M*O]^`M'FPP(<_D+4JRT.E78)G7-1,@46_":39F=\4%%-B25I=9L69$3GV?2A
  8314. M,QN3MKLW.JNLR]-7@#L%+.2,4=S<9JD%R2[3,3\14YAX%'P2#]"^Z?+<BVQ?
  8315. M<J6/D55U=2M@%]R4MLYBK4Z36?AP3R,FY@BF-M/'CQ2428*SC7L&^E+"(LF6
  8316. M'<_YK[KZ`5D2Y^$"=Z%\O2F>%<@;RD>5(T(M=77T.,';CKC>6ZM;^%2K_KG^
  8317. M%PO1FYV<*2-/F%.,$&ED.PM9O!,&KJY>RFW#;4H`33-"`9<-CTS[(2W3Z=`3
  8318. M(4C*SZNZ0KI>\`3*0R*I-F1)\ZVV2F_<?5;.NZUJW.0#K;(F!MT2X@2.S:`H
  8319. MN1?6@;5W#DGCWJ:C,D`@<70!@+\G/3I[+)F\-KV45,&5:+6TGVVO8]DBJ^&4
  8320. M;N2JX8(]/"UO731-R?#W+@G$X];JG2UI!M=G`8F`L]H?5I*+2?R"L3'7DS93
  8321. M+R%2MX"'DKCD19&=U-4,#AWU7"=P_G!3PE+>A5>&!6VWYL/1UW"[=05'FR-H
  8322. M#C&2&LC\'<_NM-V%8QI9:L6Z:HA5R-IYE599RI=D=G=I/X3TG(M0,Z4M#BHT
  8323. M')%R^M`X;\FCA.3['=/>@@H;1,5.^Z&GP$E\@T(JG35'D&X*N/8+*9EP\_/=
  8324. MMGK0P.N\DSWQ)7:?EM*^?,9\M_\+7RR+\S<!;*$9EGX`>"!O"T(4N]Q@960D
  8325. MG)QM#H*9.3$"Z0/TPY\G5`%^O:ARTT)N'TJ(9"KQ1CX_05L?0Y#\#$*%3\&E
  8326. M5H%%M_D/-6+II;[A71]CNF6]]Q(.OV6H!*YH20OR/6J#U&X+(9.L"-W;F!&A
  8327. MKI"`9>M8JY_]0?G),@8<JP@!]0O>^2?<#FK>BR1O9.A^]X-<^T%\#A688833
  8328. M18V>\@&67#P09%LLD$7BS-X-2`3\H"W9B)RBT*$[S%NK/[MAQ,"EF?/V`JD4
  8329. M3Q#S.%V06'R0<PZ+P^<BECV:8X^G7B.;N5`;$_F(LT7#WX/:>Y?]JC`3C,G.
  8330. MYI.(F'+<DPY#L7]_IP:X#6XDUQ)@AE@#^QR`%\GGP/-7<E''3)GQ:8K7;GO-
  8331. MC*0*!]MZ-]#-/$?2*)3SC$@2UQ@BM&J(>4[5&J3)35K+<NDF)C#S!WO']1R*
  8332. MZ6LNH+GZG=J60!*41?-I'^N:S-$YUQ3SK20I2I"!P?"U%\,?TQ'Y\NMJ</<2
  8333. M"1P7=XWQS=1K=OWC/C.XE`5@'WOG8W?`AM;%C+U`_^AUZ-*VX20P:=LBM\+I
  8334. MT-%`!B.+K=5[.I:G_!$5WF(C%)QU5>J0V&DYL/-F9ZSNPS?L22UM]=27L*6"
  8335. M^4B,8BW@4XRYS(!@X8HC*FK9Z!PJE,R3/-9[.@45$P/UVTQM,HG!I8F*DT4]
  8336. ME^LPZTR@G%PA+36VI#R/MJ]DB_*#&MP],?[-FIAI2J%+V.-&=^1&3BY,78;H
  8337. MS8A(TNOF3M"#@*972C?>A9`C(8IX\:NZVM#."#(Y,7]>B;DO,8`]9]T(B+B6
  8338. M!7HR%W=>.,YG04+.)`8'Z58XUE*H"M=4#I'+#TYJV1\$$I`*Q,(Y,"^UUX?S
  8339. M(NQD/\TQ&V[++`'3_OU!319,M`G1-,P\(*O.>Z;IF\WL^*)TY(VM`W[=6=0*
  8340. M6\%:I'863GSLK&O/?,9\PP\;D%+1%^ZAA.6X%)R37;Z3:\Q2.[+DT3%8J_?L
  8341. M`UG[\*L6=3!S.<6^U9:(L3HMGZ/0/?59GD7'\XBK_YE&N8RC+3`])-GHB6@H
  8342. M=2C'!!XCPS,.7N:TG(G*`JCL%4SN;R>;%^!2P+/[A+T9P!,+`XN"QOCKS;1!
  8343. M"G(\N$C_2%_V6"7$I6ORS2]&KE2?&60^*.SDE6[K2H(&IPTE]']^WMME:,5]
  8344. MGP`I<ZV='D>R*&Z$O4;S1D"8ERVE*)"%<4M0OW'>HY1G(Y-\+YV6>>I%+C!K
  8345. MZ+JN6'TP644Z'%:YO'R\TUQ7G#M+Z2OTFLGRLUKZQ?"5BI.WA2"`[2"VUU6O
  8346. MA_%!=<Y&_186/Y(;>V("0P5`9UZSRR2]0R;G::"P4KIMA2_D,76U\VD0*K.\
  8347. M([?3<K3*RTANI8/:$U3VO9,<#7Q/7<&:\+O$G:.G_69/O:Y>`0(+8[?(#%=G
  8348. MF87G&@$S>T3RT1DK5$O.>'EMAG?&B.V6$[3,715NG`=VKB]U1FL"C`4AM2=M
  8349. MP8(B$2Y(`Q2:??"E!X7\FCO])[;YQ$N`DO'PGW..M7</>:>0>=)#1C/<+"+&
  8350. M,*;/X)4T2.,UK!`<DT;/NJS1'\2DL/.=Z<&4<"L"N?0-2OV>9N5=MH!<[Z9P
  8351. MQ=53HZ>`,*8XL4)3#*Z.NQ3CVVCOJ>>*7%0D0"*\REZ0'M2&Y!&MT+X2J\"X
  8352. M80N&5\`FE[BLK\VA:'8UX[>G=-H!U4HGX)!+XD+[<4!1,/*ZRE:^YXE'@F?O
  8353. MTGQU"4VIX0`/O<K'YR(R)T5D?(M&A720F-@^B,T@J49/7O6NN8,70!D6:E0[
  8354. MB@N$E1Y2+H[`72-L\LE.7WP(M[_B!JL$EK3NSKMI!$=V;!18.,P>83J[V]SJ
  8355. M`-;4U8+$`4*9%DD$^BR=1),M&T86IF4:.T<R\6P@;#CB*TO'_B4R?_(Q"D`K
  8356. M]TD=TI."VX&]7E)"S0VWPTU>[5//5<0AN#)E<5>9>)0EN0`-:1=8/`K7P1HW
  8357. MA?2G2R%!ZDJWZ'MKJ]Z/<^Y6,KH>).-(2?IUKOF1N\R%D&B&MS##U$=M219G
  8358. M$I0.2V:@-*/X;$VGD3@6;3WYP@;Q"%3H2L6GKR-G3&RE6@V$1R"F48*.J,>0
  8359. M3=S&15N`'328GFQ<H7;?7@MKIN2J>(M9MM]ZTU-7/]%`W``_ZB3S`_0!WH24
  8360. M0WW[Q=LOOLG4N6[N_B"Y*=@WR5IYGO#\@@@YYSMO9YP%8V$:0V>VXA$L8MJ^
  8361. M<#I@UR8$CN5+!68N$"S#$?16*`KF0W_Z6=*"&9$;R`GVG+#3AR.&P3Z$WQD]
  8362. M!>'I.,,.C'1S[+MEY-F'4FQ(5%\2@$=.>I66`!573$N=6Y88>PXZ;!GE;H0D
  8363. M3-M39A[G,__6TZJZNMU9Y_-;`:9]QYXT<^QN('3)N2G+E[CB\G/^+9,"*'DA
  8364. MV>D3#<E<\(1AWQUF<1YYMU57KR:Y/RM==3IU!!/F^B1-NA&%BV[X7.R$PCOF
  8365. M:J=5&N%XOCB.XCEOD+R"E2?V^_PJ"_?XDS&QBG-0`P1@H7OM#5LD=SO/9F>@
  8366. M>_C(K*Y^Y#/D8TK6Q()%)^44/UW!%#6-S!J'B`[?-!99'WF6EB5]`DXX=407
  8367. M[#ITNKCF2GFZ1R&%!*^N.@.^HN1ON5\#29@%OQPG/[J`-./FJM"3*]6`FY[-
  8368. MGXOPX'($?^)MG$C*M\V"@E(^-U'.,*;HKK$^H&V+O./9BZ_XX0:*%X.Z;NZ)
  8369. M,P=%`[>,=FF[S-\("W]L1^::`@"ZMYGK*$W+`"H"H7W1SQ&N;+%`/">-?^MI
  8370. MWV,&E"%Q]&XDCTQR3D:+,">22(PYW_33+P1E6Z33CQ@#-R<YIG`+/I=;,S(*
  8371. MHAQ/PBQV=K89V9!CXHD&"AJ^K?].IKF#WEHG+!'7'3OGVBSRPW>*=?7>@=-#
  8372. M)$2K#*^H%AZ6FVGR@HA%YLHJ^]43CQIQ<,TP@N=HA:DX^KX;1Q=,QHKN@?Y*
  8373. M:'U/5/+6BR`M<J9J"@,!&$;DDY1S$<IGQ2%.,5$F+LEVS%GPG*ZOU(:V@KU'
  8374. M\!-^G?%U._7Y-1GO4]Y620N,R1&K0SRHZ+/F!RGH\HK\,L]+?Z&N.#?MRH,H
  8375. M;M+S,S#=JV[R_I!ILZ=>@=;5*^KR<S=UJG0Q'_XO#FQNFT3M[Z23NE;Y0>.B
  8376. MV:,1'(ZK9_-?Y@QAB3XHN8TPZ'/A?LL/YECB-X7)D1[09MKA205XLK!2MQ=#
  8377. M>9H2#4H;<0`K[_+NB,:ZZB8K;RIPE'@EJ&"LS8::SH._?E$8<,X,B^>NT0ZM
  8378. MJR0Y'D:46I!GQ;UI6,GB%V%J&B0*_$0AJBF(*A@(ZHK137CE<@EGCVQSPX^#
  8379. MM_QXTA'(N=F)7D_Y<;27DH2@J_]`'\9BSXSUJ](AZL7;%\'UV'?*#9TG7OER
  8380. M5-,AS@J86ZG+@6OUJ^3@<6]"S/B+S#[FAN#<4](11<WOU&NNWO;.>W8RMM_K
  8381. M\CQL(R:I/8"CS8\.DIP_HEC+5![;^K$H6Q35=VDNIY6(,X,&E]AH:YW%A=QK
  8382. MTR/57O1:6^/8M4%*[VPH_;,-6(E"UPM5F79$NHM61&G1A21UN0P\4KDWP7#E
  8383. M(\&VU"CEU99H@1F+=%86XA>[=3Y.5@MT/!!Z;B0R)P3N?;M-IP53-;])??0-
  8384. M]H+3G.M&-\7YM<;R`N<W0_,"*Q2>GABK5*\W!!NZ_/UK9A#2H>E#)&_`!QF/
  8385. MBOGW0A3F7$-N,)WSQ/W7ZGVD<33G#T8E=@)3P6`P9<<O>5%G?^=:-;B63I_*
  8386. M&:OX$6=^`GQ\/1;N#KG$0H^)F[S?*&G!U!6_-)6,?34GOVJ'EQ=9D8^_5Y]M
  8387. M!5V;)35\5%?I-8'N.9269GED7%<(P7U>-9-+`/<@O64^[-P&U59=9M._FI_!
  8388. MV`<[WF1VTX.O:?&&6-O(Z!'`CR&MZLP@K1`KL6&U>-?`&79YE,M?<Z1XZD4^
  8389. MJR#D,^1466T$G$N,TM(,MB29EKP:[(4G+&\>\4I'H338+A_JC`O7SEF3U"UK
  8390. M]8_R_AB`?."B:5<@F>O]%4,\?=`(P.4,#__*`+B,C#2@9&"8<"'5`%W,UDCP
  8391. ME>,APH!D9;J!;S`>UV+L.>F+'>0*T=((&)3D#2C9PS<*F%57<K*5<(#;R?XN
  8392. MF]NC?WOA),LKW?JYZF%SE9=*"V8GGBQ2K/GAWWW`"]]"">K\.YS?:[[(\I)B
  8393. MZSALL9<\?/N=R61NNLQ5>H[L&3%YW<M8WJ;557[6=[%2F[B_4NX>?Y-Q#,<4
  8394. M6:=SG>"39(6@V3$&%:>PG`5B\]@U9YMQ;@2PBI^MOW[Q6ND>[],%))_XFQ[2
  8395. M;<D$WZS$(*G&4DGA*K_]HOR*=;8']!$>1.SR%#H76<WD,UG[WPE)*G<?\7BD
  8396. MW-2C?]&$KXOZ?J7^SC_#(Z8H=-](GJO$`;0G2[^@C)#7HZ\!*MCL.B"X:W1O
  8397. M/E*K2/O8R3:;8Z=[-J*C`&QR4J.<61;VGR7*29)D&&6YX].:O18N&;&U'/;1
  8398. MOS?S)KO&*C<VLL?TE,Y(BP8?LLZ6-"OC#H_XTZ^WG&%,?:M&EW,5/+`O=B/$
  8399. M*871278T:"FX_T;$=-<@"7#YBS$MA<:;D3-]?A8%:,\.TG%FSG70Z*DW::KV
  8400. M8F%_-MJMTJ+\-W@O&W2)PDJ]N'G^N1ZD37M55_\/4$L#!!0````(``L*VB`6
  8401. ML$T`^48``#H(`0`*````3553155-+DU!4(R=!WP511['I[PD2PCPZ*$:$)6F
  8402. M!D1%18F*V`!!J6)!L6`Y#Y4[]42)'0L*=KO=<GH6;"!B:(*""F(!:Q0+J"@H
  8403. M:A#DW6]V9G;_LV\V/N[S+KE\_WUF9V=GYNV5,,9VR.5RHSA^J<OE?N>2+<6O
  8404. M_1FKS>74A[.`C6'ZWRI&_^5R_5D9M/[*L2QC$G^Q<AOQ^9W('0X;K!SV*A@3
  8405. M(9]85X2?D[AK[RA6#'O;0CEM;V(=,W+4WI@\>Y6;??9.*%#N-)8IR.\_"LSC
  8406. M7P7*752@WTL*S.-J)>?8J]SLLS>CP/CN*-#O`WE^>WC]/E%@^SZCZM)3^]5\
  8407. M8MWO'KF95FXJ/HC0RFVDX4'N95:DY:Y3<K$=\W.]E9MC[=U>OUR-E7NX?KF%
  8408. M5N[9^N666+DY]<LMLW)+ZI=;;N7>KU_N?2M76[_<*BOW8_URGUJYNOKE:JU<
  8409. M1O\E3>YK*Y>M7VZME6M?O]R/!5X?F]2XMFD;Z7^5FWW]C_%D?_;;*^:(;Q+M
  8410. MSWY[I4KN*<AMRN7T]<:V,I8_GC96<A.MG(CZ>U*N68'V6A4HU[9`OQT+M-=9
  8411. MR3U.Y89NMG*,R.U8H%QW6^=-NO_1^*C<+@7*]2[0[QX%RNUMZU)GY=ZI\\GM
  8412. M5Z#<`3:/.CW^;33]+RDWL$"YPVP>=?7G,:1`N2-Y(\;.A!QRJ6)5;"3Z?2D[
  8413. M$3\9*]4R4Y3<\3;?"L8.P%__$TXU/NV9O#[&D^OH$/SE14.2<J<6:.\,):?F
  8414. M+\MS.3I_N4Q:.56O7.Z?2FX`?I]DQS7__>C<`N7.XT%!]ZTI!=J[3,DML>TA
  8415. MV'#)RA3'SSHJ=Y62>P%R9<IK*%=LY+92N6MM^[:/Y(1/[@8E]W`\/R!RSKA[
  8416. MDVV/V%Y@Y'ZG]FY3<N_'UQ&1<_*]2\FI>VJ+R%ZIS]Y]F,VRK70<=^X+D=R#
  8417. MRIZ22]P_+DOX?927>.\SER7R?5K9N]_*549R:Y#42F+O.24W)Y9[78/ODW(O
  8418. M.O9:I-J;Y<A5I,J]YLAE4N7F%9C'(B5WLY9K@?^<8.3&)^K\INKW!=A;8>U5
  8419. M*'LLLI=LMP]XD;;71__%\J'<RO!0[F,E=WLL-]O0I-P7UF\?UV]2;@UOKOU6
  8420. MN'Z3\?U>8!Y_.O6KC.22==E68/V*Q0@\O^E^KR*VX]J"#"/_<KFQ(J.?\\;I
  8421. MO]@\QT7CLPCECB]0;GR!<J<6*'>&*-+C6IGF=OZ0G$=,%)F"Y":)]/%@"Y$[
  8422. M3YAQ*!O;HS^MW(4).66GG-BU<E/$=@7UEWM%J;9'Y$K)3ROWN"C)DW/]M@GE
  8423. MGA'F^B7QE7K\SK1R?^/W9>6W`+FYHK@@N86BLJ#Q>9.26P6YGOHOXU/&ERXR
  8424. MJ^]'6?6_J]@@TZ\&1=>OENLCRYSXU'RHQ..W2IJZW&_GB5I.]8.24*9U*#>@
  8425. M'KD&1.X02>=A5=%SP'9A?%V[6KE!,DC4S_^\,#SAU\J-#^UMZ&7MC;9^)[ER
  8426. MZR-;6NZ8`N7&%2AW4H%R$PJ4.[-`N8DRV9_]]9M4H-SYUJ\:Q$F[]<!P4D3\
  8427. M3I9F@#7VADLMEYR_5$MHG:_'\0#_N8*'_67^%3SL5_.MW!7*7@%R5Q<H-ZU`
  8428. MN1D%RMU2H-P=!<K=4Z#<`P76[U%UG4]VQR'[LXBTQ_/*KY(K=^74]=N0R+U4
  8429. MH-QL)9>RKM*0S!/GRAT2ZUS^=8LURIZ2B>22_;1%*/>=&C<*D/M9QL]15"XY
  8430. MW_U5V7OJ[Z^/+07*R4QA>91D"K/71-E3<Z'V]=MK7J"]=LK>UY#[6K?;;*Z?
  8431. MDV=']X]6H=QVF4-U__L;>Q,RQ07Y/2M3^C=R#4*Y\PNT=[&26_7W<I<7*'>-
  8432. MJDL!<M>K/#9`;H.N7YV1JXODVH9RMQ=H[VXEAZ:S<LUE<GVM72AW?Z9,/P_^
  8433. MC;VG,MF"VFU.QESGJ?U*R]44*+<P$S__UB>WI$"Y907*+2]0[OT"Y585*/=I
  8434. M@7*U&3,.,5=N1D+NZP+EUA8H]V.!<AL*E-M4H%Q=@7);U75D^JD:>H8S?_V*
  8435. MBS*ZW]>Y\Z&D7&F!<HV57)V6Z\*Z8!ZIY'[X0,^S?_C`CJ?-E-RR7+3>!'M_
  8436. M&'L!M=>J0+FV1>;Y;6O.K(?YX^M8H+W.!=K;L4![W8N&L4+6[R\L"J)UJ?KD
  8437. M+E-^^^;"=5'UEXVF?=4\@LI=5839PH_VN4<P,C]PUN%N5/;*8.OR^NW=6E2B
  8438. MY?[&[STJCP+D'BDJ2XLO0^6>4_%YY&!O$Y5[L2C+6/;O_2Y2]CQR+T9USH9R
  8439. M;Z;()>V]7=0BFD_V8<ST^_SGRR^+XOF?FG>>([3<.<*5^Z9`N74%RJTO4&YC
  8440. M$1.0&J1&C3%B=$1J`RL1\CFJ#483?KG+MZG=K%&$3XYYE>89-I+P\V,^6?,B
  8441. M-H+PJ3&OT;R8#2>\.N;JWS8UBS_*;[^?Y@$[DO#I,;]<\P9LF%^_1O-2-M2?
  8442. MWS;-&[(C")_D\H6X.-@0?_T4OY2Q1FQPNOT!C#5F@_SY*X[&;L(.]]=/<=0P
  8443. MRPY+YVB#INS0]/CVQ@C.#B%\HLO1!YJS@_WQUVC>@@WTQU^M>4MVD#^^?IJW
  8444. M8@/\\?VI^V!K=J#?_QS-R]D!?GZQYFW8_G[[_31ORZK\[2OTIQWK[[<O]#70
  8445. MGNWG[U]"7P,=V+Z$W^SR-W`G8_W\]5.\6/U^-.'7D>L#GX5J0HQ#.SF/OKD&
  8446. M.M7'T?\Z.YS$KS[X7]L[G+1?Z%_-#B@GUY\9`W:HSS[JMV-]\>&S4YI^/\V[
  8447. MINE/UKQ;&I^C>?<TOE7S'FF\G_[9,ZT^U?KGSFGZ-?KG+JGY\_#GKJGU`T<-
  8448. M*NO31PUZI;8?#\>/WO5QC#^[U6=_@+I+UL/1_W:OCZ/_[E%??OCL66_]..N;
  8449. MIG^YYGNE]<]^FN^=ZE_S?5+]ZQC[I=5OLN;[IO8?S?>K[_H`WRZ-;\.GK5J#
  8450. M_`??B^F9)>Z&9/Q@X4/V_NS,=-Y*[8J?X>?*?BMU_N^LD%\?_KUQPS5%AJL3
  8451. M$RU4%S@^/+RS,>2MW.L'D\*#V&!S8DS]R\9<*8$/9./#%;@\?;6#`_L'LW^R
  8452. M$I^^XNW5[O]]N,=Z])7]+HP=RFX+1?/T57S@A[&KPIV(/'V5'^P?R"X,%Q[R
  8453. M]-5"[SJLT)OVT4MT(@B[K>+EF@]F)X7Y:;Y_7OY#4$&E\A]COX+&!WX$.RX4
  8454. M79^,;RT^L#\TX3]K_:_3GV%L9'@B2?/!;OYXJ#B2C2`\T3[@A^.9TZL?Z/R&
  8455. M8\^B*X0U[QADY[GU&0$/<?L/-ATLMC^2#7/Z1S81WR@VU-&/N,EO-&O#=R3^
  8456. MF?5?I_E1K"W?*>(5<7PK]%5U=*)^Y;9^[^$#,I9)WBG*?XC;/[#Y>PP3A#>/
  8457. M^1;=?L<R[M?_#I_O<[GCTOJ/:=_CT4-$I#\T[_H:AQX:]Y]6<?\QU^<8D,"G
  8458. MOTOX(W=BPG]@_>^J)<>SB>'UEZ=OKL^3<(53_Y66F_Y],AY"O/&;Z^.4M/ZK
  8459. M-BY1GU/9SQ@#+=\GUB_2]B>PGP@G]57QH7U.`(DY:1^5'WR=[O@_)@CF$8[/
  8460. M&6P2&7](_U>##L:',]FYSO@44([ZG,;.<?0#ZA^?L^JK?R7#Z'=_:,I;?_B?
  8461. MB!&4CA^5E,/_V3AE%8\_9/PP[7M.6O\W]3D7&18SS_5O\IN$"L6<C!^F/O]`
  8462. MA;U<77\(]M]I_E?H&,[#1*J!S_^O>GP^GTTAG-C_5??_"]C%?GUEGZNZI=3?
  8463. MC`\7X@J+QU\R?IOK:S+N(+3^6<H1W[_8E>']):_^)K^+T_J?B6\*,HSO/V3\
  8464. M,_E5HT+>^Y.IST6H,-6/N!I?#E:/J"GU5^/30.P$L>GACE;>]:7&MRYJBG<#
  8465. MX>3Z4OEW8.P*S!R\^FI\[<50G7KJ7\EP=Y[L'[],?:?B#D_'GZ@^YOY^";LU
  8466. MO!3R]$U^UR3]V_I_B\]!C%W+=N<[1_>/)D&YX=6U^/3'$QGKR7M$O%5T?ZG&
  8467. MKD;UGHQ-8SOQ[D0_NC^MQ*>WFE<EZC_/K<\-J'`\/QGB]B_4=SI:*.:)^P_R
  8468. MOQHM[-57XR_:_\;0?R;VW]3PUIK?Q/Z'-0A;7])_U$6!3<N;V=.$)^97X+>P
  8469. MI_SZZW3_NS7A/[#^3?^\#2U<&NDG[G_([W;,`.GUY\0'/H/=&PY%>?IF?+TS
  8470. MK?^K^R/J?Q=['<*?<7U/]N]ACAI/Y%VO\][%&_OKJ_H?_=F];_3?O<APR]
  8471. M_=?D=S^$:/]WXL/U<0?N,/']F]3'Y/=@6O_?&3_0/Q]BPW@?7__?"6,/^O?#
  8472. M[!#>V]?_<=-5U\<CK#^O]/5_M0&(Z^O1M/YOZO,8*JS:S_;?<AN_J>_C:*&8
  8473. M-X_OKZ9]'D`+>_5-_WZ2_8?W(_/#*/\2S?_+GF79J'[M@Z";X9MU_WR*O<2:
  8474. M^O1-_WX:5TC\_#$X]F^NC__A"J//)\[\&/P)7*%4/\N(_\.QR<!FLJ91?$$0
  8475. M?.G&]QPR;$+B9\S-[WEV`>_GTU<<]I]A'\NKH_S:!^4UKOT7()$E^BP1WXM.
  8476. M^U;$]5NG^4L.#UP.^S/1`G'\%>[XAO7M5]A<-<V+Y\_4/_BLY/BVSHUO-EM-
  8477. M\N-!-AOS"O!7V2K",S'?HOG+["-P%ND[\0UF[#4<0FE!])WXP.<FQS_NQO\Z
  8478. M/#0C^N7=W/SGL`^)?Y*_XD,8+K<W6,NT^@Q11V02]6GCQK<`'IHS$A_U#U[#
  8479. M/DCW?P1CB]A;6$9(R1_\C63^O=SX%L,#K9^3_Q"UA/1^NO^AC+W)W@DO=6_^
  8480. MX&\E\S_4C6\I/+0D_IW\P9>PE>G^AS'V-GL/0WE*_N#O)/,_P8WO77B@]7/R
  8481. M!U_&WDOW?R1C*]B'X5#JO3[!WTOF?X$;WTIX:)W6_N#+V8IT_T<Q]@'[&$-]
  8482. M2O[@'R;SG^'&]Q$\T/HY^8._SY:G^Q_.V&KV>7@VQ-O^X!\G\W_"C>\3>&B3
  8483. MEO]1ZNLD[Z;[Q^'KS]A7N`VGY`_^>3+_>6Y\7\`#K9^3/_BG[)UT_R,9^Y)]
  8484. MJVZ#_OS!OTKFO]J-;PT\M$O+7QTN9V^G^Q_%V#=L+>N8EC_XM\G\-[KQ?0</
  8485. MM'Y._N!?LV5^_\;^.DAT2(L?_'NV-#W^T8S]P-XB/!$_^-ID_1H8KOQ@#VN]
  8486. M<W]K',]OS/K+3UC!B-<_\]<O?F:G$MX\OO^;]8\-[!1'/YH_F/63C0G_T?RK
  8487. M(W[\G,O]PD[G?4E]HO4QM6BR`2?_V"E\SXBWB?6[XL=F]4W*<7P/6E\Z?ZS-
  8488. MY7YC2XL6@6\-><,`RP6:JW'^4WPS@KU%N'#Y)[G<'VQ)T4*L(&@>N/PCG*1A
  8489. M"XL61/J#7/Y<+K>9+2"\-.9[:/XGFT_X-3$_%3^^PHE&-L^OKSB>(;>R&L)'
  8490. MQKR?YG^QUPDG^??%CQ_P30YV8E@_FW]@.>;6JOUR[*2P_EM-_2.N^L^7ZANJ
  8491. M$\+VRZL?8E?MR[G;_E'[FO5'P8\AZ_>D_YCU2\G'$MX\GK^:]<\,/]K1SUIN
  8492. MUD^+$OZC_H&V"_=X><`[1_UGN_CZ4*=V4)\2?D21^I:.Y<$LP]7S,_I7X-CO
  8493. M'K!9;OX->!%9?VT<SU^-_^*$?KG5Q_RS"L^@#0U7^6VE\SLU/P4OXRW#_=E5
  8494. MX=\[QKQ.\T:\">\2<:)?I^V7\M98OUXM5K$_N*./WQ1OPMMC_=KRBJ!/0C_+
  8495. MR_CV*?:5_Z:\!8F/S)_5;VO5-XA;\!U\^JTU;T[RWY+@RG\+W@GK_ZO%1L2W
  8496. M!?%O2,3?DC<-\]^8M&_\-^/-_?4SZ_NMZZF_LE_.&R'_%:'_K8GZ*]Z&MT/]
  8497. M4NJS3GWC>52XOY'G7_T&WHZ/)IS4S^BWY^5HO_3V[<`;(_\54?MM2M2G+:_@
  8498. M77WZIK[;U5-_Y;^"'U5O_)UXAS!_7_V5_8Z\.=I_1=1^E897X_JMQO/_]L0_
  8499. MU:\!KP+OPKMA?4NW?_A\;W@5UK]J,(;MP'OQGK[\5NDQL#/O0MJ_29[]G5+\
  8500. MV_6SKORZ<'TQJ6_7W[KQ'EB?R_=OX]N1;\^[1>W3)-C)<HPM-5B_Z,%W0?R6
  8501. MMPK.V]W5[\F[(O]\^];_SOQ:$E^\/F/7#[OS/GSG>N+;E7='_*LC_Y\FXJOD
  8502. M??DNOOJ"8W.8]>([D/J2]2%3_UTX6M"G;]8_=TMK_V\0`W@?OA?\K\AO?Q,?
  8503. M5D_=^F?<_'OS:[SM9^WOF>*_&KP:O"_?T=M_;/Y[\5W=_I=QX]N#[X;ZKX[:
  8504. M_]O%QC[6IY3]?5+\5ZF]=_!^?'^L;\7]OUL3$S_F3\K^OOP@KJ8B=GT@F&CB
  8505. MJV!J\Y[MS?N$\:]/Q&_M]T_K_V;]K(H_3-872?\WZV_[\X.Q/D?6)SJY\>W'
  8506. M]^&[HOW6V_A+7'X@'PC]U8:W"O;N83@N%-4_!_!!?#=JW\:G!C7TKX/X[B0_
  8507. MTO],_@?P?GQ7C[ZU?S`_`/5;$?G??6\WOD-X%>J?KV_S/Y0_1.I#KC^S?CF0
  8508. M#^5]//I5N"C5^'-X6O\#5^/C(+Z'M_UL_H/Y@4[[)_,[C!\!__GCIUU_/2*M
  8509. M_YGXAO+!J'_^]6?M#^.'NNV?R'\(?S"LCSZ)2_RK^>=CV#_G^OE&OZGA@:"R
  8510. MV/")+)S?#W=XXZ`OY9ACCG!X:=#5\C,T'\GGA//CO/4)Q=>H]U$I_3*CC^<3
  8511. MTS^Q+1GRT8Y]K,\%A&-^/,;AMP25`<D/IX&/3NB76[Z[YF,=+H*^E#^-;TKR
  8512. M5_SQ]]+\6!T_M_JL`>&P?URB/JR8\,?4FS,H+PNREJ-OJ?GQ.,/U_+][$"PP
  8513. MW#Q_GL!_)?O?>+ZH,5SU3SR_G<A/YGM&O$W\?&R>/X[G?X67:M[SL7D^/(F?
  8514. MQOLR,O^VW#R?G,RW$?TV;O^"_5/X"7P/G[Z);SS_A<3?)H[?/+].2.2?M?F;
  8515. MY\_3>,X?OXGO=#Z>Y(_Y_\5N?J?RC?[ZF?-19_+]P_T7?7WFGZ_Z!Z]*YQC#
  8516. MS^+]_=R<[SJ#'^#EU7CV4NO/$_FY?)]P?/P6<1;'/*OYV<[S#>X_8V*NUK_/
  8517. MX1>1]?_B(-L]MJ_X/Q/ZC.@K^Y/X/_G>X?WA6VV?Z"O^KS3_ZL4)X/]V./P3
  8518. M^XJ?F^:_L8[O?#Z%[QM=?]`W_;>ZH>87./H-`F;[M]G?^`]_CF7)]1L]'YK]
  8519. MD0OY$_[]![-_--FQ3_8O6FO[%SF\).*VOA?SLU&_.'X;GVV?\QS]3%Y^U?P\
  8520. MTGX-XO8S];DD4;\LJ9^J[Z6)^I>/B>TK/B6E_<)QZC3L__.KT8/)^M%[A$_`
  8521. M_C^?3_9/</TT(_4%O])<O_J;T0D.^Y?QG\1IC.P/UA@N-9_*I^$*B^OC<-B_
  8522. MFB\@_HMC^R:^:_AE?#\6^\_.=_.[BJ\G_HMC^USSZ_@-&`$R^>,+U_:G\87.
  8523. M_E'DW\1W/;_*J5]Y)S>_:_F/Q#_)S]B?SJ]%_I[]&Q/?#/Z#7U^U*L"-_":,
  8524. M,&1\:T`X[-_`%_GC-_QF/L.?O[%_"__>WW[;-+^5W\4'D/I'^MNT_9OX&_[^
  8525. MLT7SV_D]H7Z>_RW:_AU\K3__S9K?F=;_-FO[M_$E_OQ-?'?S6U`_S_Z5R>\>
  8526. MOL[??TQ\]_+;^($DONPL-[^[^&)__\6]#X=CV/W\W^+X2)_L[^+Y"(=_V`/.
  8527. M]8OZOVFX>KZ;C/,%_%L2'_9W;?__1?.'^`9QFF]^H];_SL?^/_^5<+(^_KOF
  8528. MC_!?TCD.+3S(-_KMJ_Y["J9`_%.2OXSO;X8_SK]R]F\CKGY@C?8)_J73?R*N
  8529. MJ@+])WFMEX<_P/_+O_#:5_]=?1*F</QS;WPJ?L4?Y9_Y[:N;RLW8_^?O\"-\
  8530. M^2M^._;?^:WB1'I_L+Q,\V?Y3'XH4_O(1G\JX;#_-/^!#_?IJ[57Z#_/%_#!
  8531. MOO91'/HS3?]Y+?Q[ER"<=Q+[+_!G^"&^^$U\SZ7I=V#AH?*7^*O\\$B_8:RO
  8532. MQL%KL+_.IY'\2?_NI.V_PJ48%?$6,>^@XWN1_TKR+XOY;_A<K[[1_SH?Y/._
  8533. M$1_X?Y5?3_R/RXMO#G^1'^:+S^0WB_]"_)/S.[_I^L[E\TC]$_Z1W^O\!G_^
  8534. M)KX:/HO4C\1G\GN-;_3G;^S/YZ^1_(E]$]\"OH'HE^;UCX7\.?2_C&E?TOZF
  8535. M?\WCTTG\S>+KKRFNC]NP_\^7HO_;;UC*H*75SVJ^F+]%>'&PGG+X7\+?=/0[
  8536. M4/O@B_C[?*BG_UO^%E_,A_BN7V-_*7\#W%Y?Y/HQ\2WCBP@GXY/)[VU^.\F?
  8537. MC$_@JC[O\-L(+\J[_M_E3^/Z(M<WY8AO.?^>M$^1:Q_\3;Z.<->_RN\]OA;<
  8538. MUH_']6^F^4I>BQ5F=<XDD7\SG=_[_`[$'^LW2N2_@B\)ZV/;KV6MT6^E[7_(
  8539. MOPSMYXT?QO]'_+LPOKSQMYG.;Q7_EG!7GTW'_C__QL];:?X!_YKP!GGY?<*_
  8540. M\,?72O-/^3UA_GGZRO[=V/_G=Q.>B`_\<WY7.D?[?\SO))SD;_S7\H\YCD&8
  8541. M^@91_6W\7_+WT/]9_OAOZOL5_X`/(_H=J'WP+_@??(1/O[7F7_.ZD.O^0>YO
  8542. M1O\;OCJT/\=7G^G8_^>K",]OO^_X1^D<]M?R#PEW^X?ROXZO"/-/<MO_O^?+
  8543. MP_%CKN$;]XRYLO\#?Y?PHHC;Z^]'_BRY/E$?R\W]<;VY_^7%7Z;S^\EP_2;"
  8544. M5L$7EG/-?S;\U?#OC=WQ%7R#F;]ZQU_XW\CGA_<7S<GX;<;W7WA-./YKGG]_
  8545. M_)7/">\OFI/[E[F_;>*OA/>_/'US__V-B_#^G,=;:[Z&<\+=_2W5?__@UX3C
  8546. MH^Z?(NA0:[CI_W7\*__X9/K?9KZ&C&\B[M^F__[._^(C(__Y_7L+9V%\=OQJ
  8547. M9/VWU7PKSW'*.U".^/[BVQP>Z9O\_N2;<?UXYF>&Y_C6,+X\;NPSL<4?OXF/
  8548. MBS_KS4^(W[SW!]L^4FSRSQ],^V;$RZ3]$_,WC%]%XCIR?R/SL]::;^/7>N^/
  8549. MX?KMC]C_%[I_OQ_^O65)=BOAM=C_%_KZT/R2DNS7AIOUW08.;UX26-Y3\U*'
  8550. M'UK"*/\0^_\.;QSS+IJ7.;RKRU_'_K_#>\4\T+RQPWN['.=CFCB\OQL?>-;A
  8551. M)2Y'?9HZO$.<OUH__0G[[PXOB^M7SO3^O\-YS%MKWD*TQ/ZQ;9^V)>4T?K7_
  8552. M+[+8_[:\//9OSB>T$@VQ?V]YJYB;\Q6M$_XC^VOUISP1?Y2_.O^!_-HD\H^X
  8553. M>FLFZM/6X4-B_XJC?[1S^!6Q_ZF:MW?XB%A?\<^P_^_PEC&_6?..#A_G\A8X
  8554. M\>+PL3%?HGF%PP>Z'-=/IT3^4?SHN^H>T3FM?LMSX3/N]@X_Q.65>*)S>%'$
  8555. M[?F!'<0.V%^V[=LPCL_L/^\H*K$_:WDVMH^V8578_Q=[8G\YUH_LF_W?K@G_
  8556. M3O_`C;F;PXMC^XKC_'1WA[>/^W>=YCT2UZ_#)V#_W^''QO;5VX1NQOZ_PROB
  8557. M_%?C\P#VWQT^-;:O#B*`[YK0CW@?%HZ_E0G_SO6'^'HYO+L[OB"_W@XO=Z]_
  8558. M\-T2]7,XZMLGK?W-_OGN8E_L[WK:OP(_JK#_+@9@?]33_EU9N'^ZIS@<^YN>
  8559. M]M]9[[_V38Q_4?Z5+/Q^SUZ)_INE'/_V3AO_U#HZKH]]$M=/Q!&;NKZ*$]=G
  8560. MY-^\OV-?H6<<J\+_KH[O;^;]'_N)]H0GW@\R.9?K+]H1GGB_2!7V@45;PA/O
  8561. M)\%G?]&&</)^$_/^DP-$.>'D_2CF_2D'BM9^^^;]*P-$*S\W[V\Y2+3TVU>;
  8562. M%N`#10O"$^_/`#]8-"><U*]&\T-$,[]_\_Z:0T53PB>Z?.]<[C"1]<=GWI]S
  8563. MN&CBC\^\?V>0:)S.,]C_%XW\\9OW_PP19>GQ7XK]?]$P/;Z%F)&+4L(3[R?"
  8564. M9YAHX+=?H_F1YI$MKW]=KOE1HH3PZ6[[@0\7Q7Y]IOD(440X;3\=XTCUQFGF
  8565. MJ9]Y?]0H]:9NG_TJS4<+07BB_X./$9SPQ/NMYJBWZS#":UV.\:^?Z$@X>?^.
  8566. M>KYX%-_8%2>(HYG]EUB_`#_6C`\CPC3<]05\^8X=Y_`@/G_;2O.Q"7W*J_%=
  8567. MA7'B-'%,FG_P$QS]XOA\KHGO1#%6C/'IF_R.KT<?7UYC)XE3X5]9J!1YZRO@
  8568. M)SOZ7>+XU:%5/-2>XO!^,2_2?'R:OK$_08P78_$M]Q%2^P\2\9V65C]3G]/%
  8569. M\?[V,_4]-:7]JK$/6WT/]O_%1'$<\E\?YA]__[.Z$OQ6[/\;?;5__SMK&62/
  8570. M-O;[,O7E7G:6P]?&_"GHXQK\I\-S$0_]U^%\@,-?C+GQ?[8X0QR+^NCX6KKZ
  8571. M]Z@WQU%][.]:_VJ?&?Q<<259?\+Z8JGAL(\O[[*):?H_Y\+]J7^)9^45+#[?
  8572. MG;7[3[7X8'S[M]'7'.?#+3?[5Y/$??P@YMF?PMFA&CS_GB\N%">P8TU^I/W6
  8573. M:'X!B2_<OSXGYOAR,?N/PX,@>TYL7_'S$OI9HJ_L3Q;GB7%1?8E_$]]%)+]R
  8574. MZ)=3^[=C_U_,%J?Z]D_6:'XAT2]5S\=67ST?W8LV%(^(\8RLSUU`^%UX(G;J
  8575. M6QIDFQ*.]KLT47]F^5>:7^;PG6+]#?A,Q8@JOG;V=Z/]<W4H&OP*1[]3;%\=
  8576. M2L/\]4J'%\7?_ZYD8?^Z2IPCCHOJTSSV;_KGU#1]-7^^#_O_#I_LY@\^Q>$B
  8577. MYF9]Z5KQNW]]TZS/7">*4M>O5/M-$QG"R?J'61^Y7KQ$UD\2^UO8W[E!S";K
  8578. M;V1_Q^S_3!=SR?I=8G\(]F>(A63]+]Y_L?LS-X;Y9_+W%Q3'^O1-ICZ:9X(J
  8579. MR[=J?K/1U_7)!E,L5[=U\%L,GVUX9+],\UM#'A@>!/TI1WRWB?_YUU>;:'Z[
  8580. M>-M9GVU`UV_![Q#+G/5=1KAJOSO%RG!].,GM^OE=XO-P?=VWOJSLWRT^(SQ_
  8581. M??\>\:F?F_V!:\0GA,?WEQH\GU;@^KY//"E.8OGK[XJKZ_M^\03AY'RHX0^(
  8582. MQ[WZ5<;^@T[_C\?'4!_\H<3X$XV?AC\L7L/X1<XWE!(._X\X^B(>/\WX]*B8
  8583. MXM_?-N/;8XGX[/A68_S?FXS_`C>_)\3]SOCHY`?_3XK[""?G<PW_K[C7'5\)
  8584. M5_:?,OZWA'\/&M7D8CX.^D\[G#=BAE<;^_\C'/5M%.3B^)3^XPX/&F4-#\=G
  8585. M]+]GQ2OD_D'V-\"KP)\3"\0$S_Z^.O^N^//B)7&*1[^F5MM_)ME^I:[^"V(^
  8586. ML4_\?X$/^(N)_A/U#V/_I02W]JW_F>(Y<3)IGRSM7ZC_*V(N_%M.SK^;_&>)
  8587. M9Z#O65\V]9N=DI^]_[XJ+L+\(F-X$,]_S/U[3D*?T?C`7W-XL1L_VO=E\1#Z
  8588. M5R:/V_A?%R][V]?F7Y/P[UQ_N+_-<WC'(+!\M>;S'=XLTK?MMT#,1/^(ZU^>
  8589. M:/^YXMFPOM7X:S-Z?D3]AO-#BT1C>;HG_K/QVU#P-T0C+U^/WZ:!+Q9E7GXN
  8590. M'FMG@B\1#;U<M4,-^)NBU,NO*=7Z;XD&7MX$C]W7@R\5@9=?!SX,?)DH\?LO
  8591. MT_F_+8J]?#CX]1=B_U\4>?F-X$W!WQ49+W\%_%J<GUHNMO?R1<H_^`K1.55_
  8592. M$L;*]T2G5/\_G8_]?U&1&O_9X.^+[=+S!_]`=/3R6U"_A\[#%HKHX.7EX&/!
  8593. M/Q+MO7PZVJ\2?)5HE]K^G<!7B[;^_H?^LROXQZ*-EW\7:/^?B'(O/P._/0C^
  8594. MJ6CM]Q_H_#\3K;S\$2RKG`[^N6CIY5A)9M^!?R%:>#EVDMA$M%^M:.[EG=6R
  8595. M#=K_2]',RRO!IX%_)9IZ^3'@K2Y4_X]R62]_"/PF\(6BB3]_,___1EQ&[N]G
  8596. M!LP^WVW(A<\/WR;FWQ'_.1<^/WXG'L#S'SF?9)\OS/G%M8[^[O'SHSG?N4[<
  8597. MCO.5\?TO>OXTYR^_%W>3\Z/%,3?G-W\0-SOG.Z/SDSG-?Q33R?G73.S?G+]=
  8598. M+ZXGYW,)-^=[?Q+7D/._Q3$WYX]_%E>&YY/S_)OST5\[^8^*]<WYS(WB03[0
  8599. M]WSYBZ[?+^(1/S?G,W\5#Q.>?[YS@WC(S]6R(_K';V(W>0:X_G]>(_,#PW\7
  8600. MO0DGSU?J/H/X_A"]O+RZ5.O7B4JO_?!+A>";Q:ZIO!KY_2EV\?LWX^<6L;.?
  8601. M*WU<?UM%SW3_X'^)'O[\2S7?)KJGYX_ZYD0W?_X-M#Z37?W^#>=RIU2NXA=R
  8602. M1[__0.<OY0Y^WD#7;Y/HXK5O[T]%\IWP?.]XP[.&V_M;L7S;X>6&V_MCB5SF
  8603. M\,B_N;\&<JG#`\/M_;F!?,OKW][?2^6;7O]V?M!0+O'[-_.+,KG8Z]_.3QK)
  8604. M-[S^[?RFL5SD]6_G1TWD0K__0.>?E6N\_NWXW%1^Y?5OQ_=F\DNO?WM_:"YK
  8605. MO?[M_:6%_,+KW]Z?6LK/O?[M_:V5_,SKW]X?6\M/T_,'+Y>?>/W;^W,;^;'7
  8606. MO[V_MY6K_?4W\X-V<E5J^ZOY17OYD=>_G9]TD!]Z_=OY34?Y@=>_G1]M)]]/
  8607. M[__(OT*N]/JW\[-.\KW4ZT_-[SK+%5[_=GZXO5SN]6_GEQGYKM>_'?]WD#*<
  8608. M'^3%;\:/':4@/'_\V4ER/S?C5U?)4NVK\:^;S`D?M^-G=[F-\/SQMX?\R\OM
  8609. M^-U3;O7:M^/_SG)+*E?Q[R+_]/LW]=U5;O9S<_^JE'7I_E'_7O(/?_[F_ME;
  8610. M_IZ>/\:7W>1O_OQ-^W:1F[SVMR[&\^'GN=SN<H`\"W_YC6G^E^$5.)]2`[Z'
  8611. M/!@\,#R>?]0NU7Q/.=#1M_ROI=I^'WD0X;%^Q4*MOY<\4/[#PVL7:[ZW/(!P
  8612. M4K\EVOX^<G]P&U])Q.5"S?O**K\^N%KCV%?2^5E9O+ZL^,?8_Y=[9;`,;CA9
  8613. M'UVF>7^IUT^M?K1^ODS;[R<'D_?C9//RWU_N(\]D^>M;-OX#Y-Z$E^3E?Z#<
  8614. MRZMOZU<E^WKU;?L>)/MX]6W_&"CW)#S(:]^#Y1Y^_Z9_#)"[>_WSMU$VK'$<
  8615. M*D\B]27]'_6K!3],GDIXB<,K<$;J<'F*5Y_!O@`_1)[LU6?O(#Z<(1LL1\JS
  8616. M&<L;7ZL-'R)'$$[\@U>MR.6.D,.]^LSP07*45S_L'Q_D<L-D'Q(?]K=F$P[]
  8617. M(YW^V3CNGRLU/\KA0=S_5FK[0Q/Z$3?QC9!#Y$1??0T?*0<33MK'U&>4'.3E
  8618. MMK[#Y1%>^^ILC8I_C!SM;S_PFN7X_K\<2WC\_8W<8LW'RJ.]^HHK^Z/E&*]^
  8619. M>/X._%AYC-__$FW_.'F\W_^;FA\OC_/[?U/;/T8>Z_?_EN8GR!/]_M_2]D^4
  8620. M)_C]X_IZ'7R\'.?W#\YA?YP<[_>_4/L_68[P^U^H_9\BA_O]+]+\5#G*[W^1
  8621. MMG^2'.G77Z#U3Y-'^O47:/W3Y3!__/,U/T,.]<<_7]N?((_RZO,:K?\/>817
  8622. M7]1H_;/D$'_\\S3_IQSLCW^>MG^F'.2/'[I_88PZ6P[TZE>!5^$:.D<>Y-57
  8623. MO.9=/,?(`?[\E7WPB?)@PLGS/[C$&/,O>5BZ?_!_RT/3_2/^\^0AJ?[5&#!)
  8624. M'N[5KT5L]^,:NT!6$4Z^7_6VYO^1!Q).SJ^#5Z"/7"@/\.HK^XJ?+_?WZR_7
  8625. M??PB,S[J[Q<7Q]^/7ZGYQ0['^$HYXIN2T(_X<LTGRY[.^![Y5^/3K[G<)?(J
  8626. M>1%3W\/'LR`K+@ZXX0LUOU0>%<X?>DCUN@JBKSC6X"YSQG<>O[\/O`+\<L.U
  8627. M_4QL?['FU0XO*BXGG/V1RUTIKY471_[)_M]"S:^2P]/C0_Q39;6<[-,W^5_A
  8628. M^"?Y*XXUP&OD#7)*6GW`KY4CTOTCONOD%6%]\[C)[^J$?R=_D.OE3;(Z\A_$
  8629. M?*'F-\B1Z?X1WW1YM;]^)K]I]>4/G1OE;?*2M/KC;S?)4>G^8?EF.2VLG]<_
  8630. M^`S'/\E/<3SCWRKODI>FU1_\-CDZW3_^=KN<$=;/6W_\[9;ZZH]GI#OE??*R
  8631. MM/S![Y)CTOTCOKOE+?[ZF?SNJ*_^.,-PKWQ`7I[F'_P^>72Z?_6.#GE'6#]O
  8632. M_N#WI.5O[#\H[R'Y)_3!'TI<OS3^6IQQ>#AQ_5/[BC^2&#^B\UO*/X[V/B#'
  8633. M^O/#W%*=CWM,SI+8!@C/7V7I^*W>WSD#^^/R%3]?K?6?D"^GZT_#^0/YDI_C
  8634. MWLINPOZ_?$%>Z>-J?+X%^_]RII]_H/6?EL^GZR/^)^6+?JZ^'X']W6=(_4K5
  8635. M^3>[OH][GSH_]:S#>\>\-A>>KWM.3HK>#U&*\W?1_@G&9K6_\C]'?_]X_\/$
  8636. M-U,^A?-[EN?G]X+\KY^;^KPHG_1S4]_GY=/I]M%^+\LG0I[6?J_(Q_W<M/\L
  8637. M^5BZ/O)[23[JYVI]$P>'7I4USOL_(EZD^1SY>CH?C/U_.=?/2S2?[3S?8W]H
  8638. MALM?EW/D5/RZ1/KMU\A70[[8<)Z(;YZ<[=<W^<UW_/>.S\\I/@'[__)R=_^I
  8639. MF^'F_3D+Y51W_\IR\WZ;1?(Z9_\KTN>:OR%O=/;/(JYZY025UZWN_IOEYOTK
  8640. M2^2]SOY=Y-^\/^5->:>S_Q?IF_>[O.7D7Q&4-R5\-/;_Y??XJIQ'?XOFR^0Z
  8641. MPDE\BH_"_K_\#E^5C+D3WTCL_\LUK'V:/@X>OBN_8.W2](=C_U]^@J]ZINCC
  8642. MB[$KY$>L39H^#IZ])U>R\C3]8=C_E^_B*&.*_E#L_\NE&+=3]-&_/I"+6<LT
  8643. M_2'8_Y<+\#6V%'WT[X_DZ[A-I.CC?/XJ^:HZ=Q+?7PA7[Q];+6<3GHG?_[59
  8644. M\X_E+$>?<O7^K$_D\Q@7[/VK?9"M-5Q='^!SD]>OZ3_V_32?R4?YP=0^,_J&
  8645. M?RZ?(CS__3%?R/\2[KZ?1O%:^:1?GVG[7\HGO/ZKU?4%_I5\W&N_6OW`P;Y/
  8646. MY6-^_^KY$\\_7\M^Y/F#G&]5',_(W\C^A!/]I9I_*_?SZR_5]M?(?;WZ:GU(
  8647. M?7]VK?Q97L?4>YC4WS,N1PSKY"^$D_6A]S3_7F[TZH<<]K^3&[SZX?<;Y^9R
  8648. M/\HZ.2WBY/L!BL/^>OD'X61^]X[F/\D_O?HAA_T?Y&:OOLUO@_Q.7NN+S]1G
  8649. MH_R>\/S\?I'KO/JV/C_+M7[]9;K]-LFN3OL$='T1\?^67!^TU]=*S7]/K"]F
  8650. M*8?]7Y/KD]W<^M7)'TE\^?7?+'\@G-3/M-^?\B>OOJW_'W*]5Y_A^9^]AG5L
  8651. M69RY@>0?\>58O\!WY/Z21>#V^D%].\>\:E8NMTUF_/K*/O@6*8E^$.LOT_Y9
  8652. M9D?_\_\RK<\S]=0?7#@\47_8SZ75W^2?R6R3U_O\F_B+,G\1[M9'Y5^<V4HX
  8653. MZ7^F?C*SQ:^O[+^"D^.9IID9*?9K7L;W_S-9PF%?$/\OX/O_F29^?64?O"33
  8654. MC/`@UE^F_9=ENJ2OKT._4:+^3GW!&R?J[[0/[#=,:S\37S;3(#,]K;[@33,!
  8655. MX8GZHC[-,B5^?5/?)IE2PA/M.Q/?_\]TR&`:SV;S?/_L>7S_/].>\"#:?P[Y
  8656. M__#]_TP[1W\HM?]T+M<\TY'P;##.\F7:?WFF,ZE_F?DB@>'0;U-?_P=OZ_`R
  8657. MMWU@OW5:^YGXVF=:9F[TU<_DUR'3(N0V_V1].F::^_5-?=ME6H5\'C?Y65Z#
  8658. M#]JO(G-AYK9(/QO'I_@S^/Z_$S_&[WF$(_[.#B^/N:G?]IG6)+ZRN'ZF_ET<
  8659. M?>'JH__MD&GH])\LU4?_VC&AGZ7Z&!]VRN3(]4_:SXQ_7>O3Q_C=+?-K>/_,
  8660. MN[[,_:M[??%C_M$C.3Y:OESSGFG^%<<:Q\Z9*?)"ZG\%X5B_W<71+X[]*XXY
  8661. MT*YI_I=I7EE?_OCT2O9_RU=JWCO-_DH=PV[)_D_M@_>IKWYXQM\]\__*K@.^
  8662. MJB+KWY?,"4EHCR)&P(^([HI^ZD\^5UUUU:A8P(9E5:R@($TZW54?8J,(2">T
  8663. M`"$!0:0H"A:"BHBB8ET+:I"B*,T5$(7U?6?FS+UWYMXSX05^[_=>\O^?,V?.
  8664. MU#-G[DM;(S^7&^87=7[RG*KLQ_SJN579C_C?J[(?\^?G564_XN>+"XW\<3+,
  8665. M7^K\_`71^=D</X@WL_`K0ESO?R\46[/Q,2V]?XCOGR\2.PP\OO^]6&SGY?7^
  8666. M^1]B&R^O\QN7B,'9>$U$G:\!GF\4:-S/CUPJ'C3P,'_AYS<N$T,53O6S\R<2
  8667. M+Q)#6'D_/W2YZ)L].)#'^*P^X7Y^Z0K1Q\`Q?C%PF9^Z4O1FY?W\5BO1#W$C
  8668. MOEL=XG(/UUH,S![B*A_EVX@!!AXI'_O(U:(_*^_GMZX2@Q`WXB]=OI__NU;T
  8669. MRAYDZM>XG[^[3O0T<-1OX#+_=[WHP<K[^<-KQ`.LO)^?O$%TRQ[HP%7^7W0U
  8670. M<,,^G1^]271AY?W\:EO1G9?7^=M_BD[9`QC<S__>(CH:N&&?SA_?*CJS\G[^
  8671. M]V9Q/R^O\_OMQ&W9?1VXE+]=W&'@AGZ=W[]#W,[*^_<#;A/M6'D_OW^7N#.[
  8672. M'U>^OA]PM[C'P(WR=7[_'G$W*^_?#[A3W,7+Z_Q\!W%O=G].7N?W[Q4=#-RP
  8673. M7]\/N$^T9^7]^P7MQ7VLO'^_II.X*KL7_J:9FI\2]&467G@_YWYQM8'G!KA_
  8674. MOZ:S:,/*^_=S.HK6K+R,W>3^I:OH)R9[X?XFV=S`<7_1+;(_"KZ?7>*XO^IN
  8675. MX8GP_$GC#XA6QOVK-J%_)([[KQX1><_4CW@75_EKR/Y>8K"QORL(X]<U9']O
  8676. M2SX_./]2..Z_^KCL1SR%^[>^$3QIVH?R_5SZM?_ZBRYB$F>?]O^`B+SE7]S_
  8677. M#HR47V#:A_@@E__6D'Q/EW[MGR&B)]_^VK]#(_ZW_(?M\Z#+O@K"_R6:6??W
  8678. M@OBO@OK'0R[_KB%\L*-\63?Y>D04BQF>L?_P#!SCBU1D_U1PJH%C_8:Y\!6$
  8679. M/RHN,?JO$5^LH-?PZ/YLF*$?\8>C^S\?7T;V/2Y&BV+._F6DXXF(O/_W(Q2.
  8680. M^I^,MJ^/+R;\J4C\5F#B6+\1T?YKZD?\,8=_BK3]H\0$@8]I>H<2^GZ&9^!H
  8681. M_^CH^#+U(_ZT>$Q,\QSU0_TCH_U+XQ4:'RNFLNU?H?6/T_)T_R_;PHN68O[=
  8682. MPHW[AU(>\?$1W*R?E)\0T9\;J?]$,9)M7]]_DRQYV[]%.'XF1\H/_GX(XBG$
  8683. MIT3PI.$?*3_&H=_WSS0QAFT_W[_%#O_[XVNZ>%A,-=K/PO$U-3J^C?%1@?US
  8684. MIE@@9GEA__/+5_(X/\T2Y09N[.^7$3Y;E/'RRTC_C.CXV:)Q.7YQ_IXC+C;&
  8685. M=U8X/TE\=3H]-QI?M=3X8L+G1<]'3!SUEUIX7H!7+B5\?M2_!EZ)-I1%Y_>6
  8686. M=OW0.V*F)Y]#H?HGO[+]LT#,-'#TWU>V?Q>*&;R\;I]G'?85+B?[%CGLD[BL
  8687. M7TET_/OV+TJK^.,Y\:HH\1[3?[^L51@?CB!\B27_5QM_)9U^7KPEYAKGOT'\
  8688. M^C3A2UWQ\QC"EXEWQ#SS_-C'QQ.^W!6_3R!\A=@H2KGRIQ#^@JO\J82_*#:)
  8689. M^5SY,PA?Z2I_)N$OB4]%&5?^',)?=I4_E_!5X@M1SI5?1OAJ5_GEA+\B-HL%
  8690. M7/F+"%\<:;]DI'U?$XO%;"^5)5N_#K9_D!_1_>/U:/_:$.(RA[-&O"'FX%/,
  8691. MOR5V*'E%T_HE_FJT_QKR\@QQK3C/&/]&^2,(?R,Z?VVP];\I7L?^2W]?JJY9
  8692. MOK:O(MK_?7G=/]>))5A_9O[1_?MM2[YI>#XH<5R?UT?/=TXQ]"/^EDM>]^\-
  8693. M8BE?OAX?[T;D@_/!,:3_O>CYCZD?\7=<\GI\O"^6\^7K\?6!R_X)I/]#5_VG
  8694. M$+[1):_'UT?B!;Y\/3X_=MD_E?1_XJK_#,(WN>3U^/Q,K.3+U^/[<Y?],TG_
  8695. MOUWUGT/XIRYY/;Z_%"_SY>OYX2N7_7-)_]>N^I<1_H5+7L\/WXC51OEGAN7K
  8696. M^>5;E_WEI/\[5_T7$;[9)3\RK<Y`MXBA./Y3:OVI8^9O)8XYT._%$`,W]A^C
  8697. M"=\J!O/RHTE_I1C$RX\E?+OHQ\N/)?T[Q$!>_AG"?Q`#>/EG2/\VT9^7GTCX
  8698. M3M&+EY](^G\2?7GYR83_+/KP\I-)_X^B-R\_C?#=HCLO/XWT[Q$]>?GIA.\5
  8699. M/7CYZ:1_EWB`EY]%^"^BLQM'_?\1W7C])83_*KJZ<=2_3W3A]<\C_("XCY>?
  8700. M1_H/BOMY^?F$_R8Z\?+S2?]^T9&7+R?\=W$/+U].^O\0]_+R"PD_+#KP\@M)
  8701. M_R'1GI>7\^-6/*,6M6"YVC_('4!^^/>])/XCYO^M\9L3_OUZB?^,D,8+]?V]
  8702. M0+Z8<`^.@1<\'T\$>&H:X0DX$5[VXO*I*81GP<FPBI'W-)X-CO(G$2XLO%%H
  8703. MO\0K,?]OX77L^B-^Q%'_U$SR3PU(P@J/XKN#1ORC</1O+D3V+RVT_EF$Y\%9
  8704. MQOXG/SR?FT7Z<Z+R>O^>TNU7$^I@^;E!^?L\`T?Y6A%YKX7=OK7AB%CJA?4+
  8705. MRM?Z\Z/EGV+KKPOYV'\,_:ML^Y)*7G@==/R;:_H/\7J0`\L,^63$OW4<\G[_
  8706. M:F#9A_W[5`/?A?E_.`Y>Q/VIW!\V-.^732/\&#A)];\@/BTT<-1?']*&?XS[
  8707. M<5K_L='R6QCX;LS_0PI>8>25?L2/@Z:PTBB_X#C;OD;0`,</[6\;F/)32+X)
  8708. M%,)+AKR%HWQ3^`O6C^3KF_?/M/[CH0#]P\AK^QK#(X;]QORBRV\6J7^RJX&C
  8709. M_D(X!<>O7W[$?L1/@,96_:/U^Q]XF/>?EC\16JCY@97']CL)DXI+&?O]]OT+
  8710. M-%3S$UM_U-\<FJ!]U'_J1>N/^,G1]C?KC_I;0,(H/V(_XJ=`<Z/_&?9I_7^%
  8711. M9MB^7\;:7^U__X/Y?_@&WO;H^TT.>N?;>%U\_A\J#;PPQ!<0?CI\Q\LO(/VG
  8712. MPK>\O-Q?[,7\/SR([2."^2N87Z<3?J;E'V-]*2&\I87GAO(EY)__LW`1XK,(
  8713. M/\O"C?5)SY]_@UR<7T2\?#W_GEV5/,[_YT3*M^Q'_-R(_1:^&?/_%GY&B(\@
  8714. M_#P+;QR6K^/?\Z$"XVM__6Z5F\S3N(Z?+W"5+W%<__\1'9\^OICP"RW\S+!\
  8715. MB>/^_R(+KQ/B*PB_V*5?G]\508EQ/E@K/#_3YW^71,>/*8^O2V&8<;Y9*SR_
  8716. MU/F!RRSY1F'Y.K_3RM5_='[K<NANY(>287RD\V=76/)M;'ELORLM_"3;OXA?
  8717. MY>H_$L?[&:U=_EM$>!N7_8M(_]6N]BDE_!I7_RBE_GNMA1>%^%N$7P<76_=/
  8718. MK/LQB%\?*3^0_X3PMI"3:![(-\LM>%?C,K^,X_<&2_ZJ<'TO)?S&B/T6CO/'
  8719. M31'[<TW[$;\9AJGG+P/Y/`/_%?/_\(1Z/I+%\?G(6V"D>GZ1Q0]C_A_&J.<+
  8720. M61PMNPW&J^?_6!SWG.U@LGH^C\7Q#O_M4*R>GV-Q^1T],$L]'\?B.+_?"?/5
  8721. M\WLLCL^WW67Y[Z[0?Y,(OSO2/M;^&OU[AJO_ZOBE/1P2S^/\M1+GKYQH?(-]
  8722. MI`,<YG$=O]P+?[AQU'\/_,[C.G[K"/O%$A>.^CO!;SRNX[?[X:`;1_WWP0$>
  8723. MU_%K%]@GG@OP>/S;%7XU\'C\V@W^X\91?V?XA<=U_/X`[!*+73CJ[P%[>5S'
  8724. M[SUACQM'_=UA-X_K\XO>\*-8Y,)1?Q_XF<?U^45?^,F-H_Y>L)/'QQ+>'[:)
  8725. M9UTXZA\`/_"X/K\9"#O<..KO!]MY7)]O#8:M8B&'Z_.I(?"]&T?]0V$+C^OS
  8726. ML4%0R>-Z__4O.,.*+X/QJ?=O#T77EY8&COOOAZ/KLX_K_?DC<`+N3\/G=X+X
  8727. M5.,I.![WS\;S:3ZNXXMA<"S&'\;S4;Y^'3\]ZBI_.N$/1M=7'S\1W[[&_#E,
  8728. MA36H_XC"C?R^Q/$9R\=U?$DXWD_\6N.G$_X$O`UOF?(FCOJ'N^3E/%N!^7\+
  8729. M/RW$FQ$^`F9"1:`?]T=W&#C>`1L),PS[&]KX)LS_P_.P-L"-^_/'XQOVK]&P
  8730. MQ,#KA;B,,]_#_#\\9^!&_O98TC\&%AMXW1!OB&]XQVLL+#+P)B%>&]_P_NPX
  8731. M>-;`FX:XO`F%=]2>@86\_=)_>(?K28=_4UC_%/IO`LPS_&<\/].<\(DPUXWC
  8732. M'<%),(?'FQ$^'DI9W&^?*5!BX)'^A?A4R_[F8?OK_C<-AL.K9OM.-W#L7\66
  8733. MO-'_FA$^'5;`&X&\L'&\OS8#EAK^K6_CV+Z3802\9I9OXFC_+'C*P&O%^N]L
  8734. MEWTG$EYBX8:\]L],F&R/3[-]T?]S82*\7D7[S8,);AS++X7Q/*[[SQR8Q.*^
  8735. M_\I@N>%?8_P=0W@Y++/][QDXML\"J_X%]OR`^$)7_]#]_UD8I_Q?2YU/U@AQ
  8736. M/7X6P5@#-\:7'G^+88R!&^-3C]_GX&D#-\:W'O]+8+2!&_.#GC^>AU$&;LPO
  8737. M>OY9"B-M^TW_HO[Y,-UH__JV?]$_RZ',Z+\%,?^O@/D&;OA?M]\+4&SH%_;\
  8738. MB?J7N>9ON8[@^%P)Z^WYW]>OUX>7+/F;[?4!X\^77>.C)>&KX([$V?@QP'W[
  8739. MSB9\M25OC.]S"7_%PB>$>'=\VX+Y]XA\KHGC^<=K\$\L/[0O=YZ!_X#Y_XC]
  8740. MECS&9VLLO%.(_YWP"CCB%0;K>\W<@J3&_T'ZU\)A`[\EQ#L3_@;\8>#Y-OX]
  8741. MYO_A=P,?&>+GX!O>P7D+#O'R+0E_$7XS\&ML'/O'V[`!UIGM[_M'K__KX7%C
  8742. M_H[@V#_>@1?A3<_H'_,,_8BO`SQ5PX^-U/EV?D[Z5UO_N[#.ZG^YICSB[\$!
  8743. MP_XLVWZ,_S?"?M[_4G\EWC^PVB\_[#_R_'X_YO]A-[QK[-_4FZ?W9XA_"/O<
  8744. M^$',O\->'I]!^/NPA\?+2/_'\#-LX/!2PC^!G]PXZO\4=O)X&>$?P2XW7@N?
  8745. M_X<?X!T7GH]-"#MXO)3P+V"[&T?]G\&//%Y,\E_!-ECOPE'^:]C*XS,(WPS?
  8746. MNW'4_R5LX7%]?OPMG(KQ@X]'SI?Q?/@[.-W`(^?+B%?":;R\/G_^!OZ7E]?U
  8747. M_QXVJ_-GE_U;X6LWCO7?!E_QN/;?%OB2QW7[[(!_NW$L_P?XG,=U__@1/G/C
  8748. MJ'\[?.'&L7_^!)^XRT?\9_C8C>/XV`4?N?4COA,^=?L'\3WPOMN_B.^%36X<
  8749. M[=L''[KU([X;/F#Q@YZ*\.0NIT#^1DZ/A5Y1$6YZ?`WJ7PW<:*3I-(;AOB-_
  8750. MS&&X!_`5X6Y0!D2XTWFN.L3,BG!E^;@C2M]G<]=:-IQ`MC?!-WD"U]3FOL9Q
  8751. MY4X';[*E;\U`K]QUX:ZJV^]_IH^J-XEO^(1*Y:49Z)5OZ])T:JV^.H>X%1:W
  8752. MJ>(F\&3KB>W$;>O=F.5S56(Y:#?]&;.\*5SEO4-IR]X5EMY\+^5SM_M<<'#+
  8753. ME5Z!LTOB$ZIC6V^NXA84:!N"=FM"]I9FPFVLN`6S,^$>I[@'IF7"+5#<O1,S
  8754. MX1ZKN-GC,N$V4MP_1V;"/49QU8GJ<K]/Y@?^76#Y]_3\8'9AN.46]TB>XL[F
  8755. MN646MV].,"LPW/D6MRMQ)_'<4HO;D;CC>.X\B]N.N*-X[ER+VQ8"GRW%US:[
  8756. M_RJ?!?X]R0M\QG#+.>YLGEO&<8MY[GR..TES*VUN*<<=Q^N=QW%'\=RY##>!
  8757. MF;LG9?;NB)P?1GI6GPSFAX;JLWH*!)_"5UMD]=46I'>F_#$GSDT%W(23VQ"Y
  8758. M%3)[M\+GAFT\V>(6*;W'XBEK`B,M7*0\T][Q5MW(=OG4GW=4;@/B?HBO)7&?
  8759. M3;!L0&Y"<Y_WN>#@E@=ZU=,'5>JE.57I#;A9;AN0.QB?IDRLBM=MC%6W>F'=
  8760. M7HFWQ=B(#;)N]V^LIM[5OEYPZ`W]D'HUWG=LKJ%WU='LK:?L];Y)JV\V)&Y>
  8761. MP'W<XM;UY,U;F<%5C7\4[FORL_S&/UD@UCV1*`0OO]!KT<*37X)H<"4[3=G5
  8762. M"0;7(^X3$6Y2<N52\*!O0UBWKA:WB7=;$_PLUWC<M4?GOG]9W)2GQJGD'HQS
  8763. M'W)Q_XAS'W9Q_XQS'W%Q9=-&N"D7-R?.'>;BYL>YC[JX=>+<X2YN_3CW,1=W
  8764. MG^^'&A[?%K)%-7=_G&NW!785GWLHSK7;PLL*N$?B7+LMY(90<SV_;B$W97-%
  8765. MP!5QKMT6'@3<W#C7;@LO)^#6BG/MMI"`YB;C7+LM9,EXBPV?]B["TV:UU!AC
  8766. M:*C\,9BC:JJQ.1RYB8WT.W,^FVAQ98=!O9LP0X[\Z!PU1/XHXMR*#^+<P2[N
  8767. MA^G8?#;8JEM-9&L;-L:Y0R)UD]R4_%94:4,)WMQ+]$]([IE%NFY&GU3^Q5BH
  8768. M$G5[_=/6.M0_8D-MR=W`<_MQW/6:V]OF]N6XZWCN`([[)L\=R''7\MQ!#%=^
  8769. M2TCJ4_*9.>;[6-PBY;,4WHI)?1OG]K2X2?(O^JPDX(*#.Q__8RR";7%EP$W8
  8770. M7*.-\Z4-ZWD;>G`VK.=ML+ED0P.,=ULS-MA<LD$5.U078W"[6]Q$-;B>XEZ+
  8771. M-P)/F>[IM3"L6T>+>UI"U4VN;;WQQ\@^*KIN)D_6\X+<<+>7OYN<Y7/;16Q0
  8772. M>B6W&%\R'O`F!MP;&6Y*KA7/DMZ$8<.=%K<&3GZ:6Q[GWA[A@N:FYL:YMKTU
  8773. M<(K6W''XX]]L[@T.KOQ6Y2CW)H<-WM0XU_8#U4W>M$I)O4TE-^QGK2UN.Z^D
  8774. M;IK^\E2&W**ZR)WL<T,;KE<<GTLQNGICN+=P7+D&C?:YFX3/O=JRX3U:"YOQ
  8775. MW#86=Q-Q:_,V7,78(#.<(?<]AUZ22R5-[KJ`>YVEUU-M+&_5JD5]OSQC^DYQ
  8776. M!7(OM_3FXJ8`/^_`UT.9<=4YT'!/C\V0>X_%+22]._'U5)QK[ZO/("YFH5+#
  8777. M,[17GB_)38C<\SAM2!+W)WP]?C1[-7>7[S-;KSV7Z+JA'U(/9VBOM.&1N`VV
  8778. M7O)#:I>V-Q.]>]+JV]<SXDJ]CWIJ9^>VP?#9HZ0WH39UU,]LO=FTI]VIVT)Q
  8779. M$PYN;=(KX4[X:F';<&7$OUE^7WX`7[NJ;@O%E77JYAW%O_G$E;%%YSAW1,1G
  8780. M67H^D]]N7#57V_#?=+I:>H]J;QYQT]J&9%5ZDZ$?)#?B,Y8K[96+;T%5-F@N
  8781. MKGY'MY?JEL)/*>V'A#<QV^\/M@T>Z<58,]7%4^/-[#N76=S:I/>(YM:SY]16
  8782. M'/=/S2VPN9<R7/E)<0MM[B6<WAS-;61S+^*X0G/KV]R+.1NRB'MY`YM;Q'`K
  8783. M<<U*R04*]^`W>`=H;W^FYUUH<2G>K)!G"KB0I"_#)ZB\PBS);7:^IY+ZL?V.
  8784. MS[U#MD6/+-\&FYOP@KW1-;[/?@GLO8W3>Y:G;D#(/$,];TKBH.:>S7%EGY1U
  8785. M>TIR;R(;"G77-\[P_O3'D.0JO=J&DQQ<N;W(5&^B&ERIMS5Q3S#\D(S4+=";
  8786. M*5?Z(5/NX6IPI;URLHWXK*[+WDRYTMY,N8>KP?7;HCIMG"FW-7%C/N/Z0Z9<
  8787. MO]TRX?KMMB`#KDS]H,_23]I],NHS-8;J58-;NQK<O&IP?Z$VSHA[H!K<1&8V
  8788. M*)_]GIE><UQDQ/UO-?3NUGT],I>P=9-KL<['UDM,28#N#V]*6$2X\I^<KVO)
  8789. MLRMY`E_H%;:@V3G4FWY$Y7'P4Z(Q<6]$[G_K&-R@G]&\GD`+$P6&WH3!#>*+
  8790. M7/I<WUB'$@?5.E2(=;L@4K>$WVXR^+G47EN2%C=!]93]01YJR1@G$>:PK["X
  8791. MV62#W/\S<59KRUZ*LPJ;\#'DK0Q7MI&*I2-<.R;37$PC%XZ.<U4,*6QNI3RS
  8792. M'Q_GRJ4TFFN63S5Q=;N6L5>ELB57?ANL][;PU]A;+!MT7"C[;V!O&&_:,:\N
  8793. M0\9!X^+<:SANPF/C6#N>U]QLLRVJCOVOQCBV<7`6%/JAH\6MB[T2G^)#;LV`
  8794. M"PYNF;(AC?';UFGT&_/\5VY=0Y_E*6X%WM`L*@YMV*7U=K'TUD)V.GT8SVCS
  8795. M/D_'[DKTLK@U\3^=.:H<T0R;VT=2C/.^6II;\;'/!9MK^*R=W'LBMT2>FS>T
  8796. M_3#4XMZLZM8>SY\K@C/S?`>W2''-?):9)[/S64FZ9R.+E0<30OKW,<65N2\5
  8797. M!P3]MU%BB?PLSS+?2,?RA2,MO90O5'YX/1T[!Q]E<?/1"ITO?#&M\R*AWF<8
  8798. MO8K[0CIVU\?FUO>"/.]+/C?+S?7UKCR:7LKS=I`Y5FF#L/OD.%6,K3?[X\RY
  8799. M*N?^4CJ61[=S[E)3FNX(Z'QW6V]*GL^=:^GUE%YU]T!R*VVN??=`<R=I[F:;
  8800. M6\IQBWF]]ET)S9W-<^T[&)I;RG/MNQV:NY#G+N"XTF>K_38.STN4SP+_ZOL[
  8801. MXWBN?<>%[@4IGS'<4HM+]XV4SQBN?2='KQ>S>:Y]UX?N1RF?,5S[#A'=NU(^
  8802. M8[@++"[=Y\H;I>\\-97]]T;P^Z]]Y\E3W/KC3*Z\_^/F[IEH<CM6R3WDW_TJ
  8803. MD-QNBBL$STW.-KG]JM3[XSS3AMZ*FTSRW'2YR3TCORJ]:HZ6:\!I\N=P+EDK
  8804. M?PS\FT5<N<G<$.?:=PRS0KV8^TJK@[A<A]ZFH5[,4R74&6FN0Z_FGH#Y7[FV
  8805. ME,@Q=%%M?X]8P=3M_P%02P$"%``4````"`!D9N4@?'JXT(07``"&/```"@``
  8806. M```````!`"``````````3553155-+E!23E!+`0(4`!0````(``L*VB`6L$T`
  8807. M^48``#H(`0`*````````````(````*P7``!-55-%54TN34%04$L%!@`````"
  8808. -``(`<````,U>````````
  8809. `
  8810. end
  8811. ---
  8812. Klaus Breuer, Rudelsweiher Str. 6b, 91054 Erlangen, Germany
  8813. "Geez, I need a *reason* for everything?"   -- Calvin
  8814. "Should I or shouldn't I? Too late, I did!" -- Hobbes
  8815.  
  8816.