From cbf1d4638f2c678d16abadfd9f3db40061179995 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Wed, 6 May 2026 03:52:40 -0700 Subject: [PATCH] fix(editor): WMO instance scale actually applied to renderer WMORenderer::createInstance accepts a scale parameter (default 1.0), but the editor's call site ignored obj.scale. So a WMO sized to 2.0 in the panel still rendered at 1.0. Now passes obj.scale through, so the loaded MODF scale + any user gizmo scaling work end-to-end. --- tools/editor/editor_viewport.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/editor/editor_viewport.cpp b/tools/editor/editor_viewport.cpp index fea9610b..02d974b9 100644 --- a/tools/editor/editor_viewport.cpp +++ b/tools/editor/editor_viewport.cpp @@ -242,7 +242,10 @@ void EditorViewport::rebuildObjects(const std::vector& objects, wmoModelIds[obj.path] = modelId; } glm::vec3 wmoRotRad = glm::radians(obj.rotation); - wmoRenderer_->createInstance(modelId, obj.position, wmoRotRad); + // Pass through obj.scale so non-1.0 WMO instance scales (loaded + // from MODF, edited via the gizmo, or duplicated) actually render + // at the right size instead of always 1.0. + wmoRenderer_->createInstance(modelId, obj.position, wmoRotRad, obj.scale); } }