|
@@ -10,13 +10,14 @@
|
|
|
* #define SUPPORT_FILEFORMAT_JPG
|
|
|
* #define SUPPORT_FILEFORMAT_GIF
|
|
|
* #define SUPPORT_FILEFORMAT_PSD
|
|
|
+* #define SUPPORT_FILEFORMAT_PIC
|
|
|
* #define SUPPORT_FILEFORMAT_HDR
|
|
|
* #define SUPPORT_FILEFORMAT_DDS
|
|
|
* #define SUPPORT_FILEFORMAT_PKM
|
|
|
* #define SUPPORT_FILEFORMAT_KTX
|
|
|
* #define SUPPORT_FILEFORMAT_PVR
|
|
|
* #define SUPPORT_FILEFORMAT_ASTC
|
|
|
-* Selecte desired fileformats to be supported for image data loading. Some of those formats are
|
|
|
+* Select desired fileformats to be supported for image data loading. Some of those formats are
|
|
|
* supported by default, to remove support, just comment unrequired #define in this module
|
|
|
*
|
|
|
* #define SUPPORT_IMAGE_EXPORT
|
|
@@ -65,16 +66,14 @@
|
|
|
|
|
|
#include <stdlib.h> // Required for: malloc(), free()
|
|
|
#include <string.h> // Required for: strlen()
|
|
|
+#include <stdio.h> // Required for: FILE, fopen(), fclose(), fread()
|
|
|
+
|
|
|
+#include "utils.h" // Required for: fopen() Android mapping
|
|
|
|
|
|
#include "rlgl.h" // raylib OpenGL abstraction layer to OpenGL 1.1, 3.3 or ES2
|
|
|
// Required for: rlLoadTexture() rlDeleteTextures(),
|
|
|
// rlGenerateMipmaps(), some funcs for DrawTexturePro()
|
|
|
|
|
|
-#include "utils.h" // Required for: fopen() Android mapping
|
|
|
-
|
|
|
-#define STB_PERLIN_IMPLEMENTATION
|
|
|
-#include "external/stb_perlin.h"// Required for: stb_perlin_fbm_noise3
|
|
|
-
|
|
|
// Support only desired texture formats on stb_image
|
|
|
#if !defined(SUPPORT_FILEFORMAT_BMP)
|
|
|
#define STBI_NO_BMP
|
|
@@ -94,6 +93,9 @@
|
|
|
#if !defined(SUPPORT_FILEFORMAT_GIF)
|
|
|
#define STBI_NO_GIF
|
|
|
#endif
|
|
|
+#if !defined(SUPPORT_FILEFORMAT_PIC)
|
|
|
+ #define STBI_NO_PIC
|
|
|
+#endif
|
|
|
#if !defined(SUPPORT_FILEFORMAT_HDR)
|
|
|
#define STBI_NO_HDR
|
|
|
#endif
|
|
@@ -102,8 +104,13 @@
|
|
|
#define STBI_NO_PIC
|
|
|
#define STBI_NO_PNM // Image format .ppm and .pgm
|
|
|
|
|
|
-#if (defined(SUPPORT_FILEFORMAT_BMP) || defined(SUPPORT_FILEFORMAT_PNG) || defined(SUPPORT_FILEFORMAT_TGA) || \
|
|
|
- defined(SUPPORT_FILEFORMAT_JPG) || defined(SUPPORT_FILEFORMAT_PSD) || defined(SUPPORT_FILEFORMAT_GIF) || \
|
|
|
+#if (defined(SUPPORT_FILEFORMAT_BMP) || \
|
|
|
+ defined(SUPPORT_FILEFORMAT_PNG) || \
|
|
|
+ defined(SUPPORT_FILEFORMAT_TGA) || \
|
|
|
+ defined(SUPPORT_FILEFORMAT_JPG) || \
|
|
|
+ defined(SUPPORT_FILEFORMAT_PSD) || \
|
|
|
+ defined(SUPPORT_FILEFORMAT_GIF) || \
|
|
|
+ defined(SUPPORT_FILEFORMAT_PIC) || \
|
|
|
defined(SUPPORT_FILEFORMAT_HDR))
|
|
|
#define STB_IMAGE_IMPLEMENTATION
|
|
|
#include "external/stb_image.h" // Required for: stbi_load_from_file()
|
|
@@ -121,6 +128,11 @@
|
|
|
// NOTE: Used for image scaling on ImageResize()
|
|
|
#endif
|
|
|
|
|
|
+#if defined(SUPPORT_IMAGE_GENERATION)
|
|
|
+ #define STB_PERLIN_IMPLEMENTATION
|
|
|
+ #include "external/stb_perlin.h" // Required for: stb_perlin_fbm_noise3
|
|
|
+#endif
|
|
|
+
|
|
|
//----------------------------------------------------------------------------------
|
|
|
// Defines and Macros
|
|
|
//----------------------------------------------------------------------------------
|
|
@@ -180,9 +192,12 @@ Image LoadImage(const char *fileName)
|
|
|
#if defined(SUPPORT_FILEFORMAT_JPG)
|
|
|
|| (IsFileExtension(fileName, ".jpg"))
|
|
|
#endif
|
|
|
-#if defined(SUPPORT_FILEFORMAT_DDS)
|
|
|
+#if defined(SUPPORT_FILEFORMAT_GIF)
|
|
|
|| (IsFileExtension(fileName, ".gif"))
|
|
|
#endif
|
|
|
+#if defined(SUPPORT_FILEFORMAT_PIC)
|
|
|
+ || (IsFileExtension(fileName, ".pic"))
|
|
|
+#endif
|
|
|
#if defined(SUPPORT_FILEFORMAT_PSD)
|
|
|
|| (IsFileExtension(fileName, ".psd"))
|
|
|
#endif
|
|
@@ -196,7 +211,7 @@ Image LoadImage(const char *fileName)
|
|
|
|
|
|
if (imFile != NULL)
|
|
|
{
|
|
|
- // NOTE: Using stb_image to load images (Supports: BMP, TGA, PNG, JPG, ...)
|
|
|
+ // NOTE: Using stb_image to load images (Supports multiple image formats)
|
|
|
image.data = stbi_load_from_file(imFile, &imgWidth, &imgHeight, &imgBpp, 0);
|
|
|
|
|
|
fclose(imFile);
|