From d725da7d7c5332ccd88d763b1d1040aef18ac377 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 31 Mar 2026 23:38:49 +0000 Subject: [PATCH] fix: add scaleFactor/width/height guards in GenerateTerrainMesh, fix %zu format specifier Agent-Logs-Url: https://github.com/DarkflameUniverse/DarkflameServer/sessions/43d6190e-34b2-4d7f-8aaf-dd16bd77cc25 Co-authored-by: aronwk-aaron <26027722+aronwk-aaron@users.noreply.github.com> --- dZoneManager/Raw.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/dZoneManager/Raw.cpp b/dZoneManager/Raw.cpp index 14c0b435..ce4e2485 100644 --- a/dZoneManager/Raw.cpp +++ b/dZoneManager/Raw.cpp @@ -381,15 +381,17 @@ namespace Raw { return; // No scene data available } - LOG("GenerateTerrainMesh: Processing %u chunks", raw.chunks.size()); + LOG("GenerateTerrainMesh: Processing %zu chunks", raw.chunks.size()); uint32_t vertexOffset = 0; for (const auto& chunk : raw.chunks) { - // Skip chunks without scene maps - if (chunk.sceneMap.empty() || chunk.colorMapResolution == 0 || chunk.heightMap.empty()) { - LOG("Skipping chunk %u (sceneMap: %zu, colorMapRes: %u, heightMap: %zu)", - chunk.id, chunk.sceneMap.size(), chunk.colorMapResolution, chunk.heightMap.size()); + // Skip chunks without scene maps or with invalid dimensions/scale + if (chunk.sceneMap.empty() || chunk.colorMapResolution == 0 || chunk.heightMap.empty() + || chunk.scaleFactor <= 0.0f || chunk.width <= 1 || chunk.height <= 1) { + LOG("Skipping chunk %u (sceneMap: %zu, colorMapRes: %u, heightMap: %zu, scaleFactor: %f, width: %u, height: %u)", + chunk.id, chunk.sceneMap.size(), chunk.colorMapResolution, chunk.heightMap.size(), + chunk.scaleFactor, chunk.width, chunk.height); continue; }