From 672cf5bcb5b87e20872c95d1504241ccc67dd39c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20W=2E=20Urba=C5=84czyk?= Date: Mon, 4 Mar 2013 14:35:10 +0000 Subject: [PATCH] [OpenGL] Fixed BGR/RGB mismatch. Fixed CPalettedBitmap issue. --- client/Gfx/Images.cpp | 2 +- client/Gfx/ImgMakers.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/client/Gfx/Images.cpp b/client/Gfx/Images.cpp index da0e5c332..c914d6121 100644 --- a/client/Gfx/Images.cpp +++ b/client/Gfx/Images.cpp @@ -307,7 +307,7 @@ CPalettedBitmap::~CPalettedBitmap() void CPalettedBitmap::textureTransfer() { - glTexImage2D(GL_TEXTURE_RECTANGLE, 0, GL_R8UI, width, height, 0, GL_RED, GL_UNSIGNED_BYTE, buffer); + glTexImage2D(GL_TEXTURE_RECTANGLE, 0, GL_R8UI, width, height, 0, GL_RED_INTEGER, GL_UNSIGNED_BYTE, buffer); palette.loadToVideoRAM(); } diff --git a/client/Gfx/ImgMakers.cpp b/client/Gfx/ImgMakers.cpp index 991170aed..ff155acaa 100644 --- a/client/Gfx/ImgMakers.cpp +++ b/client/Gfx/ImgMakers.cpp @@ -31,11 +31,11 @@ CImage * CImage::makeBySDL(void* data, size_t fileSize, const char* fileExt) } else if (ret->format->BytesPerPixel == 3) { - img = new CBitmap32(ret->w, ret->h, (ColorRGB*)ret->pixels); + img = new CBitmap32(ret->w, ret->h, (ColorRGB*)ret->pixels, ret->format->Rmask == 0x00FF0000); } else if (ret->format->BytesPerPixel == 4) { - img = new CBitmap32(ret->w, ret->h, (ColorRGBA*)ret->pixels); + img = new CBitmap32(ret->w, ret->h, (ColorRGBA*)ret->pixels, ret->format->Rmask == 0x00FF0000); } SDL_FreeSurface(ret);