
  _______________     ___________    _____     _____ ___________________
   \ ------------\\  //---------\\  //----|    |----\\\ --------------//
    ||           ||\|| ===========\||    ||    ||   || ||             ||
    ||  =======  || || ||\_________||    ||    ||   || ||  ============|
    ||  ||   ||  || || || |        ||    ||    ||   || ||  ||__________|
    ||  ||   ||  || || ||========/\||    ||    ||   || ||  ||
    ||  ||   ||  || ||         // /||    ||    ||   || ||  ||
    ||  ||   ||  || || ||=====// / ||    ||    ||   || ||  ||=========\
    ||  ||   ||  || || ||\------/  ||    ||   //   //  ||             \\
    ||  ||  //    \\||  \\| /===/\ ||    || //   //  / ||              ||
    ||  ||//      //\\\  \\////   ||\\   \\//  //  / |//============\\ ||
    ||  |/      //   / \\  //   / /  \\      //  /   //------------ || ||
    ||        //    /    \/   /    \  \======/ /                  | || ||
    ||      //    /        \/       \--------/            /\=====\\ || ||
    ||    //    /                                        /   \\   \\|| ||
    ||  //    /                                           \    \\  \\| ||
    ||//    /                    DEU 5.2                    \    \\    ||
    |/    /                     >-------<                     \    \\  //
    /   /               DOOM(TM) EDITOR UTILITIES               \    \//
     \/                                                           \__/





















                                INDEX

     1  Introduction and DEU Features

     2  Starting DEU
         2.1  Command line parameters
         2.2  Preference Settings
         2.3  Initialization file DEU.INI

     3  DEU Main Menu

     4  The Level Editor
         4.1  Keyboard Quick Reference
         4.2  Keyboard Commands Full Description
         4.3  Mouse Commands
         4.4  The Menu Bar

     5  WAD file description, flags, etc...
         5.1  Vertices (description of)
         5.2  LineDefs (description of)
         5.3  SideDefs (description of)
         5.4  Sectors  (description of)
         5.5  Things   (description of)
         5.6  LineDefs attributes     
         5.7  LineDefs types
         5.8  Normal/Upper/and Lower Textures

     6  Special DOOM Areas.  Lifts, Doors, and more!
         6.1  Doors
         6.2  Lifts
         6.3  Teleporters
         6.4  Stairs
         6.5  Secret Areas
         6.6  Standard Rooms

     7  How to try out your new level(s)

     8  Troubleshooting
         8.1  Video problems
         8.2  Pointer problems (mouse, cursor)
         8.3  Hall of mirrors (HOM) effect
         8.4  The 'Ruler' cursor leaves garbage on the screen.
         8.x  Coming down off a DOOM rush.

     9  Tutorial

    10  Tips
         10.1  Generic editing tips
         10.2  DOOM/DEU limitations
=====================================================================
[1] Introduction
=====================================================================

DEU is an extremely powerful DOS based editor that enables you to add your
creativity to one of the most exciting PC games on the market...

     D   O   O   M

     (c) id software

(Please read the file README.1ST first.  It contains important
information about copyrights and trademarks.)


DEU Features
------------

- Full Function Level Editor
     - Most doom structures can be edited.
          (Things, Vertices, Linedefs, Sidedefs, Sectors, Demos, more...)
     - Create a Level From Scratch.
     - Modify existing id levels or user created levels.

- Special Features
     - Insert a Pre-defined object
          - Rectangle
          - N-sided Polygon
     - 'Drag-n-Drop' stretching and shrinking of sectors.
     - Scale and rotate sectors, linedefs, vertices, or things.  
     - Quickly define an area (selection box) and mass select
       everything in it.
     - Sector floor/ceiling height distributor for easy stairways.

- Diagnostic Tools
     - Detects WAD errors.
     - Warns you if you've forgotten player start things.
     - Can automatically correct some problems.
     - Use this to fix those problem wads, even if you created them with
       other editors.  (Note: if the other editor uses non-standard
       constructs you may not be able to take the WAD back to the other
       editor.)

- WAD File merging capability.
     - Load and Merge multiple levels into a single WAD file.

- Import RAW data into DOOM object and save it in a PWAD.

- Renumber Maps to different Episodes and Levels.

- Much Much More!  
     - Try it and see.  Just DEU it!

=====================================================================
[2]  Starting DEU
=====================================================================

DEU may be started by typing DEU at a DOS prompt.

>  DEU [options]

     Start DEU with the default IWAD file, DOOM.WAD and no PWADs.

>  DEU [options] -file <PWAD file> [<PWAD file>...]

     Start DEU with the default IWAD file and the PWAD file(s)
     given.

>  DEU [options] -w <IWAD file>

     Start DEU with the specified main IWAD file (DOOM.WAD or
     DOOM1.WAD).


[2.1]  Command Line Parameters
------------------------------

Note: The effect of the Boolean options (-i, -s0, ...) may be reversed by
      using a '+' instead of a '-'.  For example, '+i' means 'no info bar'.

-help
     View command line options without entering DEU.

-a   (-addselbox)
     Additive selection box.  Objects will be added to the current selection
     (when you use the selection box) instead of replacing the current
     selection by what is in the box.

-d   (-debug)
     Debug mode.  Will produce a log file of warning messages to help
     track down linedefs that have problems.  The number of the
     bad linedef will be listed.  This file will be called DEU.LOG.
     The log file will also have timestamps.

-e   (-expert)
     Expert mode.  Doesn't ask for confirmation of some
     operations (e.g. deleting an object or rebuilding the Nodes).

-i   (-infobar)
     Infobar.  Displays the info bar.

-sb   (-swapbuttons)
     Swaps the left and middle mouse buttons.

-q   (-quiet)
     QUIET! suppresses the sound made when you select or 
     mark an object.  Use it if your in a library. :-)

-qq   (-quieter)
     QUIET^2!  Complete silence.  DEU will not make any sound, not even for
     warnings.  Enjoy the Silence...

-z <zoom>   (-zoom)
     ZOOM.  Specify initial zoom setting.

-c   (-color2)
     Use the alternate color set for displaying the Things.

