X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=client.h;h=1dd0df3c32fc2b5f7efbe2bd6edd37c58add3573;hb=a308444491ff5488c82a196a9810142a10b142e3;hp=7d37ebcc92e343b3b463cab3a7e2be6f16f70197;hpb=f5822de9dd7f185161528e3830692ae75bbeef67;p=xonotic%2Fdarkplaces.git diff --git a/client.h b/client.h index 7d37ebcc..1dd0df3c 100644 --- a/client.h +++ b/client.h @@ -22,6 +22,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef CLIENT_H #define CLIENT_H +#include "matrixlib.h" + // LordHavoc: 256 dynamic lights #define MAX_DLIGHTS 256 // LordHavoc: this affects the lighting scale of the whole game @@ -92,6 +94,10 @@ typedef struct entity_render_s vec3_t origin; // orientation vec3_t angles; + // transform matrix for model to world + matrix4x4_t matrix; + // transform matrix for world to model + matrix4x4_t inversematrix; // opacity (alpha) of the model float alpha; // size the model is shown @@ -135,6 +141,7 @@ typedef struct entity_render_s // caching results of static light traces (this is semi-persistent) double entlightstime; vec3_t entlightsorigin; + int entlightsframe; int numentlights; unsigned short entlights[MAXENTLIGHTS]; } @@ -153,6 +160,18 @@ typedef struct entity_persistent_s // 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]; + // interpolated animation // lerp resets when model changes @@ -232,7 +251,6 @@ typedef struct #define SIGNONS 4 // signon messages to receive before connected -#define MAX_MAPSTRING 2048 #define MAX_DEMOS 8 #define MAX_DEMONAME 16 @@ -252,11 +270,6 @@ typedef struct { cactive_t state; -// personalization data sent to server - char mapstring[MAX_QPATH]; - // to restart a level - //char spawnparms[MAX_MAPSTRING]; - // demo loop control // -1 = don't play demos int demonum; @@ -464,13 +477,14 @@ extern cvar_t r_draweffects; extern cvar_t cl_explosions; extern cvar_t cl_stainmaps; -// these are updated by +// these are updated by CL_ClearState extern int cl_num_entities; extern int cl_num_static_entities; extern int cl_num_temp_entities; extern int cl_num_brushmodel_entities; extern entity_t *cl_entities; +extern qbyte *cl_entities_active; extern entity_t *cl_static_entities; extern entity_t *cl_temp_entities; extern entity_render_t **cl_brushmodel_entities; @@ -498,6 +512,8 @@ void CL_EstablishConnection (char *host); void CL_Disconnect (void); void CL_Disconnect_f (void); +void CL_BoundingBoxForEntity(entity_render_t *ent); + // // cl_input // @@ -553,7 +569,6 @@ void CL_TimeDemo_f (void); // void CL_Parse_Init(void); void CL_ParseServerMessage(void); -void CL_BitProfile_f(void); // // view @@ -576,11 +591,6 @@ void CL_InitTEnts (void); // cl_part // -#define PARTICLE_INVALID 0 -#define PARTICLE_BILLBOARD 1 -#define PARTICLE_UPRIGHT_FACING 2 -#define PARTICLE_ORIENTED_DOUBLESIDED 3 - void CL_Particles_Clear(void); void CL_Particles_Init(void); @@ -599,7 +609,7 @@ void CL_ParticleCube (vec3_t mins, vec3_t maxs, vec3_t dir, int count, int color void CL_ParticleRain (vec3_t mins, vec3_t maxs, vec3_t dir, int count, int colorbase, int type); void CL_EntityParticles (entity_t *ent); void CL_BlobExplosion (vec3_t org); -void CL_ParticleExplosion (vec3_t org, int smoke); +void CL_ParticleExplosion (vec3_t org); void CL_ParticleExplosion2 (vec3_t org, int colorStart, int colorLength); void CL_LavaSplash (vec3_t org); void CL_TeleportSplash (vec3_t org); @@ -641,5 +651,7 @@ extern mempool_t *cl_refdef_mempool; #include "cgamevm.h" +void Host_PerformSpawnServerAndLoadGame(void); + #endif