- 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)
This commit is contained in:
Christoph Oelckers 2010-10-17 07:56:49 +00:00
parent 8ebb555343
commit 6538bc457b
1 changed files with 3 additions and 2 deletions

View File

@ -478,7 +478,8 @@ int DIntermissionScreenCast::Ticker ()
if (--casttics > 0 && caststate != NULL) if (--casttics > 0 && caststate != NULL)
return 0; // not time to change state yet 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; return -1;
} }
@ -494,7 +495,7 @@ int DIntermissionScreenCast::Ticker ()
castframes++; castframes++;
} }
if (castframes == 12) if (castframes == 12 && !castdeath)
{ {
// go into attack frame // go into attack frame
castattacking = true; castattacking = true;