proper collision

This commit is contained in:
Hunter 2023-05-27 17:40:27 -04:00
parent 83e312894b
commit 553ab7c1df
10 changed files with 143 additions and 8 deletions

32
include/collision.hpp Normal file
View file

@ -0,0 +1,32 @@
#pragma once
#include "map.hpp"
#include <SDL.h>
#include <map>
struct PCollisionRect {
SDL_Rect rect;
};
struct PCollisionInfo {
bool isSolid = false;
};
struct PCollisionDatabase {
std::map<std::string, PCollisionInfo> tileInfo;
};
/*
* Called once, generates a list of tiles which are solid, and which ones are
* not solid
*/
void PPopulateCollisionDb();
/*
* Check if we can move to the given position in the map
*/
bool PCanMoveTo(int x, int y);
/*
* Build a list of PCollisionRects from the given map
*/
void PBuildCollisionFromMap(Map *map);