typedef struct renderparticle_s
{
- int tex;
- int orientation;
- int dynlight;
- float scalex;
- float scaley;
- float org[3];
- float dir[3];
- float color[4];
+ int tex;
+ int orientation;
+ int additive;
+ int dynlight;
+ float scalex;
+ float scaley;
+ float org[3];
+ float dir[3];
+ float color[4];
}
renderparticle_t;
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;
refdef_t r_refdef;
extern mempool_t *cl_refdef_mempool;
+
+#include "cgamevm.h"