2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-06-27 11:28:08 +00:00

fix: t6 modman textures (#849)

* feat: dynamically decompress bc5 textures for modman

* chore: restructure image format class

* chore: keep dds file conversions

* chore: convert all kinds of webgl unsupported formats

* chore: add decompressors for remaining formats

* chore: always set full alpha if available on bc4 and bc5 decompression
This commit is contained in:
Jan
2026-06-22 07:02:35 +02:00
committed by GitHub
parent 087ce0c208
commit 255c424aac
28 changed files with 2373 additions and 237 deletions
+7 -7
View File
@@ -87,7 +87,7 @@ namespace
return false;
}
for (const auto* imageFormat : ImageFormat::ALL_FORMATS)
for (const auto* imageFormat : format::ALL)
{
if (imageFormat->GetDxgiFormat() == headerDx10.dxgiFormat)
{
@@ -105,25 +105,25 @@ namespace
switch (pf.dwFourCC)
{
case utils::MakeMagic32('D', 'X', 'T', '1'):
m_format = &ImageFormat::FORMAT_BC1;
m_format = &format::BC1;
return true;
case utils::MakeMagic32('D', 'X', 'T', '3'):
m_format = &ImageFormat::FORMAT_BC2;
m_format = &format::BC2;
return true;
case utils::MakeMagic32('D', 'X', 'T', '5'):
m_format = &ImageFormat::FORMAT_BC3;
m_format = &format::BC3;
return true;
case utils::MakeMagic32('A', 'T', 'I', '1'):
case utils::MakeMagic32('B', 'C', '4', 'U'):
m_format = &ImageFormat::FORMAT_BC4;
m_format = &format::BC4;
return true;
case utils::MakeMagic32('A', 'T', 'I', '2'):
case utils::MakeMagic32('B', 'C', '5', 'U'):
m_format = &ImageFormat::FORMAT_BC5;
m_format = &format::BC5;
return true;
case utils::MakeMagic32('D', 'X', '1', '0'):
@@ -165,7 +165,7 @@ namespace
ExtractSizeAndOffsetFromMask(pf.dwBBitMask, bOffset, bSize);
ExtractSizeAndOffsetFromMask(pf.dwABitMask, aOffset, aSize);
for (const auto* imageFormat : ImageFormat::ALL_FORMATS)
for (const auto* imageFormat : format::ALL)
{
if (imageFormat->GetType() != ImageFormatType::UNSIGNED)
continue;