Jump to content

Explaination on the reason?


Voros

Recommended Posts

Voros said:

http://doomwiki.org/wiki/Lost_Souls_can_lose_their_properties

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...