-w <main wad file>   (-main)
     Specify name of main wad file (e.g. DOOM.WAD).

-file <pwad, pwad, ...>
     Load patch WAD file(s), just like with DOOM.   Note: Patch
     wad files may also be loaded from the main menu.

-pw <pwad>   (-pwad)
     Add ONE patch file to be loaded.

-bgi <video driver name>
     Use another BGI video driver for hi-res modes (default = "VESA").

-v <video mode number>   (-video)
     Set the default video mode for the extended video driver.
     (default = 2, this is 640x480x256 colors for the VESA driver).

-fc   (-fakecursor)
     Use a "fake" mouse cursor.  This option is useful is your mouse
     driver is not compatible with SuperVGA resolutions (see [8.2]).

-sf   (-splitfactor)
     Adjust scale on the nodes builder.  This parameter is for those techie
     types that like to fiddle with things.  There is no need for the average
     user to worry about this parameter.  (The default value of 8 is the same
     value that id software uses.  A number less than 8 means "more balanced"
     and a number higher than 8 means "least splits".  Use this parameter at
     your own risk.  We recommend the default value of 8.) 

-s0   (-select0)
     Select object 0 when switching modes.


-config <ini file>
     Specify an alternate DEU configuration file other than
     DEU.INI



[2.2] Preference Settings
-------------------------

The following allow you to assign default values for textures when creating
new areas in your level.


-walltexture <texture>

-lowertexture <texture>

-uppertexture <texture>

-floortexture <texture>

-ceiltexture <texture>

-floorheight <units>

-ceilheight <units>




[2.3]  Initialization file DEU.INI
----------------------------------

Rather than using command line arguments you may wish to 
save your typical settings in the DEU.INI file.  It's structure
is pretty basic.  Use your favorite text editer to check it out.

ALL of the command line options may be used in DEU.INI with the
exception of "-help" and "-config".  Commands in DEU.INI should
be completely spelled out (i.e. quiet=true, not q=true)

Also, don't put the "-" in front of commands in the config file.


And now your bonus for reading this far...

Add the following line to your DEU.INI file:
#*****************
reminder1 = false
#*****************

This will turn off the opening reminder to read the documentation.


=====================================================================
[3] DEU Main Menu
=====================================================================

?
     HELP. This command displays a list of commands with their
     valid command syntax.

B <OutIWadFileName> 
     BUILD new IWAD file (all 10+Megs of it) with the given file
     name.  WARNING: Do not name your file DOOM.WAD or you will
     overwrite the existing DOOM.WAD file and you will have to
     re-install DOOM to get back your original file.

C [episode] [mission]
     CREATE and edit a new (empty) level.

D <object name>
     DUMP gives an hex/ascii dump of any object in the main
     directory (WAD file).

E [episode] [mission]
     EDIT a level.

G <OutPWadFileName>
     GROUP all opened PWAD files in a compound PWAD with the given
     file name.  Using this option, you may put several levels, graphics, 
     sounds, demos, etc.. in a single file.

I <datafile> <wad file name for object>
     INCLUDE a raw binary file in a pwad.  You can use this to replace
     certain doom objects.  You should read DMSPEC13 (Doom Specs 1.3)
     or higher to know what to call the objects. *WARNING* this is NOT
     for novices! 

L <OpenedWadFileName> [OutputFile]
     LIST the structure of the directory of a opened file.
     If an output file is given it will write the list to that
     file.

M [OutputFile]
     List the MASTER directory of the IWAD and any PWAD files,
     all mixed together.  If an output file is given it will
     write the list to that file.

Q    QUIT to DOS.

R [file]
     READ a previously saved patch WAD file.

          NOTICE:  If you load a PWAD with multiple levels (or
          sounds, demos, graphics, etc..) and edit a level, THE SAVE
          COMMAND WILL ONLY SAVE THAT MAP, not any other levels,
          graphics, etc...  DO NOT name it the same as the multilevel
          PWAD.


S <DirEntry> <WadFile>
     SAVE one object to a separate file.

V [Spritename]
     VIEW Sprites.  Spritename is optional.  Use arrow keys to
     scroll through sprite list.  Scroll through the bosses
     fast and see them dance for you!!!

WADS
     List all the opened wad files. 

X <object name> <data file name>
     EXTRACT a DOOM object into a raw binary file.




=====================================================================
[4] The Level Editor
=====================================================================

The level editor displays a graphical "map" of the level showing
lines where walls are, x's where things are (Red one are enemies,
green ones are player start positions, and the rest are white.) 
There is an info bar available which displays information about the
mode you are in.  There are windows to let you know what thing is 
selected and windows that let you know what you can do to it.


There are four different editing modes.  They are:

Things Mode

     Change what Enemies, Weapons, Players, Bonuses, and Decorations appear
     when and where.

Vertices Mode

     Modify points used to set up other doom structures.  The vertices are the
     lowest level structure in a DOOM map.   

Linedefs & Sidedefs Mode

     Set up the lines where walls and triggers are.

Sectors Mode

     Define rooms or areas.

[4.1] Keyboard Quick Reference
==============================

Basic Key Set                           Additional Speed Keys
~~~~~~~~~~~~~                           ~~~~~~~~~~~~~~~~~~~~~

Q              Quit                     1,2,...,9,0    Direct Zoom setting
Esc            Exit (no save)           T              Things Mode
Arrows         Move pointer             V              Vertices Mode
Scroll Lock    Autoscroll on/off        L              Linedef/Sidedef Mode
Space          Scroll slow/fast         S              Sector Mode
+,-            ZOOM in or out.          >              Next Object
Tab            Next mode                <              Previous Object
Shift Tab      Previous mode            #              Jump to Object #
N              Next object              Shift-H        Grid Scale = 0
P              Previous object          I              Info Bar On/Off
J              Jump to object #         R              Ruler/Normal Cursor
M              Mark/Unmark object       Shift+Ins      Insert Lines and
C              Clear all marks                         close sector
O              Copy Object(s)           Shift          Move Pointer without
D              Drag mode Toggle                        selecting new object
G              Set Grid Scale           Shift+[Mark]   Box Object Selection
H              Hide/Show Grid
Enter          Edit object(s)
Ins            Insert object(s)
Del            Delete object(s)
F1             Help
F2             Save
F3             Save As
F4             Search
F5             Preferences
F8             Miscellaneous Operations
F9             Insert Predefined objects
F10            Check consistancy



