Fix #8316: Make sort industries by production and transported with a cargo filter...
[openttd-github.git] / src / table / build_industry.h
blob28bf003ea5ac2c65c928e6a91684b21da4ab2d45
1 /*
2 * This file is part of OpenTTD.
3 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
4 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
5 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
6 */
8 /** @file build_industry.h Tables with default industry layouts and behaviours. */
10 #ifndef BUILD_INDUSTRY_H
11 #define BUILD_INDUSTRY_H
13 /**
14 * Definition of an industry tiles layout.
15 * @param x offset x of this tile
16 * @param y offset y of this tile
17 * @param m index of the tile.
18 * @see _industry_specs
19 * @see IndustryTileTable
21 #define MK(x, y, m) {{x, y}, m}
23 static const IndustryTileLayout _tile_table_coal_mine_0 {
24 MK(1, 1, 0),
25 MK(1, 2, 2),
26 MK(0, 0, 5),
27 MK(1, 0, 6),
28 MK(2, 0, 3),
29 MK(2, 2, 3),
32 static const IndustryTileLayout _tile_table_coal_mine_1 {
33 MK(1, 1, 0),
34 MK(1, 2, 2),
35 MK(2, 0, 0),
36 MK(2, 1, 2),
37 MK(1, 0, 3),
38 MK(0, 0, 3),
39 MK(0, 1, 4),
40 MK(0, 2, 4),
41 MK(2, 2, 4),
44 static const IndustryTileLayout _tile_table_coal_mine_2 {
45 MK(0, 0, 0),
46 MK(0, 1, 2),
47 MK(0, 2, 5),
48 MK(1, 0, 3),
49 MK(1, 1, 3),
50 MK(1, 2, 6),
53 static const IndustryTileLayout _tile_table_coal_mine_3 {
54 MK(0, 1, 0),
55 MK(0, 2, 2),
56 MK(0, 3, 4),
57 MK(1, 0, 5),
58 MK(1, 1, 0),
59 MK(1, 2, 2),
60 MK(1, 3, 3),
61 MK(2, 0, 6),
62 MK(2, 1, 4),
63 MK(2, 2, 3),
66 static 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,
73 static const IndustryTileLayout _tile_table_power_station_0 {
74 MK(0, 0, 7),
75 MK(0, 1, 9),
76 MK(1, 0, 7),
77 MK(1, 1, 8),
78 MK(2, 0, 7),
79 MK(2, 1, 8),
80 MK(3, 0, 10),
81 MK(3, 1, 10),
84 static const IndustryTileLayout _tile_table_power_station_1 {
85 MK(0, 1, 7),
86 MK(0, 2, 7),
87 MK(1, 0, 8),
88 MK(1, 1, 8),
89 MK(1, 2, 7),
90 MK(2, 0, 9),
91 MK(2, 1, 10),
92 MK(2, 2, 9),
95 static const IndustryTileLayout _tile_table_power_station_2 {
96 MK(0, 0, 7),
97 MK(0, 1, 7),
98 MK(1, 0, 9),
99 MK(1, 1, 8),
100 MK(2, 0, 10),
101 MK(2, 1, 9),
104 static 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,
110 static const IndustryTileLayout _tile_table_sawmill_0 {
111 MK(1, 0, 14),
112 MK(1, 1, 12),
113 MK(1, 2, 11),
114 MK(2, 0, 14),
115 MK(2, 1, 13),
116 MK(0, 0, 15),
117 MK(0, 1, 15),
118 MK(0, 2, 12),
121 static const IndustryTileLayout _tile_table_sawmill_1 {
122 MK(0, 0, 15),
123 MK(0, 1, 11),
124 MK(0, 2, 14),
125 MK(1, 0, 15),
126 MK(1, 1, 13),
127 MK(1, 2, 12),
128 MK(2, 0, 11),
129 MK(2, 1, 13),
132 static const std::vector<IndustryTileLayout> _tile_table_sawmill {
133 _tile_table_sawmill_0,
134 _tile_table_sawmill_1,
137 static const IndustryTileLayout _tile_table_forest_0 {
138 MK(0, 0, 16),
139 MK(0, 1, 16),
140 MK(0, 2, 16),
141 MK(0, 3, 16),
142 MK(1, 0, 16),
143 MK(1, 1, 16),
144 MK(1, 2, 16),
145 MK(1, 3, 16),
146 MK(2, 0, 16),
147 MK(2, 1, 16),
148 MK(2, 2, 16),
149 MK(2, 3, 16),
150 MK(3, 0, 16),
151 MK(3, 1, 16),
152 MK(3, 2, 16),
153 MK(3, 3, 16),
154 MK(1, 4, 16),
155 MK(2, 4, 16),
158 static const IndustryTileLayout _tile_table_forest_1 {
159 MK(0, 0, 16),
160 MK(1, 0, 16),
161 MK(2, 0, 16),
162 MK(3, 0, 16),
163 MK(4, 0, 16),
164 MK(0, 1, 16),
165 MK(1, 1, 16),
166 MK(2, 1, 16),
167 MK(3, 1, 16),
168 MK(4, 1, 16),
169 MK(0, 2, 16),
170 MK(1, 2, 16),
171 MK(2, 2, 16),
172 MK(3, 2, 16),
173 MK(4, 2, 16),
174 MK(0, 3, 16),
175 MK(1, 3, 16),
176 MK(2, 3, 16),
177 MK(3, 3, 16),
178 MK(4, 3, 16),
179 MK(1, 4, 16),
180 MK(2, 4, 16),
181 MK(3, 4, 16),
184 static const std::vector<IndustryTileLayout> _tile_table_forest {
185 _tile_table_forest_0,
186 _tile_table_forest_1,
189 static const IndustryTileLayout _tile_table_oil_refinery_0 {
190 MK(0, 0, 20),
191 MK(0, 1, 21),
192 MK(0, 2, 22),
193 MK(0, 3, 21),
194 MK(1, 0, 20),
195 MK(1, 1, 19),
196 MK(1, 2, 22),
197 MK(1, 3, 20),
198 MK(2, 1, 18),
199 MK(2, 2, 18),
200 MK(2, 3, 18),
201 MK(3, 2, 18),
202 MK(3, 3, 18),
203 MK(2, 0, 23),
204 MK(3, 1, 23),
207 static const IndustryTileLayout _tile_table_oil_refinery_1 {
208 MK(0, 0, 18),
209 MK(0, 1, 18),
210 MK(0, 2, 21),
211 MK(0, 3, 22),
212 MK(0, 4, 20),
213 MK(1, 0, 18),
214 MK(1, 1, 18),
215 MK(1, 2, 19),
216 MK(1, 3, 20),
217 MK(2, 0, 18),
218 MK(2, 1, 18),
219 MK(2, 2, 19),
220 MK(2, 3, 22),
221 MK(1, 4, 23),
222 MK(2, 4, 23),
225 static const std::vector<IndustryTileLayout> _tile_table_oil_refinery {
226 _tile_table_oil_refinery_0,
227 _tile_table_oil_refinery_1,
230 static const IndustryTileLayout _tile_table_oil_rig_0 {
231 MK(0, 0, 24),
232 MK(0, 1, 24),
233 MK(0, 2, 25),
234 MK(1, 0, 26),
235 MK(1, 1, 27),
236 MK(1, 2, 28),
237 MK(-4, -4, 255),
238 MK(-4, -3, 255),
239 MK(-4, -2, 255),
240 MK(-4, -1, 255),
241 MK(-4, 0, 255),
242 MK(-4, 1, 255),
243 MK(-4, 2, 255),
244 MK(-4, 3, 255),
245 MK(-4, 4, 255),
246 MK(-4, 5, 255),
247 MK(-4, 6, 255),
248 MK(-3, 6, 255),
249 MK(-2, 6, 255),
250 MK(-1, 6, 255),
251 MK(0, 6, 255),
252 MK(1, 6, 255),
253 MK(2, 6, 255),
254 MK(3, 6, 255),
255 MK(4, 6, 255),
256 MK(5, 6, 255),
257 MK(5, 5, 255),
258 MK(5, 4, 255),
259 MK(5, 3, 255),
260 MK(5, 2, 255),
261 MK(5, 1, 255),
262 MK(5, 0, 255),
263 MK(5, -1, 255),
264 MK(5, -2, 255),
265 MK(5, -3, 255),
266 MK(5, -4, 255),
267 MK(4, -4, 255),
268 MK(3, -4, 255),
269 MK(2, -4, 255),
270 MK(1, -4, 255),
271 MK(0, -4, 255),
272 MK(-1, -4, 255),
273 MK(-2, -4, 255),
274 MK(-3, -4, 255),
275 MK(2, 0, 255),
276 MK(2, -1, 255),
277 MK(1, -1, 255),
278 MK(0, -1, 255),
279 MK(-1, -1, 255),
280 MK(-1, 0, 255),
281 MK(-1, 1, 255),
282 MK(-1, 2, 255),
283 MK(-1, 3, 255),
284 MK(0, 3, 255),
285 MK(1, 3, 255),
286 MK(2, 3, 255),
287 MK(2, 2, 255),
288 MK(2, 1, 255),
291 static const std::vector<IndustryTileLayout> _tile_table_oil_rig {
292 _tile_table_oil_rig_0,
295 static const IndustryTileLayout _tile_table_factory_0 {
296 MK(0, 0, 39),
297 MK(0, 1, 40),
298 MK(1, 0, 41),
299 MK(1, 1, 42),
300 MK(0, 2, 39),
301 MK(0, 3, 40),
302 MK(1, 2, 41),
303 MK(1, 3, 42),
304 MK(2, 1, 39),
305 MK(2, 2, 40),
306 MK(3, 1, 41),
307 MK(3, 2, 42),
310 static const IndustryTileLayout _tile_table_factory_1 {
311 MK(0, 0, 39),
312 MK(0, 1, 40),
313 MK(1, 0, 41),
314 MK(1, 1, 42),
315 MK(2, 0, 39),
316 MK(2, 1, 40),
317 MK(3, 0, 41),
318 MK(3, 1, 42),
319 MK(1, 2, 39),
320 MK(1, 3, 40),
321 MK(2, 2, 41),
322 MK(2, 3, 42),
325 static const std::vector<IndustryTileLayout> _tile_table_factory {
326 _tile_table_factory_0,
327 _tile_table_factory_1,
330 static const IndustryTileLayout _tile_table_printing_works_0 {
331 MK(0, 0, 43),
332 MK(0, 1, 44),
333 MK(1, 0, 45),
334 MK(1, 1, 46),
335 MK(0, 2, 43),
336 MK(0, 3, 44),
337 MK(1, 2, 45),
338 MK(1, 3, 46),
339 MK(2, 1, 43),
340 MK(2, 2, 44),
341 MK(3, 1, 45),
342 MK(3, 2, 46),
345 static const IndustryTileLayout _tile_table_printing_works_1 {
346 MK(0, 0, 43),
347 MK(0, 1, 44),
348 MK(1, 0, 45),
349 MK(1, 1, 46),
350 MK(2, 0, 43),
351 MK(2, 1, 44),
352 MK(3, 0, 45),
353 MK(3, 1, 46),
354 MK(1, 2, 43),
355 MK(1, 3, 44),
356 MK(2, 2, 45),
357 MK(2, 3, 46),
360 static const std::vector<IndustryTileLayout> _tile_table_printing_works {
361 _tile_table_printing_works_0,
362 _tile_table_printing_works_1,
365 static const IndustryTileLayout _tile_table_steel_mill_0 {
366 MK(2, 1, 52),
367 MK(2, 2, 53),
368 MK(3, 1, 54),
369 MK(3, 2, 55),
370 MK(0, 0, 56),
371 MK(1, 0, 57),
372 MK(0, 1, 56),
373 MK(1, 1, 57),
374 MK(0, 2, 56),
375 MK(1, 2, 57),
376 MK(2, 0, 56),
377 MK(3, 0, 57),
380 static const IndustryTileLayout _tile_table_steel_mill_1 {
381 MK(0, 0, 52),
382 MK(0, 1, 53),
383 MK(1, 0, 54),
384 MK(1, 1, 55),
385 MK(2, 0, 52),
386 MK(2, 1, 53),
387 MK(3, 0, 54),
388 MK(3, 1, 55),
389 MK(0, 2, 56),
390 MK(1, 2, 57),
391 MK(2, 2, 56),
392 MK(3, 2, 57),
393 MK(1, 3, 56),
394 MK(2, 3, 57),
397 static const std::vector<IndustryTileLayout> _tile_table_steel_mill {
398 _tile_table_steel_mill_0,
399 _tile_table_steel_mill_1,
402 static const IndustryTileLayout _tile_table_farm_0 {
403 MK(1, 0, 33),
404 MK(1, 1, 34),
405 MK(1, 2, 36),
406 MK(0, 0, 37),
407 MK(0, 1, 37),
408 MK(0, 2, 36),
409 MK(2, 0, 35),
410 MK(2, 1, 38),
411 MK(2, 2, 38),
414 static const IndustryTileLayout _tile_table_farm_1 {
415 MK(1, 1, 33),
416 MK(1, 2, 34),
417 MK(0, 0, 35),
418 MK(0, 1, 36),
419 MK(0, 2, 36),
420 MK(0, 3, 35),
421 MK(1, 0, 37),
422 MK(1, 3, 38),
423 MK(2, 0, 37),
424 MK(2, 1, 37),
425 MK(2, 2, 38),
426 MK(2, 3, 38),
429 static const IndustryTileLayout _tile_table_farm_2 {
430 MK(2, 0, 33),
431 MK(2, 1, 34),
432 MK(0, 0, 36),
433 MK(0, 1, 36),
434 MK(0, 2, 37),
435 MK(0, 3, 37),
436 MK(1, 0, 35),
437 MK(1, 1, 38),
438 MK(1, 2, 38),
439 MK(1, 3, 37),
440 MK(2, 2, 37),
441 MK(2, 3, 35),
444 static const std::vector<IndustryTileLayout> _tile_table_farm {
445 _tile_table_farm_0,
446 _tile_table_farm_1,
447 _tile_table_farm_2,
450 static const IndustryTileLayout _tile_table_copper_mine_0 {
451 MK(0, 0, 47),
452 MK(0, 1, 49),
453 MK(0, 2, 51),
454 MK(1, 0, 47),
455 MK(1, 1, 49),
456 MK(1, 2, 50),
457 MK(2, 0, 51),
458 MK(2, 1, 51),
461 static const IndustryTileLayout _tile_table_copper_mine_1 {
462 MK(0, 0, 50),
463 MK(0, 1, 47),
464 MK(0, 2, 49),
465 MK(1, 0, 47),
466 MK(1, 1, 49),
467 MK(1, 2, 51),
468 MK(2, 0, 51),
469 MK(2, 1, 47),
470 MK(2, 2, 49),
473 static const std::vector<IndustryTileLayout> _tile_table_copper_mine {
474 _tile_table_copper_mine_0,
475 _tile_table_copper_mine_1,
478 static const IndustryTileLayout _tile_table_oil_well_0 {
479 MK(0, 0, 29),
480 MK(1, 0, 29),
481 MK(2, 0, 29),
482 MK(0, 1, 29),
483 MK(0, 2, 29),
486 static const IndustryTileLayout _tile_table_oil_well_1 {
487 MK(0, 0, 29),
488 MK(1, 0, 29),
489 MK(1, 1, 29),
490 MK(2, 2, 29),
491 MK(2, 3, 29),
494 static const std::vector<IndustryTileLayout> _tile_table_oil_well {
495 _tile_table_oil_well_0,
496 _tile_table_oil_well_1,
499 static const IndustryTileLayout _tile_table_bank_0 {
500 MK(0, 0, 58),
501 MK(1, 0, 59),
504 static const std::vector<IndustryTileLayout> _tile_table_bank {
505 _tile_table_bank_0,
508 static const IndustryTileLayout _tile_table_food_process_0 {
509 MK(0, 0, 60),
510 MK(1, 0, 60),
511 MK(2, 0, 60),
512 MK(0, 1, 60),
513 MK(1, 1, 60),
514 MK(2, 1, 60),
515 MK(0, 2, 61),
516 MK(1, 2, 61),
517 MK(2, 2, 63),
518 MK(0, 3, 62),
519 MK(1, 3, 62),
520 MK(2, 3, 63),
523 static const IndustryTileLayout _tile_table_food_process_1 {
524 MK(0, 0, 61),
525 MK(1, 0, 60),
526 MK(2, 0, 61),
527 MK(3, 0, 61),
528 MK(0, 1, 62),
529 MK(1, 1, 63),
530 MK(2, 1, 63),
531 MK(3, 1, 63),
532 MK(0, 2, 60),
533 MK(1, 2, 60),
534 MK(2, 2, 60),
535 MK(3, 2, 60),
536 MK(0, 3, 62),
537 MK(1, 3, 62),
540 static const std::vector<IndustryTileLayout> _tile_table_food_process {
541 _tile_table_food_process_0,
542 _tile_table_food_process_1,
545 static const IndustryTileLayout _tile_table_paper_mill_0 {
546 MK(0, 0, 64),
547 MK(1, 0, 65),
548 MK(2, 0, 66),
549 MK(3, 0, 67),
550 MK(0, 1, 68),
551 MK(1, 1, 69),
552 MK(2, 1, 67),
553 MK(3, 1, 67),
554 MK(0, 2, 66),
555 MK(1, 2, 71),
556 MK(2, 2, 71),
557 MK(3, 2, 70),
560 static const std::vector<IndustryTileLayout> _tile_table_paper_mill {
561 _tile_table_paper_mill_0,
564 static const IndustryTileLayout _tile_table_gold_mine_0 {
565 MK(0, 0, 72),
566 MK(0, 1, 73),
567 MK(0, 2, 74),
568 MK(0, 3, 75),
569 MK(1, 0, 76),
570 MK(1, 1, 77),
571 MK(1, 2, 78),
572 MK(1, 3, 79),
573 MK(2, 0, 80),
574 MK(2, 1, 81),
575 MK(2, 2, 82),
576 MK(2, 3, 83),
577 MK(3, 0, 84),
578 MK(3, 1, 85),
579 MK(3, 2, 86),
580 MK(3, 3, 87),
583 static const std::vector<IndustryTileLayout> _tile_table_gold_mine {
584 _tile_table_gold_mine_0,
587 static const IndustryTileLayout _tile_table_bank2_0 {
588 MK(0, 0, 89),
589 MK(1, 0, 90),
592 static const std::vector<IndustryTileLayout> _tile_table_bank2 {
593 _tile_table_bank2_0,
596 static const IndustryTileLayout _tile_table_diamond_mine_0 {
597 MK(0, 0, 91),
598 MK(0, 1, 92),
599 MK(0, 2, 93),
600 MK(1, 0, 94),
601 MK(1, 1, 95),
602 MK(1, 2, 96),
603 MK(2, 0, 97),
604 MK(2, 1, 98),
605 MK(2, 2, 99),
608 static const std::vector<IndustryTileLayout> _tile_table_diamond_mine {
609 _tile_table_diamond_mine_0,
612 static const IndustryTileLayout _tile_table_iron_mine_0 {
613 MK(0, 0, 100),
614 MK(0, 1, 101),
615 MK(0, 2, 102),
616 MK(0, 3, 103),
617 MK(1, 0, 104),
618 MK(1, 1, 105),
619 MK(1, 2, 106),
620 MK(1, 3, 107),
621 MK(2, 0, 108),
622 MK(2, 1, 109),
623 MK(2, 2, 110),
624 MK(2, 3, 111),
625 MK(3, 0, 112),
626 MK(3, 1, 113),
627 MK(3, 2, 114),
628 MK(3, 3, 115),
631 static const std::vector<IndustryTileLayout> _tile_table_iron_mine {
632 _tile_table_iron_mine_0,
635 static const IndustryTileLayout _tile_table_fruit_plantation_0 {
636 MK(0, 0, 116),
637 MK(0, 1, 116),
638 MK(0, 2, 116),
639 MK(0, 3, 116),
640 MK(1, 0, 116),
641 MK(1, 1, 116),
642 MK(1, 2, 116),
643 MK(1, 3, 116),
644 MK(2, 0, 116),
645 MK(2, 1, 116),
646 MK(2, 2, 116),
647 MK(2, 3, 116),
648 MK(3, 0, 116),
649 MK(3, 1, 116),
650 MK(3, 2, 116),
651 MK(3, 3, 116),
652 MK(4, 0, 116),
653 MK(4, 1, 116),
654 MK(4, 2, 116),
655 MK(4, 3, 116),
658 static const std::vector<IndustryTileLayout> _tile_table_fruit_plantation {
659 _tile_table_fruit_plantation_0,
662 static const IndustryTileLayout _tile_table_rubber_plantation_0 {
663 MK(0, 0, 117),
664 MK(0, 1, 117),
665 MK(0, 2, 117),
666 MK(0, 3, 117),
667 MK(1, 0, 117),
668 MK(1, 1, 117),
669 MK(1, 2, 117),
670 MK(1, 3, 117),
671 MK(2, 0, 117),
672 MK(2, 1, 117),
673 MK(2, 2, 117),
674 MK(2, 3, 117),
675 MK(3, 0, 117),
676 MK(3, 1, 117),
677 MK(3, 2, 117),
678 MK(3, 3, 117),
679 MK(4, 0, 117),
680 MK(4, 1, 117),
681 MK(4, 2, 117),
682 MK(4, 3, 117),
685 static const std::vector<IndustryTileLayout> _tile_table_rubber_plantation {
686 _tile_table_rubber_plantation_0,
689 static const IndustryTileLayout _tile_table_water_supply_0 {
690 MK(0, 0, 118),
691 MK(0, 1, 119),
692 MK(1, 0, 118),
693 MK(1, 1, 119),
696 static const std::vector<IndustryTileLayout> _tile_table_water_supply {
697 _tile_table_water_supply_0,
700 static const IndustryTileLayout _tile_table_water_tower_0 {
701 MK(0, 0, 120),
704 static const std::vector<IndustryTileLayout> _tile_table_water_tower {
705 _tile_table_water_tower_0,
708 static const IndustryTileLayout _tile_table_factory2_0 {
709 MK(0, 0, 121),
710 MK(0, 1, 122),
711 MK(1, 0, 123),
712 MK(1, 1, 124),
713 MK(0, 2, 121),
714 MK(0, 3, 122),
715 MK(1, 2, 123),
716 MK(1, 3, 124),
719 static const IndustryTileLayout _tile_table_factory2_1 {
720 MK(0, 0, 121),
721 MK(0, 1, 122),
722 MK(1, 0, 123),
723 MK(1, 1, 124),
724 MK(2, 0, 121),
725 MK(2, 1, 122),
726 MK(3, 0, 123),
727 MK(3, 1, 124),
730 static const std::vector<IndustryTileLayout> _tile_table_factory2 {
731 _tile_table_factory2_0,
732 _tile_table_factory2_1,
735 static const IndustryTileLayout _tile_table_farm2_0 {
736 MK(1, 0, 33),
737 MK(1, 1, 34),
738 MK(1, 2, 36),
739 MK(0, 0, 37),
740 MK(0, 1, 37),
741 MK(0, 2, 36),
742 MK(2, 0, 35),
743 MK(2, 1, 38),
744 MK(2, 2, 38),
747 static const IndustryTileLayout _tile_table_farm2_1 {
748 MK(1, 1, 33),
749 MK(1, 2, 34),
750 MK(0, 0, 35),
751 MK(0, 1, 36),
752 MK(0, 2, 36),
753 MK(0, 3, 35),
754 MK(1, 0, 37),
755 MK(1, 3, 38),
756 MK(2, 0, 37),
757 MK(2, 1, 37),
758 MK(2, 2, 38),
759 MK(2, 3, 38),
762 static const IndustryTileLayout _tile_table_farm2_2 {
763 MK(2, 0, 33),
764 MK(2, 1, 34),
765 MK(0, 0, 36),
766 MK(0, 1, 36),
767 MK(0, 2, 37),
768 MK(0, 3, 37),
769 MK(1, 0, 35),
770 MK(1, 1, 38),
771 MK(1, 2, 38),
772 MK(1, 3, 37),
773 MK(2, 2, 37),
774 MK(2, 3, 35),
777 static const std::vector<IndustryTileLayout> _tile_table_farm2 {
778 _tile_table_farm2_0,
779 _tile_table_farm2_1,
780 _tile_table_farm2_2,
783 static const IndustryTileLayout _tile_table_lumber_mill_0 {
784 MK(0, 0, 125),
785 MK(0, 1, 126),
786 MK(1, 0, 127),
787 MK(1, 1, 128),
790 static const std::vector<IndustryTileLayout> _tile_table_lumber_mill {
791 _tile_table_lumber_mill_0,
794 static const IndustryTileLayout _tile_table_cotton_candy_0 {
795 MK(0, 0, 129),
796 MK(0, 1, 129),
797 MK(0, 2, 129),
798 MK(0, 3, 129),
799 MK(1, 0, 129),
800 MK(1, 1, 129),
801 MK(1, 2, 129),
802 MK(1, 3, 129),
803 MK(2, 0, 129),
804 MK(2, 1, 129),
805 MK(2, 2, 129),
806 MK(2, 3, 129),
807 MK(3, 0, 129),
808 MK(3, 1, 129),
809 MK(3, 2, 129),
810 MK(3, 3, 129),
811 MK(1, 4, 129),
812 MK(2, 4, 129),
815 static const IndustryTileLayout _tile_table_cotton_candy_1 {
816 MK(0, 0, 129),
817 MK(1, 0, 129),
818 MK(2, 0, 129),
819 MK(3, 0, 129),
820 MK(4, 0, 129),
821 MK(0, 1, 129),
822 MK(1, 1, 129),
823 MK(2, 1, 129),
824 MK(3, 1, 129),
825 MK(4, 1, 129),
826 MK(0, 2, 129),
827 MK(1, 2, 129),
828 MK(2, 2, 129),
829 MK(3, 2, 129),
830 MK(4, 2, 129),
831 MK(0, 3, 129),
832 MK(1, 3, 129),
833 MK(2, 3, 129),
834 MK(3, 3, 129),
835 MK(4, 3, 129),
836 MK(1, 4, 129),
837 MK(2, 4, 129),
838 MK(3, 4, 129),
841 static const std::vector<IndustryTileLayout> _tile_table_cotton_candy {
842 _tile_table_cotton_candy_0,
843 _tile_table_cotton_candy_1,
846 static const IndustryTileLayout _tile_table_candy_factory_0 {
847 MK(0, 0, 131),
848 MK(0, 1, 132),
849 MK(1, 0, 133),
850 MK(1, 1, 134),
851 MK(0, 2, 131),
852 MK(0, 3, 132),
853 MK(1, 2, 133),
854 MK(1, 3, 134),
855 MK(2, 1, 131),
856 MK(2, 2, 132),
857 MK(3, 1, 133),
858 MK(3, 2, 134),
861 static const IndustryTileLayout _tile_table_candy_factory_1 {
862 MK(0, 0, 131),
863 MK(0, 1, 132),
864 MK(1, 0, 133),
865 MK(1, 1, 134),
866 MK(2, 0, 131),
867 MK(2, 1, 132),
868 MK(3, 0, 133),
869 MK(3, 1, 134),
870 MK(1, 2, 131),
871 MK(1, 3, 132),
872 MK(2, 2, 133),
873 MK(2, 3, 134),
876 static const std::vector<IndustryTileLayout> _tile_table_candy_factory {
877 _tile_table_candy_factory_0,
878 _tile_table_candy_factory_1,
881 static const IndustryTileLayout _tile_table_battery_farm_0 {
882 MK(0, 0, 135),
883 MK(0, 1, 135),
884 MK(0, 2, 135),
885 MK(0, 3, 135),
886 MK(1, 0, 135),
887 MK(1, 1, 135),
888 MK(1, 2, 135),
889 MK(1, 3, 135),
890 MK(2, 0, 135),
891 MK(2, 1, 135),
892 MK(2, 2, 135),
893 MK(2, 3, 135),
894 MK(3, 0, 135),
895 MK(3, 1, 135),
896 MK(3, 2, 135),
897 MK(3, 3, 135),
898 MK(4, 0, 135),
899 MK(4, 1, 135),
900 MK(4, 2, 135),
901 MK(4, 3, 135),
904 static const std::vector<IndustryTileLayout> _tile_table_battery_farm {
905 _tile_table_battery_farm_0,
908 static const IndustryTileLayout _tile_table_cola_wells_0 {
909 MK(0, 0, 137),
910 MK(0, 1, 137),
911 MK(0, 2, 137),
912 MK(1, 0, 137),
913 MK(1, 1, 137),
914 MK(1, 2, 137),
915 MK(2, 1, 137),
916 MK(2, 2, 137),
919 static const IndustryTileLayout _tile_table_cola_wells_1 {
920 MK(0, 1, 137),
921 MK(0, 2, 137),
922 MK(0, 3, 137),
923 MK(1, 0, 137),
924 MK(1, 1, 137),
925 MK(1, 2, 137),
926 MK(2, 1, 137),
929 static const std::vector<IndustryTileLayout> _tile_table_cola_wells {
930 _tile_table_cola_wells_0,
931 _tile_table_cola_wells_1,
934 static const IndustryTileLayout _tile_table_toy_shop_0 {
935 MK(0, 0, 138),
936 MK(0, 1, 139),
937 MK(1, 0, 140),
938 MK(1, 1, 141),
941 static const std::vector<IndustryTileLayout> _tile_table_toy_shop {
942 _tile_table_toy_shop_0,
945 static const IndustryTileLayout _tile_table_toy_factory_0 {
946 MK(0, 0, 147),
947 MK(0, 1, 142),
948 MK(1, 0, 147),
949 MK(1, 1, 143),
950 MK(2, 0, 147),
951 MK(2, 1, 144),
952 MK(3, 0, 146),
953 MK(3, 1, 145),
956 static const std::vector<IndustryTileLayout> _tile_table_toy_factory {
957 _tile_table_toy_factory_0,
960 static const IndustryTileLayout _tile_table_plastic_fountain_0 {
961 MK(0, 0, 148),
962 MK(0, 1, 151),
963 MK(0, 2, 154),
966 static const IndustryTileLayout _tile_table_plastic_fountain_1 {
967 MK(0, 0, 148),
968 MK(1, 0, 151),
969 MK(2, 0, 154),
972 static const std::vector<IndustryTileLayout> _tile_table_plastic_fountain {
973 _tile_table_plastic_fountain_0,
974 _tile_table_plastic_fountain_1,
977 static const IndustryTileLayout _tile_table_fizzy_drink_0 {
978 MK(0, 0, 156),
979 MK(0, 1, 157),
980 MK(1, 0, 158),
981 MK(1, 1, 159),
984 static const std::vector<IndustryTileLayout> _tile_table_fizzy_drink {
985 _tile_table_fizzy_drink_0,
988 static const IndustryTileLayout _tile_table_bubble_generator_0 {
989 MK(0, 0, 163),
990 MK(0, 1, 160),
991 MK(1, 0, 163),
992 MK(1, 1, 161),
993 MK(2, 0, 163),
994 MK(2, 1, 162),
995 MK(0, 2, 163),
996 MK(0, 3, 160),
997 MK(1, 2, 163),
998 MK(1, 3, 161),
999 MK(2, 2, 163),
1000 MK(2, 3, 162),
1003 static const std::vector<IndustryTileLayout> _tile_table_bubble_generator {
1004 _tile_table_bubble_generator_0,
1007 static const IndustryTileLayout _tile_table_toffee_quarry_0 {
1008 MK(0, 0, 164),
1009 MK(1, 0, 165),
1010 MK(2, 0, 166),
1013 static const std::vector<IndustryTileLayout> _tile_table_toffee_quarry {
1014 _tile_table_toffee_quarry_0,
1017 static const IndustryTileLayout _tile_table_sugar_mine_0 {
1018 MK(0, 0, 167),
1019 MK(0, 1, 168),
1020 MK(1, 0, 169),
1021 MK(1, 1, 170),
1022 MK(2, 0, 171),
1023 MK(2, 1, 172),
1024 MK(3, 0, 173),
1025 MK(3, 1, 174),
1028 static const std::vector<IndustryTileLayout> _tile_table_sugar_mine {
1029 _tile_table_sugar_mine_0,
1032 #undef MK
1034 /** Array with saw sound, for sawmill */
1035 static const uint8 _sawmill_sounds[] = { SND_28_SAWMILL };
1037 /** Array with whistle sound, for factory */
1038 static const uint8 _factory_sounds[] = { SND_03_FACTORY };
1040 /** Array with 3 animal sounds, for farms */
1041 static const uint8 _farm_sounds[] = { SND_24_FARM_1, SND_25_FARM_2, SND_26_FARM_3 };
1043 /** Array with... hem... a sound of toyland */
1044 static const uint8 _plastic_mine_sounds[] = { SND_33_PLASTIC_MINE };
1046 enum IndustryTypes {
1047 IT_COAL_MINE = 0,
1048 IT_POWER_STATION = 1,
1049 IT_SAWMILL = 2,
1050 IT_FOREST = 3,
1051 IT_OIL_REFINERY = 4,
1052 IT_OIL_RIG = 5,
1053 IT_FACTORY = 6,
1054 IT_PRINTING_WORKS = 7,
1055 IT_STEEL_MILL = 8,
1056 IT_FARM = 9,
1057 IT_COPPER_MINE = 10,
1058 IT_OIL_WELL = 11,
1059 IT_BANK_TEMP = 12,
1060 IT_FOOD_PROCESS = 13,
1061 IT_PAPER_MILL = 14,
1062 IT_GOLD_MINE = 15,
1063 IT_BANK_TROPIC_ARCTIC = 16,
1064 IT_DIAMOND_MINE = 17,
1065 IT_IRON_MINE = 18,
1066 IT_FRUIT_PLANTATION = 19,
1067 IT_RUBBER_PLANTATION = 20,
1068 IT_WATER_SUPPLY = 21,
1069 IT_WATER_TOWER = 22,
1070 IT_FACTORY_2 = 23,
1071 IT_FARM_2 = 24,
1072 IT_LUMBER_MILL = 25,
1073 IT_COTTON_CANDY = 26,
1074 IT_CANDY_FACTORY = 27,
1075 IT_BATTERY_FARM = 28,
1076 IT_COLA_WELLS = 29,
1077 IT_TOY_SHOP = 30,
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,
1083 IT_SUGAR_MINE = 36,
1084 IT_END,
1088 * Writes the properties of an industry into the IndustrySpec struct.
1089 * @param tbl tile table
1090 * @param sndc number of sounds
1091 * @param snd sounds table
1092 * @param d cost multiplier
1093 * @param pc prospecting chance
1094 * @param ai1 appear chance ingame - temperate
1095 * @param ai2 appear chance ingame - arctic
1096 * @param ai3 appear chance ingame - tropic
1097 * @param ai4 appear chance ingame - toyland
1098 * @param ag1 appear chance random creation - temperate
1099 * @param ag2 appear chance random creation - arctic
1100 * @param ag3 appear chance random creation - tropic
1101 * @param ag4 appear chance random creation - toyland
1102 * @param col map colour
1103 * @param c1 industry proximity refusal - 1st
1104 * @param c2 industry proximity refusal - 2nd
1105 * @param c3 industry proximity refusal - 3th
1106 * @param proc check procedure index
1107 * @param p1 produce cargo 1
1108 * @param r1 rate of production 1
1109 * @param p2 produce cargo 2
1110 * @param r2 rate of production 1
1111 * @param m minimum cargo moved to station
1112 * @param a1 accepted cargo 1
1113 * @param im1 input multiplier for cargo 1
1114 * @param a2 accepted cargo 2
1115 * @param im2 input multiplier for cargo 2
1116 * @param a3 accepted cargo 3
1117 * @param im3 input multiplier for cargo 3
1118 * @param pr industry life (actually, the same as extractive, organic, processing in ttdpatch's specs)
1119 * @param clim climate availability
1120 * @param bev industry behaviour
1121 * @param in name
1122 * @param intx text while building
1123 * @param s1 text for closure
1124 * @param s2 text for production up
1125 * @param s3 text for production down
1128 #define MI(tbl, sndc, snd, d, pc, ai1, ai2, ai3, ai4, ag1, ag2, ag3, ag4, col, \
1129 c1, c2, c3, proc, p1, r1, p2, r2, m, a1, im1, a2, im2, a3, im3, pr, clim, bev, in, intx, s1, s2, s3) \
1130 {tbl, d, 0, pc, {c1, c2, c3}, proc, \
1131 {p1, p2, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID}, \
1132 {r1, r2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, m, \
1133 {a1, a2, a3, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID}, \
1134 {{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}}, \
1135 pr, clim, bev, col, in, intx, s1, s2, s3, STR_UNDEFINED, {ai1, ai2, ai3, ai4}, {ag1, ag2, ag3, ag4}, \
1136 sndc, snd, 0, 0, true, GRFFileProps(INVALID_INDUSTRYTYPE)}
1137 /* Format:
1138 tile table count and sounds table
1139 cost multiplier appear chances(4ingame, 4random) map colour
1140 cannot be close to these industries (3 times) check proc
1141 (produced cargo + rate) (twice) minimum cargo moved to station
1142 3 accepted cargo and their corresponding input multiplier
1143 industry life climate availability
1144 industry behaviours
1145 industry name building text
1146 messages : Closure production up production down */
1147 static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
1148 MI(_tile_table_coal_mine, 0, nullptr,
1149 210, 0xB3333333, 2, 3, 0, 0, 8, 8, 0, 0, 1,
1150 IT_POWER_STATION, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1151 CT_COAL, 15, CT_INVALID, 0, 5,
1152 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1153 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TEMPERATE | 1 << LT_ARCTIC,
1154 INDUSTRYBEH_CAN_SUBSIDENCE,
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, 0, nullptr,
1159 240, 0xFFFFFFFF, 2, 2, 0, 0, 5, 5, 0, 0, 184,
1160 IT_COAL_MINE, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1161 CT_INVALID, 0, CT_INVALID, 0, 5,
1162 CT_COAL, 256, CT_INVALID, 256, CT_INVALID, 256,
1163 INDUSTRYLIFE_BLACK_HOLE, 1 << LT_TEMPERATE | 1 << LT_ARCTIC,
1164 INDUSTRYBEH_NONE,
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),
1168 MI(_tile_table_sawmill, 1, _sawmill_sounds,
1169 224, 0xFFFFFFFF, 2, 0, 0, 0, 5, 0, 0, 0, 194,
1170 IT_FOREST, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1171 CT_GOODS, 0, CT_INVALID, 0, 5,
1172 CT_WOOD, 256, CT_INVALID, 256, CT_INVALID, 256,
1173 INDUSTRYLIFE_PROCESSING, 1 << LT_TEMPERATE,
1174 INDUSTRYBEH_NONE,
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, 0, nullptr,
1179 200, 0xBFFFFFFF, 3, 4, 0, 0, 5, 5, 0, 0, 86,
1180 IT_SAWMILL, IT_PAPER_MILL, IT_INVALID, CHECK_FOREST,
1181 CT_WOOD, 13, CT_INVALID, 0, 30,
1182 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1183 INDUSTRYLIFE_ORGANIC, 1 << LT_TEMPERATE | 1 << LT_ARCTIC,
1184 INDUSTRYBEH_NONE,
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, 0, nullptr,
1189 244, 0xFFFFFFFF, 2, 2, 2, 0, 4, 4, 4, 0, 191,
1190 IT_OIL_RIG, IT_INVALID, IT_INVALID, CHECK_REFINERY,
1191 CT_GOODS, 0, CT_INVALID, 0, 5,
1192 CT_OIL, 256, CT_INVALID, 256, CT_INVALID, 256,
1193 INDUSTRYLIFE_PROCESSING, 1 << LT_TEMPERATE | 1 << LT_ARCTIC | 1 << LT_TROPIC,
1194 INDUSTRYBEH_AIRPLANE_ATTACKS,
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, 0, nullptr,
1199 240, 0x99999999, 6, 0, 0, 0, 0, 0, 0, 0, 152,
1200 IT_OIL_REFINERY, IT_INVALID, IT_INVALID, CHECK_OIL_RIG,
1201 CT_OIL, 15, CT_PASSENGERS, 2, 5,
1202 CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0,
1203 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TEMPERATE,
1204 INDUSTRYBEH_BUILT_ONWATER | INDUSTRYBEH_AFTER_1960 | INDUSTRYBEH_AI_AIRSHIP_ROUTES,
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),
1208 MI(_tile_table_factory, 1, _factory_sounds,
1209 208, 0xFFFFFFFF, 2, 0, 0, 0, 5, 0, 0, 0, 174,
1210 IT_FARM, IT_STEEL_MILL, IT_INVALID, CHECK_NOTHING,
1211 CT_GOODS, 0, CT_INVALID, 0, 5,
1212 CT_LIVESTOCK, 256, CT_GRAIN, 256, CT_STEEL, 256,
1213 INDUSTRYLIFE_PROCESSING, 1 << LT_TEMPERATE,
1214 INDUSTRYBEH_CHOPPER_ATTACKS,
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),
1218 MI(_tile_table_printing_works, 1, _factory_sounds,
1219 208, 0xFFFFFFFF, 0, 2, 0, 0, 0, 5, 0, 0, 174,
1220 IT_PAPER_MILL, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1221 CT_GOODS, 0, CT_INVALID, 0, 5,
1222 CT_PAPER, 256, CT_INVALID, 256, CT_INVALID, 256,
1223 INDUSTRYLIFE_PROCESSING, 1 << LT_ARCTIC,
1224 INDUSTRYBEH_NONE,
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, 0, nullptr,
1229 215, 0xFFFFFFFF, 2, 0, 0, 0, 5, 0, 0, 0, 10,
1230 IT_IRON_MINE, IT_FACTORY, IT_INVALID, CHECK_NOTHING,
1231 CT_STEEL, 0, CT_INVALID, 0, 5,
1232 CT_IRON_ORE, 256, CT_INVALID, 256, CT_INVALID, 256,
1233 INDUSTRYLIFE_PROCESSING, 1 << LT_TEMPERATE,
1234 INDUSTRYBEH_NONE,
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),
1238 MI(_tile_table_farm, 3, _farm_sounds,
1239 250, 0xD9999999, 2, 4, 0, 0, 9, 9, 0, 0, 48,
1240 IT_FACTORY, IT_FOOD_PROCESS, IT_INVALID, CHECK_FARM,
1241 CT_GRAIN, 10, CT_LIVESTOCK, 10, 5,
1242 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1243 INDUSTRYLIFE_ORGANIC, 1 << LT_TEMPERATE | 1 << LT_ARCTIC,
1244 INDUSTRYBEH_PLANT_FIELDS | INDUSTRYBEH_PLANT_ON_BUILT,
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, 0, nullptr,
1249 205, 0xB3333333, 0, 0, 3, 0, 0, 0, 4, 0, 10,
1250 IT_FACTORY_2, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1251 CT_COPPER_ORE, 10, CT_INVALID, 0, 5,
1252 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1253 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TROPIC,
1254 INDUSTRYBEH_NONE,
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, 0, nullptr,
1259 220, 0x99999999, 0, 5, 3, 0, 4, 5, 5, 0, 152,
1260 IT_OIL_REFINERY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1261 CT_OIL, 12, CT_INVALID, 0, 5,
1262 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1263 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TEMPERATE | 1 << LT_ARCTIC | 1 << LT_TROPIC,
1264 INDUSTRYBEH_DONT_INCR_PROD | INDUSTRYBEH_BEFORE_1950,
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, 0, nullptr,
1269 255, 0xA6666666, 7, 0, 0, 0, 0, 0, 0, 0, 15,
1270 IT_BANK_TEMP, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1271 CT_VALUABLES, 6, CT_INVALID, 0, 5,
1272 CT_VALUABLES, 0, CT_INVALID, 0, CT_INVALID, 0,
1273 INDUSTRYLIFE_BLACK_HOLE, 1 << LT_TEMPERATE,
1274 INDUSTRYBEH_TOWN1200_MORE,
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, 0, nullptr,
1279 206, 0xFFFFFFFF, 0, 2, 2, 0, 0, 3, 4, 0, 55,
1280 IT_FRUIT_PLANTATION, IT_FARM, IT_FARM_2, CHECK_NOTHING,
1281 CT_FOOD, 0, CT_INVALID, 0, 5,
1282 CT_FRUIT, 256, CT_MAIZE, 256, CT_INVALID, 256,
1283 INDUSTRYLIFE_PROCESSING, 1 << LT_ARCTIC | 1 << LT_TROPIC,
1284 INDUSTRYBEH_NONE,
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),
1288 MI(_tile_table_paper_mill, 1, _sawmill_sounds,
1289 227, 0xFFFFFFFF, 0, 2, 0, 0, 0, 5, 0, 0, 10,
1290 IT_FOREST, IT_PRINTING_WORKS, IT_INVALID, CHECK_NOTHING,
1291 CT_PAPER, 0, CT_INVALID, 0, 5,
1292 CT_WOOD, 256, CT_INVALID, 256, CT_INVALID, 256,
1293 INDUSTRYLIFE_PROCESSING, 1 << LT_ARCTIC,
1294 INDUSTRYBEH_NONE,
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, 0, nullptr,
1299 208, 0x99999999, 0, 3, 0, 0, 0, 4, 0, 0, 194,
1300 IT_BANK_TROPIC_ARCTIC, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1301 CT_GOLD, 7, CT_INVALID, 0, 5,
1302 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1303 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_ARCTIC,
1304 INDUSTRYBEH_NONE,
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, 0, nullptr,
1309 151, 0xA6666666, 0, 3, 3, 0, 0, 6, 5, 0, 15,
1310 IT_GOLD_MINE, IT_DIAMOND_MINE, IT_INVALID, CHECK_NOTHING,
1311 CT_INVALID, 0, CT_INVALID, 0, 5,
1312 CT_GOLD, 256, CT_INVALID, 256, CT_INVALID, 256,
1313 INDUSTRYLIFE_BLACK_HOLE, 1 << LT_ARCTIC | 1 << LT_TROPIC,
1314 INDUSTRYBEH_ONLY_INTOWN,
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, 0, nullptr,
1319 213, 0x99999999, 0, 0, 3, 0, 0, 0, 4, 0, 184,
1320 IT_BANK_TROPIC_ARCTIC, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1321 CT_DIAMONDS, 7, CT_INVALID, 0, 5,
1322 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1323 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TROPIC,
1324 INDUSTRYBEH_NONE,
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, 0, nullptr,
1329 220, 0xB3333333, 2, 0, 0, 0, 5, 0, 0, 0, 55,
1330 IT_STEEL_MILL, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1331 CT_IRON_ORE, 10, CT_INVALID, 0, 5,
1332 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1333 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TEMPERATE,
1334 INDUSTRYBEH_NONE,
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, 0, nullptr,
1339 225, 0xBFFFFFFF, 0, 0, 2, 0, 0, 0, 4, 0, 86,
1340 IT_FOOD_PROCESS, IT_INVALID, IT_INVALID, CHECK_PLANTATION,
1341 CT_FRUIT, 10, CT_INVALID, 0, 15,
1342 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1343 INDUSTRYLIFE_ORGANIC, 1 << LT_TROPIC,
1344 INDUSTRYBEH_NONE,
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, 0, nullptr,
1349 218, 0xBFFFFFFF, 0, 0, 3, 0, 0, 0, 4, 0, 39,
1350 IT_FACTORY_2, IT_INVALID, IT_INVALID, CHECK_PLANTATION,
1351 CT_RUBBER, 10, CT_INVALID, 0, 15,
1352 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1353 INDUSTRYLIFE_ORGANIC, 1 << LT_TROPIC,
1354 INDUSTRYBEH_NONE,
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, 0, nullptr,
1359 199, 0xB3333333, 0, 0, 3, 0, 0, 0, 4, 0, 37,
1360 IT_WATER_TOWER, IT_INVALID, IT_INVALID, CHECK_WATER,
1361 CT_WATER, 12, CT_INVALID, 0, 5,
1362 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1363 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TROPIC,
1364 INDUSTRYBEH_NONE,
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, 0, nullptr,
1369 115, 0xFFFFFFFF, 0, 0, 4, 0, 0, 0, 8, 0, 208,
1370 IT_WATER_SUPPLY, IT_INVALID, IT_INVALID, CHECK_WATER,
1371 CT_INVALID, 0, CT_INVALID, 0, 5,
1372 CT_WATER, 256, CT_INVALID, 256, CT_INVALID, 256,
1373 INDUSTRYLIFE_BLACK_HOLE, 1 << LT_TROPIC,
1374 INDUSTRYBEH_ONLY_INTOWN,
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),
1378 MI(_tile_table_factory2, 1, _factory_sounds,
1379 208, 0xFFFFFFFF, 0, 0, 2, 0, 0, 0, 4, 0, 174,
1380 IT_RUBBER_PLANTATION, IT_COPPER_MINE, IT_LUMBER_MILL, CHECK_PLANTATION,
1381 CT_GOODS, 0, CT_INVALID, 0, 5,
1382 CT_RUBBER, 256, CT_COPPER_ORE, 256, CT_WOOD, 256,
1383 INDUSTRYLIFE_PROCESSING, 1 << LT_TROPIC,
1384 INDUSTRYBEH_NONE,
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, 0, nullptr,
1389 250, 0xD9999999, 0, 0, 1, 0, 0, 0, 2, 0, 48,
1390 IT_FOOD_PROCESS, IT_INVALID, IT_INVALID, CHECK_PLANTATION,
1391 CT_MAIZE, 11, CT_INVALID, 0, 5,
1392 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1393 INDUSTRYLIFE_ORGANIC, 1 << LT_TROPIC,
1394 INDUSTRYBEH_PLANT_FIELDS | INDUSTRYBEH_PLANT_ON_BUILT,
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, 0, nullptr,
1399 135, 0xFFFFFFFF, 0, 0, 0, 0, 0, 0, 0, 0, 194,
1400 IT_FACTORY_2, IT_INVALID, IT_INVALID, CHECK_LUMBERMILL,
1401 CT_WOOD, 0, CT_INVALID, 0, 5,
1402 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1403 INDUSTRYLIFE_PROCESSING, 1 << LT_TROPIC,
1404 INDUSTRYBEH_CUT_TREES,
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, 0, nullptr,
1409 195, 0xBFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 5, 48,
1410 IT_CANDY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1411 CT_COTTON_CANDY, 13, CT_INVALID, 0, 30,
1412 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1413 INDUSTRYLIFE_ORGANIC, 1 << LT_TOYLAND,
1414 INDUSTRYBEH_NONE,
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, 0, nullptr,
1419 206, 0xFFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 5, 174,
1420 IT_COTTON_CANDY, IT_TOFFEE_QUARRY, IT_SUGAR_MINE, CHECK_NOTHING,
1421 CT_CANDY, 0, CT_INVALID, 0, 5,
1422 CT_SUGAR, 256, CT_TOFFEE, 256, CT_COTTON_CANDY, 256,
1423 INDUSTRYLIFE_PROCESSING, 1 << LT_TOYLAND,
1424 INDUSTRYBEH_NONE,
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, 0, nullptr,
1429 187, 0xB3333333, 0, 0, 0, 3, 0, 0, 0, 4, 39,
1430 IT_TOY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1431 CT_BATTERIES, 11, CT_INVALID, 0, 30,
1432 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1433 INDUSTRYLIFE_ORGANIC, 1 << LT_TOYLAND,
1434 INDUSTRYBEH_NONE,
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, 0, nullptr,
1439 193, 0x99999999, 0, 0, 0, 3, 0, 0, 0, 5, 55,
1440 IT_FIZZY_DRINK_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1441 CT_COLA, 12, CT_INVALID, 0, 5,
1442 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1443 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TOYLAND,
1444 INDUSTRYBEH_NONE,
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, 0, nullptr,
1449 133, 0xFFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 4, 208,
1450 IT_TOY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1451 CT_INVALID, 0, CT_INVALID, 0, 5,
1452 CT_TOYS, 256, CT_INVALID, 256, CT_INVALID, 256,
1453 INDUSTRYLIFE_BLACK_HOLE, 1 << LT_TOYLAND,
1454 INDUSTRYBEH_ONLY_NEARTOWN,
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, 0, nullptr,
1459 163, 0xFFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 5, 10,
1460 IT_PLASTIC_FOUNTAINS, IT_BATTERY_FARM, IT_TOY_SHOP, CHECK_NOTHING,
1461 CT_TOYS, 0, CT_INVALID, 0, 5,
1462 CT_PLASTIC, 256, CT_BATTERIES, 256, CT_INVALID, 256,
1463 INDUSTRYLIFE_PROCESSING, 1 << LT_TOYLAND,
1464 INDUSTRYBEH_NONE,
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),
1468 MI(_tile_table_plastic_fountain, 1, _plastic_mine_sounds,
1469 192, 0xA6666666, 0, 0, 0, 3, 0, 0, 0, 5, 37,
1470 IT_TOY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1471 CT_PLASTIC, 14, CT_INVALID, 0, 5,
1472 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1473 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TOYLAND,
1474 INDUSTRYBEH_NONE,
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, 0, nullptr,
1479 177, 0xFFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 4, 184,
1480 IT_COLA_WELLS, IT_BUBBLE_GENERATOR, IT_INVALID, CHECK_NOTHING,
1481 CT_FIZZY_DRINKS, 0, CT_INVALID, 0, 5,
1482 CT_COLA, 256, CT_BUBBLES, 256, CT_INVALID, 256,
1483 INDUSTRYLIFE_PROCESSING, 1 << LT_TOYLAND,
1484 INDUSTRYBEH_NONE,
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, 0, nullptr,
1489 203, 0xB3333333, 0, 0, 0, 3, 0, 0, 0, 5, 152,
1490 IT_FIZZY_DRINK_FACTORY, IT_INVALID, IT_INVALID, CHECK_BUBBLEGEN,
1491 CT_BUBBLES, 13, CT_INVALID, 0, 5,
1492 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1493 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TOYLAND,
1494 INDUSTRYBEH_NONE,
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, 0, nullptr,
1499 213, 0xCCCCCCCC, 0, 0, 0, 3, 0, 0, 0, 5, 194,
1500 IT_CANDY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1501 CT_TOFFEE, 10, CT_INVALID, 0, 5,
1502 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1503 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TOYLAND,
1504 INDUSTRYBEH_NONE,
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, 0, nullptr,
1509 210, 0xBFFFFFFF, 0, 0, 0, 2, 0, 0, 0, 4, 15,
1510 IT_CANDY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1511 CT_SUGAR, 11, CT_INVALID, 0, 5,
1512 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1513 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TOYLAND,
1514 INDUSTRYBEH_NONE,
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),
1518 #undef MI
1521 * Writes the properties of an industry tile into the IndustryTileSpec struct.
1522 * @param ca1 acceptance of first cargo
1523 * @param c1 first type of cargo accepted for this tile
1524 * @param ca2 acceptance of second cargo
1525 * @param c2 second cargo
1526 * @param ca3 acceptance of third cargo
1527 * @param c3 and third cargo. Those three are in an array
1528 * @param sl slope refused upon choosing a place to build
1529 * @param a1 animation frame on production
1530 * @param a2 next frame of animation
1531 * @param a3 chooses between animation or construction state
1533 #define MT(ca1, c1, ca2, c2, ca3, c3, sl, a1, a2, a3) {{c1, c2, c3, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID}, {ca1, ca2, ca3}, sl, a1, a2, a3, 0, {0, ANIM_STATUS_NO_ANIMATION, 2, 0}, INDTILE_SPECIAL_NONE, true, GRFFileProps(INVALID_INDUSTRYTILE)}
1534 static const IndustryTileSpec _origin_industry_tile_specs[NEW_INDUSTRYTILEOFFSET] = {
1535 /* Coal Mine */
1536 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1537 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, true),
1538 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1539 MT(1, CT_PASSENGERS, 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, false),
1541 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1542 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1544 /* Power Station */
1545 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1546 MT(1, CT_PASSENGERS, 8, CT_COAL, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1547 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),
1550 /* Sawmill */
1551 MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1552 MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1553 MT(1, CT_PASSENGERS, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1554 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1555 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1557 /* Forest Artic, temperate */
1558 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, 17, INDUSTRYTILE_NOANIM, false), ///< Chopping forest
1559 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, 16, false), ///< Growing forest
1561 /* Oil refinery */
1562 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1563 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1564 MT(0, CT_INVALID, 8, CT_OIL, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, 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(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1569 /* Oil Rig */
1570 MT(0, CT_INVALID, 8, CT_PASSENGERS, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1571 MT(0, CT_INVALID, 8, CT_MAIL, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1572 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1573 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1574 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1576 /* Oil Wells artic, temperate and sub-tropical */
1577 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1578 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, true ),
1579 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, true ),
1580 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, true ),
1582 /* Farm tropic, arctic and temperate */
1583 MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1584 MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1585 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1586 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1587 MT(0, CT_INVALID, 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),
1590 /* Factory temperate */
1591 MT(8, CT_GRAIN, 8, CT_LIVESTOCK, 8, CT_STEEL, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1592 MT(8, CT_GRAIN, 8, CT_LIVESTOCK, 8, CT_STEEL, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1593 MT(8, CT_GRAIN, 8, CT_LIVESTOCK, 8, CT_STEEL, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1594 MT(8, CT_GRAIN, 8, CT_LIVESTOCK, 8, CT_STEEL, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1596 /* Printing works */
1597 MT(0, CT_INVALID, 8, CT_PAPER, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1598 MT(0, CT_INVALID, 8, CT_PAPER, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1599 MT(0, CT_INVALID, 8, CT_PAPER, 0, CT_INVALID, 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),
1602 /* Copper ore mine */
1603 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1604 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, true ),
1605 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1606 MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1607 MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1609 /* Steel mill */
1610 MT(1, CT_PASSENGERS, 8, CT_IRON_ORE, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1611 MT(1, CT_PASSENGERS, 8, CT_IRON_ORE, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1612 MT(1, CT_PASSENGERS, 8, CT_IRON_ORE, 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),
1617 /* Bank temperate*/
1618 MT(1, CT_PASSENGERS, 8, CT_VALUABLES, 0, CT_INVALID, SLOPE_E, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1619 MT(1, CT_PASSENGERS, 8, CT_VALUABLES, 0, CT_INVALID, SLOPE_S, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1621 /* Food processing plant, tropic and arctic. CT_MAIZE or CT_WHEAT, CT_LIVESTOCK or CT_FRUIT*/
1622 MT(8, CT_MAIZE, 8, CT_LIVESTOCK, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1623 MT(8, CT_MAIZE, 8, CT_LIVESTOCK, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1624 MT(8, CT_MAIZE, 8, CT_LIVESTOCK, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1625 MT(8, CT_MAIZE, 8, CT_LIVESTOCK, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1627 /* Paper mill */
1628 MT(0, CT_INVALID, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1629 MT(0, CT_INVALID, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1630 MT(0, CT_INVALID, 8, CT_WOOD, 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),
1637 /* Gold mine */
1638 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1639 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1640 MT(0, CT_INVALID, 0, CT_INVALID, 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, true),
1656 /* Bank Sub Arctic */
1657 MT(0, CT_INVALID, 8, CT_GOLD, 0, CT_INVALID, SLOPE_E, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1658 MT(0, CT_INVALID, 8, CT_GOLD, 0, CT_INVALID, SLOPE_S, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1660 /* Diamond mine */
1661 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1662 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1663 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, 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),
1671 /* Iron ore Mine */
1672 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1673 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1674 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),
1689 /* Fruit plantation */
1690 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1692 /* Rubber plantation */
1693 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1695 /* Water supply */
1696 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1697 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1699 /* Water tower */
1700 MT(0, CT_INVALID, 8, CT_WATER, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1702 /* Factory (sub-tropical) */
1703 MT(8, CT_COPPER_ORE, 8, CT_RUBBER, 8, CT_WOOD, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1704 MT(8, CT_COPPER_ORE, 8, CT_RUBBER, 8, CT_WOOD, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1705 MT(8, CT_COPPER_ORE, 8, CT_RUBBER, 8, CT_WOOD, 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),
1708 /* Lumber mill */
1709 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1710 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1711 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 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),
1714 /* Candyfloss forest */
1715 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, 130, INDUSTRYTILE_NOANIM, false), ///< Chopping candyfloss
1716 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, 129, false), ///< Growing candyfloss
1718 /* Sweet factory */
1719 MT(8, CT_COTTON_CANDY, 8, CT_TOFFEE, 8, CT_SUGAR, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1720 MT(8, CT_COTTON_CANDY, 8, CT_TOFFEE, 8, CT_SUGAR, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1721 MT(8, CT_COTTON_CANDY, 8, CT_TOFFEE, 8, CT_SUGAR, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1722 MT(8, CT_COTTON_CANDY, 8, CT_TOFFEE, 8, CT_SUGAR, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1724 /* Battery farm */
1725 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, 136, INDUSTRYTILE_NOANIM, false), ///< Reaping batteries
1726 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, 135, false), ///< Growing batteries
1728 /* Cola wells */
1729 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1731 /* Toy shop */
1732 MT(0, CT_INVALID, 8, CT_TOYS, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1733 MT(0, CT_INVALID, 8, CT_TOYS, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1734 MT(0, CT_INVALID, 8, CT_TOYS, 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),
1737 /* Toy factory */
1738 MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1739 MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1740 MT(8, CT_BATTERIES, 8, CT_PLASTIC, 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),
1745 /* Plastic Fountain */
1746 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1747 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1748 MT(0, CT_INVALID, 0, CT_INVALID, 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),
1755 /* Fizzy drink factory */
1756 MT(8, CT_BUBBLES, 8, CT_COLA, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1757 MT(8, CT_BUBBLES, 8, CT_COLA, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1758 MT(8, CT_BUBBLES, 8, CT_COLA, 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),
1761 /* Bubble generator */
1762 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1763 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1764 MT(0, CT_INVALID, 0, CT_INVALID, 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),
1767 /* Toffee quarry */
1768 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1769 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1770 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1772 /* Sugar mine */
1773 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1774 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1775 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),
1782 #undef MT
1784 #endif /* BUILD_INDUSTRY_H */