Add BzTileID which refers to the tileset

This commit is contained in:
2023-12-13 16:31:28 +01:00
parent 582074256c
commit 3cfdce9d96
6 changed files with 18 additions and 19 deletions

View File

@@ -63,7 +63,7 @@ bool initBuildingsLayer(BzTileMap *map, BzTileLayer *layer) {
for (i32 x = 0; x < layer->width; x++) {
BzTile ownerTile = data[y * layer->width + x];
BzTile buildingRawTile = buildingData[y * layer->width + x];
BzTile buildingTile = bzTilesetGetTile(buildingTileset, buildingRawTile);
BzTile buildingTile = bzTilesetGetTileID(buildingTileset, buildingRawTile);
buildingTile = getTileBuilding(buildingTile);
if (buildingTile == BUILDING_NONE || ownerTile == 0) continue;
// We have a building
@@ -76,7 +76,7 @@ bool initBuildingsLayer(BzTileMap *map, BzTileLayer *layer) {
ecs_entity_t e = ecs_new_id(ECS);
ecs_set(ECS, e, Position, {.x = x * tileWidth, .y = y * tileHeight});
ecs_set(ECS, e, TileSize, {.sizeX = size.sizeX * tileWidth, .sizeY = size.sizeY * tileHeight});
ownerTile = bzTilesetGetTile(buildingTileset, ownerTile);
ownerTile = bzTilesetGetTileID(buildingTileset, ownerTile);
ownerTile = getTileBuilding(ownerTile);
ecs_set(ECS, e, Owner, {.playerID=ownerTile});
ecs_add_id(ECS, e, Selectable);
@@ -100,7 +100,7 @@ bool initTreesLayer(BzTileMap *map, BzTileLayer *layer) {
for (i32 x = 0; x < layer->width; x++) {
BzTile tile = layer->data[y * layer->width + x];
BzTile layerTile = tile;
tile = bzTilesetGetTile(tileset, tile);
tile = bzTilesetGetTileID(tileset, tile);
if (tile == -1) continue; // Not a tree
f32 sizeX = tileset->tileWidth;
@@ -115,7 +115,8 @@ bool initTreesLayer(BzTileMap *map, BzTileLayer *layer) {
ecs_set(ECS, e, Position, {posX, posY});
ecs_set(ECS, e, Size, {sizeX, sizeY});
ecs_set(ECS, e, Rotation, {0});
ecs_set(ECS, e, TextureRegion, {tileset->tiles, bzTilesetGetTileRegion(tileset, layerTile)});
BzTile tileID = bzTilesetGetTileID(tileset, layerTile);
ecs_set(ECS, e, TextureRegion, {tileset->tiles, bzTilesetGetTileRegion(tileset, tileID)});
ecs_set(ECS, e, Resource, {RES_WOOD, 20});
ecs_add_id(ECS, e, Selectable);
ecs_add_id(ECS, e, Harvestable);