X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=client.h;h=313ba97c2ded7716d4556dbd36ca4c8d5ab991de;hb=ef24b9e6fb67d5b385b813e5b48b5f8140a411a3;hp=f561d06ebeb672d12f0902449df5d12a46c3317f;hpb=feb22f39c2c1a481b8c7a2364767b6402d5d94a1;p=xonotic%2Fdarkplaces.git diff --git a/client.h b/client.h index f561d06e..313ba97c 100644 --- a/client.h +++ b/client.h @@ -479,40 +479,6 @@ typedef struct entity_s } entity_t; -typedef struct usercmd_s -{ - vec3_t viewangles; - -// intended velocities - float forwardmove; - float sidemove; - float upmove; - - vec3_t cursor_screen; - vec3_t cursor_start; - vec3_t cursor_end; - vec3_t cursor_impact; - vec3_t cursor_normal; - vec_t cursor_fraction; - int cursor_entitynumber; - - double time; // time the move is executed for (cl_movement: clienttime, non-cl_movement: receivetime) - double receivetime; // time the move was received at - double clienttime; // time to which server state the move corresponds to - int msec; // for predicted moves - int buttons; - int impulse; - unsigned int sequence; - qbool applied; // if false we're still accumulating a move - qbool predicted; // if true the sequence should be sent as 0 - - // derived properties - double frametime; - qbool canjump; - qbool jump; - qbool crouch; -} usercmd_t; - typedef struct lightstyle_s { int length; @@ -611,7 +577,7 @@ typedef struct client_static_s int demonum; // list of demos in loop char demos[MAX_DEMOS][MAX_DEMONAME]; - // the actively playing demo (set by CL_PlayDemo_f) + // the actively playing demo (set by CL_PlayDemo) char demoname[MAX_QPATH]; // demo recording info must be here, because record is started before @@ -904,7 +870,12 @@ typedef struct client_state_s // how long it has been since the previous client frame in real time // (not game time, for that use cl.time - cl.oldtime) double realframetime; - + + // used by cl_nettimesyncboundmode 7 +#define NUM_TS_ERRORS 32 // max 256 + unsigned char ts_error_num; + float ts_error_stor[NUM_TS_ERRORS]; + // fade var for fading while dead float deathfade; @@ -1075,8 +1046,8 @@ typedef struct client_state_s // use cl.scores[cl.playerentity-1].qw_spectator instead //qbool qw_spectator; - // last time an input packet was sent - double lastpackettime; + // time accumulated since an input packet was sent + float timesincepacket; // movement parameters for client prediction unsigned int moveflags; @@ -1230,6 +1201,8 @@ extern cvar_t cl_prydoncursor_notrace; extern cvar_t cl_locs_enable; +extern cvar_t cl_areagrid_link_SOLID_NOT; + extern client_state_t cl; extern void CL_AllocLightFlash (entity_render_t *ent, matrix4x4_t *matrix, float radius, float red, float green, float blue, float decay, float lifetime, char *cubemapname, int style, int shadowenable, vec_t corona, vec_t coronasizescale, vec_t ambientscale, vec_t diffusescale, vec_t specularscale, int flags); @@ -1248,9 +1221,12 @@ double CL_Frame(double time); void CL_Shutdown (void); void CL_Init (void); +void CL_StartVideo(void); + void CL_EstablishConnection(const char *host, int firstarg); -void CL_Disconnect (void); +void CL_Disconnect(void); +void CL_DisconnectEx(qbool kicked, const char *reason, ... ); void CL_Disconnect_f(cmd_state_t *cmd); void CL_UpdateRenderEntity(entity_render_t *ent); @@ -1326,6 +1302,7 @@ void CL_WriteDemoMessage(sizebuf_t *mesage); void CL_CutDemo(unsigned char **buf, fs_offset_t *filesize); void CL_PasteDemo(unsigned char **buf, fs_offset_t *filesize); +void CL_PlayDemo(const char *demo); void CL_NextDemo(void); void CL_Stop_f(cmd_state_t *cmd); void CL_Record_f(cmd_state_t *cmd); @@ -1389,6 +1366,7 @@ extern model_t cl_meshentitymodels[NUM_MESHENTITIES]; extern const char *cl_meshentitynames[NUM_MESHENTITIES]; #define CL_Mesh_Scene() (&cl_meshentitymodels[MESH_SCENE]) #define CL_Mesh_UI() (&cl_meshentitymodels[MESH_UI]) +void CL_MeshEntities_Init(void); void CL_MeshEntities_Scene_Clear(void); void CL_MeshEntities_Scene_AddRenderEntity(void); void CL_MeshEntities_Scene_FinalizeRenderEntity(void);