Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  

Explaination on the reason?

Recommended Posts

Voros said:


How? Any know where I can find a DEH file that can cause this?

And exactly WHAT happens, in technical terms?

Unexpected re-entrancy. The DeHackEd patch in question caused blood splats to immediately explode on their first death frame with a blast radius effect. This would cause the following stack trace upon death of a Pain Elemental:

  • A_PainDie
  • A_PainShootSkull
  • P_TryMove
  • (after striking existing mid-air blood splats while testing its position...)
  • P_SetMobjState (on blood splat, putting it in its death state)
  • A_Explode
  • P_DamageMobj (killing the lost soul)
  • P_KillMobj
  • (unwinding stack, now back in A_PainShootSkull...)
  • A_SkullAttack (on now-dead lost soul)
A Pain Elemental does not expect the call to P_TryMove to be able to kill the lost souls it is spawning. When this happens, they pass the move check and it then places them into their attack state and has them do a skull charge, creating an undead ghost monster. P_KillMobj clears the SHOOTABLE and FLOAT flags from things, so the soul stops flying and cannot be damaged any further.

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this