From 794ce07bd5409b7643d8fdd200adf3c3279095dc Mon Sep 17 00:00:00 2001 From: MihailRis Date: Mon, 9 Mar 2026 22:47:41 +0300 Subject: [PATCH] fix side collision position correction for blocks --- src/physics/PhysicsSolver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/physics/PhysicsSolver.cpp b/src/physics/PhysicsSolver.cpp index 823871f2b..c9947c299 100644 --- a/src/physics/PhysicsSolver.cpp +++ b/src/physics/PhysicsSolver.cpp @@ -106,7 +106,7 @@ static void calc_collision( if (const auto obstacle = chunks.isObstacleAt(coord.x, coord.y, coord.z, aabb)) { float newx = std::floor(coord[nx]) - half[nx] * sign + (sign > 0 ? obstacle->min() : obstacle->max())[nx]; - if ((pos[nx] - newx) * sign > 0.0f) { + if ((pos[nx] - newx) * sign > 0.0f && glm::abs(pos[nx] - newx) < MAX_FIX) { vel[nx] = 0.0f; pos[nx] = newx; }