(svn r27707) -Fix: Make the result of NewGRF's CARGO_NAME string code reliably print...
[openttd.git] / src / table / build_industry.h
blob5ae93bc7edb8dd4b1fd4741ba62b97792f9b0a99
1 /* $Id$ */
3 /*
4 * This file is part of OpenTTD.
5 * 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.
6 * 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.
7 * 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/>.
8 */
10 /** @file build_industry.h Tables with default industry layouts and behaviours. */
12 #ifndef BUILD_INDUSTRY_H
13 #define BUILD_INDUSTRY_H
15 /**
16 * Definition of an industry tiles layout.
17 * @param x offset x of this tile
18 * @param y offset y of this tile
19 * @param m index of the tile.
20 * @see _industry_specs
21 * @see IndustryTileTable
23 #define MK(x, y, m) {{x, y}, m}
25 /**
26 * Terminator of industry tiles layout definition
28 #define MKEND {{-0x80, 0}, 0}
30 static const IndustryTileTable _tile_table_coal_mine_0[] = {
31 MK(1, 1, 0),
32 MK(1, 2, 2),
33 MK(0, 0, 5),
34 MK(1, 0, 6),
35 MK(2, 0, 3),
36 MK(2, 2, 3),
37 MKEND
40 static const IndustryTileTable _tile_table_coal_mine_1[] = {
41 MK(1, 1, 0),
42 MK(1, 2, 2),
43 MK(2, 0, 0),
44 MK(2, 1, 2),
45 MK(1, 0, 3),
46 MK(0, 0, 3),
47 MK(0, 1, 4),
48 MK(0, 2, 4),
49 MK(2, 2, 4),
50 MKEND
53 static const IndustryTileTable _tile_table_coal_mine_2[] = {
54 MK(0, 0, 0),
55 MK(0, 1, 2),
56 MK(0, 2, 5),
57 MK(1, 0, 3),
58 MK(1, 1, 3),
59 MK(1, 2, 6),
60 MKEND
63 static const IndustryTileTable _tile_table_coal_mine_3[] = {
64 MK(0, 1, 0),
65 MK(0, 2, 2),
66 MK(0, 3, 4),
67 MK(1, 0, 5),
68 MK(1, 1, 0),
69 MK(1, 2, 2),
70 MK(1, 3, 3),
71 MK(2, 0, 6),
72 MK(2, 1, 4),
73 MK(2, 2, 3),
74 MKEND
77 static const IndustryTileTable * const _tile_table_coal_mine[] = {
78 _tile_table_coal_mine_0,
79 _tile_table_coal_mine_1,
80 _tile_table_coal_mine_2,
81 _tile_table_coal_mine_3,
84 static const IndustryTileTable _tile_table_power_station_0[] = {
85 MK(0, 0, 7),
86 MK(0, 1, 9),
87 MK(1, 0, 7),
88 MK(1, 1, 8),
89 MK(2, 0, 7),
90 MK(2, 1, 8),
91 MK(3, 0, 10),
92 MK(3, 1, 10),
93 MKEND
96 static const IndustryTileTable _tile_table_power_station_1[] = {
97 MK(0, 1, 7),
98 MK(0, 2, 7),
99 MK(1, 0, 8),
100 MK(1, 1, 8),
101 MK(1, 2, 7),
102 MK(2, 0, 9),
103 MK(2, 1, 10),
104 MK(2, 2, 9),
105 MKEND
108 static const IndustryTileTable _tile_table_power_station_2[] = {
109 MK(0, 0, 7),
110 MK(0, 1, 7),
111 MK(1, 0, 9),
112 MK(1, 1, 8),
113 MK(2, 0, 10),
114 MK(2, 1, 9),
115 MKEND
118 static const IndustryTileTable * const _tile_table_power_station[] = {
119 _tile_table_power_station_0,
120 _tile_table_power_station_1,
121 _tile_table_power_station_2,
124 static const IndustryTileTable _tile_table_sawmill_0[] = {
125 MK(1, 0, 14),
126 MK(1, 1, 12),
127 MK(1, 2, 11),
128 MK(2, 0, 14),
129 MK(2, 1, 13),
130 MK(0, 0, 15),
131 MK(0, 1, 15),
132 MK(0, 2, 12),
133 MKEND
136 static const IndustryTileTable _tile_table_sawmill_1[] = {
137 MK(0, 0, 15),
138 MK(0, 1, 11),
139 MK(0, 2, 14),
140 MK(1, 0, 15),
141 MK(1, 1, 13),
142 MK(1, 2, 12),
143 MK(2, 0, 11),
144 MK(2, 1, 13),
145 MKEND
148 static const IndustryTileTable * const _tile_table_sawmill[] = {
149 _tile_table_sawmill_0,
150 _tile_table_sawmill_1,
153 static const IndustryTileTable _tile_table_forest_0[] = {
154 MK(0, 0, 16),
155 MK(0, 1, 16),
156 MK(0, 2, 16),
157 MK(0, 3, 16),
158 MK(1, 0, 16),
159 MK(1, 1, 16),
160 MK(1, 2, 16),
161 MK(1, 3, 16),
162 MK(2, 0, 16),
163 MK(2, 1, 16),
164 MK(2, 2, 16),
165 MK(2, 3, 16),
166 MK(3, 0, 16),
167 MK(3, 1, 16),
168 MK(3, 2, 16),
169 MK(3, 3, 16),
170 MK(1, 4, 16),
171 MK(2, 4, 16),
172 MKEND
175 static const IndustryTileTable _tile_table_forest_1[] = {
176 MK(0, 0, 16),
177 MK(1, 0, 16),
178 MK(2, 0, 16),
179 MK(3, 0, 16),
180 MK(4, 0, 16),
181 MK(0, 1, 16),
182 MK(1, 1, 16),
183 MK(2, 1, 16),
184 MK(3, 1, 16),
185 MK(4, 1, 16),
186 MK(0, 2, 16),
187 MK(1, 2, 16),
188 MK(2, 2, 16),
189 MK(3, 2, 16),
190 MK(4, 2, 16),
191 MK(0, 3, 16),
192 MK(1, 3, 16),
193 MK(2, 3, 16),
194 MK(3, 3, 16),
195 MK(4, 3, 16),
196 MK(1, 4, 16),
197 MK(2, 4, 16),
198 MK(3, 4, 16),
199 MKEND
202 static const IndustryTileTable * const _tile_table_forest[] = {
203 _tile_table_forest_0,
204 _tile_table_forest_1,
207 static const IndustryTileTable _tile_table_oil_refinery_0[] = {
208 MK(0, 0, 20),
209 MK(0, 1, 21),
210 MK(0, 2, 22),
211 MK(0, 3, 21),
212 MK(1, 0, 20),
213 MK(1, 1, 19),
214 MK(1, 2, 22),
215 MK(1, 3, 20),
216 MK(2, 1, 18),
217 MK(2, 2, 18),
218 MK(2, 3, 18),
219 MK(3, 2, 18),
220 MK(3, 3, 18),
221 MK(2, 0, 23),
222 MK(3, 1, 23),
223 MKEND
226 static const IndustryTileTable _tile_table_oil_refinery_1[] = {
227 MK(0, 0, 18),
228 MK(0, 1, 18),
229 MK(0, 2, 21),
230 MK(0, 3, 22),
231 MK(0, 4, 20),
232 MK(1, 0, 18),
233 MK(1, 1, 18),
234 MK(1, 2, 19),
235 MK(1, 3, 20),
236 MK(2, 0, 18),
237 MK(2, 1, 18),
238 MK(2, 2, 19),
239 MK(2, 3, 22),
240 MK(1, 4, 23),
241 MK(2, 4, 23),
242 MKEND
245 static const IndustryTileTable * const _tile_table_oil_refinery[] = {
246 _tile_table_oil_refinery_0,
247 _tile_table_oil_refinery_1,
250 static const IndustryTileTable _tile_table_oil_rig_0[] = {
251 MK(0, 0, 24),
252 MK(0, 1, 24),
253 MK(0, 2, 25),
254 MK(1, 0, 26),
255 MK(1, 1, 27),
256 MK(1, 2, 28),
257 MK(-4, -4, 255),
258 MK(-4, -3, 255),
259 MK(-4, -2, 255),
260 MK(-4, -1, 255),
261 MK(-4, 0, 255),
262 MK(-4, 1, 255),
263 MK(-4, 2, 255),
264 MK(-4, 3, 255),
265 MK(-4, 4, 255),
266 MK(-4, 5, 255),
267 MK(-4, 6, 255),
268 MK(-3, 6, 255),
269 MK(-2, 6, 255),
270 MK(-1, 6, 255),
271 MK(0, 6, 255),
272 MK(1, 6, 255),
273 MK(2, 6, 255),
274 MK(3, 6, 255),
275 MK(4, 6, 255),
276 MK(5, 6, 255),
277 MK(5, 5, 255),
278 MK(5, 4, 255),
279 MK(5, 3, 255),
280 MK(5, 2, 255),
281 MK(5, 1, 255),
282 MK(5, 0, 255),
283 MK(5, -1, 255),
284 MK(5, -2, 255),
285 MK(5, -3, 255),
286 MK(5, -4, 255),
287 MK(4, -4, 255),
288 MK(3, -4, 255),
289 MK(2, -4, 255),
290 MK(1, -4, 255),
291 MK(0, -4, 255),
292 MK(-1, -4, 255),
293 MK(-2, -4, 255),
294 MK(-3, -4, 255),
295 MK(2, 0, 255),
296 MKEND
299 static const IndustryTileTable * const _tile_table_oil_rig[] = {
300 _tile_table_oil_rig_0,
303 static const IndustryTileTable _tile_table_factory_0[] = {
304 MK(0, 0, 39),
305 MK(0, 1, 40),
306 MK(1, 0, 41),
307 MK(1, 1, 42),
308 MK(0, 2, 39),
309 MK(0, 3, 40),
310 MK(1, 2, 41),
311 MK(1, 3, 42),
312 MK(2, 1, 39),
313 MK(2, 2, 40),
314 MK(3, 1, 41),
315 MK(3, 2, 42),
316 MKEND
319 static const IndustryTileTable _tile_table_factory_1[] = {
320 MK(0, 0, 39),
321 MK(0, 1, 40),
322 MK(1, 0, 41),
323 MK(1, 1, 42),
324 MK(2, 0, 39),
325 MK(2, 1, 40),
326 MK(3, 0, 41),
327 MK(3, 1, 42),
328 MK(1, 2, 39),
329 MK(1, 3, 40),
330 MK(2, 2, 41),
331 MK(2, 3, 42),
332 MKEND
335 static const IndustryTileTable * const _tile_table_factory[] = {
336 _tile_table_factory_0,
337 _tile_table_factory_1,
340 static const IndustryTileTable _tile_table_printing_works_0[] = {
341 MK(0, 0, 43),
342 MK(0, 1, 44),
343 MK(1, 0, 45),
344 MK(1, 1, 46),
345 MK(0, 2, 43),
346 MK(0, 3, 44),
347 MK(1, 2, 45),
348 MK(1, 3, 46),
349 MK(2, 1, 43),
350 MK(2, 2, 44),
351 MK(3, 1, 45),
352 MK(3, 2, 46),
353 MKEND
356 static const IndustryTileTable _tile_table_printing_works_1[] = {
357 MK(0, 0, 43),
358 MK(0, 1, 44),
359 MK(1, 0, 45),
360 MK(1, 1, 46),
361 MK(2, 0, 43),
362 MK(2, 1, 44),
363 MK(3, 0, 45),
364 MK(3, 1, 46),
365 MK(1, 2, 43),
366 MK(1, 3, 44),
367 MK(2, 2, 45),
368 MK(2, 3, 46),
369 MKEND
372 static const IndustryTileTable * const _tile_table_printing_works[] = {
373 _tile_table_printing_works_0,
374 _tile_table_printing_works_1,
377 static const IndustryTileTable _tile_table_steel_mill_0[] = {
378 MK(2, 1, 52),
379 MK(2, 2, 53),
380 MK(3, 1, 54),
381 MK(3, 2, 55),
382 MK(0, 0, 56),
383 MK(1, 0, 57),
384 MK(0, 1, 56),
385 MK(1, 1, 57),
386 MK(0, 2, 56),
387 MK(1, 2, 57),
388 MK(2, 0, 56),
389 MK(3, 0, 57),
390 MKEND
393 static const IndustryTileTable _tile_table_steel_mill_1[] = {
394 MK(0, 0, 52),
395 MK(0, 1, 53),
396 MK(1, 0, 54),
397 MK(1, 1, 55),
398 MK(2, 0, 52),
399 MK(2, 1, 53),
400 MK(3, 0, 54),
401 MK(3, 1, 55),
402 MK(0, 2, 56),
403 MK(1, 2, 57),
404 MK(2, 2, 56),
405 MK(3, 2, 57),
406 MK(1, 3, 56),
407 MK(2, 3, 57),
408 MKEND
411 static const IndustryTileTable * const _tile_table_steel_mill[] = {
412 _tile_table_steel_mill_0,
413 _tile_table_steel_mill_1,
416 static const IndustryTileTable _tile_table_farm_0[] = {
417 MK(1, 0, 33),
418 MK(1, 1, 34),
419 MK(1, 2, 36),
420 MK(0, 0, 37),
421 MK(0, 1, 37),
422 MK(0, 2, 36),
423 MK(2, 0, 35),
424 MK(2, 1, 38),
425 MK(2, 2, 38),
426 MKEND
429 static const IndustryTileTable _tile_table_farm_1[] = {
430 MK(1, 1, 33),
431 MK(1, 2, 34),
432 MK(0, 0, 35),
433 MK(0, 1, 36),
434 MK(0, 2, 36),
435 MK(0, 3, 35),
436 MK(1, 0, 37),
437 MK(1, 3, 38),
438 MK(2, 0, 37),
439 MK(2, 1, 37),
440 MK(2, 2, 38),
441 MK(2, 3, 38),
442 MKEND
445 static const IndustryTileTable _tile_table_farm_2[] = {
446 MK(2, 0, 33),
447 MK(2, 1, 34),
448 MK(0, 0, 36),
449 MK(0, 1, 36),
450 MK(0, 2, 37),
451 MK(0, 3, 37),
452 MK(1, 0, 35),
453 MK(1, 1, 38),
454 MK(1, 2, 38),
455 MK(1, 3, 37),
456 MK(2, 2, 37),
457 MK(2, 3, 35),
458 MKEND
461 static const IndustryTileTable * const _tile_table_farm[] = {
462 _tile_table_farm_0,
463 _tile_table_farm_1,
464 _tile_table_farm_2,
467 static const IndustryTileTable _tile_table_copper_mine_0[] = {
468 MK(0, 0, 47),
469 MK(0, 1, 49),
470 MK(0, 2, 51),
471 MK(1, 0, 47),
472 MK(1, 1, 49),
473 MK(1, 2, 50),
474 MK(2, 0, 51),
475 MK(2, 1, 51),
476 MKEND
479 static const IndustryTileTable _tile_table_copper_mine_1[] = {
480 MK(0, 0, 50),
481 MK(0, 1, 47),
482 MK(0, 2, 49),
483 MK(1, 0, 47),
484 MK(1, 1, 49),
485 MK(1, 2, 51),
486 MK(2, 0, 51),
487 MK(2, 1, 47),
488 MK(2, 2, 49),
489 MKEND
492 static const IndustryTileTable * const _tile_table_copper_mine[] = {
493 _tile_table_copper_mine_0,
494 _tile_table_copper_mine_1,
497 static const IndustryTileTable _tile_table_oil_well_0[] = {
498 MK(0, 0, 29),
499 MK(1, 0, 29),
500 MK(2, 0, 29),
501 MK(0, 1, 29),
502 MK(0, 2, 29),
503 MKEND
506 static const IndustryTileTable _tile_table_oil_well_1[] = {
507 MK(0, 0, 29),
508 MK(1, 0, 29),
509 MK(1, 1, 29),
510 MK(2, 2, 29),
511 MK(2, 3, 29),
512 MKEND
515 static const IndustryTileTable * const _tile_table_oil_well[] = {
516 _tile_table_oil_well_0,
517 _tile_table_oil_well_1,
520 static const IndustryTileTable _tile_table_bank_0[] = {
521 MK(0, 0, 58),
522 MK(1, 0, 59),
523 MKEND
526 static const IndustryTileTable * const _tile_table_bank[] = {
527 _tile_table_bank_0,
530 static const IndustryTileTable _tile_table_food_process_0[] = {
531 MK(0, 0, 60),
532 MK(1, 0, 60),
533 MK(2, 0, 60),
534 MK(0, 1, 60),
535 MK(1, 1, 60),
536 MK(2, 1, 60),
537 MK(0, 2, 61),
538 MK(1, 2, 61),
539 MK(2, 2, 63),
540 MK(0, 3, 62),
541 MK(1, 3, 62),
542 MK(2, 3, 63),
543 MKEND
546 static const IndustryTileTable _tile_table_food_process_1[] = {
547 MK(0, 0, 61),
548 MK(1, 0, 60),
549 MK(2, 0, 61),
550 MK(3, 0, 61),
551 MK(0, 1, 62),
552 MK(1, 1, 63),
553 MK(2, 1, 63),
554 MK(3, 1, 63),
555 MK(0, 2, 60),
556 MK(1, 2, 60),
557 MK(2, 2, 60),
558 MK(3, 2, 60),
559 MK(0, 3, 62),
560 MK(1, 3, 62),
561 MKEND
564 static const IndustryTileTable * const _tile_table_food_process[] = {
565 _tile_table_food_process_0,
566 _tile_table_food_process_1,
569 static const IndustryTileTable _tile_table_paper_mill_0[] = {
570 MK(0, 0, 64),
571 MK(1, 0, 65),
572 MK(2, 0, 66),
573 MK(3, 0, 67),
574 MK(0, 1, 68),
575 MK(1, 1, 69),
576 MK(2, 1, 67),
577 MK(3, 1, 67),
578 MK(0, 2, 66),
579 MK(1, 2, 71),
580 MK(2, 2, 71),
581 MK(3, 2, 70),
582 MKEND
585 static const IndustryTileTable * const _tile_table_paper_mill[] = {
586 _tile_table_paper_mill_0,
589 static const IndustryTileTable _tile_table_gold_mine_0[] = {
590 MK(0, 0, 72),
591 MK(0, 1, 73),
592 MK(0, 2, 74),
593 MK(0, 3, 75),
594 MK(1, 0, 76),
595 MK(1, 1, 77),
596 MK(1, 2, 78),
597 MK(1, 3, 79),
598 MK(2, 0, 80),
599 MK(2, 1, 81),
600 MK(2, 2, 82),
601 MK(2, 3, 83),
602 MK(3, 0, 84),
603 MK(3, 1, 85),
604 MK(3, 2, 86),
605 MK(3, 3, 87),
606 MKEND
609 static const IndustryTileTable * const _tile_table_gold_mine[] = {
610 _tile_table_gold_mine_0,
613 static const IndustryTileTable _tile_table_bank2_0[] = {
614 MK(0, 0, 89),
615 MK(1, 0, 90),
616 MKEND
619 static const IndustryTileTable * const _tile_table_bank2[] = {
620 _tile_table_bank2_0,
623 static const IndustryTileTable _tile_table_diamond_mine_0[] = {
624 MK(0, 0, 91),
625 MK(0, 1, 92),
626 MK(0, 2, 93),
627 MK(1, 0, 94),
628 MK(1, 1, 95),
629 MK(1, 2, 96),
630 MK(2, 0, 97),
631 MK(2, 1, 98),
632 MK(2, 2, 99),
633 MKEND
636 static const IndustryTileTable * const _tile_table_diamond_mine[] = {
637 _tile_table_diamond_mine_0,
640 static const IndustryTileTable _tile_table_iron_mine_0[] = {
641 MK(0, 0, 100),
642 MK(0, 1, 101),
643 MK(0, 2, 102),
644 MK(0, 3, 103),
645 MK(1, 0, 104),
646 MK(1, 1, 105),
647 MK(1, 2, 106),
648 MK(1, 3, 107),
649 MK(2, 0, 108),
650 MK(2, 1, 109),
651 MK(2, 2, 110),
652 MK(2, 3, 111),
653 MK(3, 0, 112),
654 MK(3, 1, 113),
655 MK(3, 2, 114),
656 MK(3, 3, 115),
657 MKEND
660 static const IndustryTileTable * const _tile_table_iron_mine[] = {
661 _tile_table_iron_mine_0,
664 static const IndustryTileTable _tile_table_fruit_plantation_0[] = {
665 MK(0, 0, 116),
666 MK(0, 1, 116),
667 MK(0, 2, 116),
668 MK(0, 3, 116),
669 MK(1, 0, 116),
670 MK(1, 1, 116),
671 MK(1, 2, 116),
672 MK(1, 3, 116),
673 MK(2, 0, 116),
674 MK(2, 1, 116),
675 MK(2, 2, 116),
676 MK(2, 3, 116),
677 MK(3, 0, 116),
678 MK(3, 1, 116),
679 MK(3, 2, 116),
680 MK(3, 3, 116),
681 MK(4, 0, 116),
682 MK(4, 1, 116),
683 MK(4, 2, 116),
684 MK(4, 3, 116),
685 MKEND
688 static const IndustryTileTable * const _tile_table_fruit_plantation[] = {
689 _tile_table_fruit_plantation_0,
692 static const IndustryTileTable _tile_table_rubber_plantation_0[] = {
693 MK(0, 0, 117),
694 MK(0, 1, 117),
695 MK(0, 2, 117),
696 MK(0, 3, 117),
697 MK(1, 0, 117),
698 MK(1, 1, 117),
699 MK(1, 2, 117),
700 MK(1, 3, 117),
701 MK(2, 0, 117),
702 MK(2, 1, 117),
703 MK(2, 2, 117),
704 MK(2, 3, 117),
705 MK(3, 0, 117),
706 MK(3, 1, 117),
707 MK(3, 2, 117),
708 MK(3, 3, 117),
709 MK(4, 0, 117),
710 MK(4, 1, 117),
711 MK(4, 2, 117),
712 MK(4, 3, 117),
713 MKEND
716 static const IndustryTileTable * const _tile_table_rubber_plantation[] = {
717 _tile_table_rubber_plantation_0,
720 static const IndustryTileTable _tile_table_water_supply_0[] = {
721 MK(0, 0, 118),
722 MK(0, 1, 119),
723 MK(1, 0, 118),
724 MK(1, 1, 119),
725 MKEND
728 static const IndustryTileTable * const _tile_table_water_supply[] = {
729 _tile_table_water_supply_0,
732 static const IndustryTileTable _tile_table_water_tower_0[] = {
733 MK(0, 0, 120),
734 MKEND
737 static const IndustryTileTable * const _tile_table_water_tower[] = {
738 _tile_table_water_tower_0,
741 static const IndustryTileTable _tile_table_factory2_0[] = {
742 MK(0, 0, 121),
743 MK(0, 1, 122),
744 MK(1, 0, 123),
745 MK(1, 1, 124),
746 MK(0, 2, 121),
747 MK(0, 3, 122),
748 MK(1, 2, 123),
749 MK(1, 3, 124),
750 MKEND
753 static const IndustryTileTable _tile_table_factory2_1[] = {
754 MK(0, 0, 121),
755 MK(0, 1, 122),
756 MK(1, 0, 123),
757 MK(1, 1, 124),
758 MK(2, 0, 121),
759 MK(2, 1, 122),
760 MK(3, 0, 123),
761 MK(3, 1, 124),
762 MKEND
765 static const IndustryTileTable * const _tile_table_factory2[] = {
766 _tile_table_factory2_0,
767 _tile_table_factory2_1,
770 static const IndustryTileTable _tile_table_farm2_0[] = {
771 MK(1, 0, 33),
772 MK(1, 1, 34),
773 MK(1, 2, 36),
774 MK(0, 0, 37),
775 MK(0, 1, 37),
776 MK(0, 2, 36),
777 MK(2, 0, 35),
778 MK(2, 1, 38),
779 MK(2, 2, 38),
780 MKEND
783 static const IndustryTileTable _tile_table_farm2_1[] = {
784 MK(1, 1, 33),
785 MK(1, 2, 34),
786 MK(0, 0, 35),
787 MK(0, 1, 36),
788 MK(0, 2, 36),
789 MK(0, 3, 35),
790 MK(1, 0, 37),
791 MK(1, 3, 38),
792 MK(2, 0, 37),
793 MK(2, 1, 37),
794 MK(2, 2, 38),
795 MK(2, 3, 38),
796 MKEND
799 static const IndustryTileTable _tile_table_farm2_2[] = {
800 MK(2, 0, 33),
801 MK(2, 1, 34),
802 MK(0, 0, 36),
803 MK(0, 1, 36),
804 MK(0, 2, 37),
805 MK(0, 3, 37),
806 MK(1, 0, 35),
807 MK(1, 1, 38),
808 MK(1, 2, 38),
809 MK(1, 3, 37),
810 MK(2, 2, 37),
811 MK(2, 3, 35),
812 MKEND
815 static const IndustryTileTable * const _tile_table_farm2[] = {
816 _tile_table_farm2_0,
817 _tile_table_farm2_1,
818 _tile_table_farm2_2,
821 static const IndustryTileTable _tile_table_lumber_mill_0[] = {
822 MK(0, 0, 125),
823 MK(0, 1, 126),
824 MK(1, 0, 127),
825 MK(1, 1, 128),
826 MKEND
829 static const IndustryTileTable * const _tile_table_lumber_mill[] = {
830 _tile_table_lumber_mill_0,
833 static const IndustryTileTable _tile_table_cotton_candy_0[] = {
834 MK(0, 0, 129),
835 MK(0, 1, 129),
836 MK(0, 2, 129),
837 MK(0, 3, 129),
838 MK(1, 0, 129),
839 MK(1, 1, 129),
840 MK(1, 2, 129),
841 MK(1, 3, 129),
842 MK(2, 0, 129),
843 MK(2, 1, 129),
844 MK(2, 2, 129),
845 MK(2, 3, 129),
846 MK(3, 0, 129),
847 MK(3, 1, 129),
848 MK(3, 2, 129),
849 MK(3, 3, 129),
850 MK(1, 4, 129),
851 MK(2, 4, 129),
852 MKEND
855 static const IndustryTileTable _tile_table_cotton_candy_1[] = {
856 MK(0, 0, 129),
857 MK(1, 0, 129),
858 MK(2, 0, 129),
859 MK(3, 0, 129),
860 MK(4, 0, 129),
861 MK(0, 1, 129),
862 MK(1, 1, 129),
863 MK(2, 1, 129),
864 MK(3, 1, 129),
865 MK(4, 1, 129),
866 MK(0, 2, 129),
867 MK(1, 2, 129),
868 MK(2, 2, 129),
869 MK(3, 2, 129),
870 MK(4, 2, 129),
871 MK(0, 3, 129),
872 MK(1, 3, 129),
873 MK(2, 3, 129),
874 MK(3, 3, 129),
875 MK(4, 3, 129),
876 MK(1, 4, 129),
877 MK(2, 4, 129),
878 MK(3, 4, 129),
879 MKEND
882 static const IndustryTileTable * const _tile_table_cotton_candy[] = {
883 _tile_table_cotton_candy_0,
884 _tile_table_cotton_candy_1,
887 static const IndustryTileTable _tile_table_candy_factory_0[] = {
888 MK(0, 0, 131),
889 MK(0, 1, 132),
890 MK(1, 0, 133),
891 MK(1, 1, 134),
892 MK(0, 2, 131),
893 MK(0, 3, 132),
894 MK(1, 2, 133),
895 MK(1, 3, 134),
896 MK(2, 1, 131),
897 MK(2, 2, 132),
898 MK(3, 1, 133),
899 MK(3, 2, 134),
900 MKEND
903 static const IndustryTileTable _tile_table_candy_factory_1[] = {
904 MK(0, 0, 131),
905 MK(0, 1, 132),
906 MK(1, 0, 133),
907 MK(1, 1, 134),
908 MK(2, 0, 131),
909 MK(2, 1, 132),
910 MK(3, 0, 133),
911 MK(3, 1, 134),
912 MK(1, 2, 131),
913 MK(1, 3, 132),
914 MK(2, 2, 133),
915 MK(2, 3, 134),
916 MKEND
919 static const IndustryTileTable * const _tile_table_candy_factory[] = {
920 _tile_table_candy_factory_0,
921 _tile_table_candy_factory_1,
924 static const IndustryTileTable _tile_table_battery_farm_0[] = {
925 MK(0, 0, 135),
926 MK(0, 1, 135),
927 MK(0, 2, 135),
928 MK(0, 3, 135),
929 MK(1, 0, 135),
930 MK(1, 1, 135),
931 MK(1, 2, 135),
932 MK(1, 3, 135),
933 MK(2, 0, 135),
934 MK(2, 1, 135),
935 MK(2, 2, 135),
936 MK(2, 3, 135),
937 MK(3, 0, 135),
938 MK(3, 1, 135),
939 MK(3, 2, 135),
940 MK(3, 3, 135),
941 MK(4, 0, 135),
942 MK(4, 1, 135),
943 MK(4, 2, 135),
944 MK(4, 3, 135),
945 MKEND
948 static const IndustryTileTable * const _tile_table_battery_farm[] = {
949 _tile_table_battery_farm_0,
952 static const IndustryTileTable _tile_table_cola_wells_0[] = {
953 MK(0, 0, 137),
954 MK(0, 1, 137),
955 MK(0, 2, 137),
956 MK(1, 0, 137),
957 MK(1, 1, 137),
958 MK(1, 2, 137),
959 MK(2, 1, 137),
960 MK(2, 2, 137),
961 MKEND
964 static const IndustryTileTable _tile_table_cola_wells_1[] = {
965 MK(0, 1, 137),
966 MK(0, 2, 137),
967 MK(0, 3, 137),
968 MK(1, 0, 137),
969 MK(1, 1, 137),
970 MK(1, 2, 137),
971 MK(2, 1, 137),
972 MKEND
975 static const IndustryTileTable * const _tile_table_cola_wells[] = {
976 _tile_table_cola_wells_0,
977 _tile_table_cola_wells_1,
980 static const IndustryTileTable _tile_table_toy_shop_0[] = {
981 MK(0, 0, 138),
982 MK(0, 1, 139),
983 MK(1, 0, 140),
984 MK(1, 1, 141),
985 MKEND
988 static const IndustryTileTable * const _tile_table_toy_shop[] = {
989 _tile_table_toy_shop_0,
992 static const IndustryTileTable _tile_table_toy_factory_0[] = {
993 MK(0, 0, 147),
994 MK(0, 1, 142),
995 MK(1, 0, 147),
996 MK(1, 1, 143),
997 MK(2, 0, 147),
998 MK(2, 1, 144),
999 MK(3, 0, 146),
1000 MK(3, 1, 145),
1001 MKEND
1004 static const IndustryTileTable * const _tile_table_toy_factory[] = {
1005 _tile_table_toy_factory_0,
1008 static const IndustryTileTable _tile_table_plastic_fountain_0[] = {
1009 MK(0, 0, 148),
1010 MK(0, 1, 151),
1011 MK(0, 2, 154),
1012 MKEND
1015 static const IndustryTileTable _tile_table_plastic_fountain_1[] = {
1016 MK(0, 0, 148),
1017 MK(1, 0, 151),
1018 MK(2, 0, 154),
1019 MKEND
1022 static const IndustryTileTable * const _tile_table_plastic_fountain[] = {
1023 _tile_table_plastic_fountain_0,
1024 _tile_table_plastic_fountain_1,
1027 static const IndustryTileTable _tile_table_fizzy_drink_0[] = {
1028 MK(0, 0, 156),
1029 MK(0, 1, 157),
1030 MK(1, 0, 158),
1031 MK(1, 1, 159),
1032 MKEND
1035 static const IndustryTileTable * const _tile_table_fizzy_drink[] = {
1036 _tile_table_fizzy_drink_0,
1039 static const IndustryTileTable _tile_table_bubble_generator_0[] = {
1040 MK(0, 0, 163),
1041 MK(0, 1, 160),
1042 MK(1, 0, 163),
1043 MK(1, 1, 161),
1044 MK(2, 0, 163),
1045 MK(2, 1, 162),
1046 MK(0, 2, 163),
1047 MK(0, 3, 160),
1048 MK(1, 2, 163),
1049 MK(1, 3, 161),
1050 MK(2, 2, 163),
1051 MK(2, 3, 162),
1052 MKEND
1055 static const IndustryTileTable * const _tile_table_bubble_generator[] = {
1056 _tile_table_bubble_generator_0,
1059 static const IndustryTileTable _tile_table_toffee_quarry_0[] = {
1060 MK(0, 0, 164),
1061 MK(1, 0, 165),
1062 MK(2, 0, 166),
1063 MKEND
1066 static const IndustryTileTable * const _tile_table_toffee_quarry[] = {
1067 _tile_table_toffee_quarry_0,
1070 static const IndustryTileTable _tile_table_sugar_mine_0[] = {
1071 MK(0, 0, 167),
1072 MK(0, 1, 168),
1073 MK(1, 0, 169),
1074 MK(1, 1, 170),
1075 MK(2, 0, 171),
1076 MK(2, 1, 172),
1077 MK(3, 0, 173),
1078 MK(3, 1, 174),
1079 MKEND
1082 static const IndustryTileTable * const _tile_table_sugar_mine[] = {
1083 _tile_table_sugar_mine_0,
1086 #undef MK
1087 #undef MKEND
1089 /** Array with saw sound, for sawmill */
1090 static const uint8 _sawmill_sounds[] = { SND_28_SAWMILL };
1092 /** Array with whistle sound, for factory */
1093 static const uint8 _factory_sounds[] = { SND_03_FACTORY_WHISTLE };
1095 /** Array with 3 animal sounds, for farms */
1096 static const uint8 _farm_sounds[] = { SND_24_SHEEP, SND_25_COW, SND_26_HORSE };
1098 /** Array with... hem... a sound of toyland */
1099 static const uint8 _plastic_mine_sounds[] = { SND_33_PLASTIC_MINE };
1101 enum IndustryTypes {
1102 IT_COAL_MINE = 0,
1103 IT_POWER_STATION = 1,
1104 IT_SAWMILL = 2,
1105 IT_FOREST = 3,
1106 IT_OIL_REFINERY = 4,
1107 IT_OIL_RIG = 5,
1108 IT_FACTORY = 6,
1109 IT_PRINTING_WORKS = 7,
1110 IT_STEEL_MILL = 8,
1111 IT_FARM = 9,
1112 IT_COPPER_MINE = 10,
1113 IT_OIL_WELL = 11,
1114 IT_BANK_TEMP = 12,
1115 IT_FOOD_PROCESS = 13,
1116 IT_PAPER_MILL = 14,
1117 IT_GOLD_MINE = 15,
1118 IT_BANK_TROPIC_ARCTIC = 16,
1119 IT_DIAMOND_MINE = 17,
1120 IT_IRON_MINE = 18,
1121 IT_FRUIT_PLANTATION = 19,
1122 IT_RUBBER_PLANTATION = 20,
1123 IT_WATER_SUPPLY = 21,
1124 IT_WATER_TOWER = 22,
1125 IT_FACTORY_2 = 23,
1126 IT_FARM_2 = 24,
1127 IT_LUMBER_MILL = 25,
1128 IT_COTTON_CANDY = 26,
1129 IT_CANDY_FACTORY = 27,
1130 IT_BATTERY_FARM = 28,
1131 IT_COLA_WELLS = 29,
1132 IT_TOY_SHOP = 30,
1133 IT_TOY_FACTORY = 31,
1134 IT_PLASTIC_FOUNTAINS = 32,
1135 IT_FIZZY_DRINK_FACTORY = 33,
1136 IT_BUBBLE_GENERATOR = 34,
1137 IT_TOFFEE_QUARRY = 35,
1138 IT_SUGAR_MINE = 36,
1139 IT_END,
1143 * Writes the properties of an industry into the IndustrySpec struct.
1144 * @param tbl tile table
1145 * @param sndc number of sounds
1146 * @param snd sounds table
1147 * @param d cost multiplier
1148 * @param pc prospecting chance
1149 * @param ai1 appear chance ingame - temperate
1150 * @param ai2 appear chance ingame - arctic
1151 * @param ai3 appear chance ingame - tropic
1152 * @param ai4 appear chance ingame - toyland
1153 * @param ag1 appear chance random creation - temperate
1154 * @param ag2 appear chance random creation - arctic
1155 * @param ag3 appear chance random creation - tropic
1156 * @param ag4 appear chance random creation - toyland
1157 * @param col map colour
1158 * @param c1 industry proximity refusal - 1st
1159 * @param c2 industry proximity refusal - 2nd
1160 * @param c3 industry proximity refusal - 3th
1161 * @param proc check procedure index
1162 * @param p1 produce cargo 1
1163 * @param r1 rate of production 1
1164 * @param p2 produce cargo 2
1165 * @param r2 rate of production 1
1166 * @param m minimum cargo moved to station
1167 * @param a1 accepted cargo 1
1168 * @param im1 input multiplier for cargo 1
1169 * @param a2 accepted cargo 2
1170 * @param im2 input multiplier for cargo 2
1171 * @param a3 accepted cargo 3
1172 * @param im3 input multiplier for cargo 3
1173 * @param pr industry life (actually, the same as extractive, organic, processing in ttdpatch's specs)
1174 * @param clim climate availability
1175 * @param bev industry behaviour
1176 * @param in name
1177 * @param intx text while building
1178 * @param s1 text for closure
1179 * @param s2 text for production up
1180 * @param s3 text for production down
1183 #define MI(tbl, sndc, snd, d, pc, ai1, ai2, ai3, ai4, ag1, ag2, ag3, ag4, col, \
1184 c1, c2, c3, proc, p1, r1, p2, r2, m, a1, im1, a2, im2, a3, im3, pr, clim, bev, in, intx, s1, s2, s3) \
1185 {tbl, lengthof(tbl), d, 0, pc, {c1, c2, c3}, proc, {p1, p2}, {r1, r2}, m, \
1186 {a1, a2, a3}, {{im1, 0}, {im2, 0}, {im3, 0}}, pr, clim, bev, col, in, intx, s1, s2, s3, STR_UNDEFINED, {ai1, ai2, ai3, ai4}, {ag1, ag2, ag3, ag4}, \
1187 sndc, snd, 0, 0, true, GRFFileProps(INVALID_INDUSTRYTYPE)}
1188 /* Format:
1189 tile table count and sounds table
1190 cost multiplier appear chances(4ingame, 4random) map colour
1191 cannot be close to these industries (3 times) check proc
1192 (produced cargo + rate) (twice) minimum cargo moved to station
1193 3 accepted cargo and their corresponding input multiplier
1194 industry life climate availability
1195 industry behaviours
1196 industry name building text
1197 messages : Closure production up production down */
1198 static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
1199 MI(_tile_table_coal_mine, 0, NULL,
1200 210, 0xB3333333, 2, 3, 0, 0, 8, 8, 0, 0, 1,
1201 IT_POWER_STATION, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1202 CT_COAL, 15, CT_INVALID, 0, 5,
1203 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1204 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TEMPERATE | 1 << LT_ARCTIC,
1205 INDUSTRYBEH_CAN_SUBSIDENCE,
1206 STR_INDUSTRY_NAME_COAL_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
1207 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1209 MI(_tile_table_power_station, 0, NULL,
1210 240, 0xFFFFFFFF, 2, 2, 0, 0, 5, 5, 0, 0, 184,
1211 IT_COAL_MINE, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1212 CT_INVALID, 0, CT_INVALID, 0, 5,
1213 CT_COAL, 256, CT_INVALID, 256, CT_INVALID, 256,
1214 INDUSTRYLIFE_BLACK_HOLE, 1 << LT_TEMPERATE | 1 << LT_ARCTIC,
1215 INDUSTRYBEH_NONE,
1216 STR_INDUSTRY_NAME_POWER_STATION, STR_NEWS_INDUSTRY_CONSTRUCTION,
1217 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1219 MI(_tile_table_sawmill, 1, _sawmill_sounds,
1220 224, 0xFFFFFFFF, 2, 0, 0, 0, 5, 0, 0, 0, 194,
1221 IT_FOREST, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1222 CT_GOODS, 0, CT_INVALID, 0, 5,
1223 CT_WOOD, 256, CT_INVALID, 256, CT_INVALID, 256,
1224 INDUSTRYLIFE_PROCESSING, 1 << LT_TEMPERATE,
1225 INDUSTRYBEH_NONE,
1226 STR_INDUSTRY_NAME_SAWMILL, STR_NEWS_INDUSTRY_CONSTRUCTION,
1227 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1229 MI(_tile_table_forest, 0, NULL,
1230 200, 0xBFFFFFFF, 3, 4, 0, 0, 5, 5, 0, 0, 86,
1231 IT_SAWMILL, IT_PAPER_MILL, IT_INVALID, CHECK_FOREST,
1232 CT_WOOD, 13, CT_INVALID, 0, 30,
1233 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1234 INDUSTRYLIFE_ORGANIC, 1 << LT_TEMPERATE | 1 << LT_ARCTIC,
1235 INDUSTRYBEH_NONE,
1236 STR_INDUSTRY_NAME_FOREST, STR_NEWS_INDUSTRY_PLANTED,
1237 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
1239 MI(_tile_table_oil_refinery, 0, NULL,
1240 244, 0xFFFFFFFF, 2, 2, 2, 0, 4, 4, 4, 0, 191,
1241 IT_OIL_RIG, IT_INVALID, IT_INVALID, CHECK_REFINERY,
1242 CT_GOODS, 0, CT_INVALID, 0, 5,
1243 CT_OIL, 256, CT_INVALID, 256, CT_INVALID, 256,
1244 INDUSTRYLIFE_PROCESSING, 1 << LT_TEMPERATE | 1 << LT_ARCTIC | 1 << LT_TROPIC,
1245 INDUSTRYBEH_AIRPLANE_ATTACKS,
1246 STR_INDUSTRY_NAME_OIL_REFINERY, STR_NEWS_INDUSTRY_CONSTRUCTION,
1247 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1249 MI(_tile_table_oil_rig, 0, NULL,
1250 240, 0x99999999, 6, 0, 0, 0, 0, 0, 0, 0, 152,
1251 IT_OIL_REFINERY, IT_INVALID, IT_INVALID, CHECK_OIL_RIG,
1252 CT_OIL, 15, CT_PASSENGERS, 2, 5,
1253 CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0,
1254 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TEMPERATE,
1255 INDUSTRYBEH_BUILT_ONWATER | INDUSTRYBEH_AFTER_1960 | INDUSTRYBEH_AI_AIRSHIP_ROUTES,
1256 STR_INDUSTRY_NAME_OIL_RIG, STR_NEWS_INDUSTRY_CONSTRUCTION,
1257 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1259 MI(_tile_table_factory, 1, _factory_sounds,
1260 208, 0xFFFFFFFF, 2, 0, 0, 0, 5, 0, 0, 0, 174,
1261 IT_FARM, IT_STEEL_MILL, IT_INVALID, CHECK_NOTHING,
1262 CT_GOODS, 0, CT_INVALID, 0, 5,
1263 CT_LIVESTOCK, 256, CT_GRAIN, 256, CT_STEEL, 256,
1264 INDUSTRYLIFE_PROCESSING, 1 << LT_TEMPERATE,
1265 INDUSTRYBEH_CHOPPER_ATTACKS,
1266 STR_INDUSTRY_NAME_FACTORY, STR_NEWS_INDUSTRY_CONSTRUCTION,
1267 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1269 MI(_tile_table_printing_works, 1, _factory_sounds,
1270 208, 0xFFFFFFFF, 0, 2, 0, 0, 0, 5, 0, 0, 174,
1271 IT_PAPER_MILL, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1272 CT_GOODS, 0, CT_INVALID, 0, 5,
1273 CT_PAPER, 256, CT_INVALID, 256, CT_INVALID, 256,
1274 INDUSTRYLIFE_PROCESSING, 1 << LT_ARCTIC,
1275 INDUSTRYBEH_NONE,
1276 STR_INDUSTRY_NAME_PRINTING_WORKS, STR_NEWS_INDUSTRY_CONSTRUCTION,
1277 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1279 MI(_tile_table_steel_mill, 0, NULL,
1280 215, 0xFFFFFFFF, 2, 0, 0, 0, 5, 0, 0, 0, 10,
1281 IT_IRON_MINE, IT_FACTORY, IT_INVALID, CHECK_NOTHING,
1282 CT_STEEL, 0, CT_INVALID, 0, 5,
1283 CT_IRON_ORE, 256, CT_INVALID, 256, CT_INVALID, 256,
1284 INDUSTRYLIFE_PROCESSING, 1 << LT_TEMPERATE,
1285 INDUSTRYBEH_NONE,
1286 STR_INDUSTRY_NAME_STEEL_MILL, STR_NEWS_INDUSTRY_CONSTRUCTION,
1287 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1289 MI(_tile_table_farm, 3, _farm_sounds,
1290 250, 0xD9999999, 2, 4, 0, 0, 9, 9, 0, 0, 48,
1291 IT_FACTORY, IT_FOOD_PROCESS, IT_INVALID, CHECK_FARM,
1292 CT_GRAIN, 10, CT_LIVESTOCK, 10, 5,
1293 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1294 INDUSTRYLIFE_ORGANIC, 1 << LT_TEMPERATE | 1 << LT_ARCTIC,
1295 INDUSTRYBEH_PLANT_FIELDS | INDUSTRYBEH_PLANT_ON_BUILT,
1296 STR_INDUSTRY_NAME_FARM, STR_NEWS_INDUSTRY_CONSTRUCTION,
1297 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
1299 MI(_tile_table_copper_mine, 0, NULL,
1300 205, 0xB3333333, 0, 0, 3, 0, 0, 0, 4, 0, 10,
1301 IT_FACTORY_2, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1302 CT_COPPER_ORE, 10, CT_INVALID, 0, 5,
1303 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1304 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TROPIC,
1305 INDUSTRYBEH_NONE,
1306 STR_INDUSTRY_NAME_COPPER_ORE_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
1307 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1309 MI(_tile_table_oil_well, 0, NULL,
1310 220, 0x99999999, 0, 5, 3, 0, 4, 5, 5, 0, 152,
1311 IT_OIL_REFINERY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1312 CT_OIL, 12, CT_INVALID, 0, 5,
1313 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1314 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TEMPERATE | 1 << LT_ARCTIC | 1 << LT_TROPIC,
1315 INDUSTRYBEH_DONT_INCR_PROD | INDUSTRYBEH_BEFORE_1950,
1316 STR_INDUSTRY_NAME_OIL_WELLS, STR_NEWS_INDUSTRY_CONSTRUCTION,
1317 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1319 MI(_tile_table_bank, 0, NULL,
1320 255, 0xA6666666, 7, 0, 0, 0, 0, 0, 0, 0, 15,
1321 IT_BANK_TEMP, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1322 CT_VALUABLES, 6, CT_INVALID, 0, 5,
1323 CT_VALUABLES, 0, CT_INVALID, 0, CT_INVALID, 0,
1324 INDUSTRYLIFE_BLACK_HOLE, 1 << LT_TEMPERATE,
1325 INDUSTRYBEH_TOWN1200_MORE,
1326 STR_INDUSTRY_NAME_BANK, STR_NEWS_INDUSTRY_CONSTRUCTION,
1327 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1329 MI(_tile_table_food_process, 0, NULL,
1330 206, 0xFFFFFFFF, 0, 2, 2, 0, 0, 3, 4, 0, 55,
1331 IT_FRUIT_PLANTATION, IT_FARM, IT_FARM_2, CHECK_NOTHING,
1332 CT_FOOD, 0, CT_INVALID, 0, 5,
1333 CT_FRUIT, 256, CT_MAIZE, 256, CT_INVALID, 256,
1334 INDUSTRYLIFE_PROCESSING, 1 << LT_ARCTIC | 1 << LT_TROPIC,
1335 INDUSTRYBEH_NONE,
1336 STR_INDUSTRY_NAME_FOOD_PROCESSING_PLANT, STR_NEWS_INDUSTRY_CONSTRUCTION,
1337 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1339 MI(_tile_table_paper_mill, 1, _sawmill_sounds,
1340 227, 0xFFFFFFFF, 0, 2, 0, 0, 0, 5, 0, 0, 10,
1341 IT_FOREST, IT_PRINTING_WORKS, IT_INVALID, CHECK_NOTHING,
1342 CT_PAPER, 0, CT_INVALID, 0, 5,
1343 CT_WOOD, 256, CT_INVALID, 256, CT_INVALID, 256,
1344 INDUSTRYLIFE_PROCESSING, 1 << LT_ARCTIC,
1345 INDUSTRYBEH_NONE,
1346 STR_INDUSTRY_NAME_PAPER_MILL, STR_NEWS_INDUSTRY_CONSTRUCTION,
1347 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1349 MI(_tile_table_gold_mine, 0, NULL,
1350 208, 0x99999999, 0, 3, 0, 0, 0, 4, 0, 0, 194,
1351 IT_BANK_TROPIC_ARCTIC, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1352 CT_GOLD, 7, CT_INVALID, 0, 5,
1353 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1354 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_ARCTIC,
1355 INDUSTRYBEH_NONE,
1356 STR_INDUSTRY_NAME_GOLD_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
1357 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1359 MI(_tile_table_bank2, 0, NULL,
1360 151, 0xA6666666, 0, 3, 3, 0, 0, 6, 5, 0, 15,
1361 IT_GOLD_MINE, IT_DIAMOND_MINE, IT_INVALID, CHECK_NOTHING,
1362 CT_INVALID, 0, CT_INVALID, 0, 5,
1363 CT_GOLD, 256, CT_INVALID, 256, CT_INVALID, 256,
1364 INDUSTRYLIFE_BLACK_HOLE, 1 << LT_ARCTIC | 1 << LT_TROPIC,
1365 INDUSTRYBEH_ONLY_INTOWN,
1366 STR_INDUSTRY_NAME_BANK_TROPIC_ARCTIC, STR_NEWS_INDUSTRY_CONSTRUCTION,
1367 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1369 MI(_tile_table_diamond_mine, 0, NULL,
1370 213, 0x99999999, 0, 0, 3, 0, 0, 0, 4, 0, 184,
1371 IT_BANK_TROPIC_ARCTIC, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1372 CT_DIAMONDS, 7, CT_INVALID, 0, 5,
1373 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1374 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TROPIC,
1375 INDUSTRYBEH_NONE,
1376 STR_INDUSTRY_NAME_DIAMOND_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
1377 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1379 MI(_tile_table_iron_mine, 0, NULL,
1380 220, 0xB3333333, 2, 0, 0, 0, 5, 0, 0, 0, 55,
1381 IT_STEEL_MILL, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1382 CT_IRON_ORE, 10, CT_INVALID, 0, 5,
1383 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1384 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TEMPERATE,
1385 INDUSTRYBEH_NONE,
1386 STR_INDUSTRY_NAME_IRON_ORE_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
1387 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1389 MI(_tile_table_fruit_plantation, 0, NULL,
1390 225, 0xBFFFFFFF, 0, 0, 2, 0, 0, 0, 4, 0, 86,
1391 IT_FOOD_PROCESS, IT_INVALID, IT_INVALID, CHECK_PLANTATION,
1392 CT_FRUIT, 10, CT_INVALID, 0, 15,
1393 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1394 INDUSTRYLIFE_ORGANIC, 1 << LT_TROPIC,
1395 INDUSTRYBEH_NONE,
1396 STR_INDUSTRY_NAME_FRUIT_PLANTATION, STR_NEWS_INDUSTRY_PLANTED,
1397 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
1399 MI(_tile_table_rubber_plantation, 0, NULL,
1400 218, 0xBFFFFFFF, 0, 0, 3, 0, 0, 0, 4, 0, 39,
1401 IT_FACTORY_2, IT_INVALID, IT_INVALID, CHECK_PLANTATION,
1402 CT_RUBBER, 10, CT_INVALID, 0, 15,
1403 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1404 INDUSTRYLIFE_ORGANIC, 1 << LT_TROPIC,
1405 INDUSTRYBEH_NONE,
1406 STR_INDUSTRY_NAME_RUBBER_PLANTATION, STR_NEWS_INDUSTRY_PLANTED,
1407 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
1409 MI(_tile_table_water_supply, 0, NULL,
1410 199, 0xB3333333, 0, 0, 3, 0, 0, 0, 4, 0, 37,
1411 IT_WATER_TOWER, IT_INVALID, IT_INVALID, CHECK_WATER,
1412 CT_WATER, 12, CT_INVALID, 0, 5,
1413 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1414 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TROPIC,
1415 INDUSTRYBEH_NONE,
1416 STR_INDUSTRY_NAME_WATER_SUPPLY, STR_NEWS_INDUSTRY_CONSTRUCTION,
1417 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1419 MI(_tile_table_water_tower, 0, NULL,
1420 115, 0xFFFFFFFF, 0, 0, 4, 0, 0, 0, 8, 0, 208,
1421 IT_WATER_SUPPLY, IT_INVALID, IT_INVALID, CHECK_WATER,
1422 CT_INVALID, 0, CT_INVALID, 0, 5,
1423 CT_WATER, 256, CT_INVALID, 256, CT_INVALID, 256,
1424 INDUSTRYLIFE_BLACK_HOLE, 1 << LT_TROPIC,
1425 INDUSTRYBEH_ONLY_INTOWN,
1426 STR_INDUSTRY_NAME_WATER_TOWER, STR_NEWS_INDUSTRY_CONSTRUCTION,
1427 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1429 MI(_tile_table_factory2, 1, _factory_sounds,
1430 208, 0xFFFFFFFF, 0, 0, 2, 0, 0, 0, 4, 0, 174,
1431 IT_RUBBER_PLANTATION, IT_COPPER_MINE, IT_LUMBER_MILL, CHECK_PLANTATION,
1432 CT_GOODS, 0, CT_INVALID, 0, 5,
1433 CT_RUBBER, 256, CT_COPPER_ORE, 256, CT_WOOD, 256,
1434 INDUSTRYLIFE_PROCESSING, 1 << LT_TROPIC,
1435 INDUSTRYBEH_NONE,
1436 STR_INDUSTRY_NAME_FACTORY_2, STR_NEWS_INDUSTRY_CONSTRUCTION,
1437 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1439 MI(_tile_table_farm2, 0, NULL,
1440 250, 0xD9999999, 0, 0, 1, 0, 0, 0, 2, 0, 48,
1441 IT_FOOD_PROCESS, IT_INVALID, IT_INVALID, CHECK_PLANTATION,
1442 CT_MAIZE, 11, CT_INVALID, 0, 5,
1443 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1444 INDUSTRYLIFE_ORGANIC, 1 << LT_TROPIC,
1445 INDUSTRYBEH_PLANT_FIELDS | INDUSTRYBEH_PLANT_ON_BUILT,
1446 STR_INDUSTRY_NAME_FARM_2, STR_NEWS_INDUSTRY_CONSTRUCTION,
1447 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
1449 MI(_tile_table_lumber_mill, 0, NULL,
1450 135, 0xFFFFFFFF, 0, 0, 0, 0, 0, 0, 0, 0, 194,
1451 IT_FACTORY_2, IT_INVALID, IT_INVALID, CHECK_LUMBERMILL,
1452 CT_WOOD, 0, CT_INVALID, 0, 5,
1453 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1454 INDUSTRYLIFE_PROCESSING, 1 << LT_TROPIC,
1455 INDUSTRYBEH_CUT_TREES,
1456 STR_INDUSTRY_NAME_LUMBER_MILL, STR_NEWS_INDUSTRY_CONSTRUCTION,
1457 STR_NEWS_INDUSTRY_CLOSURE_LACK_OF_TREES, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1459 MI(_tile_table_cotton_candy, 0, NULL,
1460 195, 0xBFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 5, 48,
1461 IT_CANDY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1462 CT_COTTON_CANDY, 13, CT_INVALID, 0, 30,
1463 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1464 INDUSTRYLIFE_ORGANIC, 1 << LT_TOYLAND,
1465 INDUSTRYBEH_NONE,
1466 STR_INDUSTRY_NAME_COTTON_CANDY_FOREST, STR_NEWS_INDUSTRY_PLANTED,
1467 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1469 MI(_tile_table_candy_factory, 0, NULL,
1470 206, 0xFFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 5, 174,
1471 IT_COTTON_CANDY, IT_TOFFEE_QUARRY, IT_SUGAR_MINE, CHECK_NOTHING,
1472 CT_CANDY, 0, CT_INVALID, 0, 5,
1473 CT_SUGAR, 256, CT_TOFFEE, 256, CT_COTTON_CANDY, 256,
1474 INDUSTRYLIFE_PROCESSING, 1 << LT_TOYLAND,
1475 INDUSTRYBEH_NONE,
1476 STR_INDUSTRY_NAME_CANDY_FACTORY, STR_NEWS_INDUSTRY_CONSTRUCTION,
1477 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1479 MI(_tile_table_battery_farm, 0, NULL,
1480 187, 0xB3333333, 0, 0, 0, 3, 0, 0, 0, 4, 39,
1481 IT_TOY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1482 CT_BATTERIES, 11, CT_INVALID, 0, 30,
1483 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1484 INDUSTRYLIFE_ORGANIC, 1 << LT_TOYLAND,
1485 INDUSTRYBEH_NONE,
1486 STR_INDUSTRY_NAME_BATTERY_FARM, STR_NEWS_INDUSTRY_CONSTRUCTION,
1487 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
1489 MI(_tile_table_cola_wells, 0, NULL,
1490 193, 0x99999999, 0, 0, 0, 3, 0, 0, 0, 5, 55,
1491 IT_FIZZY_DRINK_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1492 CT_COLA, 12, CT_INVALID, 0, 5,
1493 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1494 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TOYLAND,
1495 INDUSTRYBEH_NONE,
1496 STR_INDUSTRY_NAME_COLA_WELLS, STR_NEWS_INDUSTRY_CONSTRUCTION,
1497 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1499 MI(_tile_table_toy_shop, 0, NULL,
1500 133, 0xFFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 4, 208,
1501 IT_TOY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1502 CT_INVALID, 0, CT_INVALID, 0, 5,
1503 CT_TOYS, 256, CT_INVALID, 256, CT_INVALID, 256,
1504 INDUSTRYLIFE_BLACK_HOLE, 1 << LT_TOYLAND,
1505 INDUSTRYBEH_ONLY_NEARTOWN,
1506 STR_INDUSTRY_NAME_TOY_SHOP, STR_NEWS_INDUSTRY_CONSTRUCTION,
1507 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1509 MI(_tile_table_toy_factory, 0, NULL,
1510 163, 0xFFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 5, 10,
1511 IT_PLASTIC_FOUNTAINS, IT_BATTERY_FARM, IT_TOY_SHOP, CHECK_NOTHING,
1512 CT_TOYS, 0, CT_INVALID, 0, 5,
1513 CT_PLASTIC, 256, CT_BATTERIES, 256, CT_INVALID, 256,
1514 INDUSTRYLIFE_PROCESSING, 1 << LT_TOYLAND,
1515 INDUSTRYBEH_NONE,
1516 STR_INDUSTRY_NAME_TOY_FACTORY, STR_NEWS_INDUSTRY_CONSTRUCTION,
1517 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1519 MI(_tile_table_plastic_fountain, 1, _plastic_mine_sounds,
1520 192, 0xA6666666, 0, 0, 0, 3, 0, 0, 0, 5, 37,
1521 IT_TOY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1522 CT_PLASTIC, 14, CT_INVALID, 0, 5,
1523 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1524 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TOYLAND,
1525 INDUSTRYBEH_NONE,
1526 STR_INDUSTRY_NAME_PLASTIC_FOUNTAINS, STR_NEWS_INDUSTRY_CONSTRUCTION,
1527 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1529 MI(_tile_table_fizzy_drink, 0, NULL,
1530 177, 0xFFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 4, 184,
1531 IT_COLA_WELLS, IT_BUBBLE_GENERATOR, IT_INVALID, CHECK_NOTHING,
1532 CT_FIZZY_DRINKS, 0, CT_INVALID, 0, 5,
1533 CT_COLA, 256, CT_BUBBLES, 256, CT_INVALID, 256,
1534 INDUSTRYLIFE_PROCESSING, 1 << LT_TOYLAND,
1535 INDUSTRYBEH_NONE,
1536 STR_INDUSTRY_NAME_FIZZY_DRINK_FACTORY, STR_NEWS_INDUSTRY_CONSTRUCTION,
1537 STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1539 MI(_tile_table_bubble_generator, 0, NULL,
1540 203, 0xB3333333, 0, 0, 0, 3, 0, 0, 0, 5, 152,
1541 IT_FIZZY_DRINK_FACTORY, IT_INVALID, IT_INVALID, CHECK_BUBBLEGEN,
1542 CT_BUBBLES, 13, CT_INVALID, 0, 5,
1543 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1544 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TOYLAND,
1545 INDUSTRYBEH_NONE,
1546 STR_INDUSTRY_NAME_BUBBLE_GENERATOR, STR_NEWS_INDUSTRY_CONSTRUCTION,
1547 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1549 MI(_tile_table_toffee_quarry, 0, NULL,
1550 213, 0xCCCCCCCC, 0, 0, 0, 3, 0, 0, 0, 5, 194,
1551 IT_CANDY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1552 CT_TOFFEE, 10, CT_INVALID, 0, 5,
1553 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1554 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TOYLAND,
1555 INDUSTRYBEH_NONE,
1556 STR_INDUSTRY_NAME_TOFFEE_QUARRY, STR_NEWS_INDUSTRY_CONSTRUCTION,
1557 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1559 MI(_tile_table_sugar_mine, 0, NULL,
1560 210, 0xBFFFFFFF, 0, 0, 0, 2, 0, 0, 0, 4, 15,
1561 IT_CANDY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
1562 CT_SUGAR, 11, CT_INVALID, 0, 5,
1563 CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256,
1564 INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TOYLAND,
1565 INDUSTRYBEH_NONE,
1566 STR_INDUSTRY_NAME_SUGAR_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
1567 STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
1569 #undef MI
1572 * Writes the properties of an industry tile into the IndustryTileSpec struct.
1573 * @param ca1 acceptance of first cargo
1574 * @param c1 first type of cargo accepted for this tile
1575 * @param ca2 acceptance of second cargo
1576 * @param c2 second cargo
1577 * @param ca3 acceptance of third cargo
1578 * @param c3 and third cargo. Those three are in an array
1579 * @param sl slope refused upon choosing a place to build
1580 * @param a1 animation frame on production
1581 * @param a2 next frame of animation
1582 * @param a3 chooses between animation or construction state
1584 #define MT(ca1, c1, ca2, c2, ca3, c3, sl, a1, a2, a3) {{c1, c2, c3}, {ca1, ca2, ca3}, sl, a1, a2, a3, 0, {0, ANIM_STATUS_NO_ANIMATION, 2, 0}, INDTILE_SPECIAL_NONE, true, GRFFileProps(INVALID_INDUSTRYTILE)}
1585 static const IndustryTileSpec _origin_industry_tile_specs[NEW_INDUSTRYTILEOFFSET] = {
1586 /* Coal Mine */
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, true),
1589 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1590 MT(1, CT_PASSENGERS, 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),
1592 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1593 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1595 /* Power Station */
1596 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1597 MT(1, CT_PASSENGERS, 8, CT_COAL, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1598 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1599 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1601 /* Sawmill */
1602 MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1603 MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1604 MT(1, CT_PASSENGERS, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1605 MT(0, CT_INVALID, 0, CT_INVALID, 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),
1608 /* Forest Artic, temperate */
1609 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, 17, INDUSTRYTILE_NOANIM, false), ///< Chopping forest
1610 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, 16, false), ///< Growing forest
1612 /* Oil refinery */
1613 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1614 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1615 MT(0, CT_INVALID, 8, CT_OIL, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1616 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1617 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1618 MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1620 /* Oil Rig */
1621 MT(0, CT_INVALID, 8, CT_PASSENGERS, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1622 MT(0, CT_INVALID, 8, CT_MAIL, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1623 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1624 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1625 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1627 /* Oil Wells artic, temperate and sub-tropical */
1628 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1629 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, true ),
1630 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, true ),
1631 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, true ),
1633 /* Farm tropic, arctic and temperate */
1634 MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1635 MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1636 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1637 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
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),
1641 /* Factory temperate */
1642 MT(8, CT_GRAIN, 8, CT_LIVESTOCK, 8, CT_STEEL, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1643 MT(8, CT_GRAIN, 8, CT_LIVESTOCK, 8, CT_STEEL, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1644 MT(8, CT_GRAIN, 8, CT_LIVESTOCK, 8, CT_STEEL, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1645 MT(8, CT_GRAIN, 8, CT_LIVESTOCK, 8, CT_STEEL, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1647 /* Printing works */
1648 MT(0, CT_INVALID, 8, CT_PAPER, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1649 MT(0, CT_INVALID, 8, CT_PAPER, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1650 MT(0, CT_INVALID, 8, CT_PAPER, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1651 MT(0, CT_INVALID, 8, CT_PAPER, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1653 /* Copper ore mine */
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, true ),
1656 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1657 MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1658 MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1660 /* Steel mill */
1661 MT(1, CT_PASSENGERS, 8, CT_IRON_ORE, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1662 MT(1, CT_PASSENGERS, 8, CT_IRON_ORE, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1663 MT(1, CT_PASSENGERS, 8, CT_IRON_ORE, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1664 MT(1, CT_PASSENGERS, 8, CT_IRON_ORE, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1665 MT(1, CT_PASSENGERS, 8, CT_IRON_ORE, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1666 MT(1, CT_PASSENGERS, 8, CT_IRON_ORE, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1668 /* Bank temperate*/
1669 MT(1, CT_PASSENGERS, 8, CT_VALUABLES, 0, CT_INVALID, SLOPE_E, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1670 MT(1, CT_PASSENGERS, 8, CT_VALUABLES, 0, CT_INVALID, SLOPE_S, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1672 /* Food processing plant, tropic and arctic. CT_MAIZE or CT_WHEAT, CT_LIVESTOCK or CT_FRUIT*/
1673 MT(8, CT_MAIZE, 8, CT_LIVESTOCK, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1674 MT(8, CT_MAIZE, 8, CT_LIVESTOCK, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1675 MT(8, CT_MAIZE, 8, CT_LIVESTOCK, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1676 MT(8, CT_MAIZE, 8, CT_LIVESTOCK, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1678 /* Paper mill */
1679 MT(0, CT_INVALID, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1680 MT(0, CT_INVALID, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1681 MT(0, CT_INVALID, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1682 MT(0, CT_INVALID, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1683 MT(0, CT_INVALID, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1684 MT(0, CT_INVALID, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1685 MT(0, CT_INVALID, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1686 MT(0, CT_INVALID, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1688 /* Gold mine */
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),
1691 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1692 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),
1694 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1695 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),
1697 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1698 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),
1701 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1702 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1703 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1704 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1705 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, true),
1707 /* Bank Sub Arctic */
1708 MT(0, CT_INVALID, 8, CT_GOLD, 0, CT_INVALID, SLOPE_E, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1709 MT(0, CT_INVALID, 8, CT_GOLD, 0, CT_INVALID, SLOPE_S, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1711 /* Diamond mine */
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),
1716 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1717 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, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1719 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1720 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1722 /* Iron ore Mine */
1723 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1724 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1725 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1726 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1727 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1728 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1729 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1730 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1731 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1732 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1733 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1734 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1735 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1736 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1737 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1738 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1740 /* Fruit plantation */
1741 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1743 /* Rubber plantation */
1744 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1746 /* Water supply */
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),
1750 /* Water tower */
1751 MT(0, CT_INVALID, 8, CT_WATER, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1753 /* Factory (sub-tropical) */
1754 MT(8, CT_COPPER_ORE, 8, CT_RUBBER, 8, CT_WOOD, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1755 MT(8, CT_COPPER_ORE, 8, CT_RUBBER, 8, CT_WOOD, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1756 MT(8, CT_COPPER_ORE, 8, CT_RUBBER, 8, CT_WOOD, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1757 MT(8, CT_COPPER_ORE, 8, CT_RUBBER, 8, CT_WOOD, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1759 /* Lumber mill */
1760 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1761 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
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),
1765 /* Candyfloss forest */
1766 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, 130, INDUSTRYTILE_NOANIM, false), ///< Chopping candyfloss
1767 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, 129, false), ///< Growing candyfloss
1769 /* Sweet factory */
1770 MT(8, CT_COTTON_CANDY, 8, CT_TOFFEE, 8, CT_SUGAR, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1771 MT(8, CT_COTTON_CANDY, 8, CT_TOFFEE, 8, CT_SUGAR, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1772 MT(8, CT_COTTON_CANDY, 8, CT_TOFFEE, 8, CT_SUGAR, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1773 MT(8, CT_COTTON_CANDY, 8, CT_TOFFEE, 8, CT_SUGAR, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1775 /* Battery farm */
1776 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, 136, INDUSTRYTILE_NOANIM, false), ///< Reaping batteries
1777 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, 135, false), ///< Growing batteries
1779 /* Cola wells */
1780 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1782 /* Toy shop */
1783 MT(0, CT_INVALID, 8, CT_TOYS, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1784 MT(0, CT_INVALID, 8, CT_TOYS, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1785 MT(0, CT_INVALID, 8, CT_TOYS, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1786 MT(0, CT_INVALID, 8, CT_TOYS, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1788 /* Toy factory */
1789 MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1790 MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1791 MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1792 MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1793 MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1794 MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1796 /* Plastic Fountain */
1797 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1798 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1799 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1800 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1801 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1802 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1803 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1804 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1806 /* Fizzy drink factory */
1807 MT(8, CT_BUBBLES, 8, CT_COLA, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1808 MT(8, CT_BUBBLES, 8, CT_COLA, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1809 MT(8, CT_BUBBLES, 8, CT_COLA, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1810 MT(8, CT_BUBBLES, 8, CT_COLA, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1812 /* Bubble generator */
1813 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1814 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1815 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1816 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1818 /* Toffee quarry */
1819 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1820 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1821 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1823 /* Sugar mine */
1824 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1825 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1826 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1827 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1828 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1829 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1830 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1831 MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1833 #undef MT
1835 #endif /* BUILD_INDUSTRY_H */