From 7f5cad63cd5af1f603b1130082856050ffbf00fc Mon Sep 17 00:00:00 2001 From: Kelsi Date: Sun, 29 Mar 2026 20:14:53 -0700 Subject: [PATCH] fix: WMO group debug log throttle was per-process, not per-model static int logCount/batchLogCount inside the per-group parse loop accumulated globally, so after the first WMO with many sub-chunks loaded, no subsequent WMO group would ever log. Changed to function- local / loop-index-based throttle so each group gets its own window. --- src/pipeline/wmo_loader.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/pipeline/wmo_loader.cpp b/src/pipeline/wmo_loader.cpp index 4be2c521..5f919fd8 100644 --- a/src/pipeline/wmo_loader.cpp +++ b/src/pipeline/wmo_loader.cpp @@ -464,6 +464,7 @@ bool WMOLoader::loadGroup(const std::vector& groupData, mogpOffset = offset + 68; // Parse sub-chunks within MOGP + int groupLogCount = 0; while (mogpOffset + 8 < chunkEnd) { uint32_t subChunkId = read(groupData, mogpOffset); uint32_t subChunkSize = read(groupData, mogpOffset); @@ -479,10 +480,11 @@ bool WMOLoader::loadGroup(const std::vector& groupData, magic[1] = (subChunkId >> 8) & 0xFF; magic[2] = (subChunkId >> 16) & 0xFF; magic[3] = (subChunkId >> 24) & 0xFF; - static int logCount = 0; - if (logCount < 30) { + // Not static — previously this throttle was per-process, silencing + // all WMO group logging after the first 30 sub-chunks globally. + if (groupLogCount < 30) { core::Logger::getInstance().debug(" WMO sub-chunk: ", magic, " (0x", std::hex, subChunkId, std::dec, ") size=", subChunkSize); - logCount++; + groupLogCount++; } if (subChunkId == 0x4D4F5654) { // MOVT - Vertices @@ -577,12 +579,11 @@ bool WMOLoader::loadGroup(const std::vector& groupData, batch.materialId = read(groupData, mogpOffset); group.batches.push_back(batch); - static int batchLogCount = 0; - if (batchLogCount < 15) { + // Non-static so each group gets its own throttle window. + if (static_cast(i) < 15) { core::Logger::getInstance().debug(" Batch[", i, "]: start=", batch.startIndex, " count=", batch.indexCount, " verts=[", batch.startVertex, "-", batch.lastVertex, "] mat=", static_cast(batch.materialId), " flags=", static_cast(batch.flags)); - batchLogCount++; } } }