Dot in LoadImageFromMemory is now optional

This commit is contained in:
Bxil 2021-06-11 15:18:44 +02:00
parent de7b8ad551
commit b91a99f266

View File

@ -294,37 +294,43 @@ Image LoadImageAnim(const char *fileName, int *frames)
return image; return image;
} }
// Load image from memory buffer, fileType refers to extension: i.e. ".png" // Load image from memory buffer, fileType refers to extension: i.e. "png"
Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize) Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize)
{ {
// If there is a prefix dot, get rid of it.
if (fileType[0] == '.')
{
fileType++;
}
Image image = { 0 }; Image image = { 0 };
char fileExtLower[16] = { 0 }; char fileExtLower[16] = { 0 };
strcpy(fileExtLower, TextToLower(fileType)); strcpy(fileExtLower, TextToLower(fileType));
#if defined(SUPPORT_FILEFORMAT_PNG) #if defined(SUPPORT_FILEFORMAT_PNG)
if ((TextIsEqual(fileExtLower, ".png")) if ((TextIsEqual(fileExtLower, "png"))
#else #else
if ((false) if ((false)
#endif #endif
#if defined(SUPPORT_FILEFORMAT_BMP) #if defined(SUPPORT_FILEFORMAT_BMP)
|| (TextIsEqual(fileExtLower, ".bmp")) || (TextIsEqual(fileExtLower, "bmp"))
#endif #endif
#if defined(SUPPORT_FILEFORMAT_TGA) #if defined(SUPPORT_FILEFORMAT_TGA)
|| (TextIsEqual(fileExtLower, ".tga")) || (TextIsEqual(fileExtLower, "tga"))
#endif #endif
#if defined(SUPPORT_FILEFORMAT_JPG) #if defined(SUPPORT_FILEFORMAT_JPG)
|| (TextIsEqual(fileExtLower, ".jpg") || || (TextIsEqual(fileExtLower, "jpg") ||
TextIsEqual(fileExtLower, ".jpeg")) TextIsEqual(fileExtLower, "jpeg"))
#endif #endif
#if defined(SUPPORT_FILEFORMAT_GIF) #if defined(SUPPORT_FILEFORMAT_GIF)
|| (TextIsEqual(fileExtLower, ".gif")) || (TextIsEqual(fileExtLower, "gif"))
#endif #endif
#if defined(SUPPORT_FILEFORMAT_PIC) #if defined(SUPPORT_FILEFORMAT_PIC)
|| (TextIsEqual(fileExtLower, ".pic")) || (TextIsEqual(fileExtLower, "pic"))
#endif #endif
#if defined(SUPPORT_FILEFORMAT_PSD) #if defined(SUPPORT_FILEFORMAT_PSD)
|| (TextIsEqual(fileExtLower, ".psd")) || (TextIsEqual(fileExtLower, "psd"))
#endif #endif
) )
{ {
@ -346,7 +352,7 @@ Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, i
#endif #endif
} }
#if defined(SUPPORT_FILEFORMAT_HDR) #if defined(SUPPORT_FILEFORMAT_HDR)
else if (TextIsEqual(fileExtLower, ".hdr")) else if (TextIsEqual(fileExtLower, "hdr"))
{ {
#if defined(STBI_REQUIRED) #if defined(STBI_REQUIRED)
if (fileData != NULL) if (fileData != NULL)
@ -369,19 +375,19 @@ Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, i
} }
#endif #endif
#if defined(SUPPORT_FILEFORMAT_DDS) #if defined(SUPPORT_FILEFORMAT_DDS)
else if (TextIsEqual(fileExtLower, ".dds")) image = LoadDDS(fileData, dataSize); else if (TextIsEqual(fileExtLower, "dds")) image = LoadDDS(fileData, dataSize);
#endif #endif
#if defined(SUPPORT_FILEFORMAT_PKM) #if defined(SUPPORT_FILEFORMAT_PKM)
else if (TextIsEqual(fileExtLower, ".pkm")) image = LoadPKM(fileData, dataSize); else if (TextIsEqual(fileExtLower, "pkm")) image = LoadPKM(fileData, dataSize);
#endif #endif
#if defined(SUPPORT_FILEFORMAT_KTX) #if defined(SUPPORT_FILEFORMAT_KTX)
else if (TextIsEqual(fileExtLower, ".ktx")) image = LoadKTX(fileData, dataSize); else if (TextIsEqual(fileExtLower, "ktx")) image = LoadKTX(fileData, dataSize);
#endif #endif
#if defined(SUPPORT_FILEFORMAT_PVR) #if defined(SUPPORT_FILEFORMAT_PVR)
else if (TextIsEqual(fileExtLower, ".pvr")) image = LoadPVR(fileData, dataSize); else if (TextIsEqual(fileExtLower, "pvr")) image = LoadPVR(fileData, dataSize);
#endif #endif
#if defined(SUPPORT_FILEFORMAT_ASTC) #if defined(SUPPORT_FILEFORMAT_ASTC)
else if (TextIsEqual(fileExtLower, ".astc")) image = LoadASTC(fileData, dataSize); else if (TextIsEqual(fileExtLower, "astc")) image = LoadASTC(fileData, dataSize);
#endif #endif
else TRACELOG(LOG_WARNING, "IMAGE: File format not supported"); else TRACELOG(LOG_WARNING, "IMAGE: File format not supported");