#include "raylib.h"
static Color const ERROR_COLOR = {255, 0, 255, 255};
static Color const FLOOR_COLOR = {255, 255, 255, 255};
static Color const WALL_COLOR = {0, 0, 0, 255};
static Color const PLAYER_COLOR = {64, 64, 64 + 128, 255};
typedef struct Vector2i
{
int x;
int y;
} Vector2i;
typedef struct Entity
Vector2i position;
Color color;
} Entity;
typedef struct Room
int height;
int width;
Vector2i center;
} Room;
typedef struct Tile
bool walkable;
} Tile;
bool tryMovePlayer(Vector2i const new_position);
Entity *createPlayer(Vector2i const start_position);
Tile **createMapTiles(void);
Vector2i setupMap(void);
void freeMapTiles(Tile **map_tiles);
Room createRoom(int x, int y, int height, int width);
void addRoomToMap(Room room);
void connectRoomCenters(Vector2i centerOne, Vector2i centerTwo);
void renderEverything(void);
void initGame(void);
void mainLoop(void);
void endGame(void);
extern unsigned int const MAP_HEIGHT;
extern unsigned int const MAP_WIDTH;
extern Entity *player;
extern Tile **map;