+void r_explosion_newmap(void)
+{
+ memset(explosion, 0, sizeof(explosion));
+}
+
+int R_ExplosionVert(int column, int row)
+{
+ int i;
+ float a, b, c;
+ i = row * (EXPLOSIONGRID + 1) + column;
+ a = ((double) row / EXPLOSIONGRID) * M_PI * 2;
+ b = (((double) column / EXPLOSIONGRID) + 0.5) * M_PI;
+ c = cos(b);
+ explosionpoint[i][0] = cos(a) * c;
+ explosionpoint[i][1] = sin(a) * c;
+ explosionpoint[i][2] = -sin(b);
+ explosionspherevertvel[i][0] = explosionpoint[i][0] * EXPLOSIONSTARTVELOCITY;
+ explosionspherevertvel[i][1] = explosionpoint[i][1] * EXPLOSIONSTARTVELOCITY;
+ explosionspherevertvel[i][2] = explosionpoint[i][2] * EXPLOSIONSTARTVELOCITY;
+ explosiontexcoords[i][0] = (float) column / (float) EXPLOSIONGRID;
+ explosiontexcoords[i][1] = (float) row / (float) EXPLOSIONGRID;
+ // top and bottom rows are all one position...
+ if (row == 0 || row == EXPLOSIONGRID)
+ column = 0;
+ explosionnoiseindex[i] = (row % EXPLOSIONGRID) * EXPLOSIONGRID + (column % EXPLOSIONGRID);
+ return i;
+}
+
+void R_Explosion_Init(void)