OpenTTD
build_industry.h
Go to the documentation of this file.
1 /* $Id: build_industry.h 27137 2015-02-06 21:54:19Z frosch $ */
2 
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  */
9 
12 #ifndef BUILD_INDUSTRY_H
13 #define BUILD_INDUSTRY_H
14 
23 #define MK(x, y, m) {{x, y}, m}
24 
28 #define MKEND {{-0x80, 0}, 0}
29 
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
38 };
39 
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
51 };
52 
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
61 };
62 
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
75 };
76 
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,
82 };
83 
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
94 };
95 
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
106 };
107 
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
116 };
117 
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,
122 };
123 
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
134 };
135 
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
146 };
147 
148 static const IndustryTileTable * const _tile_table_sawmill[] = {
149  _tile_table_sawmill_0,
150  _tile_table_sawmill_1,
151 };
152 
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
173 };
174 
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
200 };
201 
202 static const IndustryTileTable * const _tile_table_forest[] = {
203  _tile_table_forest_0,
204  _tile_table_forest_1,
205 };
206 
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
224 };
225 
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
243 };
244 
245 static const IndustryTileTable * const _tile_table_oil_refinery[] = {
246  _tile_table_oil_refinery_0,
247  _tile_table_oil_refinery_1,
248 };
249 
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
297 };
298 
299 static const IndustryTileTable * const _tile_table_oil_rig[] = {
300  _tile_table_oil_rig_0,
301 };
302 
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
317 };
318 
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
333 };
334 
335 static const IndustryTileTable * const _tile_table_factory[] = {
336  _tile_table_factory_0,
337  _tile_table_factory_1,
338 };
339 
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
354 };
355 
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
370 };
371 
372 static const IndustryTileTable * const _tile_table_printing_works[] = {
373  _tile_table_printing_works_0,
374  _tile_table_printing_works_1,
375 };
376 
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
391 };
392 
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
409 };
410 
411 static const IndustryTileTable * const _tile_table_steel_mill[] = {
412  _tile_table_steel_mill_0,
413  _tile_table_steel_mill_1,
414 };
415 
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
427 };
428 
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
443 };
444 
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
459 };
460 
461 static const IndustryTileTable * const _tile_table_farm[] = {
462  _tile_table_farm_0,
463  _tile_table_farm_1,
464  _tile_table_farm_2,
465 };
466 
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
477 };
478 
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
490 };
491 
492 static const IndustryTileTable * const _tile_table_copper_mine[] = {
493  _tile_table_copper_mine_0,
494  _tile_table_copper_mine_1,
495 };
496 
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
504 };
505 
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
513 };
514 
515 static const IndustryTileTable * const _tile_table_oil_well[] = {
516  _tile_table_oil_well_0,
517  _tile_table_oil_well_1,
518 };
519 
520 static const IndustryTileTable _tile_table_bank_0[] = {
521  MK(0, 0, 58),
522  MK(1, 0, 59),
523  MKEND
524 };
525 
526 static const IndustryTileTable * const _tile_table_bank[] = {
527  _tile_table_bank_0,
528 };
529 
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
544 };
545 
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
562 };
563 
564 static const IndustryTileTable * const _tile_table_food_process[] = {
565  _tile_table_food_process_0,
566  _tile_table_food_process_1,
567 };
568 
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
583 };
584 
585 static const IndustryTileTable * const _tile_table_paper_mill[] = {
586  _tile_table_paper_mill_0,
587 };
588 
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
607 };
608 
609 static const IndustryTileTable * const _tile_table_gold_mine[] = {
610  _tile_table_gold_mine_0,
611 };
612 
613 static const IndustryTileTable _tile_table_bank2_0[] = {
614  MK(0, 0, 89),
615  MK(1, 0, 90),
616  MKEND
617 };
618 
619 static const IndustryTileTable * const _tile_table_bank2[] = {
620  _tile_table_bank2_0,
621 };
622 
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
634 };
635 
636 static const IndustryTileTable * const _tile_table_diamond_mine[] = {
637  _tile_table_diamond_mine_0,
638 };
639 
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
658 };
659 
660 static const IndustryTileTable * const _tile_table_iron_mine[] = {
661  _tile_table_iron_mine_0,
662 };
663 
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
686 };
687 
688 static const IndustryTileTable * const _tile_table_fruit_plantation[] = {
689  _tile_table_fruit_plantation_0,
690 };
691 
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
714 };
715 
716 static const IndustryTileTable * const _tile_table_rubber_plantation[] = {
717  _tile_table_rubber_plantation_0,
718 };
719 
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
726 };
727 
728 static const IndustryTileTable * const _tile_table_water_supply[] = {
729  _tile_table_water_supply_0,
730 };
731 
732 static const IndustryTileTable _tile_table_water_tower_0[] = {
733  MK(0, 0, 120),
734  MKEND
735 };
736 
737 static const IndustryTileTable * const _tile_table_water_tower[] = {
738  _tile_table_water_tower_0,
739 };
740 
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
751 };
752 
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
763 };
764 
765 static const IndustryTileTable * const _tile_table_factory2[] = {
766  _tile_table_factory2_0,
767  _tile_table_factory2_1,
768 };
769 
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
781 };
782 
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
797 };
798 
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
813 };
814 
815 static const IndustryTileTable * const _tile_table_farm2[] = {
816  _tile_table_farm2_0,
817  _tile_table_farm2_1,
818  _tile_table_farm2_2,
819 };
820 
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
827 };
828 
829 static const IndustryTileTable * const _tile_table_lumber_mill[] = {
830  _tile_table_lumber_mill_0,
831 };
832 
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
853 };
854 
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
880 };
881 
882 static const IndustryTileTable * const _tile_table_cotton_candy[] = {
883  _tile_table_cotton_candy_0,
884  _tile_table_cotton_candy_1,
885 };
886 
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
901 };
902 
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
917 };
918 
919 static const IndustryTileTable * const _tile_table_candy_factory[] = {
920  _tile_table_candy_factory_0,
921  _tile_table_candy_factory_1,
922 };
923 
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
946 };
947 
948 static const IndustryTileTable * const _tile_table_battery_farm[] = {
949  _tile_table_battery_farm_0,
950 };
951 
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
962 };
963 
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
973 };
974 
975 static const IndustryTileTable * const _tile_table_cola_wells[] = {
976  _tile_table_cola_wells_0,
977  _tile_table_cola_wells_1,
978 };
979 
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
986 };
987 
988 static const IndustryTileTable * const _tile_table_toy_shop[] = {
989  _tile_table_toy_shop_0,
990 };
991 
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
1002 };
1003 
1004 static const IndustryTileTable * const _tile_table_toy_factory[] = {
1005  _tile_table_toy_factory_0,
1006 };
1007 
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
1013 };
1014 
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
1020 };
1021 
1022 static const IndustryTileTable * const _tile_table_plastic_fountain[] = {
1023  _tile_table_plastic_fountain_0,
1024  _tile_table_plastic_fountain_1,
1025 };
1026 
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
1033 };
1034 
1035 static const IndustryTileTable * const _tile_table_fizzy_drink[] = {
1036  _tile_table_fizzy_drink_0,
1037 };
1038 
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
1053 };
1054 
1055 static const IndustryTileTable * const _tile_table_bubble_generator[] = {
1056  _tile_table_bubble_generator_0,
1057 };
1058 
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
1064 };
1065 
1066 static const IndustryTileTable * const _tile_table_toffee_quarry[] = {
1067  _tile_table_toffee_quarry_0,
1068 };
1069 
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
1080 };
1081 
1082 static const IndustryTileTable * const _tile_table_sugar_mine[] = {
1083  _tile_table_sugar_mine_0,
1084 };
1085 
1086 #undef MK
1087 #undef MKEND
1088 
1090 static const uint8 _sawmill_sounds[] = { SND_28_SAWMILL };
1091 
1093 static const uint8 _factory_sounds[] = { SND_03_FACTORY_WHISTLE };
1094 
1096 static const uint8 _farm_sounds[] = { SND_24_SHEEP, SND_25_COW, SND_26_HORSE };
1097 
1099 static const uint8 _plastic_mine_sounds[] = { SND_33_PLASTIC_MINE };
1100 
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,
1140 };
1141 
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,
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),
1208 
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),
1218 
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),
1228 
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),
1238 
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,
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),
1248 
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,
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),
1258 
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,
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),
1268 
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),
1278 
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),
1288 
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,
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),
1298 
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),
1308 
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,
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),
1318 
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,
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),
1328 
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),
1338 
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),
1348 
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),
1358 
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,
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),
1368 
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),
1378 
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),
1388 
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),
1398 
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),
1408 
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),
1418 
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,
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),
1428 
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),
1438 
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,
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),
1448 
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,
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),
1458 
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),
1468 
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),
1478 
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),
1488 
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),
1498 
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,
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),
1508 
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),
1518 
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),
1528 
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),
1538 
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),
1548 
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),
1558 
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),
1568 };
1569 #undef MI
1570 
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 */
1590  MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1594 
1595  /* Power Station */
1597  MT(1, CT_PASSENGERS, 8, CT_COAL, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1600 
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),
1607 
1608  /* Forest Artic, temperate */
1611 
1612  /* Oil refinery */
1618  MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1619 
1620  /* Oil Rig */
1621  MT(0, CT_INVALID, 8, CT_PASSENGERS, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false),
1626 
1627  /* Oil Wells artic, temperate and sub-tropical */
1632 
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),
1640 
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),
1646 
1647  /* Printing works */
1652 
1653  /* Copper ore mine */
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),
1659 
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),
1667 
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),
1671 
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),
1677 
1678  /* Paper mill */
1687 
1688  /* Gold mine */
1706 
1707  /* Bank Sub Arctic */
1710 
1711  /* Diamond mine */
1721 
1722  /* Iron ore Mine */
1739 
1740  /* Fruit plantation */
1742 
1743  /* Rubber plantation */
1745 
1746  /* Water supply */
1749 
1750  /* Water tower */
1752 
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),
1758 
1759  /* Lumber mill */
1764 
1765  /* Candyfloss forest */
1768 
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),
1774 
1775  /* Battery farm */
1778 
1779  /* Cola wells */
1781 
1782  /* Toy shop */
1787 
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),
1795 
1796  /* Plastic Fountain */
1805 
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),
1811 
1812  /* Bubble generator */
1817 
1818  /* Toffee quarry */
1822 
1823  /* Sugar mine */
1832 };
1833 #undef MT
1834 
1835 #endif /* BUILD_INDUSTRY_H */