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;