From bec7a678aa75cf272f0a511dc02a87c30b200a67 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Wed, 4 Mar 2026 09:25:00 -0800 Subject: [PATCH] Fix missing floors in dungeon instances by restricting LOD detection Low-vertex groups (<100 verts) were incorrectly marked as distance-only LOD shells in small WMOs like Stockades. Now only applies this heuristic to large WMOs (50+ groups) where it's needed for city exterior shells. --- src/rendering/wmo_renderer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rendering/wmo_renderer.cpp b/src/rendering/wmo_renderer.cpp index 18230194..b71f0287 100644 --- a/src/rendering/wmo_renderer.cpp +++ b/src/rendering/wmo_renderer.cpp @@ -536,7 +536,7 @@ bool WMORenderer::loadModel(const pipeline::WMOModel& model, uint32_t id) { // Flag 0x80 on INDOOR groups in large WMOs = interior cathedral shell bool hasFlag80 = (wmoGroup.flags & 0x80) != 0; bool isIndoor = (wmoGroup.flags & 0x2000) != 0; - if (nVerts < 100 || (alwaysDraw && nVerts < 5000) || (isFacade && isLargeWmo) || (isCityShell && isLargeWmo) || (hasFlag80 && isIndoor && isLargeWmo)) { + if ((nVerts < 100 && isLargeWmo) || (alwaysDraw && nVerts < 5000) || (isFacade && isLargeWmo) || (isCityShell && isLargeWmo) || (hasFlag80 && isIndoor && isLargeWmo)) { resources.isLOD = true; } modelData.groups.push_back(resources);