From 7b3c6c0d1610ba3e5845f291d9830fa26e3ef738 Mon Sep 17 00:00:00 2001 From: N0NameN0 Date: Sun, 15 Mar 2009 18:57:28 +0000 Subject: [PATCH] [NEW] Added LoadTextureFromFile can be usefull ;) --- GRRLIB/GRRLIB/GRRLIB.c | 23 +++++++++++++++++++++++ GRRLIB/GRRLIB/GRRLIB.h | 1 + 2 files changed, 24 insertions(+) diff --git a/GRRLIB/GRRLIB/GRRLIB.c b/GRRLIB/GRRLIB/GRRLIB.c index f542291..960de24 100644 --- a/GRRLIB/GRRLIB/GRRLIB.c +++ b/GRRLIB/GRRLIB/GRRLIB.c @@ -485,6 +485,29 @@ GRRLIB_texImg *GRRLIB_LoadTexture(const unsigned char my_img[]) { } } +/** + * Load a texture from a file. + * @param filename The JPEG or PNG filename to load. + * @return A GRRLIB_texImg structure filled with image informations. + */ +GRRLIB_texImg *GRRLIB_LoadTextureFromFile(const char *filename) { + fatInitDefault(); + FILE *fd = fopen(filename, "rb"); + + fseek(fd , 0 , SEEK_END); + long lsize = ftell(fd); + rewind(fd); + + unsigned char *buffer = (unsigned char*) malloc (sizeof(unsigned char)*lsize); + fread (buffer, 1, lsize, fd); + fclose(fd); + + GRRLIB_texImg *tex = GRRLIB_LoadTexture(buffer); + + free(buffer); + return tex; +} + /** * Free memory allocated for texture. * @param tex A GRRLIB_texImg structure. diff --git a/GRRLIB/GRRLIB/GRRLIB.h b/GRRLIB/GRRLIB/GRRLIB.h index 73a87e8..453035f 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[]); +GRRLIB_texImg *GRRLIB_LoadTextureFromFile(const char *filename); void GRRLIB_FreeTexture(struct GRRLIB_texImg *tex); GRRLIB_bytemapFont *GRRLIB_LoadBMF(const unsigned char my_bmf[]);