home *** CD-ROM | disk | FTP | other *** search
/ Duke Nukem 3D - Kill-A-Ton / Duke_Nukem_3D_Kill-A-Ton_Collection_-_CD1.iso / goodies / build / buildhlp.txt < prev    next >
Text File  |  1996-10-10  |  112KB  |  2,651 lines

  1.                   ____        _ _     _   ____
  2.                  | __ ) _   _(_) | __| | |  _ \  ___   ___ ___
  3.                  |  _ \| | | | | |/ _` | | | | |/ _ \ / __/ __|
  4.                  | |_) | |_| | | | (_| | | |_| | (_) | (__\__ \
  5.                  |____/ \__,_|_|_|\__,_| |____/ \___/ \___|___/
  6.  
  7.         for Duke Nukem 3D by Allen H Blum III & Richard "Levelord" Gray.
  8.                  Additional documentation by Kenneth Silverman.
  9.  
  10.     ┌──────────────────────────────────────────────────────────────────────┐
  11.     │ This information is provided as is.  It is very possible to corrupt  │
  12.     │ your copy of Duke Nukem 3D, so make backups!!!   3D Realms & Apogee  │
  13.     │ cannot and will not support the use of this program.  If you choose  │
  14.     │ to use it, you do so on your own.  We cannot help with questions     │
  15.     │ about this program or its use.                                       │
  16.     └──────────────────────────────────────────────────────────────────────┘
  17.  
  18. IN ORDER TO USE BUILD, YOU MUST COPY THE ENTIRE CONTENTS OF YOUR \GOODIES\BUILD
  19.  DIRECTORY FROM THE CD-ROM TO THE DIRECTORY YOU HAVE DUKE NUKEM 3D INSTALLED TO
  20.      ON YOUR HARD DRIVE.  BUILD WILL NOT WORK CORRECTLY UNLESS YOU DO THIS!
  21.  
  22.   This document is intended to give simple instructions on how to get started
  23.    with Build.  If you wish more detailed information, please look at some of
  24.    the user created Build help files in the \goodies\build\userfaq directory.
  25.  
  26.  Or, you can purchase the "Official Duke Nukem 3D Level Design Handbook", which
  27.  is available from Sybex books at a bookstore or computer store near you.  The
  28.   book's ISBN number is 0-7821-1869-0, and it is authored by Matt Tagliaferri.
  29.  
  30. ───────────────────────────────────────────────────────────────────────────────
  31.  
  32.                        ┌──────────────────────────────┐
  33.                        │INDEX AND HOW TO USE THIS FILE│
  34.                        └──────────────────────────────┘
  35.  
  36.  
  37. This document is set up with a quick search capability.  If you press F7 at
  38. any time, you will get a listing of all the categories to look at in this
  39. file.  Press F7 now to look at it.  In this menu, you can scroll up and down
  40. the listing of items to read, and then select one by pressing ENTER.  You will
  41. be taken directly to that item.  If you wish to search for a specific piece of
  42. text, you can hit F3 to enter any text to search for.  If you just wish to
  43. scroll up and down, you can use the arrow keys to move through the text.  You
  44. can also use the Home and End keys to quickly get to the top or the bottom of
  45. this file.  Press F7 now to see a listing of the categories in this document.
  46. Here is an Index of all the sections in this file:
  47.  
  48.  1  The BUILD EDITOR AND BASIC LEVEL EDITING
  49.     1.1  Two Editing Modes: 2D and 3D
  50.     1.2  Level Basics: Sectors, Walls, Vertices, and Sprites
  51.          1.2.1   Sector, Wall, and Sprites Attributes
  52.     1.3   2D Editor Mode
  53.          1.3.1   2D Grid and Resizing the Grid
  54.          1.3.2   2D Grid Locking Feature
  55.          1.3.3   2D Zooming In and Out
  56.     1.4   3D Editing
  57.  
  58.  2  BUILDING A BASIC LEVEL
  59.     2.1   Sectors and Walls
  60.     2.2   Build a Simple Sector
  61.           2.2.1  Start up BUILD
  62.           2.2.2   Make Your First Sector
  63.           2.2.3   Backtracking in Line Draw Mode
  64.     2.3  Single-sided and Double-sided Walls
  65.     2.4   Placing the Player's Start Position (IMPORTANT)
  66.     2.5   Quitting BUILD and Saving, Loading, Renaming Levels
  67.  
  68.  3  BUILDING A BETTER LEVEL
  69.     3.1   Modifying Wall, Floor, and Ceiling Textures
  70.           3.1.1   Selecting Textures
  71.           3.1.2   Shading Textures
  72.           3.1.3   Resizing Textures
  73.           3.1.4   Panning Textures
  74.           3.1.5   Relative Textures (Floors/Ceilings)
  75.           3.1.6   Parallax Floors and Ceilings
  76.     3.2   Splitting and Removing Walls
  77.     3.3   Resizing and Moving Sectors
  78.     3.4   Altering Floor and Ceiling Heights ...and Textures again
  79.     3.5   Splitting, Joining, Adding, and Deleting Sectors
  80.           3.5.1   Splitting Sectors
  81.           3.5.2   Joining Sectors
  82.           3.5.3   Adding a Sector
  83.                   3.5.3.1   Adding an Independent Sector
  84.                   3.5.3.2   Adding an Extension Sector
  85.                   3.5.3.3   Adding a Sector within a Sector (island)
  86.                   3.5.3.4   Adding a Sector within a Sector (peninsula)
  87.           3.5.4   Deleting a Sector
  88.     3.6   Incremental Backups of Your Level
  89.  
  90.  4  SPRITES
  91.     4.1   Adding Sprites
  92.           4.1.1   Adding Weapons and Goodies
  93.           4.1.2   Adding Bad Guys
  94.                   4.1.2.1   Bad Guy Poses
  95.     4.2   Modifying Sprites
  96.                  4.2.1   Resizing and Shading Sprites
  97.     4.3   Making Copies of Sprites
  98.     4.4   Moving Sprites
  99.     4.5   Deleting Sprites
  100.     4.6   Flipping Sprites and Sprite Angles
  101.  
  102.  5  ADVANCED SECTOR STUFF
  103.     5.1   Cut-and-Pasting Sectors
  104.           5.1.1   Within the Same Level
  105.           5.1.2   Between Different Levels
  106.     5.2   Overlapping Sectors
  107.  
  108.  6  MISCELLEANOUS
  109.     6.1   Sector's "First" Wall and Relative Floors/Ceilings.
  110.     6.2   Slopes.
  111.     6.3   Multi-Player/Co-Op Start Points.
  112.     6.4   Multi-Play Weapons.
  113.  
  114.  7  SECTOR EFFECTOR REFERENCE GUIDE
  115.  
  116.  8  SPECIAL SPRITE REFERENCE GUIDE
  117.  
  118.  9  SECTOR TAGS REFERENCE GUIDE
  119.  
  120. 10  BUILD KEYBOARD COMMANDS
  121.  
  122. 11  BUILD MAP FORMAT
  123.  
  124. 12  MAP AUTHORING TEMPLATE
  125.  
  126. 13  A FEW FINAL WORDS FROM THE LEVELORD
  127.  
  128.  
  129. ───────────────────────────────────────────────────────────────────────────────
  130.                   ┌─────────────────────────────────────────┐
  131.                   │1. THE BUILD EDITOR & BASIC LEVEL EDITING│
  132.                   └─────────────────────────────────────────┘
  133.  
  134. This section gives detailed info on several ways to edit levels in Build.
  135. If you would like to see an index of everything you can do in Build, please
  136. see Section 10: Build Keys.
  137.  
  138.     1.1  Two Editing Modes: 2D and 3D
  139.  
  140.    There are two modes with which to make your cool Duke levels: 2D and 3D.
  141. 2D mode is a 2 dimensional view of your level and making a level in this mode
  142. is like drawing on grid paper.  3D mode is 3 dimensional and is similar to
  143. the game itself (switches, doors, some light effects, etc. don't work like in
  144. the game).
  145.  
  146.    Switching between the two modes is done with the Enter key on the numeric
  147. pad (*not* the Enter key near all the regular keys).  When in 2D mode, you're
  148. current position within the level is indicated by the white arrow.  The brown
  149. arrow, if you can see it, is the player's starting position when the game
  150. begins (this is explained later).
  151.  
  152.    NOTE:  Your current location (white arrow) must be within a valid sector
  153. to enter 3D mode.
  154.  
  155.     1.2  Level Basics: Sectors, Walls, Vertices, and Sprites
  156.  
  157.    Your level will be made of a few basic elements: sectors, walls, vertices,
  158. and sprites.  Sectors are like rooms and hallways and outside areas.  Sectors
  159. are made up of a floor, a ceiling, and walls.  Walls are just that - wall
  160. space between the floor and the ceiling of a sector.  The two points on
  161. either side of the wall, as seen in 2D mode (seen as corners in 3D mode), are
  162. its vertices.
  163.  
  164.    Sprites are used for bad guys, goodies, sector effectors, etc..  They can
  165. also be made to lay flat on walls, floors, and ceilings.  These flatten
  166. sprites, called "rotated", can be used for switches, blood splats, and
  167. decorations.
  168.  
  169.          1.2.1   Sector, Wall, and Sprites Attributes
  170.  
  171.    You can see the attributes (shade, tags, tile number, etc.) of sectors in
  172. 2D mode by pointing at them and hitting the TAB key.  You can do the same for
  173. walls and sprites with the Alt-TAB keys.  Since walls can be double-sided,
  174. make sure you point on the exact side of the wall before hitting Alt-TAB.
  175.  
  176.     1.3   2D Editor Mode
  177.  
  178.    2D mode editing is used to lay out the basic level.  It provides you with
  179. a top view of your level and shows your level's walls and sprites on a grid.
  180. It is very similar to a blueprint and most of a level's preliminary work done
  181. in this mode.
  182.  
  183.    When editing in 2D mode, use the left mouse button to grab things (vertices,
  184. sprites) and move them around the map.  Use the right mouse button to move your
  185. current position around the map.
  186.  
  187.    You'll notice, in 2D mode, that the closest sprite, the closest vertex,
  188. and the closest wall to the white arrow will blink.  This indicates that
  189. these particular objects will be acted upon by you.  This will be more
  190. important later when you start using high and low tags, and hit scan/
  191. blocking.  For now, though, you need to know that the blinking vertex is
  192. the one you'll grab if the mouse's left button is used.
  193.  
  194.          1.3.1   2D Grid and Resizing the Grid
  195.  
  196.    There are seven gradations to the 2D mode's grid.  The first six will
  197. actually display a grid of six varying sizes and a seventh with no grid at
  198. all.  The six grid sizes give you varying control and accuracy on sector wall
  199. and sprite placement.  Detailed work on very small spaces or tight sprite
  200. locations can be done at the sixth, finest grid size, while more grand, room-
  201. sized leveling can be done with the larger grid sizes.  The seventh, gridless
  202. display is usually only used to capture screen shots of levels for printing
  203. and planning.
  204.  
  205.          1.3.2   2D Grid Locking Feature
  206.  
  207.    When drawing walls or placing sprites in 2D mode, you'll notice that the
  208. wall's vertices, and the sprites, are placed exactly on grid cross lines.
  209. This is very useful because almost everything you BUILD will be rectilinear
  210. (square-shaped).  You will also want to keep areas symmetrical and
  211. proportioned with respect to sector sizes for rooms, doors, windows, etc..
  212.  
  213.    I don't recommend turning Grid Lock Mode off until you feel comfortable
  214. with BUILD and level designing.  When you want to make crazy shapes with your
  215. sectors, or place sprites so precisely that they need to be off the grid
  216. system, then use the "G" key to enable and disable the Grid Lock feature.
  217.  
  218.          1.3.3   2D Zooming In and Out
  219.  
  220.    You can zoom in and out within the 2D mode by using the "A" key to zoom
  221. in, and the "Z" key for zooming out.  These two keys, along with grid
  222. resizing, can greatly help when trying to develop differently sized areas
  223. of your maps.
  224.  
  225.     1.4   3D Editing
  226.  
  227.    The 3D mode of editing is used to do most of your level's designing.
  228. This mode resembles the actual game and therefore is more intuitive.  You
  229. will do your tile selections, shading, floor/ceiling elevations, etc. in
  230. 3D mode.
  231.  
  232.    Holding the left mouse key after pointing at a sprite, wall, floor, or
  233. ceiling in 3D mode will hold it as selected, even if the sprite moves beyond
  234. the mouse's crosshair during an editing operation.
  235.  
  236.    There three ways to control your altitude in 3D mode: Game Mode, Height
  237. Lock Mode, and Float Mode.  Game Mode is just like the game; you will be
  238. effected by gravity.  Height Lock Mode will let you move around the level
  239. with no gravity and always at the same height above the current floor.  Float
  240. Mode will let you hover without gravity and your height will not be effected
  241. by the floor's height below.
  242.  
  243.    You can switch between these modes by hitting the CapsLock key.  You can
  244. change your altitude by hitting the "A" and "Z" keys.
  245.  
  246.  
  247. ───────────────────────────────────────────────────────────────────────────────
  248.                         ┌─────────────────────────┐
  249.                         │2. BUILDING A BASIC LEVEL│
  250.                         └─────────────────────────┘
  251.  
  252.     2.1   Sectors and Walls
  253.  
  254.    A sector is the simplest and most fundamental of structures in your level.
  255. It is made of walls, a floor, and a ceiling.  You can control everything
  256. about each sector including its size and shape, the height of its floor and
  257. ceiling, the textures of its walls, and its shading and visibility.
  258.  
  259.  
  260.     2.2   Build a Simple Sector
  261.  
  262.  
  263.           2.2.1  Start up BUILD
  264.  
  265.    At the DOS prompt and within your Duke Nukem 3D directory, type the
  266. following:  YOU MUST BE IN THE DIRECTORY BUILD IS IN TO DO THIS!
  267.  
  268.    BUILD <map name>
  269.  
  270.    If it's a new level, you'll start in 2D mode with an empty grid.  If the
  271. level already exists, then you'll start in 3D mode at the player's start
  272. point.
  273.  
  274.  
  275.           2.2.2   Make Your First Sector
  276.  
  277.    If you're not already there, go to 2D mode (numeric pad "ENTER" key).
  278. Make a square sector by pointing the mouse at a starting point for the first
  279. wall of the sector and hit the SPACE bar.  You are now in Line Drawing Mode
  280. and you will notice that a white line is now following your mouse movements.
  281.  
  282.    Drag the mouse to a second point where you want the first wall to end and
  283. hit the SPACE bar again.  Continue in this fashion until a square is made
  284. with last point's position being exactly where the first point was put.  Line
  285. Drawing Mode will automatically stop when the last point is connected to the
  286. first and your first sector is now complete!  ...it's a milestone, so enjoy
  287. it ;)
  288.  
  289.    Go ahead and check out your new sector by placing the mouse's white arrow
  290. inside the new sector and hit the numeric ENTER key.  That's it, you new
  291. sector.  Check the size of the 3D view and compare it to the 2D view so you
  292. can get a feel for the grid size in 2D relative to the actual area it
  293. creates.
  294.  
  295.    The size of the sector can be changed (bigger, smaller) in 2D mode by
  296. grabbing the vertices with the left mouse button and dragging them.  You can
  297. select more than one vertex by first positioning the mouse pointer and
  298. holding the ...
  299.  
  300.    The walls will be an ugly (on purpose) brown stone tile if the map is a
  301. new one.  The walls will be the last defaulted wall if the map is not new.
  302. Okay, okay, we'll change the textures later, right now it's back to 2D mode
  303. (numeric ENTER key)...
  304.  
  305.  
  306.           2.2.3   Backtracking in Line Draw Mode
  307.  
  308.    If you make a mistake while in Line Draw Mode and want to backtrack a line
  309. or more, then simply hit the Backspace key.  You'll see the last placed point
  310. erased and the line it made removed.  You can complete undo all your lines
  311. and cancel Line Draw MOde by backspacing all the way back to the first point.
  312.  
  313.  
  314.     2.3  Single-sided and Double-sided Walls^B0
  315.  
  316.    You'll notice, upon returning to 2D mode, that your sector is made of
  317. white lines.  These whites are single-sided walls.  A single-sided wall only
  318. has player space on one side; the other side is "null" and can never be
  319. occupied by the player or anything else.  Your new sector has player space on
  320. the inside, but not on the outside.
  321.  
  322.    Double-sided walls are red in 2D mode and they have player space on both
  323. sides.  Double-sided lines always separate two sectors.  We'll add more
  324. sectors to our one-sector level in a bit.
  325.  
  326.  
  327.     2.4   Placing the Player's Start Position (IMPORTANT)
  328.  
  329.    It is important to make sure that the player's start position, indicated
  330. by a brown arrow in 2D mode, is within a sector (user space).  The game will
  331. behave very strangely if it tries to start the player in null space, and you
  332. will not think of this reason for the trouble at first and get all bummed
  333. that your level got corrupted and all that work is lost and oh, my...
  334. ...you've been warned.
  335.  
  336.    Place the player's start position by putting the mouse, and the white
  337. arrow, where you want and hit "Scroll Lock".  The brown arrow will now be
  338. there (you'll have to move the mouse a bit to see it).  The player's starting
  339. direction will be the same as the brown arrow's.
  340.  
  341.  
  342.     2.5   Quitting BUILD and Saving, Loading, Renaming Levels
  343.  
  344.    It's ALWAYS a good idea to test your level in stages as it grows.  Don't
  345. try to take on too much in any one editing session.  Let's stop here and load
  346. your new level into the game.  Even this simple level will make you utter
  347. "Cooool, I built this!" when you see it in the game.
  348.  
  349.    Exit BUILD by hitting the "Esc" key in 2D mode.  You can do a couple of
  350. things here.   We want to quit with the "Q" key and save our level by hitting
  351. the "Y" key when it asks.
  352.  
  353.    You can also simply save your level to disk with the "S" key and return
  354. immediately to BUILD.  I recommend that you do this often as you BUILD more
  355. complicated levels.  You will often want to backtrack away from an idea and
  356. reloading a previous version of your level is much easier than undoing the
  357. idea.
  358.  
  359.    Although you don't need to now, in the future you will want to load in
  360. different levels during a single BUILD session.  This can be done by hitting
  361. the "L" key and selecting the level from the list.
  362.  
  363.    Finally, you can rename your level by hitting the "A" key and providing
  364. the new name.
  365.  
  366.  
  367. ───────────────────────────────────────────────────────────────────────────────
  368.                         ┌──────────────────────────┐
  369.                         │3. BUILDING A BETTER LEVEL│
  370.                         └──────────────────────────┘
  371.  
  372.     Let's make our single-sectored, ugly-textured level a little better.  We
  373. can start adding rooms and splitting sectors but, first, let's fix those
  374. textures.
  375.  
  376.     3.1   Modifying Wall, Floor, and Ceiling Textures
  377.  
  378.           3.1.1   Selecting Textures
  379.  
  380.    Go to 3D mode and point at a wall in your sector.  Hit the "V" key and a
  381. screen will appear with textures.  If this is your first level, then only
  382. that ugly, brown stone texture will be showing.  This first screen of
  383. textures are all the ones that have been used in the current level.  Hit the
  384. "V" key again and the screen will fill with the complete texture set.
  385.  
  386.    Look for a texture that's cool and one that fits the level's motif.  You
  387. can peruse the textures with the arrow keys and PgUp/PgDn keys.  You can also
  388. go directly to a texture if you know its number.  Hit the "G" key and enter
  389. the tile number.  This will be more helpful later when you know where
  390. everything is.
  391.  
  392.    Do the same for the other walls; or, if the same texture is to used on all
  393. four walls (do this for now), simply point at the first wall (3D mode), hit
  394. the TAB key, point at other walls, and hit the ENTER key on each.
  395.  
  396.    Select a texture for the ceiling and floor by first pointing to each in 3D
  397. and then hitting the "V" key just as you did with the walls.  Again, the
  398. first screen will be the ceiling/floor textures already used in this level
  399. and, by hitting the "V" key a second time, you can get to all the textures.
  400.  
  401.    Floor and ceiling texture sizes *most* be a factor of 8 pixels in size to
  402. look right.  Most floor and ceiling textures are 64x64 or 128x128 pixels in
  403. size.  You'll notice a weird effect after selecting a texture that's not
  404. proportioned correctly.
  405.  
  406.  
  407.           3.1.2   Shading Textures
  408.  
  409.    Walls, ceilings, and floors can be shaded individually by pointing at each
  410. and hitting the numeric pad's "-" and "+" keys in 3D mode.  Shading a level
  411. can take tons of time and it is crucial to any good level to have good
  412. shading.  Don't spend too much time with it right now; you can fine tune the
  413. level later ;)
  414.  
  415.  
  416.           3.1.3   Resizing Textures
  417.  
  418.    The size of a texture can be changed (X and Y repeats for walls,
  419. "expansion" and "compression" for floors and ceilings).  Like shading, you
  420. shouldn't do much more than play with this feature for now.
  421.  
  422.    To change the size of wall textures, point at each in 3D mode and hit the
  423. numeric pad's 2, 4, 6, and 8.  You can see the texture expand and shrink.  If
  424. you want to go back to the default repeat value, point at the wall and hit
  425. the "/" key.  This will reset most of the wall's attributes to their
  426. defaults.
  427.  
  428.    The effect of the numeric pad's "2", "4", "6", and "8" keys can be
  429. incremented by a factor of four by holding the numeric pad's "5" key down
  430. while hitting these keys.
  431.  
  432.    To change the size of floor and ceiling textures, point at each  and hit
  433. the "E" key.  Floors and ceilings only have two sizes: "expanded" and
  434. "compressed" (the numeric pad's keys will not function).
  435.  
  436.  
  437.           3.1.4   Panning Textures
  438.  
  439.    Textures can be panned by pointing at the them in 3D mode and hitting the
  440. Shift key and the numeric pad's "2", "4", "6", and "8".  You'll see the
  441. texture shifting along in the direction of the numeric key.  Similar to
  442. texture sizing, you can hold the numeric pad's "5" key down while hitting
  443. these keys to resize texture in increments of four.
  444.  
  445.    You shouldn't need to play with this feature too much for now and I really
  446. only mention it early in case you've accidentally hit the numeric pad without
  447. the "Shift" key (resizing texture) and wondered what the heck happened to the
  448. texture.
  449.  
  450.  
  451.           3.1.5   Relative Textures (Floors/Ceilings)
  452.  
  453.    A floor's/ceiling's texture can be oriented relative to a specific wall.
  454. This can get a little confusing and I suggest you put it off until later.
  455. When you've finished this section, go ahead and make a triangular sector and
  456. play with the floor's relative alignment by pointing at the floor near one of
  457. the walls (in 3D mode) and hitting the Alt-F keys.  Go over to another wall
  458. and hit Alt-F again. ...cool, eh?
  459.  
  460.  
  461.           3.1.6   Parallax Floors and Ceilings
  462.  
  463.    To make a ceiling texture look like an arching sky, point at it in 3D mode
  464. and hit the "P" key.  Parallax skies usually need more than one texture, so
  465. notice that most textures won't look good when set to parallaxing;  it's best
  466. to use the textures intended for paralaxing.   Floors can also be parallaxed
  467. for a weird effect.
  468.  
  469.    Things can get a little tricky once a ceiling or floor has been set to
  470. parallaxing.  When you start adding more sectors to your level, especially
  471. ones that involve parallaxed ceilings/floors, some walls will disappear or
  472. look weird in 3D mode.  It's hard to explain in text here, but you'll see
  473. what I mean and you'll see what to do to muscle your way through.
  474.  
  475.  
  476.           3.1.7   Orienting Walls to the Floor or Ceiling
  477.  
  478.    Walls will either be oriented to the sector's floor or its ceiling.  You
  479. can change the wall's orientation by pointing at it and hit the "O" key.
  480. The orientation of the wall determines whether the wall's tile moves with
  481. the floor or the ceiling.  To play with this, simply point at a floor in your
  482. map and watch the wall as you raise and lower the floor with the PgUp/PgDn
  483. keys.  Now point at the wall and hit the "O" key.  Change the floor's
  484. elevation again and watch the wall.  Notice that the wall tile moved with the
  485. floor in one case and didn't in the other.  This will be more important
  486. when you start using moving sectors.
  487.  
  488.  
  489.     3.2   Splitting and Removing Walls
  490.  
  491.    You can split a wall into two, smaller walls (for texture changes,
  492. shading, etc.) in 2D mode.  To split an existing wall into two walls, point
  493. at the desired location along the wall and hit the Insert key.  A new vertex
  494. will be added along the wall.
  495.  
  496.    A split in a wall can be removed by dragging the undesired vertex to one
  497. of its neighbor vertices with the mouse's left button.  This will remove the
  498. vertex and thus make a single wall of the original two.
  499.  
  500.  
  501.     3.3   Resizing and Moving Sectors
  502.  
  503.    Remember, you can resize the sectors of your level in 2D mode and the left
  504. mouse button.  Also, you can grab more than one vertex when doing this.
  505. Position the white arrow above and to the left of the desired group of
  506. vertices.  Hold the Right-Shift key down and you'll see a white box grow and
  507. shrink as you move the mouse.  Make a box big enough to surround all of the
  508. desired vertices and release the Right-Shift key.  The selected vertices will
  509. all blink now and you can move them all by moving one.  To un-select the
  510. vertices, simply hit the Right-Shift key again.  Multiple sprites can be
  511. selected and moved like this, too.
  512.  
  513.    You can move entire sector groups by Right-Shifting them, but be careful
  514. to notice that this moves the sector(s) by the vertices.  If not all vertices
  515. are selected, then some of the sectors can get deformed and twisted.
  516.  
  517.    If you want to move sectors without regard to their vertices, then you can
  518. can them with the Right-Alt key.  A box similar to the Right-Shift selection
  519. one will appear.  This box will be green.
  520.  
  521.    You will have to play with the two selection features, Right-Shift and
  522. Right-Alt, to get a feel for their differences.  Save this for later.
  523.  
  524.  
  525.     3.4   Altering Floor and Ceiling Heights ...and Textures again
  526.  
  527.    You can raise and lower floors and ceilings by pointing at each, in 3D
  528. mode, and hitting the PgUp/PgDn keys.  You can also, now, change the texture
  529. of the different floors and ceilings with the "V" key.
  530.  
  531.  
  532.     3.5   Splitting, Joining, Adding, and Deleting Sectors
  533.  
  534.    We're now ready to split, add, and delete sectors.  From here you will be
  535. able to add rooms, windows, doors, whatever to your level.  Most of this
  536. designing will be in 2D mode and keep Grid Locking "ON".
  537.  
  538.  
  539.           3.5.1   Splitting Sectors
  540.    Let's split our single-sectored level into a two-sectored room.  Add a
  541. vertex to two of the opposing walls in the sector; that is, split two of the
  542. walls.  Point at either of these two, new vertices and hit the Space bar.
  543. You are in Line Drawing mode and should point the mouse at the other new
  544. vertex and hit Space bar.  Your original sector is now split into two.  Go
  545. ahead into 3D mode for a moment and play with the two different floors and
  546. ceilings.
  547.  
  548.  
  549.           3.5.2   Joining Sectors
  550.  
  551.    You can join the two, new sectors back into their original single sector
  552. by pointing at one of the sectors in 2D mode and hitting the "J" key.  Then,
  553. point to the second sector and hit the "J" key again.
  554.  
  555.  
  556.           3.5.3   Adding a Sector
  557.  
  558.    In effect, we added a sector when we split the original sector just
  559. before.  There are a few more ways that we can add sectors to our level.  We
  560. can create a new, stand-alone sector independent of an existing one, we can
  561. add a new sector along the outside of an existing one, and we can make a
  562. sector inside an existing one.
  563.  
  564.  
  565.                   3.5.3.1   Adding an Independent Sector
  566.  
  567.    To add a new, independent sector to your level, simply follow the stages
  568. that you did above.  You can decide to connect independent sectors later, if
  569. you wish.
  570.  
  571.  
  572.                   3.5.3.2   Adding an Extension Sector
  573.  
  574.    You can add a new extension to your level by starting Line Drawing at one
  575. of the vertices in 2D mode.  Draw three lines, outside the original sector,
  576. with the third ending at the vertex on the original sector such that a square
  577. is made by the three new lines and one of the lines in the original sector.
  578. Notice the line between the two vertices of the first sector has turned red
  579. indicating that it now separates two sector.  The original single-room sector
  580. is now bigger and made of two sectors.
  581.  
  582.  
  583.                   3.5.3.3   Adding a Sector within a Sector (island)
  584.  
  585.    Draw a sector within an existing sector the same way you did with the
  586. original sector.  When the four walls are connected and the inner sector is
  587. established, it will be made of single-sided (white) walls.  This means that
  588. the space inside the new sector is null and the original sector is now
  589. doughnut-shaped.
  590.  
  591.    If you want to make an actual sector-in-a-sector, then position the mouse
  592. cursor inside the inner sector and hit Alt-Insert.  This will change the
  593. inner sector into valid player space.
  594.  
  595.  
  596.                   3.5.3.4   Adding a Sector within a Sector (peninsula)
  597.  
  598.    You will probably need to insert connection points for the new sector.
  599. Add the new sector by starting at one of the newly inserted vertices and
  600. drawing 3 lines inside the original sector, ending at the other newly added
  601. vertex.  This new sector will automatically be made of double-sided lines and
  602. the new sector will be a valid sector.
  603.  
  604.  
  605.           3.5.4   Deleting a Sector
  606.  
  607.    You can delete a sector, in 2D mode, by placing the white arrow in it and
  608. hitting the Ctrl-Delete keys.  Be careful!  There is no "undo" feature in
  609. BUILD, so I usually do a quick Esc-and-Save before I delete sectors.
  610.  
  611.  
  612.     3.6   Incremental Backups of Your Level
  613.  
  614.    As your level gets bigger and more complicated, I highly recommend that
  615. you quit and save it in it's growing versions as you go.  That is, quit BUILD
  616. with a save and then copy your level to a temporary file (LEVEL.001,
  617. LEVEL.002, ..., etc.).  I usually make progressive, incremental backup copies
  618. of my level about once an hour.  With these backup copies, not only can I
  619. backtrack to previous versions of a level if an idea goes bad, but I can also
  620. try different variations of the same level.
  621.  
  622.    You should play with sectors now and get a good feel for their basic
  623. layout.  Try adding rooms and hallways.  Change some floor and ceiling
  624. heights.  Play with the textures.  Next we'll start adding sprites (weapons,
  625. goodies, bad guys, etc.) and you can actually "play" your level.
  626.  
  627.  
  628. ───────────────────────────────────────────────────────────────────────────────
  629.                                   ┌──────────┐
  630.                                   │4. SPRITES│
  631.                                   └──────────┘
  632.  
  633.    Sprites are used for bad guys, weapons, ammo, goodies, switches, and
  634. decoration.  You probably noticed while you were looking for wall textures
  635. before, that the art work for these things were there, too.  When you start
  636. adding sprites, take a look around within the textures again; there are lots
  637. of sprites and they're often good for inspiring ideas for the level.
  638.  
  639.    In 2D mode, sprites will appear as little dots with a tail.  If the sprite
  640. has a name assigned to it, such as "shotgun", this will be displayed if you
  641. are zoomed in enough.  The tail of the sprite tells you its orientation.  The
  642. sprite will point in the direction of the tail when it's initiated by the
  643. game.
  644.  
  645.  
  646.     4.1   Adding Sprites
  647.  
  648.    You will usually use 2D mode for sprite placement because it's more
  649. accurate and seems more convenient with a top view.  Go to 2D mode, point at
  650. a place for the sprite and hit the "S" key.  The "S" key will work in 3D mode
  651. in the same way - point at the spot on the floor or ceiling where you want
  652. the sprite and hit "S".
  653.  
  654.    Go to 3D mode and look at the sprite.  If this is a new map, or at least
  655. one without any sprites, you'll see that ugly, brown texture.  You can select
  656. the right texture for the sprite in the same way that you selected wall
  657. textures.
  658.  
  659.    Point at sprite hit the "V" key.  The first screen are the sprites already
  660. used in current map and hitting the "V" key again will show all the textures.
  661. Use the arrow keys and PgUp/PgDn to move around the textures and hit Enter
  662. when you see the one you want.
  663.  
  664.    You can leave the sprite on the floor or move it up and down with the
  665. PgUp/PgDn keys in 3D mode.  Ctrl-PgUp and Ctrl-PgDn, while pointing at the
  666. sprite, will put the sprite directly on the ceiling or floor, respectively.
  667.  
  668.  
  669.           4.1.1   Adding Weapons and Goodies
  670.  
  671.    You'll find all of the weapons, ammo, and goodies near the beginning of
  672. the texture set.  Select one of these.
  673.  
  674.  
  675.           4.1.2   Adding Bad Guys
  676.  
  677.    All of the bad guys are near the end of the textures set.  You'll notice,
  678. when you find them, that all of the poses of each character is there.  When
  679. placing a bad guy, ALWAYS make sure that you've selected the specific texture
  680. with the bad guy's name ("pigcop").  You'll see texture names at the bottom,
  681. right of the screen while you're viewing them ("V" key from 3D mode).
  682.  
  683.  
  684.                   4.1.2.1   Bad Guy Poses
  685.  
  686.    You will usually select the first sprite texture (called a "frame" because
  687. these frames are used to animate the bad guy within the game) for the bad
  688. guy.  Again, this texture will always have the generic name of the bad guy.
  689. There are other textures for the bad guy that can be used, though, that give
  690. you control over its initial attack style and roaming capabilities.
  691.  
  692.    The second frame of most bad guys is called its "stayput".  If you use
  693. this frame for the bad guy's sprite, then the actual bad guy in the game will
  694. stay in its sector and never leave it.  This is great for setting up sniper
  695. bad guys or keeping them on roof tops.
  696.  
  697.    There are other poses for various bad guys and you should take the time to
  698. check them.  For instance, the Troopers can be started in their crouching
  699. pose and Pig Cops in their prone pose (great for behind-the-counter
  700. encounters).  Troopers can also be started in their jet pack mode (death from
  701. above) and Liz Troopers in their leaping pose (always good for a jolt to the
  702. player).
  703.  
  704.  
  705.     4.2   Modifying Sprites
  706.  
  707.  
  708.                  4.2.1   Resizing and Shading Sprites
  709.  
  710.    The size of the sprite can be changed by pointing at it in 3D mode and
  711. hitting the "2", "4", "6", and "8" keys on the numeric pad just the way you
  712. did to resize wall textures.  You will probably want to resize most of the
  713. sprites to what looks good to you, but beware, always be consistent and keep
  714. all similar sprites the same size throughout the level.
  715.  
  716.    You can also shade the sprite in 3D mode with the "-" and "+" keys on the
  717. numeric pad.  It's usually a good idea to keep the shade setting at zero and
  718. let the sector's shade take control during the game.  Then again, I do like
  719. to set the shade on goodies and weapons to their max (-127) so the player can
  720. see them from far away.
  721.  
  722.  
  723.     4.3   Making Copies of Sprites
  724.  
  725.    If you want to make exact copies of a sprite, you can point at it in 3D
  726. mode, hit the TAB key and now, each time you hit the "S" key to add a sprite,
  727. it will generate a copy (size, shading, and all).
  728.  
  729.  
  730.     4.4   Moving Sprites
  731.  
  732.    Sprites can be moved around the level in 2D mode by pointing at the sprite
  733. and holding the left mouse button down.  Remember that more than one sprite
  734. can be selected with the Right-Shift keys.
  735.  
  736.  
  737.     4.5   Deleting Sprites
  738.  
  739.    Sprites can be deleted in either 2D or 3D mode by pointing at it and
  740. hitting the Delete key.
  741.  
  742.  
  743.     4.6   Flipping Sprites and Sprite Angles
  744.  
  745.    You can flip the sprite's texture in 3D mode by pointing at it and hitting
  746. the "F" key.
  747.  
  748.  
  749. ───────────────────────────────────────────────────────────────────────────────
  750.                          ┌────────────────────────┐
  751.                          │5. ADVANCED SECTOR STUFF│
  752.                          └────────────────────────┘
  753.  
  754.    As you start trying more difficult level designing, keep in mind that many
  755. of the things you want to do are already done in other levels.  You should
  756. load some of our levels into BUILD and see how we did things.  There are tons
  757. of tricks and neat things in BUILD, and I can't mention most of them here.
  758.  
  759.  
  760.     5.1   Cut-and-Pasting Sectors
  761.  
  762.    You can cut-and-paste a sector or group of sectors.  This can save you
  763. lots of time when making multiple copies of doors, elevators, and other
  764. sector gizmos.  You can also grab sections of other levels and copy them into
  765. your current level.
  766.  
  767.  
  768.           5.1.1   Within the Same Level
  769.  
  770.    Sector-select (Right-Alt key in 2D mode) the group of sectors that you
  771. want to copy.  While the desired sectors are blinking green, point the mouse
  772. within the group and hold the left button down.  (Be careful not to move the
  773. group while holding the mouse button down.)  Hit the Insert key and the group
  774. of sectors will be copied.  Keep the left mouse button depressed and move the
  775. new group of sectors to their new location.  When the new group is relocated,
  776. hit the Right-Alt key again to un-select the group.
  777.  
  778.    Notice that everything was copied: sprites, walls, tags, everything.  You
  779. may have to re-assign switch tags and check weapons and goodies.
  780.  
  781.  
  782.           5.1.2   Between Different Levels
  783.  
  784.    You can also copy sectors from one level to another.  Grab and copy the
  785. group of sectors the same way as described above (Right-Alt select group in
  786. 2D mode, hit Insert key while holding left mouse button down over sector
  787. group).  While the new, copied sector group is still blinking green, hit the
  788. Escape key and load in the second level.  When it is loaded into BUILD, the
  789. copied sector group will be overlaid and you can re-position it.
  790.  
  791.    It's always a good idea to do a quick Escape/Save after copying a group of
  792. sectors into another level.  After copying and positioning the group, un-
  793. select it (Right-Alt) and save the level.
  794.  
  795.  
  796.     5.2   Overlapping Sectors
  797.  
  798.    BUILD will let you overlap sectors and you can do some really cool things
  799. by doing so.  We didn't have time to finish this section of the document
  800. before release, but some of the restrictions are:
  801.  
  802.    1) You can never see 2 overlapping floors/ceilings in 3d mode.
  803.       The sectors can be cut to get around this
  804.    2) Overlapping sectors can never share a double-sided (red) wall
  805.  
  806.  
  807. ───────────────────────────────────────────────────────────────────────────────
  808.                              ┌────────────────┐
  809.                              │6. MISCELLEANOUS│
  810.                              └────────────────┘
  811.  
  812.  
  813.     6.1   Sector's "First" Wall and Relative Floors/Ceilings.
  814.  
  815.    The wall between the first two points of a sector is the sector's first
  816. wall.  You can select the sector's first wall by pointing at the floor or
  817. ceiling, in 3D mode, just in front of the desired wall and hitting the Alt-F
  818. keys.  More times than not, you will not need to re-assign sector first
  819. walls.
  820.  
  821.    If you want to align the floor/ceiling textures along a specific wall,
  822. usually to make the pattern in the texture match the direction of the wall,
  823. you can make the floor/ceiling texture "relative".  To toggle between
  824. relatively aligned textures and normally aligned textures, point at the floor
  825. or ceiling in 3D mode and hit the "R" key.
  826.  
  827.    You may also want to make floors/ceilings relative when you start playing
  828. with moving sectors.
  829.  
  830.  
  831.     6.2   Slopes.
  832.  
  833.    can slope with the "[" and "]" keys
  834.  
  835.    can make a perfect match with the next sector's floor or ceiling with the
  836. Alt-[ and Alt-] keys.
  837.  
  838.  
  839.     6.3   Multi-Player/Co-Op Start Points.
  840.  
  841.    Place Duke's first frame for each multi-player and co-op start position.
  842. There needs to be seven of each; the single-play start position will be used
  843. as one of the multi-play and one of the co-op start positions.  That makes a
  844. total of eight start positions for each.
  845.  
  846.    To identify co-op start positions from multi-play ones, give the co-op
  847. Duke sprites a low tag of 1.
  848.  
  849.    For multiplay, spread the starting positions around the level in good
  850. places where none of the players will have an advantage over the others (near
  851. a good weapon, etc.).  For co-op, place all the player starts right near the
  852. single-play start position (brown arrow in 2D mode) so that the co-op team
  853. will be together at the start of the game.
  854.  
  855.  
  856.     6.4   Multi-Play Weapons.
  857.  
  858.    palette shift to palette #1 (blue)
  859.  
  860.  
  861. ───────────────────────────────────────────────────────────────────────────────
  862.                    ┌──────────────────────────────────┐
  863.                    │7. SECTOR EFFECTOR REFERENCE GUIDE│
  864.                    └──────────────────────────────────┘
  865.  
  866. --------------------------------------------------------------------------------
  867. Sector Effect Reference Guide
  868. 1996 Allen H. Blum III
  869. --------------------------------------------------------------------------------
  870.  
  871. -SECTOR EFFECTOR -
  872.  
  873.  0  : ROTATED SECTOR
  874.  1  : PIVOT SPRITE FOR SE 0
  875.  2  : EARTHQUAKE
  876.  3  : RANDOM LIGHTS AFTER SHOT OUT
  877.  4  : RANDOM LIGHTS
  878.  6  : SUBWAY
  879.  7  : TRANSPORT (UNDERWATER ST 1 or 2)
  880.  8  : UP OPEN DOOR LIGHTS
  881.  9  : DOWN OPEN DOOR LIGHTS
  882.  10 : DOOR AUTO CLOSE (H=DELAY)
  883.  11 : ROTATE SECTOR DOOR
  884.  12 : LIGHT SWITCH
  885.  13 : C-9 EXPLOSIVE
  886.  14 : SUBWAY CAR
  887.  15 : SLIDE DOOR (ST 25)
  888.  16 : ROTATE REACTOR SECTOR
  889.  17 : ELEVATOR TRANSPORT (ST 15)
  890.  18 : INCREMENTAL SECTOR RAISE/FALL
  891.  19 : SHOT TOUCHPLATE CIELING DOWN
  892.  20 : BRIDGE (ST 27)
  893.  21 : DROP FLOOR (ST 28)
  894.  22 : PRONG (ST 29)
  895.  23 : ONE WAY TELEPORTER EXIT
  896.  24 : CONVAIRBELT
  897.  25 : ENGINE
  898.  27 : CAMERA FOR PLAYBACK
  899.  28 : LIGHTING BOLT ENGINE
  900.  29 : FLOAT
  901.  30 : 2 WAY TRAIN (ST=31)
  902.  31 : FLOOR RISE
  903.  32 : CEILING FALL
  904.  33 : SPAWN JIB W/QUAKE
  905.  36 : SKRINK RAY SHOOTER
  906.  
  907. --------------------------------------------------------------------------------
  908. Definitions:
  909. --------------------------------------------------------------------------------
  910.  
  911. SE 0 : Rotate Sector
  912.  
  913.    :Used to rotate a sector around a pivot point.
  914.  
  915.    Hitag : Set equal to Hitag of SE 1 as pivot point for sector.
  916.    Sector Lotag : none
  917.    Angle : up = Rotate all points around SE 1.
  918.            down = Rotate sector around SE 1.
  919.    Shade : none
  920.    Palette : none
  921.    Comment :
  922.       :If Relative alignment is set on the floor,( the R key ), then all
  923.        sprites and actors on the floor will rotate with the sector
  924.  
  925. SE 1 : Pivot for Rotate SE 0
  926.  
  927.    :Used as a pivot point for Sector Effector 0 to rotate a sector around.
  928.  
  929.    Hitag : Set equal to Hitag of all SE 0 to rotate.
  930.    Sector Lotag : none
  931.    Angle : up = Rotate clockwise
  932.            down = Rotate counter-clockwise
  933.    Shade : none
  934.    Palette : none
  935.    Comment :
  936.  
  937. SE 2 : Earthquake
  938.  
  939.    :Used to set off an earthquake. During the earthquake the screen will
  940.    shake for about 4 seconds. The sector will move in the direction that
  941.    the SE sprite is pointing. If there is a slope, then it will rise
  942.    during the earthquake.
  943.  
  944.    Hitag : none
  945.    Sector Lotag : none
  946.    Angle : Direction to move sector during earthquake.
  947.    Shade : none
  948.    Palette : none
  949.    Comment :
  950.       :Must activate with Masterswitch.
  951.       :If there is a slope, then it will be made flat at pre-map and
  952.        raised during the earthquake to a maximum height of 4 clicks.
  953.  
  954. SE 3 : Random lights after shot out
  955.  
  956.    :Used to create lighting effect when lights are shot out. It will
  957.     also set the color of light when the light is on. Make the sector
  958.     shade dark when the light is out and make the SE sprite shade bright
  959.     when the light is on.
  960.  
  961.    Hitag : Set equal to Wall Lotag with graphic of Light or
  962.            Set equal to Ceiling Hitag with graphic of Light.
  963.    Sector Lotag : none
  964.    Angle : none
  965.    Shade : Set to brightness when light is on, set sector brightness to when light is off.
  966.    Palette : Set to Palette Lookup number when light is on.
  967.    Comment :
  968.       :Can be used with SE 12 to be turned on and off with a light
  969.        switch until the lights are shot out.
  970.       :The lights color is taken from the SE sprites Palette when the
  971.        light is on, and the sectors palette when the light is off.
  972.        Default is no color. e.g. palette = 0.
  973.       :Both the SE sprite and the sector can have different palettes.
  974.  
  975. SE 4 : Random lights
  976.  
  977.    :Used to make sector randomly flash in brightness. It will also set
  978.     the color of light when the light is on. Make the sector shade dark
  979.     when the light is off and make the SE sprite shade bright when the
  980.     light is on.
  981.  
  982.    Hitag : Set for Random Flash number.
  983.    Sector Lotag : none
  984.    Angle : none
  985.    Shade : Set to brightness when light is on, set sector brightness to when light is off.
  986.    Palette : Set to when light is on.
  987.    Comment :
  988.       :Can NOT be used with SE 12 to be turned on and off with a light
  989.        switch.
  990.       :The lights color is taken from the SE sprites Palette when the
  991.        light is on, and the sectors palette when the light is off.
  992.        Default is no color. e.g. palette = 0.
  993.       :Both the SE sprite and the sector can have different palettes.
  994.  
  995. SE 5 : Reserved
  996.  
  997. SE 6 : Subway Engine
  998.  
  999.    :Used as the Engine for a Subway. Use with SE 14 for multiple subway
  1000.     cars. Must be used with Locator Sprite to set track.
  1001.  
  1002.    Hitag : Set equal to Locator Lotag for starting position.
  1003.    Sector Lotag : none
  1004.    Sector Hitag : All sectors within Car sector must be equal.
  1005.    Angle : Set for direction of Subway.
  1006.    Shade : none
  1007.    Palette : none
  1008.    Comment :
  1009.       :Set relative align on sector floor, (R key), to make sprites
  1010.        move.
  1011.       :If a Locator has a Hitag of 1, then the Subway will stop at that
  1012.        locator for 5 seconds then continue.
  1013.  
  1014. SE 7 : Transport / Water
  1015.  
  1016.    :Used as Teleporter and Water Effect.
  1017.  
  1018.    Hitag : Set equal to one other SE 7 to Transport to.
  1019.    Sector Lotag : 0 = Teleporter.
  1020.                   1 = On top of water.
  1021.                   2 = Underwater
  1022.    Angle : none
  1023.    Shade : none
  1024.    Palette: 0 = Normal/Default
  1025.                > 0 = Teleporter won't play sfx or flash when used.
  1026.    Sector Palette : 0 = Water
  1027.                              8 = Green Slime
  1028.    Comment :
  1029.       :If the Sector Effector Sprite is off the ground, then you will only
  1030.        teleport when dukes waist is at the same height as the sprite and in
  1031.        the same sector.
  1032.       :When using with Sector Lotag 1 and 2 as water, the two sectors must be
  1033.        exactly the same size or you will teleport to death.
  1034.  
  1035. SE 8 : Up Open Door Lights
  1036.  
  1037.    :Used to light up a room when a door is opened.
  1038.  
  1039.    Hitag : Set equal to all other SE 8 used together.
  1040.    Sector Lotag : Use with any that raises the ceiling. ex: Sector Lotag 20
  1041.    Angle : none
  1042.    Shade : Set to brightness when light is on, set sector brightness to when light is off.
  1043.    Palette : none
  1044.    Comment :
  1045.       :At least one SE 8 with equal Hitag must be in a sector in which the
  1046.        ceiling rises.
  1047.  
  1048. SE 9 : Down Open Door Lights
  1049.  
  1050.    :Used to light up a room when a light comes down from the ceiling.
  1051.  
  1052.    Hitag : Set equal to all other SE 9 used together.
  1053.    Sector Lotag : Use with any that lowers to floor. ex: Sector Lotag 21
  1054.    Angle : none
  1055.    Shade : Set to brightness when light is on, set sector brightness to when light is off.
  1056.    Palette : none
  1057.    Comment :
  1058.       :At least one SE 8 with equal Hitag must be in a sector in witch the floor rises.
  1059.  
  1060. SE 10 : Door Auto Close
  1061.  
  1062.    :Used to Automatically close a door after a set delay.
  1063.  
  1064.    Hitag : Delay until door closes. ex: 128 equals 4 seconds.
  1065.    Sector Lotag : Use with all door Sector Lotags
  1066.    Angle : none
  1067.    Shade : none
  1068.    Palette : none
  1069.    Comment :
  1070.  
  1071. SE 11 : Rotate Sector Door
  1072.  
  1073.    :Used as a door that rotates 90 degrees when activated.
  1074.  
  1075.    Hitag : none
  1076.    Sector Lotag : 23
  1077.    Angle : none
  1078.    Shade : none
  1079.    Palette : 0 = clockwise
  1080.              1 = Counter-clockwise
  1081.    Comment :
  1082.       :Will also activate other SE 11 with equal Hitag values.
  1083.  
  1084. SE 12 : Light Switch
  1085.  
  1086.    :Used light up a sector when activated with a switch.
  1087.  
  1088.    Hitag : Set equal to all other SE 12 used together
  1089.    Sector Lotag : none
  1090.    Angle : none
  1091.    Shade : Set to brightness when light is on, set sector brightness to when light is off.
  1092.    Palette : Set to when lights are on.
  1093.    Comment :
  1094.       :The lights color is taken from the SE sprites Palette when the
  1095.        light is on, and the sectors palette when the light is off.
  1096.        Default is no color. e.g. palette = 0.
  1097.       :Both the SE sprite and the sector can have different palettes.
  1098.  
  1099. SE 13 : C-9 Explosive
  1100.  
  1101.    :Used to blow apart the ceiling and floor of a sector to create holes
  1102.     in walls
  1103.  
  1104.     Hitag : Set equal to SEENINE, OOZCAN, or CRACK sprites to activate
  1105.     Sector Lotag : none
  1106.     Angle : up = both ceiling and floor come together at Pre-map.
  1107.             down = Only the ceiling or the floor matches height with the
  1108.                    SE sprite depending on which one is closest.
  1109.     Shade : none
  1110.     Palette : none
  1111.     Comment :
  1112.        :Can be activated by a Masterswitch with equal Hitags.
  1113.        :If the ceiling has a Sky texture without Parallax set, then the
  1114.         tile will be replaced at Pre-map with the closest non-Sky
  1115.         texture. When it explodes, the sky will change to Parallax.
  1116.  
  1117. SE 14 : Subway Car
  1118.  
  1119.    :Used as the Car for a Subway. Use with SE 6 for Subway engine.
  1120.     Must be used with Locator Sprite to set track.
  1121.  
  1122.    Hitag : Set equal to Locator Lotag for starting position.
  1123.    Sector Lotag : none
  1124.    Sector Hitag : All sectors within Car sector must be equal.
  1125.    Angle : Set for direction of Subway.
  1126.    Shade : none
  1127.    Palette : none
  1128.    Comment :
  1129.       :Set relative align on sector floor, (R key), to make sprites
  1130.        move.
  1131.       :If a Locator has a Hitag of 1, then the Subway will stop at that
  1132.        locator for 5 seconds then continue.
  1133.  
  1134. SE 15 : Slide Door
  1135.  
  1136.    :Used as a door that slides when opened.
  1137.  
  1138.    Hitag : Set equal to other doors to be opened at same time.
  1139.    Sector Lotag : 25
  1140.    Angle : Set to direction when door is closed.
  1141.    Shade : none
  1142.    Palette : none
  1143.    Comment :
  1144.       :Speed Sprite sets distance to door to open.
  1145.       :Check !SE.map on how to build.
  1146.       :Use MusicSFX sprite for sound.
  1147.  
  1148. SE 16 : Reserved
  1149.  
  1150. SE 17 : Elevator Transport
  1151.  
  1152.    :Used as an Elevator that transports from one elevator shaft to
  1153.     another to simulate going straight up from one floor to another.
  1154.  
  1155.    Hitag : Equal to one other SE 17.
  1156.    Sector Lotag : 15
  1157.    Sector Hitag : 0 = Bottom Floor
  1158.                   1 = Top Floor
  1159.    Angle : none
  1160.    Shade : Darkest shade of the two SE 17 with equal Hitag is the
  1161.            starting floor for the elevator.
  1162.    Palette : none
  1163.    Comment :
  1164.       :Top and Bottom floors must be physically built at proper height
  1165.        difference to work properly.
  1166.       :Both Elevators must be Exactly the same size.
  1167.  
  1168. SE 18 : Incremental Sector Raise/Fall
  1169.  
  1170.    : Used as sector floor or ceiling raise/fall that can be activated incrementally.
  1171.  
  1172.    Hitag : Set equal to units moved per activation.
  1173.            Unit = one page-up/page-down in build.
  1174.    Angle : Up = Floor will move incrementally (by Hitag #).
  1175.            Down = Ceiling will move incrementally.
  1176.    Palette : 0 = Start at build set height.
  1177.             >0 = height set to SE Sprite in premap.
  1178.    Comment:
  1179.       :Sector will move in opposite direction as it is at premap.
  1180.        i.e. if sector is set to SE Sprite floor/ceiling will move to set height.
  1181.  
  1182. SE 19 : Shot Touchplate Ceiling Down
  1183.  
  1184.    :Used to close ceiling when a shot or explosion hits within the
  1185.     sector.
  1186.  
  1187.    Hitag : Equal to others to activate at same time.
  1188.    Sector Lotag : none
  1189.    Angle : none
  1190.    Shade : none
  1191.    Comment :
  1192.       :Does not check to when a shot or object passes through the
  1193.        sector.
  1194.       :Use MusicSFX sprite for sound.
  1195.  
  1196. SE 20 : Bridge
  1197.  
  1198.    :Used to stretch a sector when activated.
  1199.    Hitag : none
  1200.    Sector Lotag : 27
  1201.    Angle : Set to direction to stretch sector.
  1202.    Shade : none
  1203.    Comment :
  1204.       :Set relative alignment, (R key), on sector to move floor.
  1205.       :Use Speed sprite for distance.
  1206.  
  1207. SE 21 : Drop Floor
  1208.  
  1209.    :Used to make a floor or ceiling drop to the height of the
  1210.     SE sprite when activated by a Masterswitch.
  1211.  
  1212.    Hitag : Set equal to others that activate at same time.
  1213.    Sector Lotag : 28
  1214.    Angle : up = Drop Ceiling
  1215.            down = Drop Floor
  1216.    Shade : none
  1217.    Comment:
  1218.       :Floor or Ceiling matches height of SE sprite at Pre-map then
  1219.        drops to set position when activated.
  1220.       :To do opposite, the SE sprite height must be put into sector.
  1221.  
  1222. SE 22 : Prong
  1223.  
  1224.    :Used as Door inside Teeth Prongs.
  1225.  
  1226.    Hitag : Set equal to Hitag of Sector Lotaged 29.
  1227.    Sector Lotag : 0, Outside Sector Lotag of 29
  1228.    Angle : none
  1229.    Shade : none
  1230.    Comment:
  1231.       :This Effector was not tested in the, game so use at your own risk.
  1232.        It may cause problems in multi-play.
  1233.       :See !SE.MAP for usage.
  1234.  
  1235. SE 23 : One Way Teleporter Exit
  1236.  
  1237.    :  Used as an exit indicator for a one way teleporter.
  1238.  
  1239.    Hitag:  Set equal to teleporter entrance sprite Hitag (SE 7).
  1240.    Angle:  Actor facing on exit.
  1241.    Palette:  0 = Normal/default
  1242.             >0 = No Teleporter sound or flash on use.
  1243.  
  1244. SE 24 : Conveyor belt
  1245.  
  1246.    :Used to move sprites along the floor like a conveyor belt.
  1247.  
  1248.    Hitag : Set equal to a switch to turn on and off.
  1249.    Sector Lotag : none
  1250.    Angle : Set to direction to move sprites.
  1251.    Shade : none
  1252.    Comment:
  1253.       :Set relative alignment (R key) on sector floor to move sprites.
  1254.       :Set Speed sprite equal to rate of movement.
  1255.  
  1256. SE 25 : Engine Piston
  1257.  
  1258.    :Used as a Piston that only goes up and down.
  1259.  
  1260.    Hitag : none
  1261.    Sector Lotag : none
  1262.    Angle : none
  1263.    Shade : none
  1264.    Comment:
  1265.       :Put SE sprite height to starting position of Piston.
  1266.       :Speed sprite equals rate of movement.
  1267.  
  1268. SE 26 : Reserved
  1269.  
  1270. SE 27 : Camera for Playback
  1271.  
  1272.    :Used as a camera position to view playback of game Demos.
  1273.  
  1274.    Hitag : Set to maximum distance for the camera to view the action of
  1275.            other players. e.g. 2048 equals largest grid in build.
  1276.    Sector Lotag : none
  1277.    Angle : none
  1278.    Shade : none
  1279.    Comment:
  1280.       :Camera does not always work well with extreme heights.
  1281.  
  1282. SE 28 : Lighting Engine
  1283.  
  1284.    : Used to create lighting effect in an area of 10000. On random activation
  1285.      will flash linked Lighting Bolt sprites and start sfx.
  1286.  
  1287.    Hitag: Set equal to Lighting Bolt Sprite #4890 Hitag.
  1288.    Angle: none
  1289.    Shade: none.
  1290.  
  1291. SE 29 : Floating Sector
  1292.  
  1293.    :Used to make sector float like water or waves.
  1294.  
  1295.    Hitag : Set to starting height of sector. 0-2047
  1296.    Sector Lotag : none
  1297.    Angle : none
  1298.    Shade : none
  1299.    Comment:
  1300.       :Use Speed sprite to set height of wave.
  1301.       :To use as a wave, the sector must only be made of 4 lines. Set
  1302.        one wall as first wall (alt-f) next to another sector with a
  1303.        SE 29 sprite in it to create a wave.
  1304.  
  1305. SE 30 : 2 Way Train
  1306.  
  1307.    :Used as a Train car that only goes back and forth from point A to
  1308.     point B.
  1309.  
  1310.    Hitag : Set equal to a switch to activate.
  1311.    Sector Lotag : 31
  1312.    Angle : Set to direction of front of Car.
  1313.    Shade : none
  1314.    Comment:
  1315.       :Use with 2 Locator sprites to define track.
  1316.       :Activator with equal hitag+1 activates when car stops at point A.
  1317.        Activator with equal hitag+2 activates when car stops at point B.
  1318. SE 31 : Floor Rise
  1319.  
  1320.    :Used to rise or lower sector floor when activated by an Activator or
  1321.     Masterswitch.
  1322.  
  1323.    Hitag : none
  1324.    Sector Lotag : none
  1325.    Angle : Up = Move sector to SE sprite height when activated.
  1326.                 Down = Start sector height equal to SE sprite height at Pre-map.
  1327.                               On activation, falls to pre set height.
  1328.                
  1329.    Shade : none
  1330.    Comment:
  1331.       :Use Speed to set rate of rise.
  1332.       :Use MusicSFX sprite for sound.
  1333.  
  1334. SE 32 : Ceiling Fall
  1335.  
  1336.    :Used to rise or lower sector Ceiling when activated by an Activator or
  1337.     Masterswitch.
  1338.  
  1339.    Hitag : none
  1340.    Sector Lotag : none
  1341.    Angle : Up = Rise sector to SE sprite height when activated.
  1342.                 Down = Start sector height equal to SE sprite height at Pre-map.
  1343.                               On activation, raises to pre set height.
  1344.    Shade : none
  1345.    Comment:
  1346.       :Use Speed to set rate of rise.
  1347.       :Use MusicSFX sprite for sound.
  1348.  
  1349. SE 33 : Spawn Earthquake Jibs
  1350.  
  1351.    :Used to spawn pieces of metal and rock from SE sprite during an
  1352.     Earthquake.
  1353.  
  1354.    Hitag : none
  1355.    Sector Lotag : none
  1356.    Angle : none
  1357.    Shade : none
  1358.    Comment:
  1359.       :Jibs will be spawned whenever a earthquake anywhere on the map.
  1360.  
  1361. SE 34 : Reserved
  1362.  
  1363. SE 35 : Reserved
  1364.  
  1365. SE 36 : Spawn Shot
  1366.  
  1367.    :Used to Spawn a shot every 5 seconds when activated by a
  1368.     Masterswitch.
  1369.  
  1370.    Hitag : none
  1371.    Sector Lotag : none
  1372.    Angle : Set to direction to shoot.
  1373.    Shade : none
  1374.    Comment:
  1375.       :Once activated, it will never stop shooting.
  1376.       :Use Speed sprite to set object to shoot. e.g.
  1377.        2556 : Shrink Ray
  1378.        2605 : RPG
  1379.        1650 : Mortar
  1380.        1625 : Trooper Laser
  1381.        1636 : Lizman Spit
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389. ───────────────────────────────────────────────────────────────────────────────
  1390.                    ┌─────────────────────────────────┐
  1391.                    │8. SPECIAL SPRITE REFERENCE GUIDE│
  1392.                    └─────────────────────────────────┘
  1393.  
  1394. --------------------------------------------------------------------------------
  1395. Special Sprite Reference Guide
  1396. 1996 Allen H. Blum III
  1397. --------------------------------------------------------------------------------
  1398.  
  1399.    SECTOREFFECTOR : Sprite #1
  1400.    ACTIVATOR : Sprite #2
  1401.    TOUCHPLATE : Sprite #3
  1402.    ACTIVATORLOCKED : Sprite #4
  1403.    MUSICANDSFX : Sprite #5
  1404.    LOCATORS : Sprite #6
  1405.    CYCLER : Sprite #7
  1406.    MASTERSWITCH : Sprite #8
  1407.    RESPAWN : Sprite #9
  1408.    GPSPEED : Sprite #10
  1409.    ACCESSSWITCH : Sprite #130
  1410.    SWITCH : Sprite #132 and all other SWITCHes
  1411.    NUKEBUTTON : Sprite #142
  1412.    MULTISWITCH : Sprite #146
  1413.    DOORTILE5 : Tile #150 and all other DOORTILEs
  1414.    DIPSWITCH : Sprite #162
  1415.    VIEWSCREEN : Sprite #502
  1416.    CRACK1 : Sprite #546 and all other CRACKs
  1417.    MIRROR : Tile #560
  1418.    CAMERA1 : Sprite #621
  1419.    CANWITHSOMETHING : Sprite #1232
  1420.    SEENINE : Sprite #1247
  1421.    FEMPIC1 : Sprite #1280
  1422.    APLAYER : Sprite #1405
  1423.  
  1424. --------------------------------------------------------------------------------
  1425. Definitions:
  1426. --------------------------------------------------------------------------------
  1427.  
  1428. SECTOREFFECTOR : Sprite #1
  1429.  
  1430.    :The Sector Effector Sprite is used to create game effects and
  1431.     manipulate Sector attributes. The SE is the main tool to create
  1432.     effects such as Earthquakes, Explosions, and Lighting Effects. Place
  1433.     a Sprite #1 in the sector to effect.
  1434.  
  1435.    Lotag : See !SE.TXT for details
  1436.    Hitag : Set equal to other SE Sprites with same Lotag to activate
  1437.           together. See Sector Effect Reference (!SE.TXT) for more details.
  1438.  
  1439.    Comments:
  1440.       :Multiple SE Sprites can be used in a Sector to create different
  1441.        effects.
  1442.  
  1443. ACTIVATOR : Sprite #2
  1444.  
  1445.    :The Activator Sprite is used with Switchs or the TOUCHPLATE Sprite
  1446.     to activate the Sector Lotag function or any Sector Effectors within
  1447.     the Sector.
  1448.  
  1449.    Lotag : Set equal to a Switch Lotag or a TOUCHPLATE Lotag
  1450.    Hitag : 0 = normal/default.
  1451.                1 = Open door only.   Only works for Sector Tag 20 or 21 doors.
  1452.                2 = Close door only.  Only works for Sector Tag 20 or 21 doors.
  1453.  
  1454. TOUCHPLATE : Sprite #3
  1455.  
  1456.    :The Touchplate will activate an ACTIVATOR or a MASTERSWITCH Sprite
  1457.     when the player walks on the sector floor.
  1458.  
  1459.    Lotag : Set equal to an ACTIVATOR or MASTERSWITCH Lotag.
  1460.    Hitag : 0  = Activate touchplate every time player walks on the sector.
  1461.            >0 = The touchplate will only activate this many times when
  1462.                 the player walks on the sector then never again.
  1463.  
  1464. ACTIVATORLOCKED : Sprite #4
  1465.  
  1466.    :The Activator locked Sprite will lock the sectors Lotag function so
  1467.     it can not be activated by the player until it is unlocked with a
  1468.     switch.
  1469.  
  1470.     Lotag : Set equal to a switch's Lotag to be toggled Locked and
  1471.             Unlocked.
  1472.     Hitag : none.
  1473.  
  1474. MUSICANDSFX : Sprite #5
  1475.  
  1476.    :The Music and Sound Effects Sprite can be used 3 ways.
  1477.       1. Activation Sound :
  1478.          When used in a sector with a Lotag, it will play a sound when
  1479.          the sectors Lotag function is activated.
  1480.          Lotag : Sound number.
  1481.          Hitag : none.
  1482.       2. Ambient Sound :
  1483.          When used in a sector with no Lotag, it will play an ambient
  1484.          sound.
  1485.          Lotag : Ambient Sound.
  1486.          Hitag : Max distance the sound can be heard. e.g. 1024 equals
  1487.                  the largest grid square in build.
  1488.       3. Echo Effect :
  1489.          When used in a sector with no Lotag, if will cause all sounds
  1490.          to have a echo effect.
  1491.          Lotag : 1000 + the amount of echo from 0-255.
  1492.          Hitag : Max distance the sound can be heard. e.g. 1024 equals
  1493.                  the largest grid square in build.
  1494.  
  1495. LOCATORS : Sprite #6
  1496.  
  1497.    :The Locator Sprite can be used to define a track for a Subway (SE 6
  1498.     & SE 14) or to define a path for PigCop Recon Cars but not both in
  1499.     the same map. Plus you can only have one path defined in a map.
  1500.  
  1501.    Lotag : Set in an increasing order starting from 0 with no gaps in
  1502.            the count for all the LOCATOR Sprites in the map. When the
  1503.            Subway or PigCop Recon Car reaches the last LOCATOR Sprite,
  1504.            it will loop back to the LOCATOR Sprite with Lotag 0.
  1505.    Hitag : If set to 1, then the Subway will stop the LOCATOR Sprite
  1506.            location for 5 seconds, then continue to the next LOCATOR.
  1507.            The PigCop Recon Car is not effected.
  1508.  
  1509. CYCLER : Sprite #7
  1510.  
  1511.    :The Cycler Sprite is used to make the Sector Floor, Walls, and
  1512.     Ceiling pulsate in brightness.
  1513.    Lotag : Set the offset of how bright it will start.
  1514.    Hitag : none
  1515.    Palette : Set to a color if needed.
  1516.    Shade : Set to how bright the sector will get. Set the sector
  1517.            brightness to how dark it will get.
  1518.  
  1519. MASTERSWITCH : Sprite #8
  1520.  
  1521.    :The Master Switch Sprite is used to activate a Sector Lotag or an
  1522.     Sector Effector Sprite after a time delay. This can only be
  1523.     activated by a TOUCHPLATE Sprite.
  1524.    Lotag : Set equal to a TOUCHPLATE Sprite Lotag to be activated by.
  1525.    Hitag : Set for time delay until activation of Sector Tag or Sector
  1526.            Effector Sprite.
  1527.  
  1528. RESPAWN : Sprite #9
  1529.  
  1530.    :The Respawn Sprite is used to Teleport in Actors and Items when
  1531.     activated by a TOUCHPLATE Sprite.
  1532.    Lotag : Set equal to TOUCHPLATE Sprite Lotag to be activated by.
  1533.    Hitag : Set equal to any Sprite Number that have a name with it in
  1534.            Build or Editart.
  1535.  
  1536. GPSPEED : Sprite #10
  1537.  
  1538.    :The GPSpeed Sprite is used to define the rate of movement for such
  1539.     things as Sector Tag 20 (Ceiling Door) and Sector Effector 0(Rotate
  1540.     Sector). See !SE.TXT and !ST.txt for more details.
  1541.    Lotag : Set to rate.
  1542.    Hitag : None.
  1543.  
  1544. ACCESSSWITCH : Sprite #130
  1545.  
  1546.    :The Access Switch is used to unlock or activate something when used
  1547.     with a Key Card. Use the Palette to define what card to use.
  1548.    Lotag : Set equal to ACTIVATOR or ACTIVATORLOCKED Sprite Lotag to use.
  1549.    Hitag : Set to play sound when activated.
  1550.    Palette : 0 = Blue card
  1551.              21 = Red card
  1552.              22 = Yellow card
  1553.  
  1554. SWITCH : Sprite #132 and all other SWITCHes
  1555.  
  1556.    :The Switch is used to unlock or activate something when activated by
  1557.     space key.
  1558.    Lotag : Set equal to ACTIVATOR or ACTIVATORLOCKED Sprite Lotag to use.
  1559.    Hitag : Set to play sound when activated.
  1560.    Palette : 0 = Normal play
  1561.              1 = Multi-play only
  1562.  
  1563. NUKEBUTTON : Sprite #142
  1564.  
  1565.    :The Nuke Button is used to End a level and goto the stat screen. It
  1566.     can also be used to goto a bonus level.
  1567.    Lotag : Set to 65535 to end a level and go to stat screen
  1568.            Set to 1-11 to go to a bonus level in the same volume. Must have palette adjusted for this to work.
  1569.    Hitag : none.
  1570.    Palette : 0 = Default.
  1571.              14 = Bonus Level.
  1572.  
  1573. MULTISWITCH : Sprite #146
  1574.  
  1575.    :The Multi Switch can activate 4 multiple ACTIVATOR Sprites. It uses
  1576.     4 consecutive Lotags to activate each ACTIVATOR. When first switched,
  1577.     it activates ACTIVATOR Sprites A and D. The next time it activates
  1578.     ACTIVATOR Sprites B and A. etc.. C and B.. D and C.. then A and D
  1579.     again.
  1580.    Lotag : Set equal to ACTIVATOR Sprites A,B+1,C+2,D+3
  1581.    Hitag : none.
  1582.  
  1583. DOORTILE5 : Tile #150 and all other DOORTILEs
  1584.  
  1585.    :The Door Tiles can be used to activate ACTIVATOR Sprites when the
  1586.     player presses upon the wall.
  1587.    Wall Lotag : Set equal to ACTIVATOR Sprite Lotag to activate.
  1588.    Wall Hitag : none.
  1589.  
  1590. DIPSWITCH : Sprite #162
  1591.  
  1592.    :The Dip Switch is used as a combination switch with a ACTIVATOR or
  1593.     ACTIVATORLOCKED Sprite. All DIPSWITCH Sprites with equal Lotags will
  1594.     be used for the combination.
  1595.    Lotag : Set equal to ACTIVATOR or ACTIVATORLOCKED Sprite Lotag.
  1596.    Hitag : 0 = set to off.
  1597.            1 = set to on.
  1598.  
  1599. VIEWSCREEN : Spirte #502
  1600.  
  1601.    :The View Screen is used to view through Cameras (Sprite # 621) placed
  1602.     around the map. It will view through all Cameras with equal Lotags.
  1603.    Lotag : none.
  1604.    Hitag : Set equal to CAMERA1 Sprites #621.
  1605.  
  1606. CRACK1 : Sprite #546 and all other CRACKs
  1607.  
  1608.    :The Crack Sprite is used to activate explosions,(SE 13) and other
  1609.     effects.
  1610.    Lotag : none.
  1611.    Hitag : Set equal to SE 13 Hitag to activate. See !SE.TXT for more
  1612.            details.
  1613.  
  1614.    Palette : Set to 1 for Multi-play mode only.
  1615.  
  1616. MIRROR : Tile #560
  1617.    :The Mirror tile is used to place a mirror in the map. To use it you
  1618.    must make a one-way wall (1 key in build). Put tile #560 on that
  1619.    wall. The sector behind the mirror must be the size of every space
  1620.    that can be seen in the mirror or problems will acure.
  1621.  
  1622. CAMERA1 : Sprite #621
  1623.  
  1624.    :The Camera Sprite is used to be able to view through using the
  1625.     VIEWSCREEN Sprite.
  1626.    Lotag : Set equal to the VIEWSCREEN Sprite Lotag to be viewed
  1627.            through.
  1628.    Hitag : Set to amount of turning radius. 0 equals none.
  1629.    Shade : Set to angle of facing down.
  1630.    Angle : Set to direction to point.
  1631.  
  1632. CANWITHSOMETHING : Sprite #1232,4580,4581,4582
  1633.  
  1634.    :The Can with something is used to spawn an object when it is shot.
  1635.    Lotag : Set to Sprite number with a name in build or editart to spawn
  1636.            when shot.
  1637.  
  1638. SEENINE : Sprite #1247
  1639. OOZCAN:  Sprite #1879
  1640.  
  1641.    :The Seenine Sprite is used to activate explosions,(SE 13) and other
  1642.     effects. It can also be used to time delay explosions.
  1643.    Lotag : Set equal to time delay until explosion.
  1644.    Hitag : Set equal to SE 13 Hitag to activate. See !SE.TXT for more
  1645.            details.
  1646.    Size : If the Sprite is shrunk in the x direction, then the sprite will
  1647.    not be seen in the game, but the explosion will.
  1648.  
  1649. FEMPIC1 : Sprite #1280
  1650.  
  1651.    :The Fem Pics are used to activate the RESPAWN Sprite to spawn in any
  1652.     Sprite with a name in Build or Editart.
  1653.    Lotag : none.
  1654.    Hitag : Set equal to RESPAWN Sprite to activate.
  1655.  
  1656. APLAYER : Sprite #1405
  1657.  
  1658.    :The APlayer Sprite is used to define where all multi-players will
  1659.    start in the map. You must have a minimum of 7 Sprites in the map for
  1660.    an 8 player multi-play game and a minimum of 7 Sprites in the map for
  1661.    an 8 player Coop game.
  1662.    Lotag : 0 = Multi-player start position
  1663.            1 = Coop-player start position
  1664.  
  1665. PURPLE LAVA:  Sprite #4240
  1666.  
  1667.      Works like green slime with three exceptions:
  1668.       1)   Hyper Destructive
  1669.       2)   Will cause damage to player anywhere in sector (Can't fly over).
  1670.       3)   Can be placed on ceiling for same sector damage effect
  1671.  
  1672. LIGHTING BOLT : Sprite # 4890
  1673.  
  1674.      Lightning Bolt is used to spawn the flash position of lighting when used
  1675.      with Sector Effector #28.
  1676.      Lotag: 0
  1677.      HiTag: Set equal to Sector Effector #28 HiTag.
  1678.      Note: Any number of Lighting Bolts can be attached to any
  1679.      Sector Effector #28.
  1680.  
  1681.  
  1682. ───────────────────────────────────────────────────────────────────────────────
  1683.                     ┌──────────────────────────────┐
  1684.                     │9. SECTOR TAGS REFERENCE GUIDE│
  1685.                     └──────────────────────────────┘
  1686.  
  1687. --------------------------------------------------------------------------------
  1688. Sector Tags Reference Guide
  1689. 1996 Allen H. Blum III
  1690. --------------------------------------------------------------------------------
  1691.  
  1692. -SECTOR TAGS -
  1693.  
  1694.  1  : WATER (SE 7)
  1695.  2  : UNDERWATER (SE 7)
  1696.  9  : STAR TREK DOORS
  1697.  15 : ELEVATOR TRANSPORT (SE 17)
  1698.  16 : ELEVATOR PLATFORM DOWN
  1699.  17 : ELEVATOR PLATFORM UP
  1700.  18 : ELEVATOR DOWN
  1701.  19 : ELEVATOR UP
  1702.  20 : CEILING DOOR
  1703.  21 : FLOOR DOOR
  1704.  22 : SPLIT DOOR
  1705.  23 : SWING DOOR
  1706.  25 : SLIDE DOOR (SE 15)
  1707.  26 : SPLIT STAR TREK DOOR
  1708.  27 : BRIDGE (SE 20)
  1709.  28 : DROP FLOOR (SE 21)
  1710.  29 : TEETH DOOR (SE 22)
  1711.  30 : ROTATE RISE BRIDGE
  1712.  31 : 2 WAY TRAIN (SE=30)
  1713.  10000+ : 1TIME SOUND
  1714.  32767 : SECRET ROOM
  1715.  65535 : END OF LEVEL
  1716.  
  1717. --------------------------------------------------------------------------------
  1718. Definitions:
  1719. --------------------------------------------------------------------------------
  1720.  
  1721. ST 1 : Water
  1722.  
  1723.    :Used as Water Effect when the player walks on sector. If used with a
  1724.     SE 7 (Transport) sprite, then it will move the player to the
  1725.     underwater sector with ST 2.
  1726.  
  1727.    Definition : SE 7 : Transport Underwater
  1728.       Hitag : Set equal to one other SE 7 to Transport to.
  1729.       Sector Lotag : 0 = Teleporter.
  1730.                      1 = On top of water.
  1731.                      2 = Underwater
  1732.       Angle : none
  1733.       Shade : none
  1734.       Palette : 0 = Water
  1735.                 8 = Green Slime
  1736.       Comment :
  1737.          :When using with Sector Lotag 1 and 2 as water, the two sectors must
  1738.           be exactly the same size or you will teleport to death.
  1739.  
  1740. ST 2 : Underwater
  1741.  
  1742.    :Used as Underwater Effect when the player moves in sector. If used with
  1743.     a SE 7 (Transport) sprite, then it will move the player to the
  1744.     underwater sector with ST 1.
  1745.  
  1746.    Definition : SE 7 : Transport Underwater
  1747.       Hitag : Set equal to one other SE 7 to Transport to.
  1748.       Sector Lotag : 0 = Teleporter.
  1749.                      1 = On top of water.
  1750.                      2 = Underwater
  1751.       Angle : none
  1752.       Shade : none
  1753.       Palette : 0 = Water
  1754.                 8 = Green Slime
  1755.       Comment :
  1756.          :When using with Sector Lotag 1 and 2 as water, the two sectors must
  1757.           be exactly the same size or you will teleport to death.
  1758.  
  1759.  
  1760.  
  1761. ST 9 : Star Trek Doors
  1762.  
  1763.    :Doors that spread apart when opened like on Star Trek. Note that the
  1764.     wall tile on the doors will squish when opened.
  1765.  
  1766.    Comment:
  1767.       :Use MUSICANDSFX Sprite Lotag for door open sound.
  1768.       :Use SPEED Sprite Lotag for opening speed.
  1769.  
  1770. ST 15 : Elevator Transport
  1771.  
  1772.    :Used as an Elevator that transports from one elevator shaft to
  1773.     another to simulate going straight up from one floor to another.
  1774.  
  1775.    Comment:
  1776.       :Maximum of 2 floors.
  1777.       :Sounds are set automatically
  1778.  
  1779.    Definition : SE 17 : Elevator Transport
  1780.       Hitag : Equal to one other SE 17.
  1781.       Sector Lotag : 15
  1782.       Sector Hitag : 0 = Bottom Floor
  1783.                      1 = Top Floor
  1784.       Angle : none
  1785.       Shade : Darkest shade of the two SE 17 with equal Hitag is the
  1786.               starting floor for the elevator.
  1787.       Palette : none
  1788.       Comment :
  1789.          :Top and Bottom floors must be physically built at proper height
  1790.           difference to work properly.
  1791.          :Both Elevators must be Exactly the same size.
  1792.  
  1793. ST 16 : Elevator Platform Down
  1794.  
  1795.    :Used to Lower the Sector Floor from current Height Down to the next
  1796.     Sector of lower height. On next activation, the sector floor will rise
  1797.     up to the next Sector.
  1798.  
  1799.    Comment:
  1800.       :Use MUSICANDSFX Sprite Lotag for Sound.
  1801.          Lotag = Start sound.
  1802.          Hitag = Stop Sound.
  1803.       :Use SPEED Sprite Lotag for rate of movement.
  1804.  
  1805. ST 17 : Elevator Platform Up
  1806.  
  1807.    :Used to Raise the Sector Floor from current Height Up to the next
  1808.     Sector of higher height. On next activation, the sector floor will
  1809.     drop down to the next Sector.
  1810.  
  1811.    Comment:
  1812.       :Use MUSICANDSFX Sprite Lotag for Sound.
  1813.          Lotag = Start sound.
  1814.          Hitag = Stop Sound.
  1815.       :Use SPEED Sprite Lotag for rate of movement.
  1816.  
  1817. ST 18 : Elevator Down
  1818.  
  1819.    :Used to Lower the Sector Floor and Ceiling from current Height Down
  1820.     to the next Sector of lower height. On next activation, the sector
  1821.     floor and ceiling will rise up to the next Sector.
  1822.  
  1823.    Comment:
  1824.       :Use MUSICANDSFX Sprite Lotag sound.
  1825.          Lotag = Start sound.
  1826.          Hitag = Stop Sound.
  1827.       :Use SPEED Sprite Lotag for rate of movement.
  1828.  
  1829. ST 19 : Elevator Up
  1830.  
  1831.    :Used to Raise the Sector Floor and Ceiling from current Height Up
  1832.     to the next Sector of higher height. On next activation, the sector
  1833.     floor and ceiling will drop down to the next Sector.
  1834.  
  1835.    Comment:
  1836.       :Use MUSICANDSFX Sprite Lotag for Sound.
  1837.          Lotag = Start sound.
  1838.          Hitag = Stop Sound.
  1839.       :Use SPEED Sprite Lotag for rate of movement.
  1840.  
  1841. ST 20 : Ceiling Door
  1842.  
  1843.    :Used to Raise and Lower the Sector Ceiling from level with the
  1844.     sector floor up to the height of the next sector ceiling height.
  1845.  
  1846.    Comment:
  1847.       :Use MUSICANDSFX Sprite Lotag for Open and Close Sound.
  1848.       :Use SPEED Sprite Lotag for rate of movement.
  1849.       :Use SE 10 to make the door auto-close.
  1850.  
  1851. ST 21 : Floor Door
  1852.  
  1853.    :Used to Raise and Lower the Sector Floor from level with the
  1854.     sector ceiling down to the height of the next sector floor height.
  1855.  
  1856.    Comment:
  1857.       :Use MUSICANDSFX Sprite Lotag for Open and Close Sound.
  1858.       :Use SPEED Sprite Lotag for rate of movement.
  1859.       :Use SE 10 to make the door auto-close.
  1860.  
  1861. ST 22 : Split Door
  1862.  
  1863.    :Used to Raise and Lower the Sector Floor and Ceiling from level with
  1864.     the next sector floor and ceiling, then together until the floor and
  1865.     ceiling match height.
  1866.  
  1867.    Comment:
  1868.       :Use MUSICANDSFX Sprite Lotag for Open and Close Sound.
  1869.       :Use SPEED Sprite Lotag for rate of movement.
  1870.       :Use SE 10 to make the door auto-close.
  1871.  
  1872. ST 23 : Swing Door
  1873.  
  1874.    :Used as doors that swing the sector 90 degrees when activated. Note
  1875.     that you can activate multiple ST 23 by giving the ST 11 Sprite
  1876.     Hitag equal values.
  1877.  
  1878.    Comment:
  1879.     :Use MUSICANDSFX Sprite Lo and Hitag to door open and close sound.
  1880.  
  1881.    Definition : SE 11 : Rotate Sector Door
  1882.       Hitag : none
  1883.       Angle : up = clockwise
  1884.               down = counter-clockwise
  1885.       Shade : none
  1886.       Palette : none
  1887.       Comment :
  1888.          Sector will also rise to height of Sector Effector Sprite if it
  1889.          is off the floor.
  1890.  
  1891.  
  1892. ST 24 : Reserved
  1893.  
  1894. ST 25 : Slide Door
  1895.  
  1896.    :Used as a door that slides when opened.
  1897.  
  1898.    Definition : SE 15 : Slide Door
  1899.       Hitag : Set equal to other doors to be opened at same time.
  1900.       Angle : Set to direction when door is closed.
  1901.       Shade : none
  1902.       Palette : none
  1903.       Comment :
  1904.          :Speed Sprite sets distance to door to open.
  1905.          :Check !SE.map on how to build.
  1906.          :Use MusicSFX sprite for sound.
  1907.  
  1908. ST 26 : Split Star Trek Door
  1909.  
  1910.    :Used to do the effects of both ST 9 (Star Trek Door) and ST 22
  1911.     (Split Door). Doors will spread apart when opened like on Star
  1912.     Trek. Note that the wall tile on the doors will squish when opened.
  1913.     And will also Raise and Lower the Sector Floor and Ceiling from level
  1914.     with the next sector floor and ceiling, then together until the floor
  1915.     and ceiling match height.
  1916.    Comment:
  1917.       :Use MUSICANDSFX Sprite Lotag for Open and Close Sound.
  1918.       :Use SPEED Sprite Lotag for rate of movement.
  1919.       :Use SE 10 to make the door auto-close.
  1920.  
  1921. ST 27 : Bridge
  1922.  
  1923.    :Used to stretch a sector when activated.
  1924.  
  1925.    Hitag : none
  1926.    Sector Lotag : 27
  1927.    Angle : Set to direction to stretch sector.
  1928.    Shade : none
  1929.    Comment :
  1930.       :Set relative alignment, (R key), on sector to move floor.
  1931.       :Use Speed sprite for distance.
  1932.  
  1933. ST 28 : Drop Floor
  1934.  
  1935.    :Used to make a floor or ceiling drop to the height of the
  1936.     SE sprite when activated by a Masterswitch.
  1937.  
  1938.    Hitag : Set equal to others that activate at same time.
  1939.    Sector Lotag : 28
  1940.    Angle : up = Drop Ceiling
  1941.            down = Drop Floor
  1942.    Shade : none
  1943.    Comment:
  1944.       :Floor or Ceiling matches height of SE sprite at Pre-map then
  1945.        drops to set position when activated.
  1946.       :To do opposite, the SE sprite height must be put into sector.
  1947.  
  1948. ST 29 : Teeth Door
  1949.  
  1950. ST 30 : Rotate Rise Door
  1951.  
  1952.    :Used to rotate the sector floor 90 degrees and rise to the height of
  1953.     the SE 0 Sprite. Use SE 1 as the Pivot point for the sector.
  1954.  
  1955.    Comment:
  1956.       :Use MUSICANDSFX Sprite Lotag for sound.
  1957.       :Use SPEED for rate of turning.
  1958.       :Use SE 0 Sprite Palette for direction.
  1959.          Palette 0 = clockwise
  1960.          Palette 1 = counter-clockwise
  1961.  
  1962. ST 31 : 2 Way Train
  1963.  
  1964.    :Used as a Train car that only goes back and forth from point A to
  1965.     point B.
  1966.  
  1967.    Hitag : Set equal to a switch to activate.
  1968.    Sector Lotag : 31
  1969.    Angle : Set to direction of front of Car.
  1970.    Shade : none
  1971.    Comment:
  1972.       :Use with 2 Locator sprites to define track.
  1973.       :Activator with equal hitag+1 activates when car stops at point A.
  1974.        Activator with equal hitag+2 activates when car stops at point B.
  1975. ST 10000+ : 1 Time Sound
  1976.  
  1977.    :Used to play a sound one time when the player walks on the sector
  1978.     floor. Tag the sector Lotag with (10000 + sound number).
  1979.  
  1980. ST 32767 : Secret Room
  1981.  
  1982.    :Use Sector Lotag of 32767 to tag as a secret place to be counted at
  1983.    the end of level stats.
  1984.  
  1985. ST 65535 : End of Level
  1986.  
  1987.    :Used to end the level when the player walks on the sector floor.
  1988.  
  1989.  
  1990.  
  1991. ───────────────────────────────────────────────────────────────────────────────
  1992.                       ┌───────────────────────────┐
  1993.                       │10. BUILD KEYBOARD COMMANDS│
  1994.                       └───────────────────────────┘
  1995.  
  1996. ┌───────────────────────────────────────────────────────────────────────────┐
  1997. │                         BUILD EDITOR INTRODUCTION:                        │
  1998. └───────────────────────────────────────────────────────────────────────────┘
  1999.  
  2000. There are 2 modes in the BUILD editor:
  2001.    3D EDIT MODE (Same as PLAY MODE but with a mouse cursor)
  2002.    2D EDIT MODE (The overhead map of the board with an arrow showing your
  2003.       position and angle and a mouse cursor)
  2004.  
  2005. It is essential that you use both editor modes:
  2006.  
  2007.   Use the 3D EDIT MODE to change the attributes of a sector, wall, or sprite
  2008.      such as:
  2009.  
  2010.      Tile number - Tells which picture in the artwork file goes on the
  2011.                       object.  Press V to change.
  2012.      Shade       - The shade of the object.  Press -/+ to change.
  2013.      Repeating   - The "smooshiness" of a wall.  Also for sprites.  Press
  2014.                        keypad 2,4,6,8 to change.
  2015.      Panning     - The starting offset into the tile graphics.  Press
  2016.                        Shift + keypad 2,4,6,8 to change.
  2017.      Height      - For ceilings, floors, and sprites.  Press PGUP or PGDN
  2018.                    to change.
  2019.      and there are a few other special attributes.
  2020.  
  2021.   Use the 2D EDIT MODE to add, delete, or change the shape of sectors.
  2022.  
  2023.   To switch between the two EDIT MODES, press the keypad enter key.
  2024.  
  2025. ┌───────────────────────────────────────────────────────────────────────────┐
  2026. │                          3D EDIT MODE KEYS:                               │
  2027. └───────────────────────────────────────────────────────────────────────────┘
  2028.          ESC = Quit
  2029. keypad ENTER = Flip to the 2D overhead editor
  2030.  
  2031.        Mouse = Move mouse cursor
  2032.       Arrows = Move you in the appropriate directions
  2033.    Caps Lock = There are 3 different Z coordinate modes in BUILD.
  2034.                   Mode 0:  Game mode (default)
  2035.                   Mode 1:  Height lock mode
  2036.                   Mode 2:  Float mode
  2037.                Press Caps Lock to switch between the 3 modes.
  2038.                A and Z move up and down for all 3 modes.
  2039.  
  2040.  
  2041. Note: For the following keys, it is important to move the mouse cursor to
  2042. the right position before using them.  Also, if you hold down the first mouse
  2043. button, then the item under the mouse cursor will be locked as the
  2044. highlighted object while the button is held down.  This is useful for the
  2045. PGUP/DN keys, when different objects come into view even without moving your
  2046. coordinates or the mouse cursor.
  2047.       There are 4 basic types of objects that can be worked with in this part
  2048. of the editor:  WALLS, CEILINGS, FLOORS, and SPRITES.
  2049.  
  2050.      PGUP/DN = Raise or Lower a ceiling or floor.  (If a wall is selected,
  2051.                the ceiling of that sector will move)  Also, if you did a
  2052.                sector highlight in 2D EDIT MODE, you can raise / lower
  2053.                multiple sectors at a time.
  2054. Ctrl-PGUP/DN = For sprites only, puts sprites exactly on the floor or exactly
  2055.                on the ceiling.
  2056.  
  2057.            V = Tile selection - use arrow keys to move around.  Press ENTER
  2058.                to change the object to the highlighted piece of artwork, or
  2059.                press ESC to cancel without changes made.
  2060.        ALT-V = Height selection - works just like V, but this selects the
  2061.                groudraw height map.
  2062.  
  2063. 2,4,6,8 (keypad) = Repeat values (smooshiness of the sizes of pixels) -
  2064.                think of these keys as arrow keys controlling the bottom
  2065.                right corner of the bitmap.  Normally, this is used for walls
  2066.                and sprites.  If you select a floor or ceiling, all the walls
  2067.                in that sector will be affected.  Perhaps this can be used
  2068.                to make sprites grow and shrink as they get healthy or hurt.
  2069. Shift +
  2070. 2,4,6,8 (keypad) = Panning values (offset into the tile) -  These keys are
  2071.                useful when the you want a long wall to look continuous when
  2072.                they normally would not look continuous.
  2073.            / = Use this key to reset the panning values (if you're lost!)
  2074.   5 (keypad) = If you hold down this key down in addition to the 2,4,6,8
  2075.                keys (keypad),the values will align at multiples of 8.
  2076.           .> =  This key attempts to match up all the tiles along a wall.  It
  2077.                scans along the walls towards the right as long as the picture
  2078.                number of the next wall is the same as the original picture
  2079.                number.  Note that some walls may not work right, especially
  2080.                floor / ceiling steps.
  2081.  
  2082.            F = Flip an object.  For sprites and walls, this flips the object
  2083.                x-wise.  For ceilings and floors, the objects are flipped in
  2084.                8 possible ways.  Just keep pressing 'F' to go through
  2085.                the 8 ways.
  2086.        ALT-F = When you use relative alignment mode on ceiling and floor
  2087.                textures, you can press Alt-F on the ceiling or floor to
  2088.                choose a new wall to align to.  It actually rotates the walls
  2089.                of a sector by 1.
  2090.            O = Wall orientation (whether it starts from the top or bottom)
  2091.                Normally, walls are oriented from the top.  For example, if
  2092.                you hold down 2/8 on the keypad in 3D EDIT MODE, the wall
  2093.                always starts from the top.  Orientation works differently
  2094.                for white lines and red lines, so if a wall doesn't look
  2095.                right, just press 'O' anyway to see if it get fixed.
  2096.  
  2097. COPY & PASTE
  2098.          TAB = COPY. Copy the attibutes of the highlighted objects into a
  2099.                temporary place.  The attributes it remembers are:
  2100.                tile, shade, x-repeat, y-repeat, and cstat values.
  2101.   Left ENTER = PASTE. Paste the stored attributes over the highlighted
  2102.                object.  Whenever you press ENTER, the y-repeat values stay
  2103.                the same, and the x-repeat values are adjusted so the pixels
  2104.                of the bitmaps have a square-aspect ratio.
  2105. Ctrl+L.ENTER = Left ENTER with the ctrl key will paste the attribtues to
  2106.                 every wall in a loop (if a wall is highlighted).
  2107. Shft+L.ENTER = Left ENTER with the shift key also pressed copies the shade
  2108.                only.
  2109. Ctrl+Shft+L.ENTER = Auto-shade a sector.  First make any wall of the loop
  2110.                as light as the lightest shade you want.  Then make any other
  2111.                wall of the loop as dark as the darkest shade you want.
  2112.                Finally press Ctrl-Shift Enter on the wall that should be
  2113.                lightest.  Now the loop should be smoothly shaded.  If it
  2114.                is not smoothly shaded, you may need to insert more points
  2115.                on the walls.
  2116.  
  2117. SECTOR FLAGS:
  2118.  
  2119.            P = Make the ceiling of the given sector have a Parallaxing sky
  2120.                or just a normal ceiling.
  2121.            G = Make the floor of the given sector have a Groudraw
  2122.                (floor with height mapping).  I do not recommend using this
  2123.                attribute very extensively yet. (See the H key for selecting
  2124.                the height map)
  2125.            E = An option for ceilings and floors.  If for some reason, you
  2126.                want a tile to be smooshed into the normal 64*64 area, press
  2127.                E to unExpand the tile.  Press E again, and the tile will be
  2128.                expanded, so the pixel size is the same as the normal 64*64
  2129.                ceiling/floor.
  2130.            R = Relative alignment - switch between relative alignment mode
  2131.                and normal mode.  Allows floor / ceiling textures to align
  2132.                to the first 2 points of a sector.  Textures will rotate/pan
  2133.                with moving sectors properly.  Notice that bit 6 of both
  2134.                sector[].ceilingstat and sector[].floorstat are relative
  2135.                alignment bits.
  2136.  
  2137. WALL FLAGS:
  2138.  
  2139.            B = Make an invisible wall, such as a window, block you from
  2140.                going through.  Since the wall is invisible, you can also
  2141.                highlight the ceiling right above the window or floor
  2142.                right below the window.  You can block either the front or
  2143.                the back of the window.  If you block the back only, you
  2144.                will be able to go onto the window sill.
  2145.            T = Press to make a maskable wall 50/50 transluscent.  Press T
  2146.                again to put the masked wall back to normal mode.
  2147.            M = Make a maskable wall.  Press in the same place you press 'B'.
  2148.                The masking wall takes all its attributes from the front of
  2149.                the wall, so it must have the same repeat, panning, and cstat
  2150.                values as the walls above or below it (if you have a step).
  2151.                The masking picture number is stored in overpicnum.  Also,
  2152.                the masking walls is also automatically added the the other
  2153.                side of the wall, with the picture flipped.  (see the 'F'
  2154.                key descripte above)
  2155.    Shift + M = Make a maskable wall just like 'M' described above, but only
  2156.                on the front side.
  2157.  
  2158.            1 = Make a 1-way wall.
  2159.            2 = Some walls have two different sections.  One step on the
  2160.                ceiling and one step on the floor.  Normally they always
  2161.                have the same attributes.  It is possible though, to give
  2162.                both the top and bottom different attributes by pressing 2 on
  2163.                that wall.  2 simply makes the bottom wall's attributes
  2164.                separately editable.  Press 2 on either the top or bottom
  2165.                wall.
  2166.            O = Wall orientation (whether it starts from the top or bottom)
  2167.                Normally, walls are oriented from the top.  For example, if
  2168.                you hold down 2/8 on the keypad in 3D EDIT MODE, the wall
  2169.                always starts from the top.  Orientation works differently
  2170.                for white lines and red lines, so if a wall doesn't look
  2171.                right, just press 'O' anyway to see if it get fixed.
  2172.            H = Toggle hitscan pass through bit.  Default is pass through.
  2173.  
  2174. SPRITE FLAGS:
  2175.  
  2176.            B = When the mouse cursor is on a sprite, this makes a sprite
  2177.                block you from walking through.  Also makes the sprite
  2178.                sensitive to hitscan.  Sprites with the 'B' attribute will
  2179.                appear pink in 2D EDIT MODE
  2180.            T = Press to make a sprite 50/50 transluscent.  Press T again
  2181.                to put sprite back to normal mode.
  2182.  
  2183. ┌───────────────────────────────────────────────────────────────────────────┐
  2184. │                          2D EDIT MODE KEYS:                               │
  2185. └───────────────────────────────────────────────────────────────────────────┘
  2186.                ESC = Show a menu that says, "(N)ew, (L)oad, (S)ave, (Q)uit"
  2187.                      Press ESC again to cancel the menu.
  2188.       keypad ENTER = Flip back to the 3D edit mode
  2189.  
  2190.              Mouse = Move mouse cursor
  2191.  Left mouse button = If you hold down the left mouse button, you can drag
  2192.                      existing points.  To drag multiple points you can use
  2193.                      the right shift key to first select a rectangular
  2194.                      region of points to highlight, then just drag any of
  2195.                      the highlighted points and the rest move with it.
  2196. Right mouse button = Moves the player's positions to the mouse cursor.
  2197.                      This is useful when you accidently get stuck somewhere
  2198.                      in the board, or when you need to edit some part of
  2199.                      a sector that is hard to access.
  2200.        Right Shift = Select a bunch of points for use with dragging around.
  2201.                         Selects all points inside a box.  (Use the left mouse
  2202.                         button to drag)
  2203.   Ctrl+Right Shift = Select a bunch of points for use with dragging around.
  2204.                         Selects all points on a loop.  (Use the left mouse
  2205.                         button to drag)
  2206.          Right Alt = Select a bunch of sectors for either duplication or
  2207.                         dragging around.  (see left mouse button for
  2208.                         dragging and the insert key for duplication).
  2209.  
  2210.             Arrows = Move player position in the appropriate directions.
  2211.                      The player will be clipped.  To jump to a different part
  2212.                      of the board, use the right mouse button.
  2213.              Space = Press the space bar when drawing new sectors.  There
  2214.                      are several ways of drawing new sectors.  The following
  2215.                      three ways of drawing sectors can all be done by only
  2216.                      using the space bar.  The computer is smart enough to
  2217.                      decide which method you are using.
  2218.  
  2219.                      1.  Drawing a FULL LOOP - that is, whenever the new
  2220.                          sector meets the old sector, draw over that line
  2221.                          again.  In full loop mode the new sector must not
  2222.                          already be in another sector.  The loop is done
  2223.                          when you press the space bar at the first point
  2224.                          again.
  2225.                      2.  SPLITTING a sector - press space bar to draw points
  2226.                          at which you want to split a sector.  The computer
  2227.                          knows you are done splitting when you end at
  2228.                          another point that's on the edge of the sector you
  2229.                          are splitting.
  2230.                      3.  Drawing a sector COMPLETELY INSIDE another sector.
  2231.                          (for example, columns) To do this, just press space
  2232.                          bar at every point in the loop.  The loop is done
  2233.                          when you press the space bar at the first point
  2234.                          again.
  2235.          Backspace = When plotting points with the space bar, you can use
  2236.                      backspace to get rid of the last point plotted.  You
  2237.                      can press the backspace to get rid of all the points
  2238.                      if you didn't want to start a sector at all.
  2239.  
  2240.             Insert = Inserts a new point at the midpoint of the highlighted
  2241.                      line.  Then you can drag the point to wherever you like.
  2242.                      (If you insert on a red line, the point will be inserted
  2243.                      on both sides of the sector line.)
  2244.                      If a bunch of sectors are selected (see right ALT) then
  2245.                      instead of inserted points, the selected sector bunch
  2246.                      will be duplicated (stamped).  Don't forget to drag
  2247.                      the selected sectors after stamping.
  2248.  
  2249.             Delete = Use this to delete sprites (blue circles).  To delete
  2250.                      points of a sector border, don't press delete.  Instead,
  2251.                      drag the point into one of its 2 neighbor points on the
  2252.                      sector.  This is easist done if grid locking is on
  2253.                      (mouse cursor is pink).  If 2 neighbor points are equal,
  2254.                      one will automatically be deleted.
  2255.  Right Ctrl-Delete = This deletes the whole sector that the mouse cursor is
  2256.                      in.  Note the right ctrl for protection.
  2257.    (Note: to delete a point of a sector, just drag that point into the next
  2258.       point and it will automatically be deleted.  You should do this with
  2259.       grid-locking on)
  2260.                  J = Use to join two neighboring sectors.  Press J when mouse
  2261.                      cursor is over the first sector.  Then press J again
  2262.                      when the mouse cursor is over the neighboring sector.
  2263.                      The attributes of the combined sector will be taken from
  2264.                      the first sector selected.
  2265.              ALT-S = When you have a white loop inside a sector, you can
  2266.                      press ALT-S on it (highlight any of its lines) to turn
  2267.                      the whole loop red.
  2268.                  S = Places a sprite at the location under the mouse cursor.
  2269.                      A sprite looks like a blue circle in the overhead map.
  2270.  
  2271.                  B = Blocks / unblocks you from going through a wall or
  2272.                      sprites.  A blocked wall or sprite will appear pink
  2273.                      in 2D EDIT MODE.  See the description for 'B' in
  2274.                      the 3D EDIT MODE section for more details.
  2275.  
  2276.                  C = Turn a line into a circle defined by short line
  2277.                      segments.  First press 'C' on a highlighted wall.  Then
  2278.                      move the mouse to the right place and press '+' or '-'
  2279.                      if you want to change the number of points on the
  2280.                      circle.  Press 'C' again to cancel the circle drawing or
  2281.                      press the Space bar to actually change the map.
  2282.                +/- = Increase / Decrease the number of points on the circle.
  2283.  
  2284.                  T = Type in a LO-tag for a sector.  Move the mouse cursor to
  2285.                      the inside of a sector that you want to tag first.
  2286.              ALT-T = Just like 'T' but for walls and sprites.
  2287.                  H = Type in a HI-tag for a sector.  Move the mouse cursor to
  2288.                      the inside of a sector that you want to tag first.
  2289.              ALT-H = Just like 'H' but for walls and sprites.
  2290.                  E = Change a sprite's status list number.
  2291.            < and > = Changes angle of sprite.  Move the mouse cursor to a
  2292.                      sprite first.  You can hold down shift with the < and >
  2293.                      to get more precise angles.  If you did a sector
  2294.                      highlight, then the selected sector will be rotated
  2295.                      instead.
  2296.             CTRL-T = Turn tag boxes on/off.
  2297.  
  2298.                TAB = Move the mouse cursor to the inside of a sector that you
  2299.                      you want to see the attributes of.  It will show them
  2300.                      at the bottom of the status bar.  To clear it, press
  2301.                      TAB again at somewhere in the board that is not part
  2302.                      of any sector.  This is a useful key for debugging.
  2303.            ALT-TAB = Works just like TAB, but here, you can see the
  2304.                      attributes of highlighted walls or sprites.  For red
  2305.                      lines, the side the mouse cursor is on the line affects
  2306.                      which line is highlighted, since red lines are actually
  2307.                      defined as 2 walls (1 wall for each sector).
  2308.  
  2309.        Scroll Lock = Set starting position (brown arrow) to your current
  2310.                      position (white arrow).
  2311.  
  2312.                A,Z = Zoom in and out.  This is useful for choosing whether
  2313.                      you want to edit finely or not.
  2314.                  G = Change grid resolution.  The grid resolution cycles
  2315.                      through this sequence:
  2316.                         (off, 1x, 2x, 4x (default), 8x, 16x)
  2317.                  L = Turns grid locking on or off.  If the mouse cursor is
  2318.                      pink then grid locking is on.  If it is white then
  2319.                      grid locking is off.  There is no grid locking
  2320.                      if the grid is turned off.  Also, grid locking will
  2321.                      lock to nearby points.
  2322.  
  2323. ┌───────────────────────────────────────────────────────────────────────────┐
  2324. │                              EDITART KEYS:                                │
  2325. └───────────────────────────────────────────────────────────────────────────┘
  2326.  
  2327.    ---- Keys you will need to know if you want to select from a section of
  2328.    a 320*200*256 picture file (.BMP and .PCX only) and put it into the BUILD
  2329.    engine.
  2330.  
  2331.    U - Use this to import a section of a 320*200*256 .BMP, .PCX, or .GIF.
  2332.      │  Enter - Convert the image that is inside the rectangular selection
  2333.      │          rectangle to the BUILD palette.
  2334.      │  Space - Convert the image that is inside the rectangular selection
  2335.      │          rectangle without remapping the palette.
  2336.      │  P - If in the picture selecting screen (after pressing U and loading
  2337.      │      the picture), you press P, then the palette of BUILD can be
  2338.      └──    replaced by the palette of the displayed picture.
  2339.    PGUP/PGDN - Select tile to edit (4096 tile maximum right now).
  2340.    G - GOTO a tile by typing in the tile number.
  2341.    S - Re-size tile.  The X and Y sizes can be any unsigned short integer.
  2342.        X ranges from 0 to 1024, and Y ranges from 0 to 240.
  2343.    Delete - short cut key to set both the X and Y sizes to 0.
  2344.    +,- Change the animation setting.  (Default: NoAnm = 0.)
  2345.          To change the animation type, press - when the value is 0.
  2346.          Ex: If you want an object to have 4 tiles of animation, you can
  2347.             animate it in 4 different sequences: (0 is the current tile)
  2348.                NoAnm=4 sequence: 0,0,0,0,0,0,0,0,0,0,0,... (no animation)
  2349.                Oscis=4 sequence: 0,1,2,3,2,1,0,1,2,3,2,... (oscillate)
  2350.                AnmFD=4 sequence: 0,1,2,3,0,1,2,3,0,1,2,... (forwards)
  2351.                AnmBK=4 sequence: 0,-1,-2,-3,0,-1,-2,-3,... (backwards)
  2352.    A - Set the animation speed of the tile.  Press + and - to change the
  2353.        animation speed.  There are 16 different animation speeds.  The
  2354.        animation speed set here set the speed for BUILD and your GAME also.
  2355.                     (Speed is proportional to (totalclock>>animspeed))
  2356.   - This key (located just above the TAB key) allows you to center a
  2357.        sprite.  Simply use the arrow keys to get to the desired position.
  2358.    N - Name a tile.  Naming a tile simply changes the #define statement in
  2359.        NAMES.H.  You should include NAMES.H when compiling so you can easily
  2360.        refer to sprites by name rather than by number.
  2361.    O - Optimize the size of an individual piece of artwork.  Use this for
  2362.        tiles with invisible pixels on the sides.
  2363.    V - View and select a tile to edit.
  2364.      │   Space - To swap 2 tiles simply press space bar on the first tile,
  2365.      │           then space bar on the second.
  2366.      │   1,2,3 - To swap a group of tiles, press 1 on the first tile,
  2367.      │             press 2 to remember the region between where you pressed
  2368.      │             1 and 2.  Press 3 at the place to where you want to swap
  2369.      └──           all the tiles.
  2370. ALT+U- Re-grab artwork from original pictures according to the CAPFIL.TXT
  2371.        file.  If you press ALT-U in the main screen, everything will be
  2372.        re-grabbed.  If you press ALT-U in 'V' mode, then you should first
  2373.        select the range by pressing '1' and '2' on the range boundaries.
  2374. ALT+R- Generate a Tile frequency report by scanning all maps in directory.
  2375.        Use in 'V' mode only.
  2376. F12 - Screen capture (saves image as a *.BMP file, starting as file
  2377.        name CAPTUR00.BMP and incrementing by 1 each time F12 is
  2378.        pressed.
  2379.  
  2380.    ESC - Quit.
  2381.  
  2382.  
  2383.  
  2384.    ---- Extra features: (if you actually want to do the artwork in EDITART
  2385.                          or if you want to touch-up some imported art.)
  2386.  
  2387.       C - Change all pixels on the tile having the same color under the
  2388.          graphics cursor to to selected color.
  2389.       Arrows / Mouse - Move graphics cursor.
  2390.       Shift + Arrows - Select color. (on bottom right corner of screen)
  2391.       Space - Plot a pixel with the selected color.
  2392.       T - Turn drawing trail on / off.
  2393.       Tab - Select the color under the graphics cursor.
  2394.       BACKSPACE - Set the color to color 255 (transparent color).
  2395.       F - Floodfill a region with the current color and with the current
  2396.           color as a boundary.
  2397.       M,P - Use M to back up a tile into a temporary buffer in memory and P
  2398.             to restore it.  It may be wise to press M before a floodfill (F)
  2399.             (because sometimes you miss encapsulating the region by 1 pixel,
  2400.             and the whole picture gets killed, etc...)
  2401.       J - Randomly plots dots of current color over any pixels having the
  2402.           same color as the color under the tile cursor.
  2403.       [ - Random antialias of colors in color band under graphics cursor.
  2404.       ] - Non-random antialias of colors in color band under graphics cursor.
  2405.       ; - 3-Dimentionalize an image.  Makes colors in different rows of the
  2406.           color bar either appear to stick out or stick in to the wall.
  2407.       ' - 3-Dimentionalize the other way.
  2408.       R - Rotate the tile in a specified direction.
  2409.  
  2410.       1 - Mark the first corner of a rectangle for a copy/paste operation.
  2411.       2 - Mark the other corner of a rectangle for a copy/paste operation.
  2412.       3 - Paste the selected rectangle (Note: You must press 1 and 2 in that
  2413.           order first before pressing 3.  Pretty simple 1-2-3 for copy&paste)
  2414.  
  2415.       4 - Flip the copied rectangular region x-wise.
  2416.       5 - Flip the copied rectangular region y-wise.
  2417.       6 - Swap the x and y coordinates of the copied rectangular region.
  2418.  
  2419.       ,.<> - Change the shade of the selected region.
  2420.       \ - Move the cursor to the center or the tile.
  2421.       | - Get the coordinates of the cursor.
  2422.  
  2423.  
  2424.  
  2425. ───────────────────────────────────────────────────────────────────────────────
  2426.                             ┌────────────────────┐
  2427.                             │11. BUILD MAP FORMAT│
  2428.                             └────────────────────┘
  2429.  
  2430. Here's how you should read a BUILD map file:
  2431.  
  2432. {
  2433.    fil = open(???);
  2434.  
  2435.       //Load map version number (current version is 7L)
  2436.    read(fil,&mapversion,4);
  2437.  
  2438.       //Load starting position
  2439.    read(fil,posx,4);
  2440.    read(fil,posy,4);
  2441.    read(fil,posz,4);          //Note: Z coordinates are all shifted up 4
  2442.    read(fil,ang,2);           //All angles are from 0-2047, clockwise
  2443.    read(fil,cursectnum,2);    //Sector of starting point
  2444.  
  2445.       //Load all sectors (see sector structure described below)
  2446.    read(fil,&numsectors,2);
  2447.    read(fil,§or[0],sizeof(sectortype)*numsectors);
  2448.  
  2449.       //Load all walls (see wall structure described below)
  2450.    read(fil,&numwalls,2);
  2451.    read(fil,&wall[0],sizeof(walltype)*numwalls);
  2452.  
  2453.       //Load all sprites (see sprite structure described below)
  2454.    read(fil,&numsprites,2);
  2455.    read(fil,&sprite[0],sizeof(spritetype)*numsprites);
  2456.  
  2457.    close(fil);
  2458. }
  2459.  
  2460. Sector Information:
  2461.  
  2462.    //sizeof(sectortype) = 40
  2463. typedef struct
  2464. {
  2465.    short wallptr, wallnum;
  2466.    long ceilingz, floorz;
  2467.    short ceilingstat, floorstat;
  2468.    short ceilingpicnum, ceilingheinum;
  2469.    signed char ceilingshade;
  2470.    char ceilingpal, ceilingxpanning, ceilingypanning;
  2471.    short floorpicnum, floorheinum;
  2472.    signed char floorshade;
  2473.    char floorpal, floorxpanning, floorypanning;
  2474.    char visibility, filler;
  2475.    short lotag, hitag, extra;
  2476. } sectortype;
  2477. sectortype sector[1024];
  2478.  
  2479. wallptr - index to first wall of sector
  2480. wallnum - number of walls in sector
  2481. z's - z coordinate (height) of ceiling / floor at first point of sector
  2482. stat's
  2483.    bit 0: 1 = parallaxing, 0 = not                                 "P"
  2484.    bit 1: 1 = sloped, 0 = not
  2485.    bit 2: 1 = swap x&y, 0 = not                                    "F"
  2486.    bit 3: 1 = double smooshiness                                   "E"
  2487.    bit 4: 1 = x-flip                                               "F"
  2488.    bit 5: 1 = y-flip                                               "F"
  2489.    bit 6: 1 = Align texture to first wall of sector                "R"
  2490.    bits 7-15: reserved
  2491. picnum's - texture index into art file
  2492. heinum's - slope value (rise/run) (0-parallel to floor, 4096-45 degrees)
  2493. shade's - shade offset of ceiling/floor
  2494. pal's - palette lookup table number (0 - use standard colors)
  2495. panning's - used to align textures or to do texture panning
  2496. visibility - determines how fast an area changes shade relative to distance
  2497. filler - useless byte to make structure aligned
  2498. lotag, hitag, extra - These variables used by the game programmer only
  2499.  
  2500. Wall Information:
  2501.  
  2502.    //sizeof(walltype) = 32
  2503. typedef struct
  2504. {
  2505.    long x, y;
  2506.    short point2, nextwall, nextsector, cstat;
  2507.    short picnum, overpicnum;
  2508.    signed char shade;
  2509.    char pal, xrepeat, yrepeat, xpanning, ypanning;
  2510.    short lotag, hitag, extra;
  2511. } walltype;
  2512. walltype wall[8192];
  2513.  
  2514. x, y: Coordinate of left side of wall, get right side from next wall's left side
  2515. point2: Index to next wall on the right (always in the same sector)
  2516. nextwall: Index to wall on other side of wall (-1 if there is no sector)
  2517. nextsector: Index to sector on other side of wall (-1 if there is no sector)
  2518. cstat:
  2519.    bit 0: 1 = Blocking wall (use with clipmove, getzrange)         "B"
  2520.    bit 1: 1 = bottoms of invisible walls swapped, 0 = not          "2"
  2521.    bit 2: 1 = align picture on bottom (for doors), 0 = top         "O"
  2522.    bit 3: 1 = x-flipped, 0 = normal                                "F"
  2523.    bit 4: 1 = masking wall, 0 = not                                "M"
  2524.    bit 5: 1 = 1-way wall, 0 = not                                  "1"
  2525.    bit 6: 1 = Blocking wall (use with hitscan / cliptype 1)        "H"
  2526.    bit 7: 1 = Transluscence, 0 = not                               "T"
  2527.    bit 8: 1 = y-flipped, 0 = normal                                "F"
  2528.    bit 9: 1 = Transluscence reversing, 0 = normal                  "T"
  2529.    bits 10-15: reserved
  2530. picnum - texture index into art file
  2531. overpicnum - texture index into art file for masked walls / 1-way walls
  2532. shade - shade offset of wall
  2533. pal - palette lookup table number (0 - use standard colors)
  2534. repeat's - used to change the size of pixels (stretch textures)
  2535. pannings - used to align textures or to do texture panning
  2536. lotag, hitag, extra - These variables used by the game programmer only
  2537.  
  2538. Sprite Information:
  2539.  
  2540.    //sizeof(spritetype) = 44
  2541. typedef struct
  2542. {
  2543.    long x, y, z;
  2544.    short cstat, picnum;
  2545.    signed char shade;
  2546.    char pal, clipdist, filler;
  2547.    unsigned char xrepeat, yrepeat;
  2548.    signed char xoffset, yoffset;
  2549.    short sectnum, statnum;
  2550.    short ang, owner, xvel, yvel, zvel;
  2551.    short lotag, hitag, extra;
  2552. } spritetype;
  2553. spritetype sprite[4096];
  2554. x, y, z - position of sprite - can be defined at center bottom or center
  2555. cstat:
  2556.    bit 0: 1 = Blocking sprite (use with clipmove, getzrange)       "B"
  2557.    bit 1: 1 = transluscence, 0 = normal                            "T"
  2558.    bit 2: 1 = x-flipped, 0 = normal                                "F"
  2559.    bit 3: 1 = y-flipped, 0 = normal                                "F"
  2560.    bits 5-4: 00 = FACE sprite (default)                            "R"
  2561.              01 = WALL sprite (like masked walls)
  2562.              10 = FLOOR sprite (parallel to ceilings&floors)
  2563.    bit 6: 1 = 1-sided sprite, 0 = normal                           "1"
  2564.    bit 7: 1 = Real centered centering, 0 = foot center             "C"
  2565.    bit 8: 1 = Blocking sprite (use with hitscan / cliptype 1)      "H"
  2566.    bit 9: 1 = Transluscence reversing, 0 = normal                  "T"
  2567.    bits 10-14: reserved
  2568.    bit 15: 1 = Invisible sprite, 0 = not invisible
  2569. picnum - texture index into art file
  2570. shade - shade offset of sprite
  2571. pal - palette lookup table number (0 - use standard colors)
  2572. clipdist - the size of the movement clipping square (face sprites only)
  2573. filler - useless byte to make structure aligned
  2574. repeat's - used to change the size of pixels (stretch textures)
  2575. offset's - used to center the animation of sprites
  2576. sectnum - current sector of sprite
  2577. statnum - current status of sprite (inactive/monster/bullet, etc.)
  2578.  
  2579. ang - angle the sprite is facing
  2580. owner, xvel, yvel, zvel, lotag, hitag, extra - These variables used by the
  2581.                                                game programmer only
  2582.  
  2583.  
  2584.  
  2585. ───────────────────────────────────────────────────────────────────────────────
  2586.                          ┌──────────────────────────┐
  2587.                          │12. MAP AUTHORING TEMPLATE│
  2588.                          └──────────────────────────┘
  2589.  
  2590. When you upload your .MAP file(s) to FTP sites, BBS's and the like, you
  2591. are encouraged to include this file with the map, so that you can be
  2592. recognized for your work!  We can't wait to see what you can come up with!
  2593.  
  2594. Duke Nukem 3D .MAP Authoring Template v1.0
  2595. ================================================================
  2596. Title                   :
  2597. Filename                : xxxx.MAP
  2598. Author                  : Your name here
  2599. Email Address           :
  2600. Misc. Author Info       :
  2601.  
  2602. Description             :
  2603.  
  2604. Additional Credits to   :
  2605. ================================================================
  2606.  
  2607. * Play Information *
  2608.  
  2609. Episode and Level #     :
  2610. Single Player           : Yes/No
  2611. DukeMatch Level         : Yes/No
  2612. Difficulty Settings     : Yes/Not implemented
  2613.  
  2614. * Construction *
  2615.  
  2616. Base                    : New level from scratch/Modified ExMx/xxx.MAP
  2617. Editor(s) used          :
  2618. Known Bugs              :
  2619.  
  2620. * Where to get this MAP file *
  2621.  
  2622. FTP sites:
  2623.  
  2624. BBS numbers:
  2625.  
  2626. Other:
  2627.  
  2628.  
  2629. ───────────────────────────────────────────────────────────────────────────────
  2630.                          ┌──────────────────────────┐
  2631.                          │12. TIPS FROM THE LEVELORD│
  2632.                          └──────────────────────────┘
  2633.  
  2634. Here are a few closing comments from the Levelord:
  2635.  
  2636.    » Don't let two mirrors "see" each other, this causes problems.
  2637.    » Don't put two demo cameras where they are within each other's
  2638.      field of vision; this causes problems.
  2639.    » Keep your maps simple, especially if they are for Dukematch.
  2640.    » Your frame rate is directly related to your computer, so if
  2641.      you have a Pentium, don't make a map that won't run on a good 486.
  2642.    » Use shadowing - Makes for more cool looking rooms/objects/whatever.
  2643.    » In the simplest case - a square room should have two opposing sides
  2644.      darker (or lighter) than the other two.
  2645.    » If your frame rate allows, subdivide sectors to look like shadows are
  2646.      being cast from buildings. etc.
  2647.    » Select a "tile set" that fits your map's motif.
  2648.    » Don't use too many tiles, especially in any one scene.
  2649.    » Frame Rate is God!  Keep this in mind at all times.
  2650.    » Most of all, think deviously!
  2651.