Pull Down Menu Keys
~~~~~~~~~~~~~~~~~~~

ALT-F          File Menu
ALT-E          Edit Menu
ALT-S          Search Menu
ALT-M          Mode Menu
ALT-I          Misc Menu
ALT-O          Objects Menu
ALT-C          Check Menu
ALT-H          Help Menu
[4.2] Keyboard Commands Full Description
----------------------------------------

Q         Quit, saving changes.  You will be asked for the name
          of the PWAD file.

               NOTICE:  If you load a PWAD with multiple levels
               (or sounds, demos, graphics, etc..) and edit a
               level, THE SAVE COMMAND WILL ONLY SAVE THAT MAP,
               not any other levels, graphics, etc...  DO NOT
               name it the same as the multilevel PWAD.

Esc       Exit without saving.  If you have unsaved changes, a
          warning message will be displayed.  May also be used to CANCEL
          accidentally selected functions.

Arrows    Move the pointer.

Scroll Lock
          Turn on/off the autoscroll feature.

Space     Toggle slow/fast movement speed and the scrolling speed.

+, -      ZOOM in or out. (Change the map scale.)   ZOOM levels range from
          1/20 scale (smallest) to 4/1 scale (major magnification).

1,2,...,9,0
          Set ZOOM level from 1 to 10 directly.   (1/1 - 1/10)

Tab       Switch to the next editing mode.

Shift+Tab
          Switch to the previous editing mode.  If objects are marked, the
          objects they are built from remain marked.

T         Switch to the Things editor.

V         Switch to the Vertexes (vertices) editor.

L         Switch to the LineDefs/SideDefs editor.

S         Switch to the Sectors editor.

N, >      Select the next object.  This will only work if the pointer is
          not on an object.

P, <      Select the previous object.  This will only work if the pointer
          is not on an object.

J, #      Jump to a specified object (enter number).

M         Mark/Unmark current object.  (See also the 'Shift' key below).
          * Objects stay marked until you un-mark them. *

C         Clear all marks.

O         Copy objects.  After pressing O move the copy to where you want it  
            and press Esc to drop it there.

D         Toggle Drag mode.

G         Show the grid and change its scale.  Press it again to increase the
          number of grid lines thus decreasing the scale.  Use Shift-G to
          increase the scale.

H         Hide/Show Grid.  This only controls whether or not grid lines are
          displayed.

Shift+H   Set grid scale to 0.

I         Show or hide the info bar at the bottom of the screen.

R         Toggle between Normal Cursor and Ruler Cursor.

Enter     Edit current object or group of selected objects.  A
          menu will pop up and you will be allowed to change
          attributes in the object(s).

Ins       Insert a new object at the current cursor position.

          This will copy the last selected object or insert a
          default object.

          There are two special cases:

          When a group of vertices are selected and you press
          "Ins": the editor will add new LineDefs between the
          vertices and will put you in the LineDefs editor.  The 
          editor will create linedefs for all but the last line.
          (Use Shift+Ins if you want to close the polygon).

          When a group of LineDefs are selected and you press
          "Ins" a new Sector will be created and one SideDef in
          each LineDef will be bound to this Sector and the edit
          mode will switch to the Sector editor.

Shift+Ins
          Use this when selecting groups of vertices and want the editor to
          close the polygon.


Del       Delete the current object or group of objects.  All
          objects bound to the current object will also be deleted.
          (i.e. if you delete one Vertex, this will also delete the
          LineDefs that used this Vertex).  Except for Things, you
          will be asked for confirmation before the object is
          deleted.

Shift     Hold the Shift key while moving the cursor to prevent
          the pointer from selecting a different object.

Shift & Mark
          Hold the Shift key while pressing 'M' (or the left mouse
          button) to drag a selection box around several objects
          and select them all at once.  This is GREAT for mass selection
          of any objects!

F1        Help screen.

F2        Save level in a PWAD file.

F3        Save As... (Change Episode and Level Number)

          This will allow you to reassign the episode and level number of a
          map.  Enter a file name, then select the episode/level number.

F4        Search for Object  (Not yet implemented)

F5        Preferences.  

          Use this to change the default values for wall, floor, and ceiling
          textures, and floor and ceiling heights.  These defaults are for
          your current DEU session only.  You may change the defaults for all
          DEU sessions by editing DEU.INI (see [2.2]).


