                           The Code Pointer Page                      

                      by Lee Gaiteri (Under construction)

Here are lists and information about common code pointers. There is also a
form, if you have any knowledge you'd like to share (especially about code
pointers in DOOM II).
                                    

                        DHE 3.0 useful code pointer list

  Frame      Note                             Action
 Attack pointers
 185                 Trooper attack (pistol)
 218                 Spiderdemon/sergeant attack (shotgun)
 257                 Archvile attack 1 (create flame)
 264                 Archvile attack 2 (lift)
 336                 Revenant punch
 341                 Revenant attack (required for missile to "home")
 377                 Mancubus attack pattern 1 (center, left)
 380                 Mancubus attack pattern 2 (center, right)
 383                 Mancubus attack pattern 3 (half left, half right)
 417                 Nazi/chaingun sergeant attack (alternate shotgun type?)
 454     !           Imp attack
 487                 Demon attack
 506                 Cacodemon attack
 539     !           Baron/Hell Knight attack
 590     *           Lost soul attack (attack sound required)
 648                 Arachnotron attack
 685                 Cyberdemon attack
 711                 Spawn lost soul (PE attack)
 Projectile maintenance
 119                 BFG/multiple hit effect
 127     #           Explosion (rocket/barrel)
 316     *           Projectile homes on target and makes smoke trail
 801     2?          Make a spontaneuous "rising" explosion (frames 799-801)
 Logic control
 174                 Wait to wake up
 176                 Move and check to attack
 243     (see below) Same as above, but for archvile
 419     ?           Check for line-of-sight (to stop firing) (?)
 618                 Check for line-of-sight (to stop firing)
 Sounds
 157                 Play injury sound
 166                 Play exploding sound
 184                 Play attack sound (if any- makes a good dummy pointer)
 190                 Play death sound
 A few walking sounds
 603                 Spiderdemon walking sound
 635     ?           Aracnotron walking sound
 676                 Cyberdemon hoof sound
 Death
 159     ?           Player death (used in DeathMatch?)
 160     ?           Dead body mode (turn off bits 1 & 9)

 397     ?           Magic code pointer (lower sector tag 666, end levels E2M8
                     & E3M8)
 774     2?          Dead body mode (magic pointer for DOOM II?)
 783     2?          End level (+ create expolsions in DOOM II?)

?  Untested, unknown, or exact effect is somewhat unclear

*  Requires special conditions to work

#  Does not hurt some monsters

!  Different for close and far attacks; throw fireball or scratch

2  May have extra effects in certain DOOM II levels

Revenant Missiles

Revenant missiles, I have found, do not home in on a target unless they are
launched using the code pointer that makes them.

This code pointer also sometimes makes a sound that exists in DOOM II but not
in DOOM I.

Archvile Respawn

When the archvile walks over a dead body and respawns it, he does so by jumping
to frame 266. This is internal to the code pointer, and cannot be changed. So
any patch to make other monsters use this effect will have to change at least
frame 266, and should (for style reasons) change 267 and 268 as well.

The way I do it is to change those frames to use teleport fog sprites (I change
the duration to 6), and to make 268's next frame point to 242 (the archvile's
second normal frame- it could be 241, but I do this for style in the
animation). I also change frames 241 and 242 to use the teleport fog sprites;
that way, the monster waits to wake up again, and when it does it will use its
own moving frames. Otherwise, the 266-268 sequence would jump to frame 243, and
your monster would use the archvile's frames until it attacked, got injured, or
died.

Magic Code Pointers

"Magic" code pointers are used internally by the game to do certain things.
Their behavior is not fully understood, but they are generally used for "end of
game" levels. For example, the two barons in the first episode of DOOM have
this code pointer in their death frames- when both die, the outer sector (which
uses the special tag 666) is lowered. (This effect has been observed with other
monsters. When all with the same group of code-bearing frames die, the same
thing happens.) In episodes 2 and 3, this code pointer ends the last level when
all the monsters with the pointer are dead.

My information is still slightly sketchy, so don't take all of the above at
face value.

There also seem to be a couple of magic code pointers in DOOM II. One of them
controls a door in one level, so I'm told, when Commander Keen is killed. The
other creates explosions and ends the level when the big brain is killed. They
both have effects in DOOM I, but not "special" effects. 774 is otherwise an
alternate "dead body mode" pointer, and 783 just ends levels. But, my
information on these ones is worse yet, so they're still quite open to
speculation.

Other code pointers

Other code pointers have been discovered whose effects are unknown. Only a few
of that kind were reluctantly included in this table, for completeness' sake.
More pointers should be known in the near future.

                                    
DOOM is a trademark of id Software.

Lee Gaiteri (a.k.a. Lummox JR) / LummoxJR@aol.com                       

                                   

