diff --git a/src/dusk/tphd/HdAssetLayer.cpp b/src/dusk/tphd/HdAssetLayer.cpp index 3df2acd563..aa87fbf2b2 100644 --- a/src/dusk/tphd/HdAssetLayer.cpp +++ b/src/dusk/tphd/HdAssetLayer.cpp @@ -476,10 +476,12 @@ void registerHdTexturesForArc(std::vector& arcBytes, const u32 newImgOff = 0x20 + i * 0x20; timg->imageOffset = static_cast(newImgOff); - const u8 hdMips = static_cast(std::clamp(s.mipCount, 1u, 11u)); - timg->mipmapCount = hdMips; - timg->maxLOD = static_cast((hdMips - 1) * 8); - //timg->maxAnisotropy = 16; + const u8 hdMips = static_cast(std::clamp(s.mipCount, 1u, 13u)); + if (timg->mipmapEnabled) { + timg->mipmapCount = hdMips; + timg->maxLOD = static_cast((hdMips - 1) * 8); + } + timg->maxAnisotropy = GX_ANISO_4; //timg->LODBias = -50; registerHdSurface(*m, s, arcBytes.data() + f.dataOffset + btiAbs + newImgOff, @@ -512,10 +514,12 @@ void registerHdTexturesForArc(std::vector& arcBytes, // i_img + 0x20, matching where we register below. auto* timg = reinterpret_cast(arcBytes.data() + f.dataOffset); timg->imageOffset = 0x20; - const u8 hdMips = static_cast(std::clamp(s.mipCount, 1u, 11u)); - timg->mipmapCount = hdMips; - timg->maxLOD = static_cast((hdMips - 1) * 8); - //timg->maxAnisotropy = 16; + const u8 hdMips = static_cast(std::clamp(s.mipCount, 1u, 13u)); + if (timg->mipmapEnabled) { + timg->mipmapCount = hdMips; + timg->maxLOD = static_cast((hdMips - 1) * 8); + } + timg->maxAnisotropy = GX_ANISO_4; //timg->LODBias = -50; registerHdSurface(*m, s, arcBytes.data() + f.dataOffset + 0x20, gtx->name, 0);