Add 8 layers to collisions

This commit is contained in:
2024-01-13 08:09:34 +01:00
parent 0118e574de
commit 8692d89479
10 changed files with 76 additions and 61 deletions

View File

@@ -32,7 +32,7 @@ typedef struct BzTileObjectsDesc {
typedef struct BzTileMapDesc {
const char *path;
bool generateCollisionMap;
bool collisionMap;
BzTileset tilesets[BZ_MAP_MAX_TILESETS];
BzTileLayerDesc layers[BZ_MAP_MAX_LAYERS];
@@ -86,7 +86,8 @@ typedef struct BzTileMap {
i32 tileWidth;
i32 tileHeight;
bool *collisionMap;
u8 *collisionMap;
i32 resolution;
BzTileLayer layers[BZ_MAP_MAX_LAYERS];
i32 layerCount;
@@ -129,10 +130,12 @@ f32 bzTileMapRayCast(BzTileMap *map, Vector2 from, Vector2 to, f32 maxDst, Vecto
bool bzTileMapCanRayCastLine(BzTileMap *map, Vector2 from, Vector2 to);
void bzTileMapDraw(BzTileMap *map);
void bzTileMapDrawCollisions(BzTileMap *map);
bool bzTileMapHasCollision(BzTileMap *map, i32 x, i32 y);
void bzTileMapSetCollisions(BzTileMap *map, bool collision, i32 startX, i32 startY, i32 sizeX, i32 sizeY);
void bzTileMapUpdateCollisions(BzTileMap *map, i32 x, i32 y, i32 sizeX, i32 sizeY);
bool bzTileMapHasAnyCollision(BzTileMap *map, i32 x, i32 y);
bool bzTileMapHasCollision(BzTileMap *map, i32 layer, i32 x, i32 y);
void bzTileMapSetCollisions(BzTileMap *map, bool collision, i32 layer, i32 startX, i32 startY, i32 sizeX, i32 sizeY);
void bzTileMapAddLayerCollisions(BzTileMap *map, i32 mapLayer, i32 layer);