// throw out the first couple, so the player
// doesn't accidentally do something the
// first frame
+ float sendnoptime; // send a clc_nop periodically until connected
usercmd_t cmd; // last command sent to the server
// information for local display
// frag scoreboard
scoreboard_t *scores; // [cl.maxclients]
+
+ vec3_t viewentorigin;
+ float viewzoom; // LordHavoc: sniping zoom, QC controlled
+ float viewzoomold, viewzoomnew; // for interpolation
+
+ // entity database stuff
+ vec3_t viewentoriginold, viewentoriginnew;
+ entity_database_t entitydatabase;
}
client_state_t;
#define PARTICLE_UPRIGHT_FACING 2
#define PARTICLE_ORIENTED_DOUBLESIDED 3
+/*
typedef struct renderparticle_s
{
int tex;
float color[4];
}
renderparticle_t;
+*/
void CL_Particles_Clear(void);
void CL_Particles_Init(void);
void CL_RocketTrail (vec3_t start, vec3_t end, int type, entity_t *ent);
void CL_RocketTrail2 (vec3_t start, vec3_t end, int color, entity_t *ent);
void CL_SparkShower (vec3_t org, vec3_t dir, int count);
+void CL_PlasmaBurn (vec3_t org);
void CL_BloodPuff (vec3_t org, vec3_t vel, int count);
void CL_FlameCube (vec3_t mins, vec3_t maxs, int count);
void CL_Flames (vec3_t org, vec3_t vel, int count);
void CL_LavaSplash (vec3_t org);
void CL_TeleportSplash (vec3_t org);
void CL_MoveParticles(void);
-void CL_UpdateDecals(void);
void R_MoveExplosions(void);
void R_NewExplosion(vec3_t org);
-//
-// cl_decal
-//
-
-typedef struct renderdecal_s
-{
- entity_render_t *ent;
- int tex;
- int surface;
- float scale;
- vec3_t org;
- vec3_t dir;
- float color[4];
-}
-renderdecal_t;
-
-void CL_Decals_Clear(void);
-void CL_Decals_Init(void);
-void CL_Decal(vec3_t origin, int tex, float scale, float red, float green, float blue, float alpha);
-
// if contents is not zero, it will impact on content changes
// (leafs matching contents are considered empty, others are solid)
extern int traceline_endcontents; // set by TraceLine
-float TraceLine (vec3_t start, vec3_t end, vec3_t impact, vec3_t normal, int contents);
+// need to call this sometime before using TraceLine with hitbmodels
+void TraceLine_ScanForBModels(void);
+float TraceLine (vec3_t start, vec3_t end, vec3_t impact, vec3_t normal, int contents, int hitbmodels);
#include "cl_screen.h"
// weapon model
entity_render_t viewent;
- int numdecals;
- renderdecal_t *decals;
-
int numentities;
entity_render_t **entities;
- int numparticles;
- struct renderparticle_s *particles;
+ //int numparticles;
+ //struct renderparticle_s *particles;
- byte drawqueue[MAX_DRAWQUEUE];
+ qbyte drawqueue[MAX_DRAWQUEUE];
int drawqueuesize;
}
refdef_t;
refdef_t r_refdef;
extern mempool_t *cl_refdef_mempool;
+
+#include "cgamevm.h"