From beca482a68c68deedadea16cdbd94995815cc08f Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 26 Nov 2006 00:09:17 +0000 Subject: [PATCH] - Fixed: SecretTriggers that were activated in an OPEN script caused a crash. SVN r389 (trunk) --- docs/rh-log.txt | 1 + src/g_shared/a_secrettrigger.cpp | 23 +-- src/infomacros.h | 2 +- tools/updaterevision/updaterevision.vcproj | 156 ++++++++++----------- 4 files changed, 92 insertions(+), 90 deletions(-) diff --git a/docs/rh-log.txt b/docs/rh-log.txt index 62fd705eb..116722407 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,4 +1,5 @@ November 25, 2006 (Changes by Graf Zahl) +- Fixed: SecretTriggers that were activated in an OPEN script caused a crash. - Converted Heretic's Clink (Sabreclaw) to DECORATE. - Added MissSound parameter to A_CustomMeleeAttack. - Converted Heretic's Snake (Ophidian) to DECORATE. diff --git a/src/g_shared/a_secrettrigger.cpp b/src/g_shared/a_secrettrigger.cpp index 961c69b5c..300f37300 100644 --- a/src/g_shared/a_secrettrigger.cpp +++ b/src/g_shared/a_secrettrigger.cpp @@ -62,19 +62,22 @@ void ASecretTrigger::PostBeginPlay () void ASecretTrigger::Activate (AActor *activator) { - if (activator->CheckLocalView (consoleplayer)) + if (activator != NULL) { - if (args[0] <= 1) + if (activator->CheckLocalView (consoleplayer)) { - C_MidPrint (secretmessage); - } - if (args[0] == 0 || args[0] == 2) - { - S_Sound (activator, CHAN_AUTO, "misc/secret", 1, ATTN_NORM); + if (args[0] <= 1) + { + C_MidPrint (secretmessage); + } + if (args[0] == 0 || args[0] == 2) + { + S_Sound (activator, CHAN_AUTO, "misc/secret", 1, ATTN_NORM); + } } + level.found_secrets++; + if (activator->player) activator->player->secretcount++; + Destroy (); } - level.found_secrets++; - if (activator->player) activator->player->secretcount++; - Destroy (); } diff --git a/src/infomacros.h b/src/infomacros.h index 346c29190..833daa13d 100644 --- a/src/infomacros.h +++ b/src/infomacros.h @@ -131,7 +131,7 @@ extern void ApplyActorDefault (int defnum, int dataint); FActorInfo actor##ActorInfo = { #define BEGIN_DEFAULTS_POST(actor,game,ednum,id) \ - GAME_##game, id, ednum, actor##DefaultsConstructor }; \ + GAME_##game, id, ednum, NULL, actor##DefaultsConstructor }; \ void actor##DefaultsConstructor() { \ #define END_DEFAULTS } diff --git a/tools/updaterevision/updaterevision.vcproj b/tools/updaterevision/updaterevision.vcproj index d45998629..5463ea885 100644 --- a/tools/updaterevision/updaterevision.vcproj +++ b/tools/updaterevision/updaterevision.vcproj @@ -1,7 +1,7 @@ - - - - - - - - - - - - - - - - - - - - @@ -225,7 +148,82 @@ /> + + + + + + + + + + + + + + + + + + + +