From 87aaa30eedab0f09a4a71f7adb7776e1ff710e77 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Sat, 7 Feb 2026 17:09:57 -0800 Subject: [PATCH] Fix carpet sliding and brighten WMO interiors 10% - Carpet slide fix: use raw model bounds (rawMax.z) instead of radius- inflated effectiveTop for the on-top-of-object check, so thin objects like rugs correctly skip lateral push - Brighten WMO interior vertex lighting from 2.2/0.3 to 2.4/0.35 --- src/rendering/m2_renderer.cpp | 2 +- src/rendering/wmo_renderer.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rendering/m2_renderer.cpp b/src/rendering/m2_renderer.cpp index 8567ae64..cd080a22 100644 --- a/src/rendering/m2_renderer.cpp +++ b/src/rendering/m2_renderer.cpp @@ -2398,7 +2398,7 @@ bool M2Renderer::checkCollision(const glm::vec3& from, const glm::vec3& to, if (allowEscapeRelax) { continue; } - if (stepableLowObject && nearTop) { + if (stepableLowObject && localFrom.z >= rawMax.z - 0.35f) { // Already on/near top surface: don't apply lateral push that ejects // the player from the object (carpets, platforms, etc). continue; diff --git a/src/rendering/wmo_renderer.cpp b/src/rendering/wmo_renderer.cpp index afb7418c..b6d0292c 100644 --- a/src/rendering/wmo_renderer.cpp +++ b/src/rendering/wmo_renderer.cpp @@ -137,7 +137,7 @@ bool WMORenderer::initialize(pipeline::AssetManager* assets) { if (uIsInterior) { // Interior: MOCV vertex colors are baked lighting. // Use them directly as the light multiplier on the texture. - vec3 vertLight = VertexColor.rgb * 2.2 + 0.3; + vec3 vertLight = VertexColor.rgb * 2.4 + 0.35; // Subtle directional fill so geometry reads float diff = max(dot(normal, lightDir), 0.0); vertLight += diff * 0.10;