From: havoc Date: Tue, 18 May 2004 18:55:36 +0000 (+0000) Subject: Tomaz patch to implement controllable fade rate in explosions X-Git-Tag: xonotic-v0.1.0preview~5860 X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=commitdiff_plain;h=04e3c26b96bb23258b792f76509645a625fa2326 Tomaz patch to implement controllable fade rate in explosions git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@4190 d7cf8633-e32d-0410-b094-e92efae38249 --- diff --git a/r_explosion.c b/r_explosion.c index d37705cc..b8fe3bdd 100644 --- a/r_explosion.c +++ b/r_explosion.c @@ -26,7 +26,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define EXPLOSIONVERTS ((EXPLOSIONGRID+1)*(EXPLOSIONGRID+1)) #define EXPLOSIONTRIS (EXPLOSIONGRID*EXPLOSIONGRID*2) #define EXPLOSIONSTARTVELOCITY (256.0f) -#define EXPLOSIONFADERATE (3.0f) float explosiontexcoord2f[EXPLOSIONVERTS][2]; int explosiontris[EXPLOSIONTRIS][3]; @@ -39,6 +38,7 @@ typedef struct explosion_s float starttime; float time; float alpha; + float fade; vec3_t origin; vec3_t vert[EXPLOSIONVERTS]; vec3_t vertvel[EXPLOSIONVERTS]; @@ -157,6 +157,7 @@ void R_NewExplosion(vec3_t org) explosion[i].starttime = cl.time; explosion[i].time = explosion[i].starttime - 0.1; explosion[i].alpha = cl_explosions_alpha_start.value; + explosion[i].fade = (cl_explosions_alpha_start.value - cl_explosions_alpha_end.value) / cl_explosions_lifetime.value; VectorCopy(org, explosion[i].origin); for (j = 0;j < EXPLOSIONVERTS;j++) { @@ -208,7 +209,7 @@ void R_MoveExplosion(explosion_t *e) frametime = cl.time - e->time; e->time = cl.time; - e->alpha = cl_explosions_alpha_start.value - (cl.time - e->starttime) * EXPLOSIONFADERATE; + e->alpha = e->alpha - (e->fade * frametime); if (e->alpha <= cl_explosions_alpha_end.value) { e->alpha = -1;