diff --git a/stepmania/src/SDL_SaveJPEG.cpp b/stepmania/src/SDL_SaveJPEG.cpp index 7bc7932e28..506d143f91 100644 --- a/stepmania/src/SDL_SaveJPEG.cpp +++ b/stepmania/src/SDL_SaveJPEG.cpp @@ -114,7 +114,7 @@ void IMG_SaveJPG_RW( SDL_Surface *surface, SDL_RWops *dest ) { SDL_Surface *dst_surface; if( ConvertSDLSurface( surface, dst_surface, - surface->w, surface->h, 24, mySDL_Swap24(0xFF0000), mySDL_Swap24(0x00FF00), mySDL_Swap24(0x0000FF), 0 ) ) + surface->w, surface->h, 24, mySDL_SwapBE24(0xFF0000), mySDL_SwapBE24(0x00FF00), mySDL_SwapBE24(0x0000FF), 0 ) ) surface = dst_surface; struct jpeg::jpeg_compress_struct cinfo; diff --git a/stepmania/src/SDL_utils.h b/stepmania/src/SDL_utils.h index 82947ff97d..804d6a64ee 100644 --- a/stepmania/src/SDL_utils.h +++ b/stepmania/src/SDL_utils.h @@ -10,6 +10,13 @@ #undef Screen Uint32 mySDL_Swap24(Uint32 x); +#if SDL_BYTEORDER == SDL_LIL_ENDIAN +#define mySDL_SwapLE24(n) (n) +#define mySDL_SwapBE24(n) (mySDL_Swap24(n)) +#else +#define mySDL_SwapLE24(n) (mySDL_Swap24(n)) +#define mySDL_SwapBE24(n) (n) +#endif Uint32 decodepixel(const Uint8 *p, int bpp); void encodepixel(Uint8 *p, int bpp, Uint32 pixel);