crocparty/game/game_collision.h

30 lines
659 B
C
Raw Normal View History

2024-02-28 03:57:37 +00:00
#ifndef GAME_COLLISION_H
#define GAME_COLLISION_H
#include <stdbool.h>
#include "sys/sys.h"
#define TILE_SZ_MICROPIXEL 0x800
2024-02-28 05:49:20 +00:00
#define PIXEL_SZ_MICROPIXEL 0x100
2024-02-28 03:57:37 +00:00
typedef struct {
2024-02-28 20:54:59 +00:00
sys_i32 x_origin;
sys_i32 y_origin;
2024-02-28 03:57:37 +00:00
sys_i32 x;
sys_i32 y;
sys_i32 w;
sys_i32 h;
} game_bbox;
typedef struct {
bool collided_x;
bool collided_y;
sys_i32 distance_x;
sys_i32 distance_y;
} game_collision;
bool game_collision_is_occlusive(sys_maptile tile);
bool game_collision_can_move(game_bbox body, sys_i32 dx, sys_i32 dy);
game_collision game_collision_move_to_contact(game_bbox* body, sys_i32 x, sys_i32 y);
2024-02-28 05:49:20 +00:00
#endif // GAME_COLLISION_H