From c0429110db3aecba002284cef08bf2ca04aa73a4 Mon Sep 17 00:00:00 2001 From: Lurs <2795933+Lurs@users.noreply.github.com> Date: Fri, 29 May 2026 16:21:52 +0200 Subject: [PATCH] another mipmap/LOD try with GX_ANISO_4 --- src/dusk/tphd/HdAssetLayer.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) 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);