summaryrefslogtreecommitdiff
path: root/src/cl_ents.c
diff options
context:
space:
mode:
authorAndrey Nazarov <skuller@skuller.net>2011-04-25 12:18:33 +0400
committerAndrey Nazarov <skuller@skuller.net>2011-04-26 16:00:37 +0400
commitc8a0069ea58669e7adc828d1c2fc1a179f21e247 (patch)
tree3852c7f461b48aefc45baecda0b47d17f0100075 /src/cl_ents.c
parent396285b78b11f7bd2e6f6cf0535c386053d84f43 (diff)
Add client demo seeking support.
Add ‘cl_demosnaps’ cvar. Add ‘seek’ command. Move demo clenup code into cl_demo.c. Client demo recorder now always starts at frame 1.
Diffstat (limited to 'src/cl_ents.c')
-rw-r--r--src/cl_ents.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/cl_ents.c b/src/cl_ents.c
index 057f0f9..2b22547 100644
--- a/src/cl_ents.c
+++ b/src/cl_ents.c
@@ -174,8 +174,12 @@ static void CL_SetActiveState( void ) {
cl.initialSeq = cls.netchan->outgoing_sequence;
}
- // set initial cl.predicted_origin and cl.predicted_angles
- if( !cls.demo.playback ) {
+ if( cls.demo.playback ) {
+ // force initial snapshot
+ cls.demo.last_snapshot = INT_MIN;
+ CL_EmitDemoSnapshot();
+ } else {
+ // set initial cl.predicted_origin and cl.predicted_angles
VectorScale( cl.frame.ps.pmove.origin, 0.125f, cl.predicted_origin );
VectorScale( cl.frame.ps.pmove.velocity, 0.125f, cl.predicted_velocity );
if( cl.frame.ps.pmove.pm_type < PM_DEAD &&