From 9e439d88bf81372ed38838dd406825ca24e7a183 Mon Sep 17 00:00:00 2001 From: Didier 'OdyX' Raboud Date: Mon, 28 Oct 2013 15:18:45 +0100 Subject: Fix the detection of alpha-channel in textures as created by IMG_Load This fixes the textures loading under Mac OS X --- src/graphics/opengl/gldevice.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/graphics/opengl/gldevice.cpp b/src/graphics/opengl/gldevice.cpp index bbabdd6..9f64fab 100644 --- a/src/graphics/opengl/gldevice.cpp +++ b/src/graphics/opengl/gldevice.cpp @@ -606,7 +606,7 @@ Texture CGLDevice::CreateTexture(ImageData *data, const TextureCreateParams &par } else if (params.format == TEX_IMG_AUTO) { - if (data->surface->format->Amask != 0) + if (data->surface->format->BytesPerPixel == 4) { if ((data->surface->format->Amask == 0xFF000000) && (data->surface->format->Rmask == 0x00FF0000) && @@ -630,7 +630,7 @@ Texture CGLDevice::CreateTexture(ImageData *data, const TextureCreateParams &par convert = true; } } - else + else if (data->surface->format->BytesPerPixel == 3) { if ((data->surface->format->Rmask == 0xFF0000) && (data->surface->format->Gmask == 0x00FF00) && @@ -652,6 +652,10 @@ Texture CGLDevice::CreateTexture(ImageData *data, const TextureCreateParams &par convert = true; } } + else { + GetLogger()->Error("Unknown data surface format"); + assert(false); + } } else assert(false); -- cgit v1.2.3-1-g7c22