]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - r_explosion.c
cleaned up mouse input system
[xonotic/darkplaces.git] / r_explosion.c
index 4fa758adb2710f796877b40313733bdb8bfd00d1..f46fe6482b4d9b6af5b2b72e81246489cf4d2d94 100644 (file)
@@ -77,7 +77,7 @@ cvar_t r_drawexplosions = {0, "r_drawexplosions", "1"};
 void r_explosion_start(void)
 {
        int x, y;
-       byte noise1[128][128], noise2[128][128], noise3[128][128], data[128][128][4];
+       qbyte noise1[128][128], noise2[128][128], noise3[128][128], data[128][128][4];
        explosiontexturepool = R_AllocTexturePool();
        fractalnoise(&noise1[0][0], 128, 32);
        fractalnoise(&noise2[0][0], 128, 4);
@@ -169,11 +169,11 @@ void R_NewExplosion(vec3_t org)
 {
        int i, j;
        float dist;
-       byte noise[EXPLOSIONGRID*EXPLOSIONGRID];
+       qbyte noise[EXPLOSIONGRID*EXPLOSIONGRID];
        fractalnoisequick(noise, EXPLOSIONGRID, 4);
        for (i = 0;i < MAX_EXPLOSIONS;i++)
        {
-               if (explosion[i].alpha <= 0.0f)
+               if (explosion[i].alpha <= 0.01f)
                {
                        explosion[i].starttime = cl.time;
                        explosion[i].time = explosion[i].starttime - 0.1;
@@ -338,6 +338,11 @@ void R_MoveExplosion(explosion_t *e/*, explosiongas_t **list, explosiongas_t **l
        frametime = cl.time - e->time;
        e->time = cl.time;
        e->alpha = EXPLOSIONFADESTART - (cl.time - e->starttime) * EXPLOSIONFADERATE;
+       if (e->alpha <= 0.01f)
+       {
+               e->alpha = -1;
+               return;
+       }
        frictionscale = 1 - frametime;
        frictionscale = bound(0, frictionscale, 1);
        for (i = 0;i < EXPLOSIONVERTS;i++)