2021-03-08 18:49:51 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#define LEVEL_SIZE 16
|
|
|
|
#define TILE_SIZE 12
|
|
|
|
|
2021-03-14 10:09:00 +01:00
|
|
|
// struct for a pair of values
|
2021-03-14 00:25:24 +01:00
|
|
|
typedef struct Vec2 {
|
2021-03-13 18:39:09 +01:00
|
|
|
int x, y;
|
2021-03-14 00:25:24 +01:00
|
|
|
} Vec2;
|
2021-03-13 18:39:09 +01:00
|
|
|
|
2021-03-14 10:09:00 +01:00
|
|
|
// struct for player's data
|
2021-03-14 00:25:24 +01:00
|
|
|
typedef struct Player {
|
|
|
|
Vec2 pos;
|
|
|
|
Vec2 spawn;
|
|
|
|
} Player;
|
2021-03-13 18:39:09 +01:00
|
|
|
|
2021-03-14 10:09:00 +01:00
|
|
|
// used for tiles
|
2021-03-14 00:18:11 +01:00
|
|
|
typedef int tile_t;
|
|
|
|
|
2021-03-14 00:25:24 +01:00
|
|
|
Vec2 search(tile_t x, tile_t level[16][16]);
|
|
|
|
int collide_pixel(Vec2 pos, tile_t obj, tile_t level[16][16]);
|
|
|
|
int collide(Vec2 pos, int h, tile_t obj, tile_t level[16][16]);
|
|
|
|
Player level_reset(Player player);
|