]> de.git.xonotic.org Git - voretournament/voretournament.git/blobdiff - misc/source/darkplaces-src/client.h
Update the prebuilt engines to latest version of darkplaces. Also put Linux rebrand...
[voretournament/voretournament.git] / misc / source / darkplaces-src / client.h
index 9f86fdab75e63922b2b7a4f4c2c6ab3aeff09b1f..afd75a23c5e885859b894619f66c92962fb56ed0 100644 (file)
@@ -377,6 +377,9 @@ typedef struct entity_render_s
        r_meshbuffer_t *animcache_vertex3fbuffer;
        r_vertexmesh_t *animcache_vertexmesh;
        r_meshbuffer_t *animcache_vertexmeshbuffer;
+       // gpu-skinning shader needs transforms in a certain format
+       // if this is not NULL, the other animcache variables are NULL
+       float *animcache_skeletaltransform3x4;
 
        // current lighting from map (updated ONLY by client code, not renderer)
        vec3_t modellight_ambient;
@@ -393,32 +396,22 @@ typedef struct entity_render_s
        double last_trace_visibility;
 
        // user wavefunc parameters (from csqc)
-       float userwavefunc_param[Q3WAVEFUNC_USER_COUNT];
+       vec_t userwavefunc_param[Q3WAVEFUNC_USER_COUNT];
 }
 entity_render_t;
 
 typedef struct entity_persistent_s
 {
-       vec3_t trail_origin;
-
-       // particle trail
-       float trail_time;
+       vec3_t trail_origin; // previous position for particle trail spawning
+       vec3_t oldorigin; // lerp
+       vec3_t oldangles; // lerp
+       vec3_t neworigin; // lerp
+       vec3_t newangles; // lerp
+       vec_t lerpstarttime; // lerp
+       vec_t lerpdeltatime; // lerp
+       float muzzleflash; // muzzleflash intensity, fades over time
+       float trail_time; // residual error accumulation for particle trail spawning (to keep spacing across frames)
        qboolean trail_allowed; // set to false by teleports, true by update code, prevents bad lerps
-
-       // muzzleflash fading
-       float muzzleflash;
-
-       // interpolated movement
-
-       // start time of move
-       float lerpstarttime;
-       // time difference from start to end of move
-       float lerpdeltatime;
-       // the move itself, start and end
-       float oldorigin[3];
-       float oldangles[3];
-       float neworigin[3];
-       float newangles[3];
 }
 entity_persistent_t;
 
@@ -728,6 +721,10 @@ typedef struct client_static_s
        int proquake_servermod; // 0 = not proquake, 1 = proquake
        int proquake_serverversion; // actual proquake server version * 10 (3.40 = 34, etc)
        int proquake_serverflags; // 0 (PQF_CHEATFREE not supported)
+
+       // don't write-then-read csprogs.dat (useful for demo playback)
+       unsigned char *caughtcsprogsdata;
+       fs_offset_t caughtcsprogsdatasize;
 }
 client_static_t;