From 3ecca432a9f1571164a67d4d3b1be8be5ac2287e Mon Sep 17 00:00:00 2001 From: Randy Heit Date: Fri, 10 Apr 2009 04:04:17 +0000 Subject: [PATCH] - 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. SVN r1539 (trunk) --- docs/rh-log.txt | 3 +++ src/g_shared/a_action.cpp | 4 ++-- src/namedef.h | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/rh-log.txt b/docs/rh-log.txt index 63e26bc1b1..2b06d4f603 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 399a3d1464..7b3469e483 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 c37a0778ce..bcb9085701 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)