]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - client.h
added PRVM_64 define which upgrades the QC VM to double precision
[xonotic/darkplaces.git] / client.h
index 711bb3ddafa9e39fe4f92dceb17ec139c7aaab8f..c229d2882721d1713d8d2a327cb78d66cd13b770 100644 (file)
--- a/client.h
+++ b/client.h
@@ -393,32 +393,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;
 
@@ -996,6 +986,7 @@ typedef struct client_state_s
        float bob2_smooth;
        float bobfall_speed;
        float bobfall_swing;
+       double calcrefdef_prevtime;
 
        // don't change view angle, full screen, etc
        int intermission;
@@ -1849,6 +1840,8 @@ waterlevel_t;
 
 typedef struct cl_clientmovement_state_s
 {
+       // entity to be ignored for movement
+       struct prvm_edict_s *self;
        // position
        vec3_t origin;
        vec3_t velocity;