39#ifndef OPENSNES_COLLISION_H
40#define OPENSNES_COLLISION_H
u8 collidePoint(s16 x, s16 y, Rect *r)
Check point vs rectangle collision.
void rectInit(Rect *r, s16 x, s16 y, u16 w, u16 h)
Initialize a rectangle.
u8 collideTile(s16 px, s16 py, u8 *tilemap, u16 mapWidth)
Check collision with tile at pixel coordinates.
void rectSetPos(Rect *r, s16 x, s16 y)
Set rectangle position.
u8 collideRectEx(Rect *a, Rect *b, s16 *overlapX, s16 *overlapY)
Check if two rectangles overlap and return overlap amount.
u8 collideTileEx(s16 px, s16 py, u8 *tilemap, u16 mapWidth, u8 tileSize)
Check collision with tile using custom tile size.
u8 collideRectTile(Rect *r, u8 *tilemap, u16 mapWidth)
Check collision between rectangle and tilemap.
void rectGetCenter(Rect *r, s16 *cx, s16 *cy)
Get rectangle center point.
u8 collideRect(Rect *a, Rect *b)
Check rectangle vs rectangle collision (AABB)
u8 rectContains(Rect *inner, Rect *outer)
Check if rectangle is completely inside another.
static u16 b
Definition main.c:157
static u16 px
Definition main.c:166
static u16 a
Definition main.c:157
u8 tilemap[]
Tilemap data mapping tile indices to BG1's 32x32 grid.
signed short s16
16-bit signed integer (-32768 to 32767)
Definition types.h:49
unsigned short u16
16-bit unsigned integer (0 to 65535)
Definition types.h:52
unsigned char u8
8-bit unsigned integer (0 to 255)
Definition types.h:46
Axis-aligned bounding box (rectangle)
Definition collision.h:54
u16 height
Definition collision.h:58
s16 y
Definition collision.h:56
u16 width
Definition collision.h:57
s16 x
Definition collision.h:55