Contents

WinDEU 5.24: Windows DOOM  Editor Utilities

based on the code of

DEU 5.21: DOOM  Editor Utilities

[1] Introduction

[2] Starting WinDEU

[3] WinDEU Main Menu

[4] The Level Editor

[5] WAD file description, flags, etc...

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

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

[8] Troubleshooting

[9] Tutorial

[10] Tips


[1] Introduction

WinDEU 5.24: Windows DOOM  Editor Utilities

based on the code of

DEU 5.21: DOOM  Editor Utilities

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

D   O   O   M

© id software

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

WinDEU is based on the DEU 5.21 source code (for about 60%). The current version of WinDEU support DOOM1,  DOOM 2, and HERETIC.

This help file is based on the DEU 5.21 documentation file, and has been updated with WinDEU new features and dialog boxes.

See also:

[1.1] Installing WindDEU

[1.2] WinDEU Features


[1.1] Installing WindDEU

There are currently two versions of WinDEU:

•	A Windows 3.1 (Win16) version, zipped in W16DEU52.ZIP.

•	A Windows NT (Win32) version, zipped in W32DEU52.ZIP . You need Windows NT or Win32s for Windows 3.1 to run this version. WinDEU32 is faster than WinDEU, thanks to 32-bit memory management.

Instructions to install WinDEU:

•	Create a directory to install WinDEU

•	Unzip W16DEU52.ZIP (or W32DEU52.ZIP)

•	If you want 3D controls in the dialog boxes, copy the ctl3dv2.dll (and/or ctl3d32.dll) file from the ctl3dll directory to your Windows system directory (usualy c:\windows\system).

IMPORTANT:	Don't put the ctl3dv2.dll (and/or ctl3d32.dll) in the WinDEU directory, or the 'dll' will tell you it's no correctly installed when you start WinDEU.

•	Edit the windeu.ini file to suit your configuration (entering your doom/doom2/heretic directory is essential).

•	Add an WinDEU program item in one of your program group.

•	RunWinDEU by clicking to program item.

•	If you are new to WinDEU, look at the 'Tutorial' in the help menu.

See also:

Starting WinDEU


[1.2] WinDEU 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.

*NEW* Contextual menus with Right mouse button.

Special Features

Insert a Predefined object

Rectangle

Nsided Polygon

'DragnDrop' 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.

*NEW* A toolbar with bubble tips

*NEW* UNDO/REDO functions

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 nonstandard 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 WinDEU it!


[2] Starting WinDEU

WinDEU may be started by executing WinDEU in the Program Manager, or be creating an icon for the program. Sorry, but there's no "install" program yet.

Note:	VERY IMPORTANT for you guys who never read help files: WinDEU need to know where is the DOOM.WAD (or DOOM2.WAD) file. So, you *MUST* edit the windeu.ini file and modify the line "main=..." to set up the path of your Doom main wad file.

Example:	main=c:\games\doom

WinDEU [options]

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

WinDEU [options] file <PWAD file> [<PWAD file>...]

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

WinDEU [options] w <IWAD file>

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

See also:

[2.1] Command line parameters

[2.2] Preferences settings

[2.3] Initialization file


[2.1] Command line parameters

Note:	The command-line options of WinDEU are just for compatibility with DEU. WinDEU allows the change of nearly all these parameters in the new preferences dialog box, but for the current session only.

 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 WinDEU.

-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.

Note:	With WinDEU, you can easily use an additive selection box with the SHIFT key, so this option is now obsolete. See Mouse Commands

 -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 LineDefs will be listed.  This file will be called "WINDEU.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)

Display the info bar in the level editor.

q   (quiet)

QUIET! suppresses the sound made when you select or mark an object.  Use it if you're in a library :)

qq   (quieter)

QUIET^2!  Complete silence.  WinDEU 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 "File" menu.

pw <pwad>   (pwad)

Add ONE patch file to be loaded.

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 WinDEU.INI

3d	(3dcontrols)

*** WinDEU NEW ***

Don't use the 3D controls style in the dialog boxes.  This looks better, but you need a dll.

See Installing WindDEU

dl (drawlength)

*** WinDEU NEW ***

Draw the moving LineDefs length in Vertexes and LineDefs editing mode.

bp (buildpriority)

*** WinDEU NEW ***

Set the priority of the nodes builder when rebuilding a level. This priority determines the minimum number of milliseconds the builder will compute before giving control back to Windows. If you set 20, it means WinDEU will gives back control to Windows approximately (at most) 50 times a second. Since this setting is independant of your CPU speed, you shouldn't use a value too small is your CPU is slow. For example, Using a BuildPriority of 1ms with a 386SX16 will increase the overhead of multi-tasking and the nodes builder will be slow.

mu (maxundo)

*** WinDEU NEW ***

Set the maximum number of UNDO/REDO entries in the level editor. Each UNDO entry takes as much memory as the map objects, so don't be too genererous about this one. The default value is 5.

gs (gridsize)

*** WinDEU NEW ***

Set the initial grid size of the level editor. Legal values are 0, 8, 16, 32, 64, 128, 256. Default value is 8.

sg (showgrid)

*** WinDEU NEW ***

Set the initial "show grid" option in the level editor. Be default, the grid is not shown when entering the editor.

ng (snaptogrid)

*** WinDEU NEW ***

Set the initial snap to grid option in the level editor. Be default, the "snap to grid" option is off when entering the editor.

See also Preference Settings, Initialization file WinDEU.INI


[2.2] Preferences 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>

See also:

Initialization file

Command Line Parameters

Preferences


[2.3] Initialization file

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

Note:	The syntax of the WINDEU.INI file is a little bit different from the usual syntax of Windows INI file (i.e. comments are introduced by "#" instead of ";", no sections).

This may be changed in future version of WinDEU, but, for now, WinDEU still uses the syntax of DEU initialization file.

ALL of the command line options may be used in WINDEU.INI with the exception of "help" and "config".  Commands in WINDEU.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 WINDEU.INI file:

#*****************

reminder1 = false

#*****************

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


[3] Main menu

The WinDEU main menu is used to manipulate WAD files, view pictures and enter the level editor.

See also:

[3.1] File

[3.2] Editor


[3.1] File

The file popup menu is dedicated to wad files manipulations:

See also:

Open WAD file

Save object

Build new main

Group WAD files

Insert RAW file

Extract object

List master directory

List opened WAD files

Exit


Open WAD file

Open a previously saved patch WAD file.

•	Select the WAD file in the file dialog box. The WAD file entries are added to the Master File Directory.

•	Go to the File|List opened WAD files menu item to see the entries for this WAD file

Note:	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.


Save object

Save one object to a separate WAD file.

•	Enter the object name in the input box.

•	Select the WAD file name.


Build new main

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 reinstall DOOM to get back your original file.

