Add transperency when units are behind
This commit is contained in:
@@ -465,6 +465,27 @@ void bzTileMapDrawCollisions(BzTileMap *map) {
|
||||
}
|
||||
}
|
||||
|
||||
void bzTileMapClearCollisions(BzTileMap *map) {
|
||||
BZ_ASSERT(map->collisionMap);
|
||||
for (i32 y = 0; y < map->width; y++) {
|
||||
for (i32 x = 0; x < map->height; x++) {
|
||||
i32 idxOffset = y * map->width + x;
|
||||
u8 *cell = map->collisionMap + idxOffset;
|
||||
*cell = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
void bzTileMapClearCollisionLayer(BzTileMap *map, i32 layer) {
|
||||
BZ_ASSERT(map->collisionMap);
|
||||
BZ_ASSERT(layer >= 0 && layer < 8);
|
||||
for (i32 y = 0; y < map->width; y++) {
|
||||
for (i32 x = 0; x < map->height; x++) {
|
||||
i32 idxOffset = y * map->width + x;
|
||||
u8 *cell = map->collisionMap + idxOffset;
|
||||
*cell &= ~(1 << layer);
|
||||
}
|
||||
}
|
||||
}
|
||||
bool bzTileMapHasAnyCollision(BzTileMap *map, i32 x, i32 y) {
|
||||
if (!map->collisionMap) return false;
|
||||
i32 idx = y * map->width + x;
|
||||
|
||||
Reference in New Issue
Block a user