- R_MeshQueue_AddTransparent(explosion[i].origin, R_DrawExplosion_TransparentCallback, NULL, i, NULL);
+ {
+ R_MoveExplosion(&explosion[i]);
+ if (explosion[i].alpha)
+ R_MeshQueue_AddTransparent(explosion[i].origin, R_DrawExplosion_TransparentCallback, NULL, i, NULL);
+ }
+ }
+ while (numexplosions > 0 && explosion[i-1].alpha <= 0)
+ numexplosions--;