]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - client.h
376
[xonotic/darkplaces.git] / client.h
index 425f4a83d84fd9fcff04105dd84ba3d8e6a73b38..8b69151c0572e60ae1a015448875af4e0522523e 100644 (file)
--- a/client.h
+++ b/client.h
@@ -83,11 +83,6 @@ typedef struct rtlight_s
        // core properties
        // matrix for transforming world coordinates to light filter coordinates
        matrix4x4_t matrix_worldtolight;
-       // based on worldtolight this transforms -1 to +1 to 0 to 1 for purposes
-       // of attenuation texturing in full 3D (Z result often ignored)
-       matrix4x4_t matrix_worldtoattenuationxyz;
-       // this transforms only the Z to S, and T is always 0.5
-       matrix4x4_t matrix_worldtoattenuationz;
        // typically 1 1 1, can be lower (dim) or higher (overbright)
        vec3_t color;
        // size of the light (remove?)
@@ -351,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
@@ -458,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;
@@ -523,12 +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;
-       // simulated origin
+       // 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;
@@ -594,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
@@ -739,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);