]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - client.h
made darkplaces compile successfully with g++ to test for errors C doesn't care about...
[xonotic/darkplaces.git] / client.h
index 9cdc2c5de87db1c74f8d2f0107277d82a45399bc..338f2ba641273c6f1191c13c156dba4c6f784abe 100644 (file)
--- a/client.h
+++ b/client.h
@@ -132,9 +132,8 @@ typedef struct rtlight_s
        int isstatic;
        // true if this is a compiled world light, cleared if the light changes
        int compiled;
-       // premade shadow volumes and lit surfaces to render for world entity
+       // premade shadow volumes to render for world entity
        shadowmesh_t *static_meshchain_shadow;
-       shadowmesh_t *static_meshchain_light;
        // used for visibility testing (more exact than bbox)
        int static_numleafs;
        int static_numleafpvsbytes;
@@ -244,8 +243,11 @@ typedef struct entity_render_s
        model_t *model;
        // current uninterpolated animation frame (for things which do not use interpolation)
        int frame;
-       // entity shirt and pants colors
+       // entity shirt and pants colors (-1 if not colormapped)
        int colormap;
+       // literal colors for renderer
+       vec3_t colormap_pantscolor;
+       vec3_t colormap_shirtcolor;
        // light, particles, etc
        int effects;
        // for Alias models
@@ -346,6 +348,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 +461,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 +528,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;
@@ -541,6 +555,11 @@ typedef struct
        qboolean onground;
        qboolean inwater;
 
+       // used by bob
+       qboolean oldonground;
+       double lastongroundtime;
+       double hitgroundtime;
+
        // don't change view angle, full screen, etc
        int intermission;
        // latched at intermission start
@@ -573,6 +592,19 @@ typedef struct
        // type of game (deathmatch, coop, singleplayer)
        int gametype;
 
+       // models and sounds used by engine code (particularly cl_parse.c)
+       model_t *model_bolt;
+       model_t *model_bolt2;
+       model_t *model_bolt3;
+       model_t *model_beam;
+       sfx_t *sfx_wizhit;
+       sfx_t *sfx_knighthit;
+       sfx_t *sfx_tink1;
+       sfx_t *sfx_ric1;
+       sfx_t *sfx_ric2;
+       sfx_t *sfx_ric3;
+       sfx_t *sfx_r_exp3;
+
 // refresh related state
 
        // cl_entitites[0].model
@@ -590,7 +622,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
@@ -775,12 +807,6 @@ float V_CalcRoll (vec3_t angles, vec3_t velocity);
 void V_UpdateBlends (void);
 void V_ParseDamage (void);
 
-
-//
-// cl_tent
-//
-void CL_InitTEnts (void);
-
 //
 // cl_part
 //
@@ -883,7 +909,7 @@ typedef struct
 }
 refdef_t;
 
-refdef_t r_refdef;
+extern refdef_t r_refdef;
 
 #include "cgamevm.h"