From 06d5ae6674f2a23fe5859f06db19d2b0b363a75f Mon Sep 17 00:00:00 2001 From: swim67667 Date: Mon, 22 Jun 2026 23:30:42 -0400 Subject: [PATCH] more robust data collection --- src/collision.c | 59 ++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 32 deletions(-) diff --git a/src/collision.c b/src/collision.c index 712d928..31361fa 100644 --- a/src/collision.c +++ b/src/collision.c @@ -5,44 +5,39 @@ #include "player.h" void checkCollision(){ - float playerx=0.0; - float playery=0.0; - float plrsize=0.0; + objdet[MAX_ENTITIES][4]; + + //array structure: + // [entitiy #1][entity obj,x,y,size] + // [entitiy #2][entity obj,x,y,size] + // etc... + for (int i = 0; i < MAX_ENTITIES; i++){ Entity *e = &entities[i]; - - if (!e->active) + 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){10000, 1000} - ); - if(dir){ - ApplyForce( - player, - (Vector2){(curhorvel*3), 1000} - ); - } - else{ + } + objdet[i][0]=e; + objdet[i][1]=e->position.x; + objdet[i][2]=e->position.y; + objdet[i][3]=e->size; + } + for(int u=0; u<=MAX_ENTITIES; u++){ + for(int j=0; u<=MAX_ENTITIES; u++){ + if(u!=j){ + if(objdet[u][1]position.x; - playery=e->position.y; - if(playery==playery) - - plrsize=e->size; - } } + + }