Unlink non-mobj and non-precip thinkers when loading and freeing

This commit is contained in:
NepDisk 2024-08-01 15:47:28 -04:00
parent fde5108e0f
commit dd4b0426ca
2 changed files with 4 additions and 1 deletions

View file

@ -10521,7 +10521,6 @@ void P_RemoveSavegameMobj(mobj_t *mobj)
// free block
P_RemoveThinker((thinker_t *)mobj);
R_RemoveMobjInterpolator(mobj);
}
static CV_PossibleValue_t respawnitemtime_cons_t[] = {{1, "MIN"}, {300, "MAX"}, {0, NULL}};

View file

@ -3817,7 +3817,11 @@ static void P_NetUnArchiveThinkers(void)
if (currentthinker->function.acp1 == (actionf_p1)P_MobjThinker)
P_RemoveSavegameMobj((mobj_t *)currentthinker); // item isn't saved, don't remove it
else
{
(next->prev = currentthinker->prev)->next = next;
R_DestroyLevelInterpolators(currentthinker);
Z_Free(currentthinker);
}
}
}