Improve NoDelay reliability.
- Instead of tying NoDelay behavior to OF_JustSpawned, use a new actor flag, MF7_HANDLENODELAY. This only gets cleared once it has actually been checked by Tick(). This is necessary because freeze mode delays the initial run of Tick() past the initial spawn, so OF_JustSpawned will no longer be set when it does the initial tick. - Delay NoDelay processing if an actor is spawned dormant. Actors spawned dormant have Deactivate() called before they tick, so MF7_HANDLENODELAY will remain set as long as an actor is dormant. This allows the NoDelay handling to occur as expected once it is activated.
This commit is contained in:
parent
a3e74bb39f
commit
e021fba5e1
4 changed files with 22 additions and 16 deletions
|
|
@ -457,7 +457,7 @@ int DThinker::TickThinkers (FThinkerList *list, FThinkerList *dest)
|
|||
node->PostBeginPlay();
|
||||
}
|
||||
else if (dest != NULL)
|
||||
{ // Move thinker from this list to the destination list
|
||||
{
|
||||
I_Error("There is a thinker in the fresh list that has already ticked.\n");
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue