diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/client/entities.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/client/entities.c b/src/client/entities.c index fa28f11..82a08ff 100644 --- a/src/client/entities.c +++ b/src/client/entities.c @@ -232,14 +232,25 @@ static void entity_event(int number) static void set_active_state(void) { + cls.state = ca_active; + cl.serverdelta = Q_align(cl.frame.number, CL_FRAMEDIV); cl.time = cl.servertime = 0; // set time, needed for demos #if USE_FPS cl.keytime = cl.keyservertime = 0; + cl.keyframe = cl.frame; // initialize keyframe to make sure it's valid #endif - cls.state = ca_active; + + // initialize oldframe so lerping doesn't hurt anything cl.oldframe.valid = qfalse; + cl.oldframe.ps = cl.frame.ps; +#if USE_FPS + cl.oldkeyframe.valid = qfalse; + cl.oldkeyframe.ps = cl.keyframe.ps; +#endif + cl.frameflags = 0; + if (cls.netchan) { cl.initialSeq = cls.netchan->outgoing_sequence; } |