Implement farming

This commit is contained in:
2024-01-28 17:33:55 +01:00
parent 6ee46da8ab
commit 205fb57f07
10 changed files with 85 additions and 73 deletions

View File

@@ -37,8 +37,6 @@ static OwnerType getOwnerType(BzTileID tile) {
typedef enum TerrainType {
TERRAIN_NONE = -1,
TERRAIN_GOLD_ORE,
TERRAIN_WHEAT_0,
TERRAIN_WHEAT_1,
TERRAIN_COUNT,
} TerrainType;
@@ -295,6 +293,8 @@ typedef enum BuildingType {
BUILDING_MARKET,
BUILDING_MILL,
BUILDING_WAREHOUSE,
BUILDING_WHEAT_0,
BUILDING_WHEAT_1,
BUILDING_COUNT,
} BuildingType;
@@ -307,6 +307,10 @@ static BuildingType getTileBuilding(BzTileID tile) {
case 5910:
case 5911:
return BUILDING_KEEP;
case 6400:
return BUILDING_WHEAT_1;
case 6401:
return BUILDING_WHEAT_0;
case 6405:
case 6406:
return BUILDING_ARCHERY_RANGE;
@@ -345,6 +349,8 @@ static BzTileID getBuildingTile(BuildingType type) {
switch (type) {
case BUILDING_BARRACKS: return 5638;
case BUILDING_KEEP: return 5654;
case BUILDING_WHEAT_1: return 6400;
case BUILDING_WHEAT_0: return 6401;
case BUILDING_ARCHERY_RANGE: return 6405;
case BUILDING_WAREHOUSE: return 6433;
case BUILDING_HOUSE_01: return 6666;
@@ -367,6 +373,8 @@ static const char *getBuildingStr(BuildingType type) {
switch (type) {
case BUILDING_BARRACKS: return "barracks";
case BUILDING_KEEP: return "keep";
case BUILDING_WHEAT_1: return "wheat_1";
case BUILDING_WHEAT_0: return "wheat_0";
case BUILDING_ARCHERY_RANGE: return "archery_range";
case BUILDING_WAREHOUSE: return "warehouse";
case BUILDING_HOUSE_01: return "house_01";
@@ -395,6 +403,14 @@ static BuildingType getBuildingSize(BuildingType type, i32 *outWidth, i32 *outHe
if (outWidth) *outWidth = 2;
if (outHeight) *outHeight = 2;
break;
case BUILDING_WHEAT_1:
if (outWidth) *outWidth = 1;
if (outHeight) *outHeight = 1;
break;
case BUILDING_WHEAT_0:
if (outWidth) *outWidth = 1;
if (outHeight) *outHeight = 1;
break;
case BUILDING_ARCHERY_RANGE:
if (outWidth) *outWidth = 2;
if (outHeight) *outHeight = 1;
@@ -1707,8 +1723,6 @@ static bool hasEntityHitBoxRec(BzTile tile) {
case 5891:
case 6146:
case 6147:
case 6400:
case 6401:
case 6402:
case 6403:
case 6656:
@@ -1734,8 +1748,6 @@ static Rectangle getEntityHitBoxRec(BzTile tile) {
case 5891: return (Rectangle) {6, 2, 4, 10};
case 6146: return (Rectangle) {6, 2, 4, 10};
case 6147: return (Rectangle) {6, 2, 4, 10};
case 6400: return (Rectangle) {4, 2, 8, 10};
case 6401: return (Rectangle) {4, 2, 8, 10};
case 6402: return (Rectangle) {6, 2, 4, 10};
case 6403: return (Rectangle) {6, 2, 4, 10};
case 6656: return (Rectangle) {6, 2, 4, 10};