- added RF_DONTINTERPOLATE flag.

This commit is contained in:
Christoph Oelckers 2017-02-26 20:01:39 +01:00
parent 4d043f086e
commit 7a1f36bfb0
2 changed files with 4 additions and 1 deletions

View file

@ -430,6 +430,7 @@ enum ActorRenderFlag
RF_ABSMASKPITCH = 0x00800000, // [MC] The mask rotation does not offset by the actor's pitch.
RF_INTERPOLATEANGLES = 0x01000000, // [MC] Allow interpolation of the actor's angle, pitch and roll.
RF_MAYBEINVISIBLE = 0x02000000,
RF_DONTINTERPOLATE = 0x04000000, // no render interpolation ever!
};
// This translucency value produces the closest match to Heretic's TINTTAB.
@ -1321,7 +1322,8 @@ public:
}
DVector3 InterpolatedPosition(double ticFrac) const
{
return Prev + (ticFrac * (Pos() - Prev));
if (renderflags & RF_DONTINTERPOLATE) return Pos();
else return Prev + (ticFrac * (Pos() - Prev));
}
DRotator InterpolatedAngles(double ticFrac) const
{

View file

@ -339,6 +339,7 @@ static FFlagDef ActorFlagDefs[]=
DEFINE_FLAG(RF, XFLIP, AActor, renderflags),
DEFINE_FLAG(RF, YFLIP, AActor, renderflags),
DEFINE_FLAG(RF, INTERPOLATEANGLES, AActor, renderflags),
DEFINE_FLAG(RF, DONTINTERPOLATE, AActor, renderflags),
// Bounce flags
DEFINE_FLAG2(BOUNCE_Walls, BOUNCEONWALLS, AActor, BounceFlags),