]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - client.h
CL_RotateMoves: helper builtin for Xonotic for perfect warpzone prediction
[xonotic/darkplaces.git] / client.h
index 3df39a7eeee2a53d40dabb3dfd1a3cdd16ac19cf..11f9aa17e2222e2edffe2f86781d7576b7732e50 100644 (file)
--- a/client.h
+++ b/client.h
@@ -34,7 +34,8 @@ typedef struct tridecal_s
        // color and initial alpha value
        float                   texcoord2f[3][2];
        float                   vertex3f[3][3];
-       unsigned char   color4ub[3][4];
+       float                   color4f[3][4];
+       float                   plane[4]; // backface culling
        // how long this decal has lived so far (the actual fade begins at cl_decals_time)
        float                   lived;
        // if >= 0 this indicates the decal should follow an animated triangle
@@ -1573,9 +1574,15 @@ typedef struct r_refdef_stats_s
        int lights_lighttriangles;
        int lights_shadowtriangles;
        int lights_dynamicshadowtriangles;
-       int lights_bouncelightscounted;
-       int lights_bouncelightsdrawn;
-       int lights_bouncelightsupdated;
+       int bouncegrid_lights;
+       int bouncegrid_particles;
+       int bouncegrid_traces;
+       int bouncegrid_hits;
+       int bouncegrid_splats;
+       int bouncegrid_bounces;
+       int collisioncache_animated;
+       int collisioncache_cached;
+       int collisioncache_traced;
        int bloom;
        int bloom_copypixels;
        int bloom_drawpixels;
@@ -1650,7 +1657,7 @@ typedef struct r_refdef_view_s
        int width;
        int height;
        int depth;
-       r_viewport_t viewport;
+       r_viewport_t viewport; // note: if r_viewscale is used, the viewport.width and viewport.height may be less than width and height
 
        // which color components to allow (for anaglyph glasses)
        int colormask[4];
@@ -1726,6 +1733,7 @@ typedef struct r_refdef_scene_s {
        entity_render_t *tempentities;
        int numtempentities;
        int maxtempentities;
+       qboolean expandtempentities;
 
        // renderable dynamic lights
        rtlight_t *lights[MAX_DLIGHTS];
@@ -1817,6 +1825,9 @@ typedef struct r_refdef_s
        float shadowpolygonfactor;
        float shadowpolygonoffset;
 
+       // how long R_RenderView took on the previous frame
+       double lastdrawscreentime;
+
        // rendering stats for r_speeds display
        // (these are incremented in many places)
        r_refdef_stats_t stats;
@@ -1825,5 +1836,8 @@ r_refdef_t;
 
 extern r_refdef_t r_refdef;
 
+// warpzone prediction hack (CSQC builtin)
+void CL_RotateMoves(const matrix4x4_t *m);
+
 #endif