=============================================================
     The Map Editing FAQ for Duke Nukem 3D - Version 2.1
       This File is Authored and Copyright (c) 2000 by:
                        Jonah Bishop
                Visit Map FAQ Central Today!
                 http://
      Please See Section 0.10 for Licensing Information
       Please See Section 0.6 for Printing Information
=============================================================

Table of Contents:

===============================
SECTION 0 - MAP FAQ INFORMATION
===============================
#  0.1 Author Information
   0.2 Contacting the Author
#  0.3 Included Files
#  0.4 Revision History
   0.5 Credits and Acknowledgements
   0.6 Where to Download this FAQ
   0.7 Printing Information
   0.8 The Online Version
   0.9 Map FAQ Central
   0.10 FAQ Errors and Reporting Them
   0.11 Licensing Agreement
   0.12 Where are all the questions?

==================================
SECTION 1 - INFORMATION ABOUT MAPS
==================================
   1.1 What is a map?
   1.2 What can I do to maps?
   1.3 Can I look at the game maps?
   1.4 What do I use to make maps?
   1.5 Can I make maps for other games?
   1.6 How do I run user maps?
   1.7 What exactly is the Build engine?

==================================================
SECTION 2 - THINGS YOU SHOULD KNOW BEFORE STARTING
==================================================
   2.1 Introduction
   2.2 2D and 3D Modes
   2.3 Hitags and Lotags
   2.4 Placing Sprites
   2.5 The Special Sprites
     2.5.1 Sector Effectors
     2.5.2 Activator
     2.5.3 Touchplate
     2.5.4 ActivatorLocked
     2.5.5 Music & SFX
     2.5.6 Locator
     2.5.7 Cycler
     2.5.8 Masterswitch
     2.5.9 Respawn
     2.5.10 GPSpeed

==========================
SECTION 3 - YOUR FIRST MAP
==========================
   3.1 Installing and Setting up Build
   3.2 Creating a Room
     3.2.1 Adding Textures
     3.2.2 Adding Sprites
     3.2.3 Adding a Nested Sector
     3.2.4 Raising and Lowering Sectors
     3.2.5 Parallaxing Skies
     3.2.6 Sloped Surfaces
     3.2.7 Creating a Circle
   3.3 The Art of Shading
#    3.3.1 Shading Techniques
   3.4 Advanced Features
     3.4.1 Splitting Walls
     3.4.2 Resizing and Moving Sectors
     3.4.3 Joining Sectors
     3.4.4 Deleting Sectors
     3.4.5 Copying and Pasting Sectors
   3.5 Completing this Map

==================================
SECTION 4 - MAKING ALL THE EFFECTS
==================================
   ----------------
   4.0 INTRODUCTION
   ----------------
   4.0.1 Introduction

   ---------
   4.1 DOORS
   ---------
   4.1.1 Doom Type Doors
#  4.1.2 Adding Sounds to Doors
   4.1.3 Reversed Doom Type Doors
   4.1.4 Splitting Doom Doors
   4.1.5 Swinging Doors
   4.1.6 Swinging Glass Doors
   4.1.7 Problems and Fixes with Swinging Doors
   4.1.8 Sliding Star Trek Doors
   4.1.9 Splitting Star Trek Doors
   4.1.10 Teeth Doors
   4.1.11 Another Way To Do Teeth Doors
   4.1.12 Sliding Doors
   4.1.13 See Through Sliding Doors
   4.1.14 Rotating Subway Doors
   4.1.15 Making Doors Auto Close
   4.1.16 Making Locked Doors

   (See sections 4.11.1 - 4.11.4 for switch operated doors)

   --------------------
   4.2 PARALLAXED SKIES
   --------------------
   4.2.1 Correctly Parallaxed Skies
   4.2.2 Problems And Fixes With Parallaxing

   --------------------
   4.3 LIGHTING EFFECTS
   --------------------
   4.3.1 Making Lights Blink
   4.3.2 Making Lights Blink When Shot
   4.3.3 Open Door & Room Lights Up
   4.3.4 Light Switches
   4.3.5 Colored Lights
   4.3.6 Pulsating Lights

   ------------------
   4.4 MOVING SECTORS
   ------------------
   4.4.1 Rotating Sectors (Gears)
   4.4.2 Using Rotating Sectors for Doors
   4.4.3 Two-Way Trains
   4.4.4 One Car Subways
   4.4.5 Making Multi-Car Subways
   4.4.6 Notes On Subways

   --------------------------
   4.5 GENERAL SECTOR EFFECTS
   --------------------------
   4.5.1 Earthquakes
   4.5.2 Rooms Over Rooms
   4.5.3 Stretching Sectors
   4.5.4 Conveyor Belts & Water Current
   4.5.5 Making Curtains Draw Back
   4.5.6 The Pool Table
   4.5.7 Fish Tanks

   ---------
   4.6 WATER
   ---------
   4.6.1 Submergible Water
   4.6.2 Sloped Water Sectors
   4.6.3 Swimming in Slime
   4.6.4 Making Waves
   4.6.5 The Rising Water Effect
   4.6.6 Level Over Level Water Trick
   4.6.7 Timed Underwater Airlocks (Complex)
   4.6.8 Rising Water on Sloped Surfaces (Complex)

   --------------------------
   4.7 WALLS AND WALL EFFECTS
   --------------------------
   4.7.1 Masked Walls
   4.7.2 One-Way Walls
   4.7.3 Forcefields and Controlling Them
   4.7.4 Wall Information

   -----------
   4.8 MIRRORS
   -----------
   4.8.1 Mirrors
   4.8.2 Problems and Solutions with Mirrors
   4.8.3 Making the Two Way Mirror

   ---------------
   4.9 TELEPORTERS
   ---------------
   4.9.1 Teleporters
   4.9.2 Sewer Holes & Silent Teleporters
   4.9.3 One Way Teleporters (Version 1.4 or 1.5 Required)
   4.9.4 Version 1.3D One Way Teleporters

   ---------------------
   4.10 ENDING THE LEVEL
   ---------------------
   4.10.1 Nuke Buttons
   4.10.2 Ending Sectors
   4.10.3 Ending Sectors with Messages

   -------------------
   4.11 SWITCH EFFECTS
   -------------------
   4.11.1 Switch Activated Doors
   4.11.2 Combination Door Switches
   4.11.3 Another Version of Combo. Switches (Version 1.4 or 1.5 Required)
   4.11.4 Multi-Door Switches

   ----------------
   4.12 C-9 EFFECTS
   ----------------
   4.12.1 C-9 Canisters (Visible)
   4.12.2 Switch Activated Explosions
   4.12.3 Touchplate Activated Explosions
   4.12.4 Cracked Walls
   4.12.5 Fixing The 'Texture Problem'
   4.12.6 Making the Ceiling Blow Up (And Enemies Fall From the Sky!)

   -------------------------------
   4.13 SECTORS THAT RISE AND FALL
   -------------------------------
   4.13.1 Lifts
   4.13.2 Switch Operated Lifts
   4.13.3 Locked Lifts
   4.13.4 Elevator Transports
   4.13.5 Constructing Destructible Buildings
   4.13.6 Crushers (Engine Pistons)
   4.13.7 Making the Ceiling Fall Upon an Explosion
   4.13.8 Rotating & Rising Sectors
   4.13.9 Making Ceilings and Floors Drop Down
   4.13.10 Incremental Rising and Falling Sectors (V. 1.4 or 1.5 Required)

   ----------------------------
   4.14 MUSIC AND SOUND EFFECTS
   ----------------------------
   4.14.1 Types of Sound Effects
   4.14.2 Adding Your Own Music and SFX
   4.14.3 Sector Activated Sounds
   4.14.4 Making Phones Ring
#  4.14.5 The Sound Effects Listing

   -------------------------
   4.15 WORKING WITH SPRITES
   -------------------------
   4.15.1 Working With Sprites
   4.15.2 Security Cameras
   4.15.3 Vents
   4.15.4 "3D" Bridges
   4.15.5 Demo Cameras
   4.15.6 Spawning Stuff
   4.15.7 Active Tripbombs
   4.15.8 Making the Mini-Boss
   4.15.9 Exploding Helicopter & Car
   4.15.10 Cranes

   -----------------------------
   4.16 MULTIPLAYER LEVEL MAKING
   -----------------------------
   4.16.1 Dukematch & Co-op Starting Positions
   4.16.2 Making Items Appear Only In Multiplayer
   4.16.3 Making Duke TAG Levels (Version 1.4 or 1.5 Required)

   ------------------
   4.17 MISCELLANEOUS
   ------------------
   4.17.1 Glass
   4.17.2 Secret Areas
   4.17.3 Shooters
   4.17.4 Turning Shooters Off
   4.17.5 Difficulty Settings
   4.17.6 Signs That Fall When Shot
   4.17.7 Lightning and Thunder (Version 1.4 or 1.5 Required)
   4.17.8 Making Rain
   4.17.9 Forcing Duke To Start Weaponless

===============================
SECTION 5 - GENERAL INFORMATION
===============================
   5.1 Palette List
#  5.2 Group File Format
   5.3 Facts On Dimensions
   5.4 Sector Effector Lotag Listing
   5.5 Sector Lotag Listing
   5.6 List of Official Levels
   5.7 List of Cheats
   5.8 List of Secret Messages in the Game

=================================================
SECTION 6 - THE MOST COMMON QUESTIONS AND ANSWERS
=================================================
   6.1 I can't find Build on my CD - where is it?
   6.2 I can't get Build to work.  How do I do it?
   6.3 How do I enter 3D mode?
#  6.4 3D Mode is screwed up!  What do I do to fix it?
   6.5 How can I play my own maps?
   6.6 When I run my level, I get an error.  What does it mean?
   6.7 Why does the game crash when I run my level?
   6.8 Build sucks.  Is there another editor available?
   6.9 Walking under a parallaxed sky kills me. Why is this?
   6.10 My subway shoots rockets at me - Why?

===========================================
SECTION 7 - COMMON BUILD AND RUNTIME ERRORS
===========================================
   7.1 Found Lonely Sector Effector
   7.2 Subway Found No Zero'd Sectors With Locators
   7.3 Can't Make a Sector Out There
#  7.4 Too Many 'Anim' Walls (Max. 512)

=======================================
SECTION 8 - UTILITIES FOR DUKE NUKEM 3D
=======================================
   8.1 Wad2Map
   8.2 Wad2Art
   8.3 Kextract
   8.4 Kgroup
   8.5 Group File Studio

========================
SECTION 9 - FINISHING UP
========================
   9.1 Map Authoring Template
   9.2 Uploading Your Level

