home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Complete Doom Accessory Pack 3
/
TheCompleteDoomAccessoryPackVolumeIiiCd.bin
/
hacks
/
dehacked
/
dehacked.hlp
< prev
next >
Wrap
Text File
|
1994-09-11
|
27KB
|
560 lines
DeHackEd v. 2.0
By Greg Lewis (Tree)
gregory.lewis@umich.edu
The premiere Doom.exe hack editor!
This is a general help file for DeHackEd version 2.0. For more specific
product information, see the file DEHACKED.TXT. If the information
contained here is not specific enough, or you want more technical details,
get a copy of the the doom.exe hack specs written by Matt Fell. They are
available for FTP at infant2.sphs.indiana.edu, in the directory
/pub/doom/wad_edit/doomhack, and are called DEHACKER.ZIP. And, if you
are more interested in simply finding fun stuff to experiment with,
check out "Fun with DeHackEd" (dhefun??.txt) bundled with the program. It
was written by Dan Lottero, and includes all sorts of wild things to do!
This help file is arranged in the following nine sections:
1. Command Line Options
2. DeHackEd.ini Options
3. Patch File Info
4. Available Keys
5. Thing Editor
a. Thing fields
b. Bit fields
6. Frame Editor
7. Ammo Editor
8. Sound Editor
9. Sprite Editor
10. Text Editor
So, without further ado, here it is!
1. *** Command Line Options
\------======================
First, an explanation of command line options. The full command line
syntax for DeHackEd is:
dehacked [doompath] [-load <patchname>] [-save <patchname>]
[doompath] is optional, and specifies a different location for the
doom files, doom.exe and doom.wad, other than the current directory.
-load <patchname> will update the doom.exe file with the patch called
<patchname> and return to the DOS prompt--great for batch files!. And,
conversely, the -save <patchname> option will save the current doom.exe
status to a patch file named <patchname> 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', 's',
and 'w'.
Example command line:
dehacked c:\games\doom -load suprwep4.deh
This will start DeHackEd, using the doom.exe file found in c:\games\doom,
will update it with the info from the suprwep4.deh patch file, and return
to the DOS prompt. And of course, just typing a plain 'dehacked' will take
you straight into the DeHackEd main program.
2. *** DeHackEd.ini Options
\------======================
Included with DeHackEd 2.0 is a new 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.
You can change this easily to determine whether you are working
with a Doom 1.2 exe or a Doom 1.666 exe. This doesn't need to be
included if you are running DeHackEd from the directory that your
doom.exe file resides in.
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 are doing some "custom" doom.exe hacking.
doomver = <0 | 1>
This is the version of Doom you are hacking. 0 is Doom 1.2 and
1 is Doom 1.666. 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. Read Matt Fell's specs if you don't understand what
these sections are, they are explained fairly clearly (among the
rest of the information in the file). PLAY WITH THESE AT YOUR OWN
RISK.
3. *** Patch File Info
\------=================
This is some more info on patch files, which may help explain any
difficulties you are having with them.
Patch files save ALL the info on Frames, Ammo, Things, Weapons, Sound,
Sprites, and Text, NOT just changed data. Saving only changed data would
involve complications with just what was 'changed' (don't ask, just trust
me!). This way, if several people load a specific patch, you KNOW
everyone will have the same doom.exe file.
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 2.0 will only save those pieces of information in order to
create a patch file 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 with 12 or 16,
depending on your doom version. Those files are then also used for
merging patches, as a "clean" patch 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.
If anyone is interested in the actual make-up of the patch files (for
compatibility with your own doom exe editor, or for any other purposes)
please contact me and I'll let you know the format that they are stored
in.
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. This is certainly
an improvement over 1.3, as many of you will attest. :-)
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
inplemented 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, jump right to it without bothering to
arrow or page down. 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 <filename>
One caveat: the load feature was just recently changed to
allow automatic conversion of 1.2 patch files to 1.666 files.
With the few patches I've tested i have not noticed any problems
loading 1.2 patch files into 1.666. However, 1.666 to 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 compares the patch file that you specify with
a "normal" patch file, and only changes data that is *different*
between the two files. 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 on patch files for more information on
those patch files. I have been having a few problems with this
particular command, and I'm checking into it to see if I can
pinpoint the problems. It should be fixed by next release.
R Runs Doom. This option is slightly tempermental, for reasons
unknown to me. If you have plenty of memory, try hitting it to see
if it'll work. 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 1.2 patch 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 2.0. See section 5 for more detailed Thing info.
F3 Frame Table. Displays Frame information, in a list format.
See section 6 for more detailed Frame info.
F4 Ammo/Weapon Editor. This allows you to edit the ammo and weapon
amounts and graphics.
F5 Sound Table. A jolly good table of all the sounds. Editing of the
sounds is included in DeHackEd 2.0.
F6 Sprite Table. A handy list of all the sprites, in case someone
needs it. Also has recently added editing capabilities.
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.
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. *** 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.
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
1.666, 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 is a projectile or not is
determined by bit #10, 'Projectile/player'. 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 very 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 or so.
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
Doom 1.666.
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. The technical reason for this
is that it isn't included in the list of objects in the Sector, and
thus isn't even considered for drawing.
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.Unknown ??? If you find out what any of the Unknowns do,
please let me know so I can include it in future versions!
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.Proj/players: Set for projectiles and players... ??
11.Can pick up items: This Thing (i.e. the player) can pick up Gettable
Things.
12.No Clipping: Same effect as idspispopd, 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 idspispopd, kinda not. You can't walk
through walls, or trigger any linedefs, but you can walk over any
height cliffs.
16.Projectiles: Set for projectiles.
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.Blood (vs. puffs): 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: ??? (Try setting this and bit 7??)
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 /
6. *** Frame Editor
\------==============
This displays the majority of the Frame information. Each frame has six
editable fields. The only two fields that are NOT shown on the screen
are always 0 in all of the Frames. Go figure.
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, 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 subnumber 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.
7. *** 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.
Bobbing1-3 frame: Frame numbers for the bobbing weapon. This is the
number that Doom refers to in the Frame list for more information.
Shooting frame: Frame played when the weapon shoots.
Firing frame: Frame that actually shows the "flames" from the
weapon.
8. *** 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.
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
9. *** 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.
10. *** 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
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 number of character.
Generally 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
gregory.lewis@umich.edu for more information. Have fun!