]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - r_sprites.c
buf_mesh is no longer a pointer, since there is only one of it
[xonotic/darkplaces.git] / r_sprites.c
index 40abceffb23b96ebe1bde3c2a4eb6908aa296d68..58dd2d21d6a4d0a1eec689dd140bfd00d5d3817a 100644 (file)
@@ -3,7 +3,7 @@
 
 #define LERPSPRITES
 
-static int R_SpriteSetup (entity_render_t *ent, int type, float org[3], float left[3], float up[3])
+static int R_SpriteSetup (const entity_render_t *ent, int type, float org[3], float left[3], float up[3])
 {
        float matrix1[3][3], matrix2[3][3], matrix3[3][3];
 
@@ -82,8 +82,6 @@ static void R_DrawSpriteImage (int wantoverbright, int additive, mspriteframe_t
 {
        rmeshbufferinfo_t m;
        memset(&m, 0, sizeof(m));
-       // the mesh was sorted already, so don't transparent sort
-       m.transparent = false;
        m.blendfunc1 = GL_SRC_ALPHA;
        m.blendfunc2 = GL_ONE_MINUS_SRC_ALPHA;
        if (additive)
@@ -91,6 +89,7 @@ static void R_DrawSpriteImage (int wantoverbright, int additive, mspriteframe_t
        m.numtriangles = 2;
        m.numverts = 4;
        m.tex[0] = texture;
+       Matrix4x4_CreateIdentity(&m.matrix);
        if (R_Mesh_Draw_GetBuffer(&m, wantoverbright))
        {
                m.index[0] = 0;
@@ -128,16 +127,15 @@ static void R_DrawSpriteImage (int wantoverbright, int additive, mspriteframe_t
        }
 }
 
-void R_DrawSpriteModelCallback(void *calldata1, int calldata2)
+void R_DrawSpriteModelCallback(const void *calldata1, int calldata2)
 {
-       entity_render_t *ent;
+       const entity_render_t *ent = calldata1;
        int i, wantoverbright;
        vec3_t left, up, org, color;
        mspriteframe_t *frame;
        vec3_t diff;
        float fog, ifog;
 
-       ent = calldata1;
        if (R_SpriteSetup(ent, ent->model->sprnum_type, org, left, up))
                return;