F8        Miscellaneous Operations.  

          The options that appear on this key vary depending upon which
          editing mode you are in.  However, the first option is constant, no
          matter which editing mode you are in.

          1. Find First Free Tag 

               This will locate the first tag number which has not yet been
               used in this map.  The number it returns will be the lowest
               available tag number. 


          The rest of the options available vary by mode and are (by mode):


          Things Mode
          -----------

               2. Rotate and Scale Thing(s)

                    Move marked things by the degree of rotation and a
                    percentage scale.  This will allow you to rearrange
                    things by spinning them around (change rotation angle) or
                    moving them closer to each other (scale < 100%) or
                    further apart (scale > 100%).


          Vertices Mode
          -------------

               2. Rotate and Scale Vertices

                    Move marked vertices by the degree of rotation and a
                    percentage scale.  This will allow you to rearrange
                    vertices by spinning them around (change rotation angle)
                    or moving them closer to each other (scale < 100%) or
                    further apart (scale > 100%).

               3. Delete Vertex and join Linedef(s)

                    Deletes the marked vertex and joins linedef(s) that were
                    previously connected to it.

               4. Merge several vertices into one.

                    Same as #3 above, but with multiple vertices.

               5. Add linedef & Split Sector.

                    You must mark exactly TWO vertices from the SAME sector
                    before calling this command.  This will add a linedef and
                    a new sector.


          Linedefs & Sidedefs Mode
          ------------------------

               2. Rotate and Scale LineDefs

                    Move marked linedefs by the degree of rotation and a
                    percentage scale.  This will allow you to rearrange
                    linedefs by spinning them around (change rotation angle)
                    or moving them closer to each other (scale < 100%) or
                    further apart (scale > 100%).

               3. Split LineDef (add new Vertex)

                    Splits the selected linedef(s).

               4. Split LineDefs and Sector

                    Splits the selected linedefs by adding a vertex at the
                    midpoint, connecting the new vertices with a linedef which
                    divides the original sector.

               5. Delete LineDefs and join Sectors

                    Removes the selected two-sided linedef(s) that divide
                    sectors and makes them into a single sector.

               6. Flip Linedef

                    Flips the linedef(s) start and endpoints, thus reversing
                    the side the 1st and 2nd sidedefs are on.
             
               7. Swap Sidedef

                    Swaps the sectors that sidedef(s) 1 and 2 are tied to.

               8. Align Textures  (Y offset)

                    Align the textures on the Y offset.  The first linedef
                    selected is used as the reference point.  This is for
                    Up/Down alignment.

               9. Align Textures (X Offset)

                    This may be used on a group of linedefs that follow each
                    other.  The first linedef selected is used as the
                    reference.  This is for left/right alignment.

          Sector Mode
          -----------

               2. Rotate and Scale Sectors

                    Move marked sectors by the degree of rotation and a
                    percentage scale.  This will allow you to rearrange
                    sectors by spinning them around (change rotation angle)
                    or moving them closer to each other (scale < 100%) or
                    further apart (scale > 100%).  This will NOT move the
                    "Things" in the sector.  After rearranging the sector,
                    you may have to go into things mode and select them and
                    do the same rotation/adjustment on them.

               3. Make door from sector

                    To use this, select a sector that is between two other
                    sectors and then activate this function.  The Linedefs,
                    Ceiling height, textures, etc... will be modified
                    accordingly.

               4. Make lift from sector

                    To use this, select the sector that is to become the lift 
                    and then activate this function.  The Linedefs, textures,
                    etc... will be modified accordingly.

               5. Distribute Floor heights

                    This function will take the difference in floor heights
                    between the first and last sector selected, divide it by
                    the number of sectors in between and then distribute the
                    result across the floor heights of the in-between sectors.
                    This is very useful for setting floor heights on stairways.

               6. Distribute Ceiling heights

                    This function will take the difference in ceiling heights
                    between the first and last sector selected, divide it by
                    the number of sectors in between and then distribute the
                    result across the ceiling heights of the in-between
                    sectors.  This is very useful for setting ceiling heights
                    on stairways.


F9        Insert a predefined object.

          This function has two different modes depending upon where the
          pointer is located.  The two conditions are 1. Inside of a sector
          and 2. Outside of sectors (not inside ANY sector).

          Outside of sectors
          ------------------

          1. Insert a Rectangle

               Enter the width and height (length) of the rectangle and DEU
               will automatically insert the vertices, lindefs+sidedefs, and
               sector at the current pointer location.  Think of this as
               adding a rectangular room.

          2. Insert a Polygon (N-sided)

               Enter the number of sides and a radius and DEU will
               automatically insert the vertices, linedefs+sidedefs, and
               sector at the current pointer location.  You can do anything
               from a triangle to a 32 sided polygon.  Think of this as
               adding a N-sided room.


          Inside a Sector
          ----------------

          1. Insert a Rectangle

               Same as outside a sector, but first sidedefs will be set to
               the sector they are contained in.  Think of this as inserting
               a rectangular pillar.

               NOTE: Pressing "Ins" after inserting the rectangle will create
               a new sector inside the rectangle and cause the walls to be
               changed to transparent.  Use this to define a new area inside
               a sector.

          2. Insert a Polygon (N-sided)

               Also the same as outside a sector, but the first sidedefs will
               be set to the sector they are contained in.  Think of this as
               inserting an N-sided pillar.

               NOTE: Pressing "Ins" after inserting the polygon will create a
               new sector inside the polygon and cause the walls to be
               changed to transparent.  Use this to define a new area inside
               a sector.

          3. Stairs
               Insert a stairway.
               (Not yet implemented.)

          4. Hidden Stairs
               Insert a hidden stairway.
               (Not yet implemented.)


F10       Check level consistency (Diagnostics)

          When using the following diagnostics if an error is reported you can
          press return to continue checking or press Esc to select the problem
          object.


          1. Number of Objects

               This option gives a count of the number of things, vertices,
               linedefs, sidedefs, and sectors.  It also displays the amount
               of bytes needed to store this information in a PWAD file
               (Rounded to the nearest Kbyte).

          2. Check if all sectors are closed.

               This will test all sectors and make sure they are closed.  If
               they are not closed it reports the number of the unclosed
               sector.

          3. Check cross references 

               Verify the integrity of the level and help locate possible
               problem areas.  This will help to locate orphaned sidedefs,
               etc.  This will also remove extraneous LineDefs if there are
               two LineDefs between the same vertices.

          4. Check for missing textures.

               Report any sidedefs that may need to have a Normal/Upper/or
               Lower texture defined.

          5. Check Texture Names.

               Some other editors will let you enter texture names which are
               not correct.  This function will help fix their mistakes.


[4.3] Mouse Commands
--------------------

If you have a mouse, the following actions are available:

Left button    : Mark/Unmark object (same as "M").
Middle button  : Edit object (same as "Enter").
Right button   : Drag object (like "D" when you press or release
                    the button).
Move mouse     : Move the pointer.


You can change the buttons using the -sb (swapbuttons) switch
when starting DEU or in the DEU.INI file.  Swaps the left and middle 
buttons



[4.4] The Menu Bar
------------------

Along the top edge of the Level editing screen there is a Pull-Down menu bar
with a number of options including File, Edit, Search, Modes, Objects, Misc,
and Help.  These menu options can be pulled down by either pointing and
clicking on them or by holding down the ALT key and pressing the Underlined
letter from the menu bar.  Once the menu is pulled down press the highlighted
letter of the command to use it.

The functions on the Pull-Down menus are as follows:


