]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - client.h
376
[xonotic/darkplaces.git] / client.h
index a5e9f2c2a4c1e199737bd127847e4ce4fa0e33d2..8b69151c0572e60ae1a015448875af4e0522523e 100644 (file)
--- a/client.h
+++ b/client.h
@@ -346,6 +346,12 @@ typedef struct
        vec3_t  cursor_normal;
        vec_t   cursor_fraction;
        int             cursor_entitynumber;
+
+       double time;
+       double receivetime;
+       int buttons;
+       int impulse;
+       int sequence;
 } usercmd_t;
 
 typedef struct
@@ -453,6 +459,8 @@ extern client_static_t      cls;
 typedef struct client_movementqueue_s
 {
        double time;
+       float frametime;
+       int sequence;
        float viewangles[3];
        float move[3];
        qboolean jump;
@@ -518,13 +526,17 @@ typedef struct
        // client movement simulation
        // these fields are only updated by CL_ClientMovement (called by CL_SendMove after parsing each network packet)
        qboolean movement;
+       // indicates the queue has been updated and should be replayed
+       qboolean movement_replay;
        // simulated data (this is valid even if cl.movement is false)
        vec3_t movement_origin;
        vec3_t movement_oldorigin;
        vec3_t movement_velocity;
        // queue of proposed moves
        int movement_numqueue;
-       client_movementqueue_t movement_queue[256];
+       client_movementqueue_t movement_queue[64];
+       int movesequence;
+       int servermovesequence;
 
 // pitch drifting vars
        float idealpitch;
@@ -590,7 +602,7 @@ typedef struct
        scoreboard_t *scores;
 
        // protocol version of the server we're connected to
-       int protocol;
+       protocolversion_t protocol;
 
        // entity database stuff
        // latest received entity frame numbers
@@ -735,7 +747,8 @@ void CL_ExpandEntities(int num);
 
 int  CL_ReadFromServer (void);
 void CL_WriteToServer (void);
-void CL_BaseMove (void);
+void CL_Move (void);
+extern qboolean cl_ignoremousemove;
 
 
 float CL_KeyState (kbutton_t *key);