•	Select to .WAD file name in the file dialog box

•	Wait for the main .WAD file to be constructed. This procedure may take some time, because WinDEU has to write 10Mb on disk.


Group WAD files

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.

•	Select the WAD file name in the file dialog box

•	Wait for the WAD file to be constructed


Insert RAW file

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!

•	Select the data file (.RAW) to be included in the file dialog box

•	Enter the name of the object in the input dialog box


Extract object

Extract and save one object to a separate .RAW file.

•	Enter the object name in the input dialog box

•	Select the data file name (.RAW) in the file dialog box


List master directory

List the MASTER directory of the IWAD and any PWAD files, all mixed together.


Master directory

This list box displays all the entries of the Master directory.

For each entry, is displayed its name, wad file, size (decimal) and starting offset in the wad file (hexadecimal).


List opened WAD files

List all the opened wad files and their entries.

•	Select the WAD file you want to list in the list box

•	Check the "Show level only" check box to display only the level entries of a WAD file


List of WAD files

The list box displays all the currently opened WAD files.


Entries of selected file

The list box displays all the entries of the selected file in the WAD files list box.


Show levels only

Check this check box to display only the levels entries (ExMx or MAPxx) of the selected wad file.


Exit

Quits WinDEU after a confirmation message box.


[3.2] Editor

The Editor popup menu is used to edit levels and view wads entries.

See also:

Edit level

Create level

Dump_entry

View Sprites

View Wall textures

View Floor Ceiling textures

Selecting level to edit

Viewing pictures


Edit level

Edit a level.

•	Select the level number you want to edit.You can select any Doom1/Heretic or Doom2 level which exists in the Master directory.

See also:

Selecting level to edit

The level editor


Create level

Create and edit a new (empty) level.

•	Select the level number you want to edit.You can select any Doom1/Heretic or Doom2 level which exists in the Master directory.

See also:

Selecting level to edit

The level editor


Dump entry

Dump in hex/ascii an object in the Master File Directory.

•	Select the object name to dump.


Entries

Select the entry you want to dump.


Hexadecimal dump

List box containing the hexadecimal dump of the selected entry. The first line remembers the entry selected with its size (decimal) in bytes.

Each line of the list box dumps 16 bytes from the entry. The first number (hexadecimal) is the offset in the entry, then there's are the 16 bytes (hexadecimal), then the 16 correponding characters (ascii).


View Sprites

View the Sprites.

•	Select the sprite name in the list box.

•	Use the Gamma Level slider to choose a good light level.

•	Use the Zoom slider to select a good size. If the Sprite is too big to be enterely displayed in the window, use the scroll bars or click the mouse button inside the window and move the mouse to scroll through the picture.

Note:	You will need at least a 256 color driver to see the real colors of the Sprites.

See also:

Viewing pictures


View Wall textures

View the Wall textures.

•	Select the texture name in the list box.

•	Use the Gamma Level slider to choose a good light level.

•	Use the Zoom slider to select a good picture size. If the texture is too big to be enterely displayed in the window, use the scroll bars or click the mouse button inside the window and move the mouse to scroll through the picture.

Note:	You will need at least a 256 color driver to see the real colors of the textures.

See also:

Viewing pictures


View Floor Ceiling textures

View the Floor/Ceiling textures.

•	Select the texture name in the list box.

•	Use the Gamma Level slider to choose a good light level.

•	Use the Zoom slider to select a good picture size. If the texture is too big to be enterely displayed in the window, use the scroll bars or click the mouse button inside the window and move the mouse to scroll through the picture.

Note:	You will need at least a 256 color driver to see the real colors of the textures.

See also:

Viewing pictures


Selecting level to edit

The same dialog box is used to choose a Doom1/Heretic or Doom2 level number.


Doom 2

Click this check box to toggle Doom1/Heretic and Doom2 level number input.


Episode number

Select the episode number of Doom1/Heretic.


Mission number

Select the mission number of Doom1/Heretic episode.


Doom 2 map number

Enter the Doom2 map number.


Viewing pictures

WinDEU let's you view almost any pictures from a WAD file.

There are three types of pictures:

•	The Sprites (Monsters, objects, ...)

•	The Wall textures

•	The Floor/Ceiling textures

Here's an example of the dialog box of Sprites viewing:


Select picture name

Select the name of the picture you want to display.


Picture display

This controls contains the picture. To move the picture when it'sis too big for the control, use the scroll bars or click the left mouse button inside and move the mouse.


Select zoom factor

Zoom In/Out the picture.


Select gamma correction

Select the gamma correction level for the picture. Useful if your monitor is too dark.


[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 edit mode

LineDefs edit mode

Vertices edit mode

Sectors edit mode

See also:

Keyboard quick reference

Mouse commands

The menu bar


[4.1] Keyboard quick reference

Basic Key Set:

Key	Action

Q	Quit

Esc	Exit (no save)

Scroll Lock	Autoscroll on/off

Space	Scroll slow/fast

+/-	ZOOM in or out

Tab	Next mode

Shift Tab	Previous mode

N	Next object

P	Previous object

J	Jump to object #

M	Mark/Unmark object

C	Clear all marks

O	Copy Object(s)

G	Set Grid Scale

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

Additional Speed Keys:

Key	Action

1,2,...,9,0	Direct Zoom setting

T	Things Mode

V	Vertices Mode

L	Linedef/Sidedef Mode

S	Sector Mode

>	Next Object

<	Previous Object

#	Jump to Object #

Shift-H	Grid Scale = 0

I	Info Bar On/Off

R	Ruler/Normal Cursor

Shift+Ins	Insert Lines and close sector

Ctrl	Move Pointer without selecting new object


Quit key

Q

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

Note:	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.


Escape key

Esc

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


Scroll lock key

Scroll Lock

Turn on/off the autoscroll feature. With WinDEU5.24, the scroll lock key affects only the mouse movements inside the editor window (when dragging objects or selecting with box), but the map scrolling is always possible with cursor keys and scroll bars.


Space key

Space

Toggle slow/fast movement speed and the scrolling speed.


Zoom keys

+, -

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)


Change edit mode keys

T

Switch to the Things editor, after unselecting all objects

V

Switch to the Vertexes (vertices) editor, after unselecting all objects.

L

Switch to the LineDefs/SideDefs editor, after unselecting all objects.

S

Switch to the Sectors editor, after unselecting all objects.

Tab

Switch to the next editing mode. If objects are marked, the objects they are built from remain marked.

Shift+Tab

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


Jump to object keys

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).


Mark objects keys

M

Mark/Unmark current object.

* Objects stay marked until you un-mark them. *

C

Clear all marks.


Copy object keys

O

Ctrl+C

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


Insert object keys

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.


Delete object key

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.


Grid keys

G

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

