10#ifndef BUILD_INDUSTRY_H
11#define BUILD_INDUSTRY_H
21#define MK(x, y, m) {{x, y}, m}
66static const std::vector<IndustryTileLayout> _tile_table_coal_mine {
67 _tile_table_coal_mine_0,
68 _tile_table_coal_mine_1,
69 _tile_table_coal_mine_2,
70 _tile_table_coal_mine_3,
104static const std::vector<IndustryTileLayout> _tile_table_power_station {
105 _tile_table_power_station_0,
106 _tile_table_power_station_1,
107 _tile_table_power_station_2,
132static const std::vector<IndustryTileLayout> _tile_table_sawmill {
133 _tile_table_sawmill_0,
134 _tile_table_sawmill_1,
184static const std::vector<IndustryTileLayout> _tile_table_forest {
185 _tile_table_forest_0,
186 _tile_table_forest_1,
225static const std::vector<IndustryTileLayout> _tile_table_oil_refinery {
226 _tile_table_oil_refinery_0,
227 _tile_table_oil_refinery_1,
291static const std::vector<IndustryTileLayout> _tile_table_oil_rig {
292 _tile_table_oil_rig_0,
325static const std::vector<IndustryTileLayout> _tile_table_factory {
326 _tile_table_factory_0,
327 _tile_table_factory_1,
360static const std::vector<IndustryTileLayout> _tile_table_printing_works {
361 _tile_table_printing_works_0,
362 _tile_table_printing_works_1,
397static const std::vector<IndustryTileLayout> _tile_table_steel_mill {
398 _tile_table_steel_mill_0,
399 _tile_table_steel_mill_1,
444static const std::vector<IndustryTileLayout> _tile_table_farm {
473static const std::vector<IndustryTileLayout> _tile_table_copper_mine {
474 _tile_table_copper_mine_0,
475 _tile_table_copper_mine_1,
494static const std::vector<IndustryTileLayout> _tile_table_oil_well {
495 _tile_table_oil_well_0,
496 _tile_table_oil_well_1,
504static const std::vector<IndustryTileLayout> _tile_table_bank {
540static const std::vector<IndustryTileLayout> _tile_table_food_process {
541 _tile_table_food_process_0,
542 _tile_table_food_process_1,
560static const std::vector<IndustryTileLayout> _tile_table_paper_mill {
561 _tile_table_paper_mill_0,
583static const std::vector<IndustryTileLayout> _tile_table_gold_mine {
584 _tile_table_gold_mine_0,
592static const std::vector<IndustryTileLayout> _tile_table_bank2 {
608static const std::vector<IndustryTileLayout> _tile_table_diamond_mine {
609 _tile_table_diamond_mine_0,
631static const std::vector<IndustryTileLayout> _tile_table_iron_mine {
632 _tile_table_iron_mine_0,
658static const std::vector<IndustryTileLayout> _tile_table_fruit_plantation {
659 _tile_table_fruit_plantation_0,
685static const std::vector<IndustryTileLayout> _tile_table_rubber_plantation {
686 _tile_table_rubber_plantation_0,
696static const std::vector<IndustryTileLayout> _tile_table_water_supply {
697 _tile_table_water_supply_0,
704static const std::vector<IndustryTileLayout> _tile_table_water_tower {
705 _tile_table_water_tower_0,
730static const std::vector<IndustryTileLayout> _tile_table_factory2 {
731 _tile_table_factory2_0,
732 _tile_table_factory2_1,
777static const std::vector<IndustryTileLayout> _tile_table_farm2 {
790static const std::vector<IndustryTileLayout> _tile_table_lumber_mill {
791 _tile_table_lumber_mill_0,
841static const std::vector<IndustryTileLayout> _tile_table_cotton_candy {
842 _tile_table_cotton_candy_0,
843 _tile_table_cotton_candy_1,
876static const std::vector<IndustryTileLayout> _tile_table_candy_factory {
877 _tile_table_candy_factory_0,
878 _tile_table_candy_factory_1,
904static const std::vector<IndustryTileLayout> _tile_table_battery_farm {
905 _tile_table_battery_farm_0,
929static const std::vector<IndustryTileLayout> _tile_table_cola_wells {
930 _tile_table_cola_wells_0,
931 _tile_table_cola_wells_1,
941static const std::vector<IndustryTileLayout> _tile_table_toy_shop {
942 _tile_table_toy_shop_0,
956static const std::vector<IndustryTileLayout> _tile_table_toy_factory {
957 _tile_table_toy_factory_0,
972static const std::vector<IndustryTileLayout> _tile_table_plastic_fountain {
973 _tile_table_plastic_fountain_0,
974 _tile_table_plastic_fountain_1,
984static const std::vector<IndustryTileLayout> _tile_table_fizzy_drink {
985 _tile_table_fizzy_drink_0,
1003static const std::vector<IndustryTileLayout> _tile_table_bubble_generator {
1004 _tile_table_bubble_generator_0,
1013static const std::vector<IndustryTileLayout> _tile_table_toffee_quarry {
1014 _tile_table_toffee_quarry_0,
1028static const std::vector<IndustryTileLayout> _tile_table_sugar_mine {
1029 _tile_table_sugar_mine_0,
1046enum IndustryTypes : uint8_t {
1048 IT_POWER_STATION = 1,
1051 IT_OIL_REFINERY = 4,
1054 IT_PRINTING_WORKS = 7,
1057 IT_COPPER_MINE = 10,
1060 IT_FOOD_PROCESS = 13,
1063 IT_BANK_TROPIC_ARCTIC = 16,
1064 IT_DIAMOND_MINE = 17,
1066 IT_FRUIT_PLANTATION = 19,
1067 IT_RUBBER_PLANTATION = 20,
1068 IT_WATER_SUPPLY = 21,
1069 IT_WATER_TOWER = 22,
1072 IT_LUMBER_MILL = 25,
1073 IT_COTTON_CANDY = 26,
1074 IT_CANDY_FACTORY = 27,
1075 IT_BATTERY_FARM = 28,
1078 IT_TOY_FACTORY = 31,
1079 IT_PLASTIC_FOUNTAINS = 32,
1080 IT_FIZZY_DRINK_FACTORY = 33,
1081 IT_BUBBLE_GENERATOR = 34,
1082 IT_TOFFEE_QUARRY = 35,
1127#define MI(tbl, snd, d, pc, ai1, ai2, ai3, ai4, ag1, ag2, ag3, ag4, col, \
1128 c1, c2, c3, proc, p1, r1, p2, r2, m, a1, im1, a2, im2, a3, im3, pr, clim, bev, in, intx, s1, s2, s3) \
1129 {tbl, d, 0, pc, {c1, c2, c3}, proc, \
1130 {INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO}, \
1131 {r1, r2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, m, \
1132 {INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO}, \
1133 {{im1, 0}, {im2, 0}, {im3, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, \
1134 pr, clim, bev, PixelColour{col}, in, intx, s1, s2, s3, STR_UNDEFINED, {ai1, ai2, ai3, ai4}, {ag1, ag2, ag3, ag4}, \
1135 IndustryCallbackMasks{}, true, SubstituteGRFFileProps(IT_INVALID), snd, {}, \
1136 {{p1, p2}}, {{a1, a2, a3}}}
1148 MI(_tile_table_coal_mine, {},
1149 210, 0xB3333333, 2, 3, 0, 0, 8, 8, 0, 0, 1,
1155 STR_INDUSTRY_NAME_COAL_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
1156 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1158 MI(_tile_table_power_station, {},
1159 240, 0xFFFFFFFF, 2, 2, 0, 0, 5, 5, 0, 0, 184,
1165 STR_INDUSTRY_NAME_POWER_STATION, STR_NEWS_INDUSTRY_CONSTRUCTION,
1166 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1169 224, 0xFFFFFFFF, 2, 0, 0, 0, 5, 0, 0, 0, 194,
1175 STR_INDUSTRY_NAME_SAWMILL, STR_NEWS_INDUSTRY_CONSTRUCTION,
1176 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1178 MI(_tile_table_forest, {},
1179 200, 0xBFFFFFFF, 3, 4, 0, 0, 5, 5, 0, 0, 86,
1185 STR_INDUSTRY_NAME_FOREST, STR_NEWS_INDUSTRY_PLANTED,
1186 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
1188 MI(_tile_table_oil_refinery, {},
1189 244, 0xFFFFFFFF, 2, 2, 2, 0, 4, 4, 4, 0, 191,
1195 STR_INDUSTRY_NAME_OIL_REFINERY, STR_NEWS_INDUSTRY_CONSTRUCTION,
1196 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1198 MI(_tile_table_oil_rig, {},
1199 240, 0x99999999, 6, 0, 0, 0, 0, 0, 0, 0, 152,
1205 STR_INDUSTRY_NAME_OIL_RIG, STR_NEWS_INDUSTRY_CONSTRUCTION,
1206 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1209 208, 0xFFFFFFFF, 2, 0, 0, 0, 5, 0, 0, 0, 174,
1215 STR_INDUSTRY_NAME_FACTORY, STR_NEWS_INDUSTRY_CONSTRUCTION,
1216 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1219 208, 0xFFFFFFFF, 0, 2, 0, 0, 0, 5, 0, 0, 174,
1225 STR_INDUSTRY_NAME_PRINTING_WORKS, STR_NEWS_INDUSTRY_CONSTRUCTION,
1226 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1228 MI(_tile_table_steel_mill, {},
1229 215, 0xFFFFFFFF, 2, 0, 0, 0, 5, 0, 0, 0, 10,
1235 STR_INDUSTRY_NAME_STEEL_MILL, STR_NEWS_INDUSTRY_CONSTRUCTION,
1236 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1239 250, 0xD9999999, 2, 4, 0, 0, 9, 9, 0, 0, 48,
1245 STR_INDUSTRY_NAME_FARM, STR_NEWS_INDUSTRY_CONSTRUCTION,
1246 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
1248 MI(_tile_table_copper_mine, {},
1249 205, 0xB3333333, 0, 0, 3, 0, 0, 0, 4, 0, 10,
1255 STR_INDUSTRY_NAME_COPPER_ORE_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
1256 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1258 MI(_tile_table_oil_well, {},
1259 220, 0x99999999, 0, 5, 3, 0, 4, 5, 5, 0, 152,
1265 STR_INDUSTRY_NAME_OIL_WELLS, STR_NEWS_INDUSTRY_CONSTRUCTION,
1266 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1268 MI(_tile_table_bank, {},
1269 255, 0xA6666666, 7, 0, 0, 0, 0, 0, 0, 0, 15,
1275 STR_INDUSTRY_NAME_BANK, STR_NEWS_INDUSTRY_CONSTRUCTION,
1276 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1278 MI(_tile_table_food_process, {},
1279 206, 0xFFFFFFFF, 0, 2, 2, 0, 0, 3, 4, 0, 55,
1285 STR_INDUSTRY_NAME_FOOD_PROCESSING_PLANT, STR_NEWS_INDUSTRY_CONSTRUCTION,
1286 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1289 227, 0xFFFFFFFF, 0, 2, 0, 0, 0, 5, 0, 0, 10,
1295 STR_INDUSTRY_NAME_PAPER_MILL, STR_NEWS_INDUSTRY_CONSTRUCTION,
1296 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1298 MI(_tile_table_gold_mine, {},
1299 208, 0x99999999, 0, 3, 0, 0, 0, 4, 0, 0, 194,
1305 STR_INDUSTRY_NAME_GOLD_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
1306 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1308 MI(_tile_table_bank2, {},
1309 151, 0xA6666666, 0, 3, 3, 0, 0, 6, 5, 0, 15,
1315 STR_INDUSTRY_NAME_BANK_TROPIC_ARCTIC, STR_NEWS_INDUSTRY_CONSTRUCTION,
1316 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1318 MI(_tile_table_diamond_mine, {},
1319 213, 0x99999999, 0, 0, 3, 0, 0, 0, 4, 0, 184,
1325 STR_INDUSTRY_NAME_DIAMOND_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
1326 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1328 MI(_tile_table_iron_mine, {},
1329 220, 0xB3333333, 2, 0, 0, 0, 5, 0, 0, 0, 55,
1335 STR_INDUSTRY_NAME_IRON_ORE_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
1336 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1338 MI(_tile_table_fruit_plantation, {},
1339 225, 0xBFFFFFFF, 0, 0, 2, 0, 0, 0, 4, 0, 86,
1345 STR_INDUSTRY_NAME_FRUIT_PLANTATION, STR_NEWS_INDUSTRY_PLANTED,
1346 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
1348 MI(_tile_table_rubber_plantation, {},
1349 218, 0xBFFFFFFF, 0, 0, 3, 0, 0, 0, 4, 0, 39,
1355 STR_INDUSTRY_NAME_RUBBER_PLANTATION, STR_NEWS_INDUSTRY_PLANTED,
1356 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
1358 MI(_tile_table_water_supply, {},
1359 199, 0xB3333333, 0, 0, 3, 0, 0, 0, 4, 0, 37,
1365 STR_INDUSTRY_NAME_WATER_SUPPLY, STR_NEWS_INDUSTRY_CONSTRUCTION,
1366 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1368 MI(_tile_table_water_tower, {},
1369 115, 0xFFFFFFFF, 0, 0, 4, 0, 0, 0, 8, 0, 208,
1375 STR_INDUSTRY_NAME_WATER_TOWER, STR_NEWS_INDUSTRY_CONSTRUCTION,
1376 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1379 208, 0xFFFFFFFF, 0, 0, 2, 0, 0, 0, 4, 0, 174,
1382 CT_RUBBER, 256, CT_COPPER_ORE, 256, CT_WOOD, 256,
1385 STR_INDUSTRY_NAME_FACTORY_2, STR_NEWS_INDUSTRY_CONSTRUCTION,
1386 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1388 MI(_tile_table_farm2, {},
1389 250, 0xD9999999, 0, 0, 1, 0, 0, 0, 2, 0, 48,
1395 STR_INDUSTRY_NAME_FARM_2, STR_NEWS_INDUSTRY_CONSTRUCTION,
1396 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
1398 MI(_tile_table_lumber_mill, {},
1399 135, 0xFFFFFFFF, 0, 0, 0, 0, 0, 0, 0, 0, 194,
1405 STR_INDUSTRY_NAME_LUMBER_MILL, STR_NEWS_INDUSTRY_CONSTRUCTION,
1406 STR_NEWS_INDUSTRY_CLOSURE_LACK_OF_TREES, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1408 MI(_tile_table_cotton_candy, {},
1409 195, 0xBFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 5, 48,
1415 STR_INDUSTRY_NAME_COTTON_CANDY_FOREST, STR_NEWS_INDUSTRY_PLANTED,
1416 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1418 MI(_tile_table_candy_factory, {},
1419 206, 0xFFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 5, 174,
1422 CT_SUGAR, 256, CT_TOFFEE, 256, CT_COTTON_CANDY, 256,
1425 STR_INDUSTRY_NAME_CANDY_FACTORY, STR_NEWS_INDUSTRY_CONSTRUCTION,
1426 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1428 MI(_tile_table_battery_farm, {},
1429 187, 0xB3333333, 0, 0, 0, 3, 0, 0, 0, 4, 39,
1435 STR_INDUSTRY_NAME_BATTERY_FARM, STR_NEWS_INDUSTRY_CONSTRUCTION,
1436 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
1438 MI(_tile_table_cola_wells, {},
1439 193, 0x99999999, 0, 0, 0, 3, 0, 0, 0, 5, 55,
1445 STR_INDUSTRY_NAME_COLA_WELLS, STR_NEWS_INDUSTRY_CONSTRUCTION,
1446 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1448 MI(_tile_table_toy_shop, {},
1449 133, 0xFFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 4, 208,
1455 STR_INDUSTRY_NAME_TOY_SHOP, STR_NEWS_INDUSTRY_CONSTRUCTION,
1456 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1458 MI(_tile_table_toy_factory, {},
1459 163, 0xFFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 5, 10,
1462 CT_PLASTIC, 256, CT_BATTERIES, 256,
CT_INVALID, 256,
1465 STR_INDUSTRY_NAME_TOY_FACTORY, STR_NEWS_INDUSTRY_CONSTRUCTION,
1466 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1469 192, 0xA6666666, 0, 0, 0, 3, 0, 0, 0, 5, 37,
1475 STR_INDUSTRY_NAME_PLASTIC_FOUNTAINS, STR_NEWS_INDUSTRY_CONSTRUCTION,
1476 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1478 MI(_tile_table_fizzy_drink, {},
1479 177, 0xFFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 4, 184,
1482 CT_COLA, 256, CT_BUBBLES, 256,
CT_INVALID, 256,
1485 STR_INDUSTRY_NAME_FIZZY_DRINK_FACTORY, STR_NEWS_INDUSTRY_CONSTRUCTION,
1486 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1488 MI(_tile_table_bubble_generator, {},
1489 203, 0xB3333333, 0, 0, 0, 3, 0, 0, 0, 5, 152,
1495 STR_INDUSTRY_NAME_BUBBLE_GENERATOR, STR_NEWS_INDUSTRY_CONSTRUCTION,
1496 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1498 MI(_tile_table_toffee_quarry, {},
1499 213, 0xCCCCCCCC, 0, 0, 0, 3, 0, 0, 0, 5, 194,
1505 STR_INDUSTRY_NAME_TOFFEE_QUARRY, STR_NEWS_INDUSTRY_CONSTRUCTION,
1506 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1508 MI(_tile_table_sugar_mine, {},
1509 210, 0xBFFFFFFF, 0, 0, 0, 2, 0, 0, 0, 4, 15,
1515 STR_INDUSTRY_NAME_SUGAR_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
1516 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1533#define MT(ca1, c1, ca2, c2, ca3, c3, sl, a1, a2, a3) { \
1534 {INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO}, \
1535 {ca1, ca2, ca3}, sl, a1, a2, a3, IndustryTileCallbackMasks{}, AnimationInfo<IndustryAnimationTriggers>{}, IndustryTileSpecialFlags{}, true, SubstituteGRFFileProps(INVALID_INDUSTRYTILE), {}, {c1, c2, c3} \
1539 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1540 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
true),
1541 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1542 MT(1,
CT_PASSENGERS, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1543 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1544 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1545 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1548 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1549 MT(1,
CT_PASSENGERS, 8, CT_COAL, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1550 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1551 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1554 MT(1,
CT_PASSENGERS, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1555 MT(1,
CT_PASSENGERS, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1556 MT(1,
CT_PASSENGERS, 8, CT_WOOD, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1557 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1558 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1561 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP, 17,
INDUSTRYTILE_NOANIM,
false),
1562 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM, 16,
false),
1565 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1566 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1567 MT(0,
CT_INVALID, 8, CT_OIL, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1568 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1569 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1570 MT(1,
CT_PASSENGERS, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1573 MT(0,
CT_INVALID, 8,
CT_PASSENGERS, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1574 MT(0,
CT_INVALID, 8, CT_MAIL, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1575 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1576 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1577 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1580 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1581 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
true ),
1582 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
true ),
1583 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
true ),
1586 MT(1,
CT_PASSENGERS, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1587 MT(1,
CT_PASSENGERS, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1588 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1589 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1590 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1591 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1594 MT(8,
MCT_GRAIN_WHEAT_MAIZE, 8,
MCT_LIVESTOCK_FRUIT, 8, CT_STEEL,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1595 MT(8,
MCT_GRAIN_WHEAT_MAIZE, 8,
MCT_LIVESTOCK_FRUIT, 8, CT_STEEL,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1596 MT(8,
MCT_GRAIN_WHEAT_MAIZE, 8,
MCT_LIVESTOCK_FRUIT, 8, CT_STEEL,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1597 MT(8,
MCT_GRAIN_WHEAT_MAIZE, 8,
MCT_LIVESTOCK_FRUIT, 8, CT_STEEL,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1600 MT(0,
CT_INVALID, 8, CT_PAPER, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1601 MT(0,
CT_INVALID, 8, CT_PAPER, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1602 MT(0,
CT_INVALID, 8, CT_PAPER, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1603 MT(0,
CT_INVALID, 8, CT_PAPER, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1606 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1607 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
true ),
1608 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1609 MT(1,
CT_PASSENGERS, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1610 MT(1,
CT_PASSENGERS, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1613 MT(1,
CT_PASSENGERS, 8, CT_IRON_ORE, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1614 MT(1,
CT_PASSENGERS, 8, CT_IRON_ORE, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1615 MT(1,
CT_PASSENGERS, 8, CT_IRON_ORE, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1616 MT(1,
CT_PASSENGERS, 8, CT_IRON_ORE, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1617 MT(1,
CT_PASSENGERS, 8, CT_IRON_ORE, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1618 MT(1,
CT_PASSENGERS, 8, CT_IRON_ORE, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1621 MT(1,
CT_PASSENGERS, 8,
MCT_VALUABLES_GOLD_DIAMONDS, 0,
CT_INVALID,
SLOPE_E,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1622 MT(1,
CT_PASSENGERS, 8,
MCT_VALUABLES_GOLD_DIAMONDS, 0,
CT_INVALID,
SLOPE_S,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1625 MT(8,
MCT_GRAIN_WHEAT_MAIZE, 8,
MCT_LIVESTOCK_FRUIT, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1626 MT(8,
MCT_GRAIN_WHEAT_MAIZE, 8,
MCT_LIVESTOCK_FRUIT, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1627 MT(8,
MCT_GRAIN_WHEAT_MAIZE, 8,
MCT_LIVESTOCK_FRUIT, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1628 MT(8,
MCT_GRAIN_WHEAT_MAIZE, 8,
MCT_LIVESTOCK_FRUIT, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1631 MT(0,
CT_INVALID, 8, CT_WOOD, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1632 MT(0,
CT_INVALID, 8, CT_WOOD, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1633 MT(0,
CT_INVALID, 8, CT_WOOD, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1634 MT(0,
CT_INVALID, 8, CT_WOOD, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1635 MT(0,
CT_INVALID, 8, CT_WOOD, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1636 MT(0,
CT_INVALID, 8, CT_WOOD, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1637 MT(0,
CT_INVALID, 8, CT_WOOD, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1638 MT(0,
CT_INVALID, 8, CT_WOOD, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1641 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1642 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1643 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1644 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1645 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1646 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1647 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1648 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1649 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1650 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1651 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1652 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1653 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1654 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1655 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1656 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1657 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
true),
1660 MT(0,
CT_INVALID, 8,
MCT_VALUABLES_GOLD_DIAMONDS, 0,
CT_INVALID,
SLOPE_E,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1661 MT(0,
CT_INVALID, 8,
MCT_VALUABLES_GOLD_DIAMONDS, 0,
CT_INVALID,
SLOPE_S,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1664 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1665 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1666 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1667 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1668 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1669 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1670 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1671 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1672 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1675 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1676 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1677 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1678 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1679 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1680 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1681 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1682 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1683 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1684 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1685 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1686 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1687 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1688 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1689 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1690 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1693 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1696 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1699 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1700 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1703 MT(0,
CT_INVALID, 8, CT_WATER, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1706 MT(8, CT_COPPER_ORE, 8, CT_RUBBER, 8, CT_WOOD,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1707 MT(8, CT_COPPER_ORE, 8, CT_RUBBER, 8, CT_WOOD,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1708 MT(8, CT_COPPER_ORE, 8, CT_RUBBER, 8, CT_WOOD,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1709 MT(8, CT_COPPER_ORE, 8, CT_RUBBER, 8, CT_WOOD,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1712 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1713 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1714 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1715 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1718 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP, 130,
INDUSTRYTILE_NOANIM,
false),
1719 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM, 129,
false),
1722 MT(8, CT_COTTON_CANDY, 8, CT_TOFFEE, 8, CT_SUGAR,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1723 MT(8, CT_COTTON_CANDY, 8, CT_TOFFEE, 8, CT_SUGAR,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1724 MT(8, CT_COTTON_CANDY, 8, CT_TOFFEE, 8, CT_SUGAR,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1725 MT(8, CT_COTTON_CANDY, 8, CT_TOFFEE, 8, CT_SUGAR,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1728 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP, 136,
INDUSTRYTILE_NOANIM,
false),
1729 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM, 135,
false),
1732 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1735 MT(0,
CT_INVALID, 8, CT_TOYS, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1736 MT(0,
CT_INVALID, 8, CT_TOYS, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1737 MT(0,
CT_INVALID, 8, CT_TOYS, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1738 MT(0,
CT_INVALID, 8, CT_TOYS, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1741 MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1742 MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1743 MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1744 MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1745 MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1746 MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1749 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1750 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1751 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1752 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1753 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1754 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1755 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1756 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1759 MT(8, CT_BUBBLES, 8, CT_COLA, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1760 MT(8, CT_BUBBLES, 8, CT_COLA, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1761 MT(8, CT_BUBBLES, 8, CT_COLA, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1762 MT(8, CT_BUBBLES, 8, CT_COLA, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1765 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1766 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1767 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1768 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1771 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1772 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1773 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1776 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1777 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1778 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1779 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1780 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1781 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1782 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
1783 MT(0,
CT_INVALID, 0,
CT_INVALID, 0,
CT_INVALID,
SLOPE_STEEP,
INDUSTRYTILE_NOANIM,
INDUSTRYTILE_NOANIM,
false),
static const std::initializer_list< uint8_t > _farm_sounds
Array with 3 animal sounds, for farms.
#define MK(x, y, m)
Definition of an industry tiles layout.
#define MT(ca1, c1, ca2, c2, ca3, c3, sl, a1, a2, a3)
Writes the properties of an industry tile into the IndustryTileSpec struct.
static const std::initializer_list< uint8_t > _factory_sounds
Array with whistle sound, for factory.
static const std::initializer_list< uint8_t > _plastic_mine_sounds
Array with... hem... a sound of toyland.
static const std::initializer_list< uint8_t > _sawmill_sounds
Array with saw sound, for sawmill.
#define MI(tbl, snd, d, pc, ai1, ai2, ai3, ai4, ag1, ag2, ag3, ag4, col, c1, c2, c3, proc, p1, r1, p2, r2, m, a1, im1, a2, im2, a3, im3, pr, clim, bev, in, intx, s1, s2, s3)
Writes the properties of an industry into the IndustrySpec struct.
static constexpr CargoLabel CT_INVALID
Invalid cargo type.
@ MCT_GRAIN_WHEAT_MAIZE
Cargo can be grain, wheat or maize.
@ MCT_LIVESTOCK_FRUIT
Cargo can be livestock or fruit.
@ MCT_VALUABLES_GOLD_DIAMONDS
Cargo can be valuables, gold or diamonds.
static constexpr CargoLabel CT_PASSENGERS
Available types of cargo Labels may be re-used between different climates.
static const IndustryGfx NEW_INDUSTRYTILEOFFSET
original number of tiles
static const IndustryGfx INDUSTRYTILE_NOANIM
Sentinel value to mark industry tiles as having no animation.
static const IndustryType NEW_INDUSTRYOFFSET
original number of industry types
static constexpr IndustryGfx GFX_WATERTILE_SPECIALCHECK
Sentinel marker in industry layout to perform a water tile check.
@ AirplaneAttacks
can be exploded by a military airplane (oil refinery)
@ CutTrees
cuts trees and produce first output cargo from them (lumber mill)
@ PlantOnBuild
Fields are planted around when built (all farms).
@ Before1950
can only be built before 1950 (oil wells)
@ BuiltOnWater
is built on water (oil rig)
@ DontIncrProd
do not increase production (oil wells) in the temperate climate
@ AIAirShipRoutes
ai will attempt to establish air/ship routes to this industry (oil rig)
@ After1960
can only be built after 1960 (oil rigs)
@ CanSubsidence
can cause a subsidence (coal mine, shaft that collapses)
@ OnlyInTown
can only be built in towns (arctic/tropic banks, water tower)
@ PlantFields
periodically plants fields around itself (temp and arctic farms)
@ Town1200More
can only be built in towns larger than 1200 inhabitants (temperate bank)
@ ChopperAttacks
can be exploded by a military helicopter (factory)
@ OnlyNearTown
is always built near towns (toy shop)
@ Processing
Like factories.
std::vector< IndustryTileLayoutTile > IndustryTileLayout
A complete tile layout for an industry is a list of tiles.
EnumBitSet< IndustryBehaviour, uint32_t > IndustryBehaviours
Bitset of IndustryBehaviour elements.
@ Water
Industry should be in the desert.
@ OilRig
Industries at sea should be positioned near edge of the map.
@ Plantation
Industry should NOT be in the desert.
@ Lumbermill
Industry should be in the rainforest.
@ Farm
Industry should be below snow-line in arctic.
@ Refinery
Industry should be positioned near edge of the map.
@ Forest
Industry should be build above snow-line in arctic climate.
@ BubbleGen
Industry should be in low land.
static constexpr IndustryLifeTypes INDUSTRYLIFE_BLACK_HOLE
Like power plants and banks.
EnumBitSet< LandscapeType, uint8_t > LandscapeTypes
Bitset of LandscapeType elements.
@ Arctic
Landscape with snow levels.
@ Toyland
Landscape with funky industries and vehicles.
@ Tropic
Landscape with distinct rainforests and deserts,.
@ Temperate
Base landscape.
const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET]
Extern declaration for _origin_industry_specs in table/build_industry.h.
@ SLOPE_E
the east corner of the tile is raised
@ SLOPE_S
the south corner of the tile is raised
@ SLOPE_STEEP
indicates the slope is steep
@ SND_26_FARM_3
36 == 0x24 Industry producing: farm (3): horse
@ SND_03_FACTORY
1 == 0x01 Industry producing: factory: whistle
@ SND_24_FARM_1
34 == 0x22 Industry producing: farm (1): sheep
@ SND_28_SAWMILL
38 == 0x26 Industry producing: sawmill
@ SND_25_FARM_2
35 == 0x23 Industry producing: farm (2): cow
@ SND_33_PLASTIC_MINE
51 == 0x33 Industry producing: plastic fountain
Defines the data structure for constructing industry.
Defines the data structure of each individual tile of an industry.