summaryrefslogtreecommitdiff
path: root/physics.c
blob: f8d785b8731772d999aaaceea6824d8a164a0aca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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;
}