File [ALT-F]

     Save

          Save the level as a WAD file.

     Save As

          This will allow you to reassign the episode and level number of a
          map.  Enter a file name, then select the episode/level number.

     Print
          (Not yet implemented)
          Print a picture/description of the map.

     Quit

          Exit the level editor.  Save file if changes have been made.


Edit [ALT-E]

     Copy Object

          Used to copy (groups of) things, vertices, linedefs and sidedefs,
          or sectors.

     Add Object

          Same as "Ins" key.  (See long description above)

     Delete Object

          Same as "Del" key.  (See long description above)

     Preferences

          Use this to change the default values for wall, floor, and ceiling
          textures, and floor and ceiling heights. These defaults are for
          your current DEU session only.

Search [ALT-S]

     Find/Change
          (not yet implemented)
          Search for a specific object type.

     Repeat last find
          (not yet implemented)
          Perform the search again to find the next match.

     Next Object

          Go to next object.

     Prev Object

          Go to previous object.

     Jump to Object #

          Go to a specific object number.

Modes [ALT-M]

     (Changes current editing mode.)

     Thing Mode          T
     Linedef & Sidedef   L
     Vertices            V
     Sectors             S
     Next Mode           Tab
     Last Mode           Shift-TabMisc [ALT-I]

Misc [Alt-I]

     (Same as F8 keyboard command.  See description of F8 key above.)

Objects [ALT-O]

     (Same as F9 key in Keyboard commands.  See description of F9 key above.)

Check [ALT-C]

     (Same as F10 key in Keyboard commands. See description of F10 key above.)


Help [ALT-H]


     Keyboard & Mouse

          Same as F1 key.

     Info Bar

          Turn on/off Info Bar at bottom of screen.  This bar displays editing
          modes, grid size, and zoom levels. 

     About DEU...  (not yet implemented)
          Brief information about the DEU programmers and the contributed work
          from the net.

=====================================================================
[5] WAD file description, flags, etc.
=====================================================================


The DEU works by editing the database that DOOM uses to store its
information about each of the levels.  These database files are called
WAD files.  There are two types of WAD files.

IWAD File:

        This is the main data base file. It contains all the
        information about the graphics, sound, level maps, etc of the
        game.  There is only one IWAD file called DOOM.WAD and it
        must be in the current directory when DOOM is run.

PWAD File:

        This is a special patch of the IWAD file.  It contains
        updates about the IWAD file.  PWAD files created by DEU will
        contain an updated map of a game level. PWAD files can be called
        anything.  When running DOOM, DOOM must be told to load a PWAD
        file.  This is done with the -FILE parameter.  PWAD files are 
        small so they can be easily shared.

[5.1] Vertices (description of)

     Vertices are simply points.  Each vertex has an x,y coordinate on a map. 
     DOOM maps are 2 dimension so there is no z coordinate.  Vertices are used
     as the starting and ending points of LineDefs (see below).

[5.2] LineDefs (description of)

     Lines which define boundaries in the map.  These boundaries define the
     borders of a sector or the location of a trigger that you walk across.
     Each LineDef has a starting vertex and and ending vertex.  There is a
     first and second side to every linedef.  Either side may have a reference
     to a SideDef.  LineDefs are also what is used as triggers and/or switches
     for special sectors.

[5.3] SideDefs (description of)

     Every visible side of a LineDef must have a SideDef.  The SideDefs are
     used to put wall textures on.  (See description of upper/lower/normal
     textures below.)  An enclosed set of SideDefs is what defines a Sector.

[5.4] Sectors  (description of)

     A Sector is made up of a group of 3 or more enclosed SideDefs.  A sector
     can be viewed as a room or an area within a room.  Sectors contain ceiling
     and floor height information, ceiling and floor textures, special sector
     information (does it hurt to be there?  did you find a secret if you
     enter?)  Sectors are the only structure that "moves" in DOOM.  Lifts,
     Staircases, Doors, are all specially defined sectors.

[5.5] Things   (description of)

     There are many types of Things in DOOM.  Player Start points, Enemies,
     Bonuses, Weapons, Keys, and Decorations.


[5.6] LineDefs attributes
-------------------------

Some abbreviations have been used for the LineDef attributes:

Im (bit0)      Impassible by players and monsters.
Mo (bit1)      Monsters cannot cross this line.
2S (bit2)      Two-sided wall/may shoot through.
Up (bit3)      Upper texture is "unpegged".  Try it with moving 
               ceilings or doors.
Lo (bit4)      Lower texture is "unpegged".  Try it with moving
               floors or lifts.
Se (bit5)      Secret.  This line appears as normal on the map.
So (bit6)      Blocks sound.  The sounds won't travel past this
               line.
In (bit7)      Invisible on the map.  Even with the "computer
               map" power-up.
Ma (bit8)      Already on the map at startup.

[5.7] LineDef types
-------------------

The first two letters in each LineDef type give its features.
The first letter may be:

D    Door.     Press the spacebar to open it.
S    Switch.   Press the spacebar to activate this LineDef.
W    Walk.     Walk across this LineDef to activate it.
G    Gun.      You need to shoot that LineDef to activate it.

Except for doors ("D") and the "end level" LineDefs, all linedefs that
activate a sector need a "Sector tag" number and at least one Sector 
with the same tag number to operate.

The second letter may be:

R    Repeatable.
1    Works only once.

Abbreviations are also used in the type name.  They refer to
what happens to the Sector when triggered by this LineDef:

O    Stays Open.  Used only for doors.
N    Neighbor.  Usually, this means that the floor rises or
     lowers until it reaches the floor height of an adjacent
     sector on its way.  In the menus, I have used "Ne." instead.
T    Texture and Type change.  Same as above, but the texture and
     type of the Sector are also changed.  The new Sector floor texture
     and type are copied from the Sector where the switch or walk-though
     LineDef is, not from the adjacent Sector(s).
C    Ceiling.  This means that the floor rises until it reaches
     the ceiling height of one adjacent Sector.
<,>  Used as modifiers for the above letters.  "<N" means that
     the floor will stop just below a neighboring floor.



