From 6538bc457b1e8183de588c1e6ea68c72384728a4 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 17 Oct 2010 07:56:49 +0000 Subject: [PATCH] - fixed: The cast call could time out on overlong death sequences and get stuck. - fixed: The cast call code should treat a waiting state in the death sequence as its end. SVN r2951 (trunk) --- src/intermission/intermission.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/intermission/intermission.cpp b/src/intermission/intermission.cpp index acb9fb62c..74a98a6a2 100644 --- a/src/intermission/intermission.cpp +++ b/src/intermission/intermission.cpp @@ -478,7 +478,8 @@ int DIntermissionScreenCast::Ticker () if (--casttics > 0 && caststate != NULL) return 0; // not time to change state yet - if (caststate == NULL || caststate->GetTics() == -1 || caststate->GetNextState() == NULL) + if (caststate == NULL || caststate->GetTics() == -1 || caststate->GetNextState() == NULL || + caststate->GetNextState() == caststate) { return -1; } @@ -494,7 +495,7 @@ int DIntermissionScreenCast::Ticker () castframes++; } - if (castframes == 12) + if (castframes == 12 && !castdeath) { // go into attack frame castattacking = true;