The file kp1_0.zip contains a number of 'deh' files for use with
DEHACKED v1.3 (and DOOM v1.2, of course) which create some interesting
and informatie changes to doom.exe.
Of course, you should back up doom.exe before implementing any of
To use, just type
c:\games\doom> dehacked -load ??????.deh
|-name goes here, silly!
The files included in kp1_0.zip:
ammo2pos.deh :: Causes troopers to 'reappear' upon death
bal12skl.deh :: Imps fire skulls, with occasionally lethal
blastimp.deh :: Imps on amphetamines.
gun.deh :: Shotgun goes automatic.
infmisl.deh :: Missiles, upon detonation, keep exploding
puff2pos.deh :: Watch where you shoot - misses create more
The following is how I created the changes in each of the above files:
ammo2pos.deh: This was simple. I edited 'thing' number 47(?), the 'ammo'
thing, and replaced all of its attributes with that of
the 'spos/trooper' thing. Note that upon killing the
2nd trooper, another trooper is NOT produced. Apparently,
whenever thing number 3(?) is killed, it produces thing 47,
regardless of what attributes either has. (Even ID number
has no effect on this!)
bal12skl.deh: This was an attempt to create imps which would shoot skulls
instead of fireballs. After numerous attempts of editing the 'bal1'
thing (imp fireball), I discovered a few important things.
1) Projectiles (balls, missiles, etc.) must have the
'projectile bit' set, or they 'die' as soon as they
are produced. Also, projectiles with the bit set
'die' as soon as they hit another thing or wall.
2) Only the projectile 'frames' behave properly when shot
from an imp. Note that I am referring to the
frame #; the picture associated with it (columns
1 & 2 of the frame table) have no effect. When
monsters are 'shot' as projectiles, they blink, do
other wierd things, and cause the game to crash.
3) The skull 'attack' frame DOES know how to behave as
a projectile! (I think it's the SECOND frame in
the skull attack sequence). So, by setting the
standard frame of the imp fireball to that of
the skull attack, the imp can shoot skull. But,
because of #1, the skull dies when it hits a wall,
instead of stopping and trying to re-aim.
4) If the skull is shot in mid flight, bizzare things happen
for some wierd reason. The skull goes crazy and
goes into a continuous and quite lethal attack mode.
Instant death (unless you have IDDQD on :)
blastimp.deh: This is a simple modification of the frame table. I changed
the 'duration' column for all of the imp's movement frames to 1.
As a result, the imp now walks REALLY fast, and gets frequent
opportunities to shoot as well. I believe I also sped up the imp's
shooting frames so it can get off more shots than before.
gun.deh: Another simple modification of the frame table. I edited the
'next frame' column of the shotgun firing sequence to point
directly to the actual shooting frame, and edited that frame's
'next frame' to the 'resting frame' of the shotgun. I also dropped
the duration time of these frames to 1. As a result, the shotgun
now fires at obscene speed by skipping all of those reload frames.
infmisl.deh: For this modification, I changed the 'next frame' for the
last frame of the missle death sequence to point not to 0 (which
causes the explosion to dissappear) but to the first frame of
its death sequence. The missle now never stops 'dying', and so
it does infinite repeated damage.
puff2pos.deh: This is my most imaginative modification. I editted the frame
table for the 'bullet puff' frames so that a different picture was
loaded, and so instead of dying the puff calls the trooper frame
as the 'next frame'. Also, all of the normal attributes of the
trooper were copied over to the puff thing. Finnally, I edited
the bits a little. The 'nonclipping' was neccessary to detatch the
trooper from the wall, and the 'color' bit was so the puff would look
I hope you like these modifications!
Write to me at firstname.lastname@example.org
An observation: Does the 'code pointer' column of the frame editor actually
do anything? (column 5) I have edited this repeatedly, both copying the
values for other frames and inserting random values. Nothing I do seems to
have any effect. As far as I can tell, while dehacked1.3 saves your changes
to column 5 in your save file, it does not write these changes to doom.exe