[5.8] Normal/Upper/and Lower Textures
-------------------------------------

    These are the Three parts of a sidedef.

    Upper Texture is used to account for variations in ceiling height.
    The sidedef facing the sector with the higher ceiling must
    have an upper texture defined.

    Lower Texture accounts for variations in floor height.  The sidedef
    of a line that faces a sector with a lower floor height must have a
    lower texture defined.

    The Normal Texture is used for the surface of the sidedef which is
    below the ceiling height and above the floor height.

    Notice:  The LineDef/SideDef editor displays upper/lower texture
    boxes in RED if they are transparent and shouldn't be.  They will
    be grey if they are not visible and should be left transparent.
    If they are visible they will be black (transparent or not).  This
    is very helpful in eliminating the Hall of Mirrors effect caused by
    missing texture assignments.



=====================================================================
[6] Special DOOM Areas.  Lifts, Doors, and more!
=====================================================================

Tag numbers are used to uniquely identity a structure within the
level.  There are tag numbers for both sectors and for linedefs.
For example, if a switch is used to activate a Sector, then both
this Sector and the LineDef with the switch will have the same
tag number.

[6.1] Doors
-----------

A door is a Sector which usually starts with its ceiling at that
same height as its floor (door closed).  When the player presses
the spacebar, the ceiling will rise, opening the door.  On both
sides of the door, you need one of the "D" LineDefs types.  You
don't need to give a tag number to the Sector or the LineDefs.

If you want to be able to open this door with a switch, then you
need to give the same tag number to the Sector and the switch.
Pick any number that is not used by another LineDef or Sector.

Front and Back sides of Door:

The lines that you walk through on the door should be "passable"
(not Impassable), and two-sided (flags = 4).

The Sidedefs that are on the outside of the door should NOT have
a Normal or Lower texture.  They should have an Upper Texture.
The Sidedefs on the inside of the door should not have any
textures (Normal, Upper, or Lower).

Left and Right side of Door:

Nothing special here.  You may want to pick a Door-like texture
for the sidedefs like "DOORTRAK".

[6.2] Lifts
-----------

A lift is a sector surrounded by LineDefs with the "Lower lift"
or "Raise lift" type.  All LineDefs between the upper floor and
the lift will have the "Lower lift" type.  All LineDefs between
the lower floor and the lift will have the "Raise lift" type.
Usually, you also have some "Lower lift" LineDefs on the 
lower floor, a few steps away from the lift.

The "Raise lift" type is a special case: when you cross this
line, the lift will go up.  If the lift is already up, it 
will act as a switch that lowers the lift.  

In the editor, you will see a short line on one side of the LineDef
when you select it (this is the normal vector).  In the game, the
player must come from this side or else the lift won't work.

Don't forget to give a tag number to the Sector and the LineDefs!

[6.3] Teleporters
-----------------

You need two things to make a teleporter:

- One LineDef with the "Teleport" type and a Sector with the same
  tag number.
- A special Thing in this sector, called "Teleport exit"/
  "Teleport landing".

You may have several LineDefs that point to the same Sector, but
you must have one and only one Sector with the same tag number.

This only works if the line is crossed from the right side (see [6.2]).
If the teleporter worked on the two sides of the LineDef, you wouldn't 
be able to exit from it!

[6.4] Rising Stairs
-------------------

A raising staircase is created by defining a set of adjacent sectors at the
same elevation. The sector that will be the first (lowest) step is assigned 
a LineDef tag corresponding to a Linedef of the Raise Stairs type. Each step 
will raise to an elevation of 8 higher than its next lower neighbor, or 8 up 
from its original level in the case of the first step.

If we define a set of sectors at an elevation of 0 as shown below:

    +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
    |     |     |     |     |     |     |     |     |     |     |
    |     |     |     |     |     |     |     |     |     |     |
    |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  A  |
    |     |     |     |     |     |     |     |     |     |     |
    |     |     |     |     |     |     |     |     |     |     |
    +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+

with sector _1_ connected to a Raise Stairs LineDef, the sectors that will
form the stairs are those sectors that

    1. Are at the same elevation as the first 'step' sector.
    2. Share a LineDef with a sector that is part of the stairs.
    3. The _first_ SideDef of the shared LineDef is part of the stairs.
    4. The shared LineDef has a _lower_ LineDef number than any other
       LineDef facing 'into' (by condition 3) the previous sector.

For example, if the linedefs were defined as follows:

    +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
    |     |     |     |     |     |     |     |     |     |     |
    |     |     |     |     |     |     |     |     |     |     |
  --|  1--|  2--|  3--|  4--|  5  |--6--|  7--|  8--|  9--|  A--|
    |     |     |     |     |     |     |     |     |     |     |
    |     |     |     |     |     |     |     |     |     |     |
    +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+

If Sector 1 was the first 'step', then Sectors 2, 3, 4, and 5 would be part 
of the staircase. Because the LineDef between Sectors 5 and 6 'faces' _away_ 
from Sector 5, Sector 6 will not raise when the staircase is triggered. If 
Sector 5 had a Floor elevation of 10, it would not become part of the 
staircase; only sectors with their Floor levels at the same level as the 
first step will be part of the staircase, regardless of the 'facing' of the 
LineDefs connecting them.

The facing of the LineDefs making up the _sides_ of the staircase is 
important; you can make turning or spiral staircases, but you can also make
staircases that elevate the floor of a room instead. Expanding the example, 
let us assume that Sector 0 is everything surrounding the sectors that are 
defined:

    +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
    |     |     |     |     |     |     |     |     |     |     |
    |    b|     |     |     |     |     |     |     |     |     |
  --|  1--|  2--|  3--|  4--|  5  |--6--|  7--|  8--|  9--|  A--|     0
    |     |     |     |     |     |     |     |     |     |     |
    |  |  |  |  |  |  |  |  |  |  |  |  |     |     |     |     |
    +--|--+--|--+--|--+--|--+--|--+--|--+-----+-----+-----+-----+
       a

