fix: dds dumping for A8 textures (#888)

This commit is contained in:
Jan Laupetin
2026-07-08 07:33:30 +02:00
committed by GitHub
parent 5564db4f5a
commit 5c67bbaa86
+16 -5
View File
@@ -93,13 +93,24 @@ namespace
pf.dwABitMask = format->HasA() ? Mask1(format->m_a_size) << format->m_a_offset : 0; pf.dwABitMask = format->HasA() ? Mask1(format->m_a_size) << format->m_a_offset : 0;
pf.dwFlags = 0; pf.dwFlags = 0;
if (format->HasA())
pf.dwFlags |= DDPF_ALPHAPIXELS;
if (format->HasR() && !format->HasG() && !format->HasB()) const auto hasAnyColor = format->HasR() || format->HasG() || format->HasB();
pf.dwFlags |= DDPF_LUMINANCE; const auto hasAlpha = format->HasA();
if (!hasAnyColor && hasAlpha)
{
pf.dwFlags |= DDPF_ALPHA;
}
else else
pf.dwFlags |= DDPF_RGB; {
if (hasAlpha)
pf.dwFlags |= DDPF_ALPHAPIXELS;
if (format->HasR() && !format->HasG() && !format->HasB())
pf.dwFlags |= DDPF_LUMINANCE;
else if (hasAnyColor)
pf.dwFlags |= DDPF_RGB;
}
} }
void PopulatePixelFormat(DDS_PIXELFORMAT& pf) void PopulatePixelFormat(DDS_PIXELFORMAT& pf)