diff --git a/RSPTextureLib/include/RSPTexture.h b/RSPTextureLib/include/RSPTexture.h index f7544f4..d09c208 100644 --- a/RSPTextureLib/include/RSPTexture.h +++ b/RSPTextureLib/include/RSPTexture.h @@ -1,6 +1,6 @@ /** * @file RSPTexture.h - * @date 25/08/2022 + * @date 14/09/2022 * @author JackCarterSmith * @copyright GPL-v3.0 * @brief Rogue Squadron Parser texture library, used to decode HMT datas @@ -54,6 +54,10 @@ extern "C" { */ RSPTEXTURE_EXTERN char* RSPTexture_getVersion( void ); +/** + * @brief Constructor for T_RSPTEXTURE_HMT struct + * @return Pointer to a new T_RSPTEXTURE_HMT struct. + */ RSPTEXTURE_EXTERN T_RSPTEXTURE_HMT* RSPTexture_createHMT( void ); /** @@ -104,10 +108,24 @@ RSPTEXTURE_EXTERN T_RSPTEXTURE_MATERIAL* RSPTexture_getMaterialFromID( const T_RSPTEXTURE_HMT* pHmt, const unsigned short mat_id ); +/** + * @brief Retrieve material name of a T_RSPTEXTURE_MATERIAL structure. + * @return '0' terminated name string (max: 16 chars). + */ RSPTEXTURE_EXTERN char* RSPTexture_getMaterialName( const T_RSPTEXTURE_MATERIAL* mat ); +/** + * @brief Retrieve opacity value from T_RSPTEXTURE_MATERIAL structure. + * @return Float opacity value. + * @warning Experimental method. + */ RSPTEXTURE_EXTERN float RSPTexture_getMaterialOpacity( const T_RSPTEXTURE_MATERIAL* mat ); +/** + * @brief Retrieve ambient light value from T_RSPTEXTURE_MATERIAL structure. + * @return Float ambient light value. + * @warning Experimental method. + */ RSPTEXTURE_EXTERN float RSPTexture_getMaterialAmbient( const T_RSPTEXTURE_MATERIAL* mat ); /** diff --git a/RSPTextureLib/src/RSPTexture.c b/RSPTextureLib/src/RSPTexture.c index f207b73..ac36eda 100644 --- a/RSPTextureLib/src/RSPTexture.c +++ b/RSPTextureLib/src/RSPTexture.c @@ -1,12 +1,16 @@ /** * @file RSPTexture.c - * @date 31/08/2022 + * @date 14/09/2022 * @author JackCarterSmith * @copyright GPL-v3.0 * @brief HMT textures datas parser and export to PNG format. * */ +#if defined(RSPTEXTURE_DLL) +# define RSPTEXTURE_DLLBUILD +#endif + #include #include #include @@ -57,19 +61,19 @@ T_RSPTEXTURE_MATERIAL* RSPTexture_getMaterialFromID( const T_RSPTEXTURE_HMT* pHm return &(pHmt->materials[mat_id]); } -char* RSPTexture_getMaterialName( const T_RSPTEXTURE_MATERIAL* mat ) { +inline char* RSPTexture_getMaterialName( const T_RSPTEXTURE_MATERIAL* mat ) { if ( mat == NULL ) return NULL; return (char*)mat->name; } -float RSPTexture_getMaterialOpacity( const T_RSPTEXTURE_MATERIAL* mat ) { +inline float RSPTexture_getMaterialOpacity( const T_RSPTEXTURE_MATERIAL* mat ) { if ( mat == NULL ) return 1.0; return mat->opacity; } -float RSPTexture_getMaterialAmbient( const T_RSPTEXTURE_MATERIAL* mat ) { +inline float RSPTexture_getMaterialAmbient( const T_RSPTEXTURE_MATERIAL* mat ) { if ( mat == NULL ) return 1.0; return mat->ambient;