X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=client.h;h=dfa11cbe48d46b3dcec3b3c3ecaabb367a35ba7a;hb=01ba19424cec267526ca273d809516ff36fe23cb;hp=0b0dc300fffa0414c984ad895629fb523266f27e;hpb=aa150f38ef79b17d32b520bebb5fe5125c7b3ced;p=xonotic%2Fdarkplaces.git diff --git a/client.h b/client.h index 0b0dc300..dfa11cbe 100644 --- a/client.h +++ b/client.h @@ -583,12 +583,14 @@ typedef struct particle_s vec3_t org; vec3_t vel; // velocity of particle, or orientation of decal, or end point of beam float size; + float sizeincrease; // rate of size change per second float alpha; // 0-255 float alphafade; // how much alpha reduces per second float time2; // used for snow fluttering and decal fade float bounce; // how much bounce-back from a surface the particle hits (0 = no physics, 1 = stop and slide, 2 = keep bouncing forever, 1.5 is typical) float gravity; // how much gravity affects this particle (1.0 = normal gravity, 0.0 = none) - float friction; // how much air friction affects this object (objects with a low mass/size ratio tend to get more air friction) + float airfriction; // how much air friction affects this object (objects with a low mass/size ratio tend to get more air friction) + float liquidfriction; // how much liquid friction affects this object (objects with a low mass/size ratio tend to get more liquid friction) unsigned char color[4]; unsigned short owner; // decal stuck to this entity model_t *ownermodel; // model the decal is stuck to (used to make sure the entity is still alive) @@ -651,6 +653,12 @@ typedef struct client_state_s vec3_t mvelocity[2], velocity; // update by server, can be used by mods for zooming vec_t mviewzoom[2], viewzoom; + // if true interpolation the mviewangles and other interpolation of the + // player is disabled until the next network packet + // this is used primarily by teleporters, and when spectating players + // special checking of the old fixangle[1] is used to differentiate + // between teleporting and spectating + qboolean fixangle[2]; // client movement simulation // these fields are only updated by CL_ClientMovement (called by CL_SendMove after parsing each network packet) @@ -660,6 +668,8 @@ typedef struct client_state_s qboolean movement_needupdate; // indicates the queue has been updated and should be replayed qboolean movement_replay; + // timestamps of latest two predicted moves for interpolation + double movement_time[2]; // simulated data (this is valid even if cl.movement is false) vec3_t movement_origin; vec3_t movement_oldorigin;