                  ____        _ _     _   ____
                 | __ ) _   _(_) | __| | |  _ \  ___   ___ ___
                 |  _ \| | | | | |/ _` | | | | |/ _ \ / __/ __|
                 | |_) | |_| | | | (_| | | |_| | (_) | (__\__ \
                 |____/ \__,_|_|_|\__,_| |____/ \___/ \___|___/

                     Edited to help remove the foo-foo stuff.

    Ŀ
     This information is provided as is.  It is very possible to corrupt  
     your copy of Duke Nukem 3D, so make backups!!!   3D Realms & Apogee  
     cannot and will not support the use of this program.  If you choose  
     to use it, you do so on your own.  We cannot help with questions     
     about this program or its use.                                       
    


                                  Ŀ
                                  4. SPRITES
                                  

   Sprites are used for bad guys, weapons, ammo, goodies, switches, and
decoration.  You probably noticed while you were looking for wall textures
before, that the art work for these things were there, too.  When you start
adding sprites, take a look around within the textures again; there are lots
of sprites and they're often good for inspiring ideas for the level.

   In 2D mode, sprites will appear as little dots with a tail.  If the sprite
has a name assigned to it, such as "shotgun", this will be displayed if you
are zoomed in enough.  The tail of the sprite tells you its orientation.  The
sprite will point in the direction of the tail when it's initiated by the
game.


    4.1   Adding Sprites

   You will usually use 2D mode for sprite placement because it's more
accurate and seems more convenient with a top view.  Go to 2D mode, point at
a place for the sprite and hit the "S" key.  The "S" key will work in 3D mode
in the same way - point at the spot on the floor or ceiling where you want
the sprite and hit "S".

   Go to 3D mode and look at the sprite.  If this is a new map, or at least
one without any sprites, you'll see that ugly, brown texture.  You can select
the right texture for the sprite in the same way that you selected wall
textures.

   Point at sprite hit the "V" key.  The first screen are the sprites already
used in current map and hitting the "V" key again will show all the textures.
Use the arrow keys and PgUp/PgDn to move around the textures and hit Enter
when you see the one you want.

   You can leave the sprite on the floor or move it up and down with the
PgUp/PgDn keys in 3D mode.  Ctrl-PgUp and Ctrl-PgDn, while pointing at the
sprite, will put the sprite directly on the ceiling or floor, respectively.

                         Ŀ
                         5. ADVANCED SECTOR STUFF
                         

   As you start trying more difficult level designing, keep in mind that many
of the things you want to do are already done in other levels.  You should
load some of our levels into BUILD and see how we did things.  There are tons
of tricks and neat things in BUILD, and I can't mention most of them here.

                             Ŀ
                             6. MISCELLEANOUS
                             


    6.1   Sector's "First" Wall and Relative Floors/Ceilings.

   The wall between the first two points of a sector is the sector's first
wall.  You can select the sector's first wall by pointing at the floor or
ceiling, in 3D mode, just in front of the desired wall and hitting the Alt-F
keys.  More times than not, you will not need to re-assign sector first
walls.

   If you want to align the floor/ceiling textures along a specific wall,
usually to make the pattern in the texture match the direction of the wall,
you can make the floor/ceiling texture "relative".  To toggle between
relatively aligned textures and normally aligned textures, point at the floor
or ceiling in 3D mode and hit the "R" key.

   You may also want to make floors/ceilings relative when you start playing
with moving sectors.


    6.2   Slopes.

   can slope with the "[" and "]" keys

   can make a perfect match with the next sector's floor or ceiling with the
Alt-[ and Alt-] keys.


    6.3   Multi-Player/Co-Op Start Points.

   Place Duke's first frame for each multi-player and co-op start position.
There needs to be seven of each; the single-play start position will be used
as one of the multi-play and one of the co-op start positions.  That makes a
total of eight start positions for each.

   To identify co-op start positions from multi-play ones, give the co-op
Duke sprites a low tag of 1.
   For multiplay, spread the starting positions around the level in good
places where none of the players will have an advantage over the others (near
a good weapon, etc.).  For co-op, place all the player starts right near the
single-play start position (brown arrow in 2D mode) so that the co-op team
will be together at the start of the game.


    6.4   Multi-Play Weapons.

   palette shift to palette #1 (blue)



                   Ŀ
                   7. SECTOR EFFECTOR REFERENCE GUIDE
                   
_____________________________________________________________________________
Editor's note:  You might want to check the specific sector effector tag, below
the list.   Sometimes the hightag will effect certain aspects of the low-tag.

Example:  The low-tag sector effector #10 will close a door automatically, the
high-tag of the effector, tells it how long to remain open till it closes.


The low tag is used used for the type or style.  It is directly related to
how the sector will react.
The high tag is used more for matching.... meaning that it's used for identifying
a switch to a sector.

To alter a sector effector's properties a couple of things must occur.
        1)  A sprite(the sector effector) must be inserted
        2)  in 2d mode, place your mouse over the sector effector.
        3)  to alter the hi-tag, hit (alt-h)
        4)  to alter the low-tag, hit (alt-t)

__________________________________________________________________________________

-SECTOR EFFECTOR -

 0  : ROTATED SECTOR
 1  : PIVOT SPRITE FOR SE 0
 2  : EARTHQUAKE
 3  : RANDOM LIGHTS AFTER SHOT OUT
 4  : RANDOM LIGHTS
 6  : SUBWAY
 7  : TRANSPORT (UNDERWATER ST 1 or 2)
 8  : UP OPEN DOOR LIGHTS
 9  : DOWN OPEN DOOR LIGHTS
 10 : DOOR AUTO CLOSE (H=DELAY)
 11 : ROTATE SECTOR DOOR
 12 : LIGHT SWITCH
 13 : C-9 EXPLOSIVE
 14 : SUBWAY CAR
 15 : SLIDE DOOR (ST 25)
 16 : ROTATE REACTOR SECTOR
 17 : ELEVATOR TRANSPORT (ST 15)
 19 : SHOT TOUCHPLATE CIELING DOWN
 20 : BRIDGE (ST 27)
 21 : DROP FLOOR (ST 28)
 22 : PRONG (ST 29)
 24 : CONVAIRBELT
 25 : ENGINE
 27 : CAMERA FOR PLAYBACK
 29 : FLOAT
 30 : 2 WAY TRAIN (ST=31)
 31 : FLOOR RISE
 32 : CEILING FALL
 33 : SPAWN JIB W/QUAKE
 36 : SKRINK RAY SHOOTER

--------------------------------------------------------------------------------
Definitions:
--------------------------------------------------------------------------------

SE 0 : Rotate Sector

   :Used to rotate a sector around a pivot point.

   Hitag : Set equal to Hitag of SE 1 as pivot point for sector.
   Sector Lotag : none
   Angle : up = Rotate all points around SE 1.
           down = Rotate sector around SE 1.
   Shade : none
   Palette : none
   Comment :
      :If Relative alignment is set on the floor,( the R key ), then all
       sprites and actors on the floor will rotate with the sector

SE 1 : Pivot for Rotate SE 0

   :Used as a pivot point for Sector Effector 0 to rotate a sector around.

   Hitag : Set equal to Hitag of all SE 0 to rotate.
   Sector Lotag : none
   Angle : up = Rotate clockwise
           down = Rotate counter-clockwise
   Shade : none
   Palette : none
   Comment :

SE 2 : Earthquake

   :Used to set off an earthquake. During the earthquake the screen will
   shake for about 4 seconds. The sector will move in the direction that
   the SE sprite is pointing. If there is a slope, then it will rise
   during the earthquake.

   Hitag : none
   Sector Lotag : none
   Angle : Direction to move sector during earthquake.
   Shade : none
   Palette : none
   Comment :
      :Must activate with Masterswitch.
      :If there is a slope, then it will be made flat at pre-map and
       rised during the earthquake to a maximum height of 4 clicks.

SE 3 : Random lights after shot out

   :Used to create lighting effect when lights are shot out. It will
    also set the color of light when the light is on. Make the sector
    shade dark when the light is out and make the SE sprite shade bright
    when the light is on.

   Hitag : Set equal to Wall Lotag with graphic of Light or
           Set equal to Cieling Hitag with graphic of Light.
   Sector Lotag : none
   Angle : none
   Shade : Set to brightness when light is on, set sector brightness to when light is off.
   Palette : Set to Palette Lookup number when light is on.
   Comment :
      :Can be used with SE 12 to be turned on and off with a light
       switch until the lights are shot out.
      :The lights color is taken from the SE sprites Palette when the
       light is on, and the sectors palette when the light is off.
       Default is no color. e.g. palette = 0.
      :Both the SE sprite and the sector can have different palettes.

SE 4 : Random lights

   :Used to make sector randomly flash in brightness. It will also set
    the color of light when the light is on. Make the sector shade dark
    when the light is off and make the SE sprite shade bright when the
    light is on.

   Hitag : Set for Random Flash number.
   Sector Lotag : none
   Angle : none
   Shade : Set to brightness when light is on, set sector brightness to when light is off.
   Palette : Set to when light is on.
   Comment :
      :Can NOT be used with SE 12 to be turned on and off with a light
       switch.
      :The lights color is taken from the SE sprites Palette when the
       light is on, and the sectors palette when the light is off.
       Default is no color. e.g. palette = 0.
      :Both the SE sprite and the sector can have different palettes.

SE 5 : Reserved

SE 6 : Subway Engine

   :Used as the Engine for a Subway. Use with SE 14 for multiple subway
    cars. Must be used with Locator Sprite to set track.

   Hitag : Set equal to Locator Lotag for starting position.
   Sector Lotag : none
   Sector Hitag : All sectors within Car sector must be equal.
   Angle : Set for direction of Subway.
   Shade : none
   Palette : none
   Comment :
      :Set relative align on sector floor, (R key), to make sprites
       move.
      :If a Locator has a Hitag of 1, then the Subway will stop at that
       locator for 5 seconds then continue.

SE 7 : Transport / Water

   :Used as Teleporter and Water Effect.

   Hitag : Set equal to one other SE 7 to Transport to.
   Sector Lotag : 0 = Teleporter.
                  1 = On top of water.
                  2 = Underwater
   Angle : none
   Shade : none
   Palette : 0 = Water
             8 = Green Slime
   Comment :
      :If the Sector Effector Sprite is off the ground, then you will only
       teleport when dukes waist is at the same heigth as the sprite and in
       the same sector.
      :When using with Sector Lotag 1 and 2 as water, the two sectors must be
       exactly the same size or you will teleport to death.

SE 8 : Up Open Door Lights

   :Used to light up a room when a door is opened.

   Hitag : Set equal to all other SE 8 used together.
   Sector Lotag : Use with any that raises the cieling. ex: Sector Lotag 20
   Angle : none
   Shade : Set to brightness when light is on, set sector brightness to when light is off.
   Palette : none
   Comment :
      :At least one SE 8 with equal Hitag must be in a sector in which the
       ceiling rises.

SE 9 : Down Open Door Lights

   :Used to light up a room when a light comes down from the ceiling.

   Hitag : Set equal to all other SE 9 used together.
   Sector Lotag : Use with any that lowers to floor. ex: Sector Lotag 21
   Angle : none
   Shade : Set to brightness when light is on, set sector brightness to when light is off.
   Palette : none
   Comment :
      :At least one SE 8 with equal Hitag must be in a sector in witch the floor rises.

SE 10 : Door Auto Close

   :Used to Automaticly close a door after a set delay.

   Hitag : Delay until door closes. ex: 128 equals 4 seconds.
   Sector Lotag : Use with all door Sector Lotags
   Angle : none
   Shade : none
   Palette : none
   Comment :

SE 11 : Rotate Sector Door

   :Used as a door that rotates 90 degrees when activated.

   Hitag : none
   Sector Lotag : 23
   Angle : none
   Shade : none
   Palette : 0 = clockwise
             1 = Counter-clockwise
   Comment :
      :Will also activate other SE 11 with equal Hitag values.

SE 12 : Light Switch

   :Used light up a sector when activated with a switch.

   Hitag : Set equal to all other SE 12 used together
   Sector Lotag : none
   Angle : none
   Shade : Set to brightness when light is on, set sector brightness to when light is off.
   Palette : Set to when lights are on.
   Comment :
      :The lights color is taken from the SE sprites Palette when the
       light is on, and the sectors palette when the light is off.
       Default is no color. e.g. palette = 0.
      :Both the SE sprite and the sector can have different palettes.

SE 13 : C-9 Explosive

   :Used to blow apart the ceiling and floor of a sector to create holes
    in walls

    Hitag : Set equal to SEENINE, OOZCAN, or CRACK sprites to activate
    Sector Lotag : none
    Angle : up = both ceiling and floor come together at Pre-map.
            down = Only the ceiling or the floor matches height with the
                   SE sprite depending on which one is closest.
    Shade : none
    Palette : none
    Comment :
       :Can be activated by a Masterswitch with equal Hitags.
       :If the ceiling has a Sky texture without Parallax set, then the
        tile will be replaced at Pre-map with the closest non-Sky
        texture. When it explodes, the sky will change to Parallax.

SE 14 : Subway Car

   :Used as the Car for a Subway. Use with SE 6 for Subway engine.
    Must be used with Locator Sprite to set track.

   Hitag : Set equal to Locator Lotag for starting position.
   Sector Lotag : none
   Sector Hitag : All sectors within Car sector must be equal.
   Angle : Set for direction of Subway.
   Shade : none
   Palette : none
   Comment :
      :Set relative align on sector floor, (R key), to make sprites
       move.
      :If a Locator has a Hitag of 1, then the Subway will stop at that
       locator for 5 seconds then continue.

SE 15 : Slide Door

   :Used as a door that slides when opened.

   Hitag : Set equal to other doors to be opened at same time.
   Sector Lotag : 25
   Angle : Set to direction when door is closed.
   Shade : none
   Palette : none
   Comment :
      :Speed Sprite sets distance to door to open.
      :Check !SE.map on how to build.
      :Use MusicSFX sprite for sound.

SE 16 : Reserved

SE 17 : Elevator Transport

   :Used as an Elevator that transports from one elevator shaft to
    another to simulate going stright up from one floor to another.

   Hitag : Equal to one other SE 17.
   Sector Lotag : 15
   Sector Hitag : 0 = Bottom Floor
                  1 = Top Floor
   Angle : none
   Shade : Darkest shade of the two SE 17 with equal Hitag is the
           starting floor for the elevator.
   Palette : none
   Comment :
      :Top and Bottom floors must be physiclly built at proper height
       difference to work properly.
      :Both Elevators must be Exactly the same size.

SE 18 : Reserved

SE 19 : Shot Touchplate Ceiling Down

   :Used to close ceiling when a shot or explosion hits within the
    sector.

   Hitag : Equal to others to activate at same time.
   Sector Lotag : none
   Angle : none
   Shade : none
   Comment :
      :Does not check to when a shot or object passes through the
       sector.
      :Use MusicSFX sprite for sound.

SE 20 : Bridge

   :Used to strech a sector when activated.

   Hitag : none
   Sector Lotag : 27
   Angle : Set to direction to strech sector.
   Shade : none
   Comment :
      :Set relative alignment, (R key), on sector to move floor.
      :Use Speed sprite for distance.

SE 21 : Drop Floor

   :Used to make a floor or ceiling drop to the height of the
    SE sprite when activated by a Masterswitch.

   Hitag : Set equal to others that activate at same time.
   Sector Lotag : 28
   Angle : up = Drop Ceiling
           down = Drop Floor
   Shade : none
   Comment:
      :Floor or Ceiling matches heigth of SE sprite at Pre-map then
       drops to set position when activated.
      :To do opposite, the SE sprite height must be put into sector.

SE 22 : Prong

   :Used as Door inside Teeth Prongs.

   Hitag : Set equal to Hitag of Sector Lotaged 29.
   Sector Lotag : 0, Outside Sector Lotag of 29
   Angle : none
   Shade : none
   Comment:
      :This Effector was not tested in the, game so use at your own risk.
       It may cause problems in multi-play.
      :See !SE.MAP for usage.

SE 23 : Reserved

SE 24 : Convairbelt

   :Used to move sprites along the floor like a convairbelt.

   Hitag : Set equal to a switch to turn on and off.
   Sector Lotag : none
   Angle : Set to direction to move sprites.
   Shade : none
   Comment:
      :Set relative alignment (R key) on sector floor to move sprites.
      :Set Speed sprite equal to rate of movement.

SE 25 : Engine Piston

   :Used as a Piston that only goes up and down.

   Hitag : none
   Sector Lotag : none
   Angle : none
   Shade : none
   Comment:
      :Put SE sprite height to starting position of Piston.
      :Speed sprite equals rate of movement.

SE 26 : Reserved

SE 27 : Camera for Playback

   :Used as a camera position to view playback of game Demos.

   Hitag : Set to maximum distance for the camera to view the action of
           other players. e.g. 2048 equals largest grid in build.
   Sector Lotag : none
   Angle : none
   Shade : none
   Comment:
      :Camera does not always work well with extreme heights.

SE 28 : Reserved

SE 29 : Floating Sector

   :Used to make sector float like water or waves.

   Hitag : Set to starting height of sector. 0-2047
   Sector Lotag : none
   Angle : none
   Shade : none
   Comment:
      :Use Speed sprite to set height of wave.
      :To use as a wave, the sector must only be made of 4 lines. Set
       one wall as first wall (alt-f) next to another sector with a
       SE 29 sprite in it to create a wave.

SE 30 : 2 Way Train

   :Used as a Train car that only goes back and forth from point A to
    point B.

   Hitag : Set equal to a switch to activate.
   Sector Lotag : 31
   Angle : Set to direction of front of Car.
   Shade : none
   Comment:
      :Use with 2 Locator sprites to define track.
      :Activator with equal hitag+1 activates when car stops at point A.
       Activator with equal hitag+2 activates when car stops at point B.

SE 31 : Floor Rise

   :Used to rise or lower sector floor when activated by an Activator or
    Masterswitch.

   Hitag : none
   Sector Lotag : none
   Angle : up = Start sector heigth equal to SE sprite heigth at Pre-map.
           Down = Rise sector to SE sprite heigth when activated.
   Shade : none
   Comment:
      :Use Speed to set rate of rise.
      :Use MusicSFX sprite for sound.

SE 32 : Ceiling Fall

   :Used to rise or lower sector Ceiling when activated by an Activator or
    Masterswitch.

   Hitag : none
   Sector Lotag : none
   Angle : up = Rise sector to SE sprite heigth when activated.
           down = Start sector heigth equal to SE sprite heigth at Pre-map.
   Shade : none
   Comment:
      :Use Speed to set rate of rise.
      :Use MusicSFX sprite for sound.

SE 33 : Spawn Earthquake Jibs

   :Used to spawn pieces of metal and rock from SE sprite during an
    Earthquake.

   Hitag : none
   Sector Lotag : none
   Angle : none
   Shade : none
   Comment:
      :Jibs will be spawned whenever a earthquake anywhere on the map.

SE 34 : Reserved

SE 35 : Reserved
SE 36 : Spawn Shot

   :Used to Spawn a shot every 5 seconds when activated by a
    Masterswitch.

   Hitag : none
   Sector Lotag : none
   Angle : Set to direction to shoot.
   Shade : none
   Comment:
      :Once activated, it will never stop shooting.
      :Use Speed sprite to set object to shoot. e.g.
       2556 : Shrink Ray
       2605 : RPG
       1650 : Morter
       1625 : Trooper Laser
       1636 : Lizman Spit



                   Ŀ
                   8. SPECIAL SPRITE REFERENCE GUIDE
                   

   SECTOREFFECTOR : Sprite #1
   ACTIVATOR : Sprite #2
   TOUCHPLATE : Sprite #3
   ACTIVATORLOCKED : Sprite #4
   MUSICANDSFX : Sprite #5
   LOCATORS : Sprite #6
   CYCLER : Sprite #7
   MASTERSWITCH : Sprite #8
   RESPAWN : Sprite #9
   GPSPEED : Sprite #10
   ACCESSSWITCH : Sprite #130
   SWITCH : Sprite #132 and all other SWITCHs
   NUKEBUTTON : Sprite #142
   MULTISWITCH : Sprite #146
   DOORTILE5 : Tile #150 and all other DOORTILEs
   DIPSWITCH : Sprite #162
   VIEWSCREEN : Spirte #502
   CRACK1 : Sprite #546 and all other CRACKs
   MIRROR : Tile #560
   CAMERA1 : Spirte #621
   CANWITHSOMETHING : Sprite #1232
   SEENINE : Sprite #1247
   FEMPIC1 : Sprite #1280
   APLAYER : Sprite #1405

--------------------------------------------------------------------------------
Definitions:
--------------------------------------------------------------------------------

SECTOREFFECTOR : Sprite #1

   :The Sector Effector Sprite is used to create game effects and
    manipulate Sector attributes. The SE is the main tool to create
    effects such as Earthquakes, Explosions, and Lighting Effects. Place
    a Sprite #1 in the sector to effect.
   Lotag : See !SE.TXT for details
   Hitag : Set equal to other SE Sprites with same Lotag to activate
          together. See !SE.TXT for more details.

   Comments:
      :Multiple SE Sprites can be used in a Sector to create different
       effects.

ACTIVATOR : Sprite #2

   :The Activator Sprite is used with Switchs or the TOUCHPLATE Sprite
    to activate the Sector Lotag function or any Sector Effectors within
    the Sector.

   Lotag : Set equal to a Switch Lotag or a TOUCHPLATE Lotag
   Hitag : none

TOUCHPLATE : Sprite #3

   :The Touchplate will activate an ACTIVATOR or a MASTERSWITCH Sprite
    when the player walks on the sector floor.

   Lotag : Set equal to an ACTIVATOR or MASTERSWITCH Lotag.
   Hitag : 0  = Activate touchplate everytime player walks on the sector.
           >0 = The touchplate will only activate this many times when
                the player walks on the sector then never again.

ACTIVATORLOCKED : Sprite #4

   :The Activatorlocked Sprite will lock the sectors Lotag function so
    it can not be activated by the player until it is unlocked with a
    switch.

    Lotag : Set equal to a Switchs Lotag to be toggled Locked and
            Unlocked.
    Hitag : none.

MUSICANDSFX : Sprite #5

   :The Music and Sound Effects Sprite can be used 3 ways.
      1. Activation Sound :
         When used in a sector with a Lotag, it will play a sound when
         the sectors Lotag function is activated.
         Lotag : Sound number.
         Hitag : none.
      2. Ambiente Sound :
         When used in a sector with no Lotag, it will play an ambiente
         sound.
         Lotag : Ambiente Sound.
         Hitag : Max distance the sound can be heard. e.g. 1024 equals
                 the largest grid square in build.
      3. Echo Effect :
         When used in a sector with no Lotag, if will cause all sounds
         to have a echo effect.
         Lotag : 1000 + the amount of echo from 0-255.
         Hitag : Max distance the sound can be heard. e.g. 1024 equals
                 the largest grid square in build.

LOCATORS : Sprite #6
   :The Locator Sprite can be used to define a track for a Subway (SE 6
    & SE 14) or to define a path for PigCop Recon Cars but not both in
    the same map. Plus you can only have one path defined in a map.

   Lotag : Set in an increasing order starting from 0 with no gaps in
           the count for all the LOCATOR Sprites in the map. When the
           Subway or PigCop Recon Car reaches the last LOCATOR Sprite,
           it will loop back to the LOCATOR Sprite with Lotag 0.
   Hitag : If set to 1, then the Subway will stop the LOCATOR Sprite
           location for 5 seconds, then continue to the next LOCATOR.
           The PigCop Recon Car is not effected.

CYCLER : Sprite #7

   :The Cycler Sprite is used to make the Sector Floor, Walls, and
    Ceiling pulsate in brightness.
   Lotag : Set the offset of how bright it will start.
   Hitag : none
   Palette : Set to a color if needed.
   Shade : Set to how bright the sector will get. Set the sector
           brightness to how dark it will get.

MASTERSWITCH : Sprite #8

   :The Master Switch Sprite is used to activate a Sector Lotag or an
    Sector Effector Sprite after a time delay. This can only be
    activated by a TOUCHPLATE Sprite.
   Lotag : Set equal to a TOUCHPLATE Sprite Lotag to be activated by.
   Hitag : Set for time delay until activation of Sector Tag or Sector
           Effector Sprite.

RESPAWN : Sprite #9

   :The Respawn Sprite is used to Teleport in Actors and Items when
    activated by a TOUCHPLATE Sprite.
   Lotag : Set equal to TOUCHPLATE Sprite Lotag to be activated by.
   Hitag : Set equal to any Sprite Number that have a name with it in
           Build or Editart.

GPSPEED : Sprite #10

   :The GPSpeed Sprite is used to define the rate of movement for such
    things as Sector Tag 20 (Ceiling Door) and Sector Effector 0(Rotate
    Sector). See !SE.TXT and !ST.txt for more details.
   Lotag : Set to rate.
   Hitag : None.

ACCESSSWITCH : Sprite #130

   :The Access Switch is used to unlock or activate something when used
    with a Key Card. Use the Palette to define what card to use.
   Lotag : Set equal to ACTIVATOR or ACTIVATORLOCKED Sprite Lotag to use.
   Hitag : Set to play sound when activated.
   Palette : 0 = Blue card
             21 = Red card
             22 = Yellow card

SWITCH : Sprite #132 and all other SWITCHs

   :The Switch is used to unlock or activate something when activated by
    space key.
   Lotag : Set equal to ACTIVATOR or ACTIVATORLOCKED Sprite Lotag to use.
   Hitag : Set to play sound when activated.
   Palette : 0 = Normal play
             1 = Multi-play only

NUKEBUTTON : Sprite #142

   :The Nuke Button is used to End a level and goto the stat screen. It
    can also be used to goto a bonus level.
   Lotag : Set to 32767 to end a level and goto stat screen
           Set to 1-11 to goto a bonus level in the same volume.
   Hitag : none.
   Palette : 0 = Default.
             14 = Bonus Level.

MULTISWITCH : Sprite #146

   :The Multi Switch can activate 4 multiple ACTIVATOR Sprites. It uses
    4 consecutive Lotags to activate each ACTIVATOR. When first switched,
    it activates ACTIVATOR Sprites A and D. The next time it activates
    ACTIVATOR Sprites B and A. etc.. C and B.. D and C.. then A and D
    again.
   Lotag : Set equal to ACTIVATOR Sprites A,B+1,C+2,D+3
   Hitag : none.

DOORTILE5 : Tile #150 and all other DOORTILEs

   :The Door Tiles can be used to activate ACTIVATOR Sprites when the
    player presses upon the wall.
   Wall Lotag : Set equal to ACTIVATOR Sprite Lotag to activate.
   Wall Hitag : none.

DIPSWITCH : Sprite #162

   :The Dip Switch is used as a combination switch with a ACTIVATOR or
    ACTIVATORLOCKED Sprite. All DIPSWITCH Sprites with equal Lotags will
    be used for the combination.
   Lotag : Set equal to ACTIVATOR or ACTIVATORLOCKED Sprite Lotag.
   Hitag : 0 = set to off.
           1 = set to on.

VIEWSCREEN : Spirte #502

   :The View Screen is used to view through Cameras (Sprite # 621) placed
    around the map. It will view through all Cameras with equal Lotags.
   Lotag : none.
   Hitag : Set equal to CAMERA1 Sprites #621.

CRACK1 : Sprite #546 and all other CRACKs

   :The Crack Sprite is used to activate explosions,(SE 13) and other
    effects.
   Lotag : none.
   Hitag : Set equal to SE 13 Hitag to activate. See !SE.TXT for more
           details.

   Palette : Set to 1 for Multi-play mode only.

MIRROR : Tile #560

   :The Mirror tile is used to place a mirror in the map. To use it you
   must make a one-way wall (1 key in build). Put tile #560 on that
   wall. The sector behind the mirror must be the size of every space
   that can be seen in the mirror or problems will acure.

CAMERA1 : Spirte #621

   :The Camera Sprite is used to be able to view through using the
    VIEWSCREEN Sprite.
   Lotag : Set equal to the VIEWSCREEN Sprite Lotag to be viewed
           through.
   Hitag : Set to amount of turning radius. 0 equals none.
   Shade : Set to angle of facing down.
   Angle : Set to direction to point.

CANWITHSOMETHING : Sprite #1232

   :The Can with something is used to spawn an object when it is shot.
   Lotag : Set to Sprite number with a name in build or editart to spawn
           when shot.

SEENINE : Sprite #1247

   :The Seenine Sprite is used to activate explosions,(SE 13) and other
    effects. It can also be used to time delay explosions.
   Lotag : Set equal to time delay until explosion.
   Hitag : Set equal to SE 13 Hitag to activate. See !SE.TXT for more
           details.
   Size : If the Sprite is shrunk in the x direction, then the sprite will
   not be seen in the game, but the explosion will.

FEMPIC1 : Sprite #1280

   :The Fem Pics are used to activate the RESPAWN Sprite to spawn in any
    Sprite with a name in Build or Editart.
   Lotag : none.
   Hitag : Set equal to RESPAWN Sprite to activate.

APLAYER : Sprite #1405

   :The APlayer Sprite is used to define where all multi-players will
   start in the map. You must have a minimum of 7 Sprites in the map for
   an 8 player multi-play game and a minimum of 7 Sprites in the map for
   an 8 player Coop game.
   Lotag : 0 = Multi-player start position
           1 = Coop-player start position



                    Ŀ
                    9. SECTOR TAGS REFERENCE GUIDE
                    

-SECTOR TAGS -

 1  : WATER (SE 7)
 2  : UNDERWATER (SE 7)
 9  : STAR TREK DOORS
 15 : ELEVATOR TRANSPORT (SE 17)
 16 : ELEVATOR PLATFORM DOWN
 17 : ELEVATOR PLATFORM UP
 18 : ELEVATOR DOWN
 19 : ELEVATOR UP
 20 : CEILING DOOR
 21 : FLOOR DOOR
 22 : SPLIT DOOR
 23 : SWING DOOR
 25 : SLIDE DOOR (SE 15)
 26 : SPLIT STAR TREK DOOR
 27 : BRIDGE (SE 20)
 28 : DROP FLOOR (SE 21)
 29 : TEETH DOOR (SE 22)
 30 : ROTATE RISE BRIDGE
 31 : 2 WAY TRAIN (SE=30)
 10000+ : 1TIME SOUND
 32767 : SECRET ROOM
 65535 : END OF LEVEL

--------------------------------------------------------------------------------
Definitions:
--------------------------------------------------------------------------------

ST 1 : Water

   :Used as Water Effect when the player walks on sector. If used with a
    SE 7 (Transport) sprite, then it will move the player to the
    underwater sector with ST 2.

   Defenition : SE 7 : Transport Underwater
      Hitag : Set equal to one other SE 7 to Transport to.
      Sector Lotag : 0 = Teleporter.
                     1 = On top of water.
                     2 = Underwater
      Angle : none
      Shade : none
      Palette : 0 = Water
                8 = Green Slime
      Comment :
         :When using with Sector Lotag 1 and 2 as water, the two sectors must
          be exactly the same size or you will teleport to death.

ST 2 : Underwater

   :Used as Underwater Effect when the player moves in sector. If used with
    a SE 7 (Transport) sprite, then it will move the player to the
    underwater sector with ST 1.

   Definition : SE 7 : Transport Underwater
      Hitag : Set equal to one other SE 7 to Transport to.
      Sector Lotag : 0 = Teleporter.
                     1 = On top of water.
                     2 = Underwater
      Angle : none
      Shade : none
      Palette : 0 = Water
                8 = Green Slime
      Comment :
         :When using with Sector Lotag 1 and 2 as water, the two sectors must
          be exactly the same size or you will teleport to death.



ST 9 : Star Trek Doors

   :Doors that spred apart when opened like on Star Trek. Note that the
    wall tile on the doors will squish when opened.

   Comment:
      :Use MUSICANDSFX Sprite Lotag for door open sound.
      :Use SPEED Sprite Lotag for opening speed.

ST 15 : Elevator Transport

   :Used as an Elevator that transports from one elevator shaft to
    another to simulate going stright up from one floor to another.

   Comment:
      :Maximum of 2 floors.
      :Sounds are set automaticly

   Definition : SE 17 : Elevator Transport
      Hitag : Equal to one other SE 17.
      Sector Lotag : 15
      Sector Hitag : 0 = Bottom Floor
                     1 = Top Floor
      Angle : none
      Shade : Darkest shade of the two SE 17 with equal Hitag is the
              starting floor for the elevator.
      Palette : none
      Comment :
         :Top and Bottom floors must be physiclly built at proper height
          difference to work properly.
         :Both Elevators must be Exactly the same size.

ST 16 : Elevator Platform Down

   :Used to Lower the Sector Floor from current Height Down to the next
    Sector of lower height. On next activation, the sector floor will rise
    up to the next Sector.

   Comment:
      :Use MUSICANDSFX Sprite Lotag for Sound.
         Lotag = Start sound.
         Hitag = Stop Sound.
      :Use SPEED Sprite Lotag for rate of movement.

ST 17 : Elevator Platform Up

   :Used to Raise the Sector Floor from current Height Up to the next
    Sector of higher height. On next activation, the sector floor will
    drop down to the next Sector.

   Comment:
      :Use MUSICANDSFX Sprite Lotag for Sound.
         Lotag = Start sound.
         Hitag = Stop Sound.
      :Use SPEED Sprite Lotag for rate of movement.

ST 18 : Elevator Down

   :Used to Lower the Sector Floor and Ceiling from current Height Down
    to the next Sector of lower height. On next activation, the sector
    floor and ceiling will rise up to the next Sector.

   Comment:
      :Use MUSICANDSFX Sprite Lotag sound.
         Lotag = Start sound.
         Hitag = Stop Sound.
      :Use SPEED Sprite Lotag for rate of movement.

ST 19 : Elevator Up

   :Used to Raise the Sector Floor and Ceiling from current Height Up
    to the next Sector of higher height. On next activation, the sector
    floor and ceiling will drop down to the next Sector.

   Comment:
      :Use MUSICANDSFX Sprite Lotag for Sound.
         Lotag = Start sound.
         Hitag = Stop Sound.
      :Use SPEED Sprite Lotag for rate of movement.

ST 20 : Ceiling Door

   :Used to Raise and Lower the Sector Ceiling from level with the
    sector floor up to the height of the next sector ceiling height.

   Comment:
      :Use MUSICANDSFX Sprite Lotag for Open and Close Sound.
      :Use SPEED Sprite Lotag for rate of movement.
      :Use SE 10 to make the door auto-close.

ST 21 : Floor Door

   :Used to Raise and Lower the Sector Floor from level with the
    sector ceiling down to the height of the next sector floor height.

   Comment:
      :Use MUSICANDSFX Sprite Lotag for Open and Close Sound.
      :Use SPEED Sprite Lotag for rate of movement.
      :Use SE 10 to make the door auto-close.

ST 22 : Split Door

   :Used to Raise and Lower the Sector Floor and Ceiling from level with
    the next sector floor and ceiling, then together until the floor and
    ceiling match heigth.

   Comment:
      :Use MUSICANDSFX Sprite Lotag for Open and Close Sound.
      :Use SPEED Sprite Lotag for rate of movement.
      :Use SE 10 to make the door auto-close.

ST 23 : Swing Door

   :Used as doors that swing the sector 90 degrees when activated. Note
    that you can activate multiple ST 23 by giving the ST 11 Sprite
    Hitag equal values.
   Comment:
    :Use MUSICANDSFX Sprite Lo and Hitag to door open and close sound.

   Definition : SE 11 : Rotate Sector Door
      Hitag : none
      Angle : up = clockwise
              down = counter-clockwise
      Shade : none
      Palette : none
      Comment :
         Sector will also rise to heigth of Sector Effector Sprite if it
         is off the floor.


ST 24 : Reserved

ST 25 : Slide Door

   :Used as a door that slides when opened.

   Defenition : SE 15 : Slide Door
      Hitag : Set equal to other doors to be opened at same time.
      Angle : Set to direction when door is closed.
      Shade : none
      Palette : none
      Comment :
         :Speed Sprite sets distance to door to open.
         :Check !SE.map on how to build.
         :Use MusicSFX sprite for sound.

ST 26 : Split Star Trek Door

   :Used to do the effects of both ST 9 (Star Trek Door) and ST 22
    (Split Door). Doors will spred apart when opened like on Star
    Trek. Note that the wall tile on the doors will squish when opened.
    And will also Raise and Lower the Sector Floor and Ceiling from level
    with the next sector floor and ceiling, then together until the floor
    and ceiling match heigth.

   Comment:
      :Use MUSICANDSFX Sprite Lotag for Open and Close Sound.
      :Use SPEED Sprite Lotag for rate of movement.
      :Use SE 10 to make the door auto-close.

ST 27 : Bridge

   :Used to strech a sector when activated.

   Hitag : none
   Sector Lotag : 27
   Angle : Set to direction to strech sector.
   Shade : none
   Comment :
      :Set relative alignment, (R key), on sector to move floor.
      :Use Speed sprite for distance.

ST 28 : Drop Floor

   :Used to make a floor or ceiling drop to the height of the
    SE sprite when activated by a Masterswitch.

   Hitag : Set equal to others that activate at same time.
   Sector Lotag : 28
   Angle : up = Drop Ceiling
           down = Drop Floor
   Shade : none
   Comment:
      :Floor or Ceiling matches heigth of SE sprite at Pre-map then
       drops to set position when activated.
      :To do opposite, the SE sprite height must be put into sector.

ST 29 : Teeth Door

ST 30 : Rotate Rise Door

   :Used to rotate the sector floor 90 degrees and rise to the height of
    the SE 0 Sprite. Use SE 1 as the Pivot point for the sector.

   Comment:
      :Use MUSICANDSFX Sprite Lotag for sound.
      :Use SPEED for rate of turning.
      :Use SE 0 Sprite Palette for direction.
         Palette 0 = clockwise
         Palette 1 = counter-clockwise

ST 31 : 2 Way Train

   :Used as a Train car that only goes back and forth from point A to
    point B.

   Hitag : Set equal to a switch to activate.
   Sector Lotag : 31
   Angle : Set to direction of front of Car.
   Shade : none
   Comment:
      :Use with 2 Locator sprites to define track.
      :Activator with equal hitag+1 activates when car stops at point A.
       Activator with equal hitag+2 activates when car stops at point B.

ST 10000+ : 1 Time Sound

   :Used to play a sound one time when the player walks on the sector
    floor. Tag the sector Lotag with (10000 + sound number).

ST 32767 : Secret Room

   :Use Sector Lotag of 32767 to tag as a secret place to be counted at
   the end of level stats.

ST 65535 : End of Level

   :Used to end the level when the player walks on the sector floor.



                      Ŀ
                      10. BUILD KEYBOARD COMMANDS
                      

Ŀ
                         BUILD EDITOR INTRODUCTION:                        


There are 2 modes in the BUILD editor:
   3D EDIT MODE (Same as PLAY MODE but with a mouse cursor)
   2D EDIT MODE (The overhead map of the board with an arrow showing your
      position and angle and a mouse cursor)

It is essential that you use both editor modes:
      ---------
  Use the 3D EDIT MODE to change the attributes of a sector, wall, or sprite
     such as:

     Tile number - Tells which picture in the artwork file goes on the
                      object.  Press V to change.
     Shade       - The shade of the object.  Press -/+ to change.
     Repeating   - The "smooshiness" of a wall.  Also for sprites.  Press
                       keypad 2,4,6,8 to change.
     Panning     - The starting offset into the tile graphics.  Press
                       Shift + keypad 2,4,6,8 to change.
     Height      - For ceilings, floors, and sprites.  Press PGUP or PGDN
                   to change.
     and there are a few other special attributes.

  Use the 2D EDIT MODE to add, delete, or change the shape of sectors.

  To switch between the two EDIT MODES, press the keypad enter key.
                                                  -------------
Ŀ
                          3D EDIT MODE KEYS:                               

         ESC = Quit
keypad ENTER = Flip to the 2D overhead editor

       Mouse = Move mouse cursor
      Arrows = Move you in the appropriate directions
   Caps Lock = There are 3 different Z coordinate modes in BUILD.
                  Mode 0:  Game mode (default)
                  Mode 1:  Height lock mode
                  Mode 2:  Float mode
               Press Caps Lock to switch between the 3 modes.
               A and Z move up and down for all 3 modes.
        ********This effects the gravity of the you in the editor****

Note: For the following keys, it is important to move the mouse cursor to
the right position before using them.  Also, if you hold down the first mouse
button, then the item under the mouse cursor will be locked as the
highlighted object while the button is held down.  This is useful for the
PGUP/DN keys, when different objects come into view even without moving your
coordinates or the mouse cursor.
      There are 4 basic types of objects that can be worked with in this part
of the editor:  WALLS, CEILINGS, FLOORS, and SPRITES.
----------------------------------------------------------------------------
You might want to look at these keys and perhaps print out a hard copy, for
referencing
----------------------------------------------------------------------------



     PGUP/DN = Raise or Lower a ceiling or floor.  (If a wall is selected,
               the ceiling of that sector will move)  Also, if you did a
               sector highlight in 2D EDIT MODE, you can raise / lower
               multiple sectors at a time.
Ctrl-PGUP/DN = For sprites only, puts sprites exactly on the floor or exactly
               on the ceiling.
           V = Tile selection - use arrow keys to move around.  Press ENTER
               to change the object to the highlighted piece of artwork, or
               press ESC to cancel without changes made.
       ALT-V = Height selection - works just like V, but this selects the
               groudraw height map.

2,4,6,8 (keypad) = Repeat values (smooshiness of the sizes of pixels) -
               think of these keys as arrow keys controlling the bottom
               right corner of the bitmap.  Normally, this is used for walls
               and sprites.  If you select a floor or ceiling, all the walls
               in that sector will be affected.  Perhaps this can be used
               to make sprites grow and shrink as they get healthy or hurt.
               *********This is used to stretch the graphics***********
Shift +
2,4,6,8 (keypad) = Panning values (offset into the tile) -  These keys are
               useful when the you want a long wall to look continuous when
               they normally would not look continuous.
           / = Use this key to reset the panning values (if you're lost!)
           ***********This function is used to line up the textures******
           *********It's like the X, and Y offset used in Doom  *********

  5 (keypad) = If you hold down this key down in addition to the 2,4,6,8
               keys (keypad),the values will align at multiples of 8.
          .> =  This key attempts to match up all the tiles along a wall.  It
               scans along the walls towards the right as long as the picture
               number of the next wall is the same as the original picture
               number.  Note that some walls may not work right, especially
               floor / ceiling steps.

           F = Flip an object.  For sprites and walls, this flips the object
               x-wise.  For ceilings and floors, the objects are flipped in
               8 possible ways.  Just keep pressing 'F' to go through
               the 8 ways.
       ALT-F = When you use relative alignment mode on ceiling and floor
               textures, you can press Alt-F on the ceiling or floor to
               choose a new wall to align to.  It actually rotates the walls
               of a sector by 1.
           O = Wall orientation (whether it starts from the top or bottom)
               Normally, walls are oriented from the top.  For example, if
               you hold down 2/8 on the keypad in 3D EDIT MODE, the wall
               always starts from the top.  Orientation works differently
               for white lines and red lines, so if a wall doesn't look
               right, just press 'O' anyway to see if it get fixed.

COPY & PASTE
         TAB = COPY. Copy the attibutes of the highlighted objects into a
               temporary place.  The attributes it remembers are:
               tile, shade, x-repeat, y-repeat, and cstat values.

          ***** I really like to use this with the textures**********

  Left ENTER = PASTE. Paste the stored attributes over the highlighted
               object.  Whenever you press ENTER, the y-repeat values stay
               the same, and the x-repeat values are adjusted so the pixels
               of the bitmaps have a square-aspect ratio.
Ctrl+L.ENTER = Left ENTER with the ctrl key will paste the attribtues to
                every wall in a loop (if a wall is highlighted).
Shft+L.ENTER = Left ENTER with the shift key also pressed copies the shade
               only.
Ctrl+Shft+L.ENTER = Auto-shade a sector.  First make any wall of the loop
               as light as the lightest shade you want.  Then make any other
               wall of the loop as dark as the darkest shade you want.
               Finally press Ctrl-Shift Enter on the wall that should be
               lightest.  Now the loop should be smoothly shaded.  If it
               is not smoothly shaded, you may need to insert more points
               on the walls.
SECTOR FLAGS:

           P = Make the ceiling of the given sector have a Parallaxing sky
               or just a normal ceiling.
           G = Make the floor of the given sector have a Groudraw
               (floor with height mapping).  I do not recommend using this
               attribute very extensively yet. (See the H key for selecting
               the height map)
           E = An option for ceilings and floors.  If for some reason, you
               want a tile to be smooshed into the normal 64*64 area, press
               E to unExpand the tile.  Press E again, and the tile will be
               expanded, so the pixel size is the same as the normal 64*64
               ceiling/floor.
           R = Relative alignment - switch between relative alignment mode
               and normal mode.  Allows floor / ceiling textures to align
               to the first 2 points of a sector.  Textures will rotate/pan
               with moving sectors properly.  Notice that bit 6 of both
               sector[].ceilingstat and sector[].floorstat are relative
               alignment bits.

WALL FLAGS:

           B = Make an invisible wall, such as a window, block you from
               going through.  Since the wall is invisible, you can also
               highlight the ceiling right above the window or floor
               right below the window.  You can block either the front or
               the back of the window.  If you block the back only, you
               will be able to go onto the window sill.
           T = Press to make a maskable wall 50/50 transluscent.  Press T
               again to put the masked wall back to normal mode.
           M = Make a maskable wall.  Press in the same place you press 'B'.
               The masking wall takes all its attributes from the front of
               the wall, so it must have the same repeat, panning, and cstat
               values as the walls above or below it (if you have a step).
               The masking picture number is stored in overpicnum.  Also,
               the masking walls is also automatically added the the other
               side of the wall, with the picture flipped.  (see the 'F'
               key descripte above)
   Shift + M = Make a maskable wall just like 'M' described above, but only
               on the front side.

           1 = Make a 1-way wall.
           2 = Some walls have two different sections.  One step on the
               ceiling and one step on the floor.  Normally they always
               have the same attributes.  It is possible though, to give
               both the top and bottom different attributes by pressing 2 on
               that wall.  2 simply makes the bottom wall's attributes
               separately editable.  Press 2 on either the top or bottom
               wall.
           O = Wall orientation (whether it starts from the top or bottom)
               Normally, walls are oriented from the top.  For example, if
               you hold down 2/8 on the keypad in 3D EDIT MODE, the wall
               always starts from the top.  Orientation works differently
               for white lines and red lines, so if a wall doesn't look
               right, just press 'O' anyway to see if it get fixed.
           H = Toggle hitscan pass through bit.  Default is pass through.

SPRITE FLAGS:

           B = When the mouse cursor is on a sprite, this makes a sprite
               block you from walking through.  Also makes the sprite
               sensitive to hitscan.  Sprites with the 'B' attribute will
               appear pink in 2D EDIT MODE
           T = Press to make a sprite 50/50 transluscent.  Press T again
               to put sprite back to normal mode.



Ŀ
                          2D EDIT MODE KEYS:                               

               ESC = Show a menu that says, "(N)ew, (L)oad, (S)ave, (Q)uit"
                     Press ESC again to cancel the menu.
      keypad ENTER = Flip back to the 3D edit mode

             Mouse = Move mouse cursor
 Left mouse button = If you hold down the left mouse button, you can drag
                     existing points.  To drag multiple points you can use
                     the right shift key to first select a rectangular
                     region of points to highlight, then just drag any of
                     the highlighted points and the rest move with it.
Right mouse button = Moves the player's positions to the mouse cursor.
                     This is useful when you accidently get stuck somewhere
                     in the board, or when you need to edit some part of
                     a sector that is hard to access.
       Right Shift = Select a bunch of points for use with dragging around.
                        Selects all points inside a box.  (Use the left mouse
                        button to drag)
  Ctrl+Right Shift = Select a bunch of points for use with dragging around.
                        Selects all points on a loop.  (Use the left mouse
                        button to drag)
         Right Alt = Select a bunch of sectors for either duplication or
                        dragging around.  (see left mouse button for
                        dragging and the insert key for duplication).

            Arrows = Move player position in the appropriate directions.
                     The player will be clipped.  To jump to a different part
                     of the board, use the right mouse button.
             Space = Press the space bar when drawing new sectors.  There
                     are several ways of drawing new sectors.  The following
                     three ways of drawing sectors can all be done by only
                     using the space bar.  The computer is smart enough to
                     decide which method you are using.

   Sector Creation Tips:

                     1.  Drawing a FULL LOOP - that is, whenever the new
                         sector meets the old sector, draw over that line
                         again.  In full loop mode the new sector must not
                         already be in another sector.  The loop is done
                         when you press the space bar at the first point
                         again.
                     2.  SPLITTING a sector - press space bar to draw points
                         at which you want to split a sector.  The computer
                         knows you are done splitting when you end at
                         another point that's on the edge of the sector you
                         are splitting.
                     3.  Drawing a sector COMPLETELY INSIDE another sector.
                         (for example, columns) To do this, just press space
                         bar at every point in the loop.  The loop is done
                         when you press the space bar at the first point
                         again.
****     Backspace = When plotting points with the space bar, you can use
                     backspace to get rid of the last point plotted.  You
                     can press the backspace to get rid of all the points
                     if you didn't want to start a sector at all.

****        Insert = Inserts a new point at the midpoint of the highlighted
                     line.  Then you can drag the point to wherever you like.
                     (If you insert on a red line, the point will be inserted
                     on both sides of the sector line.)
                     If a bunch of sectors are selected (see right ALT) then
                     instead of inserted points, the selected sector bunch
                     will be duplicated (stamped).  Don't forget to drag
                     the selected sectors after stamping.

*****        Delete = Use this to delete sprites (blue circles).  To delete
                     points of a sector border, don't press delete.  Instead,
                     drag the point into one of its 2 neighbor points on the
                     sector.  This is easist done if grid locking is on
                     (mouse cursor is pink).  If 2 neighbor points are equal,
                     one will automatically be deleted.
 Right Ctrl-Delete = This deletes the whole sector that the mouse cursor is
                     in.  Note the right ctrl for protection.
   (Note: to delete a point of a sector, just drag that point into the next
      point and it will automatically be deleted.  You should do this with
      grid-locking on)
                 J = Use to join two neighboring sectors.  Press J when mouse
                     cursor is over the first sector.  Then press J again
                     when the mouse cursor is over the neighboring sector.
                     The attributes of the combined sector will be taken from
                     the first sector selected.
             ALT-S = When you have a white loop inside a sector, you can
                     press ALT-S on it (highlight any of its lines) to turn
                     the whole loop red.
*******              S = Places a sprite at the location under the mouse cursor.
                     A sprite looks like a blue circle in the overhead map.

                 B = Blocks / unblocks you from going through a wall or
                     sprites.  A blocked wall or sprite will appear pink
                     in 2D EDIT MODE.  See the description for 'B' in
                     the 3D EDIT MODE section for more details.

                 C = Turn a line into a circle defined by short line
                     segments.  First press 'C' on a highlighted wall.  Then
                     move the mouse to the right place and press '+' or '-'
                     if you want to change the number of points on the
                     circle.  Press 'C' again to cancel the circle drawing or
                     press the Space bar to actually change the map.
               +/- = Increase / Decrease the number of points on the circle.

*****                T = Type in a LO-tag for a sector.  Move the mouse cursor to
                     the inside of a sector that you want to tag first.
******          ALT-T = Just like 'T' but for walls and sprites.
                        This is for the Lo-tag on Sprites

*******              H = Type in a HI-tag for a sector.  Move the mouse cursor to
                     the inside of a sector that you want to tag first.
*******          ALT-H = Just like 'H' but for walls and sprites.
                     used for the HI-tag on Sprites
                 E = Change a sprite's status list number.
           < and > = Changes angle of sprite.  Move the mouse cursor to a
                     sprite first.  You can hold down shift with the < and >
                     to get more precise angles.  If you did a sector
                     highlight, then the selected sector will be rotated
                     instead.
            CTRL-T = Turn tag boxes on/off.

*******    TAB = Move the mouse cursor to the inside of a sector that you
                     you want to see the attributes of.  It will show them
                     at the bottom of the status bar.  To clear it, press
                     TAB again at somewhere in the board that is not part
                     of any sector.  This is a useful key for debugging.
*******     ALT-TAB = Works just like TAB, but here, you can see the
                     attributes of highlighted walls or sprites.  For red
                     lines, the side the mouse cursor is on the line affects
                     which line is highlighted, since red lines are actually
                     defined as 2 walls (1 wall for each sector).

******    Scroll Lock = Set starting position (brown arrow) to your current
                     position (white arrow).

               A,Z = Zoom in and out.  This is useful for choosing whether
                     you want to edit finely or not.
*******             G = Change grid resolution.  The grid resolution cycles
                     through this sequence:
                        (off, 1x, 2x, 4x (default), 8x, 16x)
                 L = Turns grid locking on or off.  If the mouse cursor is
                     pink then grid locking is on.  If it is white then
                     grid locking is off.  There is no grid locking
                     if the grid is turned off.  Also, grid locking will
                     lock to nearby points.
                            Ŀ
                            11. BUILD MAP FORMAT
                            

Here's how you should read a BUILD map file:

{
   fil = open(???);

      //Load map version number (current version is 7L)
   read(fil,&mapversion,4);

      //Load starting position
   read(fil,posx,4);
   read(fil,posy,4);
   read(fil,posz,4);          //Note: Z coordinates are all shifted up 4
   read(fil,ang,2);           //All angles are from 0-2047, clockwise
   read(fil,cursectnum,2);    //Sector of starting point

      //Load all sectors (see sector structure described below)
   read(fil,&numsectors,2);
   read(fil,&sector[0],sizeof(sectortype)*numsectors);

      //Load all walls (see wall structure described below)
   read(fil,&numwalls,2);
   read(fil,&wall[0],sizeof(walltype)*numwalls);

      //Load all sprites (see sprite structure described below)
   read(fil,&numsprites,2);
   read(fil,&sprite[0],sizeof(spritetype)*numsprites);

   close(fil);
}

Sector Information:

   //sizeof(sectortype) = 40
typedef struct
{
   short wallptr, wallnum;
   long ceilingz, floorz;
   short ceilingstat, floorstat;
   short ceilingpicnum, ceilingheinum;
   signed char ceilingshade;
   char ceilingpal, ceilingxpanning, ceilingypanning;
   short floorpicnum, floorheinum;
   signed char floorshade;
   char floorpal, floorxpanning, floorypanning;
   char visibility, filler;
   short lotag, hitag, extra;
} sectortype;
sectortype sector[1024];

wallptr - index to first wall of sector
wallnum - number of walls in sector
z's - z coordinate (height) of ceiling / floor at first point of sector
stat's
   bit 0: 1 = parallaxing, 0 = not                                 "P"
   bit 1: 1 = sloped, 0 = not
   bit 2: 1 = swap x&y, 0 = not                                    "F"
   bit 3: 1 = double smooshiness                                   "E"
   bit 4: 1 = x-flip                                               "F"
   bit 5: 1 = y-flip                                               "F"
   bit 6: 1 = Align texture to first wall of sector                "R"
   bits 7-15: reserved
picnum's - texture index into art file
heinum's - slope value (rise/run) (0-parallel to floor, 4096-45 degrees)
shade's - shade offset of ceiling/floor
pal's - palette lookup table number (0 - use standard colors)
panning's - used to align textures or to do texture panning
visibility - determines how fast an area changes shade relative to distance
filler - useless byte to make structure aligned
lotag, hitag, extra - These variables used by the game programmer only

Wall Information:

   //sizeof(walltype) = 32
typedef struct
{
   long x, y;
   short point2, nextwall, nextsector, cstat;
   short picnum, overpicnum;
   signed char shade;
   char pal, xrepeat, yrepeat, xpanning, ypanning;
   short lotag, hitag, extra;
} walltype;
walltype wall[8192];

x, y: Coordinate of left side of wall, get right side from next wall's left side
point2: Index to next wall on the right (always in the same sector)
nextwall: Index to wall on other side of wall (-1 if there is no sector)
nextsector: Index to sector on other side of wall (-1 if there is no sector)
cstat:
   bit 0: 1 = Blocking wall (use with clipmove, getzrange)         "B"
   bit 1: 1 = bottoms of invisible walls swapped, 0 = not          "2"
   bit 2: 1 = align picture on bottom (for doors), 0 = top         "O"
   bit 3: 1 = x-flipped, 0 = normal                                "F"
   bit 4: 1 = masking wall, 0 = not                                "M"
   bit 5: 1 = 1-way wall, 0 = not                                  "1"
   bit 6: 1 = Blocking wall (use with hitscan / cliptype 1)        "H"
   bit 7: 1 = Transluscence, 0 = not                               "T"
   bit 8: 1 = y-flipped, 0 = normal                                "F"
   bit 9: 1 = Transluscence reversing, 0 = normal                  "T"
   bits 10-15: reserved
picnum - texture index into art file
overpicnum - texture index into art file for masked walls / 1-way walls
shade - shade offset of wall
pal - palette lookup table number (0 - use standard colors)
repeat's - used to change the size of pixels (stretch textures)
pannings - used to align textures or to do texture panning
lotag, hitag, extra - These variables used by the game programmer only

Sprite Information:

   //sizeof(spritetype) = 44
typedef struct
{
   long x, y, z;
   short cstat, picnum;
   signed char shade;
   char pal, clipdist, filler;
   unsigned char xrepeat, yrepeat;
   signed char xoffset, yoffset;
   short sectnum, statnum;
   short ang, owner, xvel, yvel, zvel;
   short lotag, hitag, extra;
} spritetype;
spritetype sprite[4096];
x, y, z - position of sprite - can be defined at center bottom or center
cstat:
   bit 0: 1 = Blocking sprite (use with clipmove, getzrange)       "B"
   bit 1: 1 = transluscence, 0 = normal                            "T"
   bit 2: 1 = x-flipped, 0 = normal                                "F"
   bit 3: 1 = y-flipped, 0 = normal                                "F"
   bits 5-4: 00 = FACE sprite (default)                            "R"
             01 = WALL sprite (like masked walls)
             10 = FLOOR sprite (parallel to ceilings&floors)
   bit 6: 1 = 1-sided sprite, 0 = normal                           "1"
   bit 7: 1 = Real centered centering, 0 = foot center             "C"
   bit 8: 1 = Blocking sprite (use with hitscan / cliptype 1)      "H"
   bit 9: 1 = Transluscence reversing, 0 = normal                  "T"
   bits 10-14: reserved
   bit 15: 1 = Invisible sprite, 0 = not invisible
picnum - texture index into art file
shade - shade offset of sprite
pal - palette lookup table number (0 - use standard colors)
clipdist - the size of the movement clipping square (face sprites only)
filler - useless byte to make structure aligned
repeat's - used to change the size of pixels (stretch textures)
offset's - used to center the animation of sprites
sectnum - current sector of sprite
statnum - current status of sprite (inactive/monster/bullet, etc.)

ang - angle the sprite is facing
owner, xvel, yvel, zvel, lotag, hitag, extra - These variables used by the
                                               game programmer only




                         Ŀ
                         12. MAP AUTHORING TEMPLATE
                         

When you upload your .MAP file(s) to FTP sites, BBS's and the like, you
are encouraged to include this file with the map, so that you can be
recognized for your work!  We can't wait to see what you can come up with!

Duke Nukem 3D .MAP Authoring Template v1.0
================================================================
Title                   :
Filename                : xxxx.MAP
Author                  : Your name here
Email Address           :
Misc. Author Info       :

Description             :

Additional Credits to   :
================================================================

* Play Information *

Episode and Level #     :
Single Player           : Yes/No
DukeMatch Level         : Yes/No
Difficulty Settings     : Yes/Not implemented

* Construction *

Base                    : New level from scratch/Modified ExMx/xxx.MAP
Editor(s) used          :
Known Bugs              :

* Where to get this MAP file *

FTP sites:

BBS numbers:

Other:



                         Ŀ
                         12. TIPS FROM THE LEVELORD
                         

Here are a few closing comments from the Levelord:

    Don't let two mirrors "see" each other, this causes problems.
    Don't put two demo cameras where they are within each other's
     field of vision; this causes problems.
    Keep your maps simple, especially if they are for Dukematch.
    Your frame rate is directly related to your computer, so if
     you have a Pentium, don't make a map that won't run on a good 486.
    Use shadowing - Makes for more cool looking rooms/objects/whatever.
    In the simplest case - a square room should have two opposing sides
     darker (or lighter) than the other two.
    If your frame rate allows, subdivide sectors to look like shadows are
     being cast from buildings. etc.
    Select a "tile set" that fits your map's motif.
    Don't use too many tiles, especially in any one scene.
    Frame Rate is God!  Keep this in mind at all times.
    Most of all, think deviously!

