]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - client.h
fix flipped sprites
[xonotic/darkplaces.git] / client.h
index 02a6c558f7666b52bbbee9fdcd5190389759073b..38402f6de4da02c3530c89da1e03a52c0256929c 100644 (file)
--- a/client.h
+++ b/client.h
@@ -56,9 +56,17 @@ cl_effect_t;
 typedef struct
 {
        int             entity;
+       // draw this as lightning polygons, or a model?
+       int             lightning;
        struct model_s  *model;
        float   endtime;
        vec3_t  start, end;
+       // if this beam is owned by an entity, this is the beam start relative to
+       // that entity's matrix for per frame start updates
+       vec3_t  relativestart;
+       vec3_t  relativeend;
+       // indicates whether relativestart is valid
+       int     relativestartvalid;
 }
 beam_t;
 
@@ -74,8 +82,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;
 
@@ -251,7 +259,6 @@ typedef struct
 
 #define        SIGNONS         4                       // signon messages to receive before connected
 
-#define        MAX_MAPSTRING   2048
 #define        MAX_DEMOS               8
 #define        MAX_DEMONAME    16
 
@@ -271,11 +278,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;
@@ -289,7 +291,7 @@ typedef struct
        qboolean timedemo;
        // -1 = use normal cd track
        int forcetrack;
-       QFile *demofile;
+       qfile_t *demofile;
        // to meter out one message a frame
        int td_lastframe;
        // host_framecount at start
@@ -427,15 +429,12 @@ typedef struct
        // [cl.maxclients]
        scoreboard_t *scores;
 
-       // used by view code for setting up eye position
-       vec3_t viewentorigin;
        // LordHavoc: sniping zoom, QC controlled
        float viewzoom;
        // for interpolation
        float viewzoomold, viewzoomnew;
 
        // entity database stuff
-       vec3_t viewentoriginold, viewentoriginnew;
        entity_database_t entitydatabase;
 }
 client_state_t;
@@ -483,7 +482,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;
@@ -518,6 +517,8 @@ void CL_EstablishConnection (char *host);
 void CL_Disconnect (void);
 void CL_Disconnect_f (void);
 
+void CL_BoundingBoxForEntity(entity_render_t *ent);
+
 //
 // cl_input
 //
@@ -573,7 +574,7 @@ void CL_TimeDemo_f (void);
 //
 void CL_Parse_Init(void);
 void CL_ParseServerMessage(void);
-void CL_BitProfile_f(void);
+void CL_Parse_DumpPacket(void);
 
 //
 // view
@@ -596,11 +597,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);
 
@@ -619,10 +615,13 @@ 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);
+void CL_BeamParticle (const vec3_t start, const vec3_t end, vec_t radius, float red, float green, float blue, float alpha, float lifetime);
+void CL_Tei_Smoke(const vec3_t pos, const vec3_t dir, int count);
+void CL_Tei_PlasmaHit(const vec3_t pos, const vec3_t dir, int count);
 void CL_MoveParticles(void);
 void R_MoveExplosions(void);
 void R_NewExplosion(vec3_t org);
@@ -642,9 +641,6 @@ typedef struct
        // fullscreen color blend
        float viewblend[4];
 
-       // weapon model
-       entity_render_t viewent;
-
        entity_render_t **entities;
        int numentities;
        int maxentities;
@@ -661,5 +657,7 @@ extern mempool_t *cl_refdef_mempool;
 
 #include "cgamevm.h"
 
+void Host_PerformSpawnServerAndLoadGame(void);
+
 #endif