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;