mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-26 22:11:43 +00:00
- Reset interpolation coordinates for all actors before the current thinking turn instead of at the start of each actor's own Tick function so that indirect actor movement gets properly interpolated.
This commit is contained in:
parent
c1de32896c
commit
163b10286f
2 changed files with 9 additions and 4 deletions
|
@ -4069,10 +4069,6 @@ void AActor::Tick ()
|
|||
return;
|
||||
}
|
||||
|
||||
// This is necessary to properly interpolate movement outside this function
|
||||
// like from an ActorMover
|
||||
ClearInterpolation();
|
||||
|
||||
if (flags5 & MF5_NOINTERACTION)
|
||||
{
|
||||
// only do the minimally necessary things here to save time:
|
||||
|
|
|
@ -119,6 +119,15 @@ void P_Ticker (void)
|
|||
P_ResetSightCounters (false);
|
||||
R_ClearInterpolationPath();
|
||||
|
||||
// Reset all actor interpolations for all actors before the current thinking turn so that indirect actor movement gets properly interpolated.
|
||||
TThinkerIterator<AActor> it;
|
||||
AActor *ac;
|
||||
|
||||
while ((ac = it.Next()))
|
||||
{
|
||||
ac->ClearInterpolation();
|
||||
}
|
||||
|
||||
// Since things will be moving, it's okay to interpolate them in the renderer.
|
||||
r_NoInterpolate = false;
|
||||
|
||||
|
|
Loading…
Reference in a new issue