#pragma once #define LEVEL_NB 3 #define LEVEL_SIZE 16 #define TILE_SIZE 12 #define PLAYER_SIZE 10 /* struct for a pair of int values */ typedef struct Vec2 { int x, y; } Vec2; /* struct for a pair of float values */ typedef struct FVec2 { float x, y; } FVec2; /* struct for player's data */ typedef struct Player { Vec2 pos; Vec2 spawn; FVec2 frac; } Player; /* used for tiles */ typedef int tile_t; Vec2 search(tile_t x, tile_t level[LEVEL_SIZE][LEVEL_SIZE]); int collide_pixel(Vec2 pos, tile_t obj, tile_t level[LEVEL_SIZE][LEVEL_SIZE]); int collide(Vec2 pos, int h, tile_t obj, tile_t level[LEVEL_SIZE][LEVEL_SIZE]); int object_delete(Vec2 pos, tile_t obj, tile_t level[LEVEL_SIZE][LEVEL_SIZE]); Player player_reset(Player player, tile_t level[LEVEL_SIZE][LEVEL_SIZE]);