Rename BUILDINGS to BuildingType, add owner component to entities

This commit is contained in:
2023-11-10 06:47:50 +01:00
parent c8c857bdb9
commit fb7c0831da
6 changed files with 46 additions and 10 deletions

View File

@@ -4,7 +4,7 @@
#include <string.h>
typedef enum BUILDINGS {
typedef enum BuildingType {
BUILDINGS_NONE,
BUILDINGS_KEEP,
BUILDINGS_GRANARY,
@@ -14,7 +14,9 @@ typedef enum BUILDINGS {
BUILDINGS_BARACKS,
BUILDINGS_ORCHARD,
BUILDINGS_ANIMAL_FARM,
BUILDINGS_PLAYER_RED,
BUILDINGS_FLETCHER,
BUILDINGS_PLAYER_BLUE,
BUILDINGS_SMITHY,
BUILDINGS_WORKSHOP,
BUILDINGS_FARM,
@@ -24,10 +26,10 @@ typedef enum BUILDINGS {
BUILDINGS_TOWER,
BUILDINGS_SMALL_TOWER,
BUILDINGS_COUNT
} BUILDINGS;
} BuildingType;
static BUILDINGS getTileBuilding(BzTile tile) {
static BuildingType getTileBuilding(BzTile tile) {
switch (tile) {
case 0:
case 1:
@@ -65,9 +67,13 @@ static BUILDINGS getTileBuilding(BzTile tile) {
case 44:
case 45:
return BUILDINGS_ANIMAL_FARM;
case 31:
return BUILDINGS_PLAYER_RED;
case 35:
case 36:
return BUILDINGS_FLETCHER;
case 63:
return BUILDINGS_PLAYER_BLUE;
case 67:
case 68:
return BUILDINGS_SMITHY;
@@ -94,7 +100,7 @@ static BUILDINGS getTileBuilding(BzTile tile) {
}
}
static BUILDINGS getBuildingFromStr(const char *str) {
static BuildingType 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;
@@ -103,7 +109,9 @@ static BUILDINGS getBuildingFromStr(const char *str) {
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("player_red", str, 10) == 0) return BUILDINGS_PLAYER_RED;
if (strncmp("fletcher", str, 8) == 0) return BUILDINGS_FLETCHER;
if (strncmp("player_blue", str, 11) == 0) return BUILDINGS_PLAYER_BLUE;
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;
@@ -114,7 +122,7 @@ static BUILDINGS getBuildingFromStr(const char *str) {
if (strncmp("small_tower", str, 11) == 0) return BUILDINGS_SMALL_TOWER;
else return BUILDINGS_NONE;
}
static void getBuildingSize(BUILDINGS type, BzTile *outWidth, BzTile *outHeight) {
static void getBuildingSize(BuildingType type, BzTile *outWidth, BzTile *outHeight) {
switch (type) {
case BUILDINGS_KEEP:
if (outWidth) *outWidth = 3;
@@ -148,10 +156,18 @@ static void getBuildingSize(BUILDINGS type, BzTile *outWidth, BzTile *outHeight)
if (outWidth) *outWidth = 2;
if (outHeight) *outHeight = 2;
break;
case BUILDINGS_PLAYER_RED:
if (outWidth) *outWidth = 1;
if (outHeight) *outHeight = 1;
break;
case BUILDINGS_FLETCHER:
if (outWidth) *outWidth = 2;
if (outHeight) *outHeight = 1;
break;
case BUILDINGS_PLAYER_BLUE:
if (outWidth) *outWidth = 1;
if (outHeight) *outHeight = 1;
break;
case BUILDINGS_SMITHY:
if (outWidth) *outWidth = 2;
if (outHeight) *outHeight = 1;