From 34da65ea6d3afedb41222f2435383f4a204fcf2a Mon Sep 17 00:00:00 2001 From: RandomityGuy <31925790+RandomityGuy@users.noreply.github.com> Date: Sun, 5 Feb 2023 19:41:16 +0530 Subject: [PATCH] fix marble getting stuck on corners --- src/Marble.hx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Marble.hx b/src/Marble.hx index a817c404..8d4307f6 100644 --- a/src/Marble.hx +++ b/src/Marble.hx @@ -963,7 +963,7 @@ class Marble extends GameObject { edgeCollisionTime = 0.0; // Check if the collision hasn't already happened - if (edgeCollisionTime >= 0.0) { + if (edgeCollisionTime >= 0.000001) { // Resolve it and continue finalT = edgeCollisionTime; currentFinalPos = position.add(relVel.multiply(finalT)); @@ -1315,6 +1315,8 @@ class Marble extends GameObject { var pos = this.getAbsPos().getPosition(); this.prevPos = pos.clone(); + var tdiff = timeStep; + var finalPosData = testMove(velocity, pos, timeStep, _radius, true); // this.getIntersectionTime(timeStep, velocity); if (finalPosData.found) { var diff = timeStep - finalPosData.t; @@ -1322,6 +1324,7 @@ class Marble extends GameObject { this.omega = this.omega.sub(a.multiply(diff)); // if (finalPosData.t > 0.00001) timeStep = finalPosData.t; + tdiff = diff; } var expectedPos = finalPosData.position; // var newPos = expectedPos;