diff --git a/dll/DevIL.dll b/dll/DevIL.dll index b7a4c090..1bd38225 100644 Binary files a/dll/DevIL.dll and b/dll/DevIL.dll differ diff --git a/dll/ILU.dll b/dll/ILU.dll new file mode 100644 index 00000000..2966069e Binary files /dev/null and b/dll/ILU.dll differ diff --git a/include/IL/devil_internal_exports.h b/include/IL/devil_internal_exports.h index 30b7aaab..fd07d062 100644 --- a/include/IL/devil_internal_exports.h +++ b/include/IL/devil_internal_exports.h @@ -1,7 +1,7 @@ //----------------------------------------------------------------------------- // // ImageLib Sources -// Copyright (C) 2000-2009 by Denton Woods +// Copyright (C) 2000-2017 by Denton Woods // Last modified: 01/06/2009 // // Filename: IL/devil_internal_exports.h @@ -21,25 +21,22 @@ #define assert(x) #endif -//#ifndef NOINLINE -#ifndef INLINE -#if defined(__GNUC__) - #define INLINE extern inline -#elif defined(_MSC_VER) //@TODO: Get this working in MSVC++. - // http://www.greenend.org.uk/rjk/2003/03/inline.html - #define NOINLINE - //#define INLINE - /*#ifndef _WIN64 // Cannot use inline assembly in x64 target platform. - #define USE_WIN32_ASM - #endif//_WIN64*/ - #define INLINE __inline + +#ifdef NOINLINE + // No inlining. Treat all inline funcs as static. + // Functions will be replicated in all translation units + // use them. + #define STATIC_INLINE static #else - #define INLINE inline -#endif -#endif -//#else -//#define INLINE -//#endif //NOINLINE + #if defined(_MSC_VER) && !defined(__cplusplus) + // MSVC compiler uses __inline when compiling C (not C++) + #define STATIC_INLINE static __inline + #else + // Portable across C99, GNU89, C++... + #define STATIC_INLINE static inline + #endif +#endif // NOINLINE + #ifdef __cplusplus extern "C" { @@ -139,6 +136,7 @@ ILAPI ILimage* ILAPIENTRY ilNewImageFull (ILuint Width, ILuint Height, ILuint ILAPI ILboolean ILAPIENTRY ilInitImage (ILimage *Image, ILuint Width, ILuint Height, ILuint Depth, ILubyte Bpp, ILenum Format, ILenum Type, void *Data); ILAPI ILboolean ILAPIENTRY ilResizeImage (ILimage *Image, ILuint Width, ILuint Height, ILuint Depth, ILubyte Bpp, ILubyte Bpc); ILAPI ILboolean ILAPIENTRY ilTexImage_ (ILimage *Image, ILuint Width, ILuint Height, ILuint Depth, ILubyte Bpp, ILenum Format, ILenum Type, void *Data); +ILAPI ILboolean ILAPIENTRY ilTexImageSurface_(ILimage *Image, ILuint Width, ILuint Height, ILuint Depth, ILubyte Bpp, ILenum Format, ILenum Type, void *Data); ILAPI ILboolean ILAPIENTRY ilTexSubImage_ (ILimage *Image, void *Data); ILAPI void* ILAPIENTRY ilConvertBuffer (ILuint SizeOfData, ILenum SrcFormat, ILenum DestFormat, ILenum SrcType, ILenum DestType, ILpal *SrcPal, void *Buffer); ILAPI ILimage* ILAPIENTRY iConvertImage (ILimage *Image, ILenum DestFormat, ILenum DestType); diff --git a/include/IL/il.h b/include/IL/il.h index 540a56eb..47dfcd7d 100644 --- a/include/IL/il.h +++ b/include/IL/il.h @@ -1,7 +1,7 @@ //----------------------------------------------------------------------------- // // ImageLib Sources -// Copyright (C) 2000-2009 by Denton Woods +// Copyright (C) 2000-2017 by Denton Woods // Last modified: 03/07/2009 // // Filename: IL/il.h @@ -25,7 +25,7 @@ extern "C" { #endif -//this define controls if floats and doubles are clampled to [0..1] +//this define controls if floats and doubles are clamped to [0..1] //during conversion. It takes a little more time, but it is the correct //way of doing this. If you are sure your floats are always valid, //you can undefine this value... @@ -63,7 +63,7 @@ extern "C" { #endif #endif -#ifdef RESTRICT_KEYWORD +#if defined(RESTRICT_KEYWORD) && !defined(__cplusplus) #define RESTRICT restrict #define CONST_RESTRICT const restrict #else @@ -161,8 +161,8 @@ typedef long long unsigned int ILuint64; // IL-specific #define's // -#define IL_VERSION_1_7_8 1 -#define IL_VERSION 178 +#define IL_VERSION_1_8_0 1 +#define IL_VERSION 180 // Attribute Bits @@ -241,6 +241,7 @@ typedef long long unsigned int ILuint64; #define IL_DPX 0x0450 //!< Digital Picture Exchange - .dpx extension #define IL_UTX 0x0451 //!< Unreal (and Unreal Tournament) Texture - .utx extension #define IL_MP3 0x0452 //!< MPEG-1 Audio Layer 3 - .mp3 extension +#define IL_KTX 0x0453 //!< Khronos Texture - .ktx extension #define IL_JASC_PAL 0x0475 //!< PaintShop Pro Palette @@ -374,7 +375,7 @@ typedef long long unsigned int ILuint64; #define IL_JPG_SAVE_FORMAT 0x0721 #define IL_CHEAD_HEADER_STRING 0x0722 #define IL_PCD_PICNUM 0x0723 -#define IL_PNG_ALPHA_INDEX 0x0724 //XIX : ILint : the color in the palette at this index value (0-255) is considered transparent, -1 for no trasparent color +#define IL_PNG_ALPHA_INDEX 0x0724 // currently has no effect! #define IL_JPG_PROGRESSIVE 0x0725 #define IL_VTF_COMP 0x0726 diff --git a/include/IL/ilu.h b/include/IL/ilu.h index 49871d79..36a42a59 100644 --- a/include/IL/ilu.h +++ b/include/IL/ilu.h @@ -1,7 +1,7 @@ //----------------------------------------------------------------------------- // // ImageLib Utility Sources -// Copyright (C) 2000-2009 by Denton Woods +// Copyright (C) 2000-2017 by Denton Woods // Last modified: 03/07/2009 // // Filename: IL/ilu.h @@ -37,8 +37,8 @@ extern "C" { #endif -#define ILU_VERSION_1_7_8 1 -#define ILU_VERSION 178 +#define ILU_VERSION_1_8_0 1 +#define ILU_VERSION 180 #define ILU_FILTER 0x2600 @@ -83,6 +83,7 @@ extern "C" { #define ILU_SPANISH 0x0804 #define ILU_GERMAN 0x0805 #define ILU_FRENCH 0x0806 +#define ILU_ITALIAN 0x0807 // Filters @@ -150,6 +151,7 @@ ILAPI ILboolean ILAPIENTRY iluEmboss(void); ILAPI ILboolean ILAPIENTRY iluEnlargeCanvas(ILuint Width, ILuint Height, ILuint Depth); ILAPI ILboolean ILAPIENTRY iluEnlargeImage(ILfloat XDim, ILfloat YDim, ILfloat ZDim); ILAPI ILboolean ILAPIENTRY iluEqualize(void); +ILAPI ILboolean ILAPIENTRY iluEqualize2(void); ILAPI ILconst_string ILAPIENTRY iluErrorString(ILenum Error); ILAPI ILboolean ILAPIENTRY iluConvolution(ILint *matrix, ILint scale, ILint bias); ILAPI ILboolean ILAPIENTRY iluFlipImage(void); @@ -177,6 +179,7 @@ ILAPI ILboolean ILAPIENTRY iluSaturate4f(ILfloat r, ILfloat g, ILfloat b, I ILAPI ILboolean ILAPIENTRY iluScale(ILuint Width, ILuint Height, ILuint Depth); ILAPI ILboolean ILAPIENTRY iluScaleAlpha(ILfloat scale); ILAPI ILboolean ILAPIENTRY iluScaleColours(ILfloat r, ILfloat g, ILfloat b); +ILAPI ILboolean ILAPIENTRY iluSepia(void); ILAPI ILboolean ILAPIENTRY iluSetLanguage(ILenum Language); ILAPI ILboolean ILAPIENTRY iluSharpen(ILfloat Factor, ILuint Iter); ILAPI ILboolean ILAPIENTRY iluSwapColours(void); diff --git a/include/IL/ilut.h b/include/IL/ilut.h index 4a84b845..0b9c68b2 100644 --- a/include/IL/ilut.h +++ b/include/IL/ilut.h @@ -1,7 +1,7 @@ //----------------------------------------------------------------------------- // // ImageLib Utility Toolkit Sources -// Copyright (C) 2000-2009 by Denton Woods +// Copyright (C) 2000-2017 by Denton Woods // Last modified: 03/07/2009 // // Filename: IL/ilut.h @@ -29,8 +29,8 @@ // Defines //----------------------------------------------------------------------------- -#define ILUT_VERSION_1_7_8 1 -#define ILUT_VERSION 178 +#define ILUT_VERSION_1_8_0 1 +#define ILUT_VERSION 180 // Attribute Bits @@ -89,40 +89,6 @@ #define ILUT_X11 5 #define ILUT_DIRECT3D10 6 -/* -// Includes specific config -#ifdef DJGPP - #define ILUT_USE_ALLEGRO -#elif _WIN32_WCE - #define ILUT_USE_WIN32 -#elif _WIN32 - //#ifdef __GNUC__ //__CYGWIN32__ (Cygwin seems to not define this with DevIL builds) - #define ILUT_USE_WIN32 - #include "IL/config.h" - - // Temporary fix for the SDL main() linker bug. - //#ifdef ILUT_USE_SDL - //#undef ILUT_USE_SDL - //#endif//ILUT_USE_SDL - - //#else - // #define ILUT_USE_WIN32 - // #define ILUT_USE_OPENGL - // #define ILUT_USE_SDL - // #define ILUT_USE_DIRECTX8 - //#endif -#elif BEOS // Don't know the #define - #define ILUT_USE_BEOS - #define ILUT_USE_OPENGL -#elif MACOSX - #define ILUT_USE_OPENGL -#else - - // We are surely using a *nix so the configure script - // may have written the configured config.h header - #include "IL/config.h" -#endif -*/ #if (defined(_WIN32) || defined(_WIN64)) #if (defined(IL_USE_PRAGMA_LIBS)) && (!defined(_IL_BUILD_LIBRARY)) @@ -136,8 +102,6 @@ -//this should remain private and hidden -//#include "IL/config.h" ////////////// // OpenGL