home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Complete Doom Accessory Pack 3
/
TheCompleteDoomAccessoryPackVolumeIiiCd.bin
/
editors
/
deu521
/
deu.txt
< prev
next >
Wrap
Text File
|
1994-05-20
|
60KB
|
1,601 lines
_______________ ___________ _____ _____ ___________________
\ ------------\\ //---------\\ //----| |----\\\ --------------//
|| ||\|| ===========\|| || || || || ||
|| ======= || || ||\_________|| || || || || ============|
|| || || || || || | || || || || || ||__________|
|| || || || || ||========/\|| || || || || ||
|| || || || || // /|| || || || || ||
|| || || || || ||=====// / || || || || || ||=========\
|| || || || || ||\------/ || || // // || \\
|| || // \\|| \\| /===/\ || || // // / || ||
|| ||// //\\\ \\//// ||\\ \\// // / |//============\\ ||
|| |/ // / \\ // / / \\ // / //------------ || ||
|| // / \/ / \ \======/ / | || ||
|| // / \/ \--------/ /\=====\\ || ||
|| // / / \\ \\|| ||
|| // / \ \\ \\| ||
||// / 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-TabMisc [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>