home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FMI Superhry 1
/
Superhry-I.bin
/
bonus
/
doom
/
programs
/
mde10
/
mde.txt
< prev
next >
Wrap
Text File
|
1994-04-06
|
25KB
|
597 lines
M.D.E. - "My DOOM Editor"
by Patrick J. Steele
Copyright (c) 1994, Patrick J. Steele
Version 1.0
Additional design/input by Steven Spalding and Kevin Plancke
** NEW TO VERSION 1.00 **
-------------------------
* PWAD support! MDE will now create a PWAD instead of
modifying your original DOOM.WAD. A PWAD is a small
WAD file with only the information for one level -
great for uploading to bbs'!
* Enhanced user interface! Now objects, wall textures
and floor textures have a "windows-like" listbox from
which to make your selections.
* The listbox mentioned above has a "preview" option to
look at the floor/ceiling textures as well as the wall
textures!
* The floor/ceiling texture display (as well as the new
wall display) have been greatly speeded up!
* Color-coded objects! The map is easier to view and
setup with the addition of color codes for the
different objects.
* Deaf creatures! You can now modify the behavior of
the DOOM creatures. Deaf creatures will not move until
they actually see you, while "non-deaf" creatures will
start hunting you down as soon as they hear all the
racket you're making!
* Thanks to the new DOOM specs (v1.2) all of the
Linedef attributes are known, and modifiable, in MDE.
* A "Use Last" button when changing wall textures!
This button allows you to quickly copy wall textures to
different walls.
* MDE now has a batch file to load/unload the video
driver automatically.
FASTGRAPH/LIGHT
---------------
This program is using FastGraph/Light, a powerful graphics
library for C/C++, BASIC, PASCAL and FORTRAN. I highly
recommend it to all programmers looking for a fast graphics
library that supports a *lot* of video cards/modes.
Contact:
Ted Gruber Software
PO Box 13408
Las Vegas, NV 89112
Orders/Info (702) 735-1980
FAX (702) 735-4603
BBS (702) 796-7134
The one drawback is the external driver needed to run
FG/Light applications. It's included with MDE and it must
be loaded before running MDE. It takes about 120k of
conventional memory. The full blown version of FastGraph
does not require this driver (and it has a lot more
features), but it was $150 more than FG/Light ($49). So, I
hope you have enough memory to run MDE. I still need to do
more testing to determine the minimum amount needed to run.
LEGAL NOTICE
------------
MDE will only work with the registered version of DOOM. If
you only have the shareware version, I strongly suggest you
register. The $46 is well worth it. Episodes 2 and 3 are
fantastic!
MDE is Copyright(c) 1994 by Patrick J. Steele. MDE is not
an id Software product and id Software cannot provide any
support or assistance for MDE. Also, id Software cannot
provide any support for any levels modified by MDE.
THANKS
------
A special thanks goes out to Steven Spalding and Kevin
Plancke for beta testing MDE and providing some really neat
ideas. Thanks guys!
INSTRUCTIONS
------------
To run MDE, simply enter, "MDE" at the DOS prompt. The
FastGraph video driver will be installed and MDE will run
(NOTE: The driver will automatically be unloaded after you
exit MDE). You will be prompted with a selection screen.
You can use the arrow keys to select the episode and level
number you want to edit. Any other keys will be used as
input into the bottom field where the location of your
DOOM.WAD is located. You need to include the DOOM.WAD in
the filename. Example: If you have DOOM installed on the E:
drive in a directory named "DOOM", your path would be:
E:\DOOM\DOOM.WAD
Once you've entered the location of your DOOM.WAD and
selected a map, press <Return> to edit the map.
You will be given an overhead view of the map. The red dots
are creatures, the blue dots are objects you can pick up or
interact with (ammo, weapons, keys, health, etc.), the
yellow dots are the rest of the miscellaneous items (trees,
candles, dead bodies, etc.) and the green points are
vertexes. Move the mouse to the edges of the screen and the
map will automatically scroll.
Press the left mouse button while pointing to an object or a
vector to bring up detailed information.
FOR OBJECTS:
You may change what the object is, the angle it faces,
what skill levels it will appear on and whether it will
show up only in network play.
For setting the angle, the following numbers are used:
9 0
135 | 45
180 -+- 0
225 | 315
270
The option to set a deaf creature is also available. A
deaf creature will not attack you, no matter how much
noise you're making, unless he can actually see you. A
"non-deaf" creature will start moving and searching for
you once he hears you shooting. This option is great
to create an ambush situation. Place about 5 "non-
deaf" sergeants around a corner. Then place a former
human at the end of the hall leading to that corner.
The DOOM player will take a few shots at the former
human, and the guards will growl to life and suddenly,
the player is faced with 5 angry sergeant blasting away
at him!
FOR VERTEXES:
In the DOOM maps, two vertexes form a line (called a
"linedef" in the WAD file). A line consists of a
"from" vertex and a "to" vertex. When you select a
vertex, MDE will display a green line that corresponds
to a linedef. MDE assumes the vertex you selected was
the "from" vertex.
NOTE: Some lines are formed by two vertexes at the same
x,y location. Example:
1
|
|
|
2------------4
|
|
|
3
This map shows a line going from 1 to 2, a line from 2
to 3, and a line from 2 to 4. If you select vertex 2,
MDE will find the first line that uses vertex 2 as the
"from" vertex. If the line from 2 to 3 was the first
one, that line would always be selected. To tell MDE
to ignore the first instance of the vertex, hold the
ALT key down while pressing the left mouse button on a
vertex. In this example, the result would be the line
from 2 to 4 being selected.
Once a line is selected, a dialog box will display
information for that "linedef". A sample dialog box is
show below:
+------------------------------------------------+
| Attrib |Impass | |MBlock | |2-sided| |BlkSnd | |
| |Up-Upeg| |Lo-Upeg| |NoMap | |StrtMap| |
| |Secret | |
| |
| Type 000 |+| |-| Trigger 000 |+| |-| |
| |
| |Edit R Side| |Edit L Side| |
+------------------------------------------------+
NOTE: The "Edit L Side" button will only be displayed
if there is a left sidedef (explained later) for this
line.
"Impass" - This toggle button will make a line
impassable by the DOOM player. This is generally
used along walls and the edge of the DOOM
playfield.
"MBlock" - When pressed, this toggle button will
block a monster from passing this line.
"2-sided" - This attribute tells the DOOM engine
that this line has two sides - so if no wall
texture is defined, the wall is transparent. Wall
textures are discussed later.
"BlkSnd" - When pressed, this toggle button will
block sound from passing the selected line.
"Up-Upeg" and "Lo-Upeg" - These attributes tell
the DOOM engine whether the above (upper) and
below (lower) wall textures (explained later) are
"pegged" or not. A pegged texture will move along
the sector it's defined when the sector moves
(changes height). An unpegged texture will not
move. It's a difficult thing to explain. Try and
look at it graphically:
Imagine the "above" texture being the numbers 1-5
listed vertically - here's the effect of the wall
texture on a line that is "unpegged".
| 1 | | 1 | | 1 | | 1 | | 1 |
+-----+ | 2 | | 2 | | 2 | | 2 |
+-----+ | 3 | | 3 | | 3 |
+-----+ | 4 | | 4 |
+-----+ | 5 |
+-----+
It looks "funny". The wall doesn't actually look
like it's "moving" down. If you set the texture
to be "pegged", the effect will be like this:
| 5 | | 4 | | 3 | | 2 | | 1 |
+-----+ | 5 | | 4 | | 3 | | 2 |
+-----+ | 5 | | 4 | | 3 |
+-----+ | 5 | | 4 |
+-----+ | 5 |
+-----+
See the difference? The five is always at the
bottom of the wall. The "above" texture "moves"
with the wall. You will see pegged textures with
doors, since you want the texture to move up as
the door opens.
"NoMap" - When this button is pressed, the
selected line will not show up on the map - even
when the Computer Map is found.
"StrtMap" - When this button is pressed, the
selected line will show up on the map at the
beginning of the level - even if you haven't seen
the line yet.
"Special" - This button will make the automapper
draw the selected line as a normal line -
protecting any secret area until the secret is
opened. This option has nothing to do with the
secret percentage at the end of a level.
"Type" - The primary use of this field is for
special "trigger" functions (explained later).
"Trigger" - This field will tie a line and a
sector (or sectors) together, so when this line is
crossed or the wall this line defines is pushed,
something will happen in the sector(s) with the
same trigger number. That "something" will depend
on the "Type" field. For example, the value 35 in
the Type field will cause a sector to go dark
(loose all light) when the line is crossed.
Triggers will be discussed in more detail later.
For the "Type" and "Trigger" fields, click the +/-
buttons to increase and decrease the values. Hold
down the control key while clicking with the mouse
to change the value by 10.
Clicking on one of the two "Edit Side" buttons will
bring up information for a sidedef (explained later).
A sample dialog box for a sidedef is show below:
+-----------------------------+
| T-above - |?| |
| T-norml STARTAN3 |?| |
| T-below - |?| |
| |
| |Edit Sector| |Restore| |
| |Use Last | |
+-----------------------------+
"T-above" shows the name of the texture used to
define the area of a wall "above" a sector where
there is an adjacent sector with a lower ceiling.
"T-norml" is the name of the normal (eye-level)
texture used to define the wall image.
"T-below" is the name of the texture used to
define the area of a wall "below" a sector where
there is an adjacent sector with a higher floor.
For the 3 texture fields, click the ? button next
to the texture name to display a list of available
wall textures. The 'T' and 'B' keys in the
listbox allow you to quickly move to the top and
bottom of the list. The up and down triangle move
the list in pages, while the up and down arrows
move through the selections displayed. To see
what a wall texture looks like click on the
"Preview" button. When you are done viewing the
wall, press the right mouse button to continue.
Select "Ok" to use the selected texture or
"Cancel" to ignore your selection.
A texture of "-" means there is nothing defined
for that texture. See the "DETAILED INFORMATION"
section below for help on these fields.
"Edit Sector" will bring up detailed info about
the sector this sidedef surrounds (defines). You
may change a sectors' floor/ceiling texture,
floor/ceiling height, the amount of light in the
sector, set up special flags for the sector
(radioactive damage, flickering lights, pulsating
lights, etc.) and set the trigger number for
special effects.
"Restore" will restore the texture names to the
ones first displayed in this dialog box. If you
made a mistake in the selection of wall textures,
press "Restore" to bring the old names back. Once
you leave this dialog box, the names are saved in
memory for the rest of the editing session.
"Use Last" will use names of the textures from the
last "side" you edited. This is handy for copying
a common set of textures across multiple lines.
When you press the "Edit Sector" button, a third dialog
box will appear with information for that sector. A
sample is show below:
+---------------------------------+
| Ceiling CEIL3_5 72 + - |
| Floor FLOOR4_2 0 + - |
| Light 144 + - |
| Special 0 + - |
| Trigger 0 + - |
+---------------------------------+
"Ceiling" and "Floor" shows the name of the
texture used on the ceiling and the floor,
respectively (CEIL3_5 and FLOOR4_2 in this
example), the ceiling height (72) and the floor
height (0) and the usual +/- buttons for changing
the height of the ceiling/floor. Click on the
texture name to change the ceiling or floor
texture. A listbox will appear allowing you to
select a new texture. Since floor and ceiling
textures are so small, the preview button is
enabled while you scroll through your selections.
The ranges for the ceiling/floor seem to be from
512 to -264. A difference of more than 28 will
prevent the DOOM player from crossing into a
higher sector. The DOOM player may fall any
distance.
"Light" displays the light level for the sector.
The ranges are from 0 (very dark!) to 255 (full
light)
"Special" - set special flags for this sector. In
the list below, sectors that cause damage have two
percentages listed. The first percentage is the
damage when playing at skill level 1, the second
percentage is the damage playing at skill levels 2
and above. The current known values for "Special"
are:
0 - Normal sector
1 - light level blinks randomly
2 - light quickly blinks for 0.5 seconds
3 - light quickly blinks for 1.0 second
4 - lights pulsate and 10%/20% health loss
5 - 5%/10% health loss
7 - 2%/5% health loss (typical green acid)
8 - light oscillate from 255 to light level
of adjacent sector
9 - secret sector (increments the # of
secrets found)
10 - unknown
11 - 10%/20% health loss and takes player out
of god mode
12 - blink (down to very dark)
13 - quick pulsate
16 - 10%/20% health loss
Values other than those listed can cause DOOM to
crash with a "UNKNOWN SPECIAL SECTOR" error.
"Trigger" - This will tie a sector and a linedef
together. Set this field to the same number as
the trigger field in a linedef to "connect" the
sector and linedef. The number used to connect
the sector can be any number you want, just make
it unique.
Click the right mouse button to back out of all of
these menus.
OBJECT MOVEMENT
---------------
To move an object, select it with the right mouse button.
While holding down the right mouse button, drag the object
where you want it and release the mouse button.
KEYS
----
Press 'W' to write your changes to a PWAD file. If you
don't press 'W' your changes will not be saved! MDE will
warn you if you try to exit without saving your changes.
The name of the PWAD will be MDE_ExMy.WAD where 'x' is the
episode # (1-3) and 'y' is the level # (1-9). Press [ESC]
to exit the program.
To run DOOM with your PWAD file, simply run DOOM with the
following command:
DOOM -file [your wad file]
Example: If you modified episode 2, level 6 and saved the
PWAD (MDE_E2M6.WAD), run DOOM as:
DOOM -file mde_e2m6.wad
DETAILED INFORMATION
--------------------
Here's some more detailed info about MDE. The moving and
changing of objects is pretty straightforward. What I'll
explain here is the options you have with the vertexes,
sidedefs and sectors. If you want to understand more of
what's here, I've included a copy of "The Unofficial DOOM
Specs v1.2". That's what made this editor possible and it
may explain better what I'm about to describe.
Each line will have at least one side defined, called a
"sidedef", or possibly two. A line will only have one
sidedef if the DOOM player will never see the other side.
For example, on the first level of episode one, the DOOM
player can turn around 180 degrees and see a door. There is
no way (except with cheat codes) for the player to be on the
other side of that door, so that line only has one sidedef.
An example of a line with two sidedefs is also on the first
level of episode one. If you look out the window to the
right, there's the familiar pool of ooze with the combat
(blue) armor. The lines defining that pool of acid have two
sidedefs, the side that faces "in" the pool of acid, and the
side that faces "out" of the pool.
All of the lines in DOOM have a 'from' vertex and a 'to'
vertex. As noted earlier, when you select a vertex, MDE
will find a line based on the point you select being the
'from' vertex. When you select a vertex with the left mouse
button, hold down the mouse button. The line will be high-
lighted in green so you can see the entire line. The 'from'
and 'to' vertexes for a line also establish a direction for
the line. Consider the picture below:
"left side" "right side"
From------------------->To<-----------------From
"right side" "left side"
If you were standing with your back to the 'from' vertex and
your head facing the 'to' vertex, you would see that your
right arm is on the "right" side of the line and your left
arm is on the "left" side of the line.
When you release the mouse button, the dialog box for the
line displays. The button "Edit R Side" allows you to edit
the right side of the line. The "Edit L Side" button allows
you to edit the left side of the line. This is cumbersome
at first, but after a while, you'll get used to it.
As noted above, each line has at least one sidedef. A
collection of sidedefs forms (or "defines/surrounds") a
sector. A sector is where the floor/ceiling altitude is
defined and where the lighting and special flags (for acid
damage, etc.) are defined. You may edit the altitude of the
floor and the ceiling, set the light level, and set special
flags for the sector. You may also tie a line to a sector
with the "Trigger" field.
SIDEDEF TEXTURES
----------------
The three texture names for a sidedef, T-above, T-norml, and
T-below, all have special meaning. The T-norml level is
easy - it's the "eye-level" texture for the wall. The above
and below names are a little tricky.
The above texture tells DOOM what to draw "above" a sector,
if the sector's ceiling is lower than an adjacent sector.
Episode 1, Level 1 will give us a good example.
Start on this level, and go the left. When you stand at the
base of the stairs (leading up to the armor), there are two
columns with some pulsating lights. This is an example of a
sector with a lower ceiling than an adjacent sector.
At the top of the column is a kind of diamond shaped light.
That is the ceiling texture for that sector. The sector you
are standing in has a higher ceiling than the column, thus
DOOM needs to know what to draw "above" the column. If you
look at sidedef1 for each of the 4 sides of the column, T-
above is set to TEKWALL4.
This same reasoning applies to the below texture. If the
column and gone all the way to the floor, you wouldn't need
a below texture. However, the floor of the column is
"higher" than the "adjacent" sector (which is the sector you
are standing in). DOOM needs to know what to draw under the
floor.
TRIGGERS
--------
To get a sector "tied in" to a line, set the "Trigger" field
for the linedef and the sector to the same value (any value
you make up is fine - just make sure it's not in use by some
other trigger). Once a line and sector are tied together
(by having the same trigger number), you can define what
will happen to the sector when the line is crossed, or a
button along the line is pushed.
The "Type" field of a line will determine what will happen
in the "tied in" sector. The DOOM specs do an excellent job
of listing all of the values currently known. Instead of
duplicating the effort, please consult the DOOM specs for
the trigger values.
One note about teleporters (trigger 39 and 97): Teleporters
*require* a teleport destination object to be in the sector
the trigger is tied to. You will teleport into the sector
that is "tied in" to the linedef. If a DOOM player crosses
a line with a type of 39 or 97, DOOM will look for the
sector the line is tied to. If there is no teleport
destination object in that sector, the teleport will not
work (nothing will happen). If there is a teleport
destination object, the player will be placed there and will
be facing whatever direction the object is pointed in.
THE END?
--------
Ok, now I need to know what you think. I need all feedback
- good/bad/wants/needs. Please leave feedback to me on:
Software Creations: (508) 368-7036
User name: Patrick Steele
Internet: patrick.steele@swcbbs.com
COMING UP
---------
* Creating maps! Right now, there are a few editors out
there that let you edit/create levels. As soon as I get a
hold of some code for the internal structures of the WAD
file that need to be re-created when walls are added/moved,
I'll start work on MDE to allow map creation!
* Because of memory requirements, Episode #2, Level 7 can
not be loaded into MDE. It's a huge level (almost 200k of
data!) I'm going to use expanded memory (EMM) in my next
version of MDE to reduce the amount of conventional memory
required. With EMM, adding objects will be available!
* One of my beta testers, Steve Spalding, suggested some
kind of utility to easily run DOOM with multiple PWAD files
(instead of typing them all in at the command line). I'm
looking into that.