Sections that have been updated or added in this version are denoted with a pound sign [#] in the table of contents.

===============================
SECTION 0 - MAP FAQ INFORMATION
===============================

0.1 Author Information

My name is Jonah Bishop and I spend most of my time doing something computer related (gaming is the largest activity).  I enjoy editing of any kind, and have always had a great interest in Duke Nukem 3D and Build.  In addition to this FAQ, I maintain the Map Editing FAQ for Shadow Warrior, the Con Editing FAQ for Duke Nukem 3D, and Group File Studio.

0.2 Contacting the Author

Being a student brings the pressures of school and homework, and it unfortunately brings the fact that I don't have much time for answering tons of Build questions.  If you do need to get in touch with me, leave me some feedback by dropping by the Map FAQ Central feedback form:

http://mapfaq.3dportal.com/aboutmfc/feedback.html

I can't promise a reply, but I will certainly do my best to help you in your building career.

0.3 Included Files

Files below marked with the pound sign (#) have either been added or updated since the last version of this FAQ.

#   MPFQDN21.ZIP - The main zip file
#   MPFQDN21.TXT - The FAQ itself (this file)
#   SECT4.TXT    - Section 4 (the how-tos) by itself

The files that should be included in the main zip file are as follows:

    ADVANCED.MAP - Contains more difficult tutorials, step by step
    AIRLOCK.MAP  - Example map showing how to create underwater airlocks
    ATOMIC.MAP   - Contains atomic edition specific how-to examples
    CREDITS.TXT  - FAQ Credits and Acknowledgements
    LICENSE.TXT  - License Agreement for this FAQ
    MIRRORS.MAP  - Mirrors tutorial map
    README.1ST   - Important information about this FAQ
    RHISTORY.TXT - FAQ revision history
    ROTATEDR.MAP - Example map showing how to create complex rotating doors
    SLOPEWTR.MAP - Example map showing how to create rising water on slopes
    STHRUSLD.MAP - Example map for see through sliding doors
    STHRUSLD.TXT - Information on see through sliding doors
    SWLIFT.MAP   - Example map showing how to create switch operated lifts
    TDOOR2.MAP   - Example map for second way to create teeth doors
    TDOOR2.TXT   - Information on the second way to create teeth doors
    TEMPLATE.TXT - User map authoring template
    TUTORIAL.MAP - Contains all examples for all effects

0.4 Revision History

The revision history for this FAQ resides in its own file, which can be found in the zip file.  The name for this file is rhistory.txt.

0.5 Credits and Acknowledgements

The credits and acknowledgements for this FAQ resides in its own file, which can be found in the zip file.  The name for this file is credits.txt.

0.6 Where to Download this FAQ

The latest version of this Map Editing FAQ will always be located at either Dukeworld or Map FAQ Central.  The URLs for these two sites are as follows:

   http://mapfaq.3dportal.com  -- Map FAQ Central
   http://www.dukeworld.com  -- Dukeworld

0.7 Printing Information

If you want to print this FAQ, it is recommended to set your page margins to the following values (all units are in inches):

   Top    : 1.00
   Bottom : 1.00
   Right  : 1.00
   Left   : 1.00

It is also recommended that you set the font for this entire FAQ to Courier New.  This ensures that the FAQ looks the way it was intended.  Consult your text editor's help to see how to change page margins and font (it's quite easy to do).

0.8 The Online Version

An online edition of this FAQ is available at both Map FAQ Central and Dukeworld.  The URL to the table of contents for this FAQ is as follows:

   http://mapfaq.3dportal.com/mapfaqonline/index.html

0.9 Map FAQ Central

The Map Editing FAQ has an official home, and you can visit it at the following URL:

   http://mapfaq.3dportal.com

Map FAQ Central is a large and ever growing site, with links to user created files, tons of cool sites on the web, and more Build information than you can shake a stick at!  A list of the best ever levels is available, for both Shadow Warrior and Duke Nukem 3D.  Be sure to tell your friends about it too!

0.10 FAQ Errors and Reporting Them

Sometimes I'll goof up and make a mistake while writing this FAQ, and other times I just get the information all wrong.  If you find an error in this FAQ, or if you have a suggestion to make this FAQ better, please visit the following URL to submit an error reporting form to me:

   http://mapfaq.3dportal.com/aboutmfc/feedback.html

You will definitely be credited for finding any error (no matter how small) and I thank you in advance for letting me know about them.

0.11 Licensing Agreement

A special license has been issued with this FAQ, in order to prevent the misuse and misdistribution of this FAQ.  I work hard on this FAQ (I love doing it to) and I don't want people stealing the work that I've put into this guide (you wouldn't want that to happen either, right?).  So please take a moment to read through it, and follow the guidelines it sets.  Thanks!

The filename for this file is : license.txt

0.12 Where are all the questions?

FAQ is supposed to stand for frequently asked questions, right?  Yes, it is supposed to stand for that term.  But where are all the questions in this FAQ? Well, over the course of the development of this guide, the questions have turned into headings for information (take a look at the table of contents to see).  I have turned away from the basic question and answer format in favor of the current format in use.  The *most* frequently asked questions, however, can be found in section 6 of this FAQ.

==================================
SECTION 1 - INFORMATION ABOUT MAPS
==================================

1.1 What is a map?

A "map" is a general term used to describe the levels in Duke Nukem 3D (or just about any other game for that matter).  Maps include all the level information (effect parameters, wall placement, sprite placement, etc.).

1.2 What can I do to maps?

Unlike Doom (which made use of wad a pwad file formats), maps do not contain the art textures, enemy code, sounds, or other such objects in the game.  Maps are solely the layout of a level, the effects used in that level, etc.  Enemy coding, sounds, and art textures can be found in the .grp and .con files.

1.3 Can I look at the game maps?

Yes.  The file "Kextract" is used to extract map files into your game directory, where they then can be viewed.  Take a look at section 8 of this FAQ to see how to use this program.

You also can view the maps without extracting them.  At the command prompt in DOS, type in the following:

   BUILD ExLyy.map

The letter x (after the letter E) is the episode number to look at, and the letters yy (after the letter L) is the level number to look at.  For example, to view episode 2, level 4, I would type: BUILD E2L4.map

1.4 What do I use to make maps?

The only editor available for creating your own maps is the Build program, which was written by 3D Realms.  This editor was the editor used to create the levels found in Duke Nukem 3D, so you can do everything that the official level designers did in their levels.  Build is only available on the game CD, and can be found under the \goodies\build directory on the CD.

1.5 Can I make maps for other games?

Yes.  The Build engine that comes with Duke Nukem 3D, was made specifically for Duke Nukem 3D, but it can now be used to make levels for NAM.  You can get more information on NAM by visiting the NAM web site:

   http://www.3dportal.com/nam

1.6 How do I run user maps?

Running user maps that you create and/or download is as easy as using a short command line parameter.  Type in either of the following lines in DOS:

   duke3d -map foo.map
   duke3d -map foo

In the lines above, foo is the name of the map that you wish to run.  The .map extension is not needed, but can be used.

1.7 What exactly is the Build engine?

The Build engine is the graphics engine that games such as Duke Nukem 3D, Shadow Warrior, Blood, and NAM run on.  Although it isn't truly 3-D, it does give a nice feel for the environment that has been presented, and it gives the player a never before seen level of interactivity in this environment.

==================================================
SECTION 2 - THINGS YOU SHOULD KNOW BEFORE STARTING
==================================================

2.1 Introduction

There are quite a few things that you will need to know prior to making your first level.  Read this section completely, and you will have everything I feel that you need to know to start making levels!

2.2 2D and 3D Modes

There are two different editing modes in Build.  The 2D mode, which shows the layout of the map, sprites, and other goodies, and the 3D mode, which looks like the game itself.  To switch between these two modes, press the [ENTER] key on the numberpad.  The regular [ENTER] key does not switch modes, so this must be noted!

In 2D mode, you lay out the map itself.  Here you draw walls, place sprites, change tags of walls, sprites, and floors, and save your work.  In 3D mode, you change the textures of the walls, change how high or low the floor, ceiling, sprites, and other objects are, and you change the shade here as well.

2.3 Hitags And Lotags

This topic is complicated, yet simple at the same time.  Tags can be given to walls, sprites, or sectors, and they tell the wall, sprite, or sector what to do.  There are two numbers that any of these objects can be given.  The first number is called a hitag.  Hitags usually identify the object, so that other objects can be paired with it (I'll give an example in one moment).  Lotags are generally a fixed number that tells the game exactly what to do.

Here is an example:

I make two sectors, and I want them to be teleporters (i.e. - I step into one sector, and teleport to the other sector).  I place a sector effector sprite in both sectors, and give them tags to identify them.  I first give *both* sprites a lotag of 7.  This number is preset, and it tells the game that when the player enters this sector, he is to "teleport" to the other teleporting sector.  I then give *both* sprites the *same* hitag.  This number must be unique, as it gives an identity to both sprites.  Here is what the program is probably thinking when I'm playing this level:

Hmmm.  The player has just entered a sector with a special sector effector sprite in it (lotag of 7).  Let me see if I can find another teleporting sector with the same identity (unique hitag), so that I can "teleport" him there.  Hey - There's the other sector!  WOO-HOO!

All the hitags do are link various effect sprites together.  If you only gave one sprite a hitag, the program would not be able to find another, matching teleporting sector, and then would not be able to teleport you anywhere, because it can't find this sprite's "mate".  Here are the key strokes that you need to do in order to place these tags (in 2D mode):

   Sector Hitag  :  Press [H] in the desired sector
   Sector Lotag  :  Press [T] in the desired sector
   Sprite Hitag  :  Press [ALT]+[H] on the desired sprite
   Sprite Lotag  :  Press [ALT]+[T] on the desired sprite
   Wall Hitag    :  Press [ALT]+[H] on the desired wall
   Wall Lotag    :  Press [ALT]+[T] on the desired wall

These same tag assignments can be made in 3D mode as well.  Here are the key strokes for use in 3D mode:

   Sector Hitag  :  Press [']+[H] in the desired sector
   Sector Lotag  :  Press [']+[T] in the desired sector
   Sprite Hitag  :  Press [']+[H] on the desired sprite
   Sprite Lotag  :  Press [']+[T] on the desired sprite
   Wall Hitag    :  Press [']+[H] on the desired wall
   Wall Lotag    :  Press [']+[T] on the desired wall

NOTE: To set wall tags in 2D mode, it is advised to turn off the grid, so that you are not selecting sprites.  Press [G] several times to turn the grid off.

2.4 Placing Sprites

NOTE: When I say that you should press the [V] key (or any other key for that matter) on a sprite, I mean that you should move the cursor over that sprite with the mouse, and then press the key.

Without sprites, levels in Duke Nukem 3D would be nothing.  Sprites make up all the "eye candy" in the level and are the root of all effects in Duke 3D.  To place a sprite in the level, press the [S] key in either 2D or 3D mode.  It is advised to place them in 2D mode, as you have the grid as a guide for placement.

There are several different modes sprites can be in (3 of them to be exact).  Sprites can lie flat on the floor, be "pasted" to the wall, or they can be in the "normal" mode (guns and other goodies are usually in this mode).  Normal mode is the default setting, and to switch the current mode of a sprite, enter 3D mode, and press the [R] key on it.  It will go from normal to being pasted on the wall (according to which direction the sprite is facing).  Pressing [R] on it again will paste it to the floor, and again will make it normal.

NOTE: If you place a sprite on a wall in 3D mode (using the [S] key), the sprite will automatically be "pasted" flat to the wall that you placed it on.

NOTE: Only "square" sprites can be made to lie flat on the floor.  Sprites that fit this condition are ones that have the same x-axis height as the y-axis height.

Sprites can face in different directions as well.  In 2D mode, you will notice a "tail" coming out of the circle which represents the sprite.  This tail points in the direction that the sprite is currently facing, and it also denotes the "front" side of the sprite.  To change this, press the [,] or [.] keys on the sprite in 3D mode.

To change the texture of a sprite (changing what the sprite actually is), enter 3D mode and press [V] on it.  This will bring up a screen of all the current sprites used in the level you currently are working on (This is useful as you start to need the same sprite over and over).  Press [V] again, and you will proceed to the tile selection screen.  Here, you can press [PGUP] and [PGDN] to scroll through the many textures used in Duke.  When you have found a suitable texture, press [ENTER].

To raise or lower the sprite, press the [PGUP] or [PGDN] keys on the sprite in 3D mode.  This changes the altitude of the sprite.

Here is an example of placing a sprite in a room:

I want to place a calendar on the wall in my room.  In 2D mode, I would press the [S] key ON THE WALL where I want the sprite to be, and I would then enter 3D mode, pressing the [V] key on it twice.  I would select the calendar sprite, raise it up to the height I want it on my wall (with the [PGUP] and [PGDN] keys) and then press [R] on it *once*.  But now that I look at it, the sprite is turned to the side, or it is backwards!  You must remember to set the sprite direction with the [,] and [.] keys.  The tail should face *away from the wall, so that it lies flat on the wall.  Check out some of the levels that came with the game if you don't understand.

2.5 The Special Sprites

There are a few special sprites that need to be explained.  The most important ones are as follows:

2.5.1 Sector Effectors

Sprite #1 - The sector effector sprite is the most used sprite in the entire game.  It does just about what the name says: effects a sector.  These sprite are used to create game effects and manipulate sector attributes.  These sprites are the main tool used to create all effects in Duke Nukem 3D.  Place the sprite in the sector to effect.  The lotags for these are preset, and a list of the lotags for this sprite can be found in section 5.4.

2.5.2 Activators

Sprite #2 - Activators are used to activate a sector effector (SE) sprite when a switch or Touchplate is triggered.  They also can activate sector lotags.

2.5.3 Touchplates

Sprite #3 - The Touchplate will activate an activator or a Masterswitch sprite, when the player walks over the sector that contains it.  A hitag of 0 means that the Touchplate will activate every time the player walks on top of the sector.  A hitag of greater than 0 means that the Touchplate will only be activated that many times (whatever number you put on there).  The only number I've ever seen used that is greater than 0, is 1 (to activate an effect only once).  But use the value that you want to.

2.5.4 ActivatorLocked

Sprite #4 - This sprite locks the sectors lotag function, so that it cannot take effect until the player unlocks it with a switch or Touchplate.  This is used to make locked doors and other such effects.

2.5.5 Music & SFX

Sprite #5 - This sprite is used to create all the sound effects in the game.  It can be used in 3 ways: Activation Sound, Ambient Sound, and Echo Effect.  We will go into this sprite in much more detail later on.

2.5.6 Locator

Sprite #6 - These are used to define a path that moving sectors and certain enemies (the Pigcop Recon Cars) will follow.  Both moving sectors and the Pigcop Recon Cars cannot be used in the same map.  They are also used as the endpoints of a two-way train.

2.5.7 Cycler

Sprite #7 - This sprite is used to make the sector floor, walls, and ceiling pulsate in brightness.  Section 4.20 goes into great detail about this type of sprite.

2.5.8 Masterswitch

Sprite #8 - This sprite is the exact same as the activator, but it has the ability to use a time delay.  The hitag is the time delay that the effect should wait to be carried out.  I think that a value of 32 is one second.

2.5.9 Respawn

Sprite #9 - This sprite is used to spawn enemies or other items after activated by a Touchplate or switch.  An example of this is entering a room, and a bad guy spawns behind you.

2.5.10 GPSpeed

Sprite #10 - This sprite is used to define rates of effects.  The lotag is the only thing that is needed here, and the value for it is how fast the effect should go (i.e. - smaller means slower).  These cannot be used on all effects, but they can be used on some.

==========================
SECTION 3 - YOUR FIRST MAP
==========================

3.1 Installing and Setting up Build

Build is located on your Duke Nukem 3D CD, under the /goodies/build directory (if this directory isn't on your CD, consult section 6 of this FAQ for more information on why this is). This program can be installed from the main game installer, so that should be the place to install from.  Simply run the install program, choose *only* to install Build, and install it into your game directory (i.e. - the Build program and all associated files should be in the same directory as the game itself).  Not installing this program into the game directory can cause some major problems, so this is where to install it.

After the program has been installed, enter into your game directory and run the BSETUP program.  Within this program are several menus where you can change your settings for sound cards, video modes, and more.  YOU SHOULD ONLY CHANGE THE VIDEO MODE!  Changing other items in this program will (for some strange reason) cause this setup program to not save your settings.  So change the video mode to the mode you want to run (make sure your system can run in that mode before setting it that way), and select "Save Settings & Exit".  Build does not use music and sound effects at all, so setting these items isn't needed anyway.

Now, simply type "build" at the DOS prompt (without the quotation marks of course) and you will be launched into the program!

3.2 Creating a Room

Throughout this section, I will walk you through making your very first Duke Nukem 3D level.  Build is an extremely fun editing program, and some cool stuff can be done in this editor, so let's get started.

NOTE: The user map TUTORIAL.MAP (which can be found in the zip directory that this FAQ came in), is an example map that I have created, and which includes everything covered in this section.  If you want to see exactly what something looks like as you go along in this section, just take a look at this map in Build.

NOTE: Save early and *often*!  I cannot stress this enough - I have lost tons of work before by forgetting to save my work.  Pressing the [ESC] key in 2D mode allows you to save your work by pressing the [S] key (saves it as the current filename (the default is newboard.map)) or by pressing the [A] key (saves it as a new filename, which you specify).

The first thing that we'll do is create a square room.  Press the [G] key several times, until the largest grid size in Build appears.  Zoom out a little bit (by using the [Z] key).  Move your mouse cursor near one of the vertices, and press the [SPACEBAR].  What you are doing is beginning to draw the walls of your level.  Move your mouse cursor up 3 grid blocks and press the [SPACEBAR] again.  You have just drawn your first wall!  Move to the right 3 blocks, press [SPACE] again, move down 3 blocks, press [SPACE] again, and finally move the cursor back to the first vertex you drew, pressing [SPACE] one last time.  Your room should now be 3 grid blocks by 3 grid blocks.  Now, press the [SCROLL LOCK] key.  This is how you set your starting position.  If you move your right arrow in 2D mode (by clicking the right mouse button where you want the arrow to be), you will see that a brown arrow has appeared.  This tells you the location and the direction at which the player will enter the level.

3.2.1 Adding Textures

Textures are added in 3D mode.  Press the [ENTER] key on the number pad (it's found on the far right on your keyboard).  You should now be in 3D mode, which looks exactly like the game.  Cool, huh?  The current texture, however, is quite ugly, and one that you (hopefully) do not want to use.  So let's change the texture of the walls, the ceiling, and the floor.

Move the mouse cursor over the floor.  Press the [V] key once.  This screen (which currently has that ugly texture on it) is a listing of all the textures that appear on either the floor or ceiling of your level (This screen becomes quite handy later on when you want to use a texture already used in your level).  Now press the [V] key again.  You should be looking at a large screen of sprites, textures, and other items.  Press the [PGDN] key several times, or use the arrow keys to scroll around the screen.  There are literally thousands of tiles in Duke Nukem 3D, so choose one that you want to use as your floor, and press the [ENTER] key (not the one on the numberpad).  Your floor is now the texture you wanted it to be!  Now do the exact same thing for the ceiling. Now press the [E] key (while your mouse is over either the floor or the ceiling).  This toggles both floors and ceilings between small and large scale factors.  Experiment with this, and see how it changes things.  Note that this key only works on ceilings and floors - all other objects are not affected at all.

When you have that done, move the mouse cursor over one of the walls in your level.  Press the [V] key once.  The screen you are now looking at is much like the first one for the floor and ceiling, but this time it shows all the wall textures used in your level.  Press [V] again, and select a good texture for the wall.  Your texture appears, but it doesn't look like it's all there! You need to scale the texture by using the [4], [8], [6], and [2] keys on the numberpad.  Experiment a little, and get it to look like you want. Pressing the [5] key, in addition to the keys listed above, will make the scale of the texture change in larger increments (making it faster to do).

You could do this for each wall, but that would take quite some time to do in a big level.  So move the mouse cursor over the wall that you have just changed (after you have it like you want it) and press the [TAB] key (in version 1.3D of the game, you need to press this key twice - if you don't, the small white text that appears on the screen will stay there).  Now move the mouse cursor over one of the other walls.  Press the [ENTER] key (not the one on the numberpad).  You have just copied and pasted the texture, its scale factor, and its shade value!  This makes texturing a room much quicker, and it is quite a handy feature.  Do this for each wall.  (NOTE: Sometimes, the scale isn't pasted 100% correctly, so minor adjustment might be needed.)

3.2.2 Adding Sprites

Sprites are what levels in Duke Nukem 3D revolve around.  Without sprites, this game would have no meaning at all.  Sprites consist of enemies, weapons, ammo, sector effectors, and all kinds of eye candy.  Placing sprites is quite easy and can be done in either 2D or 3D mode.  Placement in 2D mode is *much* easier, because you have the grid to line up sprites with other objects.

Let's add a shotgun sprite to our level.  In 2D mode, move the mouse cursor into one of the corners in the room.  Press the [S] key.  You have just placed a sprite.  What you now see is a circle with a "tail" coming out of it.  The tail indicates the direction of the sprite.  This is not important in the case of ammunition, health, enemies, weapons, and some eye candy, but some objects that you might want to place on a wall need the angle to be just right.  If the sprite you just placed is currently pink, it means that this sprite will block your movement in the game.  If it is pink, move your mouse cursor over the sprite you just placed and press the [B] key.  This toggles sprites between "blockable" and "not blockable".  No sprites *need* to be blockable, but it comes in use when placing a table or chair sprite and you want it to block the movement of the player.  Now enter into 3D mode.  You should see some sort of sprite (probably that ugly texture again).  Move the mouse cursor over the newly created sprite, and press the [V] key once.  Like the textures, this first screen shows you what sprites are used in your level.  Press the [V] key again.  Select tile #28 (which is the shotgun sprite).  You have now placed a shotgun in your level! You might want to size this sprite down a bit (using the [4], [8], [6], and [2] keys on the numberpad), but weapons, health, ammo, enemies, and inventory items all size themselves in the game.

Now let's add a poster type sprite to our level.  In 2D mode, move your mouse cursor over one of the walls of your room (the cursor should be on the side of the wall that the player will see).  Press the [S] key.  Now change the angle of this sprite to face straight away from the wall.  This is done using the [,] and the [.] keys (also known as the [<] and [>] keys).  When you have the angle properly set, enter 3D mode.  Change this sprite to #500.  We want this sprite to stick to the wall, but it doesn't seem to be doing that.  Move the mouse cursor over the sprite in 3D mode, and press the [R] key once.  This makes the current sprite lie in a flat plane, perpendicular to the sprite's angle.  So if the sprite is facing to the right (or east), the sprite would lie flat in the north-south plane (the sprite would still face east).  This is kind of hard to explain, but play around with it to see what I mean.  Change the angle of the sprite after the [R] key has been pressed, and you will see how the flat position and the angle relate.  Size your sprite to your liking.

Let's add one more sprite to our level for now.  Place one sprite in 2D mode somewhere in the middle of your room.  Change this sprite to #568.  This is the magazine sprite.  Back in 2D mode, change the angle of this sprite to be 45 degrees or something of that nature (press the [<] or [>] key twice to do this).  Now enter 3D mode again.  This time, move the mouse cursor over the sprite and press the [R] key *twice*.  This command makes sprites lie flat on the floor.  Pressing [R] again returns the sprite to its default setting.  Size this sprite to your liking.  NOTE: Not all sprites can be made to lie flat on the floor.  If the sprite you want to make lie flat on the floor looks really weird (or messed up) when you try to place it flat on the floor, it simply cannot be made to be in that position.  If I am not mistaken, the only sprites that can lie flat on the floor are square sprites (their x-axis size is equal to their y-axis size).

3.2.3 Adding a Nested Sector

Now we need to add what is called a "nested" sector.  This term simply means that you have a sector within a sector.  We will first create a small box sector in our room.  Somewhere in your room, begin drawing a new sector.  Make sure that the grid size is smaller than the largest setting, and draw a square sector again.  If you enter 3D mode at this point, you will notice that the sector you just drew has appeared as new walls, taking a chunk out of your room.  This is not what we want, so enter back into 2D mode.  Move your mouse cursor inside this newly created sector, and press the [ALT]+[S] keys.  Your sector walls should have just turned red!  Now enter back into 3D mode again.  Looks like normal huh?  Well, it's not quite like it was before.  You have just created a nested sector, which will now raise up from the floor.

3.2.4 Raising and Lowering Sectors

In 3D mode, move your cursor over to the general area of your newly created nested sector (point the cursor at the sector floor).  Now press the [PGUP] key several times.  You are now raising your sector out of the ground!  Raise it to a decent height (but don't raise it all the way to the ceiling), and put some good textures on it (maybe the crate texture or something of that sort).  Using the [PGUP] key raises either the floor or ceiling of a sector, and using the [PGDN] key lowers either the floor or ceiling of a sector.  This is how you will set your sector heights in the game, and will most likely become one of the most used commands in Build.  These two commands can also be used to raise and lower sprites.  Remember that poster-type sprite we added to our level?  Press the [PGUP] key on it several times.  You have just raised the sprite up on the wall.  Very useful and very easy, is it not?

3.2.5 Parallaxing Skies

In 3D mode, move the mouse cursor over the ceiling of the room sector.  Now change the texture of this sector's ceiling to #89.  This is the Los Angeles texture, and for it to look right, needs to be parallaxed.  Press the [P] key.  Do this for the ceiling of the nested sector we created as well.  Several special cases with parallaxing (and several problems) are documented in the parallax sub-section of section 4.

3.2.6 Sloped Surfaces

Let's now create a sector off to one side of our room.  To do this, we first need to insert some vertices.  Pick the wall that you want to have the sector on, and move your mouse cursor over that wall.  Press the [INSERT] key in the places on this wall where you want the vertices for our new sector to be (you should only need 2).  Move the mouse cursor over one of these newly created vertices and press the [SPACEBAR], starting the drawing process.  Now move the mouse cursor over the second vertex that you inserted, pressing [SPACE] again.  The move out away from the room sector, drawing your sector as normal.  When you finish drawing your sector, the part of the wall between the two vertices you inserted should change into a red line.  Enter 3D mode and take a look at the newly created sector.  Let's make the floor of this sector sloped.

By using the [ and ] keys, slope the floor of this sector downwards (or upwards, whichever you prefer - just experiment with it).  Keep in mind that when sloping sectors, you need to set the "first wall" of the sector.  The "first wall" is the wall that the slope will pivot around (think of it as a hinge point).  This can be set in either 2D or 3D mode by pressing the [ALT]+[F] key combination on the wall you want to be the first wall of the sector (I personally find it easier to do this in 3D mode).   Experiment with setting this parameter, and see how it changes the tilting angle of the sector (try this on our newly created sector).

3.2.7 Creating a Circle

This is a feature that is (unfortunately) not used enough in level design, and it can be a little tricky to get just right.

Somewhere in your level (do this outside of your room sectors), draw a triangular sector.  Move your cursor over one of the walls of this sector, and press the [C] key.  Now move the mouse around.  You will see the beginnings of a circle, but we need to manipulate this circle to get it the way we want it to be.  Pressing the [-] and [+] keys (on the numberpad) decreases and increases the number of points on the circle, respectively.  Pressing the [SPACEBAR] draws the circle, while pressing the [C] key cancels the drawing of the circle.  Once you've got half of the circle drawn, move the vertex of the triangle (that you initially created) that is sticking out away from the half-circle, over one of the vertices that runs across the half-way point of the circle.  This is quite hard to explain in words, so take a look at the tutorial map (I've placed several iterations of this circular construction on the map, so you can see how this is done step by step).  Then create the other half of the circle.

3.3 The Art of Shading

One of the key elements in any level made is the shading technique.  Shading is a delicate art that must be learned and used *everywhere* in the level.  Leaving your level's walls, sprites, floors, and ceilings set with a shade value of 0 makes most level reviewers shun (or even skip) your level entirely. There are several shading techniques that you must learn to use, and they're not hard to learn at all!  Once you learn these techniques, you will be able to make some very cool looking levels!

3.3.1 Shading Techniques

Before we learn about the different techniques needed to make shading what it needs to (and should) be, we first need to learn how to shade.  All shading is done in 3D mode.  Pressing the [+] key (on the numberpad) makes the object under the mouse pointer get brighter (the shade value decreases).  Pressing the [-] key (on the numberpad) makes the object under the mouse pointer get darker (the shade value increases).  For small shading amounts, this can be handy, but to make things dark, pressing these keys over and over can be a pain.  So there's a shorter way to do this!  Point at the object you want to shade and press the [']+[S] key combination.  Then enter the value you want the shade to be.  The larger the number, the darker the shade.  A value of about 50 is almost completely dark, but you can go all the way up to 128.  Negative values are allowed (down to -128) and make things bright (but not noticeably lighter than a shade value of 0).  Entering negative values in version 1.3D isn't as easy as in 1.4 or 1.5, but it can be done.  To enter negative values, you simply need to enter a value that is greater than 128. The value you enter will simply be 256 minus whatever value you type in.  For example, if you type in a value of 155, the value entered will be -100.  Remember this only needs to be done in version 1.3D.  In versions 1.4 and 1.5, you simply type the [-] key (not on the numberpad) before typing the value.

The first shading technique that you need to learn is that you should offset the shade of walls of a room.  To do this, select two opposite directions on your map (i.e. - north and south) and make *all* walls in that direction one shade value (let's use a value of 10 for now).  Now you should give *all* the walls in the opposite two directions (i.e. - east and west) a shade somewhat lighter or darker than the previous shading (let's use a value of 15 for now).  This allows your eye to find the corner of the room much faster, and it gives a much more realistic look to any room (if you make joined walls the same shade, finding the corner can be quite a difficult thing to do).  This technique should be used in *every* room and passageway in your level, and it should remain consistent (i.e. - if you made all east-west walls the lighter value, then all east-west walls should remain lighter in the future).  If you have a angled wall (i.e. - it doesn't run perfectly north-south or east-west) use a value somewhere between your east-west and north-south values.  It is a good idea to set this type of shading before setting the next type.

The second technique that you need to learn is that light travels in a straight line.  The light from a ceiling light should make straight shadows when passing past a corner of a hallway or other object.  Remember to light your areas according to the positioning of your lights.  This is the second type of shading you should set.

The third technique is ambient shading.  Although light travels in a straight line, there is some ambience.  Use multiple sectors for shading, making the sectors farther from the light source incrementally darker.  Although this type of shading isn't needed, it definitely makes for some cool looking effects (gradual shading effects make some scenes look excellent - especially at a high resolution).

3.4 Advanced Features

Build has a few features that can be very useful to a learning Builder, and make the Building process *much* faster to complete.

3.4.1 Splitting Walls

Splitting walls is quite easy to do.  In 2D mode, simply point at the place on the wall where you would like to insert a vertex and press the [INS] key.  That's all you have to do!  Easy, huh?

3.4.2 Resizing and Moving Sectors

Another nice feature of Build is the ability to resize and move sectors.  To resize a sector, simply move each vertex to the place you wish them to be.  To select multiple vertices to move at the same time, hold the [RIGHT SHIFT] key down, and move the box (you'll see it appear when you move the mouse) over the desired vertices.  Now moving one of these vertices will also move the other selected vertices!  To move a sector, hold down the [RIGHT ALT] key and, again, drag the mouse over the desired sector.  Now, release the [RIGHT ALT] key and move the sector with the mouse.  Press the [RIGHT ALT] key one last time to deselect the sector once you have successfully moved it.

3.4.3 Joining Sectors

Joining sectors is a useful feature when you don't want a sector to be split up into individual (red lined) sectors.  In 2D mode, simply press the [J] key in the first sector you wish to join (this is the sector from which the properties (height, shade, etc.) will be taken).  Then press the [J] key again on the second, adjacent sector.  There you go - No more red line!

3.4.4 Deleting Sectors

Deleting sectors is also an easy thing to do.  Simply move the mouse into the sector you wish to delete, and press the [CTRL]+[DEL] keys to delete the sector.  Be warned that there is no undo feature in Build, so make sure you know *exactly* what you are doing before using this command.  A quick save of the level before using this command wouldn't hurt.

3.4.5 Copying and Pasting Sectors

Copying sectors can make Building go very fast.  You can copy sectors to the current level, or even to another level!  To copy sectors, hold down the [RIGHT ALT] key in 2D mode and move the box (you'll see it appear when you move the mouse) over the desired sectors.  Then release the [RIGHT ALT] key.  Once the sectors are selected (they will flash green), click and hold the left mouse button (be careful not to move the selected sectors) and press the [INSERT] key.  Keeping the left mouse button down, move this set of sectors (you will see that they have been copied) to the desired location in your level.  Press the [RIGHT ALT] key again to deselect them.

To copy sectors from one level to another, simply select the desired sectors (as stated above) and press the [INSERT] key (again, just like before).  Now, while the sectors are still selected (they should still be flashing green), load another level.  The selected sectors should appear in your level, and you can move them to the desired location.  Pressing the [RIGHT ALT] key will then deselect the sectors.

3.5 Completing this Map

You are now through the basic parts of editing.  The next section goes into detail on making every effect known in Duke Nukem 3D (there are even several effects not used in the game itself that people have invented).  To run your map, simply type the following at the command prompt:

duke3d -map [mapname].map

[mapname] is the name of the map you have just created.  Run your map and see the fruits of your labor - Welcome to the world of Build!

==================================
SECTION 4 - MAKING ALL THE EFFECTS
==================================
----------------
4.0 INTRODUCTION
----------------
4.0.1 Introduction

      This section of the FAQ covers every known effect available to the map
      designer.  Due to the number of effects available, this section is
      quite lengthy.  The tutorial map is divided into sections, so look at
      the "Map Name" section of each how-to to find out which map and
      section the effect is shown in.

---------
4.1 DOORS
---------
4.1.1 Doom Type Doors
      Map Name: TUTORIAL.MAP (ROOM 1-A)

      This how-to explains how to make one of the most common doors found in
      the game: "Doom" doors.  These types of doors rise from the floor into
      the ceiling, and are quite easy to make.

  STEP 1: Draw your door sector in 2D mode.  Move the pointer over the door
          sector, and give the door sector a lotag of 20 (press the [T] key
          when the mouse pointer is inside the door sector).
  STEP 2: Enter into 3D mode and give the door frame (the walls of the door
          sector) some nice textures.  Move the pointer over each wall and
          press the [O] (the letter, not the number zero) key.  This will
          prevent the walls from "moving" with the door as it travels
          (don't press the [O] key and see what happens - it's very
          unrealistic).
  STEP 3: Now enter into 3-D mode, and lower the ceiling of the door sector
          all the way to the floor.  Then texture the door itself.

4.1.2 Adding Sounds to Doors
      Map Name: TUTORIAL.MAP (ROOMS 1-A through 1-I)

      To add sound effects to a door (the sound of the door opening and
      closing) follow these simple steps:

  STEP 1: Place one music and sound effect sprite (#5) in the door sector.
  STEP 2: Give the music and sound effects sprite a lotag value equal to
          the sound you wish to play.  Values of 166 through 168 are good
          values, but use what you want (anything other than a door sound
          isn't very realistic however).  A listing of sound effects by
          both tag number and sound category can be downloaded at Map FAQ
          Central (see the very top of this FAQ for the URL).

4.1.3 Reversed Doom Type Doors
      Map Name: TUTORIAL.MAP (ROOM 1-B)

      This how-to explains how to make the reversed version of the Doom Type
      door.  This type of door lowers from the ceiling into the floor, and
      is quite easy to make.

  STEP 1: Draw your door sector in 2D mode.  Move the pointer over the door
          sector, and give the door sector a lotag of 21 (press the [T] key
          when the mouse pointer is inside the door sector).
  STEP 2: Now enter into 3-D mode, and raise the floor of the door sector
          all the way to the ceiling.  Then texture the door itself.

4.1.4 Splitting Doom Doors
      Map Name: TUTORIAL.MAP (ROOM 1-C)

      This type of door splits in the middle horizontally, with the top half
      rising to the ceiling and the lower half lowering to the floor.  These
      doors are constructed exactly as regular Doom-Type doors, with the
      following changes:

      1. The sector lotag should be 22.
      2. The floor and ceiling of the door sector should meet in the middle
         of the door itself.

      NOTE: The height of the door should be an even value, to ensure that
      the top or bottom half does not need to travel farther than it should
      (which can cause some problems).  The value you should use is the
      number of times that you must press the PGUP key to raise the ceiling
      from floor height to the height you want.

4.1.5 Swinging Doors
      Map Name: TUTORIAL.MAP (ROOM 1-D)

      Swinging doors are possibly the coolest and most useful doors in Duke
      Nukem 3D, but they can be a pain to construct.  Follow these steps,
      however, and you should be able to make a working swinging door.

  STEP 1: Create the room and the hallway that the door will separate.  The
          ceiling height of the hallway should be the height of the door.
          The hallway and the room should be two separate sectors (there
          should be a red line between these two sectors in 2D mode).
  STEP 2: Create the door sector on the side of the red line that the door
          will swing in to.  This sector should be valid player space.  In
          3D mode, raise the floor of this sector to the height that you
          want the door to be (or you can lower the ceiling; whichever you
          prefer).
  NOTE 1: The door sector should be made within another, valid sector.
  STEP 3: Now move the door sector to where it should be.  One side of the
          door should be in the exact position as the red line separating
          the hallway from the room (i.e. - two of the vertices of the door
          should sit exactly on top of the two vertices of the hallway and
          room junction).
  NOTE 2: The door should be in the sector in which it will swing into.  If
          it is not, some big problems can occur.
  STEP 4: Give the door sector a sector lotag value of 23.
  STEP 5: Place one sector effector sprite in the door.  Give this sprite a
          lotag value of 11, and a unique hitag value.  Now you need to
          move the sector effector at the pivot point for the door.  Turn
          off the grid lock feature by pressing the [L] key in 2D mode.
          Move the sector effector sprite as close to the pivoting corner
          of the door as you can, but *do not* place this sprite on the
          corner itself.  Zoom in as far as you can possibly go in 2D mode
          to see just where you are putting it.
  STEP 6: Now you need to set the angle for the door.  If you want the door
          to swing in a clockwise direction, point the sector effector up.
          If you want the door to swing in a counter-clockwise direction,
          point the sector effector down.
  STEP 7: Place one Music&SFX sprite in the door.  Give this sprite a lotag
          value of 165.  You are now finished!  Take a look at the tutorial
          map if you don't quite understand.
  NOTE 3: Swinging doors will not work correctly in any of the following
          situations:
          * If the floor or ceiling is sloped.
          * If the door swings into another sector.
          * If the door is not a valid player space sector.
          
4.1.6 Swinging Glass Doors
      Map Name: TUTORIAL.MAP (ROOM 1-E)

      Swinging glass doors look great and add a nice touch to virtually
      any level.  They aren't easy, however, so follow these instructions
      very carefully.

  STEP 1: Create a swinging door (see the swinging door how-to) but do not
          raise the door sector up from the floor.
  STEP 2: At the end of the door farthest from the pivot point (or farthest
          from the sector effector with lotag 11 - same thing) create a
          small square sector inside of the door.  This sector should *NOT*
          be valid player space (i.e. - the walls of this sector should be
          white).
  STEP 3: Mask the outermost red line of the door itself, changing the mask
          texture to the glass texture.  The [M] key in 3D mode creates a
          masked wall.  Press the [B] and [H] keys on this mask.  A point
          can be inserted on this line (before masking it) if desired,
          in order to prevent the glass texture from being as long as the
          door.
  STEP 4: Lower the ceiling of the door sector a few [PGDN] units (2 works
          nicely) and raise the floor of the door sector a few [PGUP] units
          (again, 2 works nicely).  You're done!  Take a look at the
          tutorial map if you don't quite understand.

4.1.7 Problems and Fixes with Swinging Doors
      Map Name: NONE

      The following is a list of common problems and their solutions for
      working with swinging doors.

    PROBLEM  1: My door disappears when it opens!  What do I do?
    SOLUTION 1: The problem here is that a corner of your door is actually
                going *outside* of your map (into nothingness) and is
                causing your door to disappear.  Either move the sector
                effector sprite with the lotag of 11 closer to the vertex
                of the door, or angle the corner that travels outside the
                map.  Also make sure that you are not building a door that
                swings in sectors of different height or sloped sectors.
    PROBLEM  2: My door swings in the wrong direction!  How do I fix this?
    SOLUTION 2: You need to fix the direction that the sector-effector is 
                pointing.  To make the door swing clockwise, the sector-
                effector needs to point upwards.  To make it swing 
                counter clockwise, you need to point the SE down.
    PROBLEM  3: When I make my door, I try to move it and it loses it's
                unique sector lotag/hitag.
    SOLUTION 3: The 'door' sector has to be created inside the sector
                where it will swing into. Do not create it and then move
                it into another sector or the it will lose it's unique
                lotag/hitag.
    PROBLEM  4: When I open my door, the walls move with it!  How do I fix
                this?
    SOLUTION 4: When you create the 'door' sector, it should be a free-
                standing sector.  In other words the vertices should NOT
                be connected to any other vertices.  AFTER the door
                sector has been made, you may move it (to the door hole)
                and now the vertices may overlap because they will not
                connect now. Be sure of this or the walls will be pulled
                along with the door!
    PROBLEM  5: When I open my swinging door, the door kills me!  How can
                I stop this from happening?
    SOLUTION 5: Make sure that the sector effector sprite is actually
                INSIDE of the sector, and NOT on a line of the sector.
    PROBLEM  6: When I open one swinging door, a completely different door
                opens up.  What's the deal?
    SOLUTION 6: The hitags for your sector effector sprites are the same.
                You must use UNIQUE hitags for doors that you want to open
                separately.

4.1.8 Sliding Star Trek Doors
      Map Name: ADVANCED.MAP (ROOM 1-A)

      Sliding Star Trek doors are difficult to make, but they are a cool
      addition to most any level.  Because this type of door is so complex
      to make, a step by step construction has been placed in the tutorial
      map.  Take a look at it to see what to do, and even copy the sectors
      if you want.

      NOTE 1: The texture of the door will be "squished" when the door is
              opened.  There is no way around this problem.
      NOTE 2: The door sound will sound twice for some reason.  Again, there
              is no way around this problem.

4.1.9 Splitting Star Trek Doors
      Map Name: ADVANCED.MAP (ROOM 1-B)

      This is a more complex version of the sliding star trek door, and it
      is by far one of the coolest doors in the game.

  STEP 1: Create a sliding star trek door.
  STEP 2: Raise the floor of this door about halfway up, and lower the
          ceiling about halfway down (the ceiling and floor should meet in
          the middle of the door).
  STEP 3: Change the door sector lotag value from 9 to a value of 26.
          You're all done!  Take a look at the tutorial example if you don't
          quite understand.

4.1.10 Teeth Doors
       Map Name: TUTORIAL.MAP (ROOM 1-F)

       This door never appears in the game (it has a few minor problems) but
       it is very cool.

  STEP 1: Create a sector for the door, and two square sectors inside the
          door sector (for the teeth of the door).  All these sectors should
          be valid player space.
  STEP 2: Lower the teeth sector floors down until you can no longer see the
          floor (even when looking down at an angle).
  STEP 3: Give the door sector a sector lotag value of 29 and a unique
          sector hitag value.
  STEP 4: Place one sector effect in each tooth sector.  Give each sector
          effector sprite a sprite lotag value of 22.  Also give each sector
          effector sprite a sprite hitag value equal to the door sector
          hitag value.  You're done!  Look at the tutorial map if you don't
          quite understand.
  NOTE 1: This door must start in the open position for it to properly work.

4.1.11 Another Way To Do Teeth Doors
       Map Name: TDOOR2.MAP

       This is an effect created by Jaap Menist.  The how-to text file can
       be found in the zip file that this FAQ came in (the how-to is very
       long).  The name for this file is TDOOR2.TXT.  This is a very
       difficult door to construct, but it ends in a very cool effect.

       NOTE: Using this method, the door can start in the closed position.

4.1.12 Sliding Doors
       Map Name: ADVANCED.MAP (ROOM 1-C)

       Again, due to the extremely difficult task of explaining this how-to,
       I have provided a step by step example in the tutorial map, showing
       how to make this door.  Just take a look at the example and it should
       make sense (it goes step by step in the building process).

4.1.13 See Through Sliding Doors
       Map Name: STHRUSLD.MAP

       This is an effect created by Jaap Menist.  The how-to text file can
       be found in the zip file that this FAQ came in (the how-to is very
       long).  The name for this file is STHRUSLD.TXT.  This is a very
       difficult door to construct, but it ends in a very cool effect.

4.1.14 Rotating Subway Doors
       Map Name: TUTORIAL.MAP (ROOM 1-G)

       This type of door constantly revolves in a circle, much like the
       doors you find in an airport or subway station.

  STEP 1: Create your door sector to be rotated.  The sector should be valid
          player space.  Raise the floor of the door up to the ceiling (or
          lower the ceiling to the floor).
  STEP 2: Place one sector effector sprite in the middle of the door sector.
          Give this sprite a lotag value of 1.  Give it a unique hitag
          value.  If you want this door to rotate counter-clockwise, angle
          the sprite straight down.  If you want the door to rotate in a
          clockwise manner, angle the sprite straight up.
  STEP 3: Place one sector effector sprite somewhere else in the door
          sector.  Give this sprite the same hitag value you gave the sprite
          in step 2.  Leave the lotag value as 0.  Change the angle of this
          sprite to point straight down.  You are now finished - take a look
          at the tutorial map if you don't quite understand.
  NOTE 1: Several versions of this door can be made.  Look at the tutorial
          example to see the different versions in action.

4.1.15 Making Doors Auto Close
       Map Name: TUTORIAL.MAP (ROOM 1-H)

       To make any door auto-close, place one sector effector sprite in the
       door sector, and give it a lotag value of 10.  The hitag value is the
       delay that the door will wait before it closes.  A value of 32 is one
       second, 64 is two seconds, and so on.

4.1.16 Making Locked Doors
       Map Name: TUTORIAL.MAP (ROOM 1-I)

       To make a locked door (that must be opened with a keycard) follow
       these steps:

  STEP 1: Place an access pad sprite (#130 or #170) somewhere in your map.
          Give it a hitag value of 212.  Give it a unique lotag value.
  STEP 2: Place an ActivatorLocked sprite (#4) in the door sector.  Give
          this sprite the same lotag value you gave the access pad.
  STEP 3: Place a key sprite (#60) somewhere in your level.
  STEP 4: Change the palette of *both* the key and the access pad (use
          [ALT]+[P] in 3D mode) to the following values to make one of the 3
          different kinds of keys and locks:
          0 = Blue
          21 = Red
          23 = Yellow

--------------------
4.2 PARALLAXED SKIES
--------------------

4.2.1 Correctly Parallaxed Skies
      Map Name: TUTORIAL.MAP (ROOM 2-A)

      Parallaxed skies present the player with the feeling of being outside,
      but can be problematic if not constructed correctly.  Follow these
      simple steps:

  STEP 1: Change the texture of the ceiling or floor that you wish to
          parallax.
  STEP 2: Move the mouse cursor over the area you want parallaxed and
          press the [P] key.

      To prevent the space textures from killing you when you walk under
      them, change the palette value of the parallaxed floor or ceiling (or
      both) to 3.

      There are 3 types of parallaxing.  Press the [CTRL]+[P] key
      combination to cycle through the types of parallaxing.

      To make the walls look parallaxed (used in the space levels to make it
      look as if Duke looks into space), create several sectors along the
      sides of the main parallaxed sector, change the floor and ceiling
      texture to the same texture that the main sector has, and parallax
      both the floor and ceiling of these side sectors.  Then lower the
      ceiling down to the floor.  Take a look at the tutorial map if you do
      not quite understand.

4.2.2 Problems And Fixes With Parallaxing
      Map Name: NONE

  PROBLEM  1: My sky is screwed up!  It shows one picture, and then to the
              side of that another, and another, etc.  What's the deal?
  SOLUTION 1: The textures that use more than one frame (such as the
              space texture) usually are the cause of this problem.
              For example, the space texture uses six textures; the first 
              texture and five after that.  When you use a texture such
              as this *anywhere* in your level, it becomes impossible to
              have one (and only one) texture parallaxed elsewhere in your
              map.  So suppose I have the space texture somewhere in my
              level, and I want to parallax a texture that only has one
              frame.  If I try to parallax this second texture, it will
              show the texture I'm using, the frame after that (a sprite
              let's say), the frame after that, etc.  The solution for this
              is basically this: use the same texture everywhere.  If you
              want to just use a one frame texture, you must change *all*
              the multiple frame sky textures to single frame sky textures.

  PROBLEM  2: I'm not using multiple frame sky textures, and it still looks
              weird.  What am I doing wrong?
  SOLUTION 2: This problem occasionally occurs upon first parallaxing a
              sector, and can be resolved by saving your level, exiting
              from Build, and then reloading your level.

--------------------
4.3 LIGHTING EFFECTS
--------------------

4.3.1 Making Lights Blink
      Map Name: TUTORIAL.MAP (ROOM 2-B)

      Blinking lights can add a great mood and sense of environment in any
      user level.  This effect makes lights blink randomly.

  STEP 1: Create a light sector.  This sector can either be in a wall, or
          a ceiling light sector, but it needs to be a sector.  Take a look
          at the tutorial map to see examples of both types of lighting.
  STEP 2: Place one sector effector sprite in each sector you want to light
          up.  Give these sprites a lotag value of 4, and a unique hitag
          value.  The hitag value is the flash randomizing number, so use
          any value you want.
  STEP 3: Set the shade of the walls, floor, and ceiling near your light to
          the shade value you want it to be when the lights are off.  Then,
          set the shade of the sector effector sprites to the shade value
          you want it to be when the lights are on.  You set the shade value
          by pressing the [']+[S] key on the desired wall, ceiling, or floor
          in 3D mode.  You are finished - Look at the tutorial map if you
          don't quite understand.
  NOTE 1: You can make colored blinking lights as well.  Simply give the
          sector effector sprites a palette value equal to the color that
          you want the light to be when flashing.  Both the sectors and the
          sector effector sprites can have different palette values.
  NOTE 2: This effect can *not* be used with the light switch effect.
  NOTE 3: To prevent one side of a red line in 2D mode (a 2 sided wall) from
          being affected by the light effect, give the side of the wall you
          want to not be affected a wall hitag value of 1.

4.3.2 Making Lights Blink When Shot
      Map Name: TUTORIAL.MAP (ROOM 2-C)

      This effect allows you to cause a light to flash randomly once it is
      broken by the player (by the player shooting the light).

  NOTE 1: This effect will not *always* work, but it will sometimes.  The
          randomization of this effect prevents this effect from occurring
          100% of the time, but it will occasionally work.
  STEP 1: Create a light sector.  This sector can either be in a wall, or
          a ceiling light sector, but it needs to be a sector.  Take a look
          at the tutorial map to see examples of both types of lighting.
          If you are constructing a light in a wall, make sure that you
          lower the ceiling of the light sector to the floor, placing the
          light texture on the wall face that appears once you lower the
          sector ceiling to the floor.
  NOTE 2: The light texture that you use, should be breakable (i.e. - when
          you shoot the light, the light texture should change to the
          corresponding broken light texture).
  STEP 2: If you are creating a ceiling light, give the light sector a
          unique sector hitag value.  If you are creating a wall light, give
          the red wall that separates the light sector from the wall sector
          a unique wall lotag value.
  STEP 3: Place one sector effector sprite in each sector you want to light
          up.  Give these sprites a lotag value of 3.  If you are creating
          a wall light, give the sector effector sprite a hitag value equal
          to the wall's lotag value.  If you are creating a ceiling light,
          give the sector effector sprite a hitag value equal to the light
          sector's hitag value.
  STEP 4: Set the shade of the walls, floor, and ceiling near your light to
          the shade value you want it to be when the lights are off.  Then,
          set the shade of the sector effector sprites to the shade value
          you want it to be when the lights are on.  You set the shade value
          by pressing the [']+[S] key on the desired wall, ceiling, or floor
          in 3D mode.  You are finished - Look at the tutorial map if you
          don't quite understand.
  NOTE 3: You can make colored blinking lights as well.  Simply give the
          sector effector sprites a palette value equal to the color that
          you want the light to be when flashing.  Both the sectors and the
          sector effector sprites can have different palette values.
  NOTE 4: This effect *can* be used with the light switch effect.
  NOTE 5: To prevent one side of a red line in 2D mode (a 2 sided wall) from
          being affected by the light effect, give the side of the wall you
          want to not be affected a wall hitag value of 1.

4.3.3 Open Door & Room Lights Up
      Map Name: TUTORIAL.MAP (ROOM 2-D)

      This effect allows rooms to light up when a door is opened (assuming
      that light would come in the door).

  STEP 1: Construct the door and the sectors that you wish to light up.
  STEP 2: Place one sector effector sprite in the door and in each sector
          that you want to light up.
  STEP 3: Change the shade of each sector effector to the shade you want
          the sector it is located in to be when the door is open.  Do
          this by moving the mouse over the sprite, and press the
          [']+[S] keys in 3D mode.
  STEP 4: Change the shade of each wall, ceiling, and floor of the sectors
          you want to light up to the value you want them to be when the
          door is closed.
  STEP 5: Give each sector effector sprite a lotag value of 8 and the same,
          unique hitag value.  You are now finished - Take a look at the
          tutorial map if you don't quite understand.
  NOTE 1: If you do not wish a certain wall to be lit up by this effect (for
          example, the door texture itself), simply give the desired wall a
          wall hitag value of 1.  It is easiest to do this in 3D mode.
          Point at the wall you wish to assign a hitag, and press the
          [']+[H] key combination.  Then enter the value 1, and [ENTER].
          This prevents the selected wall from lighting up (a very useful
          command to use).

4.3.4 Light Switches
      Map Name: TUTORIAL.MAP (ROOM 2-E)

      This effect allows you to create a light switch from which the player
      can toggle a light on or off.

  STEP 1: Place a switch sprite (#712 is the standard light switch)
          somewhere in your level.  Give this sprite a unique lotag value.
  STEP 2: Place one sector effector sprite in each sector that will light up
          when the light is on.  The shade of this sprite determines how
          bright the light will be in that sprite's particular sector when
          the light is on.
  STEP 3: The shade of all walls, ceilings, and floors of the sectors to be
          lit up should be set to the shade they will be when the light is
          turned off.
  STEP 4: Give each sector effector sprite a lotag value of 12.  Give each
          sector effector sprite the same hitag value that you gave to the
          light switch.  You are now finished - Take a look at the tutorial
          map if you don't quite understand.

4.3.5 Colored Lights
      Map Name: TUTORIAL.MAP (ROOM 2-F)

      To create colored lights, simply change the palette of the walls,
      floors, and ceilings you desire to be colored to one of the following
      values (palette is set in 3D mode by pressing the [ALT]+[P] keys when
      the mouse is over the desired object to change):
        1 = Blue
        2 = Red
        7 = Yellow
        8 = Green

      NOTE: Yellow lighting seems to only work on white textures.  On gray
            or other colored textures, the light will look rather dull.

4.3.6 Pulsating Lights
      Map Name: TUTORIAL.MAP (ROOM 2-G)

      Pulsating lights can be used to create some neat effects (moving
      lights to name one).

  STEP 1: Place a Cycler sprite in the sector(s) that you want the light to
          pulsate in.  Change the shade of this sprite to how bright you
          want the light to be when the light is at its brightest point.
  STEP 2: Change the shade of the floor to how dark the sector should be
          when the light is at its darkest point.
  STEP 3: To change the speed of the light pulsing, simply place one GPSpeed
          sprite in the same sector as the Cycler sprite.  A hitag value for
          the Cycler and GPSpeed sprites are not needed (as was previously
          thought to be the case).  Now give the GPSpeed sprite a lotag
          value.  This value is how fast or slow the light will pulsate (the
          higher the value, the faster the light will pulsate).
  NOTE 1: Here is a great bit of information on the speed of Cycler sprites
          when combined with GPSpeed sprites (thanks to Keith Tyson for this
          information).  The cycle length (going from bright to dark to
          bright again) seems to be halved as the GPSpeed lotag value is
          doubled.  Strangely enough, this is the case up to a value of
          1023, (a value of 1024 doesn't work).  From 1025 to 2047, the
          above pattern is reversed: As the GPSpeed lotag value gets higher,
          the cycle length increases.  A value of 2048 doesn't work either.
          A simple conversion indicates that a lotag of 1 will produce
          roughly one cycle in 120 seconds (quite slow), while a lotag of
          1023 will produce roughly 8 cycles per second (quite fast).
  NOTE 2: Walls with a hitag value of 1 are not affected by the Cycler
          sprite.
  NOTE 3: This effect can be used to create the "rotating" lights found in
          some of the episode 2 levels.  Take a look at those levels to
          see how this is done.

------------------
4.4 MOVING SECTORS
------------------

4.4.1 Rotating Sectors (Gears)
      Map Name: TUTORIAL.MAP (ROOM 2-H)

      This effect allows you to create a constantly rotating sector, such as
      the gears found in the registered levels.

  STEP 1: Create the sector to be rotated.
  STEP 2: Place one sector effector sprite where you want the pivot point
          for this sector to be (it is usually placed in the center).  Give
          this sprite a lotag value of 1, and a unique hitag value.  Now
          change the angle of this sprite to one of the following:
             Up - Sector rotates counter-clockwise
             Down - Sector rotates clockwise
  NOTE 1: This pivot point sprite is not required to be inside the sector
          that will rotate.
  STEP 3: Place one other sector effector sprite somewhere else in your gear
          sector.  Give this sprite the same unique hitag value that you
          gave the first sector effector sprite.  Leave the lotag value set
          as 0.  Then set the angle of this sector effector sprite.  The
          following angles have the following related functions:
             Up - All points of sector rotate around pivot point
             Down - Entire sector rotates around pivot point
  STEP 4: If you want sprites and the player to rotate with this sector,
          you must enter 3D mode and press the [R] key on the floor of the
          sector.  This will allow sprites and actors to move with the
          rotating sector.

4.4.2 Using Rotating Sectors for Doors
      Map Name: ROTATEDR.MAP

      Rotating sectors can be used in combination with switches to create
      a very interesting type of door.  The how-to is fairly complicated,
      so a tutorial map (created by Jack Gutzler AKA Captain Massive) has
      been included with this package.

4.4.3 Two-Way Trains
      Map Name: ADVANCED.MAP (ROOM 1-D)

      Two-way trains are very cool and a great addition to any level.  They
      are, however, quite complex to build.

  STEP 1: Create the track for the train (it should be straight), the train
          itself, and two rooms at either end of the track.
  NOTE 1: The train sector should not be split into multiple sectors.
          However, the train can include white-walled (non-valid player
          space) sectors and nested red-lined sectors (take a look at the
          tutorial map to see exactly what is possible).
  NOTE 2: The train should be made on the opposite side of the track from
          which the player will enter first.  And the train should not be
          made right in front of where the player will board it (place the
          train in the middle of the track for now).
  STEP 2: Place three switches on the map: one in the train, and the other
          two in both rooms at either end of the track (i.e. - one in each
          room).
  STEP 3: Give all three switch sprites the same, unique lotag value.
  STEP 4: Place one activator sprite in the train and give it the same lotag
          value that you gave the switch sprites.
  STEP 5: Place one sector effector sprite in the train and give it a lotag
          value of 30.  Give this sprite a hitag value of 1 added to the
          value you gave the switch sprites (so if your switch sprite lotag
          was 10, the hitag value of this sector effector sprite would be
          11).  You now must change the angle value for this sprite.  Point
          it in the direction of the track where the train will start from
          (if your train starts from the left hand side, point the sector
          effector sprite to the left).
  STEP 6: Give the train sector a sector lotag value of 31.
  STEP 7: Place two locator sprites (sprite #6) on your track, one where the
          train will begin and one where the train will stop.  Think of
          these two sprites as reference sprites.  The sector effector
          sprite that you placed in your train sector is a fixed point on
          your train.  When the train moves from point to point, the fixed
          sector effector on the train will move over top of the locator
          sprites.  So place these in an appropriate place.  Give the
          locator closest to where the player will first board the train a
          lotag value of 1 and a hitag value of 1.  Do not give the other
          locator sprite a lotag or hitag value (both should remain at the
          default value of 0).
  STEP 8: In 3D mode, press the [R] key on the floor of your train.  If your
          train has a ceiling, do the same thing.1

  OPTIONAL STEPS

  STEP 9: Create door sectors on each end of the track where the player will
          board and exit the train.  They should be regular Doom-type doors.
          Place one activator sprite in each door sector.  Give the
          activator sprite in the door where the player will first board the
          train, a lotag value of two more than the switch lotag.  For
          example, if the switch lotag (near the door) was 10, the lotag of
          this activator sprite would be 12.
  STEP 10: Give the other activator sprite (in the other door sector) a
           lotag value of one more than the switch sprite lotag.  For
           example, if the switch lotag was 10, the lotag of this second
           activator sprite would be 11.
  STEP 11: Make sure that the door where the player will first board the
           train is in the closed position.  The other door (at the other
           end of the track) should be open.  If this is not set properly,
           the timing of the doors will be off.

4.4.4 One Car Subways
      Map Name: ADVANCED.MAP (ROOM 1-E)

      Subways are not difficult to master, but they do require patience and
      a great deal of work.  But they can be done, and they can be a great
      addition to any level!

  STEP 1: Make the track for the subway.  For this example we will be
          making a simple rectangle room.  Later on, when you get practice
          with the Locator sprites, you will be able to have a track with
          a more realistic look (i.e. - Walls on both sides of the track.
          Here we are just using an open room which the subway will wander
          around in).  Set your textures to whatever you want.
  STEP 2: Make a sector off of this room (or anywhere else for that matter)
          to be a station for the train.  Make sure the sector is valid
          player space, and raise it up from the floor of the track sector
          in 3D mode (this sector will be higher up than the track).
  STEP 3: Make one other rectangular sector that will be the subway car
          itself.  Do not make the car right next to the station, as a
          locator sprite will be needed for that.  Raise the car up out of
          the ground, and make it valid player space.  Choose appropriate
          textures.
  STEP 4: In 2D mode, put the mouse cursor in the subway car sector and
          press the [H] key.  You now will give that sector a hitag of 1.
          This number is an indicator for the cars, so if you had a second
          subway somewhere else on your map, the cars would have a hitag
          of 2.
  STEP 5: Now insert a sprite in the subway car sector by pressing [S]
          in 2D mode.  Now go into 3D mode and press [V] on the newly
          made sprite twice.  Change the sprite into a sector-effector
          sprite.  Place the sprite in the center of the car and change
          the angle of the sprite to be in the direction of the front of
          the car.  The sprite's angle tells the subway in which direction
          it will go.  Press [R] on the floor of the subway (and on the
          ceiling too if your subway has a ceiling.  If it does not have a
          ceiling, leave it alone) in 3D mode.  This makes the floor move
          with the train.
  STEP 6: Go into 2D mode and press [ALT]+[T] on the sprite, and enter
          the value of 6.  This gives the sector-effector sprite a lotag
          of 6 and it makes this car the "engine" of the subway.  When you
          make a multiple car subway, this will be the lead car of the
          subway.  It will pull all of the other cars behind it.
  STEP 7: Now you must place the locator sprites all over the track.  These
          sprites make the actual 'path' of the train.  Place a locator
          sprite near the station and give it a hitag of 1, and leave the
          lotag at 0.  The hitag of 1 tells the subway that it must stop at
          this point of the track and wait for five seconds.
  STEP 8: Now put Locator sprites all around the track.  Put the sprites
          anywhere in your track that you want your train to go.  The train
          will go over all the Locator sprites you put down, so place them
          in the way you want your train to go.
  STEP 9: You now must give the Locator sprites lotags that go in numeric
          order.  For example, the Locator that the train will go to,
          AFTER visiting the station would have a lotag of 1.  The next
          sprite will have a lotag of 2, the next a lotag of 3, and so on.
          This will continue until you get back to the station locator (the
          one with the hitag of 1).  DO NOT GIVE THE STATION LOCATOR A 
          LOTAG!  IT MUST BE LEFT AT 0!  Make sure that you make the track
          for the subway as accurate as possible, as the subway can
          sometimes disappear.  You are all done at this point!

4.4.5 Making Multi-Car Subways
      Map Name: NONE

      Multi car subways are just as easy as one car subways, but it requires
      some work and time.

  STEP 1: Make the first car, or "engine" of the train by following the
          instructions in the above how-to.
  STEP 2: Make several more car sectors behind the engine of the train,
          make them valid player space, and choose appropriate textures
          for the car.  The train cars should *not* be connected, and
          there should be some space between the two.  When the train
          turns around a corner, sometimes the train sectors can overlap,
          causing some strange bugs to appear.  So don't put them too
          close.  Also make sure that the cars are raised out of the
          ground to the appropriate height (whatever you want it to be).
  STEP 3: Give the car sectors a hitag of 1 (not necessary, but it is if
          you have more than one subway on your map.  If you had a second
          subway, the cars hitag would be 2, and so on).
  STEP 4: Put a sector effector sprite in the cars of the train and give
          them a lotag of 14, which means that these cars will follow the
          "engine" of the train.
  STEP 5: You're done (the path for the train should have already been
          made, as you constructed that in the first how-to).

4.4.6 Notes on Subways
      Map Name: NONE

      Here is a short list of notes that might make your subway making
      problems disappear.  Many problems can be solved with some of these
      notes, so read on!
   1. The locators should _all_ be in the same sector (the track). It 
      is not advised to split up the track sector, but if you must do 
      it make sure the locators are all in the same sector.
   2. The pixel height (height between floor and ceiling) of the train 
      has to have a maximum of 104 in order to run you over. If the 
      pixel height is more than this the train will pass through you 
      instead of killing you (weird eh?).
   3. A train with cars behind it will travel slightly faster than a 
      single train! So be aware that when you put 2 trains on the same 
      track, after quite a while, they will have caught up with each other 
      (I actually did this).  

--------------------------
4.5 GENERAL SECTOR EFFECTS
--------------------------
4.5.1 Earthquakes
      Map Name: TUTORIAL.MAP (ROOM 2-I)

      Earthquakes are a neat effect, and easy to make.

  STEP 1: Create the sectors that will be altered during the earthquake (if
          you want any).  Make these sectors look as if the earthquake has
          already happened.
  STEP 2: Place one sector effector sprite in each sector that will be
          affected by the earthquake.  Give each sprite a lotag value of 2.
  STEP 3: Place one Masterswitch sprite in each sector that will be affected
          by the earthquake.  Give each of these sprites the same, unique
          lotag value.
  STEP 4: Raise the sector effector sprites and the Masterswitch sprites to
          the height that you want the affected sectors to be before the
          earthquake.  If you have a sloped sector, place the sprites on the
          sector's axis line.
  STEP 5: Place one Touchplate sprite in the sector that you want to trigger
          the earthquake with.  Give it the same lotag value that you gave
          to the Masterswitch sprites.  You are now finished - Take a look
          at the tutorial map if you still don't understand.
  NOTE 1: To make the earthquake spawn scraps of rock and metal, simply
          place sector effector sprites where you want the scraps to fly
          from.  Give each sprite a lotag value of 33.  Then raise the
          sprite to the height that you want the scraps to be spawned from
          (it doesn't matter what that height is).

4.5.2 Rooms Over Rooms
      Map Name: TUTORIAL.MAP (ROOM 3-A)

      Making rooms over rooms can be a complex job, but is quite simple to
      do.  A few simple rules need to be properly followed when constructing
      this effect, and if done properly, this effect can create some cool
      architectural layouts.

      The first rule is simply this: The ceiling of the lower level must be
      lower than the floor of the upper level.  If this isn't the case, your
      level will show some strange anomalies associated with level over
      levels, and some undesired results will show up.

      Another rule also must be followed when constructing your level over
      level sectors.  You cannot "see" the lower level from the upper level,
      and you cannot "see" the upper level from the lower level.  This means
      that you could not make a 2 level house and have a window on the
      bottom floor and a window directly above it on the top floor.

      You should also remember that the vertices of the upper level should
      not connect to any of the walls on the lower level.  The levels must
      be completely independent of each other.  Take a look at the tutorial
      map to see just how it works.

      It is possible to have many layers of sectors over sectors, just make
      sure you keep track of them in Build (it can become quite complex).

4.5.3 Stretching Sectors
      Map Name: TUTORIAL.MAP (ROOM 3-B)

      This effect will stretch a sector in the direction you desire.

  STEP 1: Create the sector that will be stretched (it should be a valid
          player sector).
  STEP 2: Give the sector a sector lotag value of 27.
  STEP 3: Place 3 sprites in this sector: one activator, one sector
          effector, and one GPSpeed sprite.
  STEP 4: Place a trigger (Touchplate or switch) somewhere in your level,
          and give it a unique lotag value.
  STEP 5: Give the activator sprite a lotag value equal to the switch lotag
          value.  Give the sector effector a hitag value equal to the switch
          lotag value.  Also give this sector effector sprite a lotag value
          of 20.  Point the sector effector sprite in the direction that you
          want to stretch the sector.  Now give the GPSpeed sprite a lotag
          value equal to the distance that you want the sector to stretch (a
          value of 1024 is equal to the largest grid square in Build).

4.5.4 Conveyor Belts & Water Current
      Map Name: TUTORIAL.MAP (ROOM 3-C)

      This effect is used to create conveyor belts and water currents.

  STEP 1: Create the conveyor belt sector(s).
  STEP 2: Place one sector effector sprite in each sector, and change the
          angle of the sprite to the direction that you want the movement
          to go.  Give the sector effector sprites a sprite lotag value of
          24.
  NOTE 1: The floor texture may need to be flipped (with the [F] key) or
          placed in relative alignment (with the [R] key) if you are using
          an animated texture (so that the texture animates in the proper
          direction).
  NOTE 2: To make the movement of the sectors go faster, simply place one
          GPSPEED sprite in each sector, giving it a sprite lotag value
          of the speed you want it to travel (higher numbers mean faster
          speeds - 64 and 128 are common values).
  NOTE 3: To create a water current, follow the same steps above, and
          simply give each sector a sector lotag value of 1.
  NOTE 4: To create switch operated conveyor belts, place a switch in your
          level and give it a unique lotag value.  Give the sector effector
          sprite (with the lotag value of 24) the same hitag value as the
          switch lotag value.

4.5.5 Making Curtains Draw Back
      Map Name: TUTORIAL.MAP (ROOM 3-D)

      This effect makes curtains draw back when a switch is flipped (much
      like in the movie theater in episode 1, level 1).

  STEP 1: Create your curtain sector.  It should be valid player space. For
          best visual effects, it is advised to lower the ceiling of the
          sector almost, but not all the way, down to the floor (look at the
          tutorial map to see how it should look).  Give the curtain sector
          a sector lotag value of 27.
  STEP 2: Place a switch sprite somewhere in your level, and give it a
          unique lotag value.
  STEP 3: Place one sector effector sprite, one GPSpeed sprite, and one
          activator sprite in the curtain sector.
  STEP 3: Give the sector effector sprite a lotag value of 20, and a hitag
          value equal to the switch lotag value.
  STEP 4: Give the activator sprite a lotag value equal to the switch lotag
          value.
  STEP 5: Give the GPSpeed sprite a lotag value equal to the distance that
          the curtain sector will travel.  A value of 1024 is equal to the
          largest grid square in Build.
  STEP 6: If the ceiling of your curtain sector does not touch the floor of
          the sector, make sure you set the floor texture to relative
          alignment (by pressing the [R] key in 3D mode on the floor).
  NOTE 1: Make sure that your curtain sector does not travel into the wall
          it is joined to, or a hall of mirrors (HOM) effect will occur.

4.5.6 The Pool Table
      Map Name: NONE

      The pool table (as found in episode 1, level 2) is a great effect to
      add to almost any level.  It is simply 2 rectangular sectors, raised
      to a realistic height.  The pocket sprite (#903) is placed on the
      table in the places that the pockets are found, and the ball sprites
      (#901 and #902) are also placed on the table.  No special tags or
      other values are needed (just make sure to set the palette of the
      pool balls to different values, so the balls don't all look the same).

4.5.7 Fish Tanks
      Map Name: NONE

      The fish tank is quite easy to make.  Simply create the tank itself
      (which is comprised of sectors and masked walls (with the glass
      texture set on them)), and give the water sector a sector lotag of 2.
      Then place the appropriate sprites (sharks, underwater plants, etc.)
      in the tank.  NOTE: Sharks can bite the player through the glass.

---------
4.6 WATER
---------

4.6.1 Submergible Water
      Map Name: TUTORIAL.MAP (ROOM 3-E)

      Submergible water is a neat effect, and easy to make.

  STEP 1: Create your "source sector" (i.e. - the above water sector).  Give
          this sector a sector lotag value of 1 (by pressing the [T] key
          inside the sector in 2D mode and entering in the value).
  STEP 2: Create a "destination sector" (i.e. - the below water sector).
          Give this sector a sector lotag value of 2.
  NOTE 1: The destination sector should be *exactly* the same size and shape
          as the source sector.  If it is not, the effect will not work
          properly.
  STEP 3: Place one sector effector sprite in the source sector.  Also,
          place
          one sector effector sprite in the destination sector.  The sprite
          in the destination sector must be in the *exact* same place as it
          is in the source sector.
  STEP 4: Give both sprites a lotag value of 7.  Then give both sprites the
          same, unique hitag value.  You're done - Take a look at the
          tutorial map if you don't quite understand.

4.6.2 Sloped Water Surfaces
      Map Name: TUTORIAL.MAP (ROOM 3-F)

      To make it possible to submerge into an underwater area with a sloped
      floor, simply place the sector effector sprite in the underwater
      sector near the lowest point (the axis line) of that sector.  Do not
      place the sector effector sprite on the axis line itself.

4.6.3 Swimming in Slime
      Map Name: TUTORIAL.MAP (ROOM 3-G)

      To create an underwater area resembling slime, simply give the sector
      effector sprite in the underwater sector a palette value of 8.  This
      is done by pressing the [ALT]+[P] keys on the sprite in 3D mode.

4.6.4 Making Waves
      Map Name: TUTORIAL.MAP (ROOM 3-H)

      To have waves work properly, you must follow a preset rule.  This rule
      isn't too complex, but it must be followed.

  RULE 1: The wave sector(s) must be four-sided.  If they are not, the
          wave will not work correctly.
  STEP 1: Create several four-sided sectors (side by side - they should
          share a red line with their adjacent sector).  Lower these sectors
          so that they are in their lowest position.  Give each sector a
          sector lotag value of 1.
  NOTE 1: If you want the waves to be sloped, remember to set your first
          wall on these sectors.  The first wall should be the same on all
          of the sectors for it to look right.
  STEP 2: Place one sector effector sprite in each sector that you created.
          Give each sprite a lotag value of 29.  Then give each sprite any
          hitag value between 0 and 2047.  This hitag value is the starting
          height of the wave.
  STEP 3: Place one GPSpeed sprite in each sector, and give it any lotag
          value between 0 and 2047.  This value is the height of the
          wave after it starts.
  NOTE 2: If the waves are too high, Duke will not be able to stay afloat
          (provided that the sector is submergible).
  NOTE 3: Wave sectors can be made into submergible sectors by following
          the standard guidelines for submergible water.

4.6.5 The Rising Water Effect
      Map Name: TUTORIAL.MAP (ROOM 3-I)

      This interesting effect simulates water rushing into an area and
      slowly rising (as it would realistically do).

  STEP 1: Create a submergible water area (one above water and one below
          water sector).  See the submergible water how-to for the
          instructions on the construction of this effect.
  STEP 2: Create a sector that the player will pass through, and place one
          Touchplate sprite in this sector.  Give this sprite a hitag value
          of 1 and a unique lotag value.
  STEP 3: For the "source sector" (the above-the-water sector), place the
          following sprites: 1 sector effector, 1 Masterswitch, and 1
          GPSpeed.
  NOTE 1: The GPSpeed sprite is purely optional, but is used in slowing the
          rising effect of the water.
  STEP 4: Give the sector effector sprite a lotag of 31, and a hitag value
          equal to the Touchplate lotag value.  The angle of this sprite
          should also face upwards.
  STEP 5: Give the Masterswitch sprite a lotag value equal to the Touchplate
          lotag value.
  STEP 6: Give the GPSpeed sprite any lotag value you want (the higher the
          number, the faster the water rises; the lower the number, the
          slower the water rises).
  STEP 7: The "above-the-water" sector should look as if the water has not
          yet risen.  Raise the sector effector sprite (with the lotag of
          31) to the height that you want the water to rise to (the water
          will rise to the bottom of the sector effector sprite).
  STEP 8: Place the following sprites in the "under-the-water" sector: 1
          sector effector sprite, 1 Masterswitch sprite, and 1 GPSpeed
          sprite.
  NOTE 2: Again, the GPSpeed sprite is purely optional, but is used in
          slowing the rising effect of the water.  The rate for this sprite
          should also be the exact same as in the "above-the-water" sector.
  STEP 9: Make sure that the underwater sector looks as if the water has
          already risen.
  NOTE 3: It is best if the ceiling of this sector is exactly as high as the
          rising height of the floor in the "above-the-water" sector.
  STEP 10: Give the sector effector sprite you placed in step 8 a lotag
           value of 32, and leave the hitag value as 0.  The angle of this
           sprite should be down, and this sprite should be raised to the
           height that you want the water in this sector to *start* at.
  STEP 11: Give the Masterswitch sprite placed in step 8 the same lotag
           value as the Touchplate lotag value.
  STEP 12: Give the GPSpeed sprite any lotag value you want (the higher the
           number, the faster the water rises; the lower the number, the
           slower the water rises).
  STEP 13: Enter 3D mode while in the "under-the-water" sector and press the
           [O] (the letter o, not the number zero) key on all the walls in
           this sector.  If you do not do this, the effect will look rather
           unrealistic.  You are now finished - take a look at the tutorial
           map if you do not understand.

4.6.6 Level Over Level Water Trick
      Map Name: TUTORIAL.MAP (ROOM 4-A)

      This is an extremely cool effect, and was originally designed by Ben
      Roffelsen.  This effect consists of two individual how-tos, joined
      together in an interesting way.  Using level over level techniques and
      submergible water, a "true submergible water effect" can be
      constructed (i.e. - when you look at the map in the game, and you
      submerge into the water, you will not 'teleport' to another sector,
      but will appear as if you are still in the same area (which you are)).

      Read through this entire how-to before constructing this effect.  Some
      things you might want to consider are towards the end of this how-to.

  STEP 1: Construct the submergible water effect (one above-water sector and
          one below-water sector).  These two sectors should be the exact
          same size and shape.
  NOTE 1: The floor of the above-water sector should be higher than the
          ceiling of the below-water sector.  If this rule is not followed,
          this effect will not work.
  STEP 2: Select the above-water sector (using the right [ALT] key and
          dragging with the mouse pointer to form the selection box).  Turn
          off grid lock by pressing the [G] key.  Move the selected sector
          over the below-water sector.  Make sure that the vertices of the
          above-water sector are as close as they can be without being
          directly on top of the vertices of the below-water sector.
  NOTE 2: Turning the grid lock off is required.  If the vertices of the
          above-water sector are exactly where the vertices for the below-
          water sector are, the sectors will join, and the whole
          construction will be ruined (you'll have to start over).
  STEP 3: Now create a passage from the lower level (where the below-water
          sector is located) to the upper level (where the above-water
          sector is located).  Take a look at the tutorial map to see how
          I did it.
  NOTE 3: You may want to create the passage before moving the above-water
          sector.  This may make it easier to connect the passage with
          another part of your level.

     You are now complete.  Take a look at the tutorial map to see exactly
     how this effect was created.

4.6.7 Timed Underwater Airlocks (Complex)
      Map Name: AIRLOCK.MAP

      Due to the complexity of this effect, I have only provided this effect
      as a tutorial map.  The map was created by Gijs de Vries, and uses a
      two-way train for timing.  The map shouldn't be too hard to pull
      apart.

4.6.8 Rising Water on Sloped Surfaces (Complex)
      Map Name: SLOPEWTR.MAP

      Due to the complexity of this effect, I have only provided this effect
      as a tutorial map.  The map was created by Gijs de Vries.  This is an
      advanced effect, so take your time in pulling it apart.

--------------------------
4.7 WALLS AND WALL EFFECTS
--------------------------

4.7.1 Masked Walls
      Map Name: NONE

      To make a masked wall, point the cursor at the general location that
      you want the mask to be (the mask must be placed on an existing red
      line somewhere in the level), and press the [M] key.  It is advised
      that you point at the floor and not at the ceiling when placing the
      masked wall.  Now you can change the texture, shade, shift, and most
      anything else about the mask.  Just remember that a masked wall has
      *two* sides, and both sides must be edited.

4.7.2 One-Way Walls
      Map Name: NONE

      One-way walls are just as easy to create as masked walls.  Do the
      exact same thing as you do in the masked walls how-to, this time
      pressing the [1] key.  This time your mask will only have 1 side to
      edit, not 2.  The other side will be invisible, so make sure you have
      the invisible side on the side you want it to be.  The side on which
      you press the [1] key will be the visible side.

4.7.3 Forcefields and Controlling Them
      Map Name: TUTORIAL.MAP (ROOM 4-B)

      Forcefields are an effect that has many uses, but are easy to make.
      To construct a forcefield, follow these steps:

  STEP 1: Create a masked wall where you want the forcefield to be.
  NOTE 1: This mask should not be on a wall where the player can see the
          wall itself.  Doing so causes the wall texture to shift, which
          makes the effect quite ugly.  Create one buffer sector on either
          side of the forcefield to prevent the player from seeing this
          problem.  Take a look at forcefield #1 in the tutorial map
          to see this error in action.  Then look at forcefields #2 and #3
          to see the "buffer sectors" that make the effect non-visible.
  STEP 2: Change the texture of this mask to one of the following:
          BIGFORCE - Tile #230
          W_FORCEFIELD - Tile #663
  NOTE 2: The BIGFORCE tile is used to make forcefields that are invisible
          during the game, and which do not hurt the player when they player
          touches them.  The W_FORCEFIELD tile is used to make forcefields
          that flicker (you can see them), and the player does get hurt
          when they touch the forcefield.  Forcefields made with the 
          W_FORCEFIELD texture cannot be made invisible.  In the tutorial
          map, forcefields #1, #2, and #4 are made with the W_FORCEFIELD
          texture, while forcefield #3 is made with the BIGFORCE texture.
  STEP 3: While in 3D mode, press the [B] and [H] keys on the masked wall.
          This makes the masked wall block you and other characters from
          walking through the wall, and it makes bullets "hit" this wall.
  STEP 4: Now point at the mask in 3D mode and press the [M] key.  The
          mask will disappear, but all the attributes are left the same.
          You must do this, so that the forcefields will appear in the game.
  
          MAKING THE FORCEFIELD SWITCH OPERATED
          -------------------------------------

  NOTE 1: You should only make forcefields using the W_FORCEFIELD texture
          operated by a switch.  That way you can actually see if the
          forcefield is on or off.
  STEP 1: Give the masked wall a unique lotag.
  STEP 2: Place a switch somewhere in your level and give it the exact same
          lotag value as the masked wall.

4.7.4 Wall Information

      Although they seem basic enough, walls have several hidden features
      that make them a little more complex than generally thought.  The
      first thing that should be mentioned is two sided walls.  Two sided
      walls appear as red lines in 2D mode, and they have two completely
      separate sides with completely unrelated attributes.  If you set the
      shade of one side of a two sided wall to 10, the other side will still
      be zero (or whatever the default for that wall was).  This also means
      that two sided walls have four tags: 2 hitags and 2 lotags (1 each for
      either side).  Below is a list of wall tags and what they can do.

      Hitag = 1 ; Lotag = 0
      A hitag of one is a pretty complex subject. When you give a wall a
      hitag of 1, the wall is EXCLUDED from a certain function or effect.
      I've only seen this tag used in lighting effects such as flickering
      lights, flickering lights when shot, and light switches. If you have
      a sector that is brightened by a light, and you want to exclude a
      wall in the sector from being bright, give it a hitag of 1.  This is
      particularly effective in using the "open door, room lights up"
      effect. Use this to force the door to stay dark while the room
      lights up.   This is a quite useful tag.

      Hitag = 0 ; Lotag = X
      Giving a wall a lotag value of X (any number you want), in addition to
      any "doortile" texture, will transform a door into a "switch".  An
      example of this tag can be seen in Episode 1, Level 2, at the entrance
      to the book store.  The revolving door uses a certain sector-effector
      sprite and a sector tag to make it revolve.  This sector effector and
      sector tag are run by way of an activator. Let's assume that the lotag
      of the activator is 12. You would give the walls of the door a lotag
      of 12, so when the player presses space on the door, the sector
      effector sprite function is called, and the effect takes place. This
      can be used in many different ways.

      So what is a "doortile" texture?  It's simply a texture with the name
      doortile appended to it.  The available doortile textures are as
      follows:

      #150 through #159, #395, #447 through #449, #717, #781, #1102, #1144,
      #1169, #1178, #1179, and (only in versions 1.4 and 1.5) #4391.

-----------
4.8 MIRRORS
-----------

4.8.1 Mirrors
      Map Name: MIRRORS.MAP (ROOM #1)

      Mirrors are basically a one-way wall that uses the mirror texture,
      which is texture #560.  Some funny stuff exists with mirrors, but
      when made properly, they can be a great addition to any level.

  STEP 1: Create a one-way wall where you want the mirror to be placed.
          Remember that one-way walls can only be made on red lines in 2D
          mode.  They are created by pressing the [1] key in 3D mode where
          you want the mirror to go.  Change the texture of this one-way
          wall to texture #560.  If you have created this one-way wall
          correctly, you will not be able to see through the mirror texture
          (you will only see a pink background).
  NOTE 1: This mask should not be on a wall where the player can see the
          wall itself.  Doing so causes the wall texture to shift when the
          mirror is broken by an explosive weapon, which makes the effect
          look quite ugly.  Create one buffer sector on either side of the
          mirror to prevent the player from seeing this problem.  Take a
          look at the mirror in the tutorial map to see to see the "buffer
          sectors" that make the effect non-visible.
  STEP 2: Create a sector behind the mirror (on the opposite side from
          which the player will view the mirror), and make it *quite* large.
  STEP 3: In 3D mode, press the [B] and [H] keys when the mouse pointer is
          over the mirror.  This makes the mirror breakable and it can be
          hit by Duke's weapons.
  STEP 4: If you want Duke to say "Damn, I'm looking good" when you press
          the space bar while looking into the weapon, give the side of the
          mirror that the player will look into a wall lotag of 252.  You
          can do this in 3D mode, by pressing the [']+[T] key on the mirror
          texture, and entering the value.  Or you can do it in 2D mode by
          moving the mouse pointer to the side of the mirror the player will
          be on, and pressing the [ALT]+[T] key (make sure the grid is
          turned off).  You're now done - Take a look at the tutorial map if
          you don't quite understand.

4.8.2 Problems and Solutions with Mirrors
      Map Name: NONE

    PROBLEM  : My mirror doesn't show bullet holes when shot.
    SOLUTION : Make sure you are pressing the [1] key in 3D mode (to make a
               one-way mask) instead of the [M] key.  Also make sure that
               the hitscan flag (press [H] on the mirror in 3D mode) is set.

4.8.3 Making the Two Way Mirror
      Map Name: MIRRORS.MAP (ROOM #2)

      This effect allows a 2 way mirror to be made (i.e. - you can go behind
      the mirror and look through it to the other side).

  STEP 1: Create a mirror as described in the mirror how-to.
  STEP 2: Create two very thin sectors that run parallel with the mirror
          (one on one side of the mirror, and one on the other side of the
          mirror).  Make sure that these sectors are very thin, because they
          will contain the "Hall of Mirrors" effect, and you want this to be
          as unnoticeable as possible.
  STEP 3: Create some way to access the area behind the mirror.  Now you are
          finished with the construction.  Take a look at the tutorial map
          if you don't quite understand.

---------------
4.9 TELEPORTERS
---------------

4.9.1 Teleporters
      Map Name: TUTORIAL.MAP (ROOM 4-C)

      Teleporters are one of the most popular effects to construct, and are
      quite easy.

  STEP 1: Create a sector that the player will start from.  This will be
          known as the "source" sector.
  STEP 2: Create another sector where the player will exit from.  This will
          be known as the "destination" sector.
  STEP 3: Place one ST1 sprite in both the source and destination sectors.
          The angle of these sprites is the angle in which the player will
          face upon teleporting to that particular sector.  Give both sector
          effector sprites the same, unique hitag value, and a lotag value
          of 7.
  NOTE 1: The source and destination sectors do not have to be the exact
          same size for this effect to work properly.

4.9.2 Sewer Holes & Silent Teleporters
      Map Name: TUTORIAL.MAP (ROOM 4-D)

      This effect is the exact same as the regular teleporting effect, with
      the only exception being that no sounds or animations are made upon
      teleporting from the source to the destination sectors.  We will
      construct a square sewer hole for this example.

  STEP 1: Create your source sector and lower the floor down to the point
          that you cannot see it when looking down (I'm assuming that you
          are starting on the upper level).
  STEP 2: Create your destination sector and raise the ceiling up to the
          point that you cannot see it when looking up.
  NOTE 1: The source and destination sectors should be *exactly* alike in
          order for this effect to look its best.
  STEP 3: Place one sector effector in both the source and destination
          sectors.  Give both sprites the same, unique hitag, and give them
          both a lotag value of 7.  Lower the sector effector in the source
          sector down to the bottom of the hole (use [CTRL]+[PGDN] to do
          this quickly).  Raise the sector effector in the destination
          sector to the top of the hole (this time use [CTRL]+[PGUP]).
  NOTE 2: The angle of the sector effectors does not need to be changed.
          The player's angle upon entry of the source sector is the same
          when he exits the destination sector.
  STEP 4: Raise the sector effector in the source sector up off of the
          ground.  A few [PGUP] units will do fine (5 or 6 seem to work).
  STEP 5: Lower the sector effector in the destination sector down from the
          ceiling.  A few [PGDN] units will do fine (5 or 6 seem to work).
          You're finished!  Take a look at the tutorial map if you don't
          quite understand.

4.9.3 One Way Teleporters (Version 1.4 or 1.5 Required)
      Map Name: ATOMIC.MAP (ROOM #1)

      One way teleporters are a new effect available in versions 1.4 and 1.5
      of Duke Nukem 3D, and they are quite useful.  Follow these steps to
      make this effect work properly:

  STEP 1: Place one sector effector sprite in the sector that the player
          will enter *first* (the teleporting sector).  Give this sprite
          a lotag value of 7 and a unique hitag value.
  STEP 2: Place one sector effector sprite in the sector that the player
          will teleport to.  Give this sprite a lotag value of 23, and a
          hitag value equal to the sector effector hitag in step 1.  The
          angle of the sprite is the direction the player will face upon
          being teleported.  If you do not want the flash or teleporting
          sound effects to play when teleported to this second sector
          effector, change the palette of the sprite to anything above 0.
          If you do want them to play, leave the palette as 0.

4.9.4 Version 1.3D One Way Teleporters
      Map Name: TUTORIAL.MAP (ROOM 4-E)

      This is a way to fool the game into making a one way teleporter
      in version 1.3d of the game.

  STEP 1: Create your source teleporting sector.  Place one sector
          effector sprite in this sector, giving it a lotag value of 7
          and a unique hitag value.
  STEP 2: Place one sector effector sprite where you want the player to
          exit.  Give it the same unique hitag as the sector effector
          sprite in step 1, and give it a lotag value of 7.  Then, lower
          this sprite into the ground until you can no longer see it.
          Take a look at the tutorial map if you do not understand.

---------------------
4.10 ENDING THE LEVEL
---------------------

4.10.1 Nuke Buttons
       Map Name: NONE

       The Nuke Button sprite (#142) is the sprite that you hit to end the
       current level.  Simply place it on a wall and give it a lotag value
       of 32767.  To link a Nuke Button sprite to a secret level, change the
       palette value of the sprite to 14, and change the lotag value to the
       level number you want to go to next (if the secret level is level
       number 9, you would make the lotag value equal to 9).

       NOTE: Nuke buttons can also use lotag values of 65535 and 65534 to
       end the current level.

4.10.2 Ending Sectors
       Map Name: NONE

       This allows the player to end a level by walking onto a sector (you
       don't have to press the Nuke Button).  Simply give the sector you
       want the player to end the level on a sector lotag value of 65535 (by
       pressing [T] on the sector in 2D mode).

4.10.3 Ending Sectors with Messages
       Map Name: NONE

       Remember in Episode 1, Level 3 where Duke gets trapped by the aliens
       and the message "We're gonna fry your ass Nukem!" appears?  To
       create the same effect in your level, simply give the ending sector
       a lotag value of 65534.  The same message as above will appear on
       screen.

       Also, give the sector a hitag value of the sound number that you
       wish to play (when the player walks on this sector).

-------------------
4.11 SWITCH EFFECTS
-------------------

4.11.1 Doors With Switches
       Map Name: TUTORIAL.MAP (ROOM 4-F)

       To make a door open by toggling a switch, follow these steps:

  STEP 1: Make the door itself.
  STEP 2: Place a switch sprite somewhere in your level, and give it a
          unique lotag value.
  STEP 3: Place one activator sprite (#2) in the door sector and give it the
          same lotag value as the switch.  If you only want the switch to
          work a fixed number of times, give the activator sprite a hitag
          value equal to the number of times you want the switch to work.
  NOTE 1: It is strongly advised *not* to make this type of door an
          auto-closing door.

4.11.2 Combination Door Switches
       Map Name: TUTORIAL.MAP (ROOM 4-G)

       To make a door open only when a certain combination of switches is
       set, follow these steps:

  STEP 1: Make the door itself.
  STEP 2: Place one ActivatorLocked sprite in the door sector.  Give it a
          unique lotag value.
  STEP 3: Place a number of "dipswitch" sprites (sprites #162, #164, #166,
          and #168) somewhere in your level.  Give each sprite the same
          lotag value you gave the ActivatorLocked sprite.  Now give the
          sprites that need to be "on" in the game a hitag of 1.  When these
          switches are turned to the "on position", the door will then open.

4.11.3 Another Version of Combo. Switches (Version 1.4 or 1.5 Required)
       Map Name: ATOMIC.MAP (ROOM #2)

       Another version of Combination switches is available in versions 1.4
       and 1.5 of Duke Nukem 3D.  The only thing that is different in this
       version is the sprite that you need to use for the switches.  The new
       sprite is a red shooting target (#4359).  Just substitute this sprite
       for the "dipswitch" sprites used in section 4.54.  Then, set the
       angle of the sprite to the direction that you want the target to "lay
       down" (the angle should be opposite of the player's viewpoint in the
       game).  Also, make sure that the sprites are flat (i.e. - press the
       [R] key on each sprite once).

       NOTE: These sprites should *not* be on a wall, but should be sitting
       in a sector somewhere (where they can fall over).  You can put them
       on a wall if you want, but it would look rather unrealistic.

4.11.4 Multi-Door Switches
       Map Name: TUTORIAL.MAP (ROOM 4-H)

       This is a useful effect for limiting which rooms a player can enter
       into at the same time.  Just follow these simple steps:

  STEP 1: Make 3 doors and give them appropriate textures and sounds.  Make
          sure that you *DO NOT* place auto-closing sector effector sprites
          in any of these doors!  This can cause some major problems.
  STEP 2: Place the multi-switch sprite (#146) somewhere in your level, and
          give it a unique lotag value.
  STEP 3: Place *two* activator sprites in each door sector (you should have
          six activator sprites in this effect altogether).  You now must
          give these activator sprites the right tags.  The following list
          should help you in tagging these doors properly.

  NOTE 1: The letter X in the table below is the unique value you gave the
          multi-switch sprite in step 2.
  NOTE 2: The first number below is the hitag value, and the second number
          is the lotag value.

                        Door 1    Door 2    Door 3
          Activator 1   (0,X)     (0,X+1)   (0,X+2)
          Activator 2   (0,X+1)   (0,X+2)   (0,X+3)

----------------
4.12 C-9 EFFECTS
----------------

4.12.1 C-9 Canisters (Visible)
       Map Name: TUTORIAL.MAP (ROOM 5-A)

       C-9 is what creates the majority of choreographed explosions in Duke
       Nukem 3D.  To create an explosive can, simply place a sprite where
       you want the can to be.  Change it to either the C-9 sprite (#1247),
       the OOZFILTER sprite (#1079), or the exploding barrel sprite (#1238).
       If you want to place explosive underwater mines, place the BOUNCEMINE
       sprite (#940).  If you own version 1.4 or 1.5 of Duke Nukem 3D, you
       can use the GUNPOWDERBARREL (#4360) as well.

4.12.2 Switch Operated Explosions
       Map Name: NONE

       This effect allows you to choreograph explosions and set them
       off via a switch.

  STEP 1: Place a switch sprite somewhere in your level.  This will be
          where you set off the explosion from.  Give the switch sprite
          a unique lotag value.
  STEP 2: Place one Masterswitch sprite in *every* sector that you want
          an explosion to take place in.  Give every single Masterswitch
          sprite the same lotag value that you gave the switch.  If you
          want to create a delay between flipping the switch and the
          first explosion, give the Masterswitch a hitag value of the
          delay you wish to have.
  STEP 3: Place C-9 sprites (#1247) everywhere you want an explosion to
          take place.  You can raise the sprites to where you want,
          creating some nicely choreographed explosions.
  NOTE 1: Placing a large number of C-9 sprites can cause your computer
          to slow drastically if you are running on a slower processor.
  STEP 4: Shrink each C-9 sprite as far as you can width wise.  This can
          be done by using the [5]+[4] key combination on the *numberpad*.
          When the sprites shrink no farther, you know that you are as
          small as you can get.
  STEP 5: Give every C-9 sprite a hitag value equal to the lotag value
          that you gave the switch in step 1.
  STEP 6: Now give each C-9 sprite any lotag value that you want.  The
          lotag value for each C-9 sprite is the delay that the C-9
          will wait before exploding.
  NOTE 2: A lotag value of 0 on the C-9 sprites will cause these
          sprites to *not* explode.  Make sure that the lotag value is
          greater than 0.
  NOTE 3: A lotag value of 96 is roughly one second.  Experiment to find
          out what is best for your situation.

4.12.3 Touchplate Activated Explosions
       Map Name: TUTORIAL.MAP (ROOM 5-A)

       To create Touchplate activated explosions, follow the exact same
       procedure in the above section (switch operated explosions).
       The only change here is that you replace the switch sprite with
       a Touchplate sprite.

4.12.4 Cracked Walls
       Map Name: TUTORIAL.MAP (ROOM 5-B, HOLE #1)

       This effect is what allows the player to launch some sort of
       explosive at a crack in a wall, generally forming a hole in the wall
       in which the player can walk through.

  STEP 1: Create your "hole" sectors where you want the hole to be.  They
          all should be valid player space.  You can use as many sectors as
          you want, but the more sectors you use, the more work you will
          have to put into this construction.  Make this hole look like you
          want it to look *after* the explosion has occurred.  You can tilt
          the floor and ceiling as much as you want as well.
  NOTE 1: The floor and ceiling should fit perfectly when lowered together
          (i.e. - the slope amount for each should be the *exact* same).
          This is not required, but it certainly makes the effect look
          better.
  STEP 2: Place a crack sprite (#546, #547, #548, or #549) on the wall in
          front of the hole sectors.  Give the crack sprite a unique hitag
          value.
  NOTE 2: It is recommended to make the crack sprite slightly transparent.
          This can be done by pressing the [T] key on the sprite while in
          3D mode.
  STEP 3: Place one sector effector sprite in each hole sector.  Give each
          sprite the same hitag value that you gave the crack sprite.  Now
          give each a lotag value of 13.
  STEP 4: Place C-9 sprites throughout your hole if you want to have
          explosions when the hole is blown open.  If you do not wish to
          have any explosions take place, skip this step.  Shrink each C-9
          sprite as far as you can width wise (with the [4]+[5] key
          combination on the *numberpad*).  When the sprites shrink no
          farther, you know that you are as small as you can get.  Give
          each C-9 sprite the same hitag value that you gave the crack
          sprite.  Now give each C-9 sprite a lotag value equal to the
          delay that you want the C-9 to have before exploding.
  STEP 5: You are now completely finished!  Take a look at the tutorial
          map if you do not fully understand.

4.12.5 Fixing The 'Texture Problem'
       Map Name: TUTORIAL.MAP (ROOM 5-B, HOLE #2)

       This is a common problem that occurs when making cracked walls and
       it can make a level look very ugly.  The problem is that, when a
       cracked wall is blown up, the textures above and below the hole
       misalign.  To fix this problem, simply press the [O] (the letter o,
       not the number zero) key on the misaligned walls in 3D mode.  The
       problem will correct itself, and will be correct in the game.  The
       tutorial map shows the effect with this problem, and without this
       problem.  Note that no aligning is needed on the textures at all.

4.12.6 Making the Ceiling Blow Up (And Enemies Fall From the Sky!)
       Map Name: TUTORIAL.MAP (ROOM 5-C)

       First seen in Episode 1, Level 2, this effect is one of the coolest,
       and one of the most complex effects there is.  When constructed
       correctly, this effect can look *quite* nice.

  STEP 1: Construct the sector that will explode.  Make it look as if the
          explosion has already taken place.  The ceiling for this sector
          should have a parallaxed sky, and this texture *MUST* appear
          in at least one other place on the map.  If it does not, this
          effect will not work correctly!  If you are not using parallax
          in your level, simple parallax the ceiling of the sector you
          will make in step 3.
  STEP 2: Place one Touchplate sprite in the sector that you want to
          trigger the explosion from.  Do *not* place this Touchplate in
          the sector that will explode.  Give this Touchplate sprite a
          hitag value of 1 and a unique lotag value.
  STEP 3: Create a small sector in an area of your map that will never be
          accessed by the player (i.e. - this sector should be by itself in
          the corner of your map or somewhere of the sort).  In this sector,
          place one C-9 sprite.  Give this C-9 sprite a hitag value equal to
          the lotag value of the Touchplate, and leave the lotag set as 0.
          Also place one Masterswitch sprite in this sector.  Give this
          Masterswitch sprite a lotag value equal to the Touchplate lotag
          value, and leave the hitag value set at 0.
  STEP 4: Place 2 sector effector sprites in the sector that will explode.
          Give one of these sprites a lotag value of 33, and leave the hitag
          set at 0.  Then give the other sprite a lotag value of 13 and a
          hitag equal to the Touchplate lotag value.  Raise the sprite with
          the lotag of 33 as far up as it goes (press [CTRL]+[PGUP] to do
          this).  Raise the sprite with the lotag of 13 to the height of the
          ceiling of the surrounding sector.  This part can be tricky, as
          you must make the sector effector with lotag of 13 *exactly* as
          high as the ceiling of the surrounding sector, or it won't look
          right.
  NOTE 1: The angle for the sector effector sprite with the lotag of 13
          should be straight down.  If it is not, this effect will not
          work properly.
  STEP 5: Place a few Respawn sprites (#9) in the sector that will explode,
          giving each a lotag value equal to the Touchplate lotag.  Give
          each a hitag value equal to the sprite number that you wish to
          spawn.  Raise each sprite up to the ceiling level.
  STEP 6: Place one more sector effector sprite in the sector that will
          explode and give it a hitag equal to the Touchplate lotag.  Also
          give this sprite a lotag of 8.  This simulates the effect of light
          coming in through the hole, so make sure that the surrounding
          sector shade and the shade of the exploding sector is darker than
          0.  Leave the shade of this sprite set at 0 (it isn't required to
          be left at zero - just as long as the shade is brighter than the
          surroundings).
  STEP 7: Place some C-9 sprites in the sector that will explode.  Give them
          a hitag equal to the Touchplate lotag, and a lotag equal to the
          delay you wish them to wait before exploding.  Raise these to any
          height that you want.  Be sure to shrink them all the way width-
          wise with the [4]+[5] key combination on the numberpad.  You are
          now finished!  Take a look at the tutorial map if you do not
          fully understand.

-------------------------------
4.13 SECTORS THAT RISE AND FALL
-------------------------------

4.13.1 Lifts
       Map Name: TUTORIAL.MAP (ROOM 5-D)

       Lifts are what make up most kinds of elevators, and are pretty useful
       when it comes to level designing.

  STEP 1: Create your lift sector.
  NOTE 1: The lift sector must have an adjacent sector that is higher than
          the lift in its lowest position.  So when the lift is all the way
          down, there must be an adjacent sector whose floor is higher than
          the lift itself.  If this is not the case, the lift will not work
          properly.
  STEP 2: Give the lift sector one of the following sector lotag values (by
          pressing the [T] key while the cursor is over the sector in 2D
          mode):
                 16 - Starts in raised position & comes down.
                      Stationary ceiling.
                 17 - Starts in lowered position & goes up.
                      Stationary ceiling.
                 18 - Starts in raised position & comes down.
                      Ceiling and floor move together.
                 19 - Starts in lowered position & goes up.
                      Ceiling and floor move together.
  STEP 3: For proper elevator sound effects, place one Music&SFX sprite (#5)
          in the lift sector.  Give this sprite a lotag value of 71 and a
          hitag value of 73.
  NOTE 2: Lifts can be slowed down by adding a GPSpeed (#10) sprite to the
          lift sector.  The lotag value for this sprite is the speed, with
          higher values being faster.
  NOTE 3: Lifts who have a white wall as one side of the lift, and who use
          sector tags 18 or 19, will cause the texture on the white wall to
          move with the lift.  There is no way around this.

4.13.2 Switch Operated Lifts
       Map Name: SWLIFT.MAP

       Lifts can be operated by switches only, which can be quite useful in
       some cases.  It is recommended to take a look at the tutorial map
       (thanks to Jack Gutzler AKA Captain Massive for this map) to see how
       things work reliably.

  STEP 1: Construct your lift.
  STEP 2: Place one activator sprite (#2) in the lift sector.  Give this
          sprite a unique lotag value.
  STEP 3: Place one switch somewhere near the elevator.  Give this switch
          sprite the same exact lotag value that you gave the activator.
  NOTE 1: Only a few switch sprites seem to work with this effect.  Take a
          look at the tutorial map to see which ones work.

4.13.3 Locked Lifts
       Map Name: TUTORIAL.MAP (ROOM 5-E)

       Lifts can also be locked, creating some very cool possibilities for
       puzzles and tricks.

  STEP 1: Construct your lift.
  STEP 2: Place one ActivatorLocked sprite (#4) in your lift sector.  Give
          this sprite a unique lotag value.
  STEP 3: Place a keycard lock sprite somewhere in your level, and give it
          the same lotag value that you gave the ActivatorLocked sprite.
  STEP 4: Set the palette of the keycard lock to your desired color.

4.13.4 Elevator Transports
       Map Name: TUTORIAL.MAP (ROOM 5-F)

       Elevator transports are a neat way to simulate true level over level,
       but they can be a pain to get just right.  This effect simply warps
       you from one lift sector to another, making it appear that a true
       elevator has been used.

  STEP 1: Construct your elevator sectors.  Both sectors must be the *exact*
          size, shape, and the ceiling must be the *exact* distance from the
          floor in each sector.  Also make sure that your texturing and
          shading is the same (to make this effect look realistic).
  STEP 2: Place one sector effector sprite in each elevator sector, and
          place each sprite in the *exact* same spot of each elevator (the
          sprite in the first elevator should be in the same position in
          relation to the elevator sector as the sprite in the second
          elevator).  Give both sprites a lotag value of 17, and give both
          sprites the same, unique hitag.
  STEP 3: Change the shade value of the sector effector sprite in the
          starting elevator (the one that the player will enter first) to
          any value darker than the other sector effector sprite in the
          ending elevator.  64 is a good value.
  STEP 4: Give both elevator sectors a sector lotag value of 15 (by pressing
          the [T] key in the sector in 2D mode).  Now, give the sector that
          the player will end on a hitag value of 1.  You are now finished.
          Take a look at the tutorial map if you still need some help.

4.13.5 Constructing Destructible Buildings
       Map Name: TUTORIAL.MAP (ROOM 5-G)

       This effect is used to create destructible buildings, much like the
       one in episode 1, level 2.

  STEP 1: Create the building sectors (that will blow up) and make them look
          as if the building has already been destroyed.  Place one sector-
          effector sprite, one Masterswitch sprite, and one GPSpeed sprite
          in each sector that will be affected.
  STEP 2: Give the GPSpeed a lotag value of how fast you want the building
          to lower during its destruction (a value of 64 is very common).
          Give the sector effector sprite a lotag value of 13, and a unique
          hitag value.  Then give the Masterswitch sprite a lotag value
          equal to the sector effector hitag.
  STEP 3: Place a switch or Touchplate somewhere in your level.  Give it a
          lotag value equal to the Masterswitch lotag.
  STEP 4: Place some C-9 sprites around your building, giving each a hitag
          value equal to the Masterswitch lotag value.  Then set a lotag
          value for each C-9 sprite (this value is the delay before the C-9
          sprite will explode).  Remember to make the C-9 sprites as skinny
          as you can in the x direction (use the [4] key on the keypad).
  NOTE 1: A Masterswitch sprite should be in each sector that a C-9 sprite
          exists.  If this is not the case, the C-9 sprites will not
          explode.

4.13.6 Crushers (Engine Pistons)
       Map Name: TUTORIAL.MAP (ROOM 5-H)

       This effect creates an engine-piston like sector (the ceiling
       constantly rises and falls to crush the player).

  STEP 1: Create the crushing sector.  The ceiling should be in the
          uppermost position that it will rise to.
  STEP 2: Place one sector effector sprite in the crushing sector, and give
          it a lotag value of 25.  The height of the sector effector
          determines where the crusher will start.
  NOTE 3: If you want to slow down this effect, simply place one GPSpeed
          sprite in the crushing sector and give it a lotag value (the speed
          that you want the crusher to go at).

4.13.7 Making the Ceiling Fall Upon an Explosion
       Map Name: TUTORIAL.MAP (ROOM 5-I)

       This effect is not used in the game, and there aren't too many good
       uses for this effect (it's simply an effect left over from very early
       versions of Duke Nukem 3D).  This effect causes the ceiling to fall
       down when an explosion occurs in the sector.

  STEP 1: Create the sector you want to be affected.
  STEP 2: Place one sector effector sprite in the sector you just created.
          Give it a lotag value of 19.

4.13.8 Rotating & Rising Sectors
       Map Name: TUTORIAL.MAP (ROOM 6-A)

       This effect is used to make some very cool doors and other effects.
       When activated, this effect will cause the floor of a sector to rise
       up and rotate 90 degrees at the same time.

  STEP 1: Create the sector to affect.  This sector should be at the lowest
          point that the sector will ever be.  Give this sector a sector
          lotag value of 30.
  STEP 2: Place one activator sprite and one sector effector sprite in the
          sector.  Give the activator sprite a unique lotag value.  Give the
          sector effector sprite a hitag value equal to the activator sprite
          lotag value.  Leave the lotag value of this sprite set at 0.
          Raise the sector effector sprite to the height you want the sector
          to rise to.
  STEP 3: Place a switch or Touchplate somewhere in your level.  Give it a
          lotag value equal to the activator lotag.
  STEP 4: Place one sector effector sprite where you want the rotation point
          of the affected sector to be (this point can be outside of the
          sector if you want it to be).  Give this sector effector a lotag
          value of 1, and a hitag value equal to the activator lotag value.

4.13.9 Making Ceilings and Floors Drop Down
       Map Name: TUTORIAL.MAP (ROOM 6-B)

       This effect causes ceilings and floors to drop upon activation.

  STEP 1: Create the sector to be affected.  Give this sector a lotag value
          value of 28.
  STEP 2: Place 3 sprites in the sector: one sector effector, one activator,
          and one GPSpeed sprite.  If you want to drop the floor, proceed to
          the floor heading.  If you want to drop the ceiling, proceed to
          the ceiling heading.

          Dropping Floors
          ---------------
  STEP 3: Make the angle of the sector effector sprite point straight down.
          Give this sprite a lotag value of 21.
  STEP 4: Give the activator sprite a unique lotag value.  Give the GPSpeed
          sprite a lotag value equal to the rate that you want the floor to
          fall at.
  STEP 5: Make sure that the floor of this sector is at the lowest point it
          will be in the game.  Then raise the sector effector sprite to the
          height that you want this floor to raise up to.
  STEP 6: Place a switch or Touchplate sprite somewhere in your level.  Give
          this sprite a lotag value equal to the activator sprite lotag.

          Dropping Ceilings
          -----------------
  STEP 3: Make the angle of the sector effector sprite point straight up.
          Give this sprite a lotag value of 21.
  STEP 4: Give the activator sprite a unique lotag value.  Give the GPSpeed
          sprite a lotag value equal to the rate that you want the ceiling
          to fall at.
  STEP 5: Make sure that the ceiling of this sector is at the highest point
          it will be in the game.  Then lower the sector effector sprite to
          the height that you want this ceiling to lower to.
  STEP 6: Place a switch or Touchplate sprite somewhere in your level.  Give
          this sprite a lotag value equal to the activator sprite lotag.

4.13.10 Incremental Rising and Falling Sectors (Version 1.4 or 1.5 Required)
        Map Name: ATOMIC (ROOM #3)

        This effect is used most often in Duke-Tag levels for showing the
        team score incrementally.  What this effect does, however, is
        raises or lowers a sector incrementally by flipping a switch several
        times (or toggling some other trigger in the level).

  STEP 1: Create the sector that will rise or fall when activated, and
          choose appropriate textures.
  STEP 2: Place one sector effector sprite in this sector.  Give this
          sprite a lotag of 18 and a hitag equal to the amount of units
          moved per activation (one unit is equal to 1 [PGUP] or [PGDN]
          in Build).  Now, set the angle for which part of the sector
          you want to move.  Up makes the floor rise or fall, while down
          makes the ceiling rise or fall.
  STEP 3: Place a switch (or other trigger) somewhere in your level, and
          give it a unique lotag.
  STEP 4: Place one activator sprite in the rising (or falling) sector and
          give it the exact same lotag as the switch.
  STEP 5: Now, you must set the palette of the sector effector sprite you
          made in step 2.  A value of 0 starts the sector at the height you
          set it at in Build, and it rises or falls to the sector effector's
          height.  Anything other than 0 starts the sector at the height of
          the sector effector and lowers or raises it to the adjacent
          sector's height.  Set the height of the sector effector
          accordingly to the palette value (you'll have to play around with
          it to get it just right - this step can be quite tricky).

----------------------------
4.14 MUSIC AND SOUND EFFECTS
----------------------------
4.14.1 Types of Sound Effects
       Map Name: TUTORIAL.MAP (ROOMS 6-C, 6-D, and 6-E)

       There are 4 types of sound effects that are available for use in
       level making.  The first 3 types are covered in this section, while
       the fourth is explained in section 4.72.  The 3 effects covered here
       all use the Music&SFX sprite (sprite #5).

     Activation Sound (ROOM 6-C)
     When used in a sector with a sector lotag, this sound will play when
     the sector's lotag function is activated (i.e. - A door opening).
       Lotag : Number of the starting (or main) sound you want to play.
       Hitag : Number of the ending (or secondary) sound you want to play.
       Placement : In any sector with a sector lotag.

     Ambient Sound (ROOM 6-D)
     When used in a sector without a sector lotag, an ambient sound will be
     played when the player walks near.
       Lotag : Number of the sound you want to play
       Hitag : Maximum distance that the sound can be heard.  A hitag value
               of 1024 equals one of the largest grid squares in Build.
       Placement : Any sector without a sector lotag.

     Echo Effect (ROOM 6-E)
     When used in a sector without sector lotag, all sounds will have an
     echo effect.
       Lotag : 1000 + the amount of echo (from 0 to 255, with 0 being the
               least amount of echo)
       Hitag : Maximum distance that the sound can be heard.  A hitag value
               of 1024 equals one of the largest grid squares in Build.
       Placement : Any sector without a sector lotag.

4.14.2 Adding Your Own Music and SFX
       Map Name: NONE

       Custom sounds and music can be added to Duke Nukem 3D, but there are
       several ways to go about it. All music is required to be in .mid
       (MIDI) format, and all sound effects are required to be in either
       .VOC (VOICE) or .WAV (WAVE) formats.

       Renaming Custom Sounds

       To add custom sounds or music, simply rename the custom music or
       sound effect to the exact same filename of an existing music or sound
       effect file.  For example: If I wanted to add a sound of Homer
       Simpson saying "Woo-Hoo!" to the game, I would first find a sound to
       write over (let's use Duke saying "Where is it?").  The filename for
       this sound is whrsit05.voc.  I would rename my custom file from
       woohoo.voc to whrsit05.voc, and I would place this new sound in the
       main game directory.  The sound *must* be in the main game directory,
       or this will not work.

       Editing CON Files

       Custom sounds and music can also be added by editing the USER.CON
       file.  Please see the Con Editing FAQ for instructions on doing this.

4.14.3 Sector Activated Sounds
       Map Name: TUTORIAL.MAP (ROOM 6-F)

       This sound technique allows you to trigger a sound when Duke walks
       into a certain sector.  An example of this would be from Episode 1,
       Level 3 where Duke enters the revolving room and hears : "Too late
       Nukem.  We're in control now!".

       To make a sector activated sound, simply give the sector you want
       to be the "trigger" sector, a lotag of 10+++.  +++ is the sound
       number that will be played.  The sound number for Duke saying
       "Damn!" is 214, so the sector would have a lotag of 10214 if you
       wanted to play this sound.  Note that these types of sounds only play
       once.

4.14.4 Making Phones Ring
       Map Name: TUTORIAL.MAP (ROOM 6-G)

       Making telephones ring can be a trick, but it's pretty easy to do.

  STEP 1: Make your telephone sector.  This effect works best (in my
          opinion) when the telephone is a sector and not a sprite.
  STEP 2: Place a sprite on the front of the telephone.  Change this sprite
          into a switch (#132 works just fine) and resize the switch to
          match the size of the front of the phone.  In 3D mode, press the
          [1] key while the mouse pointer is over this switch sprite.  Then
          rotate the switch sprite (with the [<] and [>] keys) so that you
          cannot see the sprite (the angle should face the back of the
          phone).
  NOTE 1: Dipswitch sprites don't seem to work, so use the SLOTDOOR type
          switches.
  STEP 3: Give the switch a unique lotag value.  The hitag value of this
          switch is the sound number that you want to play upon activating
          the phone (by pressing the space bar).  The sound for a busy phone
          signal is a hitag value of 174, but you can use any sound you
          wish to use.  Take a look at the tutorial map if you do not
          fully understand.

4.14.5 The Sound Effects Listing

       A listing of sound effects is available for downloading at Map FAQ
       Central (http://mapfaq.3dportal.com).  The file you will want to get
       is named "sfxlst20.zip", and can be gotten by going to the "DN3D Map
       Editing" link under the "FAQ Downloads" heading in the left frame of
       the site.

-------------------------
4.15 WORKING WITH SPRITES
-------------------------

4.15.1 Working With Sprites
       Map Name: NONE

       Sprites are the most used aspect (other than walls and sectors) in
       Duke Nukem 3D, and are very easy to master.  To place a sprite in
       your map, press the [S] key (in either 2D or 3D mode).  To change
       the sprite graphic, move the mouse over the desired sprite and press
       the [V] key twice.  Find the desired sprite in the list, select it,
       and press the [ENTER] key.  Sprites are used to make water fountains,
       cracks in walls, viewscreens, and more.

4.15.2 Security Cameras
       Map Name: TUTORIAL.MAP (ROOM 6-H)

       To make a security camera and corresponding viewscreen, follow these
       steps:

  STEP 1: Place one sprite where you want the viewscreen to be.  You can
          use either sprite #502 or sprite #499.  Give the screen a unique
          hitag value.
  STEP 2: Place several sprites where you want cameras to be.  The camera
          sprite is #621.  Give all the camera sprites that you want
          associated with the viewscreen created in step 1, a lotag value
          equal to the screen's hitag value.
  NOTE 1: The angle of the camera sprite is the angle that the camera
          will point.
  NOTE 2: To make cameras pan right and left, give them a hitag.  Set the
          camera's angle to the center of the arc in which you want it to
          pan.  Then set the hitag value equal to the build units of angle
          measure.  A value of 256 will make the camera rotate 45 degrees
          to both the left and right of the sprite's angle.
  NOTE 3: To change how far the camera looks either up or down, change the
          shade value of the camera itself (by pressing the [']+[S] keys on
          the camera sprite in 3D mode).  A negative (bright) value will
          make the camera look down, and a positive (dark) value will make
          the camera look up.  The brighter (smaller) or darker (larger)
          the value, the more the camera will either look down or up.

4.15.3 Vents
       Map Name: TUTORIAL.MAP (ROOM 6-I)

       To make a vent and vent cover, simply follow these steps:

  STEP 1: Create the vent area sectors.  Make this area accessible from
          a room in your level.
  STEP 2: Place a sprite at the entrance of your vent area, and change it
          to sprite #595.  In 3D mode, resize this sprite to properly fit
          the vent area entrance, and press the [B] and [H] keys on the
          sprite (if it already appears as a thick pink sprite in 2D mode,
          you need not press these keys).  Press the [R] key on the sprite
          one time to make it sit "flat" on the wall.

4.15.4 "3D" Bridges
       Map Name: TUTORIAL.MAP (ROOM 7-A)

       A bridge is nothing but a group of sprites with the blocking and
       hitscan flags turned on.  To make a bridge, simply place several
       sprites across the place you wish to span, size them to the
       desired length and width, and press the [B] and [H] keys on them
       in 3D mode (the sprites should be thick and pink in 2D mode).
       To make a bridge fall down when shot, give all portions of the
       bridge (i.e. - all the sprites that make up the bridge) a unique
       hitag value.

4.15.5 Demo Cameras
       Map Name: NONE

       To make a camera that will play back demos after they are recorded,
       simply place one sector effector sprite where you want the camera.
       Give this sprite a lotag of 27, and a hitag value equal to how far
       the camera can "see".  Experiment with this value to get it just
       right.

4.15.6 Spawning Stuff
       Map Name: TUTORIAL.MAP (ROOM 7-B)

       There are basically 3 ways to spawn something in the game.

     The "CANWITHSOMETHING" Sprite
     This sprite is a trash can that will spawn something when shot.  Simply
     place a sprite where you want the trashcan to be, change it to the
     correct tile number (#1232), and give it a lotag value equal to the
     reference number of the sprite that you want to spawn.  For example, if
     you wanted to spawn shotgun ammo, you would give the CANWITHSOMETHING
     sprite a lotag value of 49 (because the shotgun ammo is located at
     tile #49).

     Spawn After Killing an Actor
     This effect allows you to spawn something when an actor is killed by
     the player.  A good example of this is the stripper.  If you shoot her,
     you might want some enemies to pop out.  To do this, place the actor
     (that will trigger the spawn) where you want it to be (for our example
     we will use the stripper).  Place a Respawn sprite (#9) where you want
     each monsters to appear.  Give the actor sprite a unique hitag.  Give
     the Respawn sprite a lotag value equal to the dancer's hitag.  Now give
     the Respawn sprite a hitag value equal to the reference number of the
     sprite you wish to spawn.  For example, if you wanted to spawn shotgun
     ammo, you would give the Respawn sprite a hitag value of 49 (because
     the shotgun ammo is located at tile #49).

     Trigger Spawns
     You can spawn items by either toggling a switch, or by triggering a
     Touchplate.  To create this, place the switch or Touchplate where you
     want it to be, and give it a unique lotag value.  You can give it a
     hitag value if you want - the hitag value is how many times the
     Respawn will work.  Now place a Respawn sprite where you want another
     sprite to spawn.  Give it the same lotag value as the switch or
     Touchplate.  Give the Respawn sprite a hitag value equal to the
     reference number of the sprite you want to spawn.  For example, if you
     wanted to spawn shotgun ammo, you would give the Respawn sprite a hitag
     value of 49 (because the shotgun ammo is located at tile #49).

4.15.7 Active Tripbombs
       Map Name: NONE

       To place an active tripbomb, simply place a sprite on the wall where
       you want the bomb to be, and change the sprite to #2566.  Resize the
       sprite to a realistic size.  Keep in mind that the bomb does not arm
       itself until it "sees" the player, so place it in a convenient spot.

4.15.8 Making the Mini-Boss
       Map Name: NONE

       The mini-boss is simply the episode end boss, but when killed, his
       death doesn't start the end sequence.  Plus, he's a lot easier to
       beat in "mini-boss" status.  To change an end boss to a mini-boss,
       simply place the boss sprite where you want it, and give it a palette
       value of 21.  To spawn a mini-boss, place a Respawn sprite where you
       want it to spawn, give it a hitag value of 2630, a lotag value equal
       to the lotag of the switch or Touchplate that toggles it, and a
       palette value of 21.

       NOTE #1: The second and third episode bosses cannot be made into
       mini-bosses without hacking the con files.  3D Realms mistakenly
       gave them only 1 health point when their palette value is anything
       but 0.  If you do make them mini-bosses, realize that they will be
       extremely easy to kill.

4.15.9 Exploding Helicopter & Car
       Map Name: NONE

       To create the exploding helicopter or car, simply place a sprite
       where you want it to originate from (#1346 for the helicopter and
       #2491 for the space car).  Set the angle of the sprite to the
       direction you want the car to travel in, and raise the sprite up as
       high as you want in 3D mode.  It should be noted that you must leave
       enough room for the car or helicopter to travel through - if you
       don't, it will slide down the first wall it hits, making a very
       unrealistic effect.

4.15.10 Cranes
        Map Name: TUTORIAL.MAP (ROOM 7-C)

        Cranes allow the player (and other sprites) to be picked up and
        carried from one place to another by a crane sprite.

  STEP 1: Make a sector that the crane will travel down.  Place one
          sprite in this sector, and change it to sprite #1222.  Raise
          this sprite all the way up to the ceiling.  This sprite is
          the crane itself and *should not* be resized - leave it the
          default size.
  STEP 2: Make one smaller sector at the end of the sector you just
          created.  This is where the player will be picked up.  Place
          one sprite in this sector, and change it to sprite #1221.
          Make sure that this sprite stays at ground level (don't raise it
          off the ground).  You're finished!  Take a look at the tutorial
          map if you don't understand.

  NOTE 1: If you have more than one crane in your level, you need to give
          both the sprite created in step 1, and the sprite created in step
          2, the same unique hitag.  Do so for each crane you make in your
          level.

-----------------------------
4.16 MULTIPLAYER LEVEL MAKING
-----------------------------

4.16.1 Dukematch & Co-op Starting Positions
       Map Name: NONE

       To create co-op and Dukematch starting points, place the initial
       frame of the Duke Nukem sprite (#1405) where you want the start point
       to be.  This is all you need to do to make a Dukematch starting
       point.  Co-op start positions should all be located at the beginning
       of the level (but they are not required to be), and should have a
       lotag of 1.  A minimum of 7 start positions is required for 8 player
       co-operative and Dukematch games.  The player 1 start position (brown
       arrow in 2D mode) does count as a start position.

4.16.2 Making Items Appear Only In Multiplayer
       Map Name: NONE

       To make a sprite appear only in Dukematch or Co-op games, give the
       desired sprite a palette value of 1.  This is effective for making
       weapons and other sprites you want available in multiplayer, not
       available to the player in single player mode.  Switches to certain
       doors are one possibility for this effect (this possibility appears
       in most of the levels made by 3D Realms).

4.16.3 Making Duke TAG Levels (Version 1.4 or 1.5 Required)
       Map Name: NONE

       All the specs for making Duke TAG levels can be found in the file
       "buildtag.txt".  This file can be found in the Build directory on
       your game CD.

       The effects used for Duke TAG levels are incremental rising and
       falling sectors (for the scoreboards) and one-way teleporters for
       cross-level transportation.

------------------
4.17 MISCELLANEOUS
------------------

4.17.1 Glass
       Map Name: TUTORIAL.MAP (ROOM 7-D)

       Glass is basically a masked wall that has the transparency flag
       turned on.  You can use any texture you want to, although this
       how-to will guide you through making "breakable" glass.

  STEP 1: Create a masked wall where you want the glass window to be.
  NOTE 1: This mask should not be on a wall where the player can see the
          wall itself, and where the wall has two properties (one for the
          top part and one for the bottom).  Window 1 in the tutorial map
          shows this effect - notice how the wall changes when shot.  You
          should create "buffer sectors" to make this problem non-visible.
          Windows #2-#4 all have these "buffer sectors", so look at them
          if you don't understand what I'm talking about.
  STEP 2: Change the texture of this mask to the breakable glass texture,
          which is texture #503.         
  STEP 3: While in 3D mode, press the [B] and [H] keys on the masked wall.
          This makes the masked wall block you and other characters from
          walking through the wall, and it makes bullets "hit" this wall.
  STEP 4: Now point at the mask in 3D mode and press the [T] key.  The
          mask will now become transparent.  Press the [T] key again.
          The glass will be even more transparent.  There are 3 levels of
          transparency, and they are as follows:

          First - No transparency (try a regular wall texture to see)
          Second - Slight transparency
          Third - Most transparency

          Set the transparency level to the setting that you desire.  In
          the tutorial map, window 2 shows the first level of transparency,
          window 3 shows the second level of transparency, and windows 1
          and 4 show the third level of transparency.

4.17.2 Secret Areas
       Map Name: NONE

       To make a secret area, give the desired sector a lotag of 32767.

4.17.3 Shooters
       Map Name: TUTORIAL.MAP (ROOM 7-E)

       This section covers how to make "shooters".  A shooter is basically
       something that repeatedly shoots an object of your choice.  A good
       example of a shooter is the one located in episode 1, level 4.  When
       you unlock the red keypad, the pad lowers, revealing a shooter that
       shoots "shrinkers" (the projectiles that make you shrink in size).

  STEP 1: Create a sector from which the shooter will shoot from.
  STEP 2: In this newly created sector, place one sector effector sprite,
          one GPSpeed sprite, and one Masterswitch sprite.
  STEP 3: Place a switch somewhere in your level and give it a unique lotag.
  STEP 4: Give the Masterswitch sprite the same lotag value as the switch.
          Also give the Masterswitch sprite a hitag of 50.
  STEP 5: Place one sector effector sprite where you want the shots to
          originate from.  Change the angle of this sprite to the direction
          you want the shooter to shoot.  Give this sprite a lotag of 36.
  STEP 6: Now you must decide what you want to shoot.  Do this by giving
          the GPSpeed sprite a lotag of one of the following values:
          1360 = Octabrain Blasts
          1625 = Alien Lasers
          1636 = Lizard Spit
          1641 = Freezer Blasts (Auto-aims at player)
          1650 = Mortars (Like the first boss throws)
          2605 = Rockets (Auto-aims at player)
          2556 = Shrinkers

4.17.4 Turning Shooters Off
       Map Name: NONE

       The following steps explain how to construct a shooter that can be
       turned off after it has been triggered.

  STEP 1: Create a sector from which the shooter will shoot from.
  STEP 2: In this newly created sector, place one sector effector sprite,
          one GPSpeed sprite, and one activator sprite.
  STEP 3: Place a dipswitch sprite somewhere in your level and give it a
          unique lotag.  It *must* be a dipswitch sprite, or this effect
          will not work correctly.
  STEP 4: Give the activator sprite the same lotag value as the switch.
          Also give the activator sprite a hitag of 50.
  STEP 5: Place one sector effector sprite where you want the shots to
          originate from.  Change the angle of this sprite to the direction
          you want the shooter to shoot.  Give this sprite a lotag of 36.
  STEP 6: Now you must decide what you want to shoot.  Do this by giving
          the GPSpeed sprite a lotag of one of the following values:
          1360 = Octabrain Blasts
          1625 = Alien Lasers
          1636 = Lizard Spit
          1641 = Freezer Blasts (Auto-aims at player)
          1650 = Mortars (Like the first boss throws)
          2605 = Rockets (Auto-aims at player)
          2556 = Shrinkers

4.17.5 Difficulty Settings
       Map Name: NONE

       To set the difficulty setting for a monster, simply give the desired
       monster one of the following values:
       2 = Skill Level 2
       3 = Skill Levels 3 and 4 (Skill 4 just makes the monster Respawn)

4.17.6 Making Signs Fall When Shot
       Map Name: NONE

       To make a sprite sign (or other sprite) fall to the ground when hit
       by an explosion, simply give the sprite any hitag other than 0.

4.17.7 Lightning and Thunder (Version 1.4 or 1.5 Required)
       Map Name: ATOMIC.MAP (ROOM #4)

       To make the lightning bolt engine work, follow these simple steps:

  STEP 1: Place several lightning sprites (#4890) in an outside area, and
          give each sprite *the same* unique hitag.  The sky should also
          be cloudy (not required, but makes it look realistic).
  STEP 2: Place a sector effector in each sector that contains a lightning
          bolt sprite.  Give each sector effector a lotag of 28, and a hitag
          equal to the lightning bolt sprite's hitag value.

4.17.8 Making Rain
       Map Name: NONE

       To make a raining effect, place dripping sprites (#660) where you
       want them to be, and raise them to the ceiling of the sector they are
       in.  If you own version 1.4 or 1.5, place a music and sound effects
       sprite somewhere in the raining sectors, give it a lotag of 358, and
       a hitag of the distance the sound should be heard.

       NOTE: Giving the rain drops a palette number of 13 is recommended for
       both versions of the game.

4.17.9 Forcing Duke To Start Weaponless
       Map Name: NONE

       To make Duke start a level without any weapons or ammunition, simply
       place the HURTRAIL (#859) or other damaging floor tile under the
       starting position.

===============================
SECTION 5 - GENERAL INFORMATION
===============================

5.1 Palette List

The following is a listing of all the palette numbers and their corresponding uses.  Palettes can effect 3 different 'layers' of a tile.  The easiest way to understand these 3 different 'layers' is by using the stripper sprite.  The 3 'layers' are: Background (her skin), Foreground (her clothes), and Minor Foreground (money, accessories, etc).

   0   Normal
   1   Makes a sprite Multiplayer only.  Also makes all wall, ceiling, and
       floor textures change to blue values.
   2   All 3 layers are red.  Makes all wall, ceiling, and floor textures
       change to red values as well.
   3   Changes nothing on sprites.  If used on a sector effector with a
       lotag value of 7, the water you jump into will turn into slime (a
       green tint).  Using this value also prevents the player from being
       killed upon entering a sector with the BIGORBIT texture on either
       the floor, ceiling, or both.
   4   All 3 layers are solid black.
   5   All red colors (on all 3 layers) become brown.
   6   Night Vision Green (Used by the game to designate night vision.  I
       wouldn't recommend using this in a regular level).
   7   All 3 layers are yellow-green.  Makes all wall, ceiling, and floor
       textures change to yellow values.
   8   All 3 layers are light green.
   9   Normal
   10  Foreground is red.
   11  Foreground is light green.
   12  Foreground is light gray.
   13  Foreground is dark gray.
   14  Foreground is dark green.
   15  Foreground is brown.
   16  Foreground is dark blue.
   17  Background is blue, Foreground is green, Minor Foreground is blue.
   18  Exact same as 11.
   19  Background is red, Foreground is gray, Minor Foreground is red.
   20  Background is blue, Foreground is gray, Minor Foreground is blue.
   21  Foreground is red.  This palette can be used to turn a regular boss
       into a mini-boss (the level doesn't end when the boss is killed).
       It also can be used to make an assault trooper an assault captain.
   22  Foreground is light gray.
   23  Foreground is yellow.
   24  Some shades of gray and white change to corresponding red shades.
   25  Minor Foreground is red.

5.2 Group File Format

The group file is the main storage file format used in Duke Nukem 3D.  Group files can be thought of as "containers".  These "containers" hold multiple files, making it easy to deal with many files at once (moving one file, in essence, moves many other files as well).

The group file has the following format:

I - The File Signature
The first twelve (12) bytes of a group file are known as the file "signature".  These 12 bytes contain the name of the original designer of the group file format.  That person is Ken Silverman, and the first 12 bytes appear like this (without the quotation marks): "KenSilverman"

II - The File Count
The next four (4) bytes of a group file are the number of files that are contained within the group file.

III - File Header Table
The file header table is comprised of one 16 byte structure for each file contained in the group file (so if our group file has 25 embedded files in it, the group file has 25 structures that are each 16 bytes long).  The first 12 bytes of the structure are the filename, and the last four bytes are the file's size.  Note that the 12 bytes for the filename include the period and the file extension, so file names must be no longer than 8 characters.  For example, Tiles000.art is as large a filename as you can have.

IV - The Raw File Data
Everything after the file header table is simply the raw file data, packed one after the other, in the exact same order as the files appear in the file header table.

5.3 Facts On Dimensions

This section is some useful dimensions to use in Building levels.  The units of measurement used here are the number of times you should press the [PGUP] or [PGDN] keys.

    Measurement                                    Standing     Ducking

    Minimum sector height that can be entered         11*          6
    Maximum sector height that can be walked on        3           0
    Maximum height of floor to shoot above             8(9)**      3(4)**
    Minimum height of ceiling to shoot below          10(9)**      5(4)**
    Same as above, but using RPG                      11           6
    Maximum height of floor to jump on                20           0
    Minimum height of wall to place tripbomb          10           4

    * Duke can also enter sectors with a height of 10, but he will
      automatically duck.
   ** The second number is provided for when only some of the shots actually
      get past the floor or ceiling.

5.4 Sector Effector Lotag Listing

    0: Rotating sector
    1: Center point for above
    2: Earthquake
    3: Random light effect after light is shot out
    4: Random light effect
    5: NONE
    6: Subway Engine (Pulls other cars)
    7: Transporter
    8: Door opens - room lights up
    9: Ceiling light lowers - room lights up
    10: Door auto close (set Hitag to delay)
    11: Swinging Door
    12: Light switch
    13: Used to make holes in walls
    14: Subway car
    15: Sliding door (ST 25)
    16: NONE
    17: Elevator transporter (ST 15)
    18: Incremental sector rise/fall (PPAK only)
    19: Lower ceiling when explosion hits sector
    20: Stretch sector (ST 27)
    21: Lower floor or ceiling (ST 28)
    22: Prong for teeth doors
    23: One way teleporter exit (PPAK only)
    24: Conveyor belt or water current
    25: Engine Piston (moves up and down)
    26: NONE
    27: Demo Camera Location
    28: Lightning Bolt Engine (PPAK only)
    29: Used to make waves
    30: 2 way train (ST 31)
    31: Used to raise or lower the floor
    32: Used to raise or lower the ceiling
    33: Earthquake Debris
    36: Used for Shooters

5.5 Sector Lotag Listing

    1: Above water
    2: Under water
    9: Sliding Star Trek door
    15: Elevator transport (SE 17)
    16: Elevator platform down
    17: Elevator platform up
    18: Elevator down
    19: Elevator up
    20: DOOM door
    21: Opposite of DOOM door
    22: Split from middle door
    23: Swinging door
    25: Sliding door
    26: Splitting Star Trek door
    27: Stretch sector (SE 21)
    28: Drop floor (SE 21)
    29: Teeth door prong (SE 22)
    30: Rotate-rise sector
    31: 2-way train
    10+++: Play sound when player walks on sector (+++ is sound #)
    32767: Secret room
    65535: End level

5.6  List of Official Levels

The following is a list of the all the official levels found in Duke Nukem 3D, and the level's respective designer.

       AB - Allen H Blum III
       LL - Richard Bailey Gray (The Levelord)
       RP - Randall Pitchford II
       KS - Keith Schuler
       GB - George Broussard

       Episode 1:
       ----------
       1. AB - Hollywood Holocaust
       2. AB - Red Light District
       3. AB - Death Row
       4. AB - Toxic Dump
       5. LL - The Abyss
       6. AB - Launch Facility
       7. AB - Faces of Death (Dukematch Only)
       8. AB - Dukematch Level 1 (Dukematch Only)

       Episode 2:
       ----------
       1. AB - Moonbase
       2. LL - Incubator
       3. LL - Warp Factor
       4. AB - Fusion Station
       5. AB - Occupied Territory
       6. AB - Tiberius Station
       7. AB - Lunar Reactor
       8. AB - Dark Side
       9. AB - Overlord
       10. LL - Spin Cycle
       11. LL - Lunatic Fringe

       Episode 3:
       ----------
       1. LL - Raw Meat
       2. LL - Bank Roll
       3. LL - Flood Zone
       4. LL - L.A. Rumble
       5. LL - Movie Set
       6. LL - Rabid Transit
       7. LL - Fahrenheit
       8. LL - Hotel Hell
       9. AB - Stadium
       10. LL - Tier Drops
       11. AB - Freeway

       Episode 4:
       ----------
       1. RP - It's Impossible
       2. AB - Duke Burger
       3. GB - Shop N Bag
       4. AB - Babe Land
       5. RP - Pigsty
       6. AB - Going Postal
       7. KS - XXX Stacy
       8. KS - Critical Mass
       9. AB - Derelict
       10. RP - The Queen
       11. RP - Area 51

       Other:
       ------
       AB - _se.map    (Sector Effector Demo Map)
       AB - _st.map    (Sector Tag Demo Map)
       AB - _zoo.map   (Zoo Map)

5.7 List of Cheats

The following is a listing of all the cheat codes available in the game:

   DNCORNHOLIO  - Toggles god mode
   DNKROZ       - Also toggles god mode
   DNSTUFF      - Gives you all weapons, inventory, and keys
   DNITEMS      - Gives you all keys, inventory, and full armor
   DNINVENTORY  - Gives you all inventory
   DNWEAPONS    - Gives you all weapons
   DNKEYS       - Gives you all keys
   DNHYPER      - Gives you steroids
   DNSCOTTY###  - Warps to a certain level.  The first # sign is the episode
                  number, while the second and third # signs are the level
                  number.  DNSCOTTY203 would take you to episode 2, level 3.
   DNMONSTERS   - Toggles monsters
   DNCASHMAN    - When the spacebar is pressed, money is thrown out
   DNVIEW       - Same as hitting F7 (also displays message saying "You're
                  too good to be cheating!")
   DNRATE       - Shows the Frames per second (FPS)
   DNDEBUG      - Shows some debugging information
   DNSKILL#     - Changes the skill level to whatever you input for #
   DNBETA       - Displays the message "Pirates Suck!"
   DNTODD       - Displays the message "Register Cosmo"
   DNALLEN      - Displays the message "Buy Major Stryker"
   DNCOORDS     - Displays your coordinates
   DNSHOWMAP    - Displays the entire map
   DNCLIP       - Toggles Clipping Mode (if you walk into empty space, you
                  die).  In versions 1.4/1.5, walking into empty space will
                  not kill you.
   DNUNLOCK     - Unlocks all doors and opens those that are not locked.

5.8 List of Secret Messages in the Game

This section has been included as an "extra" (it has nothing to do with editing, but is rather interesting information).  The following messages are hidden in their respective levels.  Can you find all of them?

      Episode 1
      ---------
      Level 1 - 867-5309
                Stryker Metronet.com
      Level 3 - Behind the babe
      Level 4 - How did you get here?
      Level 5 - Go with the flow
                Dopefish Lives
                You're not supposed to be here - Levelord
                SUYT (Acronym for "Show Us Your Tits")

      Episode 2
      ---------
      Level 1 - U.S.S. Framerate (Hint: Can only be seen in Build)
      Level 2 - 1138 (Can be found in 2 places)
      Level 3 - Blum Bed Co.
      Level 7 - Bite Me!
      Level 8 - Jump in the monolith

      Episode 3
      ---------
      Level 1 - Push her button
                Push Me
                No one should be here - Levelord
      Level 3 - The crack below
                Annal Ooothrick (See NOTE #1 below)
      Level 4 - Under the Knife
                You're not supposed to be here... either - Levelord
      Level 5 - Push the register not the snacks
                Jump at the Earth
      Level 6 - Telltale Footprints
      Level 7 - Blast the bottles
      Level 8 - Check the Vintage
                Behind the Fountain
                Duke was here 2017 (See NOTE #2 below)
      Episode 4
      ---------
      Level 1 - Are you small or are you cheating?
                Looking for secrets? - DUV
                C'mon, Quit Cheating - DUV
      Level 3 - Run your ass off

      Special Notes
      -------------
      NOTE #1 : Here is the meaning of the message "Annal Ooothrick"
                straight from Levelord himself:
                "...not sure of the spelling, but that is a tribute to the
                movie Excalibur.  I believe it's Gaelic for dragon's breath
                and was a tie-in to the steam being emitted at the message."
      NOTE #2 : This message can be found in the game, but is unreadable due
                to the fact that all the letters are jumbled together (they
                were never raised up to where they should have been).  Can
                you find this message?

=================================================
SECTION 6 - THE MOST COMMON QUESTIONS AND ANSWERS
=================================================

This section is a set of the most commonly asked questions, along with the answers to these questions.  Browse through this list, and if you find your question, read the answer!  :-)

6.1 I can't find Build on my CD - where is it?

The Build program is located in the \goodies\build directory.  If your CD does not have a \goodies\build directory, read this note written by Joe Siegler of 3D Realms:

If you bought Duke Nukem 3D, and it does not have a \goodies\build directory, please be aware that this was a misprint at the distributor level. You need to contact the distributor, GT Interactive, for information on how to get a replacement. Apogee/3D Realms will only replace CD's bought DIRECTLY FROM US. You can contact GT at support@gtinteractive.com.  Alternately, you can call 1-732-248-1622 Extension 800 for the Missing Build Directory issue only.

6.2 I can't get Build to work.  How do I do it?

Make sure that Build is in the *same* directory as the game itself.  Next, make sure that the read only properties of all the files in this main directory are turned off.  You can do this by entering DOS (or a DOS window from Windows 95) and typing the following line while in the Duke Nukem 3D directory: attrib -r *.*

6.3 How do I enter 3D mode?

Press the [ENTER] key on your numeric keypad.  This key is located on the far right of the keyboard, under the [+] key (on most keyboards at least).

6.4 3D Mode is screwed up!  What do I do to fix it?

First, make sure that Build is in the same directory as the game itself.  Next, check to see that all the read only properties of all the files in this main directory are turned off.  You can do this by entering DOS (or a DOS window from Windows 95 or 98) and typing the following line while in the Duke Nukem 3D directory:

attrib -r *.*

If this solution doesn't work, enter the program "BSetup.exe" and change the video mode *only*.  The select "Save Properties and Exit" from the menu.

6.5 How can I play my own maps?

Type in either of the following lines in DOS:
   duke3d -map foo.map
   duke3d -map foo
In the line above, foo is the name of your map.  The .map extension is not needed, but can be used.

6.6 When I run my level, I get an error.  What does it mean?

Take a look at section 7 for the meanings to various Build errors.

6.7 Why does the game crash when I run my level?

Make sure that you have placed a start position in your level (by pressing the [SCROLL LOCK] key in 2D mode).  If you already have a start position, see if an error is being generated upon the game crashing.  If an error does exist, check section 7 of this FAQ for more information on the error.

6.8 Build sucks.  Is there another editor available?

No, Build is the only editor available.  It's not that hard to learn, so stick with it.  A level editor other than Build is available for Macintosh users, but I don't use a Mac, so I can't give you much information on it anyway.

6.9 Walking under a parallaxed sky kills me. Why is this?

First, the texture you are using is the BIGORBIT1 texture.  How do I know this you ask?  Because it's the only texture that can kill you when parallaxed.  To fix this problem, simply change the palette of this texture to 3 by using the [ALT]+[P] key combination in 3D mode.  Walking under it will not kill you.

6.10 My subway shoots rockets at me - Why?

Subway sectors that are under a parallaxed sky will shoot rockets (much like the orbiting ship in Episode 2, Level 1).  To fix this problem, simply change the palette of the parallaxed texture to 3 by using the [ALT]+[P] key combination in 3D mode (or you can un-parallax the texture).

===========================================
SECTION 7 - COMMON BUILD AND RUNTIME ERRORS
===========================================

7.1 Found Lonely Sector Effector

This error occurs when a sector effector sprite is found with no hitag and lotag value (i.e. - both the hitag and lotag is 0).  To fix this, copy down the coordinates that the error gives you and find those coordinates in your map in Build.  Accordingly delete or tag the sector effector in question to correct this error.

7.2 Subway Found No Zero'd Sectors With Locators

This is a very complex error and will require some explaining.  This error usually occurs in two-way trains however, I have seen it in regular subways built in certain maps.  For this explanation, we will look at the problem as if it were occurring in a two-way train.

The problem is this: the sector effector in the two-way train is not in the correct sector.  So which sector should it be in?  Well, you cannot split a two-way train sector into multiple sectors.  And you cannot nest sectors in a two-way train (there is a "complex" way of nesting sectors in a train - see the two-way train how-to in this FAQ for more information).  In other words, the train itself should be one sector, and the player should be in this sector at *all* times while riding the train.  So if you can't nest or split sectors, how did the level designers at 3D Realms make the window sectors on the two-way trains found in Episode 2?  Well, that's a complex method of using non-valid sectors and nesting sectors between the two.  Sound complicated?  It is.  But it can be done, and done very well.  Check the two-way train how-to to see exactly how to do this.

7.3 Can't Make a Sector Out There

This problem sometimes occurs when trying to create a sector inside of another sector (and using the [ALT]+[S] keys to make it valid player space).  The solution to this problem is simple.  Delete the sectors in question, and *always* build from the innermost sector outwards.  Building from the outside to the inside usually ends up in this error.

This error also appears when trying to make a valid player space sector outside of the map.  The solution for this case is simply this: Don't try to create valid player space sectors (red lined sectors) outside of the map.

7.4 Too Many 'Anim' Walls (Max. 512)

This problem appears to be caused by too many animated masked walls, such as the animating fan.  Wall, floor and ceiling textures may cause this problem as well, but these possibilities have not yet been documented.  It should be noted that Build has the unfortunate problem of masking walls that you tell it not to.  For some reason, Build sometimes will auto-mask red line walls that you create, but they don't show up in 3D mode.  The only solution to this problem is to try and find the masked walls that don't show up (they're probably on every red lined sector in your level), and remove them.

=======================================
SECTION 8 - UTILITIES FOR DUKE NUKEM 3D
=======================================

8.1 Wad2Map

This little utility, found in the \goodies\wad2map directory on your game CD, will convert Doom maps into Duke Nukem 3D maps.  The enemies, textures, tagging, etc. are changed, but when I used this utility, I had to redo almost everything by hand.  It can save some time in the Building process, however.

  Usage: WAD2MAP <DOOM.WAD path> <level to change> DUKE.TXT
  Usage Example: WAD2MAP c:\games\doom\doom.wad E1M1 DUKE.TXT

The <DOOM.WAD path> is the full path to the DOOM.WAD file on your computer, the level to change is the level that you want to change over, and the script file to use is always duke.txt (you can make your own if you want, however).  The script file duke.txt can be found in the \goodies\wad2map directory on your game CD.

8.2 Wad2Art

This utility, found in the \goodies\wad2map directory on your game CD, converts the original Doom art to Duke Nukem 3D art.  All of the original Doom art tiles are placed into one, large tiles000.art file.

NOTE: Before using this utility, backup the names.h file and the palette.dat file, because wad2art will overwrite them.

  Usage: WAD2ART <DOOM.WAD path>
  Usage Example: WAD2ART c:\games\doom\doom.wad

The <DOOM.WAD path> is the full path to the DOOM.WAD file on your computer.  Three files will be created in your game directory (or the directory in which wad2art is located):
     Tiles000.art --- A large file containing all the Doom tiles
     Names.h      --- The names of all the Doom tiles
     Palette.dat  --- The original Doom palette

8.3 Kextract

Kextract is a little program that was written by Ken Silverman (author of the Build engine).  This program can extract files from any valid .grp file, including the duke3d.grp file (which contains all the maps, art files, sounds, music, and other files for the game itself).

NOTE 1: This program *must* be in the same directory as the .grp file you wish to extract files from.

NOTE 2: Extracting all files from the duke3d.grp file will take up a large amount of disk space, and will create over 450 files in your directory.  This is possible to do, but use caution when doing this.

Usage: Kextract [grouped file] [files to extract]

[grouped file] is the name of the file that you wish to extract from.  The duke3d.grp file is the file that contains all the game art, levels, sounds, etc.

[files to extract] is simply the files that you wish to extract.  Just sequentially list the files you wish to extract, placing a space between each file.  Wildcard symbols (*) can be used to extract all of one type of a file (i.e. - *.art).

8.4 Kgroup

Kgroup is another little program written by Ken Silverman (author of the Build engine), and is used to compile multiple files into one single group file (.grp) that you specify.

Usage: Kgroup [grouped file] [files to group]

[grouped file] is the name of the file that you wish to group to.  Do not use duke3d.grp here, unless you want to reinstall the game, or unless you have a copy of the .grp file in your directory.

[files to group] is simply that: the files you wish to group.  Just list the files you wish to group, placing a space between each file.  Wildcard symbols (*) can be used to group all of one type of a file (i.e. - *.art).

8.5 Group File Studio

Group File Studio is a utility for Windows 95 and Windows 98 that makes working with group files much simpler than ever before.  At the time of this writing, the available features of this program are:

  * Create new group files
  * Insert files into an existing group file
  * Permanently remove files from a group file
  * Extract a single file, a file type (i.e - *.map), or all files from a
    group file
  * Rename embedded files
  * Play embedded sound (*.voc) files directly from the group file
  * Auto-Play option for automatically playing sound files
  * Play embedded music (*.mid) files directly from the group file
  * View the attributes of the embedded art tiles (located in .art files)
  * View art tiles from the embedded art files
  * Specify a default names.h file for showing the associated names when
    viewing the artwork
  * Specify a custom palette.dat file to use for viewing art tiles
  * Specify a default directory to extract files to
  * HTML based help

If you find kextract and kgroup to be difficult and cumbersome to use, give Group File Studio a try.  You can download this utility at Map FAQ Central or Dukeworld.

========================
SECTION 9 - FINISHING UP
========================
        
9.1 Map Authoring Template

The map authoring template is a small text file that tells others about your map; what the story line is (if any), whether there is new art, music, SFX, or effects (by editing the .CON files), and other useful information.  One has been included in the zip file that this FAQ comes in, under the name template.txt.  Fill this out before sending your level to any site for uploading - it's very useful!

9.2 Uploading Your Level

After your level is complete (and mostly bug free), you need to upload it so that people can play it!  Upload your level to the Dukeworld user level archives.  The URL to Dukeworld is:

http://

Information on uploading files can be found there.  Have fun!