]> de.git.xonotic.org Git - xonotic/darkplaces.git/commitdiff
do not set hasalphaflag on dds images that have alpha but were loaded
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Wed, 30 Dec 2009 22:33:59 +0000 (22:33 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Wed, 30 Dec 2009 22:33:59 +0000 (22:33 +0000)
without TEXF_ALPHA

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9756 d7cf8633-e32d-0410-b094-e92efae38249

gl_textures.c

index b10611b7b2c9ba8f222ea347de3eaf4f4ca03f94..a029377c930a36425048d575c16a3d6103e5d702 100644 (file)
@@ -1236,8 +1236,8 @@ rtexture_t *R_LoadTextureDDSFile(rtexturepool_t *rtexturepool, const char *filen
                for (i = 3;i < size;i += 4)
                        if (ddspixels[i] < 255)
                                break;
-               if (i < size)
-                       flags |= TEXF_ALPHA;
+               if (i >= size)
+                       flags &= ~TEXF_ALPHA;
        }
        else if (!memcmp(dds+84, "DXT1", 4))
        {
@@ -1259,10 +1259,9 @@ rtexture_t *R_LoadTextureDDSFile(rtexturepool_t *rtexturepool, const char *filen
                        if (ddspixels[i+0] + ddspixels[i+1] * 256 <= ddspixels[i+2] + ddspixels[i+3] * 256)
                                break;
                if (i < size)
-               {
                        textype = TEXTYPE_DXT1A;
-                       flags |= TEXF_ALPHA;
-               }
+               else
+                       flags &= ~TEXF_ALPHA;
        }
        else if (!memcmp(dds+84, "DXT3", 4))
        {
@@ -1276,7 +1275,6 @@ rtexture_t *R_LoadTextureDDSFile(rtexturepool_t *rtexturepool, const char *filen
                        Con_Printf("^1%s: invalid DXT3 DDS image\n", filename);
                        return NULL;
                }
-               flags |= TEXF_ALPHA;
        }
        else if (!memcmp(dds+84, "DXT5", 4))
        {
@@ -1290,7 +1288,6 @@ rtexture_t *R_LoadTextureDDSFile(rtexturepool_t *rtexturepool, const char *filen
                        Con_Printf("^1%s: invalid DXT5 DDS image\n", filename);
                        return NULL;
                }
-               flags |= TEXF_ALPHA;
        }
        else
        {