Shift+G

Increase the scale.

H

Alt-F6

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

Shift+H

Snap to grid on/off


Edit key

ENTER (or RETURN)

Edit the selected objects.

See also:

Things edit mode

LineDefs edit mode

Vertices edit mode

Sectors edit mode


Info bar key

I

Alt-F10

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


Ruler cursor key

R

Toggle between Normal Cursor and Ruler Cursor.


Ctrl key

Ctrl

Hold the Ctrl key while moving the cursor to prevent the pointer from selecting a different object.


Help key

F1

Help screen.


Save keys

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.


Search key

F4

Search for Object  (Not yet implemented)


Preferences key

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 WinDEU session only.  You may change the defaults for all WinDEU sessions by editing WinDEU.INI (See [2.3] Initialization file).

See also:

Preferences


[4.2] Mouse Commands

WinDEU use a *New* mouse interface. I made it to be like most Windows editing application.

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

Left mouse button (LMB)

Mark the current selected object and unmark others.

Shift + LMB

Mark/Unmark an object (without unmarking other)

LMB double click

Edit seleted objects if pointer on an object.

Right mouse button (RMB)

Display context sensitive edit menu if pointer on an object, else display a general edit menu.

Shift + RMB

Center map around pointer

Mouse move

If LMB pressed:

if pointer on an object, begin 'Drag mode'

else, begin 'Stretch selection box' mode. If SHIFT key pressed, the selection box will be additive

Else

select new current object under mouse pointer (if CTRL key not pressed)

Note:	Try in the editor, and it will be easy to understand.


[4.3] The menu bar

Along the top edge of the Level editing screen there is a PullDown menu bar with a number of options including File, Edit, Search, Misc, Modes, Misc, Check, Window, and Help.

File

Edit

Search

Things miscelaneous

Vertices miscelaneous

LineDefs and SideDefs miscelaneous

Sectors miscelaneous

Modes

Check

Window

Help

Edit [ALTE]

 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 [ALTS]

 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 [ALTM]

 (Changes current editing mode.)

 Things Mode

 Linedefs & Sidedefs

 Vertices

 Sectors

 Next Mode

 Last Mode

Misc [AltI]

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

Check [ALTC]

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

Help [ALTH]

 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 WinDEU...

Brief information about the WinDEU and DEU programmers and the contributed work from the net.


File

See also:

Save

Save as

Quit editor


Save

Save the level as a WAD file.


Save as

This will allow you to reassign the episode and level number of a map.  Select the level number (see Selecting level to edit) and the file to save to.


Quit editor

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


Edit

Edit objects:

Undo

Redo

Edit objects

Copy objects

Add object

Insert standard object

Delete objects

Preferences


Undo

Undo the last operation. The operation name to UNDO appears in the "Edit|Undo" menu item string between brackets. The number of UNDO levels is 5 by default, but can be changed in the initialization file. Remember each UNDO level takes as much memory as your map objects (meaning it can be quite a lot for big maps).

See also Redo


Redo

Redo the last operation.. The REDO function can only be used after an UNDO operation. The active REDOs are lost when you make a map change. The operation name to REDO appears in the "Edit|Redo" menu item string between brackets. The number of REDO levels is 5 by default, but can be changed in the initialization file.

See also Undo


Edit objects

Edit the selected object(s).

See also:

Things edit mode

LineDefs edit mode

Vertices edit mode

Sectors edit mode


Copy objects

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


Add object

Same as Insert object keys.


Insert standard 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).

See also:

Rectangle

Polygon


Rectangle

If pointer is outside of sectors:

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

If pointer is inside a Sector

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.


Polygon

If pointer is outside of sectors:

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.

If pointer is inside a Sector

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.


Delete objects

Same as Delete object key.


Preferences

The preferences dialog box lets you customize WinDEU.


Wall textures list

Select the wall texture you want to transfer to default texture. Double-click to open a preview dialog box.


Default upper texture

Default wall upper texture. Doucle-click here to preview the texture.


Transfer default upper texture

Transfer selected wall texture to default upper texture box.


Default normal texture

Default wall normal texture. Doucle-click here to preview the texture.


Transfer default normal texture

Transfer selected wall texture to default normal texture box.


Default lower texture

Default lower texture

Default wall lower texture. Doucle-click here to preview the texture.


Transfer default lower texture

Transfer default lower texture

Transfer selected wall texture to default lower texture box.


Clear default texture

Clear the default texture name.


Floor Ceiling textures list

Select the floor/ceiling texture you want to transfer to default texture. Double-click to open a preview dialog box.


Default floor texture

Default ceiling upper texture. Doucle-click here to preview the texture.


Transfer default floor texture

Transfer selected floor/ceiling texture to default floor texture box.


Default floor height

Enter default floor height. The difference between floor and ceiling heights should be less than 1000.


Default ceiling texture

Default ceiling texture. Doucle-click here to preview the texture


Transfer default ceiling texture
Transfer default floor texture

Transfer selected floor/ceiling texture to default ceiling texture box.


Default ceiling height

Enter default ceiling height. The difference between floor and ceiling heights should be less than 1000.


Default Builder priority

Enter the builder priority between 0 and 1000. See [2.1] Command line parameters


Default Split factor

Enter the split factor. See[2.1] Command line parameters .


Default Debug option

Toggle debugging mode.


Default Quiet option

Toggle quiet mode.


Default Quieter option

Toggle quiter mode.


Default Expert mode option

Toggle Expert mode.


Default Info bar option

Toggle the info (status) bar.


Default Additive selection box option

Toggle Additive selection box by default.


Default Select 0 option

Toggle Select object 0 when changing editing mode.


Default 3D Controls option

Toggle 3D controls in dialog boxes.


Default Draw LineDef length option

Toggle LineDefs length drawing when moving LineDefs in LineDefs or Vertices editing modes..


Default Maximum undo

Enter the maximum number of UNDO/REDO structures WinDEU will remember. Each of these structures takes as much memory space as the entire level, so enter a number with the memory available taken into account.


Search

Search and Jump to objects.

See also:

Find and change

Repeat last find

Next object

Previous object

Jump to object


Find and 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.


Previous object

Go to previous object.


Jump to object

Go to a specific object number.


Miscelaneous

The options that appear on this key vary depending upon which	  editing mode you are in.

See also:

Things miscelaneous

Vertices miscelaneous

LineDefs and SideDefs miscelaneous

Sectors miscelaneous


Free tag number

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.


Things miscelaneous

Miscelaneous operations on Things:

Free tag number

Rotate and scale Things


Rotate and scale Things

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 miscelaneous

Miscelaneous operations on Vertices:

Free tag number

Rotate and Scale vertices

Delete Vertex and join LineDefs

Merge several Vertices into one

Add a LineDef and split Sector


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%).


