X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=client.h;h=71e0b4323f629e7ebf4073ea831faa4bb9fd8e4a;hb=36b24254478cf1c5087e4fea5827613aa145d26f;hp=3faba2f8e66e3725f5949269a0d5e2313ca076e3;hpb=b2400a2fcb78b9cd588bc8b000357e698bb7b9cc;p=xonotic%2Fdarkplaces.git diff --git a/client.h b/client.h index 3faba2f8..71e0b432 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 @@ -72,8 +74,8 @@ typedef struct float radius; // drop this each second float decay; - // the entity that spawned this light (can be NULL if it will never be replaced) - //entity_render_t *ent; + // the entity that owns this light (can be NULL) + struct entity_render_s *ent; } dlight_t; @@ -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,7 +477,7 @@ 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; @@ -499,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 // @@ -554,7 +569,6 @@ void CL_TimeDemo_f (void); // void CL_Parse_Init(void); void CL_ParseServerMessage(void); -void CL_BitProfile_f(void); // // view @@ -577,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); @@ -600,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); @@ -623,9 +632,6 @@ typedef struct // fullscreen color blend float viewblend[4]; - // weapon model - entity_render_t viewent; - entity_render_t **entities; int numentities; int maxentities; @@ -642,5 +648,7 @@ extern mempool_t *cl_refdef_mempool; #include "cgamevm.h" +void Host_PerformSpawnServerAndLoadGame(void); + #endif