diff --git a/docs/rh-log.txt b/docs/rh-log.txt index 63e26bc1b..2b06d4f60 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,4 +1,7 @@ April 9, 2009 +- Changed A_FreezeDeathChunks() so that instead of directly destroying an + actor, it sets it to the "Null" state, which will make it invisible and + destroy it one tic later. - Added a NULL pointer check to A_Fire() and copied the target to a local variable inside A_VileAttack() so that if P_DamageMobj() destroys the target, the function will still have a valid pointer to it (since reading diff --git a/src/g_shared/a_action.cpp b/src/g_shared/a_action.cpp index 399a3d146..7b3469e48 100644 --- a/src/g_shared/a_action.cpp +++ b/src/g_shared/a_action.cpp @@ -294,9 +294,9 @@ DEFINE_ACTION_FUNCTION(AActor, A_FreezeDeathChunks) { CALL_ACTION(A_BossDeath, self); } - CALL_ACTION(A_NoBlocking, self); + CALL_ACTION(A_NoBlocking, self); - self->Destroy (); + self->SetState(self->FindState(NAME_Null)); } //---------------------------------------------------------------------------- diff --git a/src/namedef.h b/src/namedef.h index c37a0778c..bcb908570 100644 --- a/src/namedef.h +++ b/src/namedef.h @@ -1,5 +1,6 @@ // 'None' must always be the first name. xx(None) +xx(Null) xx(Super) xx(Object)