summaryrefslogtreecommitdiff
path: root/physics.c
diff options
context:
space:
mode:
authoresquizo <esquizo+noreply@esquizo.net>2026-04-24 19:11:13 -0300
committeresquizo <esquizo+noreply@esquizo.net>2026-04-24 19:11:13 -0300
commit15a8758f6a99d18ab481e971c7cdfa0c10b71ff6 (patch)
treea43b043a4edfbce6f9e7fa3fe509766838e3b2af /physics.c
parentc027a6ebdb3e1cba203ea067720cca3a4c620974 (diff)
tamanho da body
Diffstat (limited to 'physics.c')
-rw-r--r--physics.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/physics.c b/physics.c
new file mode 100644
index 0000000..f8d785b
--- /dev/null
+++ b/physics.c
@@ -0,0 +1,20 @@
+#include "dat.h"
+
+int
+checkcollision(Body *a, Body *b)
+{
+ float p[2], s[2], minx, miny, maxx, maxy;
+
+ for(int i = 0; i < 2; i++) {
+ s[i] = a->size[i] + b->size[i];
+ p[i] = a->pos[i] - b->pos[i];
+ }
+
+ minx = p[0] - s[0];
+ maxx = p[0] + s[0];
+ miny = p[1] - s[1];
+ maxy = p[1] + s[1];
+
+ return minx < 0 && maxx > 0 && miny < 0 && maxy > 0;
+}
+