X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fvideo.cpp;h=4f33d666b8dd329780c8aac74b8afebf57626725;hb=ff3fa0b1ecf246a104ff10fa6c3dc225cccce82f;hp=4b9507dc363c9212379f2c0b542e5f95aaff4a32;hpb=d239de704f276a75d927900e3d413a44cc87116c;p=virtualjaguar diff --git a/src/video.cpp b/src/video.cpp index 4b9507d..4f33d66 100644 --- a/src/video.cpp +++ b/src/video.cpp @@ -22,6 +22,19 @@ Uint32 mainSurfaceFlags; //int16 * backbuffer; uint32 * backbuffer; +#if SDL_BYTEORDER == SDL_BIG_ENDIAN + #define RMASK 0xFF000000 + #define GMASK 0x00FF0000 + #define BMASK 0x0000FF00 + #define AMASK 0x000000FF +#else + #define RMASK 0x000000FF + #define GMASK 0x0000FF00 + #define BMASK 0x00FF0000 + #define AMASK 0xFF000000 +#endif + + // One of the reasons why OpenGL is slower then normal SDL rendering, is because // the data is being pumped into the buffer every frame with a overflow as result. // So, we going tot render every 1 frame instead of every 0 frame. @@ -50,9 +63,9 @@ bool VideoInit(void) if (vjs.useOpenGL) { - // Initializing SDL attributes with OpenGL - SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 0); - SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); + // Initializing SDL attributes with OpenGL + SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 0); + SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); mainSurfaceFlags = SDL_OPENGL; } else @@ -111,12 +124,7 @@ bool VideoInit(void) // vsWidth = 1280; //24BPP // surface = SDL_CreateRGBSurface(SDL_SWSURFACE, VIRTUAL_SCREEN_WIDTH, - surface = SDL_CreateRGBSurface(SDL_SWSURFACE, vsWidth, vsHeight, 32, -#if SDL_BYTEORDER == SDL_BIG_ENDIAN - 0xFF000000, 0x00FF0000, 0x0000FF00, 0x000000FF); -#else - 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000); -#endif//*/ + surface = SDL_CreateRGBSurface(SDL_SWSURFACE, vsWidth, vsHeight, 32, RMASK, GMASK, BMASK, AMASK); if (surface == NULL) { @@ -226,12 +234,7 @@ void RenderBackbuffer(void) void ResizeScreen(uint32 width, uint32 height) { SDL_FreeSurface(surface); - surface = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, 32, -#if SDL_BYTEORDER == SDL_BIG_ENDIAN - 0xFF000000, 0x00FF0000, 0x0000FF00, 0x000000FF); -#else - 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000); -#endif//*/ + surface = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, 32, RMASK, GMASK, BMASK, AMASK); if (surface == NULL) {