diff options
Diffstat (limited to 'src/physics.c')
-rw-r--r-- | src/physics.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/physics.c b/src/physics.c index bc93a29..6781c41 100644 --- a/src/physics.c +++ b/src/physics.c @@ -4,9 +4,10 @@ extern Game game; -void MoveAndSlide(Entity* e, float deltaTime) { +void MoveAndStop(Entity* e, float deltaTime) { Vector2 velocity = e->velocity; Rectangle physicsCollider = GetPhysicsColliderGlobal(e); + Rectangle pastCollider = physicsCollider; physicsCollider.x += e->velocity.x * deltaTime; for (int i = 0; i < MAX_ENTITY_COUNT; i++) { @@ -41,8 +42,8 @@ void MoveAndSlide(Entity* e, float deltaTime) { } } - e->position.x = physicsCollider.x; - e->position.y = physicsCollider.y; + e->position.x += (physicsCollider.x - pastCollider.x); + e->position.y += (physicsCollider.y - pastCollider.y); } #ifdef BEATEMUP_DEBUG |