summaryrefslogtreecommitdiff
path: root/include/physics.h
blob: 8a43915e0886fe73b2332cfe7b9c667343faef67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
typedef enum {
	BTYPE_AABB,
	BTYPE_TILEMAP,
} BodyType;

typedef struct Body Body;
typedef struct CollisionEvent {
	Body *body1;
	Body *body2;
} CollisionEvent;

Body *phxnew(BodyType type);
void  phxdel(Body *);

void phxsetmap(int w, int h, int *tiles);

void phxsetpos(Body *, float x, float y);
void phxsetsize(Body *, float w, float h);
void phxapplyaccel(Body *, float f[2]);

void phxgetpos(Body *, float pos[2]);
void phxgetsize(Body *, float size[2]);

int phxnextcollevent(CollisionEvent *ev);
void phxtick(float delta);