diff --git a/include/Nazara/Utility/PixelFormat.inl b/include/Nazara/Utility/PixelFormat.inl index 32145ab20..59ad2ab04 100644 --- a/include/Nazara/Utility/PixelFormat.inl +++ b/include/Nazara/Utility/PixelFormat.inl @@ -39,18 +39,8 @@ namespace Nz } inline PixelFormatInfo::PixelFormatInfo(const String& formatName, PixelFormatContent formatContent, Bitset<> rMask, Bitset<> gMask, Bitset<> bMask, Bitset<> aMask, PixelFormatSubType subType) : - redMask(rMask), - greenMask(gMask), - blueMask(bMask), - alphaMask(aMask), - content(formatContent), - redType(subType), - greenType(subType), - blueType(subType), - alphaType(subType), - name(formatName) + PixelFormatInfo(formatName, formatContent, subType, rMask, subType, gMask, subType, bMask, subType, aMask) { - RecomputeBitsPerPixel(); } inline PixelFormatInfo::PixelFormatInfo(const String& formatName, PixelFormatContent formatContent, PixelFormatSubType rType, Bitset<> rMask, PixelFormatSubType gType, Bitset<> gMask, PixelFormatSubType bType, Bitset<> bMask, PixelFormatSubType aType, Bitset<> aMask, UInt8 bpp) : @@ -65,6 +55,11 @@ namespace Nz alphaType(aType), name(formatName) { + redMask.Reverse(); + greenMask.Reverse(); + blueMask.Reverse(); + alphaMask.Reverse(); + if (bpp == 0) RecomputeBitsPerPixel(); } diff --git a/src/Nazara/Utility/Formats/DDSLoader.cpp b/src/Nazara/Utility/Formats/DDSLoader.cpp index d9783115b..1e707e610 100644 --- a/src/Nazara/Utility/Formats/DDSLoader.cpp +++ b/src/Nazara/Utility/Formats/DDSLoader.cpp @@ -174,15 +174,15 @@ namespace Nz if (header.format.flags & DDPF_RGB) { // Reverse bits for our masks - info.redMask = ReverseBits(header.format.redMask); - info.greenMask = ReverseBits(header.format.greenMask); - info.blueMask = ReverseBits(header.format.blueMask); + info.redMask = header.format.redMask; + info.greenMask = header.format.greenMask; + info.blueMask = header.format.blueMask; } else if (header.format.flags & DDPF_LUMINANCE) - info.redMask = ReverseBits(header.format.redMask); + info.redMask = header.format.redMask; if (header.format.flags & (DDPF_ALPHA | DDPF_ALPHAPIXELS)) - info.alphaMask = ReverseBits(header.format.alphaMask); + info.alphaMask = header.format.alphaMask; *format = PixelFormat::IdentifyFormat(info); if (!PixelFormat::IsValid(*format))