// This file was generated by: extract_tileset_classes.py #include #include typedef enum BUILDINGS { BUILDINGS_NONE, BUILDINGS_KEEP, BUILDINGS_GRANARY, BUILDINGS_ARMORY, BUILDINGS_WAREHOUSE, BUILDINGS_MINE, BUILDINGS_BARACKS, BUILDINGS_ORCHARD, BUILDINGS_ANIMAL_FARM, BUILDINGS_FLETCHER, BUILDINGS_SMITHY, BUILDINGS_WORKSHOP, BUILDINGS_FARM, BUILDINGS_ROAD, BUILDINGS_WALL, BUILDINGS_GATEHOUSE, BUILDINGS_TOWER, BUILDINGS_SMALL_TOWER, BUILDINGS_COUNT } BUILDINGS; static BUILDINGS getTileBuilding(BzTile tile) { switch (tile) { case 0: case 1: case 2: case 32: case 33: case 34: case 64: case 65: case 66: return BUILDINGS_KEEP; case 3: return BUILDINGS_GRANARY; case 4: return BUILDINGS_ARMORY; case 5: return BUILDINGS_WAREHOUSE; case 6: case 7: case 38: case 39: return BUILDINGS_MINE; case 8: case 9: case 40: case 41: return BUILDINGS_BARACKS; case 10: case 11: case 42: case 43: return BUILDINGS_ORCHARD; case 12: case 13: case 44: case 45: return BUILDINGS_ANIMAL_FARM; case 35: case 36: return BUILDINGS_FLETCHER; case 67: case 68: return BUILDINGS_SMITHY; case 72: case 73: return BUILDINGS_WORKSHOP; case 74: return BUILDINGS_FARM; case 96: return BUILDINGS_ROAD; case 97: return BUILDINGS_WALL; case 98: return BUILDINGS_GATEHOUSE; case 128: case 129: case 160: case 161: return BUILDINGS_TOWER; case 130: return BUILDINGS_SMALL_TOWER; default: return BUILDINGS_NONE; } } static BUILDINGS getBuildingFromStr(const char *str) { if (strncmp("keep", str, 4) == 0) return BUILDINGS_KEEP; if (strncmp("granary", str, 7) == 0) return BUILDINGS_GRANARY; if (strncmp("armory", str, 6) == 0) return BUILDINGS_ARMORY; if (strncmp("warehouse", str, 9) == 0) return BUILDINGS_WAREHOUSE; if (strncmp("mine", str, 4) == 0) return BUILDINGS_MINE; if (strncmp("baracks", str, 7) == 0) return BUILDINGS_BARACKS; if (strncmp("orchard", str, 7) == 0) return BUILDINGS_ORCHARD; if (strncmp("animal_farm", str, 11) == 0) return BUILDINGS_ANIMAL_FARM; if (strncmp("fletcher", str, 8) == 0) return BUILDINGS_FLETCHER; if (strncmp("smithy", str, 6) == 0) return BUILDINGS_SMITHY; if (strncmp("workshop", str, 8) == 0) return BUILDINGS_WORKSHOP; if (strncmp("farm", str, 4) == 0) return BUILDINGS_FARM; if (strncmp("road", str, 4) == 0) return BUILDINGS_ROAD; if (strncmp("wall", str, 4) == 0) return BUILDINGS_WALL; if (strncmp("gatehouse", str, 9) == 0) return BUILDINGS_GATEHOUSE; if (strncmp("tower", str, 5) == 0) return BUILDINGS_TOWER; if (strncmp("small_tower", str, 11) == 0) return BUILDINGS_SMALL_TOWER; else return BUILDINGS_NONE; } static void getBuildingSize(BUILDINGS type, BzTile *outWidth, BzTile *outHeight) { switch (type) { case BUILDINGS_KEEP: if (outWidth) *outWidth = 3; if (outHeight) *outHeight = 3; break; case BUILDINGS_GRANARY: if (outWidth) *outWidth = 1; if (outHeight) *outHeight = 1; break; case BUILDINGS_ARMORY: if (outWidth) *outWidth = 1; if (outHeight) *outHeight = 1; break; case BUILDINGS_WAREHOUSE: if (outWidth) *outWidth = 1; if (outHeight) *outHeight = 1; break; case BUILDINGS_MINE: if (outWidth) *outWidth = 2; if (outHeight) *outHeight = 2; break; case BUILDINGS_BARACKS: if (outWidth) *outWidth = 2; if (outHeight) *outHeight = 2; break; case BUILDINGS_ORCHARD: if (outWidth) *outWidth = 2; if (outHeight) *outHeight = 2; break; case BUILDINGS_ANIMAL_FARM: if (outWidth) *outWidth = 2; if (outHeight) *outHeight = 2; break; case BUILDINGS_FLETCHER: if (outWidth) *outWidth = 2; if (outHeight) *outHeight = 1; break; case BUILDINGS_SMITHY: if (outWidth) *outWidth = 2; if (outHeight) *outHeight = 1; break; case BUILDINGS_WORKSHOP: if (outWidth) *outWidth = 2; if (outHeight) *outHeight = 1; break; case BUILDINGS_FARM: if (outWidth) *outWidth = 1; if (outHeight) *outHeight = 1; break; case BUILDINGS_ROAD: if (outWidth) *outWidth = 1; if (outHeight) *outHeight = 1; break; case BUILDINGS_WALL: if (outWidth) *outWidth = 1; if (outHeight) *outHeight = 1; break; case BUILDINGS_GATEHOUSE: if (outWidth) *outWidth = 1; if (outHeight) *outHeight = 1; break; case BUILDINGS_TOWER: if (outWidth) *outWidth = 2; if (outHeight) *outHeight = 2; break; case BUILDINGS_SMALL_TOWER: if (outWidth) *outWidth = 1; if (outHeight) *outHeight = 1; break; default: if (outWidth) *outWidth = 0; if (outHeight) *outHeight = 0; break; } }