Commit 4a817556 authored by NY00123's avatar NY00123 Committed by Evan Ramos
Browse files

sw/src/draw.cpp:analyzesprites: Interpolate other players' sprites, in a

similar manner to what's done in Duke3D (with the addition of the angle).

There seem to be some jitters with this, mostly in Master/Slave mode.
Decreasing PAKRATE in mmulti.cpp might also increase the frequency
of this occuring in Peer-2-Peer mode.
parent 989cc96d
......@@ -889,6 +889,14 @@ analyzesprites(int viewx, int viewy, int viewz, SWBOOL mirror)
//SET(tsp->cstat, CSTAT_SPRITE_INVISIBLE);
}
}
else if (!PedanticMode) // Otherwise just interpolate the player sprite
{
PLAYERp pp = tu->PlayerP;
tsp->x -= mulscale16(pp->posx - pp->oposx, 65536-smoothratio);
tsp->y -= mulscale16(pp->posy - pp->oposy, 65536-smoothratio);
tsp->z -= mulscale16(pp->posz - pp->oposz, 65536-smoothratio);
tsp->ang -= fix16_to_int(mulscale16(pp->q16ang - pp->oq16ang, 65536-smoothratio));
}
}
if (OverlapDraw && FAF_ConnectArea(tsp->sectnum) && tsp->owner >= 0)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment