home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Doom Magazine 1
/
Doom_magazine_01.bin
/
editeurs
/
dmaped
/
dmapedit.doc
< prev
next >
Wrap
Text File
|
1994-05-23
|
51KB
|
1,140 lines
DMapEdit v3.0 - a doom map editor!
Section Title
[1] Legal stuff
[2] About DMapEdit
[3] New stuff since v2.1
[4] New stuff since v2.0
[5] New stuff since v1.1
[6] Future expansion
[7] Introduction
[8] How do I play a map I made?
[9] Keyboard commands
[10] Pop-up windows
[11] Thing display filter
[12] Thing editing
[13] Line editing
[14] Sector editing
[15] Marking
[16] Making maps from scatch
[17] Misc. notes
[18] Alternate video modes
[19] Thanks
Note: if you are viewing this with a decent text file viewer, then you
can get to the section you are interested in with the "search for"
command. All sections will start with it's number surrounded by []'s,
as shown above, so search for that.
---------------
[1] Legal stuff
---------------
DMapEdit is my trademark
Doom is a trademark of id Software Inc.
Vesa.bgi is copyright (C) 1991 Jordan Hargraphix
UniVesa - Universal VESA TSR is copyright (C) 1993 Kendall Bennett.
Ms-window is a trademark of Microsoft
Copyright (C) 1994 Jason Hoffoss. All rights reserved.
You may freely distribute this program, as long as it is distributed
intact (all 8 original files) and unmodified. You may not sell this
program, for profit or other consideration.
id Software's "data utility license":
"DOOM(tm) is a trademark of id Software, Inc. The Doom(tm) characters
and the id Software logo are trademarks of id Software, Inc. Doom(tm)
Copyright(c) 1993. id Software, Inc. All rights reserved. This
utility product is not a product of id Software, Inc. and has not been
approved by id Software, Inc. id Software will not provide technical
support for this product. The purchaser of this utility product may not
distribute for money or other consideration any software data created
and/or modified by the use of this utility product."
This Editor is not a product of id Software and id Software cannot and
will not provide support it, nor for maps created with it, nor for DOOM
itself if you modify the DOOM.WAD (IWAD) file.
------------------
[2] About DMapEdit
------------------
Welcome to DMapEdit. DMapEdit is a true, full-featured map editor, and
not just a thing editor. DMapEdit can now generate Nodes, Sectors and
Blockmaps.
I've decided to make this product shareware. Therefore, this is the
shareware 'demo' version. It is currently limited to saving only small
maps (4k subfiles) to allow the user to verify this editor's
functionality. The registered version can be obtained directly from me
by sending a $5 check, money order or whatever to my address.
My address is:
Jason Hoffoss
10321 110th st. N.
Stillwater, MN 55082
When I receive your order, I will send you your registered version,
either through the mail on a diskette, or uuencoded to your internet
email account. If you want it via email, be sure to give me your email
address. I recommend typing it, just in case I can't read your
handwritting, by the way. If you would like me to send you a diskette
via postal mail as well as via email, be sure to say so, and I'll do so.
When later versions become available, I will distribute patch files
electronically through the Internet and Bulletin Board systems. If you
can't get the patches through these methods, or don't want to wait for
it to show up on your BBS's, you can register for $10 and I will send you
the next 2 upgrades by postal mail. If you want me to send it by some
special method (Express Overnight or whatever), then make sure you send me
enough money to cover such mailing methods (one dollar from the $5
registration fee goes to mailing costs. You supply any additional money
required for mailing). I have bubble-lined mailing envelopes I use, by the
way, so you don't need to send me an envelope to use.
And hey, send me a letter if you want. Tell me you love/hate this editor,
or whatever. I don't have unlimited ideas, and many improvements and
idea for DMapEdit come from the users. Tell me how to make it better
for you! E-Mail can be send to me on these BBSs:
The Death Cookie: (612) 773-0646 (In wildcat part)
The Express Lane: (612) 422-3707 or 422-1585
My internet account is hoffo002@gold.tc.umn.edu for anyone wishing to
leave me email there.
------------------------
[3] New stuff since v2.1
------------------------
* memory usage has been drastically altered. You should be able to use
it with less memory now, and with larger files, as long as you have
memory for it all. The old limits I had for everything are now
gone. It still uses base memory, and not EMS or XMS. Until I know
how to use these memories, it will stay this way. If your map gets
too big to for DMapEdit, it's probably too to play with Doom without
it being slow on the average pc. Split into a few missions instead!
* texture picklists! No need to try and remember/figure out all the
wall texture names. If you become familiar with the names, though,
and know just what texture you want, you can still just type it in,
(for power users like myself), by clicking with the right mouse
button instead.
* zooming, roundoff, and the grid has been changed around. Zooming has
"half-steps" now. The grid now displays to the scale of the roundoff
level, unless the space would fall below 7 pixils between lines. In
this case, every other line/fourth line, eighth/etc is drawn instead.
* made a new hilight method, which is now the default. If you liked the
old way better, though, it is still possible to use that. Just put
"flash mode=old" in the INI file. Which brings us to:
* INI file support. You change all sorts of default settings in the
"dmapedit.ini" file. Take a look at it. A list of all INI file
variables and values is discussed in "dme_ini.doc".
* There is now a crosshare that shows where adding things, etc will be
put. With roundoff values greater than 1, this position can be
different from the mouse hotspot. ("roundoff" is know and "snap-to
grid" in some other editors) If it gets on your nerves or something,
you can turn it off with the 'x' key.
* node generator has been improved to eliminate the "sliver" effect it
used to produce. The "sliver" effect is a very narrow vertical line
that you can see through while playing doom. The speed hasn't been
changed from v2.1. This will be worked on for the next version,
hopefully.
* loading/saving to a working datafile is no longer supported. Such
files are obsolete, and PWADs should be used instead. The new
load/save routines have been greatly improved as well. "L" and "S"
are now used to load/save to/from a PWAD, which is first prompts
your for. "Alt-L" and "Alt-S" will also load/save to/from a PWAD,
but it doesn't prompt you for the name first, unless this is the
first time it has asked you.
* ability to re-configure the mouse buttons. Key to do this is <tab>.
Then just click the function button with the whatever mouse button
you wish that button to be used for.
* ability to mark objects (an object is a Thing, Vertex, Line, Sidedef,
or Sector). Except for Things, all marked objects affect the marking
of the remaining object. Thus, if you mark a sector, it also marks
all the lines touching the sector, all sidedefs facing the sector,
and all vertexes involved. Once you have marked object(s), you can
do several things with them as a group. See the appropriate section
below for more information.
* Ok and Cancel buttons have been added to the relevent windows. The
<enter> key simulates the Ok button, and <esc> for Cancel also.
* Most of the edit modes have been changed around a little to be more
intuative and useful.
* More error checking routines have been implemented.
* many bugs have been corrected from v2.1, including: change level bug,
which reported inability to open "", display filter buttons wouldn't
light up, "sliver" bug in node generator, creating 'donut sectors.'
That's all I can remember offhand.
Ok, so this isn't at it's full potential yet, but it's been a long time
since the last version, so I figured it was time to get this version
out, even if it is a little hap-hazard. The next version should be a
little better organized and less rushed. I figured you'd rather have
this version as it is, then just use v2.1 instead. But, if that what
you want to do, you still can. If you do, though, you are wierd.
There is still plenty of things needing improvements, but I'm not going
to sit on this version any longer. I'll have a follow-up version v3.1
or v3.2 a little later with these improvements. Anyway, let me know if
you have any wishes in this area. Look at the future expansion section
first, though. I have worked hard (along with joost schuur) to try and
insure this version is bug free. Well, I beleive it is, though some
things could be a little better. Anyway, enjoy.
------------------------
[4] New stuff since v2.0
------------------------
* Shareware version will allow you to save maps of limited size now. A
map such as E1M1 is too big. In fact, all the original maps are too
big. This has been done so that people can test it out and verify
that it does actually work (with the distrust of current node
generations lately, I needed to provide this save ability)
* Bug fixes. Ok, so I guess I didn't get all the bugs. I planned to,
but forgot to do so with everything else on my mind. Sorry. Got
them now, though. I'm sure this time, because unlike last time, I
fixed them before I am writting this. :)
* Ability to flip lines now, (and flip line & sidedefs). Because of
dooms pickyness with a sidedef on the right side, you can do this. I
really don't think it will be needed anymore, though. DMapEdit will
automatically handle these problems for you, but in case I'm wrong (I
didn't write Doom, so I can't be sure what will and will not cause
problems), this options is here.
Note: Be sure to line error-check any map from other editors or previous
versions of DMapEdit. Can't hurt anything, and it will fix any
minor problems a map may have. (such as a map causing doom to
hang or reboot when it loads the map, which happened to me, and
thus I was able to fix DMapEdit to repair them)
------------------------
[5] New stuff since v1.1
------------------------
* Fix of all know bugs! If there's still any around, then let me know,
since I can only fix bugs I know about, and if there still are any
in there, I don't know about them.
* Sector edit mode has been improved. You can add/delete sectors with
the proper add/delete mouse buttons (or ins/del keys). There is also
a sector blend/copy function now (requested by Rod McCabe, in the
first postal letter I have received of 2 total to date :) For
information about this function, see below under 'sector editing'.
* A new misc/advanced functions menu (F9 key), with several options:
* Error checking options: Use these to check over a new map to
identify any errors that might exist (and fix some of them). If
you get a new PWAD from somewhere, you should error check it before
you start messing around with it in DMapEdit. Strange thing might
happen if you start editing a map with errors.
* Line Fixer: This option will correct any errors or inconsistancies
it detects with the lines/sidedefs. It may change things that
are meant to be the way they are (the less common special effect
type things), so it should probably be used mainly for a major
overhaul, or to setup sidedefs for a new map that you have laid out
the lines for (easier than doing it by hand!)
* Sector generator: This options will reconstruct, from scratch, all
the sectors. This should really only be used for a major overhaul,
or on a new map without any sectors yet, since any existing sector
information will be lost, replaced with a standard sector definition.
* Fix sectors: Not yet available, this will attempt to correct any
problems with existing sectors, and create new sectors in any
empty polygons. The result will be pretty much the same as with
the sector generator, except the current sector info will not be
trashed, but incorperated.
* Node generator: Before a new or line changed map can be played, a
node structure must be generated. That is what this option will
do. I have fixed all the bugs in it, and tested it out on several
maps, and it has worked fine on them all.
* Blockmap generator: When you complete a new map, or finish changing
an existing map around, the last two steps are to create a Node BSP
tree, and a blockmap, before you can play it. The blockmap
generator works flawlessly, but the node generator..you know..
* Working PWAD/datafile name and editing mode is now displayed at the
bottom of the screen.
* Picklist now is scrollable in 2 directions. The old selection is also
in the middle of the displayed list now, instead of the top. (for
example, the current thing is an ammo clip, and you select picklist,
then the ammo clip will be in the center of the displayed list).
--------------------
[6] Future expansion
--------------------
What can you expect from future versions of DMapEdit? I plan to add in
the rest of the routines that are currently not available in the
advanced/misc options menu.
I plan to add template support, so you can add standardized wall
formations (doors, columns, staircase, etc.) easily, without having to
make them all yourself. Since DoomCad beat me to this idea, I'll
support templates created with it, and make DMapEdit's templates usable
by DoomCad. This isn't really a problem, since his method of doing it
turns out to be very close to how I had planned to go about it. (I think
this 'TWAD' idea was a little overboard, though)
I plan to add help information to explain whatever you are dealing with
at any perticular time. Thus, if you come across something you don't
understand, you can request help about it.
I plan to add a menu and toobar at the top of the screen. Also, to have
a new way to display information currently selected (something more like
deu has, instead of the 1 or 2 lines of text at the top).
I plan to add 2 new editing modes: sidedef and all. These are really
only needed for doing marking and marking related functions. All mode
will also make template generation simpler.
I plan to add a function to analyze a map and report a difficulty rating
for it in each difficult level and in multiplayer mode. So, please send
me your ideas on how you think I should rate all the Things (i.e.
weighted values) since I really don't have any ideas for this yet. (any
authors for other editors wanting to also inplement this idea, let me
know and we'll work on it together.)
And if anyone has any other great ideas for anything to put in, go ahead
and send me your ideas. Just make sure you explain it good. Try to be
specific. Sometimes I just can't figure out what you mean when you
explain something to me, so try and be specific.
----------------
[7] Introduction
----------------
So, what all can you do with this editor? Well, you can edit Things,
vertexes, lines and sectors, etc, in order to create a new and unique
map that can then be played in Doom. You can also generate the internal
structures that doom needs to operate (Nodes, Sub Sectors, Segments and
a Blockmap), which will all need to be made (or remade) in order to play
any new or modified map with Doom. You can edit (or just examine)
existing maps (from doom, or from PWADs created by other people). Be
sure to follow the pwad's author's copyrights for such maps. (Doom
doesn't want any modified maps made from their original doom levels to
be distributed. In fact, they don't want their unmodified maps to be
distributed either, except for with the shareware doom package.)
Map making is rather a complex task. There is a lot that goes into
making a map, and being able to just 'slap a few lines down, make the
nodes and run' really isn't possible. All any editor really does is
make the task of creating maps easier, by doing a lot of the stuff for
you. This can cut down on what the user is required to know, but there
will still be much that he/she will still need to know. Furthermore,
the more you know about making maps, the better your maps will tend to
be. Therefore, I strongly recommend reading through this whole file.
My goal in writting DMapEdit is to make map generation as simple as
possible, while still having the ability to do everything you could
possible want to do. Having the ability to do exactly what you want is
the main goal. If you think you can't do something, you probably can,
but just don't know exactly how to go about it. In such a case, read
through this file, and if you can't find it here, contact me and I will
help you. Please check this file first, though. If it's not in here,
and you need to contact me, I will add it to this file (correcting the
oversite). At present, I feel that this editor is easier to use than
any other out there, while still being nearly equally powerful, and
becoming more powerful with every release. If you disagree, and have
ideas on how I can make it better (or can just point out what some other
editor does better), please let me know.
So, just what do all these technical terms mean?
Things:
Things are all objects in the game, such as barrels, dead bodies,
guns, ammo, monsters, player starting points, etc. Walls, doors,
elevators, windows, etc are not objects. They are lines..
Lines:
Lines are straight line segments from one point to another. They are
usually walls, or semi-walls, but not always. Sometimes they represent
the edge of a lighted area, or a trigger to activate something elsewhere
when crossed by a player. A line is always present where ceiling or
floor heights change, such as stairs, windows, etc.
Vertexes:
All lines run between 2 vertexes. A vertexes is simply a point.
Sidedefs:
All lines have 2 sides to them, a left and a right side (even though
they have no width). A sidedef determines what you will see when you
look at the line from that side. It also tells the sector it's facing.
Sectors:
A sector is the open area between the (lines). You can think
of this as a room, too. Sectors describe the floor and ceiling
heights and textures, and the lighting conditions of the space. Anytime
any of these characteristics changes, a new sector must be created
for it to describe it. All sectors must form a closed polygon, and the
"outside" area of a map can't be a sector.
Blockmap:
This is an internal structure that Doom uses to detect wall
collisions. Once you make a new map, a blockmap must be generated
before it can be played.
Nodes:
This is another internal structure (a Binary Space Partition tree) used
by Doom to figure out what walls are behind what walls, so it knows it
doesn't have to draw them. I have no idea how anyone could use such a
structure for this purpose, but Doom does seem to work.. :)
Segments:
A segment is simply a piece of a line (because nodelines often cut a
line). This is also internal, and something you don't need to worry about.
Sub Sectors:
Again, an internal structure of a piece of a sector, in the shape of
a convex polygon (less then or equal to 180 degrees bend between all lines,
measured on the inside of the shape).
PWAD:
A PWAD (also known as a 'working wad file'), is a collection of data
files all combined into one file, with extention WAD. The file DOOM.WAD
is an IWAD file, however. IWAD probably stands for Initial WAD, while
PWAD stands for Patched WAD. The first 4 bytes of a WAD file will be
IWAD or PWAD, thus identifying it's WAD type. Basically, when you play
doom with a PWAD file, it will try to get any data it need from the
PWAD, and if it can't find it, it will then load it from the IWAD.
E1M1:
This is just map notation for the episode and mission numbers.
(episode 1, mission 1 in this case). This happens to be the way a
header looks in the wad file, and is just an abbriviation, really.
Object:
An object is a Thing, Vertex, Line, Sidedef, or Sector. Objects are
the building blocks the user has to make maps with.
------------------------------------------------------------------------
Ok, running this program is pretty easy. All the files that DMapEdit
comes with should all be in the same place. You can run it without it
being in the current directory, if you wish. If Doom.wad or Doom1.wad
isn't in the current directory, you will need to tell DMapEdit where it
can find this file. This is done by giving the path to it with the -i
switch, like so:
dmapedit -i/doom/doom.wad
or
c:\wherever\it\is\dmapedit -ic:\and\doom\is\here\
or by adding a line to the INI file like:
doom path=c:/doom
Note that either '/' or '\' can be used. Also note that there is no
space between the '-i' and the path itself or the '='. This path that
you give should either point to the directory the IWAD can be found (an
IWAD is what the file 'doom.wad' is) or point to the IWAD itself.
Dmapedit defaults to VESA SVGA 640x480x256 colors. If you don't have a
VESA card but you do have SVGA, run univesa to create a VESA interface
for your card. If you don't even have SVGA, why not? A 386+ without a
SVGA card? If you want to use a different graphics interface, or
resolution, read about the -v switch at the end of this file.
Once the program is up and running, you should see a map of episode 1,
mission 1. The program defaults to thing edit mode at startup. At this
point, you can move things around by pressing the left mouse button on a
thing and dragging it to it's new location. Pressing the left mouse
button while not on a thing will add a new thing (using the defaults)
and placing it when you releast the button. The right mouse button is
used to delete a thing. The middle button (if you have one) is used to
change the information about a thing, or the default thing if you are
not on a thing at the time you press the button. This is the standard
mouse interface I use for this program, and editing vertexes and lines
works the same way.
-------------------------------
[8] How do I play a map I made?
-------------------------------
Once you have made a map, you must save it to a PWAD file. Then you
start doom from dos like so:
doom -file pwad1.wad [pwad2.wad] [pwad3.wad] [...]
In this example, you would have saved your PWAD with the name 'pwad1'.
If you used the name 'new', you would type:
doom -file new.wad
Another thing to note about the first example, you can use more than one
PWAD file at once. This would be done for files that have different
information in them. If they both use the same information (like both
having E1M1 in them), you probably shouldn't do it this way, and really
don't have any reason to. You would use this for something like pwad1
having E1M1, pwad2 having E1M2, and pwad3 having new sound effects. (by
the way, files is [] are optional, if you havn't figure this out yet.
You wouldn't actually type the '[' or ']')
---------------------
[9] Keyboard commands
---------------------
These are all the keyboard commands:
(global commands - available in all edit modes)
?: display key commands
Arrow keys,
home, end,
page up,
page down: These keys will scroll the map around..
=, +: zoom in
-: zoom out
_: re-center map
alt-q,
alt-x,
esc: quit and exit editor
ins: add (same as left mouse) (see note1)
alt-ins: sticky add (see note5)
del: delete (same as right mouse button) (see note1)
space: change/edit (same as middle mouse button) (see note1)
m: mark/unmark selected object
alt-m: sticky mark (stretch-box marking) (see note5)
1 - 5: change displayed vertex point size
0: turn off vertex point display
t: change displayed things icon size: big, small, off (see note2)
\: change displayed lines size (thickness)
F1: select thing edit mode
F2: select vertex edit mode
F3: select line edit mode
F4: select sector edit mode
F9: misc/advanced options (build nodes, error check, etc)
tab: re-configure the mouse buttons
s: save map to a PWAD, promting for name first
l: load map from a PWAD, promting for name first (see note3)
alt-s: save map to a PWAD
alt-l: load map from a PWAD (see note3)
alt-w: write map to original Doom WAD file (IWAD)
alt-r: reload map from original Doom WAD file (IWAD)
c: change episode and mission
f: change thing display filter (see next section)
r: change roundoff level: 1, 8, 16 (default), 32. (see note4)
g: change grid display intensity level
., >: increase roundoff level (grid drawn to roundoff level)
,, <: decrease roundoff level
n: start a new map from scratch (erase currently displayed map)
z: show current statistics (totals, and memory usage)
Note1: These are the default mouse buttons. The mouse buttons can be
re-configured with the <tab> key.
Note2: Thing icons can't be turned off while in thing edit mode. There
is also a setting that shows circles. This represents the size
of the object and is useful to see if monsters overlap, are stuck
in walls, etc.
Note3: It will try to load a map from the current PWAD. If that map
doesn't exist in that PWAD, however, it will load the map from the
IWAD.
Note4: This is used to round off all map coordinates, so things can be
placed with a more symetrical feel. This is also called "snap-to
Grid" in some other editors. A value of 1 will not produce any
roundoff. The crosshare shows the rounded-off position. The
grid display intersections also show the roundoff positions,
unless the spacing drops below 8 between the lines, in which case
every other line/4th line/8th line/etc will be displayed to meet
this condition. This is to not clutter up the screen.
Note5: These keys simulate the effect of holding down the equivelant
mouse button while moving the mouse around (called dragging). It
will remain "stuck" until another key is pressed, or a mouse button.
(Thing edit mode)
----- ---- ----
enter: Copy selected Thing to default Thing
(Line edit mode)
---- ---- ----
f: flip line (swap left and right sides) (see note6)
alt-f: flip line and sidedefs (see note6)
Note6: In actuality, the sidedefs are swapped too, so that they seem to
be where they were before. In other words, since the left side
of the line is now the right side, (and the sidedef hasn't been
swapped yet) it will look like, from the users perspective, that
the sidedef switched sides, though it didn't really. Thus, alt-f
will not swap the sidedefs, but only the vertexes it runs between.
(Inside of a window)
------ -- - ------
enter: same as clicking Ok button (if there)
alt-q,
alt-x,
esc: exit out of window (same as clicking Cancel button)
tab: move mouse pointer to next button position
page-up,
page-down: in windows with 2-way scroll buttons, scrolls list
-------------------
[10] Pop-up windows
-------------------
Pop-up window manipulation has become a little complex, so I figured I
should put in a section to cover it. Pop-up windows are rectangles with
a yellow boarder that appear with information inside it. There are 2
basic types. The first doesn't have an Ok or Cancel button. This is an
informational window, and just gives you information. Pressing any key
or clicking the mouse anywhere on the screen will make it go away. The
second type is the interactive window (also called edit window window),
and will have a Cancel button, and usually an Ok button. To close this
type of window, you must click on the Ok or Cancel button. If an Ok
button isn't there, making a selection from inside the window will
automatically to an Ok operation.
The Ok button will exit the window, using the window's current
information. Selecting Cancel, however, will ignore anything that
occured in the window. Another function these buttons can be used for
is for confirmation of some operation you selected. In this case, you
must select Ok to proceed.
A similar sort of button you may see is the 'big button'. This button
also has text inside it, but is white, and is always inside the window.
Selecting such a button will perform the action the text describes.
Usually, edit windows will have small, circular buttons, which is the
main form of doing any 'editing' in the window. Just click the button
next to what you are interested in changing. These 'radio' buttons do
one of 2 things: switch states ('on' or 'off' condition), or select
item. Buttons that select an item will never be filled in.
Inactive radio buttons will be displayed as dimmed (dark gray instead of
white). This doesn't always mean you can't select them, however. Try
clicking on it to see. When editing a group of marked items, only the
non-dimmed items will be changed when you select Ok. So, this being the
case, you need to be able to change what's dimmed and what isn't. To do
this, you can select the button normally, and it will activate
automatically, or you can click on the button with the middle mouse
button (spacebar) to toggle the active status of the button. Only
buttons that can logically be toggled will be allowed to be toggled.
-------------------------
[11] Thing display filter
-------------------------
Things are not always on every difficulty level. Generally, harder
difficulty levels tend to have more monsters running around. The thing
display filter is to allow you to display only what you want to display,
such as only level 1 things. Using this filter is a little tricky,
however.
There are 5 different flags used by all things in doom:
flag 1: skill level 1 & 2
flag 2: skill level 3
flag 3: skill level 4 & 5
flag 4: deathmatch mode
flag 5: deaf monster
Skill level 1 being "don't hurt me" and 5 being "Nightmare". If a skill
level flag is set, then this thing will appear to a player playing on
that skill level. If the deathmatch mode flag is set, then this thing
will only appear when playing a deathmatch mode game. Note that this
flag is in addition to the skill level flag. If you just set the
deathmatch mode flag and leave all three skill level flags cleared, then
the thing will never appear in any deathmatch mode game.
The deaf monster flag is only useful with monsters. If it is set, then
monster will only "activate" (come alive) upon spoting a player or being
attacked. If the monster isn't deaf, then it will also "activate" whenever
it hears a players weapon being used (even punching air will do it).
There are 2 switches for each of these flags in the filter. There are a
total of 4 possible combinations for these 2 switches. The first switch
is used as a matching state. The second switch is set if you want to
force the first switch to match a flag exactly. This may be confusing,
so I will detail the 4 possible switch combinations..
Combination 1: both switches off (O O)
With this combination, the flag is ignored and not displayed. If all 4
flags have this combination, nothing will be displayed.
Combination 2: first switch on, second off (* O)
This will display the thing if the flag is set. If the flag isn't
set, the thing may still be displayed if another flag with this
combination is set. This is a basic OR situation between flags.
Combination 3: first switch off, second on (O *)
For a thing to be displayed with this combination, the flag must be
off. If the flag is on, the thing will not be displayed, regardless of
the other flag settings. This is used to hide what you don't want
displayed.
combination 4: both switches on (* *)
With this combination, similar to combination 3, the flag must be on to
display this thing. Unlike combination 2, a thing will not be displayed
if the flag is off, period. Other flags have no effect on it.
Common filter settings:
O = off, * = on
Display level 1 & 2 things:
Skill level 1 & 2: * O
Skill level 3: O O
Skill level 4: O O
Deathmatch mode: O O
Display only level 4 things, non-deathmatch mode:
Skill level 1 & 2: O O
Skill level 3: O O
Skill level 4: * O
Deathmatch mode: O *
Display all things:
Skill level 1 & 2: * O
Skill level 3: * O
Skill level 4: * O
Deathmatch mode: * O
Display only Deathmatch mode things:
Skill level 1 & 2: O *
Skill level 3: O *
Skill level 4: O *
Deathmatch mode: * O
Display only things unique to level 4:
Skill level 1 & 2: O *
Skill level 3: O *
Skill level 4: * O
Deathmatch mode: O O
Personal note: I think it would be an excellent idea for id to have made
another flag for 'respawn'. This way you could make certain monsters
respawn (appearing at their original starting location), instead of
either all monster respawn or none. It would also avoid such things
as a second cyber-demon appearing, which really ruins the whole idea
behind having respawn in the first place. You could also have different
amounts of monsters respawn at different difficulty levels. (for
example, 5 at ultra-violence and 15 at nightmare). I can't beleive that
adding this would be very hard programming-wise. You have a bunch of
empty flags, you have already written the respawn routines.. Wish I
knew how to get this idea to id <sigh>.
------------------
[12] Thing editing
------------------
Editing things is very easy. If you want to move a thing to somewhere
else on the map, just click on it with the left mouse button, and drag
it to it's new location while holding the button down. To delete
something from the map, click on it with the right mouse button. And,
to add a new thing to the map, click the left mouse button while the
mouse isn't on a thing. (it will be placed when you release the button,
so you can drag it around too.) You can tell if you are on a thing by a
box around the thing. If you see this box around it, then that is the
thing currently selected. Information about this currently selected
thing is displayed at the top of the screen.
To change the currently selected thing, press the middle button (or the
spacebar). This will bring up all information about the thing. To
change any of this information, simply select the proper button. If you
press the middle button (or the spacebar) while a thing isn't selected,
then you can change the default thing's information. The default thing
is used whenever you add a new thing to the map. Lastly, pressing the
Enter key will scan the selected thing's information into the default
thing.
-----------------
[13] Line editing
-----------------
I have tried to make the line editing mode as useful and intuative as
possible. I have also tried to put as many abilities in this one mode
as I could. As a result, you shouldn't need to use vertex edit mode
very much, if at all. To use this mode effectively, however, you need
to know how to use it properly. So, here goes..
When you move the mouse cursor around the screen, it will lock onto the
closest line, and the closest vertex, if it's not too far away. If you
have a line selected, you can use the spacebar (middle mouse button) to
edit that line's characteristics, and it's sidedefs. Also, when a line
is selected, information about it is displayed at the top of the screen.
Sidedef info is also displayed. Each line has 2 sidedefs (or possible
sidedefs, anyway), a left sidedef and a right sidedef. Whichever side
of the line the mouse cursor is on is the sidedef that is displayed.
When editing the selected line, a small dot will mark this sidedef as
well.
Note: When a linedef that triggers an event is hilighted, the effected
sector(s) are also hilighted, using a dotted lines.
Adding a line (left mouse button):
A line is added by pressing the left mouse button at the starting point,
and releasing the button at the ending point. Pressing the button when a
vertex is selected (hilighted) will start the line at this vertex. If a
vertex is not selected, a new vertex is added, and becomes the starting
point for the line. Releasing the button when a second vertex is
selected will make that vertex the ending point. Otherwise, a vertex is
added and is used for the ending point.
One last possible situation is having a line selected, but not a
vertex. When you press the left mouse button here, a vertex is added,
spliting the line into two parts.
Deleting a line (right mouse button):
Simply select the line you wish to delete, and press the button. Doing
this will leave a gap where the line was. If you use the vertex edit
mode to delete a vertex, it will reroute all the line that went to that
vertex to the closest vertex along that vertexes lines (deleting a line
in the process).
Please note that lines may switch sides from time to time. This is
because Doom is very picky about having the 'important sidedef' on the
right side. This means that if you only have one sidedef, it must be on
the right side, so DMapEdit will flip the line around if needed to make
it so. Also, if a line has two sidedefs, and only one sidedef has any
textures, it must be on the right side. Again, DMapEdit will make this
so. You don't have to worry about these details, just edit your map
however you want to, and DMapEdit will make these changes as needed.
-------------------
[14] Sector editing
-------------------
Once you have all your lines in place, all forming closed polygon
shapes, you need to make sectors. Any location (polygon) a player or
monster is allowed to be in needs to be a sector. A sector definition
tells doom what heights the floor and ceiling is at for the polygon, as
well as how much light there is there. If you are making a new map, and
have put in all the lines, but have done nothing with the sectors yet,
select "generate sectors" from the advanced options menu. This will
examine your map and automatically assign a sector to every polygon that
needs one. (be sure your lines are set up correctly, however. Use "fix
lines" or "error check lines" first) Then, you can simply edit the
various sectors to your liking.
Sector edit mode is selected with the F4 key. In this mode, the mouse
will hilight whatever sector the mouse is in (if the sectors aren't
damaged). Information about the sector is displayed at the top of the
screen. The spacebar or middle mouse button will let you edit this
sector information.
Note: When you hilight a sector that is triggered with a linedef(s), the
linedef(s) will be hilighted too, using a dotted line.
If you want to make a new sector where there currently isn't one
(no lines hilight), or want to fix a damaged sector (only some lines
hilight), simply press the left mouse button (or insert key) to create a
new sector there. It will remove whatever sector(s) were there, if
any. The sector will have the characteristics of whatever sector most
of the lines seemed to be linked to. If it was totally empty, it will
assume the standard sector definition.
If you want to remove a sector (making a pillar solid, for example, so a
player can't be inside it) simply press the left mouse button (or delete
key) while the sector is hilighted. If a sector is damaged for some
reason, you should remake it first (left mouse button) and then remove it.
In order for a player or monster to fit inside the sector, there must be
a different of 7 between the floor and the ceiling. This is the
minimum. A difference of 6 will make it impossable to enter the sector.
Also, a floor height difference of 3 can be climbed, but a difference of
4 is too high a step to climb. The player can fall down a step of any
height.
Another option available in sector edit mode is the blend/copy
function. You press "B" while in sector edit mode to get the blend/copy
setup screen. Information from the hilighted sector is used to fill in
information on this screen. You can change the initial sector
information to be used, though, on this screen. You will also see
adjustment factors to the right. This is how much it will change the
initial values by each time. For example, having a floor height of 4,
and an adjustment factor of +2 will make the first sector floor height
4, the next 6, the next 8, etc.. Using an adjustment factor of zero
will basically perform a copy operation (the initial value never
changes). This can be useful to set a bunch of sectors to one light
value, or ceiling height, or whatever. If you select the button that's
already on, you will turn it off, so that no adjustment factor is
selected. When you do this, this Sector characteristic is ignored, and
thus not changed when you blend/copy. This can let you change only the
floor heights, for example, and not the light or ceiling levels. Or,
you can simple change the ceiling to the sky texture for a group of
sectors without changing anything else about the sectors. As you can
see, this can be quite handy.
Once you have the setup set properly, select the Engage button. You
will now be in blend mode. The top line will display what values you
are currently at. To set a sector to these values, simply click on the
sector, and the sector will be updated. This will also adjust each
value by it's adjustment factor, and you are now ready to update the
next sector. This is very useful for making stairs. Simply click on
each stair, in order, until you are done. To get out of blend mode,
simply press escape, or the right mouse button (or delete key). To get
back to the blend mode setup screen, press "B" again, or the middle
mouse button (or spacebar).
------------
[15] Marking
------------
Objects can be marked to perform an operation on them as a group.
Marking is done using the 'm' key, or clicking on an object with the
marking mouse button. By default, there isn't a mouse button for this,
so you will have to reconfigure the mouse buttons with the <tab> key.
You can also mark objects with a stretch-box by dragging with the mouse
button, or pressing 'alt-m'.
Objects that you mark will also mark other objects that they affect.
For example, if you mark a sector, it will also mark all the lines,
sidedefs, and vertexes that sector uses. Thus, you can mark objects in
one mode, and then switch to another mode to do an operation on it, such
as marking a sector, and then switching to line edit mode to change the
lines of that sector. The backspace key will unmark all objects
currently marked.
With a group of objects selected, you can move the whole group with the
add button. You can delete the group (effect depends on the edit mode
you are in) with the delete button. After you do a delete, there will
not be any objects marked. And finally, you can edit the group of
objects (vertexes can't be edited, since they have no properties). You
would edit the objects just as if you were editing a single object,
except changes will be made to all of the marked objects. To tell what
will and won't be changed, the buttons will be normal or dimmed. If it
is dimmed, this property will not be changed (changing only occurs when
you exit the edit window). If you change something, but then decide you
don't want to change this after all, you can toggle the button dimming
with the middle mouse button (spacebar).
copy.
----------------------------
[16] Making maps from scatch
----------------------------
Map generation starts with putting vertexes and lines where you want
them. This lays the foundation for everything else. Once all the lines
are in place, you need to make sidedefs for these lines (unless you do
so along the way while you are creating the lines). The easiest way to
do this is to select the "Fix Lines" options from the advanced options
menu (F9). If you already have sidedefs setup, then you should at least
error check the lines, just to make sure it's all ok. Once this is
done, you need to make all the Sectors. If you have all the sidedefs
where you need them, you can use the "Generate Sectors" option from the
advanced options menu. This will put make sectors for every polygon on
the map. Another method you can use is to simply enter sector edit mode
and add sectors manually to each polygon. One advantage to this method
is that you don't need to have the sidedefs in place. It will create
the sidedefs if it needs to for lines as it goes along.
At this point, you have the vertexes, lines, sidedefs, and sectors all
created. However, they are all most likely set to standard values
(walls are all brown1 texture, sectors are all the same heights and
textures, etc), so you will need to go in and set them to the values
you want them to be at. By the way, Things can be added at any time
along the process of making a new map. It's usually better to do so
after the lines are drawn, though, so you know where to put them, but
you are the boss.
When you have everything set the way you want it, it's time to generate
Nodes, and a Blockmap. Making a Blockmap is fairly quick, so you might
want to do this first. I also recommend you save your map before you
generate these two structure. In fact, I recomment you save your map
often! Anyway, once you have made your Blockmap and Nodes, save your
map, and enjoy playing your new map!
Notes:
Maps must have all areas enclosed by lines, forming a polygon. A map with
only 3 lines, for example, in an open ended box shape, isn't complete.
Keep in mind that a line doesn't have to be a wall. Lines are required
anywhere you wish to:
change floor or ceiling height
change lines angle
change wall, floor, or ceiling patterns
change lighting
change floor hurt-player damage
Also, every map should have a starting point for all four possible
players. You should also have, minimum, 4 deathmatch mode starting
points. And, of course, you should have an exit.
----------------
[17] Misc. notes
----------------
Changing a map's episode and mission number:
Suppose you want to change a map from E1M1 to E2M2. How does one do
this? Simple. Just press 'C' to 'change map'. Now, select the
episode/mission you want it to be. Once you do this, just click outside
the window (or press Esc) and now your map has a new episode/mission
value. At this point you can save it to a PWAD or whatever. This can
be useful for taking several one-map PWADs and putting them all into one
big PWAD.
--------------------------
[18] Alternate video modes
--------------------------
DMapEdit defaults to 640x480x256 colors, vesa svga. If this is a
problem, you can try setting up another video mode and/or driver. This
is all done with the -v switch.
dmapedit -v[driver,]mode
Driver: This data is optional. With it, you can tell DMapEdit you want
to use another bgi driver, if you have one. Be sure to use only a 256
color mode driver, as this program will not work with any other amount
of colors. Also, 640x480 is the recommended minimum resolution. Though
you can use lower resolutions (such as 320x200), doing so will have the
side effect of everything not fitting on the screen, and it will look
very stupid indeed. If you can live with that, however, then knock
yourself out.
Mode: This is a number, from 0 to however many modes the driver selected
has. With vesa.bgi, the following modes are available:
0: 320x200 (VGA/MCGA) (Mode not usable with DMapEdit)
1: 640x400
2: 640x480 (default)
3: 800x600
4: 1024x768
All modes are in 256 colors, since this is required for DMapEdit to work.
* vesa.bgi is copyright (c) 1991 Jordan Hargraphix.
-----------
[19] Thanks
-----------
I'd just like to say thanx to the following people:
Paul Hagstrom: for being my internet contact for this product. Now go
try it out and see what it's like!
James Sterrett: For the very first registration I received.
Alistair Brown: For finding that insanity-causing bug in the node
generator. I'm recovering quite nicely now..
Rod McCabe: For his letter and ideas. (quite a while ago, though)
Pierre Fournier: For tracking down that intermittent bug in the picklist
so well for me. I'd see it from time to time, but couldn't figure
out how to re-create it, until Pierre came along.
DEU authors: For making their editor's source available. I learned a
few tricks from it.
PWAD creators everythere: For making fun PWADs for me to play when I get
bored! My personal favorites at the moment are: Forest13,
Deadbase, Fortress,
Registered users: For registering! :)
Camaron Booth: Beta tester and idea suggestor.
joost schuur: Beta tester and idea suggestor.
id: For creating Doom in the first place. Great game guys. :)