#ifndef _INCL_MOJODDS_H_ #define _INCL_MOJODDS_H_ /* !!! FIXME: flesh this file out. */ #ifdef __cplusplus extern "C" { #endif typedef enum MOJODDS_textureType { MOJODDS_TEXTURE_NONE, MOJODDS_TEXTURE_2D, MOJODDS_TEXTURE_CUBE, MOJODDS_TEXTURE_VOLUME } MOJODDS_textureType; /* order and values for these matter, they are used for calculating offsets lucky for us both DDS and OpengGL order matches */ typedef enum MOJODDS_cubeFace { MOJODDS_CUBEFACE_POSITIVE_X, MOJODDS_CUBEFACE_NEGATIVE_X, MOJODDS_CUBEFACE_POSITIVE_Y, MOJODDS_CUBEFACE_NEGATIVE_Y, MOJODDS_CUBEFACE_POSITIVE_Z, MOJODDS_CUBEFACE_NEGATIVE_Z } MOJODDS_cubeFace; int MOJODDS_isDDS(const void *_ptr, const unsigned long _len); int MOJODDS_getTexture(const void *_ptr, const unsigned long _len, const void **_tex, unsigned long *_texlen, unsigned int *_glfmt, unsigned int *_w, unsigned int *_h, unsigned int *_miplevels, unsigned int *_cubemapfacelen, MOJODDS_textureType *_textureType); int MOJODDS_getMipMapTexture(unsigned int miplevel, unsigned int glfmt, const void*_basetex, const unsigned long _basetexlen, unsigned int w, unsigned h, const void **_tex, unsigned long *_texlen, unsigned int *_texw, unsigned int *_texh); int MOJODDS_getCubeFace(MOJODDS_cubeFace cubeFace, unsigned int miplevel, unsigned int glfmt, const void*_basetex, unsigned long _basetexlen, unsigned int w, unsigned h, const void **_tex, unsigned long *_texlen, unsigned int *_texw, unsigned int *_texh); #ifdef __cplusplus } #endif #endif /* end of mojodds.h ... */