Make SDL_LoadBMP() work with 32-bit bitmaps from ImageMagick.

main
Ryan C. Gordon 2014-07-09 00:01:34 -04:00
parent 0e9c0855f5
commit a91f1a1adc
1 changed files with 10 additions and 0 deletions

View File

@ -246,6 +246,16 @@ SDL_LoadBMP_RW(SDL_RWops * src, int freesrc)
Gmask = SDL_ReadLE32(src);
Bmask = SDL_ReadLE32(src);
Amask = SDL_ReadLE32(src);
/* ImageMagick seems to put out bogus masks here. Pick a default. */
if ((Rmask == 0xFFFFFF) && (Gmask == 0xFFFFFF) &&
(Bmask == 0xFFFFFF) && (Amask == 0xFFFFFF) ) {
Amask = 0xFF000000;
Rmask = 0x00FF0000;
Gmask = 0x0000FF00;
Bmask = 0x000000FF;
}
break;
default:
break;