]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - r_explosion.c
now that performance of cl_decals_newsystem is not terrible, enable it
[xonotic/darkplaces.git] / r_explosion.c
index 83cad1ee0f8a5adcba63eb584e68c84065eba3df..1c12a07b134d44df3990ba04150818f0e8260a09 100644 (file)
@@ -153,7 +153,7 @@ void R_Explosion_Init(void)
 #ifdef MAX_EXPLOSIONS
        Cvar_RegisterVariable(&r_drawexplosions);
 
-       R_RegisterModule("R_Explosions", r_explosion_start, r_explosion_shutdown, r_explosion_newmap);
+       R_RegisterModule("R_Explosions", r_explosion_start, r_explosion_shutdown, r_explosion_newmap, NULL, NULL);
 #endif
 }
 
@@ -212,15 +212,17 @@ static void R_DrawExplosion_TransparentCallback(const entity_render_t *ent, cons
        GL_CullFace(r_refdef.view.cullface_back);
        R_EntityMatrix(&identitymatrix);
 
+       R_Mesh_ColorPointer(NULL, 0, 0);
        R_Mesh_ResetTextureState();
        R_SetupShader_Generic(explosiontexture, NULL, GL_MODULATE, 1);
+       R_Mesh_TexCoordPointer(0, 2, explosiontexcoord2f[0], 0, 0);
        for (surfacelistindex = 0;surfacelistindex < numsurfaces;surfacelistindex++)
        {
                const explosion_t *e = explosion + surfacelist[surfacelistindex];
-               // FIXME: this can't properly handle r_refdef.view.colorscale > 1
+               R_Mesh_VertexPointer(e->vert[0], 0, 0);
+               // FIXME: fixed function path can't properly handle r_refdef.view.colorscale > 1
                GL_Color(e->alpha * r_refdef.view.colorscale, e->alpha * r_refdef.view.colorscale, e->alpha * r_refdef.view.colorscale, 1);
-               R_Mesh_PrepareVertices_Generic_Arrays(numverts, e->vert[0], NULL, explosiontexcoord2f[0]);
-               R_Mesh_Draw(0, numverts, 0, numtriangles, NULL, NULL, 0, explosiontris[0], NULL, 0);
+               R_Mesh_Draw(0, numverts, 0, numtriangles, NULL, explosiontris[0], 0, 0);
        }
 }