Delete Vertex and join LineDefs

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


Merge several Vertices into one

Same as Delete Vertex and join LineDefs, but with multiple vertices.


Add a LineDef and 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 and SideDefs miscelaneous

Miscelaneous operations on LineDefs:

Free tag number

Rotate and scale LineDefs

Split LineDef and Add new Vertex

Split LineDefs and Sectors

Delete LineDefs and join Sectors

Flip LineDef

Swap SideDefs

Align textures Y offset

Align textures X offset


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%).


Split LineDef and Add new Vertex

Splits the selected linedef(s).


Split LineDefs and Sectors

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


Delete LineDefs and join Sectors

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


Flip LineDef

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


Swap SideDefs

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


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.


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.

SideDef 1 Check name

SideDef 1 Check name and initial offset

SideDef 1 Do not Check name

SideDef 1 Do not Check name and Initial offset

SideDef 2 Check name

SideDef 2 Check name and Initial offset

SideDef 2 Do not Check name

SideDef 2 Do not Check name and Initial offset


SideDef 1 Check name

Align the first SideDefs of selected LineDefs which have the same texture name. The initial offset is 0.


SideDef 1 Check name and initial offset

Align the first SideDefs of selected LineDefs which have the same texture name. A dialog box inputs the initial offset.


SideDef 1 Do not Check name

Align the first SideDefs of selected LineDefs. The initial offset is 0.


SideDef 1 Do not Check name and Initial offset

Align the first SideDefs of selected LineDefs. A dialog box inputs the initial offset.


SideDef 2 Check name

Align the second SideDefs of selected LineDefs which have the same texture name. The initial offset is 0.


SideDef 2 Check name and Initial offset

Align the second SideDefs of selected LineDefs which have the same texture name and initial offset. A dialog box inputs the initial offset.


SideDef 2 Do not Check name

Align the second SideDefs of selected LineDefs. The initial offset is 0.


SideDef 2 Do not Check name and Initial offset

Align the second SideDefs of selected LineDefs. A dialog box inputs the initial offset.


Sectors miscelaneous

Miscelaneous operations on Sectors:

Free tag number

Rotate and scale Sectors

Make door from Sector

Make lift from Sector

Distribute Sector floor heights

Distributes Sector ceiling heights


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.


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.


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.


Distribute Sector 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.


Distributes Sector 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.


Modes

There are four editing modes:

Things edit mode

LineDefs edit mode

Vertices edit mode

Sectors edit mode

See also:

Next mode

Previous mode


Things edit mode

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

When editing a (group of) Thing(s), the following dialog box appears:

When you hit OK, the first thing in the selection list (usualy the last selected one) is updated. If you have more than one Thing selected, you will have to select what to copy to the other things. See Confirming copy of Thing attributes.


Thing X position

Enter the horizontall (X) position of the Thing. The position must be within the current map size.


Thing Y position

Enter the vertical (Y) position of the Thing. The position must be within the current map size.


Thing type set

There are 7 sets of thing types:

•	Player position

•	Enemy

•	Weapon

•	Bonus: medi kit, armor, ...

•	Keys: bleue, red, yellow key

•	Decoration: barrel, trees, ...

•	Dead bodies

•	Hanging bodies

•	Light sources


Thing type

List box containing all the thing types for the selected set.


Thing appearence attributes

Check these boxes to select when the thing must appear in the level.

•	Level 1/2: the thing will appear int the first and second skill levels.

•	Level 3: The thing will appear in the third skill level.

•	Level 4/5: The thing will appear in the fourth and fifth skill levels.

•	Multi-player: The thing will appear when in a network game

•	Deaf: The thing won't attack you until you hit it.


Thing angle

The starting angle of the thing. This attributes is interesting for moving Things (enemies).

The 8 legal angles are: East (0°), North-East (45°), North (90°), North-West (135°), West (180°), South-West (225°), South (270°), South-East (315°)


Thing preview

Preview of the pictures of the selected Thing type.

See also: Viewing pictures.


Confirming copy of Thing attributes

The following dialog box lets you select what to copy from the first Thing in the selection list (usualy the last selected one) to the others in the selection list:

WinDEU 5.24 now "remember" what you changed in the Thing edit dialog box, so the check boxes are automaticaly checked to what you changed.


Copy thing attributes

Select the attributes (X and Y position, type, angle, appereance) you want to copy. See also Things edit mode.


LineDefs edit mode

Set up the lines where walls and triggers are.

When editing a (group of) LineDef(s), the following dialog box appears:

When you hit OK, the first LineDef in the selection list (usualy the last selected one) is updated. If you have more than one LineDef selected, you will have to select what to copy to the other LineDef. See Confirming copy of LineDef attributes .


LineDef flags

Select the attributes of the LineDef(s). See [5.6] Attributes of LineDefs


LineDef type set

Select the LineDef type set: (see also [6] Special Doom areas )

•	Doors: open/close door

•	Ceilings: raise/lower ceiling

•	Raise Floors

•	Lower floors

•	Moving things: lift, strais, floor movement,...

•	Special: end level, teleport, light, ...


LineDef type

Select the LineDef type. See [5.7] Types of LineDefs


LineDef sector tag

Enter the sector to which the LineDef is bound. See also [6] Special Doom areas


LineDef new sector tag

Selects the first unused sector tag. See also [6] Special Doom areas


LineDef vertex number

Enter the vertex number for the LineDef (Experts only).


LineDef SideDef number

Enter the SideDef number bound to the LineDef (Experts only)


LineDef new SideDef

Creates and selects a new SideDefs.


SideDef x offset

Enter the X (-255, +255) offset of the SideDef normal texture. See Texture alignment basis


SideDef y offset

Enter the Y (-255, +255) offset of the SideDef normal texture. See Texture alignment basis


SideDef sector number

Enter the sector number to which the SideDef is bound (Expert only).


SideDef above wall

SideDef upper texture. Doucle-click here to preview the texture.


SideDef normal wall

SideDef normal texture. Doucle-click here to preview the texture.


SideDef below wall

SideDef lower texture. Doucle-click here to preview the texture.


Clear SideDef texture name

Clear the SideDef correponding texture name.


Transfer SideDef texture name

Copy the corresponding SideDef texture from the textures list.


SideDef texture names

Select the wall texture you want to transfer to the SideDef wall. Double-click to preview the texture.


Confirming copy of LineDef attributes

The following dialog box lets you select what to copy from the first LineDef in the selection list (usualy the last selected one) to the others in the selection list:

WinDEU 5.24 now "remember" what you changed in the LineDef edit dialog box, so the check boxes are automaticaly checked to what you changed.


Copy LineDef attributes

Select the LineDef attributes (type, flags, starting Vertex, ending Vertex, Sector tag, first SideDef, second SideDef) you want to copy.

