X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=client.h;h=8b69151c0572e60ae1a015448875af4e0522523e;hb=8034fda50b305bc4b363e4726c9216a0a4eb6a9e;hp=425f4a83d84fd9fcff04105dd84ba3d8e6a73b38;hpb=d3cbe906d0eedcff735096a08340d8ca90457fa9;p=xonotic%2Fdarkplaces.git diff --git a/client.h b/client.h index 425f4a83..8b69151c 100644 --- 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);