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
these.

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
                               results

       blastimp.deh    :: Imps on amphetamines.

       gun.deh         :: Shotgun goes automatic.

       infmisl.deh     :: Missiles, upon detonation, keep exploding
                               forever!

       puff2pos.deh    :: Watch where you shoot - misses create more
                               troopers!

--------------------------------

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
       more interesting.

I hope you like these modifications!
Write to me at [email protected]

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

                               Karl
                                       (marx)