When you check the "Flags" check box, select the flags you want to copy (whether they are "on" or "off") in the "Flags" group box.

When you check a "SideDef" check box,  select the attributes of the corresponding SideDef you want to copy.

Note that WinDEU copy the SideDef attributes, and not the SideDef number, thus creating new SideDef for the destination LineDefs if necessary. WinDEU will copy the SideDef number only in the case of a SideDef number equal to "-1" (meaning "no SideDef"), thus copying the "non-existence" as an attribute.

See also LineDefs edit mode.


Copy SideDef attributes

Select the SideDef attributes (upper, normal and lower texture, x and y offset, and sector number) you want to copy. See also LineDefs edit mode.


Copy LineDef flags

Select the flags you want to copy. Note WinDEU copy the value of each selected flag (whether it's "on" or "off"). See also LineDefs edit mode.


Vertices edit mode

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

When editing a (group of) Vertex(ices), the following dialog box appears:

When you hit OK, the first Vertex in the selection list (usualy the last selected one) is updated. If you have more than one Vertex selected, you will have to select what to copy to the other Vertices. See Confirming copy of Vertex attributes.


Vertex X position

Enter the horizontal (X) position of the vertex.


Vertex Y position

Enter the vertical (Y) position of the vertex.


Confirming copy of Vertex attributes

The following dialog box lets you select what to copy from the first Vertex in the selection list (usualy the last selected one) to the others in the selection list:

WinDEU 5.24 now "remember" what you changed in the Vertex edit dialog box, so the check boxes are automaticaly checked to what you changed.


Copy vertex attributes

Select the Vertex attributes (X and Y position) you want to copy. See also Vertices edit mode.


Sectors edit mode

Define rooms or areas.

When editing a (group of) Sector(s), the following dialog box appears:

When you hit OK, the first Sector in the selection list (usualy the last selected one) is updated. If you have more than one Sector selected, you will have to select what to copy to the other Sectors. See Confirming copy of Sector attributes.


Sector special

Select the sector special type. See [6] Special Doom areas


Light level

Enter the light level of the sector (0 - 255). See [5.4] Description of Sectors


LineDef tag

Select the LineDef tag this sector is bound to. See [5.4] Description of Sectors


New LineDef tag

Find and insert the first unused LineDef tag in the level.


Floor and Ceiling textures list

Select the name of the floor/ceiling texture you want to transfer. Doucle-click to preview the texture.


Floor texture

Floor texture name of the Sector. Doucle-click to preview the texture.


Clear Floor texture

Clear ("-" string) the floor texture name of the Sector.


Transfer Floor texture

Transfer the selected floor/ceiling texture name from the list box to the floor texture of the Sector.


Floor height

Enter the height of the floor. Must be lower than the ceiling texture height.


Ceiling texture

Ceiling texture of the Sector. Doucle-click to preview the texture.


Clear Ceiling texture

Clear ("-" string) the ceiling texture name of the Sector.


Transfer Ceiling texture

Transfer the selected floor/ceiling texture name from the list box to the ceiling texture of the Sector.


Ceiling height

Enter the height of the ceiling. Must higher than the floor texture height.


Confirming copy of Sector attributes

The following dialog box lets you select what to copy from the first Sector in the selection list (usualy the last selected one) to the others in the selection list:

WinDEU 5.24 now "remember" what you changed in the Sector edit dialog box, so the check boxes are automaticaly checked to what you changed.


Copy sector attributes

Select the sector attributes (Sector special type, LineDef tag, ligtht level, floor height, floor texture, ceiling height, ceiling texture) you want to copy. See also Sectors edit mode.


Next mode

Go to next editing mode.


Previous mode

Go to previous editing mode.


Check

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.

See also:

Display statistics

Check all sectors are closed

Check all cross references

Check for missing textures

Check textures names


Display statistics

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).


Check 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.


Check all 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.


Check for missing textures

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


Check textures names

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


Window popup

Various menu items to manage the editor view:

See:

Center Map

Zoom In

Zoom Out

Snap to grid

Show grid

Increase grid scale

Decrease grid scale

Show info windows

Show tool bar

Show info bar

Info windows layout


Center Map

Center and fit the map (changing scale) in the editor window.


Zoom In

Zoom in the map (see Zoom keys )


Zoom Out

Zoom out the map (see Zoom keys )


Snap to grid

This option turns on/off snapping objects to grid, whether or not the grid size is 0. See also Grid keys


Show grid

Toggle the display of the grid. See also Grid keys


Increase grid scale

Increase the grid size by multiplying it by 2. See also Grid keys


Decrease grid scale

Decrease the grid size by dividing it by 2. See also Grid keys


Show info windows

Toggle the display of the information windows. The information windows are, by default, in the low left corner of the editor window. They contains informations on the selected object.


Show tool bar

Toggle the tool bar of the editor window. Use this in conjunction with Window|Show info windows to get a large editing area.


Show info bar

Toggle the status bar of the editor window. Use this in conjunction with Window|Show info windows to get a large editing area.


Info windows layout

Controls the layout of the information windows in the editor window.

Horizontal down left

Horizontal down right

Horizontal up left

Horizontal up right

Vertical down left

Vertical down right

Vertical up left

Vertical up right

Layout now

Automatic layout


Horizontal down left

Layout information windows horizontaly, in the lower left corner of the editor window.


Horizontal down right

Layout information windows horizontaly, in the lower right corner of the editor window.


Horizontal up left

Layout information windows horizontaly, in the upper left corner of the editor window.


Horizontal up right

Layout information windows horizontaly, in the upper right corner of the editor window.


Vertical down left

Layout information windows verticaly, in the lower left corner of the editor window.


Vertical down right

Layout information windows verticaly, in the lower right corner of the editor window.


Vertical up left

Layout information windows verticaly, in the upper left corner of the editor window.


Vertical up right

Layout information windows verticaly, in the upper right corner of the editor window.


Layout now

Layout the information windows to the low left corner of the editor window.


Automatic layout

Toggle automatic layout of the information windows when the editor window is resized.


Help

Open and display the WinDEU level editor help file.

See also:

Help contents

Search help on

Using help

Keyboard

Mouse

Level editor

Tutorial

About WinDEU


Help contents

Display the index of this help file.


Search help on

Open a dialog box with the key words of this help file.


Using help

Open a help file about using the help system.


Keyboard

Display the keyboard reference for the level editor.


Mouse

Display the mouse usage reference for the level editor.


Level editor

Display help about the level editor.


Tutorial

Display the tutorial help.


About WinDEU

Brief information about the WinDEU and DEU programmers and the contributed work from the net.

The logo picture of WinDEU 5.24 has been drawn by CalvnHobs1@aol.com. Thanks to him!

