Add support for objects with tiles

This commit is contained in:
2023-11-11 09:21:59 +01:00
parent b46663bf88
commit 3c8254c6f6
10 changed files with 101 additions and 25 deletions

View File

@@ -27,6 +27,7 @@ typedef struct Game {
Camera2D camera;
BzTileset terrainTileset;
BzTileset buildingsTileset;
BzTileset entitiesTileset;
BzTileMap map;
} Game;
@@ -204,11 +205,16 @@ bool init(Game *game) {
.path="assets/buildings.tsj",
.texturePath="assets/buildings.png"
});
game->entitiesTileset = bzTilesetCreate(&(BzTilesetDesc) {
.path="assets/entities.tsj",
.texturePath="assets/entities.png"
});
game->map = bzTileMapCreate(&(BzTileMapDesc) {
.path="assets/maps/test.tmj",
.tilesets[0]=game->terrainTileset,
.tilesets[1]=game->buildingsTileset,
.tilesets[2]=game->entitiesTileset,
.layers[LAYER_TERRAIN]=(BzTileLayerDesc) {"Terrain"},
.layers[LAYER_FOLIAGE]=(BzTileLayerDesc) {"Foliage"},
@@ -224,15 +230,16 @@ bool init(Game *game) {
bzTileMapOverrideLayer(&game->map, LAYER_BUILDING_OWNER, prepareBuildings);
bzTileMapOverrideObjectGroup(&game->map, OBJECTS_GAME, handleGameObjects);
bzTileMapOverrideObjectGroup(&game->map, OBJECTS_ENTITIES, BZ_TILE_OBJECTS_CLEAR);
//bzTileMapOverrideObjectGroup(&game->map, OBJECTS_ENTITIES, BZ_TILE_OBJECTS_CLEAR);
return true;
}
void deinit(Game *game) {
bzTileMapDestroy(&game->map);
bzTilesetDestroy(&game->terrainTileset);
bzTilesetDestroy(&game->buildingsTileset);
bzTileMapDestroy(&game->map);
bzTilesetDestroy(&game->entitiesTileset);
rlImGuiShutdown();
}