Now the LineDefs that make up the lower 'side' of Sectors 1 through 6 'face'
into the staircase. If the LineDef number of the LineDef between Sector 1 
and Sector 0 (labelled 'a' above) is _lower_ than the LineDef number of the
LineDef number of the LineDef between Sector 1 and Sector 2 (labelled 'b' 
above), then when the stair is triggered, Sectors 1 and 0 will rise, then 
Sector 0 will rise further. This is not likely to be what you want.

When creating a set of sectors to become an elevating staircase, make sure 
that either:

    a) All the LineDefs _except_ the ones defining the path of the staircase
       face _away_ from the staircase's sectors, or
    b) The LineDefs defining the path of the staircase, within a Sector, 
       have _lower_ LineDef numbers than any other LineDef facing into that
       Sector.

The LineDef tag for sectors composing a staircase are, except for the sector 
that is the first step, irrelevant; the only use for non-zero LineDef tags 
in any other staircase sector is to have the editor flag the sector in a 
different color so the user can see where the limits of the staircase are. 
It is the sector elevation and the LineDef facing that determine the limits
of a staircase.


[6.5] Secret areas
------------------

All you need to create a "secret" area is to give the special
type "Secret" to some Sector.  When the player steps on that 
Sector, the players secret ratio will be credited.

If the secret sector is behind a secret door (one that has nearly
the same color as the other walls), you probably don't want the door to be
shown on the map (the automap uses different colors for walls and doors).
You will need to toggle the "Secret" flag in the LineDef attribute.  Then
the door will be shown as a normal wall on the map.

[6.6] Standard Rooms
--------------------

We already hear you say: "All this stuff about doors, lifts and so
on is great, but how do I create a new room in my level?"...

Each room consists in one or several Sectors surrounded by impassable
LineDefs.  If you want to have dark and bright zones in your room,
then you will need to divide the area into several Sectors.  The
LineDefs between these Sectors should have the "two-sided" bit set
and have a transparent texture ("-").

The easiest way to add a new sector is with the 'F9' key.  Select
the kind of shape that you want to insert, then enter its dimensions.
Note that the position of the pointer is important when you press 'F9'.
If the pointer is inside an existing Sector, then you will add an
obstacle (i.e. the new object won't have a Sector inside it - only
walls).  If the pointer is outside, then you will add a real room (with
a new Sector inside it).  You can use the "obstacle" type and add a new
Sector inside it.  Just press 'Ins' while the LineDefs are still
selected.




=====================================================================
[7] How to try out your new level(s)
=====================================================================

     To Run DOOM with your new level:

            >     DOOM -FILE E1L1.WAD

                will load the normal doom game and the use the
                E1L1.WAD file to patch the data base. 

     More than one PWAD file can be loaded. E.g.:

            >    DOOM -FILE E1L1.WAD E1L2.WAD BRENDON.WAD RAPHAEL.WAD



=====================================================================
[8] Troubleshooting
=====================================================================

[8.1] Cannot switch to graphics mode.
-------------------------------------

If the program crashes with the following error: "mode not supported
on this card", or simply hangs after having displayed the message
"switching to graphics mode", then you have a problem with your
video driver.

If your card's BIOS is not VESA-compatible, then you will need the
UNIVESA driver, available on many FTP sites.  This TSR provides a
good VESA emulation for the most common VGA and SuperVGA cards.

If that still doesn't work, try using a different BGI driver or
video mode (the command line parameter "-v 0" forces DEU to use
the standard VGA modes only).

[8.2] Pointer is not displayed.
-------------------------------

Your mouse driver is not compatible with SuperVGA resolutions.

Try the following, in that order:
1) Upgrade your mouse driver, if possible.
2) Add "fakecursor = true" to the DEU.INI file (or whatever
   config file you use).
3) Add "video = 0" to the DEU.INI file.

[8.3] Hall of mirrors effect  (HOM).
------------------------------------

The hall of mirrors effect is an indication that something 
is wrong with your map.

Two common causes of this problem are:
- You forgot to give a texture to one part of a wall.
- You have a transparent line which is shared by two sectors,
  but you forgot to set the "two-sided" (2S) flag for the LineDef.

You should run all tests from the 'F10' menu to check for these errors.

If everything appears to be correct (no warnings during the checks), then
maybe you have too many two-sided LineDefs in the same room.  There is a
limit in Doom's graphic engine on the number of two-sided LineDefs that
can be displayed at the same time.  Solution: delete some of them.  Sigh!

But it may also be a problem with DEU's Nodes builder.  You may try to use
different values for the "splitfactor" command line parameter, and see if
that solves the problem (use positive values; 8 is the default; 16 or more
may solve some problems).  If that still doesn't work, you will have to wait
for the next release of DEU or use the excellent BSP program, available on
most FTP sites (look for bsp11x.zip).


[8.4] The 'Ruler' cursor leaves garbage on the screen.
------------------------------------------------------

This is a bug in the EGAVGA.BGI driver.  It does not support XOR mode for
circles.  Solutions: use another driver (VESA, for instance) or recompile
DEU with the symbol NO_CIRCLES defined.  This will draw squares instead of
circles.


[8.x] Can't relax after playing DOOM?  (Coming down off a DOOM rush)
--------------------------------------------------------------------

Watch a Bob Marley concert video and have a smoke.    8-}'



=====================================================================
[9.0] Tutorial
=====================================================================

The /TUTOR directory contains the deu tutorial, a sort of step-by-step
instruction booklet to creating a level from scratch.

Print the TUTOR.DOC file and follow along with the wad files.

=====================================================================
[10.0] Tips
=====================================================================


