From 1e00a82db55563d50dae74c8294683990e13de2a Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sun, 11 Aug 2024 21:10:29 +0300 Subject: [PATCH] fix player collision calculation --- src/physics/PhysicsSolver.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/physics/PhysicsSolver.cpp b/src/physics/PhysicsSolver.cpp index 3fec4b1c..6d71c8d8 100644 --- a/src/physics/PhysicsSolver.cpp +++ b/src/physics/PhysicsSolver.cpp @@ -152,7 +152,7 @@ static bool calc_collision_neg( return false; } glm::vec3 offset(0.0f, stepHeight, 0.0f); - for (int iy = 0; iy <= (half[ny]-E)*2/s; iy++) { + for (int iy = 0; iy <= ((half-offset)[ny]-E)*2/s; iy++) { glm::vec3 coord; coord[ny] = ((pos+offset)[ny]-half[ny]+E) + iy * s; for (int iz = 0; iz <= (half[nz]-E)*2/s; iz++){ @@ -185,7 +185,7 @@ static void calc_collision_pos( return; } glm::vec3 offset(0.0f, stepHeight, 0.0f); - for (int iy = 0; iy <= (half[ny]-E)*2/s; iy++) { + for (int iy = 0; iy <= ((half-offset)[ny]-E)*2/s; iy++) { glm::vec3 coord; coord[ny] = ((pos+offset)[ny]-half[ny]+E) + iy * s; for (int iz = 0; iz <= (half[nz]-E)*2/s; iz++) {