]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - client.h
added r_rtworld, r_rtworldshadows, r_rtdlight, r_rtdlightshadows, and r_lightmapinten...
[xonotic/darkplaces.git] / client.h
index 2e8349e1c7626e56dc5f08aee8bdb49e146909c7..13d285939852f6c8f2de6c4ee362aebbfd050f7c 100644 (file)
--- a/client.h
+++ b/client.h
@@ -104,9 +104,9 @@ typedef struct rtlight_s
        vec3_t cullmins;
        vec3_t cullmaxs;
        // culling
-       vec_t cullradius;
+       //vec_t cullradius;
        // squared cullradius
-       vec_t cullradius2;
+       //vec_t cullradius2;
 
        // lightmap renderer stuff (remove someday!)
        // the size of the light
@@ -128,7 +128,9 @@ typedef struct rtlight_s
        shadowmesh_t *static_meshchain_light;
        // used for visibility testing (more exact than bbox)
        int static_numclusters;
-       int *static_clusterindices;
+       int static_numclusterpvsbytes;
+       int *static_clusterlist;
+       qbyte *static_clusterpvs;
 }
 rtlight_t;
 
@@ -367,6 +369,8 @@ typedef struct
        int demonum;
        // list of demos in loop
        char demos[MAX_DEMOS][MAX_DEMONAME];
+       // the actively playing demo (set by CL_PlayDemo_f)
+       char demoname[64];
 
 // demo recording info must be here, because record is started before
 // entering a map (and clearing client_state_t)
@@ -536,8 +540,10 @@ typedef struct
        int protocol;
 
        // entity database stuff
-       entity_database_t entitydatabase;
-       entity_database4_t *entitydatabase4;
+       // latest received entity frame number
+       int latestframenum;
+       entityframe_database_t *entitydatabase;
+       entityframe4_database_t *entitydatabase4;
 }
 client_state_t;
 
@@ -582,8 +588,13 @@ extern cvar_t m_side;
 
 extern cvar_t r_draweffects;
 
-extern cvar_t cl_explosions;
+extern cvar_t cl_explosions_alpha_start;
+extern cvar_t cl_explosions_alpha_end;
+extern cvar_t cl_explosions_size_start;
+extern cvar_t cl_explosions_size_end;
+extern cvar_t cl_explosions_lifetime;
 extern cvar_t cl_stainmaps;
+extern cvar_t cl_stainmapsclearonload;
 
 // these are updated by CL_ClearState
 extern int cl_num_entities;
@@ -591,6 +602,7 @@ extern int cl_num_static_entities;
 extern int cl_num_temp_entities;
 extern int cl_num_brushmodel_entities;
 
+extern mempool_t *cl_entities_mempool;
 extern entity_t *cl_entities;
 extern qbyte *cl_entities_active;
 extern entity_t *cl_static_entities;
@@ -644,6 +656,8 @@ void CL_InitInput (void);
 void CL_SendCmd (usercmd_t *cmd);
 void CL_SendMove (usercmd_t *cmd);
 
+void CL_ValidateState(entity_state_t *s);
+void CL_MoveLerpEntityStates(entity_t *ent);
 void CL_LerpUpdate(entity_t *e);
 void CL_ParseTEnt (void);
 void CL_RelinkBeams (void);
@@ -710,8 +724,7 @@ void CL_Particles_Init(void);
 
 void CL_ParseParticleEffect (void);
 void CL_RunParticleEffect (vec3_t org, vec3_t dir, int color, int count);
-void CL_RocketTrail (vec3_t start, vec3_t end, int type, entity_t *ent);
-void CL_RocketTrail2 (vec3_t start, vec3_t end, int color, entity_t *ent);
+void CL_RocketTrail (vec3_t start, vec3_t end, int type, int color, entity_t *ent);
 void CL_SparkShower (vec3_t org, vec3_t dir, int count);
 void CL_PlasmaBurn (vec3_t org);
 void CL_BloodPuff (vec3_t org, vec3_t vel, int count);
@@ -742,9 +755,16 @@ typedef struct
        int x, y, width, height;
        float fov_x, fov_y;
 
+       // these are set for water warping before
+       // fov_x/fov_y are calculated
+       float fovscale_x, fovscale_y;
+
        // view transform
        matrix4x4_t viewentitymatrix;
 
+       // which color components to allow (for anaglyph glasses)
+       int colormask[4];
+
        // fullscreen color blend
        float viewblend[4];