- Added Blzut3's noextratic fix.

SVN r4231 (trunk)
This commit is contained in:
Randy Heit 2013-04-28 03:55:31 +00:00
parent d2ef6d81da
commit 4bc60ec900

View file

@ -3498,10 +3498,15 @@ void AActor::Tick ()
// cycle through states, calling action functions at transitions // cycle through states, calling action functions at transitions
if (tics != -1) if (tics != -1)
{ {
tics--;
// you can cycle through multiple states in a tic // you can cycle through multiple states in a tic
// [RH] Use <= 0 instead of == 0 so that spawnstates // [BL] If we reach here with a 0 duration state, we
// have created an extra tic, so account for it.
int newtics;
do
{
newtics = --tics;
// [RH] Use tics <= 0 instead of == 0 so that spawnstates
// of 0 tics work as expected. // of 0 tics work as expected.
if (tics <= 0) if (tics <= 0)
{ {
@ -3515,6 +3520,8 @@ void AActor::Tick ()
return; // freed itself return; // freed itself
} }
} }
while (newtics < 0);
}
else else
{ {
int respawn_monsters = G_SkillProperty(SKILLP_Respawn); int respawn_monsters = G_SkillProperty(SKILLP_Respawn);