From 5bb6d7d5a48153b5a071622cba0242f463a66df0 Mon Sep 17 00:00:00 2001 From: Crayon2000 Date: Fri, 13 Mar 2009 22:27:40 +0000 Subject: [PATCH] [NEW] Added GRRLIB_FreeTexture to free memory --- GRRLIB/GRRLIB/GRRLIB.c | 14 ++++++++++++-- GRRLIB/GRRLIB/GRRLIB.h | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/GRRLIB/GRRLIB/GRRLIB.c b/GRRLIB/GRRLIB/GRRLIB.c index 89d0c06..f542291 100644 --- a/GRRLIB/GRRLIB/GRRLIB.c +++ b/GRRLIB/GRRLIB/GRRLIB.c @@ -458,7 +458,7 @@ GRRLIB_bytemapFont *GRRLIB_LoadBMF(const unsigned char my_bmf[]) { /** * Free memory allocated by ByteMap fonts. - * @param bmf a GRRLIB_bytemapFont structure. + * @param bmf A GRRLIB_bytemapFont structure. */ void GRRLIB_FreeBMF(GRRLIB_bytemapFont *bmf) { unsigned int i; @@ -485,6 +485,16 @@ GRRLIB_texImg *GRRLIB_LoadTexture(const unsigned char my_img[]) { } } +/** + * Free memory allocated for texture. + * @param tex A GRRLIB_texImg structure. + */ +void GRRLIB_FreeTexture(struct GRRLIB_texImg *tex) { + free(tex->data); + free(tex); + tex = NULL; +} + /** * Create an empty texture. * @param w Width of the new texture to create. @@ -533,7 +543,7 @@ inline void GRRLIB_DrawImg(f32 xpos, f32 ypos, struct GRRLIB_texImg *tex, float if (GRRLIB_Settings.antialias == false) { GX_InitTexObjLOD(&texObj, GX_NEAR, GX_NEAR, 0.0f, 0.0f, 0.0f, 0, 0, GX_ANISO_1); } - + GX_LoadTexObj(&texObj, GX_TEXMAP0); GX_SetTevOp(GX_TEVSTAGE0, GX_MODULATE); GX_SetVtxDesc(GX_VA_TEX0, GX_DIRECT); diff --git a/GRRLIB/GRRLIB/GRRLIB.h b/GRRLIB/GRRLIB/GRRLIB.h index 9569e74..73a87e8 100644 --- a/GRRLIB/GRRLIB/GRRLIB.h +++ b/GRRLIB/GRRLIB/GRRLIB.h @@ -109,6 +109,7 @@ GRRLIB_texImg *GRRLIB_CreateEmptyTexture(unsigned int, unsigned int); GRRLIB_texImg *GRRLIB_LoadTexture(const unsigned char my_img[]); GRRLIB_texImg *GRRLIB_LoadTextureJPG(const unsigned char my_jpg[]); GRRLIB_texImg *GRRLIB_LoadTexturePNG(const unsigned char my_png[]); +void GRRLIB_FreeTexture(struct GRRLIB_texImg *tex); GRRLIB_bytemapFont *GRRLIB_LoadBMF(const unsigned char my_bmf[]); void GRRLIB_FreeBMF(GRRLIB_bytemapFont *bmf);