Index: source/lib/tex/tex_dds.cpp =================================================================== --- source/lib/tex/tex_dds.cpp +++ source/lib/tex/tex_dds.cpp @@ -309,10 +309,13 @@ #pragma pack(push, 1) // DDS_PIXELFORMAT.dwFlags + +// This is used to distinguish RGBA from RGB and DXT1a from DXT1. // we've seen some DXT3 files that don't have this set (which is nonsense; // any image lacking alpha should be stored as DXT1). #define DDPF_ALPHAPIXELS 0x00000001 -// DDPF_ALPHA is used instead of DDPF_ALPHAPIXELS for DXT1a. +// DDPF_ALPHA is used for uncompressed 8bpp greyscale, in which the data +// is stored in the alpha mask. #define DDPF_ALPHA 0x00000002 #define DDPF_FOURCC 0x00000004 #define DDPF_RGB 0x00000040 @@ -460,7 +463,7 @@ { case FOURCC('D','X','T','1'): bpp = 4; - if(pf_flags & DDPF_ALPHA) + if(pf_flags & DDPF_ALPHAPIXELS) flags |= DXT1A | TEX_ALPHA; else flags |= 1;