diff --git a/src/collision.c b/src/collision.c index c020955..94490cf 100644 --- a/src/collision.c +++ b/src/collision.c @@ -19,51 +19,27 @@ void checkCollision(){ if (fabsf(en1->position.x - en2->position.x) < (en1->size * 0.5f + en2->size * 0.5f) && fabsf(en1->position.y - en2->position.y) < (en1->size * 0.5f + en2->size * 0.5f)) { - float forcex=fabs(((en1->mass+en2->mass)/2)*((((en1->velocity.x)+(scale*.5))+((en2->velocity.x)+(scale*.5)))/2)+((en1->force.x+en2->force.x)/2))*(scale); - float forcey=fabs(((en1->mass+en2->mass)/2)*((((en1->velocity.y)+(scale*.5))+((en2->velocity.y)+(scale*.5)))/2))*(scale); + float forcex=fabsf(((en1->mass+en2->mass)/2)*((((en1->velocity.x)+(scale))+((en2->velocity.x)+(scale)))/2))*(scale); + float forcey=fabsf(((en1->mass+en2->mass)/2)*((((en1->velocity.y)+(scale))+((en2->velocity.y)+(scale)))/2))*(scale); if(en1->position.x < en2->position.x){ - if(en1->position.y < en2->position.y){ - ApplyForce( - en1, - (Vector2){-forcex, -forcey} - ); - ApplyForce( - en2, - (Vector2){forcex, forcey} - ); - } - else{ - ApplyForce( - en1, - (Vector2){-forcex, forcey} - ); - ApplyForce( - en2, - (Vector2){forcex, -forcey} - ); - } + ApplyForce( + en1, + (Vector2){-forcex, 0} + ); + ApplyForce( + en2, + (Vector2){forcex, 0} + ); } else{ - if(en1->position.y < en2->position.y){ - ApplyForce( - en1, - (Vector2){forcex, -forcey} - ); - ApplyForce( - en2, - (Vector2){-forcex, forcey} - ); - } - else{ - ApplyForce( - en1, - (Vector2){forcex, forcey} - ); - ApplyForce( - en2, - (Vector2){-forcex, -forcey} - ); - } + ApplyForce( + en1, + (Vector2){forcex, 0} + ); + ApplyForce( + en2, + (Vector2){-forcex, 0} + ); } } } diff --git a/wrldboxMacOS b/wrldboxMacOS index e6f51bf..d36617d 100755 Binary files a/wrldboxMacOS and b/wrldboxMacOS differ