- fixed: Movement performed by actor movers was not interpolated because

it happened outside the moved actor's Tick function. This got particularly
  obvious with moving skybox viewpoints (See Daedalus's MAP21 intro for a good
  example.)


SVN r2059 (trunk)
This commit is contained in:
Christoph Oelckers 2009-12-30 12:20:47 +00:00
commit 26c33afafb
9 changed files with 62 additions and 27 deletions

View file

@ -523,9 +523,9 @@ bool P_Move (AActor *actor)
// so make it switchable
if (nomonsterinterpolation)
{
actor->PrevX = actor->x;
actor->PrevY = actor->y;
actor->PrevZ = actor->z;
actor->LastX = actor->PrevX = actor->x;
actor->LastY = actor->PrevY = actor->y;
actor->LastZ = actor->PrevZ = actor->z;
}
if (try_ok && friction > ORIG_FRICTION)
@ -2435,8 +2435,8 @@ void A_DoChase (AActor *actor, bool fastchase, FState *meleestate, FState *missi
{
if (nomonsterinterpolation)
{
actor->PrevX = oldX;
actor->PrevY = oldY;
actor->LastX = actor->PrevX = oldX;
actor->LastY = actor->PrevY = oldY;
}
}
P_NewChaseDir (actor);