table/build_industry.h
changeset 3669 753648f181a0
parent 3663 548dfb4ad4cc
child 3689 50a3fd4ba752
equal deleted inserted replaced
3668:42325f12e7d8 3669:753648f181a0
     5 	TileIndexDiffC ti;
     5 	TileIndexDiffC ti;
     6 	IndustryGfx gfx;
     6 	IndustryGfx gfx;
     7 } IndustryTileTable;
     7 } IndustryTileTable;
     8 
     8 
     9 typedef struct IndustrySpec {
     9 typedef struct IndustrySpec {
       
    10 	/** Tables with the 'layout' of different composition of GFXes */
    10 	const IndustryTileTable *const *table;
    11 	const IndustryTileTable *const *table;
       
    12 	/** Number of elements in the table */
    11 	byte num_table;
    13 	byte num_table;
       
    14 	/** Industries this industry cannot be close to */
    12 	IndustryType conflicting[3];
    15 	IndustryType conflicting[3];
       
    16 	/** index to a procedure to check for conflicting circumstances */
       
    17 	byte check_proc;
       
    18 
    13 	CargoID produced_cargo[2];
    19 	CargoID produced_cargo[2];
    14 	byte production_rate[2];
    20 	byte production_rate[2];
       
    21 	/** The minimum amount of cargo transported to the stations; if the
       
    22 	 * waiting cargo is less than this number, no cargo is moved to it*/
       
    23 	byte minimal_cargo;
    15 	CargoID accepts_cargo[3];
    24 	CargoID accepts_cargo[3];
    16 	byte minimal_cargo;
    25 
    17 	byte check_proc;
    26 	StringID closure_text;
       
    27 	StringID production_up_text;
       
    28 	StringID production_down_text;
    18 } IndustrySpec;
    29 } IndustrySpec;
    19 
    30 
    20 #define MK(x,y, m) {{x, y}, m}
    31 #define MK(x,y, m) {{x, y}, m}
    21 
    32 
    22 #define MKEND {{-0x80, 0}, 0}
    33 #define MKEND {{-0x80, 0}, 0}
  1092 	CHECK_LUMBERMILL = 6,
  1103 	CHECK_LUMBERMILL = 6,
  1093 	CHECK_BUBBLEGEN  = 7,
  1104 	CHECK_BUBBLEGEN  = 7,
  1094 	CHECK_END,
  1105 	CHECK_END,
  1095 } CheckProc;
  1106 } CheckProc;
  1096 
  1107 
  1097 #define MK(tbl, a,b,c, p1,p2, r1,r2, a1,a2,a3, m1, proc) {tbl,lengthof(tbl),{a,b,c},{p1,p2},{r1,r2},{a1,a2,a3},m1,proc}
  1108 #define MK(tbl, c1, c2, c3, proc, p1, r1, p2, r2, m, a1, a2, a3, s1, s2, s3) \
       
  1109 	{tbl, lengthof(tbl), {c1, c2, c3}, proc, {p1, p2}, {r1, r2}, m,            \
       
  1110 	 {a1, a2, a3},  s1, s2, s3}
  1098 
  1111 
  1099 static const IndustrySpec _industry_specs[] = {
  1112 static const IndustrySpec _industry_specs[] = {
  1100 /*        name                    not close to   produce prodrate  accepts       min checkproc */
  1113 	/* Format:
  1101   	MK(_tile_table_coal_mine,         1,255,255,    1,255,  15, 0,  255,255,255,  5, CHECK_NOTHING),
  1114 	   tile table
  1102 	MK(_tile_table_power_station,     0,255,255,  255,255,   0, 0,    1,255,255,  5, CHECK_NOTHING),
  1115 	   cannot be close to these industries (3 times)           check proc
  1103 	MK(_tile_table_sawmill,           3,255,255,    5,255,   0, 0,    7,255,255,  5, CHECK_NOTHING),
  1116 	   (produced cargo + rate) (twice)       minimum cargo moved to station
  1104 	MK(_tile_table_forest,            2, 14,255,    7,255,  13, 0,  255,255,255, 30, CHECK_FOREST),
  1117 	   3 accepted cargo
  1105 	MK(_tile_table_oil_refinery,      5,255,255,    5,255,   0, 0,    3,255,255,  5, CHECK_OIL),
  1118 	   messages : Closure                    production up                      production down   */
  1106 	MK(_tile_table_oil_rig,           4,255,255,    3,  0,  15, 2,  255,255,255,  5, CHECK_OIL),
  1119 	MK(_tile_table_coal_mine,
  1107 	MK(_tile_table_factory,           9,  8,255,    5,255,   0, 0,    4,  6,  9,  5, CHECK_NOTHING),
  1120 	   IT_POWER_STATION,  IT_INVALID,        IT_INVALID,       CHECK_NOTHING,
  1108 	MK(_tile_table_printing_works,   14,255,255,    5,255,   0, 0,    9,255,255,  5, CHECK_NOTHING),
  1121 	   CT_COAL,       15, CT_INVALID,     0, 5,
  1109 	MK(_tile_table_steel_mill,       18,  6,255,    9,255,   0, 0,    8,255,255,  5, CHECK_NOTHING),
  1122 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
  1110 	MK(_tile_table_farm,              6, 13,255,    6,  4,  10,10,  255,255,255,  5, CHECK_FARM),
  1123 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4836_NEW_COAL_SEAM_FOUND_AT,   STR_4839_PRODUCTION_DOWN_BY_50),
  1111 	MK(_tile_table_copper_mine,      23,255,255,    8,255,  10, 0,  255,255,255,  5, CHECK_NOTHING),
  1124 
  1112 	MK(_tile_table_oil_well,          4,255,255,    3,255,  12, 0,  255,255,255,  5, CHECK_NOTHING),
  1125 	MK(_tile_table_power_station,
  1113 	MK(_tile_table_bank,             12,255,255,   10,255,   6, 0,   10,255,255,  2, CHECK_NOTHING),
  1126 	   IT_COAL_MINE,      IT_INVALID,        IT_INVALID,       CHECK_NOTHING,
  1114 	MK(_tile_table_food_process,      9, 19, 24,   11,255,   0, 0,    4,  6,255,  5, CHECK_NOTHING),
  1127 	   CT_INVALID,     0, CT_INVALID,     0, 5,
  1115 	MK(_tile_table_paper_mill,        3,  7,255,    9,255,   0, 0,    7,255,255,  5, CHECK_NOTHING),
  1128 	   CT_COAL,           CT_INVALID,        CT_INVALID,
  1116 	MK(_tile_table_gold_mine,        16,255,255,   10,255,   7, 0,  255,255,255,  5, CHECK_NOTHING),
  1129 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
  1117 	MK(_tile_table_bank2,            15, 17,255,  255,255,   0, 0,   10,255,255,  5, CHECK_NOTHING),
  1130 
  1118 	MK(_tile_table_diamond_mine,     16,255,255,   10,255,   7, 0,  255,255,255,  5, CHECK_NOTHING),
  1131 	MK(_tile_table_sawmill,
  1119 	MK(_tile_table_iron_mine,         8,255,255,    8,255,  10, 0,  255,255,255,  5, CHECK_NOTHING),
  1132 	   IT_FOREST,         IT_INVALID,        IT_INVALID,       CHECK_NOTHING,
  1120 	MK(_tile_table_fruit_plantation, 13,255,255,    4,255,  10, 0,  255,255,255, 15, CHECK_PLANTATION),
  1133 	   CT_GOODS,       0, CT_INVALID,     0, 5,
  1121 	MK(_tile_table_rubber_plantation,23,255,255,    1,255,  10, 0,  255,255,255, 15, CHECK_PLANTATION),
  1134 	   CT_WOOD,           CT_INVALID,        CT_INVALID,
  1122 	MK(_tile_table_water_supply,     22,255,255,    9,255,  12, 0,  255,255,255,  5, CHECK_WATER),
  1135 	   STR_4833_SUPPLY_PROBLEMS_CAUSE_TO,    STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
  1123 	MK(_tile_table_water_tower,      21,255,255,  255,255,   0, 0,    9,255,255,  5, CHECK_WATER),
  1136 
  1124 	MK(_tile_table_factory2,         10, 20, 25,    5,255,   0, 0,    1,  8,  7,  5, CHECK_PLANTATION),
  1137 	MK(_tile_table_forest,
  1125 	MK(_tile_table_farm2,            13,255,255,    6,255,  11, 0,  255,255,255,  5, CHECK_PLANTATION),
  1138 	   IT_SAWMILL,        IT_PAPER_MILL,     IT_INVALID,       CHECK_FOREST,
  1126 	MK(_tile_table_lumber_mill,      23,255,255,    7,255,   0, 0,  255,255,255,  5, CHECK_LUMBERMILL),
  1139 	   CT_WOOD,       13, CT_INVALID,     0, 30,
  1127 	MK(_tile_table_cotton_candy,     27,255,255,    8,255,  13, 0,  255,255,255, 30, CHECK_NOTHING),
  1140 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
  1128 	MK(_tile_table_candy_factory,    26, 35, 36,    5,255,   0, 0,    1,  6,  8,  5, CHECK_NOTHING),
  1141 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4835_INCREASES_PRODUCTION,     STR_483A_INSECT_INFESTATION_CAUSES),
  1129 	MK(_tile_table_battery_farm,     31,255,255,    4,255,  11, 0,  255,255,255, 30, CHECK_NOTHING),
  1142 
  1130 	MK(_tile_table_cola_wells,       33,255,255,    7,255,  12, 0,  255,255,255,  5, CHECK_NOTHING),
  1143 	MK(_tile_table_oil_refinery,
  1131 	MK(_tile_table_toy_shop,         31,255,255,  255,255,   0, 0,    3,255,255,  5, CHECK_NOTHING),
  1144 	   IT_OIL_RIG,        IT_INVALID,        IT_INVALID,       CHECK_OIL,
  1132 	MK(_tile_table_toy_factory,      30, 28, 32,    3,255,   0, 0,   10,  4,255,  5, CHECK_NOTHING),
  1145 	   CT_GOODS,       0, CT_INVALID,     0, 5,
  1133 	MK(_tile_table_plastic_fountain, 31,255,255,   10,255,  14, 0,  255,255,255,  5, CHECK_NOTHING),
  1146 	   CT_OIL,            CT_INVALID,        CT_INVALID,
  1134 	MK(_tile_table_fizzy_drink,      29, 34,255,   11,255,   0, 0,    7,  9,255,  5, CHECK_NOTHING),
  1147 	   STR_4833_SUPPLY_PROBLEMS_CAUSE_TO,    STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
  1135 	MK(_tile_table_bubble_generator, 33,255,255,    9,255,  13, 0,  255,255,255,  5, CHECK_BUBBLEGEN),
  1148 
  1136 	MK(_tile_table_toffee_quarry,    27,255,255,    6,255,  10, 0,  255,255,255,  5, CHECK_NOTHING),
  1149 	MK(_tile_table_oil_rig,
  1137 	MK(_tile_table_sugar_mine,       27,255,255,    1,255,  11, 0,  255,255,255,  5, CHECK_NOTHING),
  1150 	   IT_OIL_REFINERY,   IT_INVALID,        IT_INVALID,       CHECK_OIL,
       
  1151 	   CT_OIL,        15, CT_PASSENGERS,  2, 5,
       
  1152 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
       
  1153 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4837_NEW_OIL_RESERVES_FOUND,   STR_4839_PRODUCTION_DOWN_BY_50),
       
  1154 
       
  1155 	MK(_tile_table_factory,
       
  1156 	   IT_FARM,           IT_STEEL_MILL,     IT_INVALID,       CHECK_NOTHING,
       
  1157 	   CT_GOODS,       0, CT_INVALID,     0, 5,
       
  1158 	   CT_LIVESTOCK,      CT_GRAIN,          CT_STEEL,
       
  1159 	   STR_4833_SUPPLY_PROBLEMS_CAUSE_TO,    STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1160 
       
  1161 	MK(_tile_table_printing_works,
       
  1162 	   IT_PAPER_MILL,     IT_INVALID,        IT_INVALID,       CHECK_NOTHING,
       
  1163 	   CT_GOODS,       0, CT_INVALID,     0, 5,
       
  1164 	   CT_PAPER,          CT_INVALID,        CT_INVALID,
       
  1165 	   STR_4833_SUPPLY_PROBLEMS_CAUSE_TO,    STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1166 
       
  1167 	MK(_tile_table_steel_mill,
       
  1168 	   IT_IRON_MINE,      IT_FACTORY,        IT_INVALID,       CHECK_NOTHING,
       
  1169 	   CT_STEEL,       0, CT_INVALID,     0, 5,
       
  1170 	   CT_IRON_ORE,       CT_INVALID,        CT_INVALID,
       
  1171 	   STR_4833_SUPPLY_PROBLEMS_CAUSE_TO,    STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1172 
       
  1173 	MK(_tile_table_farm,
       
  1174 	   IT_FACTORY,        IT_FOOD_PROCESS,   IT_INVALID,       CHECK_FARM,
       
  1175 	   CT_GRAIN,      10, CT_LIVESTOCK,  10, 5,
       
  1176 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
       
  1177 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4838_IMPROVED_FARMING_METHODS, STR_483A_INSECT_INFESTATION_CAUSES),
       
  1178 
       
  1179 	MK(_tile_table_copper_mine,
       
  1180 	   IT_FACTORY_2,      IT_INVALID,        IT_INVALID,       CHECK_NOTHING,
       
  1181 	   CT_COPPER_ORE, 10, CT_INVALID,     0, 5,
       
  1182 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
       
  1183 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1184 
       
  1185 	MK(_tile_table_oil_well,
       
  1186 	   IT_OIL_REFINERY,   IT_INVALID,        IT_INVALID,       CHECK_NOTHING,
       
  1187 	   CT_OIL,        12, CT_INVALID,     0, 5,
       
  1188 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
       
  1189 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4837_NEW_OIL_RESERVES_FOUND,   STR_4839_PRODUCTION_DOWN_BY_50),
       
  1190 
       
  1191 	MK(_tile_table_bank,
       
  1192 	   IT_BANK_TEMP,      IT_INVALID,        IT_INVALID,       CHECK_NOTHING,
       
  1193 	   CT_VALUABLES,   6, CT_INVALID,      0, 5,
       
  1194 	   CT_VALUABLES,      CT_INVALID,        CT_INVALID,
       
  1195 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1196 
       
  1197 	MK(_tile_table_food_process,
       
  1198 	   IT_FRUIT_PLANTATION, IT_FARM,         IT_FARM_2,        CHECK_NOTHING,
       
  1199 	   CT_FOOD,        0, CT_INVALID,     0, 5,
       
  1200 	   CT_FRUIT,          CT_MAIZE,          CT_INVALID,
       
  1201 	   STR_4833_SUPPLY_PROBLEMS_CAUSE_TO,    STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1202 
       
  1203 	MK(_tile_table_paper_mill,
       
  1204 	   IT_FOREST,         IT_PRINTING_WORKS, IT_INVALID,       CHECK_NOTHING,
       
  1205 	   CT_PAPER,       0, CT_INVALID,     0, 5,
       
  1206 	   CT_WOOD,           CT_INVALID,        CT_INVALID,
       
  1207 	   STR_4833_SUPPLY_PROBLEMS_CAUSE_TO,    STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1208 
       
  1209 	MK(_tile_table_gold_mine,
       
  1210 	   IT_BANK_TROPIC_ARCTIC, IT_INVALID,    IT_INVALID,       CHECK_NOTHING,
       
  1211 	   CT_GOLD,        7, CT_INVALID,     0, 5,
       
  1212 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
       
  1213 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1214 
       
  1215 	MK(_tile_table_bank2,
       
  1216 	   IT_GOLD_MINE,      IT_DIAMOND_MINE,   IT_INVALID,       CHECK_NOTHING,
       
  1217 	   CT_INVALID,     0, CT_INVALID,     0, 5,
       
  1218 	   CT_GOLD,           CT_INVALID,        CT_INVALID,
       
  1219 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1220 
       
  1221 	MK(_tile_table_diamond_mine,
       
  1222 	   IT_BANK_TROPIC_ARCTIC, IT_INVALID,    IT_INVALID,       CHECK_NOTHING,
       
  1223 	   CT_DIAMONDS,    7, CT_INVALID,     0, 5,
       
  1224 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
       
  1225 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1226 
       
  1227 	MK(_tile_table_iron_mine,
       
  1228 	   IT_STEEL_MILL,     IT_INVALID,        IT_INVALID,       CHECK_NOTHING,
       
  1229 	   CT_IRON_ORE,   10, CT_INVALID,     0, 5,
       
  1230 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
       
  1231 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1232 
       
  1233 	MK(_tile_table_fruit_plantation,
       
  1234 	   IT_FOOD_PROCESS,   IT_INVALID,        IT_INVALID,       CHECK_PLANTATION,
       
  1235 	   CT_FRUIT,      10, CT_INVALID,     0, 15,
       
  1236 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
       
  1237 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4838_IMPROVED_FARMING_METHODS, STR_483A_INSECT_INFESTATION_CAUSES),
       
  1238 
       
  1239 	MK(_tile_table_rubber_plantation,
       
  1240 	   IT_FACTORY_2,      IT_INVALID,        IT_INVALID,       CHECK_PLANTATION,
       
  1241 	   CT_RUBBER,     10, CT_INVALID,     0, 15,
       
  1242 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
       
  1243 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4838_IMPROVED_FARMING_METHODS, STR_483A_INSECT_INFESTATION_CAUSES),
       
  1244 
       
  1245 	MK(_tile_table_water_supply,
       
  1246 	   IT_WATER_TOWER,    IT_INVALID,        IT_INVALID,       CHECK_WATER,
       
  1247 	   CT_WATER,      12, CT_INVALID,     0, 5,
       
  1248 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
       
  1249 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1250 
       
  1251 	MK(_tile_table_water_tower,
       
  1252 	   IT_WATER_SUPPLY,   IT_INVALID,        IT_INVALID,       CHECK_WATER,
       
  1253 	   CT_INVALID,     0, CT_INVALID,     0, 5,
       
  1254 	   CT_WATER,          CT_INVALID,        CT_INVALID,
       
  1255 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1256 
       
  1257 	MK(_tile_table_factory2,
       
  1258 	   IT_RUBBER_PLANTATION, IT_COPPER_MINE, IT_LUMBER_MILL,   CHECK_PLANTATION,
       
  1259 	   CT_GOODS,       0, CT_INVALID,     0, 5,
       
  1260 	   CT_RUBBER,         CT_COPPER_ORE,     CT_WOOD,
       
  1261 	   STR_4833_SUPPLY_PROBLEMS_CAUSE_TO,    STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1262 
       
  1263 	MK(_tile_table_farm2,
       
  1264 	   IT_FOOD_PROCESS,   IT_INVALID,        IT_INVALID,       CHECK_PLANTATION,
       
  1265 	   CT_MAIZE,      11, CT_INVALID,     0, 5,
       
  1266 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
       
  1267 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4838_IMPROVED_FARMING_METHODS, STR_483A_INSECT_INFESTATION_CAUSES),
       
  1268 
       
  1269 	MK(_tile_table_lumber_mill,
       
  1270 	   IT_FACTORY_2,      IT_INVALID,        IT_INVALID,       CHECK_LUMBERMILL,
       
  1271 	   CT_WOOD,        0, CT_INVALID,     0, 5,
       
  1272 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
       
  1273 	   STR_4834_LACK_OF_NEARBY_TREES_CAUSES, STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1274 
       
  1275 	MK(_tile_table_cotton_candy,
       
  1276 	   IT_CANDY_FACTORY,  IT_INVALID,        IT_INVALID,       CHECK_NOTHING,
       
  1277 	   CT_COTTON_CANDY, 13, CT_INVALID,   0, 30,
       
  1278 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
       
  1279 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4838_IMPROVED_FARMING_METHODS, STR_4839_PRODUCTION_DOWN_BY_50),
       
  1280 
       
  1281 	MK(_tile_table_candy_factory,
       
  1282 	   IT_COTTON_CANDY,   IT_TOFFEE_QUARRY,  IT_SUGAR_MINE,    CHECK_NOTHING,
       
  1283 	   CT_CANDY,       0, CT_INVALID,     0, 5,
       
  1284 	   CT_SUGAR,          CT_TOFFEE,         CT_COTTON_CANDY,
       
  1285 	   STR_4833_SUPPLY_PROBLEMS_CAUSE_TO,    STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1286 
       
  1287 	MK(_tile_table_battery_farm,
       
  1288 	   IT_TOY_FACTORY,    IT_INVALID,        IT_INVALID,       CHECK_NOTHING,
       
  1289 	   CT_BATTERIES,  11, CT_INVALID,     0, 30,
       
  1290 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
       
  1291 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4838_IMPROVED_FARMING_METHODS, STR_483A_INSECT_INFESTATION_CAUSES),
       
  1292 
       
  1293 	MK(_tile_table_cola_wells,
       
  1294 	   IT_FIZZY_DRINK_FACTORY, IT_INVALID,   IT_INVALID,       CHECK_NOTHING,
       
  1295 	   CT_COLA,       12, CT_INVALID,     0, 5,
       
  1296 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
       
  1297 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1298 
       
  1299 	MK(_tile_table_toy_shop,
       
  1300 	   IT_TOY_FACTORY,    IT_INVALID,        IT_INVALID,       CHECK_NOTHING,
       
  1301 	   CT_INVALID,     0, CT_INVALID,     0, 5,
       
  1302 	   CT_TOYS,           CT_INVALID,        CT_INVALID,
       
  1303 	   STR_4833_SUPPLY_PROBLEMS_CAUSE_TO,    STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1304 
       
  1305 	MK(_tile_table_toy_factory,
       
  1306 	   IT_PLASTIC_FOUNTAINS, IT_BATTERY_FARM, IT_TOY_SHOP,     CHECK_NOTHING,
       
  1307 	   CT_TOYS,        0, CT_INVALID,     0, 5,
       
  1308 	   CT_PLASTIC,        CT_BATTERIES,      CT_INVALID,
       
  1309 	   STR_4833_SUPPLY_PROBLEMS_CAUSE_TO,    STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1310 
       
  1311 	MK(_tile_table_plastic_fountain,
       
  1312 	   IT_TOY_FACTORY,    IT_INVALID,        IT_INVALID,       CHECK_NOTHING,
       
  1313 	   CT_PLASTIC,    14, CT_INVALID,     0, 5,
       
  1314 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
       
  1315 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1316 
       
  1317 	MK(_tile_table_fizzy_drink,
       
  1318 	   IT_COLA_WELLS,     IT_BUBBLE_GENERATOR, IT_INVALID,     CHECK_NOTHING,
       
  1319 	   CT_FIZZY_DRINKS, 0, CT_INVALID,    0, 5,
       
  1320 	   CT_COLA,           CT_BUBBLES,        CT_INVALID,
       
  1321 	   STR_4833_SUPPLY_PROBLEMS_CAUSE_TO,    STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1322 
       
  1323 	MK(_tile_table_bubble_generator,
       
  1324 	   IT_FIZZY_DRINK_FACTORY, IT_INVALID,   IT_INVALID,       CHECK_BUBBLEGEN,
       
  1325 	   CT_BUBBLES,    13, CT_INVALID,     0, 5,
       
  1326 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
       
  1327 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1328 
       
  1329 	MK(_tile_table_toffee_quarry,
       
  1330 	   IT_CANDY_FACTORY,  IT_INVALID,        IT_INVALID,       CHECK_NOTHING,
       
  1331 	   CT_TOFFEE,     10, CT_INVALID,     0, 5,
       
  1332 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
       
  1333 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
       
  1334 
       
  1335 	MK(_tile_table_sugar_mine,
       
  1336 	   IT_CANDY_FACTORY,  IT_INVALID,        IT_INVALID,       CHECK_NOTHING,
       
  1337 	   CT_SUGAR,      11, CT_INVALID,     0, 5,
       
  1338 	   CT_INVALID,        CT_INVALID,        CT_INVALID,
       
  1339 	   STR_4832_ANNOUNCES_IMMINENT_CLOSURE,  STR_4835_INCREASES_PRODUCTION,     STR_4839_PRODUCTION_DOWN_BY_50),
  1138 };
  1340 };
  1139 #undef MK
  1341 #undef MK
  1140 
  1342 
  1141 const byte _industry_type_costs[] = {
  1343 const byte _industry_type_costs[] = {
  1142 	210, 30,   28, 200,  31, 240,  26,  26,  27, 250, 205, 220, 193,  26,
  1344 	210,  30,  28, 200,  31, 240,  26,  26,  27, 250, 205, 220, 193,  26,
  1143 	28,  208,  19, 213, 220, 225, 218, 199,  14,  26, 250, 17,  195,  26,
  1345 	 28, 208,  19, 213, 220, 225, 218, 199,  14,  26, 250,  17, 195,  26,
  1144 	187, 193,  17,  20, 192,  22, 203, 213, 210
  1346 	187, 193,  17,  20, 192,  22, 203, 213, 210
  1145 };
  1347 };
  1146 
  1348 
  1147 const byte _build_industry_types[4][12] = {
  1349 const byte _build_industry_types[4][12] = {
  1148 	{ 1,  2, 4,  6, 8, 0, 3, 5,  9, 11, 18 },
  1350 	{  1,  2,  4,  6,  8,  0,  3,  5,  9, 11, 18 },
  1149 	{ 1, 14, 4, 13, 7, 0, 3, 9, 11, 15 },
  1351 	{  1, 14,  4, 13,  7,  0,  3,  9, 11, 15 },
  1150 	{ 25, 13, 4, 23, 22, 11, 17, 10, 24, 19, 20, 21 },
  1352 	{ 25, 13,  4, 23, 22, 11, 17, 10, 24, 19, 20, 21 },
  1151 	{ 27, 30, 31, 33, 26, 28, 29, 32, 34, 35, 36 },
  1353 	{ 27, 30, 31, 33, 26, 28, 29, 32, 34, 35, 36 },
  1152 };
  1354 };
  1153 
  1355 
  1154 
  1356 
  1155 static const byte _industry_create_table_0[] = {
  1357 static const byte _industry_create_table_0[] = {