Add buildings
This commit is contained in:
@@ -258,22 +258,75 @@ static AnimationFrame terrainGetAnimationFrame(BzTileID tile, i32 frameIdx) {
|
||||
|
||||
typedef enum BuildingType {
|
||||
BUILDING_NONE = -1,
|
||||
BUILDING_ARCHERY_RANGE,
|
||||
BUILDING_BARRACS,
|
||||
BUILDING_GRANARY,
|
||||
BUILDING_HOUSE_01,
|
||||
BUILDING_HOUSE_02,
|
||||
BUILDING_HOUSE_03,
|
||||
BUILDING_HOUSE_04,
|
||||
BUILDING_HOUSE_05,
|
||||
BUILDING_HOUSE_06,
|
||||
BUILDING_HOUSE_07,
|
||||
BUILDING_HOUSE_08,
|
||||
BUILDING_HOUSE_09,
|
||||
BUILDING_HOUSE_10,
|
||||
BUILDING_HOUSE_11,
|
||||
BUILDING_HOUSE_12,
|
||||
BUILDING_KEEP,
|
||||
BUILDING_MARKET,
|
||||
BUILDING_MILL,
|
||||
BUILDING_WAREHOUSE,
|
||||
BUILDING_COUNT,
|
||||
} BuildingType;
|
||||
|
||||
static BuildingType getTileBuilding(BzTileID tile) {
|
||||
switch (tile) {
|
||||
case 5892:
|
||||
case 5893:
|
||||
case 5894:
|
||||
case 6148:
|
||||
case 5654:
|
||||
case 5655:
|
||||
case 5910:
|
||||
case 5911:
|
||||
return BUILDING_KEEP;
|
||||
case 6149:
|
||||
case 6150:
|
||||
case 6404:
|
||||
return BUILDING_BARRACS;
|
||||
case 6405:
|
||||
case 6406:
|
||||
return BUILDING_KEEP;
|
||||
return BUILDING_ARCHERY_RANGE;
|
||||
case 6410:
|
||||
return BUILDING_HOUSE_01;
|
||||
case 6411:
|
||||
return BUILDING_HOUSE_02;
|
||||
case 6412:
|
||||
return BUILDING_HOUSE_03;
|
||||
case 6433:
|
||||
return BUILDING_WAREHOUSE;
|
||||
case 6666:
|
||||
return BUILDING_HOUSE_04;
|
||||
case 6667:
|
||||
return BUILDING_HOUSE_05;
|
||||
case 6668:
|
||||
return BUILDING_HOUSE_06;
|
||||
case 6689:
|
||||
case 6690:
|
||||
case 6691:
|
||||
return BUILDING_MILL;
|
||||
case 6922:
|
||||
return BUILDING_HOUSE_07;
|
||||
case 6923:
|
||||
return BUILDING_HOUSE_08;
|
||||
case 6924:
|
||||
return BUILDING_HOUSE_09;
|
||||
case 6945:
|
||||
return BUILDING_GRANARY;
|
||||
case 7178:
|
||||
return BUILDING_HOUSE_10;
|
||||
case 7179:
|
||||
return BUILDING_HOUSE_11;
|
||||
case 7180:
|
||||
return BUILDING_HOUSE_12;
|
||||
case 7191:
|
||||
return BUILDING_MARKET;
|
||||
default:
|
||||
return BUILDING_COUNT;
|
||||
}
|
||||
@@ -281,7 +334,25 @@ static BuildingType getTileBuilding(BzTileID tile) {
|
||||
|
||||
static BzTileID getBuildingTile(BuildingType type) {
|
||||
switch (type) {
|
||||
case BUILDING_KEEP: return 5892;
|
||||
case BUILDING_KEEP: return 5654;
|
||||
case BUILDING_BARRACS: return 6149;
|
||||
case BUILDING_ARCHERY_RANGE: return 6405;
|
||||
case BUILDING_HOUSE_01: return 6410;
|
||||
case BUILDING_HOUSE_02: return 6411;
|
||||
case BUILDING_HOUSE_03: return 6412;
|
||||
case BUILDING_WAREHOUSE: return 6433;
|
||||
case BUILDING_HOUSE_04: return 6666;
|
||||
case BUILDING_HOUSE_05: return 6667;
|
||||
case BUILDING_HOUSE_06: return 6668;
|
||||
case BUILDING_MILL: return 6689;
|
||||
case BUILDING_HOUSE_07: return 6922;
|
||||
case BUILDING_HOUSE_08: return 6923;
|
||||
case BUILDING_HOUSE_09: return 6924;
|
||||
case BUILDING_GRANARY: return 6945;
|
||||
case BUILDING_HOUSE_10: return 7178;
|
||||
case BUILDING_HOUSE_11: return 7179;
|
||||
case BUILDING_HOUSE_12: return 7180;
|
||||
case BUILDING_MARKET: return 7191;
|
||||
default: return -1;
|
||||
}
|
||||
}
|
||||
@@ -289,6 +360,24 @@ static BzTileID getBuildingTile(BuildingType type) {
|
||||
static const char *getBuildingStr(BuildingType type) {
|
||||
switch (type) {
|
||||
case BUILDING_KEEP: return "keep";
|
||||
case BUILDING_BARRACS: return "barracs";
|
||||
case BUILDING_ARCHERY_RANGE: return "archery_range";
|
||||
case BUILDING_HOUSE_01: return "house_01";
|
||||
case BUILDING_HOUSE_02: return "house_02";
|
||||
case BUILDING_HOUSE_03: return "house_03";
|
||||
case BUILDING_WAREHOUSE: return "warehouse";
|
||||
case BUILDING_HOUSE_04: return "house_04";
|
||||
case BUILDING_HOUSE_05: return "house_05";
|
||||
case BUILDING_HOUSE_06: return "house_06";
|
||||
case BUILDING_MILL: return "mill";
|
||||
case BUILDING_HOUSE_07: return "house_07";
|
||||
case BUILDING_HOUSE_08: return "house_08";
|
||||
case BUILDING_HOUSE_09: return "house_09";
|
||||
case BUILDING_GRANARY: return "granary";
|
||||
case BUILDING_HOUSE_10: return "house_10";
|
||||
case BUILDING_HOUSE_11: return "house_11";
|
||||
case BUILDING_HOUSE_12: return "house_12";
|
||||
case BUILDING_MARKET: return "market";
|
||||
default: return NULL;
|
||||
}
|
||||
}
|
||||
@@ -296,8 +385,80 @@ static const char *getBuildingStr(BuildingType type) {
|
||||
static BuildingType getBuildingSize(BuildingType type, i32 *outWidth, i32 *outHeight) {
|
||||
switch (type) {
|
||||
case BUILDING_KEEP:
|
||||
if (outWidth) *outWidth = 2;
|
||||
if (outHeight) *outHeight = 2;
|
||||
break;
|
||||
case BUILDING_BARRACS:
|
||||
if (outWidth) *outWidth = 2;
|
||||
if (outHeight) *outHeight = 1;
|
||||
break;
|
||||
case BUILDING_ARCHERY_RANGE:
|
||||
if (outWidth) *outWidth = 2;
|
||||
if (outHeight) *outHeight = 1;
|
||||
break;
|
||||
case BUILDING_HOUSE_01:
|
||||
if (outWidth) *outWidth = 1;
|
||||
if (outHeight) *outHeight = 1;
|
||||
break;
|
||||
case BUILDING_HOUSE_02:
|
||||
if (outWidth) *outWidth = 1;
|
||||
if (outHeight) *outHeight = 1;
|
||||
break;
|
||||
case BUILDING_HOUSE_03:
|
||||
if (outWidth) *outWidth = 1;
|
||||
if (outHeight) *outHeight = 1;
|
||||
break;
|
||||
case BUILDING_WAREHOUSE:
|
||||
if (outWidth) *outWidth = 1;
|
||||
if (outHeight) *outHeight = 1;
|
||||
break;
|
||||
case BUILDING_HOUSE_04:
|
||||
if (outWidth) *outWidth = 1;
|
||||
if (outHeight) *outHeight = 1;
|
||||
break;
|
||||
case BUILDING_HOUSE_05:
|
||||
if (outWidth) *outWidth = 1;
|
||||
if (outHeight) *outHeight = 1;
|
||||
break;
|
||||
case BUILDING_HOUSE_06:
|
||||
if (outWidth) *outWidth = 1;
|
||||
if (outHeight) *outHeight = 1;
|
||||
break;
|
||||
case BUILDING_MILL:
|
||||
if (outWidth) *outWidth = 3;
|
||||
if (outHeight) *outHeight = 3;
|
||||
if (outHeight) *outHeight = 1;
|
||||
break;
|
||||
case BUILDING_HOUSE_07:
|
||||
if (outWidth) *outWidth = 1;
|
||||
if (outHeight) *outHeight = 1;
|
||||
break;
|
||||
case BUILDING_HOUSE_08:
|
||||
if (outWidth) *outWidth = 1;
|
||||
if (outHeight) *outHeight = 1;
|
||||
break;
|
||||
case BUILDING_HOUSE_09:
|
||||
if (outWidth) *outWidth = 1;
|
||||
if (outHeight) *outHeight = 1;
|
||||
break;
|
||||
case BUILDING_GRANARY:
|
||||
if (outWidth) *outWidth = 1;
|
||||
if (outHeight) *outHeight = 1;
|
||||
break;
|
||||
case BUILDING_HOUSE_10:
|
||||
if (outWidth) *outWidth = 1;
|
||||
if (outHeight) *outHeight = 1;
|
||||
break;
|
||||
case BUILDING_HOUSE_11:
|
||||
if (outWidth) *outWidth = 1;
|
||||
if (outHeight) *outHeight = 1;
|
||||
break;
|
||||
case BUILDING_HOUSE_12:
|
||||
if (outWidth) *outWidth = 1;
|
||||
if (outHeight) *outHeight = 1;
|
||||
break;
|
||||
case BUILDING_MARKET:
|
||||
if (outWidth) *outWidth = 1;
|
||||
if (outHeight) *outHeight = 1;
|
||||
break;
|
||||
default:
|
||||
if (outWidth) *outWidth = 0;
|
||||
@@ -309,12 +470,12 @@ static BuildingType getBuildingSize(BuildingType type, i32 *outWidth, i32 *outHe
|
||||
|
||||
typedef enum EntityType {
|
||||
ENTITY_NONE = -1,
|
||||
ENTITY_WORKER,
|
||||
ENTITY_WOOD,
|
||||
ENTITY_STONE,
|
||||
ENTITY_APPLE,
|
||||
ENTITY_GOLD,
|
||||
ENTITY_POP,
|
||||
ENTITY_STONE,
|
||||
ENTITY_WOOD,
|
||||
ENTITY_WORKER,
|
||||
ENTITY_COUNT,
|
||||
} EntityType;
|
||||
|
||||
@@ -414,26 +575,26 @@ static AnimationFrame entityGetAnimationFrame(EntityType entity, AnimType type,
|
||||
|
||||
typedef enum ItemType {
|
||||
ITEM_NONE = -1,
|
||||
ITEM_STAFF,
|
||||
ITEM_PICKAXE,
|
||||
ITEM_AXE,
|
||||
ITEM_DAGGER,
|
||||
ITEM_WOOD_SHIELD,
|
||||
ITEM_SHIELD,
|
||||
ITEM_IRON_SHIELD,
|
||||
ITEM_BOW,
|
||||
ITEM_JAVLIN,
|
||||
ITEM_ARROW,
|
||||
ITEM_SWORD,
|
||||
ITEM_GREATSWORD,
|
||||
ITEM_CUTLASS,
|
||||
ITEM_AXE,
|
||||
ITEM_BATTLEAXE,
|
||||
ITEM_GREATEAXE,
|
||||
ITEM_SYTHE,
|
||||
ITEM_MACE,
|
||||
ITEM_BATTLEHAMMER,
|
||||
ITEM_BOW,
|
||||
ITEM_CUTLASS,
|
||||
ITEM_DAGGER,
|
||||
ITEM_GREATEAXE,
|
||||
ITEM_GREATSWORD,
|
||||
ITEM_IRON_SHIELD,
|
||||
ITEM_JAVLIN,
|
||||
ITEM_MACE,
|
||||
ITEM_PICKAXE,
|
||||
ITEM_SHIELD,
|
||||
ITEM_SPEAR,
|
||||
ITEM_STAFF,
|
||||
ITEM_SWORD,
|
||||
ITEM_SYTHE,
|
||||
ITEM_TRIDENT,
|
||||
ITEM_WOOD_SHIELD,
|
||||
ITEM_COUNT,
|
||||
} ItemType;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user