The Info button opens a new dialog box with detailed version information of WinDEU. This dialog box displays a "Build time", which identifies the WinDEU version. When reporting a WinDEU bug, try to include this build time, so that I can identify what version of WinDEU you are using.


[5] Wad file description

WinDEU 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] Description of Vertices

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.


[5.2] Description of LineDefs

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.

See also:

[5.6] Attributes of LineDefs

[5.7] Types of LineDefs

[5.8] Normal, Upper, Lower textures


[5.3] Description of SideDefs

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] Description of Sectors

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. See also [6] Special Doom areas


[5.5] Description of Things

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


[5.6] Attributes of LineDefs

Some abbreviations have been used for the LineDef attributes:

Flag	Bit	Description

Im	0	Impassible by players and monsters.

Mo	1	Monsters cannot cross this line.

2S	2	Twosided wall/may shoot through.

Up	3	Upper texture is "unpegged".  Try it with moving ceilings or doors.

Lo	4	Lower texture is "unpegged".  Try it with moving floors or lifts.

Se	5	Secret.  This line appears as normal on the map.

So	6	Blocks sound.  The sounds won't travel past this line.

Ma	7	Invisible on the map.  Even with the "computer map" powerup.

In	8	Already on the map at startup.


[5.7] Types of LineDefs

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 walkthough 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, Lower textures

These are the three parts of a SideDef.

1.	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.

2.	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.

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

Note:	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 (HOM) effect caused by missing texture assignments.


[6] Special Doom areas

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.

See also:

Doors

Lifts

Teleporters

Rising stairs

Secret areas

Standard rooms


