]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - gl_textures.c
|sort
[xonotic/darkplaces.git] / gl_textures.c
index f62d0243580e9f6efd40808fc4fd03d7aa2c09b4..a9fbe8b6fbf7ca2b829ea86f308b4a6da8b80afb 100644 (file)
@@ -141,7 +141,7 @@ static gltexturepool_t *gltexturepoolchain = NULL;
 
 static unsigned char *resizebuffer = NULL, *colorconvertbuffer;
 static int resizebuffersize = 0;
-static unsigned char *texturebuffer;
+static const unsigned char *texturebuffer;
 static int texturebuffersize = 0;
 
 static textypeinfo_t *R_GetTexTypeInfo(textype_t textype, int flags)
@@ -287,6 +287,13 @@ int R_RealGetTexture(rtexture_t *rt)
                return 0;
 }
 
+void R_PurgeTexture(rtexture_t *rt)
+{
+       if(rt && !(((gltexture_t*) rt)->flags & TEXF_PERSISTENT)) {
+               R_FreeTexture(rt);
+       }
+}
+
 void R_FreeTexture(rtexture_t *rt)
 {
        gltexture_t *glt, **gltpointer;
@@ -1112,3 +1119,9 @@ void R_UpdateTexture(rtexture_t *rt, const unsigned char *data, int x, int y, in
        R_Upload(glt, data, x, y, 0, width, height, 1);
 }
 
+void R_ClearTexture (rtexture_t *rt)
+{
+       gltexture_t *glt = (gltexture_t *)rt;
+
+       R_Upload( glt, NULL, 0, 0, 0, glt->tilewidth, glt->tileheight, glt->tiledepth );
+}