1 #ifndef BUILDING_TYPE_H
2 #define BUILDING_TYPE_H
3 
4 /**
5  * @file
6  * Type definitions for buildings
7  */
8 
9  /**
10   * Building types
11   */
12 typedef enum {
13     BUILDING_NONE = 0,
14     BUILDING_MENU_FARMS = 2,
15     BUILDING_MENU_RAW_MATERIALS = 3,
16     BUILDING_MENU_WORKSHOPS = 4,
17     BUILDING_ROAD = 5,
18     BUILDING_WALL = 6,
19     BUILDING_DRAGGABLE_RESERVOIR = 7,
20     BUILDING_AQUEDUCT = 8,
21     BUILDING_CLEAR_LAND = 9,
22     BUILDING_HOUSE_VACANT_LOT = 10,
23     BUILDING_HOUSE_SMALL_TENT = 10,
24     BUILDING_HOUSE_LARGE_TENT = 11,
25     BUILDING_HOUSE_SMALL_SHACK = 12,
26     BUILDING_HOUSE_LARGE_SHACK = 13,
27     BUILDING_HOUSE_SMALL_HOVEL = 14,
28     BUILDING_HOUSE_LARGE_HOVEL = 15,
29     BUILDING_HOUSE_SMALL_CASA = 16,
30     BUILDING_HOUSE_LARGE_CASA = 17,
31     BUILDING_HOUSE_SMALL_INSULA = 18,
32     BUILDING_HOUSE_MEDIUM_INSULA = 19,
33     BUILDING_HOUSE_LARGE_INSULA = 20,
34     BUILDING_HOUSE_GRAND_INSULA = 21,
35     BUILDING_HOUSE_SMALL_VILLA = 22,
36     BUILDING_HOUSE_MEDIUM_VILLA = 23,
37     BUILDING_HOUSE_LARGE_VILLA = 24,
38     BUILDING_HOUSE_GRAND_VILLA = 25,
39     BUILDING_HOUSE_SMALL_PALACE = 26,
40     BUILDING_HOUSE_MEDIUM_PALACE = 27,
41     BUILDING_HOUSE_LARGE_PALACE = 28,
42     BUILDING_HOUSE_LUXURY_PALACE = 29,
43     BUILDING_AMPHITHEATER = 30,
44     BUILDING_THEATER = 31,
45     BUILDING_HIPPODROME = 32,
46     BUILDING_COLOSSEUM = 33,
47     BUILDING_GLADIATOR_SCHOOL = 34,
48     BUILDING_LION_HOUSE = 35,
49     BUILDING_ACTOR_COLONY = 36,
50     BUILDING_CHARIOT_MAKER = 37,
51     BUILDING_PLAZA = 38,
52     BUILDING_GARDENS = 39,
53     BUILDING_FORT_LEGIONARIES = 40,
54     BUILDING_SMALL_STATUE = 41,
55     BUILDING_MEDIUM_STATUE = 42,
56     BUILDING_LARGE_STATUE = 43,
57     BUILDING_FORT_JAVELIN = 44,
58     BUILDING_FORT_MOUNTED = 45,
59     BUILDING_DOCTOR = 46,
60     BUILDING_HOSPITAL = 47,
61     BUILDING_BATHHOUSE = 48,
62     BUILDING_BARBER = 49,
63     BUILDING_DISTRIBUTION_CENTER_UNUSED = 50,
64     BUILDING_SCHOOL = 51,
65     BUILDING_ACADEMY = 52,
66     BUILDING_LIBRARY = 53,
67     BUILDING_FORT_GROUND = 54,
68     BUILDING_PREFECTURE = 55,
69     BUILDING_TRIUMPHAL_ARCH = 56,
70     BUILDING_FORT = 57,
71     BUILDING_GATEHOUSE = 58,
72     BUILDING_TOWER = 59,
73     BUILDING_SMALL_TEMPLE_CERES = 60,
74     BUILDING_SMALL_TEMPLE_NEPTUNE = 61,
75     BUILDING_SMALL_TEMPLE_MERCURY = 62,
76     BUILDING_SMALL_TEMPLE_MARS = 63,
77     BUILDING_SMALL_TEMPLE_VENUS = 64,
78     BUILDING_LARGE_TEMPLE_CERES = 65,
79     BUILDING_LARGE_TEMPLE_NEPTUNE = 66,
80     BUILDING_LARGE_TEMPLE_MERCURY = 67,
81     BUILDING_LARGE_TEMPLE_MARS = 68,
82     BUILDING_LARGE_TEMPLE_VENUS = 69,
83     BUILDING_MARKET = 70,
84     BUILDING_GRANARY = 71,
85     BUILDING_WAREHOUSE = 72,
86     BUILDING_WAREHOUSE_SPACE = 73,
87     BUILDING_SHIPYARD = 74,
88     BUILDING_DOCK = 75,
89     BUILDING_WHARF = 76,
90     BUILDING_GOVERNORS_HOUSE = 77,
91     BUILDING_GOVERNORS_VILLA = 78,
92     BUILDING_GOVERNORS_PALACE = 79,
93     BUILDING_MISSION_POST = 80,
94     BUILDING_ENGINEERS_POST = 81,
95     BUILDING_LOW_BRIDGE = 82,
96     BUILDING_SHIP_BRIDGE = 83,
97     BUILDING_SENATE = 84,
98     BUILDING_SENATE_UPGRADED = 85,
99     BUILDING_FORUM = 86,
100     BUILDING_FORUM_UPGRADED = 87,
101     BUILDING_NATIVE_HUT = 88,
102     BUILDING_NATIVE_MEETING = 89,
103     BUILDING_RESERVOIR = 90,
104     BUILDING_FOUNTAIN = 91,
105     BUILDING_WELL = 92,
106     BUILDING_NATIVE_CROPS = 93,
107     BUILDING_MILITARY_ACADEMY = 94,
108     BUILDING_BARRACKS = 95,
109     BUILDING_MENU_SMALL_TEMPLES = 96,
110     BUILDING_MENU_LARGE_TEMPLES = 97,
111     BUILDING_ORACLE = 98,
112     BUILDING_BURNING_RUIN = 99,
113     BUILDING_WHEAT_FARM = 100,
114     BUILDING_VEGETABLE_FARM = 101,
115     BUILDING_FRUIT_FARM = 102,
116     BUILDING_OLIVE_FARM = 103,
117     BUILDING_VINES_FARM = 104,
118     BUILDING_PIG_FARM = 105,
119     BUILDING_MARBLE_QUARRY = 106,
120     BUILDING_IRON_MINE = 107,
121     BUILDING_TIMBER_YARD = 108,
122     BUILDING_CLAY_PIT = 109,
123     BUILDING_WINE_WORKSHOP = 110,
124     BUILDING_OIL_WORKSHOP = 111,
125     BUILDING_WEAPONS_WORKSHOP = 112,
126     BUILDING_FURNITURE_WORKSHOP = 113,
127     BUILDING_POTTERY_WORKSHOP = 114,
128     BUILDING_ROADBLOCK = 115,
129     BUILDING_WORKCAMP = 116,
130     BUILDING_GRAND_TEMPLE_CERES = 117,
131     BUILDING_GRAND_TEMPLE_NEPTUNE = 118,
132     BUILDING_GRAND_TEMPLE_MERCURY = 119,
133     BUILDING_GRAND_TEMPLE_MARS = 120,
134     BUILDING_GRAND_TEMPLE_VENUS = 121,
135     BUILDING_MENU_GRAND_TEMPLES = 122,
136     BUILDING_MENU_TREES = 123,
137     BUILDING_MENU_PATHS = 124,
138     BUILDING_MENU_PARKS = 125,
139     BUILDING_SMALL_POND = 126,
140     BUILDING_LARGE_POND = 127,
141     BUILDING_PINE_TREE = 128,
142     BUILDING_FIR_TREE = 129,
143     BUILDING_OAK_TREE = 130,
144     BUILDING_ELM_TREE = 131,
145     BUILDING_FIG_TREE = 132,
146     BUILDING_PLUM_TREE = 133,
147     BUILDING_PALM_TREE = 134,
148     BUILDING_DATE_TREE = 135,
149     BUILDING_PINE_PATH = 136,
150     BUILDING_FIR_PATH = 137,
151     BUILDING_OAK_PATH = 138,
152     BUILDING_ELM_PATH = 139,
153     BUILDING_FIG_PATH = 140,
154     BUILDING_PLUM_PATH = 141,
155     BUILDING_PALM_PATH = 142,
156     BUILDING_DATE_PATH = 143,
157     BUILDING_PAVILION_BLUE = 144,
158     BUILDING_PAVILION_RED = 145,
159     BUILDING_PAVILION_ORANGE = 146,
160     BUILDING_PAVILION_YELLOW = 147,
161     BUILDING_PAVILION_GREEN = 148,
162     BUILDING_SMALL_STATUE_ALT = 149,
163     BUILDING_SMALL_STATUE_ALT_B = 150,
164     BUILDING_OBELISK = 151,
165     BUILDING_PANTHEON = 152,
166     BUILDING_ARCHITECT_GUILD = 153,
167     BUILDING_MESS_HALL = 154,
168     BUILDING_LIGHTHOUSE = 155,
169     BUILDING_MENU_STATUES = 156,
170     BUILDING_MENU_GOV_RES = 157,
171     BUILDING_TAVERN = 158,
172     BUILDING_GRAND_GARDEN = 159,
173     BUILDING_ARENA = 160,
174     BUILDING_HORSE_STATUE = 161,
175     BUILDING_DOLPHIN_FOUNTAIN = 162,
176     BUILDING_HEDGE_DARK = 163,
177     BUILDING_HEDGE_LIGHT = 164,
178     BUILDING_GARDEN_WALL = 165,
179     BUILDING_LEGION_STATUE = 166,
180     BUILDING_DECORATIVE_COLUMN = 167,
181     BUILDING_COLONNADE = 168,
182     BUILDING_LARARIUM = 169,
183     BUILDING_NYMPHAEUM = 170,
184     BUILDING_SMALL_MAUSOLEUM = 171,
185     BUILDING_LARGE_MAUSOLEUM = 172,
186     BUILDING_WATCHTOWER = 173,
187     BUILDING_PALISADE = 174,
188     BUILDING_GARDEN_PATH = 175,
189     BUILDING_CARAVANSERAI = 176,
190     BUILDING_ROOFED_GARDEN_WALL = 177,
191     BUILDING_GARDEN_WALL_GATE = 178,
192     // helper constants
193     BUILDING_TYPE_MAX = 179
194 } building_type;
195 
196 /**
197  * House levels
198  */
199 typedef enum {
200     HOUSE_MIN = 0,
201     HOUSE_SMALL_TENT = 0,
202     HOUSE_LARGE_TENT = 1,
203     HOUSE_SMALL_SHACK = 2,
204     HOUSE_LARGE_SHACK = 3,
205     HOUSE_SMALL_HOVEL = 4,
206     HOUSE_LARGE_HOVEL = 5,
207     HOUSE_SMALL_CASA = 6,
208     HOUSE_LARGE_CASA = 7,
209     HOUSE_SMALL_INSULA = 8,
210     HOUSE_MEDIUM_INSULA = 9,
211     HOUSE_LARGE_INSULA = 10,
212     HOUSE_GRAND_INSULA = 11,
213     HOUSE_SMALL_VILLA = 12,
214     HOUSE_MEDIUM_VILLA = 13,
215     HOUSE_LARGE_VILLA = 14,
216     HOUSE_GRAND_VILLA = 15,
217     HOUSE_SMALL_PALACE = 16,
218     HOUSE_MEDIUM_PALACE = 17,
219     HOUSE_LARGE_PALACE = 18,
220     HOUSE_LUXURY_PALACE = 19,
221     HOUSE_MAX = 19,
222 } house_level;
223 
224 enum {
225     BUILDING_STATE_UNUSED = 0,
226     BUILDING_STATE_IN_USE = 1,
227     BUILDING_STATE_UNDO = 2,
228     BUILDING_STATE_CREATED = 3,
229     BUILDING_STATE_RUBBLE = 4,
230     BUILDING_STATE_DELETED_BY_GAME = 5, // used for earthquakes, fires, house mergers
231     BUILDING_STATE_DELETED_BY_PLAYER = 6,
232     BUILDING_STATE_MOTHBALLED = 7
233 };
234 
235 #endif // BUILDING_TYPE_H
236