[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 twosided (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 Doorlike 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 Lifts). 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 nonzero 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 nearlythe 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 "twosided" 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 new levels

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

These sections describes problems you can have with DOOM and WinDEU:

See:

[8.1] Hall Of Mirror effect

[8.2] WinDEU bug or General Protection Fault

[8.3] Can't relax after playing Doom?


[8.1] Hall Of Mirror effect

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 "twosided" (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 twosided LineDefs in the same room.  There is a limit in Doom's graphic engine on the number of twosided LineDefs that can be displayed at the same time.  Solution: delete some of them.  Sigh!

But it may also be a problem with WinDEU'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 WinDEU or use the excellent BSP program, available on most FTP sites (look for bsp11x.zip).


[8.2] WinDEU bug or General Protection Fault

If you find a bug or a General Protection Fault using WinDEU, e-mail to:

Renaud Paquay (rpa@info.fundp.ac.be)


[8.3] Can't relax after playing DOOM?

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


[9] Tutorial

WinDEU TUTORIAL v1.5

Note:	This tutorial was moved into this help file from the TUTOR.DOC file, which comes with DEU.

This document and the accompanying .wad files should help you to see what you need to do to build a level.  It's a sort of touch-and-see how it works thing. (sounds like fun!)

Items appearing in braces {} indicate that there is a file that you can load to follow along and see how to do things. All these files can be found in the "TUTOR" directory. See File|Open wad file  to know how to load a patch wad file.  After the file is loaded, edit the level (episode 2, mission 1) (See Editor|Edit level). Then select the editing mode(s) indicated in the braces and move the pointer around to touch things and look at how they are structured.

First go to:

Making your first level

Now that we have a level, let's put some cool stuff in it.  What we will do here is to show ONE possible way to construct some special sectors like doors, stairs and lifts.  Please note that there ARE other ways to do them because there are many different types of doors & lifts, etc.  Also, you're a little more experienced at making vertices, lines and sectors already so we are not going to have as many WAD files to demonstrate the structures, just one or two to show each structure.

Go to

Adding a door

Adding a stairway

Adding a lift

Adding a transporter

Texture alignment basis

Complex texture alignment

Upper and lower textures alignment

See also [6] Special Doom areas


Making your first level

This section is divided into 14 steps. Use the WinHELP bowser buttons (<< and >>) when in step 1 to naviguate.

Now we begin our journey...

Go to Step 1


Step 1

First create the new map with the Create command from the Edit|Create menu item (episode 2, mission 1, for example).  Go into vertices mode (hit tab) and create some vertices by positioning the cursor where you want the vertex and then press "Ins" to place a vertex there.  Using the Grid mode (press H to show the grid, then Shift-H to "snap to grid") is helpful if you want to line up the vertices.  You will need a minimum of three to create an enclosed polygon.  (Don't be afraid of running out until you're really good at this, many doom maps contain well over 800 vertices.)

Go to Step 2


Step 2

Group the vertices by marking them (highlight them and Shift-left click the mouse or press "M") and add linedefs by pressing "Shift-Ins".  It is best to mark them in CLOCKWISE order.

Go to Step 3


Step 3

Mark all of the lines for the sector (you will want to mark the ones that aren't already marked) and press "Ins" to add a closed sector.

Go to Step 4


Step 4

Repeat step 1, step 2 and step 3.

(You'll want more than 1 sector, unless you are very dull).

{S1.WAD - vertices, linedefs}

Load up this wad and see a very basic 2 sector map.

Go to Step 5


Step 5

(This step is made mostly obsolete by DEU5.0 and above since it now does these things automatically, but you can verify it anyway.)

If you have any lines that are shared by 2 sectors and are meant to be the place where you cross from room to room set the Flags to 2S (two-sided and shoot thru) and turn off the Impassable Flag. You will probably want to get rid of any of the Normal/Upper/Lower Textures that are on lines that you walk across (usually, unless you want to create the illusion of walking through a wall.).

{S2.WAD - Linedef} Check out Linedef # 1.

Go to Step 6


Step 6

To change the way the walls look, select a line or a group of lines and change the Normal texture on some of the Sidedefs. (To go to line editing mode, press L).

{S3.WAD - Linedef} Take a look at Linedefs #0,2, and 3.

Go to Step 7


Step 7

Change the Floor and Ceiling Textures in a sector. (To go to sector editing mode, press S).

{s4.wad -Sector}  Look at Sector #1, compare to the default in sector 0.

Go to Step 8.


Step 8

Add a Player1 Start thing. If you want to play cooperatively you will also want to add a Player2, Player3 and Player4 start thing and if you want to play in deathmatch mode you must have a MINIMUM of 4 deathmatch start things. See Things edit mode.

{s5.wad -Things}  That's were you start and the direction you're facing.

Go to Step 9.


Step 9

Change the type of one of the lines to "Special - Ends level goes to next level." If you want to be able to leave the level you will need an exit. (Even if just to see the deathmatch frag counts!).

{S6.WAD - Linedefs} Check out Line 5.  Oh yeah, the texture was changed to one of the SW1xxxx textures so that it looks like a switch too.  Nice touch eh?

Go to Step 10.


Step 10

Use Q to quit and save your changes.  Answer Y to the question about building the nodes, etc. (unless you use expert mode, in which case... Why are you reading the tutorial?? ;-)

Go to Step 11


Step 11

Use Q to quit WinDEU.

Quit Windows (recommended) or go to a DOS box

Go to Step 12


Step 12

Fire up doom and try it out! In your doom directory, type:

DOOM -FILE yourfile.WAD

If you are working on a level higher than E1M1 you can go straight there by using IDCLEVxy  where x is the episode and y is the mission #.

Go to Step 13


Step 13

To record a demo of your level (a .LMP file) type this:

DOOM -DEVPARM -WARP e m -SKILL s -RECORD demofile -FILE yourfile.WAD

You must NOT type the .LMP extention and you MUST type the .WAD extension. 'e' is for Episode (1, 2 or 3), 'm' is for mission (1 to 9) and 's' is for skill level (1 to 5). If you die before the end, press SPACE to end the recording and go back to DOS.

Go to Step 14


Step 14

To play back your demo, type this:

DOOM -PLAYDEMO demofile -FILE yourfile.WAD

Go to [9] Tutorial


Adding a door

Note:	This function is now done automaticaly by WinDEU. See Make door from Sector.

Adding a *DOOR*.  We'll open it for you...

Go to Door step 1


Door step 1

The split linedef feature can be used to add a vertex which can then be dragged to where you want the edge of the door to be.  This is helpful if you decide after you build the sector that you want to have a door.  If you planned ahead you won't need this.

Add some vertices & lines to build a new sector which will later become the door.

You may want to add some more vertices and lines to build a sector on the other side of the door so you've got somewhere to go once the door is open.

{s7.wad - linedefs and sectors}

There's no door here yet, but it'll be coming soon.

Split line 0 into lines 0 & 8.

Added lines 9,10,11.  Used lines 0,9,10,& 11 to add sector 2

(Sector 2 will become the door in the next file.)

Added lines 12,13,14.  Added sector 3 on lines 10,12,13,& 14.

Sector 3 is the room on the other side.

Go to Door step 2


Door step 2

The "Normal" vector of the lines (The side of the arrow with the line sticking out of it) must be on the 'outside' of the door.

Change the type of the linedefs on the front and back of the door to a DOOR type.  1 DR Open door - closes after 5 seconds is the best one for beginners, you'll figure out other types of doors later.

Change the first sidedef (see Editing linedef) of the front & back of the door to have an Upper Texture only (NO Normal or Lower Texture) .  If you want it to be obvious, make it a texture that looks like a door.

Change the ceiling height (see Editing sector) of the door sector to the same level as it's floor.  It will rise until it's just below the height of the lowest adjacent ceiling.

Change the ceiling texture of the door sector to something that looks like the bottom of the door.

On the linedefs on the sides of the door that are the door frame, set the flags to Lo (lower texture unpegged.) This will keep them from moving when the door goes up.  Also, you should set the Normal texture to something that looks like a door frame.

{s8.wad - linedefs and sectors}

Linedefs 0 & 10, changed type to Door - DR open door

Changed first sidedefs upper texture (BIGDOOR2).

Set sector #2 Ceiling height to the same as its' floor.

Changed ceiling texture (FLAT20).

Changed lines 9 & 11 texture (DOORTRAK).

Set 9 & 11 to type Lower Unpegged.

Tada!  A working door!

Go to Adding a stairway


Adding a stairway

Perhaps you can buy a Stairway to Heaven, but you'll have to build the *STAIRWAY* to Hell!

Go to Stairway step 1


Stairway step 1

Add the linedefs and sectors that will become the stairs.

Go to Stairway step 2


Stairway step 2

Individually change the floor heights of each stair sector. Change them in units of 8 or 16 for best results (24 is the maximum for a stair you can climb, but it looks pretty tall). Increment for stairs going up, decrement for stairs going down. (obviously). See also Distribute Sector floor heights and Distributes Sector ceiling heights.

Go to Stairway step 3


Stairway step 3

For sidedefs facing a sector that has a floor height lower than its floor, set the lower texture to something that looks like a stair.

Go to Stairway step 4.


Stairway step 4

If the ceiling height is changed set the upper texture of sidedefs facing sectors with higher cielings.

{s9.wad - linedefs, sectors}

Set individual floor heights on sectors 4,5,6,7,8

Set ceiling height on sectors 4,5,6,7,8,9

Set first sidedef lower texture on lines 13,16,19, & 22.

Set seconds sidedef upper texture on line 13.

Also, for demonstration set the floor height on sector 9 lower so that you could 'fall' down into it and not be able to get out because 64 units is too tall to climb. Because sector 9 is lower, set a lower texture on the second sidedef of line 28.

Go to Adding a lift


Adding a lift

Note:	This function is now done automaticaly by WinDEU. See Make lift from Sector.

Hey buddy!  Need a *LIFT*?. This functino

Go to Lift step 1


Lift step 1

It's best to make the linedefs on the sides of the lift that you can walk across have their "Normal" sides (the one with the little line sticking out) on the outside of the lift.

Go to Lift step 2


Lift step 2

Change the TYPE of the linedef facing the sector with the lower floor height to "Raise lift & switch to lower...".

Go to Lift step 3


Lift step 3

Set the TYPE of the linedef facing the sector with the same floor height to "WR - lower lift...".

Go to Lift step 4


Lift step 4

Verify or set the floor height of the lift sector to its maximum height.

Go to Lift step 5


Lift step 5

Set the flags for linedefs on the side (that you don't cross) to Upper texture unpegged.

Go to Lift step 6


Lift step 6

Set a lower texture on the sidedef of the linedef which will be higher than the lift when it is down.

Go to Lift step 7


Lift step 7

Set a floor texture on the lift sector to something that looks like a lift floor. (optional, but it looks good).

Go to Lift step 8


Lift step 8

Assign the lift sector a linedef TAG number.  Use the lowest available tag number.

Go to Lift step 9


Lift step 9

Assign the linedefs with the Lift TYPES the sector TAG number that you assigned to the lift sector.

{s10.wad - linedefs, sectors)

Flipped linedef 28.

Set linedef 28 type to Raise lift...

Set linedef 25 type to Lower lift...

Set linedefs 26 & 27 flags to upper texture unpegged.

Set floor height of sector 9 to it's up position.

Set floor texture of sector 9 to STEP2.

Set lower texture of linedef 25 second sidedef.

Assigned TAG #1 to sector 9.

Assigned TAG #1 to linedefs 25 & 28.

Go to Adding a transporter


Adding a transporter

* TRANSPORTER pad, 1 to beam up! *

{for the next few examples you will want to also try out the WADs to see how they look in DOOM}

Go to Transporter step 1


Transporter step 1

First create two sectors. One has to be a multiple of 64x64 units. It will be the 'pad' and has to be aligned on a vertex with a multiple of 64 (use G for grid to align the vertex points) or else the texture for the pad will be offset and will look bad. {T1.WAD}

Go to Transporter step 2


Transporter step 2

Make sure the lines on the side of the pad are the right way, the player will transport when he travels from side 1 to side 2 of the line.

Go to Transporter step 3


Transporter step 3

Edit the line type and change it to 97 WR Transport to other sector (Go to line type, then special) or 91 W1 if you want it to work only once.

Go to Transporter step 4


Transporter step 4

Set the Sector tag number of the lines to an unused number.

Go to Transporter step 5


Transporter step 5

Next, you'll need to decide where you want to transport. Select a sector and set the linedef tag to the same as above.

Go to Transporter step 6


Transporter step 6

Lastly, add a transporter exit thing somewhere in the destination sector.

Go to Texture alignment basis


Texture alignment basis

Note:	This function is now done automaticaly by WinDEU. See Align textures Y offset.

Ok, now we're cooking!  Let's make everything look good!

1.	{T2.WAD} is the same as above, but with textures aligned. Now you know why I took that weird texture!

2.	Look at Sidedef #2 & #5 (first sidedefs of lindedefs #2 & #5). You'll see that they have a texture X alignment.

3.	Here's how to figure it out: go to maximum zoom (press + a few times), then display the smallest grid (press SHIFT-G once). Each square of the grid is 8 alignment points. To move a texture to the left, X needs to be positive and to move it to the right, X has to be negative. The way you have to look at it is taking the wall itself and moving it over (or behind) the other one as to blend the two together.

4.	So, if you look at sidedefs #2 and #5, you'll see that #2 has an X offset of -64 and #5 of +64.

Go to Complex texture alignment


Complex texture alignment

Note:	This function is now done automaticaly by WinDEU. See Align textures Y offset, Align textures X offset.

Line up!  (Texture Alignment)

Now, we do some heavy math stuff! Aligning vertically for stairs and more complex horizontal alignments.

1.	{A1.WAD} is a test WAD with two stairs in it. One has varying ceiling heights and the other has the same ceiling. This one needs a LOT of work!

2.	{A2.WAD} is the aligned one. Looks a lot better hey! Here's how it's done. NOTE that this is only for NORMAL textures, not UPPER or LOWER textures, they are aligned in a different way.

3.	For starters, go back to A1, you'll notice that when the ceiling is the same height, the textures align (vertically that is!) and that's because DOOM displays a texture starting from the top left of the panel. So, to align a texture vertically all you need to know is the difference in ceiling height. {In A2.WAD look at the Y offset of linedefs #5, #13, #12 and #3}.

4.	There's a problem with aligning all these linedefs because you'd need to be able to align beyond the -100 to 100 limit. The trick is to do a little math (I know, yuck!). If you need to align a texture by 128 points, then you'll need to move one 100 points one way and the other -28 the other. {In A2.WAD look at the X offsets of linedefs #14 and #0}.

5.	Another problem is when the linedef is longer than the size of a given wall. In the case of SKY2, it's 256 points wide and the length of the wall composed of linedefs #2, #4, #11 and #10 is a total of 464 points, so SKY1 fits almost twice. If you look at the X offsets for the above lines, you'll probably say: "How the heck did he get those!?!?" It's really elementary math skills!

6.	Here's how it's done; first, lines #2, #4 and #11 together are 256 points long, so lines #2 and # 10 will have the exact same offset. Next, if you left line #2 with an offset of 0, you would need to move line #4 by 128 (or -128 which is the same because the texture is 256) and line #4 by 128+64=192 (or -64 which is 192-256). You can't do that! Remember, you have a limit of -100 to 100, so 128 (or -128) will not do, so we need to use two lines to do it. If you move line #2 by -100, then you only need to move line #4 by 28 (-100 - 28 = -128) and line #11 by 92 (28 + 64 = 92). Then all you do is set line #10 the same as line #2 which is -100.

7.	I know it looks really complicated, but it really is simple once you know how to do it (I know, I sound like your fifth grade math teacher!). Anyways, DEU may eventually have an align texture feature, so you can wait until then, but if you want to be in the hall of fame of WADs, you'll need to align those textures NOW!

Go to Upper and lower textures alignment


Upper and lower textures alignment

Wow! I want more! OK, here's the best you can do to align the textures for windows and secret doors...

1.	Look at W1.WAD (run DOOM with it, type 'doom -file w1.wad', and start a new Episode 2 game). Go to each side of the window one side is aligned and the other is not. Now look at each of the secret doors, one is aligned vertically and the other is not. Can you figure out how to align UPPER textures? OK, I'll tell you, but I won't explain the X offset alignement, I just did in the last few paragraphs!

{Check the MAP (press TAB) when running DOOM with W1.WAD, you can only see a door (yellow line) on the WEST side. The Secret bit is set for that Linedef, also the Sector behind the EAST door is also of type "secret".}

2.	First, for windows, you'll just need to set the flag "Upper Texture is Unpegged" because normally an UPPER texture is drawn from the bottom left corner up (remember a NORMAL texture is drawn from the TOP left corner down) and changing this flag will make it drawn just like a NORMAL texture. This will align the texture vertically (assuming the ceiling height is the same as the adjoining walls).

3.	Second, for doors, you don't want to set the "unpegged" flag because the door would not look right when oppening, so you want to adjust the texture with an offset. In W1, the ceiling is 100 high and STARTAN3 is 128 high, so you want the Y offset to be -28 (128 - 100 = -28).

4.	Third, you'll want to know how to align the bottom part of a window. Well, unless somebody proves otherwise, it can't be done. Sure, you can use textures that LOOK aligned (because of the Window height and texture type) but you can't REALLY do it. Here's why: LOWER textures are drawn the exact same way as NORMAL textures (from TOP left corner down) unless you set the "Lower texture is unpegged" flag in which case it starts from wherever the upper texture ended. Look at the WEST side of the window in W1.WAD (the side that isn't aligned). I set the upper and lower textures to unpegged. See the difference? The LOWER texture of the "aligned" side is the same as the UPPER texture there, but on the "un-aligned" side, it is the continuty of the UPPER texture.

Go to Tutorial


[10] Tips

This section includes tips on how to use the WinDEU level editor, and a sub-section about the limits of Doom/Windeu.

See:

Editing tips

Doom / WinDEU limits


[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 anticlockwise 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 620 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 singleplayer 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] Doom / WinDEU limits

Maximum size of a wad file created with WinDEU: This depends on how much windows virtual memory you can free up.  The more free ram, the bigger the WAD can be.  You shouldn't have problem with 2Mb of physical memory.

X,Y locations of vertices:  somewhere in excess of 10,000 to  +10,000.  It could be 32768 to + 32767.  Note however that WinDEU 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!