From 4a2f3745f068f41ffacb885690fbae1e739dd06d Mon Sep 17 00:00:00 2001 From: toaster Date: Tue, 26 Sep 2023 22:53:44 +0100 Subject: [PATCH] P_MobjRegularThink for new objects: Return early if certain objects that self-delete do so on this frame --- src/p_mobj.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/p_mobj.c b/src/p_mobj.c index f955e121e..7aa6ea7fe 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -9723,10 +9723,18 @@ static boolean P_MobjRegularThink(mobj_t *mobj) case MT_LSZ_EGGBALL: Obj_EggBallThink(mobj); + if (P_MobjWasRemoved(mobj)) + { + return false; + } break; case MT_DLZ_ROCKET: Obj_DLZRocketThink(mobj); + if (P_MobjWasRemoved(mobj)) + { + return false; + } break; case MT_DLZ_SEASAW_SPAWN: @@ -9735,6 +9743,10 @@ static boolean P_MobjRegularThink(mobj_t *mobj) case MT_DLZ_SUCKEDRING: Obj_DLZSuckedRingThink(mobj); + if (P_MobjWasRemoved(mobj)) + { + return false; + } break; case MT_WATERPALACETURBINE: @@ -9743,6 +9755,10 @@ static boolean P_MobjRegularThink(mobj_t *mobj) case MT_WATERPALACEBUBBLE: Obj_WPZBubbleThink(mobj); + if (P_MobjWasRemoved(mobj)) + { + return false; + } break; case MT_WATERPALACEFOUNTAIN: @@ -9755,6 +9771,10 @@ static boolean P_MobjRegularThink(mobj_t *mobj) case MT_KURAGENBOMB: Obj_WPZKuragenBombThink(mobj); + if (P_MobjWasRemoved(mobj)) + { + return false; + } break; default: