1*4882a593Smuzhiyunfixed PluginBMP, PluginDDS for compilation under Big Endian OS 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunDownloaded from upstream commit: 4*4882a593Smuzhiyunhttps://sourceforge.net/p/freeimage/svn/1809/ 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunSigned-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> 7*4882a593Smuzhiyun 8*4882a593Smuzhiyundiff -uNr FreeImage.orig/Source/FreeImage/PluginBMP.cpp FreeImage/Source/FreeImage/PluginBMP.cpp 9*4882a593Smuzhiyun--- FreeImage.orig/Source/FreeImage/PluginBMP.cpp 2016-06-15 12:35:30.000000000 +0200 10*4882a593Smuzhiyun+++ FreeImage/Source/FreeImage/PluginBMP.cpp 2019-08-31 16:00:27.813378612 +0200 11*4882a593Smuzhiyun@@ -518,7 +518,7 @@ 12*4882a593Smuzhiyun io->read_proc(FreeImage_GetPalette(dib), used_colors * sizeof(RGBQUAD), 1, handle); 13*4882a593Smuzhiyun #if FREEIMAGE_COLORORDER == FREEIMAGE_COLORORDER_RGB 14*4882a593Smuzhiyun RGBQUAD *pal = FreeImage_GetPalette(dib); 15*4882a593Smuzhiyun- for(int i = 0; i < used_colors; i++) { 16*4882a593Smuzhiyun+ for(unsigned int i = 0; i < used_colors; i++) { 17*4882a593Smuzhiyun INPLACESWAP(pal[i].rgbRed, pal[i].rgbBlue); 18*4882a593Smuzhiyun } 19*4882a593Smuzhiyun #endif 20*4882a593Smuzhiyun@@ -1419,7 +1419,7 @@ 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun free(buffer); 23*4882a593Smuzhiyun #ifdef FREEIMAGE_BIGENDIAN 24*4882a593Smuzhiyun- } else if (bpp == 16) { 25*4882a593Smuzhiyun+ } else if (dst_bpp == 16) { 26*4882a593Smuzhiyun int padding = dst_pitch - dst_width * sizeof(WORD); 27*4882a593Smuzhiyun WORD pad = 0; 28*4882a593Smuzhiyun WORD pixel; 29*4882a593Smuzhiyun@@ -1440,7 +1440,7 @@ 30*4882a593Smuzhiyun } 31*4882a593Smuzhiyun #endif 32*4882a593Smuzhiyun #if FREEIMAGE_COLORORDER == FREEIMAGE_COLORORDER_RGB 33*4882a593Smuzhiyun- } else if (bpp == 24) { 34*4882a593Smuzhiyun+ } else if (dst_bpp == 24) { 35*4882a593Smuzhiyun int padding = dst_pitch - dst_width * sizeof(FILE_BGR); 36*4882a593Smuzhiyun DWORD pad = 0; 37*4882a593Smuzhiyun FILE_BGR bgr; 38*4882a593Smuzhiyun@@ -1461,7 +1461,7 @@ 39*4882a593Smuzhiyun } 40*4882a593Smuzhiyun } 41*4882a593Smuzhiyun } 42*4882a593Smuzhiyun- } else if (bpp == 32) { 43*4882a593Smuzhiyun+ } else if (dst_bpp == 32) { 44*4882a593Smuzhiyun FILE_BGRA bgra; 45*4882a593Smuzhiyun for(unsigned y = 0; y < dst_height; y++) { 46*4882a593Smuzhiyun BYTE *line = FreeImage_GetScanLine(dib, y); 47*4882a593Smuzhiyundiff -uNr FreeImage.orig/Source/FreeImage/PluginDDS.cpp FreeImage/Source/FreeImage/PluginDDS.cpp 48*4882a593Smuzhiyun--- FreeImage.orig/Source/FreeImage/PluginDDS.cpp 2018-07-31 17:04:58.000000000 +0200 49*4882a593Smuzhiyun+++ FreeImage/Source/FreeImage/PluginDDS.cpp 2019-08-31 16:00:39.213465120 +0200 50*4882a593Smuzhiyun@@ -356,14 +356,6 @@ 51*4882a593Smuzhiyun for(int i=0; i<11; i++) { 52*4882a593Smuzhiyun SwapLong(&header->surfaceDesc.dwReserved1[i]); 53*4882a593Smuzhiyun } 54*4882a593Smuzhiyun- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwSize); 55*4882a593Smuzhiyun- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwFlags); 56*4882a593Smuzhiyun- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwFourCC); 57*4882a593Smuzhiyun- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRGBBitCount); 58*4882a593Smuzhiyun- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRBitMask); 59*4882a593Smuzhiyun- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwGBitMask); 60*4882a593Smuzhiyun- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwBBitMask); 61*4882a593Smuzhiyun- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRGBAlphaBitMask); 62*4882a593Smuzhiyun SwapLong(&header->surfaceDesc.ddsCaps.dwCaps1); 63*4882a593Smuzhiyun SwapLong(&header->surfaceDesc.ddsCaps.dwCaps2); 64*4882a593Smuzhiyun SwapLong(&header->surfaceDesc.ddsCaps.dwReserved[0]); 65