[10.1]  Generic editing tips.

  SAVE YOUR WORK!

        SAVE YOUR WORK OFTEN (with different file names) and test it every
        so often to make sure it's looking like you want it to.  DEU makes
        a .BAK file but if things get really messed and you saved twice
        with the same file name you may lose your work.

  Inserting Linedefs

        When marking vertices to add linedefs, do so in CLOCKWISE order.
        This will make sure that the Normal (or first) side of the line 
        is on the inside of your sector.  DEU likes this better and 
        so will you!

        Use clockwise order if you want to add a new sector outside (not
        inside any sector).  This is the case most of the time.
        Use anti-clockwise order if you want to add an obstacle inside an
        existing sector (i.e. all first sidedefs will be on the outside of
        the area you just defined).

  Texture Alignment

        All the texture sizes (Ceilings, Floors, and Walls) are based on 
        multiples of 8 pixels.   You can use the grid feature to help 
        align the length of linedefs.  You might even try mathematics
        (I know, it's scarier than Doom... ;-)  See the TUTOR.DOC file for 
        an example of using the texture alignment fields.

  Tag Numbers  

        Sectors may have a Tag number associated with them.  A linedef
        that has the same tag number can be used to activate the 
        sector by walking across it or pressing it like a switch.
        The tag numbers are an independant table that is used to link
        the actions of linedefs and sectors together.  The fact that the
        Tag numbers are independant means that a single tag number can
        multiple lindefs to a sector.



  Things (what order)

        Add a player 1 start as soon as you've built your first
        sector.  WAIT until your done building all the sectors
        before you add enemies and weapons.  This way you won't
        have to waste time killing them every time you go to
        test out your creation.  Decorations should also come
        before the enemies.  (This WILL save you time, but,
        if you feel the need to kill something every time you test 
        your level, go ahead and satisfy your desire for carnage.)


  Vertices, Linedefs, and Sectors... suggested order to do them in.

        First add all major rooms using F9 menu.  Then use F9 menu to
        insert obstacles or different areas inside these rooms.  Connect
        the rooms by selecting two vertices from each (in clockwise order)
        and press "Ins" twice.  Now go ahead and add more walls or sectors
        using the vertices method.  Drag some walls on top of some others
        if you want to join two rooms.  Then set the textures of walls and
        ceilings and height of sectors.  Add a player 1 start thing and
        compile it and take a walk through it.  Then go back and fix things
        and add decorations.  Add enemies last so you don't have to deal
        with them every time.  Remember to add enemies based upon difficulty
        level.


  Stairs

        The maximum difference between floor heights for stairs is
        somewhere close to 24.  Typical values for the height differ
        by 16 units.  (Most of id's stairs use 16, although some of id's 
        stairs go by 8.)


  General

        Good things come to those who.... WORK!

        It takes TIME to build a good wad file.  The first really cool
        wads we've seen produced with DEU took in excess of 15 hours.
        Granted, that included time to learn the latest release of DEU,
        but we expect that it will take somewhere between 6-20 hours
        to churn out a really good level.   Don't be discouraged.  You
        can start out with a simple level and expand on it as time
        permits.

        Theme!  Theme I tell you!  And a little continuity wouldn't hurt
        either.  We've made a couple wads without any continuity and
        found that they looked, well... amateur.  The sample levels
        in the tutorial have little continuity and are in no way
        meant to demonstrate what a good level looks like, rather,
        these were built to show how things work.

  Including your own demo in a PWAD.

        > doom -devparm -record E1M1 -file E1M1.WAD
        > deu
            > R E1M1.WAD
            > I E1M1.LMP DEMO1
            > R DEMO1.WAD
            > G MYLEVEL.WAD
        > doom -file MYLEVEL.WAD


  Special Tag Numbers

        The only special tag number we know of yet is tag number 666.
        It is used to lower a sector after all the Barons of Hell have
        been eliminated on E1M8.  We haven't tested to see if that
        works on any other ExMx levels.  Let us know!


  Death of Bosses ends level

        This is only true at the End Levels (ExM8).  When all of the
        bosses that are tougher than a baron of hell die, the level
        ends.


  Exits for Single, Coop, and Multiplayer

        It IS possible to create a level suitable for single-player games
        AND protect the exit in Deathmatch games so that players must
        cooperate in order to exit.  There are many ways to do this, and
        most of them are based upon when Things are available (See the When
        Appears item in Things mode).

        One simple way is to have two doors that lead to the exit.
        In multiplayer: Door "A" could be blocked by having a lamp in front of
        it.  Door "B" would require a distant switch to be pulled so that the
        player pulling the switch couldn't reach it by themselves.
        In single player (and Cooperative) mode Door "A" would not be blocked
        by any object nor require any switch to be pulled.  This is just one
        of many possible ways to make a wad playable by a single player but
        require cooperation to exit in Deathmatch mode.





[10.2]  DEU/DOOM Limits....


        Maximum size of a wad file created with DEU 5.2:  This depends on how
        much base memory you can free up.  The more free ram, the bigger the
        WAD can be.  If you are using the GCC version of DEU, you will be able
        to create a wad as big as your total memory (standard + extended): you
        can create a huge wad file with this...
        
        X,Y locations of vertices:  somewhere in excess of -10,000 to 
        +10,000.  It could be -32768 to + 32767.  Note however that
        DEU might get a little weird if your vertices are too far
        apart.

        Maximum number of sector tags: 255

        Maximum number of enemies/things that can be displayed at a 
        time: Somewhere near 64.  We've seen that when there are too many
        some of them will disappear and reappear.  This looks really bad.  

        The doom engine (v1.2) can handle floors & cielings from -32768 to 
        +32768 as long as the difference in a sector is not more than 1000.
        DEU imposes a limit of 16384 as a safety feature and will check for
        the ceiling/floor difference when you run the 'check textures' test.

        The Maximum 2S linedefs that you can see from any point before DOOM
        engine limit causes HOM (Hall of Mirrors effect): Somewhere near 16.

        Maximum stair you can climb: 24 units.

        Minimum floor to ceiling distance that you can walk through:  Near 60 
        units.

        Minimum wall distance you can squeeze through: 34 units.

        Number of hours playing doom before your spouse (or friend) files a
        certificate of your death and claims benefits:  Do you really want to
        find out?  Spend a little quality time with them!


That's it people.  We hope you enjoy this editor and that it adds a ton of
replay value to the game.  This, of course, until the next big release from
id software.  DOOM: Hell on Earth.   Possessed humans with chainguns, demon
reanimators, and more.  We can feel it coming on like an earthQUAKE!

Oh, and don't worry... There's tons of copies of the source code, so DEUHOE
(or whatever) probably won't take too long.  About two weeks... ;-)
<big wink>
