home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Instant Doom Levels
/
Instant.Doom.Levels.-.Level.Master.II.iso
/
EDITORS
/
DEHACKED
/
DEHACKED.HLP
< prev
next >
Wrap
Text File
|
1994-12-11
|
28KB
|
589 lines
DeHackEd v2.2
By Greg Lewis (Tree)
gregl@umich.edu
This is a general help file for DeHackEd version 2.2. For more specific
product information, see the file DEHACKED.TXT. For important start-up
info and instructions, read README.TXT. And, if you are more interested
in simply finding fun stuff to experiment with, check out "Fun with DeHackEd"
(DHEFUN03.TXT) bundled with the program. It was originally written by Dan
Lottero, and includes some wild things to try!
This help file is arranged in the following sections:
1. Patch File Info
2. Command Line Options
3. DeHackEd.ini Options
4. Available Keys
5. Mouse Support
6. Thing Editor
a. Thing fields
b. Bit fields
7. Frame Editor
8. Ammo Editor
9. Sound Editor
10. Sprite Editor
11. Text Editor
So, without further ado, here it is!
1. *** Patch File Info
\------=================
This is some more info on patch files, which may help explain any
difficulties you are having with them.
Patch files are entirely different from WAD files. WAD files can
contain level info, sound, and graphics info (stuff normally found in
the Doom WAD file). They are used simply by typing "doom -file <wadname>"
at the command line. Patch files, however, contain info from inside the
doom.exe file, and cannot be used with the "-file" parameter. DeHackEd
is (currently) the only program that can apply these patches and change
the Doom exe file.
Patch files save ALL the info on Frames, Ammo, Things, Weapons, Sound,
Sprites, and Text, NOT just changed data. This way, several people can
load a specific patch, you KNOW everyone will have the same Doom exe file.
This may change in the near future (a new patch format).
The patch files that DeHackEd 1.3 created saved only 4 pieces of info:
the Frames, Things, Ammo and Weapons. If you are editing Doom 1.2,
DeHackEd will only save those pieces of information in order to create
a patch file backwards-compatible with DeHackEd 1.3.
It is a good idea to save back-up patch files before messing around
with your Doom exe file. The standard naming convention for back-up
patches is "NORMAL??.DEH", where the ?? are replaced by the version
number (see the README.TXT for specific instructions). Those files are
then also used for merging patches, as a "clean" copy of your doom.exe
file. For example, if you are merging in a patch for Doom 1.666, DeHackEd
expects to find a clean patch file called "NORMAL16.DEH" in your patch
directory.
2. *** Command Line Options
\------======================
First, an explanation of command line options. The full command line
syntax for DeHackEd is:
dehacked [doompath] [-load <patch1> <patch2> ...] [-save <patch>]
[doompath] is optional, and specifies a different location for the
doom files, doom.exe and doom.wad, other than the current directory.
-load <patch1> <patch2> ... will update the doom.exe file with the
patches called <patch1>, <patch2>, etc and return to the DOS prompt--
great for batch files!. The first patch is just loaded normally, and all
others after it (if there are any) are merged with the first one.
And, conversely, the -save <patch> option will save the current
doom.exe status to a patch file named <patch> and return to the DOS
prompt. These options are similar to 'l' and 's' in DeHackEd, although
when used in DeHackEd the 'l' option requires a 'w' after it to actually
write the changes to the doom.exe file. See section 4 for more info on
'l'oading, 's'aving, and 'm'erging.
Example command line:
dehacked c:\games\doom -load suprwep5.deh army1.deh
This will start DeHackEd, using the doom.exe file found in c:\games\doom,
will load in the info from the suprwep5.deh patch file. Then it will
merge in the patch file army1.deh, and return to the DOS prompt. And of
course, just typing a plain 'dehacked' will take you straight into the
DeHackEd main program.
3. *** DeHackEd.ini Options
\------======================
Included with DeHackEd 2.2 is a DeHackEd.ini file which can specify
several parameters for DeHackEd. They allow you to customize where you
want your patch files located, what your doom files are named, and more.
Note: you must keep a space on both sides of the equal signs for a
parameter to be processed properly. A summary of the allowable command
line options follows:
# Start comment lines with a pound sign. Anything after the pound
sign is ignored.
doomexe = <exename>
This is the name of your doom.exe file, and full path if necessary.
This doesn't need to be included if you are running DeHackEd from
the directory that your doom.exe file resides in, and it's got the
proper name (doom.exe or doom2.exe).
doomwad = <wadname>
This is the name of your doom.wad file, and full path if necessary.
This must be a registered wad file, not a shareware file. This is
needed for verification that you are really registered, and not
just trying to fake it. Once again, if this is in the same
directory that DeHackEd is run from you don't need this parameter.
doompath = <path>
This is the path from which you want Doom to be run. This is only
used when using the 'r'un option from inside DeHackEd.
doomargs = <Doom parameters>
These are command-line parameters that are fed to Doom when it's
run using the 'r'un option from within DeHackEd. Useful if you
are using DeHackEd for a custom patch for a WAD you are writing;
you can simply include a '-file <wadname>' in this line, and
Doom will load your level every time DeHackEd runs it.
patchdir = <path>
This is the directory that DeHackEd will look in for patch files.
A nifty way of keeping all of your thousands of .DEH files out
of the Doom main directory.
The following parameters are all totally optional, and need only be
used if you have a really wierd doom.exe file.
doomver = <0 | 1 | 2>
This is the version of Doom you are hacking. 0 is Doom 1.2,
2 is Doom 2 v1.666, and 1 is everything else, Doom 2 v1.666 and
Doom 2 v1.7(a). This *must* be included if any of the following
options are set.
doomsize = <size>
The size of your Doom.exe file. I've had a few people complain
that they have a non-standard doom.exe file size, and this may
fix your problem simply by changing this. If you get erroneous
results though, you may have to play with the following params...
thingoff = <offset>
soundoff = <offset>
frameoff = <offset>
spriteoff = <offset>
ammooff = <offset>
weaponoff = <offset>
textoff = <offset>
These are the offsets in the Doom exe file for their corresponding
data chunks. PLAY WITH THESE AT YOUR OWN RISK.
4. *** Available Keys
\------================
Available keys are as follows:
ESC Exits to DOS. Or, if you are in an input box, or just about
*anywhere* in the program for that matter, it will back you
out to whatever you had previously been doing.
Enter Edits the current field, if it is an editable field. To leave an
editing box if you hit Enter by mistake, simply hit ESC.
Space Views, plays, or displays the current field, if applicable. If
you are on a "frame" field, such as any of the Thing frames, or
any field in the Frame table, or the Frame fields in the Ammo
editor, you can see the frame that you've got highlighted simply
by hitting the spacebar. (Note: If you are on the "Next Frame"
field in the Frame editor you WILL see the next frame, not the
current frame.) If the frame you are viewing is the first in a
series of frames, repeatedly pressing the spacebar will cycle
through all of the frames. Escape will exit. The spacebar will
also view the full text strings in the Text Editor. And it will
also play the sounds when you are in a sound field (currently not
quite working yet).
C The copy command. This will copy information from one entry to
another. The syntax is fairly basic: enter the number of the
entry to copy FROM, and the entry number to copy TO. A clipboard
for Things is available as Thing #138 (Thing #104 for Doom 1.2),
which is just a temporary storage Thing (and is not actually
present in the Doom.exe file). Note that the Thing names will
not change... the Thing name is not actually in the Doom.exe, and
is just included for your own benefit. The Thing # is also only
for the convenience of the hacker, and is not in the doom.exe
file. A specific Thing # will always have the same Thing Name,
and this cannot be changed.
D Change numeric mode to Decimal. This displays all numbers as
normal decimal numbers. 'H' will switch to hexidecimal displays,
which may be helpful sometimes.
G Goes to a specific Thing. If you know exactly which Thing or
Frame you want to see, go right to it without bothering to
page around looking. The Things now have a goto window arranged
alphabetically by name. That's so that you don't need to remember
lots of Thing numbers all the time!
H Displays all numbers in the hexidecimal number format. Useful
for those true hackers who live in hex their whole lives. Use
'D' to return to the normal decimal world.
J Jumps to the information in the current field, in it's respec-
tive editor. For example, if you are in the Thing editor, and the
'Death Frame' is highlighted, and you press the 'j' key, you will
jump to the Frame editor, with the corresponding Frame number high-
lighted. A very handy tool for moving around the various editors.
Generally it'll jump to a "logical" place, if there is one.
L Loads a patch file. You must enter the patch filename, and it
will replace the current information. Note that 'w' must still
be used to make the changes permanent. You can also do this
from the command line by typing
dehacked -load <patchname>
One caveat: the load feature was updated to allow automatic
conversion of DeHackEd 1.3 patch files to DeHackEd 2.2 patch files.
With the patches I've tested I have not noticed any problems, but
if you have any difficulties, please let me know.
Note: conversion TO Doom 1.2 will NOT work.
M Merges a new patch file into Doom. The 'l'oad option overwrites
all information with the information from the new patch file.
The 'm'erge option will do it's best to merge the file that you
are loading into the Doom exe, without touching any data that may
already be changed. It will not always give the expected
results when the new patch file changes something that's already
changed in the current Doom exe, but it will usually work. Also,
you will need to have a "normal" patch file for Doom to compare
against. See the section 1 (patch files) for more information on
"normal" patch files.
R Runs Doom. This option is slightly tempermental, and every once
in a while it just flashes the screen and refuses to run Doom.
Try it to see if it'll work for you. It allows you to quickly
test-run Doom, to check out the changes you've made (remember to
hit 'w' before running!). After Doom finishes, you will be returned
to your current place in the editor to continue working. You can
specify command-line parameters for Doom, and the directory to run
Doom from in the DeHackEd.ini file.
S Save a patch file. You must enter the patch filename, and it
will save all editable material to the patch file. It saves either
a Doom 1.2 or 1.666 patch depending on what Doom exe you are
editing at the time. You can also do this from the command line
by typing
dehacked -save <filename>
U Undo all changes. This reloads the information straight from the
Doom exe file, and will return you to your most recent 'w'rite
of the Doom exe file.
W Writes all changes to the Doom exe file. This step is necessary
to get any results!
F2 Thing Editor. This is the main Thing editor, the default screen in
DeHackEd. See section 6 for more detailed Thing info.
F3 Frame Table. Displays Frame information, in a list format.
See section 7 for more detailed Frame info.
F4 Ammo/Weapon Editor. This allows you to edit the ammo and weapon
amounts and graphics. Section 8 talks more about this screen.
F5 Sound Table. A jolly good table of all the sounds. Check out
section 9 for more Sound table info.
F6 Sprite Table. A handy list of all the sprites, in case someone
needs it. Section 10 deals with the Sprites.
F7 Text Editor. This shows all the text strings in the Doom.exe
file. You can also edit the strings, a capability new to
DeHackEd (new to version 2.0, that is). Section 11 has more info.
F8 Thing List. This is a Table version of the Thing editor. It shows
only the most important Thing information, and is meant as a quick-
reference guide.
5. *** Mouse Info
\------============
Some notes on the mouse support (new to version 2.2). Generally just
click places to find out what happens! The new status bars on the top and
bottom of the screen are there expressly for the mouse users (click on 'em
to get help, exit, see the "About" window, or switch editors). Clicking
on any of the fields will bring up an editing box to let you change the
value. Click on the "Thing Name" in the upper left window to Go to any
of the Things by name. Clicking on any sound or frame names will play the
sound or show the frame for you. Right clicking at any time will act
exactly like the Escape key was pressed (except for exiting the program),
ie get you out of input boxes, leave the frame viewer, etc. The way it's
designed should (hopefully) be intuitive.
6. *** Thing Editor
\------==============
a. Thing fields
This is the first thing you see when you start up DeHackEd. It is also
one of the main areas of the program. Edit Things by highlighting the
desired field and hitting Enter, or clicking on it with the mouse.
The Player entry is slightly "special" in regards to how much Doom
uses the info in the Player fields. Entries such as Speed and Hit
Points are NOT changable through DeHackEd; they are controlled else-
where in the exe and aren't easily accessible. Most of the rest of
the Player entries, however, are used and can be changed normally.
Thing Number: The number of the Thing. Basically it's just for
reference, numbered in order according to how the Things are stored
in the Doom exe file. Note: these are different between 1.2 and
newer versions, because new Things have been added!
Thing Name: A short descriptive name for the Thing. This info
is NOT stored in the Doom exe file, and thus you can't edit it, and
it will always remain the same. So a Thing #55 (the rocket launcher
in Doom 1.2) will always be described as a "Rocket Launcher", even
if you change it to something entirely different, like a Cacodemon.
Thing ID#: This is the Thing's 'identification number' which is
used in level developement (WAD files). Wherever this number
appears in a WAD file, this Thing will appear.
Hit Points: How much damage it can sustain. For all non-living
Things, it's generally 1000 (not necessary though).
Speed: How fast it can go. Projectiles have their speed
multiplied by 65536, but DeHackEd displays projectiles the same way
it does normal speeds (so you don't need to wade though large numbers
for projectile speeds). Whether a certain Thing is a projectile
or not is determined by bit #10, 'Projectile'. If that
bit is set, the speed is displayed as a Projectile, otherwise it
is a "normal" speed. Basically though, just ignore it and
DeHackEd will take care of it for you. =-}
Width: The radius of the Thing. A narrow Thing is harder
to hit! To fit a Thing through a narrow passageway, you need to
have the passage slightly wider than twice it's width. Thus a
passage must be 33 to allow the Marine through, even though his
actual radius is 16.
Height: Same as width, but it's height. Duh. :-)
Missile Damage: If it's a projectile, how much damage it does upon
"death" (explosion). Note that Lost Souls have this set to 3.
Reaction Time: For monsters, their reaction time. Lower=quicker to
attack, higher=slower to attack.
Pain Chance: Chance out of 256 that a monster's action/attack will
be interrupted by an injury. The Lost Soul always will (256), and
the Spider Boss rarely will (40).
Mass: Thing's mass. Set a trooper's to 1 and watch him fly!
Note the Cyberdemon has a high mass, and your rockets don't budge
him much.
Bits: This is the actual value of all of the bits. Just
change this one number if you want to set all of the bits at once
to something. See also the Bit fields portion of the text, coming
up in a few pages (section 6b).
SOUNDS
Alert: Sound made when the monster first spots the player,
or a projectile is launched. These all point to the sounds in the
Sound table.
Attack: Sound made during a close attack.
Pain: Sound made when the Thing is injured.
Death: Sound made when the Thing dies. For projectiles and
barrels, the sound of it's explosion.
Action: Sound made when the Thing is just milling around.
FRAMES
First Normal: What an inactive thing looks like, or a monster that's
not yet active. All frame numbers refer to the Frame table. Only
the first frame is listed, you will need to refer to that Frame
entry in the Frame table to find out if it's actually a sequence of
frames.
First Moving: A movable Thing's "first steps."
Injury: Frame played for an injured Thing.
Close Attack: Attacks that are close (clawing imps).
Far Attack: Attacks that are far away (imp winding up for a
fireball attack).
Death: Monster death or barrel/projectile explosion.
Explode Death: Exploding death (slop!) for players, troopers,
imps, and sargeants.
Respawn: This is the frame that's shown when the Thing comes
back to life due to the ArchVile. This field is only shown for
versions other than Doom 1.2.
b. Bit Editor
0.Gettable Thing: Something that can be picked up by the player,
like an ammo clip.
1.Obstacle: Something that can't be walked through.
2.Shootable Thing: It will only take damage if this is set. Note
that barrels also have this set.
3.Total Invisibility: The Thing just can't be seen, no-how, no-way. It
won't even show up with iddt-iddt.
4.'Automatics': From Jason Gorski: "Okay well if you don't want
your weapons to auto-lock onto something set the automatics to yes."
Basically Things like PUFF, TFOG, BLUD, and projectiles.
5.Semi-Deaf Monsters become active if they see you (like
normal), or if you fire a weapon AND there is a direct line of
sight between you and the monster. Strange.
6.In Pain: Used internally by the Doom exe to determine if a
monster is in pain or not.
7.Unknown
8.Hangs From Ceiling: For those gory legs & mangled bodies. Have it
set, well, if the Thing hangs from the ceiling!
9.No Gravity: Used for floating monsters and Things that aren't
on the ground.
10.Travels Over Cliffs: Set for projectiles and players. This bit allows
the Thing to travel from one sector to another even when the
dropoff height difference is greater than 16 (or 24?). Turn this
on for Imps, and the Imps on E1M1 will jump off their platform
after you.
11.Can pick up items: This Thing (i.e. the player) can pick up Gettable
Things.
12.No Clipping: Same effect as idspispopd/idclip, but also
effective for monsters.
13.Unknown
14.Floating: For floating monsters, like the Cacodemon and the
Lost Soul.
15.Semi-No Clipping: Kinda like no-clipping, kinda not. You can't
walk through walls, or trigger any linedefs, but you can walk
over any height cliff in your way.
16.Projectiles: Set for projectiles. Allows the projectile to
leave your body. If it is turned off, the projectile explodes
as soon as it is fired, because it originates from "inside" your
body.
17.Disappearing Weapon: This is used for weapons such as the shotgun that
the sargeants use, so that it disappears when picked up in a multi-
player game. Normal weapons do not have this set, however, because
they stick around in normal multi-player games when picked up.
18.Partial Invisibilty: The Spectre effect.
19.Puffs (vs. bleeds): Whether a thing bleeds (bit off) or puffs (bit on)
when hit. The barrel is the only default Thing that has this set.
20.Sliding Helpless: ???
21.Unknown
22.Counts for Kill% This Thing counts as part of the Kill% at the end
of the level.
23.Counts for Item% Just like Kill%, but for Things.
24.Unknown
25.Not in Deathmatch: Things not present in Deathmatch mode, such as keys
and the normal "Player" starting spots (deathmatch spots are used
instead).
26.Color 1 \ 00-greens->greens 01-greens->browns
27.Color 2 / 10-greens->indigos 11-greens->dark reds
28.Unknown \
29.Unknown Perhaps these are unused???
30.Unknown /
31.Unknown /
7. *** Frame Editor
\------==============
This displays the majority of the Frame information. Each frame has six
editable fields (of 8 total that are stored in the exe). The only two
fields that are NOT shown on the screen are always 0 in all of the Frames,
so I decided it would be pointless to try to squeeze them onscreen also.
Frame #: This is the number that is specified in the Thing
Frame fields.
Name: A lookup done on the Text info in the doom.exe file,
specified by a reference to the Sprite #, the Sprite Table, and
the Sprite subnumber.
Sprite #: The sprite that is shown for this Frame.
Sprite Sub #: The individual "picture" (for lack of a better
word... I think the technical term is "lump") suffix for this Frame.
In the Doom WAD file, there is (for example) a Sprite called TROO,
for the trooper. The sub # specifies which TROO picture to use...
TROOA, TROOB, TROOC, etc.
Bright Sprite: This check box is not actually included in the
Doom.exe file. The Sprite Sub# is multiplied by 32768 if the
Sprite is to always be displayed at it's full brightness. I've
just changed that into a check box to make it easier to make a
Sprite bright, or not-bright. Sprites that are always displayed
at their full brightness are Lost Souls, plasma bullets, etc... they
are always visible no matter what the lighting is.
Next Frame #: Which Frame to play next. You can skip a few shotgun
frames this way, to make the super-fast ("combat") shotgun.
Duration: How long the frame stays on the screen. Make 'em
all 1 to make the super fast shotgun *really* be super fast! Notice
that the notoriously slow BFG has a value of 20 and 10 for a few of
its Frames. (hint hint... =-)
Code pointer: An offset in the Doom exe file to where it should
look for the "action" associated with this Frame. It appears after
more digging that this value is really useless. The actual location
in the code is specified by a relocation table elsewhere in the
Doom exe, which is referred to instead of the code pointer.
8. *** Ammo Editor
\------=============
Weapon Name: The name of the weapon (not editable)
Ammo Type: A pithy description. This will be 'N/A' when an
'unknown' ammo type is given for the Ammo Number. Ammo type 5 is
listed as "Unlimited".
Ammo Number: 0=bullets 3=rockets
1=shells 4= ??? (none)
2=cells 5=unlimited (fist/chainsaw)
Max ammo cap: The starting capacity for the current type of ammo.
It's listed on the right side of the slash on the status bar.
Backpacks will double this limit automatically. This will be 'N/A'
for unknown ammo types.
Ammo per item: How much ammo you get when you pick up a power-up of the
current ammo type. For example, normally the bullet power-up gives
you 10 bullets. This value is multiplied by 5 for the 'large'
power-ups, i.e. boxes of rockets, boxes of shells, etc. Different
difficulty modes also change this. Also 'N/A' for unknown types.
Deselect frame: This is the frame that's shown when another weapon
is selected and the current weapon drops off the screen. This is
the number that Doom refers to in the Frame list for more info.
Select frame: The frame that's shown when the weapon is selected
and is rising onto the screen.
Bobbing frame: Frame number for the bobbing weapon.
Shooting frame: Frame played when the weapon shoots.
Firing frame: Frame that actually shows the "flames" from the
weapon.
9. *** Sound Editor
\------==============
Sound Number: This is the number that's referenced by the Things
for each sound.
Text Offset: The offset into the Text section where the sound
name is found.
Sound Name: Found by simply checking the Text section at the
correct offset.
0 / 1: ??? Perhaps some complicated sound thingy.
Value: ??? Another unknown sound value, perhaps something
dealing with how the sound was sampled.
10. *** Sprite Editor
\------===============
Sprite Number: The number in the Frame table that refences this
Sprite.
Text Offset: The offset into the Text section where the Sprite
name is found.
Sprite Name: Also found through a simple lookup in the Text
section.
11. *** Text Editor
\------=============
Text Offset: The offset into the Text section of the current
Text string.
Text: This is the actual text that's located at the
text offset.
Some notes are in order on the Text viewing, editing, etc. First of
all, if the Text is longer than about 60 characters (too long to fit on
one line in the general Text screen) three ellipses are displayed at the
end of the line. Non-printing characters, such as new-lines, tabs, and
other screwy characters are shown by a tilde symbol in the text (~).
If you want to view the actual text, just hit the Spacebar and a window
will pop up with the actual text string in it. A newline is shown by a
'\n' shown in black (dark grey), tabs by '\t' in black, and so on. The
text is formatted in basically the same way that it would be on-screen.
To edit the text, just hit Enter and the view window and an edit window
will pop up. Enter your new text in the edit window, and hit Escape when
you are done editing. If you are hitting Escape to cancel the current
editing operation, answer 'n'o when asked if you want your changes saved,
otherwise answer 'y'es and the text will change to your modification.
Because each text string is variable length in the Doom exe file, you
have only a slight lee-way in how long the edited text needs to be. The
minimum and maximum length for the string you are editing are shown on the
top line of the editing window, along with the current position of the
character you're on. You will have a range of 4 characters that the new
string must fit into. Typing beyond the maximum number of characters is not
allowed, and stopping short of the minimum is also not allowed.
The text editor is not exactly a full-fledged version of Wordperfect, so
the only movement key you have is the back-space... no arrow keys, no
macros, no spell checker, etc. :-)
That's about it. Any more question? Feel free to write me at
gregl@umich.edu for more information. Have fun!