From ca82978880bd5f5e58d316f757ac685783dc07a7 Mon Sep 17 00:00:00 2001 From: divverent Date: Sun, 26 Dec 2010 09:59:49 +0000 Subject: [PATCH] avgcolor calculation: also calculate alpha for DXT3 git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@10684 d7cf8633-e32d-0410-b094-e92efae38249 --- gl_textures.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/gl_textures.c b/gl_textures.c index e263502a..c3141423 100644 --- a/gl_textures.c +++ b/gl_textures.c @@ -2057,7 +2057,18 @@ rtexture_t *R_LoadTextureDDSFile(rtexturepool_t *rtexturepool, const char *filen avgcolor[1] += ((c >> 5) & 0x3F) + ((c >> 21) & 0x3F); avgcolor[2] += ((c ) & 0x1F) + ((c >> 16) & 0x1F); if(textype == TEXTYPE_DXT5) - avgcolor[3] = (0.5 * mippixels[i-8] + 0.5 * mippixels[i-7]); + avgcolor[3] += (0.5 * mippixels[i-8] + 0.5 * mippixels[i-7]); + else if(textype == TEXTYPE_DXT3) + avgcolor[3] += ( + (mippixels_start[i-8] & 0x0F) + + (mippixels_start[i-8] >> 4) + + (mippixels_start[i-7] & 0x0F) + + (mippixels_start[i-7] >> 4) + + (mippixels_start[i-6] & 0x0F) + + (mippixels_start[i-6] >> 4) + + (mippixels_start[i-5] & 0x0F) + + (mippixels_start[i-5] >> 4) + ) * (0.125f / 15.0f * 255.0f); else avgcolor[3] += 255; } -- 2.39.2