p_mobj.c: guard some cases where a mobj could be removed

This commit is contained in:
James R 2023-02-14 02:52:33 -08:00 committed by GenericHeroGuy
parent 4f829a61de
commit f273efc8c2

View file

@ -7778,6 +7778,9 @@ static void P_MobjSceneryThink(mobj_t *mobj)
break;
case MT_ITEMCAPSULE_PART:
P_ItemCapsulePartThinker(mobj);
if (P_MobjWasRemoved(mobj))
return;
break;
case MT_SCRIPT_THING:
{
@ -10422,9 +10425,16 @@ void P_MobjThinker(mobj_t *mobj)
P_CheckMobjTrigger(mobj, false);
}
I_Assert(!P_MobjWasRemoved(mobj));
if (mobj->scale != mobj->destscale)
{
P_MobjScaleThink(mobj); // Slowly scale up/down to reach your destscale.
if (P_MobjWasRemoved(mobj))
return;
}
if (mobj->type == MT_GHOST && mobj->fuse > 0) // Not guaranteed to be MF_SCENERY or not MF_SCENERY!
{
if (mobj->extravalue1 > 0) // Sonic Advance 2 mode