diff --git a/Makefile b/Makefile index 6ef791b..04919ba 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,8 @@ SRC=src/main.c \ src/world.c \ src/player.c \ src/physics.c \ - src/render.c + src/render.c \ + src/collision.c\ OUT=wrldbox diff --git a/src/collision.c b/src/collision.c index 480af6b..6d10ab1 100644 --- a/src/collision.c +++ b/src/collision.c @@ -4,5 +4,36 @@ #include "collision.h" void checkCollision(){ - for(int i; s) + float playerx=0.0; + float playery=0.0; + float plrsize=0.0; + for (int i = 0; i < MAX_ENTITIES; i++){ + Entity *e = &entities[i]; + + if (!e->active) + continue; + if(e->isPlayer == false){ + float objposx=e->position.x; + //float objposy=e->position.y; + float objsize=e->size; + + if(playerx-(plrsize/2)objposx-(objsize/2)){ + ApplyForce( + e, + (Vector2){1000, 1000} + ); + ApplyForce( + player, + (Vector2){-1000, 1000} + ); + } + } + else{ + playerx=e->position.x; + playery=e->position.y; + if(playery==playery) + + plrsize=e->size; + } + } } diff --git a/src/collision.h b/src/collision.h new file mode 100644 index 0000000..3f919e6 --- /dev/null +++ b/src/collision.h @@ -0,0 +1,8 @@ +#ifndef COLLISION_H +#define COLLISION_H + +// FUNction declaration! yay!!! +// run by main.c constantly to allow player input. +void checkCollision(); + +#endif diff --git a/src/main.c b/src/main.c index f4a9fc0..ebadd21 100644 --- a/src/main.c +++ b/src/main.c @@ -78,6 +78,7 @@ int main(void) { // allow player to be controlled, fit everything within the size of the screen UpdatePlayerControls(); + checkCollision(); UpdateEntities(dt, screenWidth); simTime += dt; diff --git a/wrldbox b/wrldbox index 3bba57c..1df3f3f 100755 Binary files a/wrldbox and b/wrldbox differ