summaryrefslogtreecommitdiff
path: root/src/physics.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/physics.c')
-rw-r--r--src/physics.c7
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