Bläddra i källkod

ADDED: Optional support for PNM images (.ppm, .pgm)

Ray 2 år sedan
förälder
incheckning
d241ee8516
4 ändrade filer med 13 tillägg och 1 borttagningar
  1. 1 0
      CMakeOptions.txt
  2. 1 0
      cmake/CompileDefinitions.cmake
  3. 1 0
      src/config.h
  4. 10 1
      src/rtextures.c

+ 1 - 0
CMakeOptions.txt

@@ -57,6 +57,7 @@ cmake_dependent_option(SUPPORT_IMAGE_MANIPULATION "Support multiple image editin
 cmake_dependent_option(SUPPORT_FILEFORMAT_PNG "Support loading PNG as textures" ON CUSTOMIZE_BUILD ON)
 cmake_dependent_option(SUPPORT_FILEFORMAT_DDS "Support loading DDS as textures" ON CUSTOMIZE_BUILD ON)
 cmake_dependent_option(SUPPORT_FILEFORMAT_HDR "Support loading HDR as textures" ON CUSTOMIZE_BUILD ON)
+cmake_dependent_option(SUPPORT_FILEFORMAT_PNM "Support loading PNM as textures" ON CUSTOMIZE_BUILD ON)
 cmake_dependent_option(SUPPORT_FILEFORMAT_KTX "Support loading KTX as textures" ON CUSTOMIZE_BUILD ON)
 cmake_dependent_option(SUPPORT_FILEFORMAT_ASTC "Support loading ASTC as textures" ON CUSTOMIZE_BUILD ON)
 cmake_dependent_option(SUPPORT_FILEFORMAT_BMP "Support loading BMP as textures" ${OFF} CUSTOMIZE_BUILD OFF)

+ 1 - 0
cmake/CompileDefinitions.cmake

@@ -35,6 +35,7 @@ if (${CUSTOMIZE_BUILD})
     define_if("raylib" SUPPORT_FILEFORMAT_PNG)
     define_if("raylib" SUPPORT_FILEFORMAT_DDS)
     define_if("raylib" SUPPORT_FILEFORMAT_HDR)
+    define_if("raylib" SUPPORT_FILEFORMAT_PNM)
     define_if("raylib" SUPPORT_FILEFORMAT_KTX)
     define_if("raylib" SUPPORT_FILEFORMAT_ASTC)
     define_if("raylib" SUPPORT_FILEFORMAT_BMP)

+ 1 - 0
src/config.h

@@ -148,6 +148,7 @@
 //#define SUPPORT_FILEFORMAT_PSD      1
 #define SUPPORT_FILEFORMAT_DDS      1
 #define SUPPORT_FILEFORMAT_HDR      1
+//#define SUPPORT_FILEFORMAT_PNM      1
 //#define SUPPORT_FILEFORMAT_KTX      1
 //#define SUPPORT_FILEFORMAT_ASTC     1
 //#define SUPPORT_FILEFORMAT_PKM      1

+ 10 - 1
src/rtextures.c

@@ -16,6 +16,7 @@
 *   #define SUPPORT_FILEFORMAT_PSD
 *   #define SUPPORT_FILEFORMAT_PIC
 *   #define SUPPORT_FILEFORMAT_HDR
+*   #define SUPPORT_FILEFORMAT_PNM
 *   #define SUPPORT_FILEFORMAT_DDS
 *   #define SUPPORT_FILEFORMAT_PKM
 *   #define SUPPORT_FILEFORMAT_KTX
@@ -103,6 +104,9 @@
 #if !defined(SUPPORT_FILEFORMAT_HDR)
     #define STBI_NO_HDR
 #endif
+#if !defined(SUPPORT_FILEFORMAT_PNM)
+    #define STBI_NO_PNM
+#endif
 
 #if defined(SUPPORT_FILEFORMAT_DDS)
     #define RL_GPUTEX_SUPPORT_DDS
@@ -135,7 +139,8 @@
      defined(SUPPORT_FILEFORMAT_PSD) || \
      defined(SUPPORT_FILEFORMAT_GIF) || \
      defined(SUPPORT_FILEFORMAT_PIC) || \
-     defined(SUPPORT_FILEFORMAT_HDR))
+     defined(SUPPORT_FILEFORMAT_HDR) || \
+     defined(SUPPORT_FILEFORMAT_PNM))
 
     #define STBI_MALLOC RL_MALLOC
     #define STBI_FREE RL_FREE
@@ -234,6 +239,7 @@ Image LoadImage(const char *fileName)
     defined(SUPPORT_FILEFORMAT_GIF) || \
     defined(SUPPORT_FILEFORMAT_PIC) || \
     defined(SUPPORT_FILEFORMAT_HDR) || \
+    defined(SUPPORT_FILEFORMAT_PNM) || \
     defined(SUPPORT_FILEFORMAT_PSD)
 
     #define STBI_REQUIRED
@@ -344,6 +350,9 @@ Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, i
 #if defined(SUPPORT_FILEFORMAT_PIC)
         || (strcmp(fileType, ".pic") == 0)
 #endif
+#if defined(SUPPORT_FILEFORMAT_PNM)
+        || ((strcmp(fileType, ".ppm") == 0) || (strcmp(fileType, ".pgm") == 0))
+#endif
 #if defined(SUPPORT_FILEFORMAT_PSD)
         || (strcmp(fileType, ".psd") == 0)
 #endif