tron@2186: /* $Id$ */ tron@2186: belugas@6305: /** @file build_industry.h */ belugas@6305: belugas@6092: #ifndef BUILD_INDUSTRY_H belugas@6092: #define BUILD_INDUSTRY_H belugas@3654: belugas@6518: /** belugas@6518: * Definition of an industry tiles layout. belugas@6518: * @param x offset x of this tile belugas@6518: * @param y offset y of this tile belugas@6518: * @param m index of the tile. belugas@6518: * @see _industry_specs belugas@6518: * @see IndustryTileTable belugas@6518: */ rubidium@6491: #define MK(x, y, m) {{x, y}, m} truelight@0: belugas@6518: /** belugas@6518: * Terminator of industry tiles layout definition belugas@6518: */ tron@909: #define MKEND {{-0x80, 0}, 0} truelight@0: truelight@0: static const IndustryTileTable _tile_table_coal_mine_0[] = { rubidium@6491: MK(1, 1, 0), rubidium@6491: MK(1, 2, 2), rubidium@6491: MK(0, 0, 5), rubidium@6491: MK(1, 0, 6), rubidium@6491: MK(2, 0, 3), rubidium@6491: MK(2, 2, 3), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_coal_mine_1[] = { rubidium@6491: MK(1, 1, 0), rubidium@6491: MK(1, 2, 2), rubidium@6491: MK(2, 0, 0), rubidium@6491: MK(2, 1, 2), rubidium@6491: MK(1, 0, 3), rubidium@6491: MK(0, 0, 3), rubidium@6491: MK(0, 1, 4), rubidium@6491: MK(0, 2, 4), rubidium@6491: MK(2, 2, 4), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_coal_mine_2[] = { rubidium@6491: MK(0, 0, 0), rubidium@6491: MK(0, 1, 2), rubidium@6491: MK(0, 2, 5), rubidium@6491: MK(1, 0, 3), rubidium@6491: MK(1, 1, 3), rubidium@6491: MK(1, 2, 6), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_coal_mine_3[] = { rubidium@6491: MK(0, 1, 0), rubidium@6491: MK(0, 2, 2), rubidium@6491: MK(0, 3, 4), rubidium@6491: MK(1, 0, 5), rubidium@6491: MK(1, 1, 0), rubidium@6491: MK(1, 2, 2), rubidium@6491: MK(1, 3, 3), rubidium@6491: MK(2, 0, 6), rubidium@6491: MK(2, 1, 4), rubidium@6491: MK(2, 2, 3), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_coal_mine[] = { truelight@0: _tile_table_coal_mine_0, truelight@0: _tile_table_coal_mine_1, truelight@0: _tile_table_coal_mine_2, truelight@0: _tile_table_coal_mine_3, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_power_station_0[] = { rubidium@6491: MK(0, 0, 7), rubidium@6491: MK(0, 1, 9), rubidium@6491: MK(1, 0, 7), rubidium@6491: MK(1, 1, 8), rubidium@6491: MK(2, 0, 7), rubidium@6491: MK(2, 1, 8), rubidium@6491: MK(3, 0, 10), rubidium@6491: MK(3, 1, 10), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_power_station_1[] = { rubidium@6491: MK(0, 1, 7), rubidium@6491: MK(0, 2, 7), rubidium@6491: MK(1, 0, 8), rubidium@6491: MK(1, 1, 8), rubidium@6491: MK(1, 2, 7), rubidium@6491: MK(2, 0, 9), rubidium@6491: MK(2, 1, 10), rubidium@6491: MK(2, 2, 9), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_power_station_2[] = { rubidium@6491: MK(0, 0, 7), rubidium@6491: MK(0, 1, 7), rubidium@6491: MK(1, 0, 9), rubidium@6491: MK(1, 1, 8), rubidium@6491: MK(2, 0, 10), rubidium@6491: MK(2, 1, 9), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_power_station[] = { truelight@0: _tile_table_power_station_0, truelight@0: _tile_table_power_station_1, truelight@0: _tile_table_power_station_2, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_sawmill_0[] = { rubidium@6491: MK(1, 0, 14), rubidium@6491: MK(1, 1, 12), rubidium@6491: MK(1, 2, 11), rubidium@6491: MK(2, 0, 14), rubidium@6491: MK(2, 1, 13), rubidium@6491: MK(0, 0, 15), rubidium@6491: MK(0, 1, 15), rubidium@6491: MK(0, 2, 12), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_sawmill_1[] = { rubidium@6491: MK(0, 0, 15), rubidium@6491: MK(0, 1, 11), rubidium@6491: MK(0, 2, 14), rubidium@6491: MK(1, 0, 15), rubidium@6491: MK(1, 1, 13), rubidium@6491: MK(1, 2, 12), rubidium@6491: MK(2, 0, 11), rubidium@6491: MK(2, 1, 13), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_sawmill[] = { truelight@0: _tile_table_sawmill_0, truelight@0: _tile_table_sawmill_1, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_forest_0[] = { rubidium@6491: MK(0, 0, 16), rubidium@6491: MK(0, 1, 16), rubidium@6491: MK(0, 2, 16), rubidium@6491: MK(0, 3, 16), rubidium@6491: MK(1, 0, 16), rubidium@6491: MK(1, 1, 16), rubidium@6491: MK(1, 2, 16), rubidium@6491: MK(1, 3, 16), rubidium@6491: MK(2, 0, 16), rubidium@6491: MK(2, 1, 16), rubidium@6491: MK(2, 2, 16), rubidium@6491: MK(2, 3, 16), rubidium@6491: MK(3, 0, 16), rubidium@6491: MK(3, 1, 16), rubidium@6491: MK(3, 2, 16), rubidium@6491: MK(3, 3, 16), rubidium@6491: MK(1, 4, 16), rubidium@6491: MK(2, 4, 16), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_forest_1[] = { rubidium@6491: MK(0, 0, 16), rubidium@6491: MK(1, 0, 16), rubidium@6491: MK(2, 0, 16), rubidium@6491: MK(3, 0, 16), rubidium@6491: MK(4, 0, 16), rubidium@6491: MK(0, 1, 16), rubidium@6491: MK(1, 1, 16), rubidium@6491: MK(2, 1, 16), rubidium@6491: MK(3, 1, 16), rubidium@6491: MK(4, 1, 16), rubidium@6491: MK(0, 2, 16), rubidium@6491: MK(1, 2, 16), rubidium@6491: MK(2, 2, 16), rubidium@6491: MK(3, 2, 16), rubidium@6491: MK(4, 2, 16), rubidium@6491: MK(0, 3, 16), rubidium@6491: MK(1, 3, 16), rubidium@6491: MK(2, 3, 16), rubidium@6491: MK(3, 3, 16), rubidium@6491: MK(4, 3, 16), rubidium@6491: MK(1, 4, 16), rubidium@6491: MK(2, 4, 16), rubidium@6491: MK(3, 4, 16), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_forest[] = { truelight@0: _tile_table_forest_0, truelight@0: _tile_table_forest_1, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_oil_refinery_0[] = { rubidium@6491: MK(0, 0, 20), rubidium@6491: MK(0, 1, 21), rubidium@6491: MK(0, 2, 22), rubidium@6491: MK(0, 3, 21), rubidium@6491: MK(1, 0, 20), rubidium@6491: MK(1, 1, 19), rubidium@6491: MK(1, 2, 22), rubidium@6491: MK(1, 3, 20), rubidium@6491: MK(2, 1, 18), rubidium@6491: MK(2, 2, 18), rubidium@6491: MK(2, 3, 18), rubidium@6491: MK(3, 2, 18), rubidium@6491: MK(3, 3, 18), rubidium@6491: MK(2, 0, 23), rubidium@6491: MK(3, 1, 23), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_oil_refinery_1[] = { rubidium@6491: MK(0, 0, 18), rubidium@6491: MK(0, 1, 18), rubidium@6491: MK(0, 2, 21), rubidium@6491: MK(0, 3, 22), rubidium@6491: MK(0, 4, 20), rubidium@6491: MK(1, 0, 18), rubidium@6491: MK(1, 1, 18), rubidium@6491: MK(1, 2, 19), rubidium@6491: MK(1, 3, 20), rubidium@6491: MK(2, 0, 18), rubidium@6491: MK(2, 1, 18), rubidium@6491: MK(2, 2, 19), rubidium@6491: MK(2, 3, 22), rubidium@6491: MK(1, 4, 23), rubidium@6491: MK(2, 4, 23), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_oil_refinery[] = { truelight@0: _tile_table_oil_refinery_0, truelight@0: _tile_table_oil_refinery_1, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_oil_rig_0[] = { rubidium@6491: MK(0, 0, 24), rubidium@6491: MK(0, 1, 24), rubidium@6491: MK(0, 2, 25), rubidium@6491: MK(1, 0, 26), rubidium@6491: MK(1, 1, 27), rubidium@6491: MK(1, 2, 28), rubidium@6491: MK(-4, -5, 255), rubidium@6491: MK(-4, -4, 255), rubidium@6491: MK(-4, -3, 255), rubidium@6491: MK(-4, -2, 255), rubidium@6491: MK(-4, -1, 255), rubidium@6491: MK(-4, 0, 255), rubidium@6491: MK(-4, 1, 255), rubidium@6491: MK(-4, 2, 255), rubidium@6491: MK(-4, 3, 255), rubidium@6491: MK(-4, 4, 255), rubidium@6491: MK(-4, 5, 255), rubidium@6491: MK(-3, 5, 255), rubidium@6491: MK(-2, 5, 255), rubidium@6491: MK(-1, 5, 255), rubidium@6491: MK(0, 6, 255), rubidium@6491: MK(1, 6, 255), rubidium@6491: MK(2, 6, 255), rubidium@6491: MK(3, 6, 255), rubidium@6491: MK(4, 6, 255), rubidium@6491: MK(5, 6, 255), rubidium@6491: MK(5, 5, 255), rubidium@6491: MK(5, 4, 255), rubidium@6491: MK(5, 3, 255), rubidium@6491: MK(5, 2, 255), rubidium@6491: MK(5, 1, 255), rubidium@6491: MK(5, 0, 255), rubidium@6491: MK(5, -1, 255), rubidium@6491: MK(5, -2, 255), rubidium@6491: MK(5, -3, 255), rubidium@6491: MK(5, -4, 255), rubidium@6491: MK(4, -4, 255), rubidium@6491: MK(3, -4, 255), rubidium@6491: MK(2, -4, 255), rubidium@6491: MK(1, -4, 255), rubidium@6491: MK(0, -4, 255), rubidium@6491: MK(-1, -5, 255), rubidium@6491: MK(-2, -5, 255), rubidium@6491: MK(-3, -5, 255), rubidium@6491: MK(2, 0, 255), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_oil_rig[] = { truelight@0: _tile_table_oil_rig_0, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_factory_0[] = { rubidium@6491: MK(0, 0, 39), rubidium@6491: MK(0, 1, 40), rubidium@6491: MK(1, 0, 41), rubidium@6491: MK(1, 1, 42), rubidium@6491: MK(0, 2, 39), rubidium@6491: MK(0, 3, 40), rubidium@6491: MK(1, 2, 41), rubidium@6491: MK(1, 3, 42), rubidium@6491: MK(2, 1, 39), rubidium@6491: MK(2, 2, 40), rubidium@6491: MK(3, 1, 41), rubidium@6491: MK(3, 2, 42), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_factory_1[] = { rubidium@6491: MK(0, 0, 39), rubidium@6491: MK(0, 1, 40), rubidium@6491: MK(1, 0, 41), rubidium@6491: MK(1, 1, 42), rubidium@6491: MK(2, 0, 39), rubidium@6491: MK(2, 1, 40), rubidium@6491: MK(3, 0, 41), rubidium@6491: MK(3, 1, 42), rubidium@6491: MK(1, 2, 39), rubidium@6491: MK(1, 3, 40), rubidium@6491: MK(2, 2, 41), rubidium@6491: MK(2, 3, 42), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_factory[] = { truelight@0: _tile_table_factory_0, truelight@0: _tile_table_factory_1, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_printing_works_0[] = { rubidium@6491: MK(0, 0, 43), rubidium@6491: MK(0, 1, 44), rubidium@6491: MK(1, 0, 45), rubidium@6491: MK(1, 1, 46), rubidium@6491: MK(0, 2, 43), rubidium@6491: MK(0, 3, 44), rubidium@6491: MK(1, 2, 45), rubidium@6491: MK(1, 3, 46), rubidium@6491: MK(2, 1, 43), rubidium@6491: MK(2, 2, 44), rubidium@6491: MK(3, 1, 45), rubidium@6491: MK(3, 2, 46), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_printing_works_1[] = { rubidium@6491: MK(0, 0, 43), rubidium@6491: MK(0, 1, 44), rubidium@6491: MK(1, 0, 45), rubidium@6491: MK(1, 1, 46), rubidium@6491: MK(2, 0, 43), rubidium@6491: MK(2, 1, 44), rubidium@6491: MK(3, 0, 45), rubidium@6491: MK(3, 1, 46), rubidium@6491: MK(1, 2, 43), rubidium@6491: MK(1, 3, 44), rubidium@6491: MK(2, 2, 45), rubidium@6491: MK(2, 3, 46), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_printing_works[] = { truelight@0: _tile_table_printing_works_0, truelight@0: _tile_table_printing_works_1, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_steel_mill_0[] = { rubidium@6491: MK(2, 1, 52), rubidium@6491: MK(2, 2, 53), rubidium@6491: MK(3, 1, 54), rubidium@6491: MK(3, 2, 55), rubidium@6491: MK(0, 0, 56), rubidium@6491: MK(1, 0, 57), rubidium@6491: MK(0, 1, 56), rubidium@6491: MK(1, 1, 57), rubidium@6491: MK(0, 2, 56), rubidium@6491: MK(1, 2, 57), rubidium@6491: MK(2, 0, 56), rubidium@6491: MK(3, 0, 57), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_steel_mill_1[] = { rubidium@6491: MK(0, 0, 52), rubidium@6491: MK(0, 1, 53), rubidium@6491: MK(1, 0, 54), rubidium@6491: MK(1, 1, 55), rubidium@6491: MK(2, 0, 52), rubidium@6491: MK(2, 1, 53), rubidium@6491: MK(3, 0, 54), rubidium@6491: MK(3, 1, 55), rubidium@6491: MK(0, 2, 56), rubidium@6491: MK(1, 2, 57), rubidium@6491: MK(2, 2, 56), rubidium@6491: MK(3, 2, 57), rubidium@6491: MK(1, 3, 56), rubidium@6491: MK(2, 3, 57), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_steel_mill[] = { truelight@0: _tile_table_steel_mill_0, truelight@0: _tile_table_steel_mill_1, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_farm_0[] = { rubidium@6491: MK(1, 0, 33), rubidium@6491: MK(1, 1, 34), rubidium@6491: MK(1, 2, 36), rubidium@6491: MK(0, 0, 37), rubidium@6491: MK(0, 1, 37), rubidium@6491: MK(0, 2, 36), rubidium@6491: MK(2, 0, 35), rubidium@6491: MK(2, 1, 38), rubidium@6491: MK(2, 2, 38), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_farm_1[] = { rubidium@6491: MK(1, 1, 33), rubidium@6491: MK(1, 2, 34), rubidium@6491: MK(0, 0, 35), rubidium@6491: MK(0, 1, 36), rubidium@6491: MK(0, 2, 36), rubidium@6491: MK(0, 3, 35), rubidium@6491: MK(1, 0, 37), rubidium@6491: MK(1, 3, 38), rubidium@6491: MK(2, 0, 37), rubidium@6491: MK(2, 1, 37), rubidium@6491: MK(2, 2, 38), rubidium@6491: MK(2, 3, 38), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_farm_2[] = { rubidium@6491: MK(2, 0, 33), rubidium@6491: MK(2, 1, 34), rubidium@6491: MK(0, 0, 36), rubidium@6491: MK(0, 1, 36), rubidium@6491: MK(0, 2, 37), rubidium@6491: MK(0, 3, 37), rubidium@6491: MK(1, 0, 35), rubidium@6491: MK(1, 1, 38), rubidium@6491: MK(1, 2, 38), rubidium@6491: MK(1, 3, 37), rubidium@6491: MK(2, 2, 37), rubidium@6491: MK(2, 3, 35), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_farm[] = { truelight@0: _tile_table_farm_0, truelight@0: _tile_table_farm_1, truelight@0: _tile_table_farm_2, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_copper_mine_0[] = { rubidium@6491: MK(0, 0, 47), rubidium@6491: MK(0, 1, 49), rubidium@6491: MK(0, 2, 51), rubidium@6491: MK(1, 0, 47), rubidium@6491: MK(1, 1, 49), rubidium@6491: MK(1, 2, 50), rubidium@6491: MK(2, 0, 51), rubidium@6491: MK(2, 1, 51), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_copper_mine_1[] = { rubidium@6491: MK(0, 0, 50), rubidium@6491: MK(0, 1, 47), rubidium@6491: MK(0, 2, 49), rubidium@6491: MK(1, 0, 47), rubidium@6491: MK(1, 1, 49), rubidium@6491: MK(1, 2, 51), rubidium@6491: MK(2, 0, 51), rubidium@6491: MK(2, 1, 47), rubidium@6491: MK(2, 2, 49), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_copper_mine[] = { truelight@0: _tile_table_copper_mine_0, truelight@0: _tile_table_copper_mine_1, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_oil_well_0[] = { rubidium@6491: MK(0, 0, 29), rubidium@6491: MK(1, 0, 29), rubidium@6491: MK(2, 0, 29), rubidium@6491: MK(0, 1, 29), rubidium@6491: MK(0, 2, 29), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_oil_well_1[] = { rubidium@6491: MK(0, 0, 29), rubidium@6491: MK(1, 0, 29), rubidium@6491: MK(1, 1, 29), rubidium@6491: MK(2, 2, 29), rubidium@6491: MK(2, 3, 29), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_oil_well[] = { truelight@0: _tile_table_oil_well_0, truelight@0: _tile_table_oil_well_1, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_bank_0[] = { rubidium@6491: MK(0, 0, 58), rubidium@6491: MK(1, 0, 59), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_bank[] = { truelight@0: _tile_table_bank_0, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_food_process_0[] = { rubidium@6491: MK(0, 0, 60), rubidium@6491: MK(1, 0, 60), rubidium@6491: MK(2, 0, 60), rubidium@6491: MK(0, 1, 60), rubidium@6491: MK(1, 1, 60), rubidium@6491: MK(2, 1, 60), rubidium@6491: MK(0, 2, 61), rubidium@6491: MK(1, 2, 61), rubidium@6491: MK(2, 2, 63), rubidium@6491: MK(0, 3, 62), rubidium@6491: MK(1, 3, 62), rubidium@6491: MK(2, 3, 63), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_food_process_1[] = { rubidium@6491: MK(0, 0, 61), rubidium@6491: MK(1, 0, 60), rubidium@6491: MK(2, 0, 61), rubidium@6491: MK(3, 0, 61), rubidium@6491: MK(0, 1, 62), rubidium@6491: MK(1, 1, 63), rubidium@6491: MK(2, 1, 63), rubidium@6491: MK(3, 1, 63), rubidium@6491: MK(0, 2, 60), rubidium@6491: MK(1, 2, 60), rubidium@6491: MK(2, 2, 60), rubidium@6491: MK(3, 2, 60), rubidium@6491: MK(0, 3, 62), rubidium@6491: MK(1, 3, 62), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_food_process[] = { truelight@0: _tile_table_food_process_0, truelight@0: _tile_table_food_process_1, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_paper_mill_0[] = { rubidium@6491: MK(0, 0, 64), rubidium@6491: MK(1, 0, 65), rubidium@6491: MK(2, 0, 66), rubidium@6491: MK(3, 0, 67), rubidium@6491: MK(0, 1, 68), rubidium@6491: MK(1, 1, 69), rubidium@6491: MK(2, 1, 67), rubidium@6491: MK(3, 1, 67), rubidium@6491: MK(0, 2, 66), rubidium@6491: MK(1, 2, 71), rubidium@6491: MK(2, 2, 71), rubidium@6491: MK(3, 2, 70), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_paper_mill[] = { truelight@0: _tile_table_paper_mill_0, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_gold_mine_0[] = { rubidium@6491: MK(0, 0, 72), rubidium@6491: MK(0, 1, 73), rubidium@6491: MK(0, 2, 74), rubidium@6491: MK(0, 3, 75), rubidium@6491: MK(1, 0, 76), rubidium@6491: MK(1, 1, 77), rubidium@6491: MK(1, 2, 78), rubidium@6491: MK(1, 3, 79), rubidium@6491: MK(2, 0, 80), rubidium@6491: MK(2, 1, 81), rubidium@6491: MK(2, 2, 82), rubidium@6491: MK(2, 3, 83), rubidium@6491: MK(3, 0, 84), rubidium@6491: MK(3, 1, 85), rubidium@6491: MK(3, 2, 86), rubidium@6491: MK(3, 3, 87), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_gold_mine[] = { truelight@0: _tile_table_gold_mine_0, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_bank2_0[] = { rubidium@6491: MK(0, 0, 89), rubidium@6491: MK(1, 0, 90), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_bank2[] = { truelight@0: _tile_table_bank2_0, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_diamond_mine_0[] = { rubidium@6491: MK(0, 0, 91), rubidium@6491: MK(0, 1, 92), rubidium@6491: MK(0, 2, 93), rubidium@6491: MK(1, 0, 94), rubidium@6491: MK(1, 1, 95), rubidium@6491: MK(1, 2, 96), rubidium@6491: MK(2, 0, 97), rubidium@6491: MK(2, 1, 98), rubidium@6491: MK(2, 2, 99), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_diamond_mine[] = { truelight@0: _tile_table_diamond_mine_0, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_iron_mine_0[] = { rubidium@6491: MK(0, 0, 100), rubidium@6491: MK(0, 1, 101), rubidium@6491: MK(0, 2, 102), rubidium@6491: MK(0, 3, 103), rubidium@6491: MK(1, 0, 104), rubidium@6491: MK(1, 1, 105), rubidium@6491: MK(1, 2, 106), rubidium@6491: MK(1, 3, 107), rubidium@6491: MK(2, 0, 108), rubidium@6491: MK(2, 1, 109), rubidium@6491: MK(2, 2, 110), rubidium@6491: MK(2, 3, 111), rubidium@6491: MK(3, 0, 112), rubidium@6491: MK(3, 1, 113), rubidium@6491: MK(3, 2, 114), rubidium@6491: MK(3, 3, 115), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_iron_mine[] = { truelight@0: _tile_table_iron_mine_0, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_fruit_plantation_0[] = { rubidium@6491: MK(0, 0, 116), rubidium@6491: MK(0, 1, 116), rubidium@6491: MK(0, 2, 116), rubidium@6491: MK(0, 3, 116), rubidium@6491: MK(1, 0, 116), rubidium@6491: MK(1, 1, 116), rubidium@6491: MK(1, 2, 116), rubidium@6491: MK(1, 3, 116), rubidium@6491: MK(2, 0, 116), rubidium@6491: MK(2, 1, 116), rubidium@6491: MK(2, 2, 116), rubidium@6491: MK(2, 3, 116), rubidium@6491: MK(3, 0, 116), rubidium@6491: MK(3, 1, 116), rubidium@6491: MK(3, 2, 116), rubidium@6491: MK(3, 3, 116), rubidium@6491: MK(4, 0, 116), rubidium@6491: MK(4, 1, 116), rubidium@6491: MK(4, 2, 116), rubidium@6491: MK(4, 3, 116), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_fruit_plantation[] = { truelight@0: _tile_table_fruit_plantation_0, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_rubber_plantation_0[] = { rubidium@6491: MK(0, 0, 117), rubidium@6491: MK(0, 1, 117), rubidium@6491: MK(0, 2, 117), rubidium@6491: MK(0, 3, 117), rubidium@6491: MK(1, 0, 117), rubidium@6491: MK(1, 1, 117), rubidium@6491: MK(1, 2, 117), rubidium@6491: MK(1, 3, 117), rubidium@6491: MK(2, 0, 117), rubidium@6491: MK(2, 1, 117), rubidium@6491: MK(2, 2, 117), rubidium@6491: MK(2, 3, 117), rubidium@6491: MK(3, 0, 117), rubidium@6491: MK(3, 1, 117), rubidium@6491: MK(3, 2, 117), rubidium@6491: MK(3, 3, 117), rubidium@6491: MK(4, 0, 117), rubidium@6491: MK(4, 1, 117), rubidium@6491: MK(4, 2, 117), rubidium@6491: MK(4, 3, 117), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_rubber_plantation[] = { truelight@0: _tile_table_rubber_plantation_0, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_water_supply_0[] = { rubidium@6491: MK(0, 0, 118), rubidium@6491: MK(0, 1, 119), rubidium@6491: MK(1, 0, 118), rubidium@6491: MK(1, 1, 119), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_water_supply[] = { truelight@0: _tile_table_water_supply_0, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_water_tower_0[] = { rubidium@6491: MK(0, 0, 120), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_water_tower[] = { truelight@0: _tile_table_water_tower_0, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_factory2_0[] = { rubidium@6491: MK(0, 0, 121), rubidium@6491: MK(0, 1, 122), rubidium@6491: MK(1, 0, 123), rubidium@6491: MK(1, 1, 124), rubidium@6491: MK(0, 2, 121), rubidium@6491: MK(0, 3, 122), rubidium@6491: MK(1, 2, 123), rubidium@6491: MK(1, 3, 124), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_factory2_1[] = { rubidium@6491: MK(0, 0, 121), rubidium@6491: MK(0, 1, 122), rubidium@6491: MK(1, 0, 123), rubidium@6491: MK(1, 1, 124), rubidium@6491: MK(2, 0, 121), rubidium@6491: MK(2, 1, 122), rubidium@6491: MK(3, 0, 123), rubidium@6491: MK(3, 1, 124), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_factory2[] = { truelight@0: _tile_table_factory2_0, truelight@0: _tile_table_factory2_1, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_farm2_0[] = { rubidium@6491: MK(1, 0, 33), rubidium@6491: MK(1, 1, 34), rubidium@6491: MK(1, 2, 36), rubidium@6491: MK(0, 0, 37), rubidium@6491: MK(0, 1, 37), rubidium@6491: MK(0, 2, 36), rubidium@6491: MK(2, 0, 35), rubidium@6491: MK(2, 1, 38), rubidium@6491: MK(2, 2, 38), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_farm2_1[] = { rubidium@6491: MK(1, 1, 33), rubidium@6491: MK(1, 2, 34), rubidium@6491: MK(0, 0, 35), rubidium@6491: MK(0, 1, 36), rubidium@6491: MK(0, 2, 36), rubidium@6491: MK(0, 3, 35), rubidium@6491: MK(1, 0, 37), rubidium@6491: MK(1, 3, 38), rubidium@6491: MK(2, 0, 37), rubidium@6491: MK(2, 1, 37), rubidium@6491: MK(2, 2, 38), rubidium@6491: MK(2, 3, 38), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_farm2_2[] = { rubidium@6491: MK(2, 0, 33), rubidium@6491: MK(2, 1, 34), rubidium@6491: MK(0, 0, 36), rubidium@6491: MK(0, 1, 36), rubidium@6491: MK(0, 2, 37), rubidium@6491: MK(0, 3, 37), rubidium@6491: MK(1, 0, 35), rubidium@6491: MK(1, 1, 38), rubidium@6491: MK(1, 2, 38), rubidium@6491: MK(1, 3, 37), rubidium@6491: MK(2, 2, 37), rubidium@6491: MK(2, 3, 35), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_farm2[] = { truelight@0: _tile_table_farm2_0, truelight@0: _tile_table_farm2_1, truelight@0: _tile_table_farm2_2, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_lumber_mill_0[] = { rubidium@6491: MK(0, 0, 125), rubidium@6491: MK(0, 1, 126), rubidium@6491: MK(1, 0, 127), rubidium@6491: MK(1, 1, 128), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_lumber_mill[] = { truelight@0: _tile_table_lumber_mill_0, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_cotton_candy_0[] = { rubidium@6491: MK(0, 0, 129), rubidium@6491: MK(0, 1, 129), rubidium@6491: MK(0, 2, 129), rubidium@6491: MK(0, 3, 129), rubidium@6491: MK(1, 0, 129), rubidium@6491: MK(1, 1, 129), rubidium@6491: MK(1, 2, 129), rubidium@6491: MK(1, 3, 129), rubidium@6491: MK(2, 0, 129), rubidium@6491: MK(2, 1, 129), rubidium@6491: MK(2, 2, 129), rubidium@6491: MK(2, 3, 129), rubidium@6491: MK(3, 0, 129), rubidium@6491: MK(3, 1, 129), rubidium@6491: MK(3, 2, 129), rubidium@6491: MK(3, 3, 129), rubidium@6491: MK(1, 4, 129), rubidium@6491: MK(2, 4, 129), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_cotton_candy_1[] = { rubidium@6491: MK(0, 0, 129), rubidium@6491: MK(1, 0, 129), rubidium@6491: MK(2, 0, 129), rubidium@6491: MK(3, 0, 129), rubidium@6491: MK(4, 0, 129), rubidium@6491: MK(0, 1, 129), rubidium@6491: MK(1, 1, 129), rubidium@6491: MK(2, 1, 129), rubidium@6491: MK(3, 1, 129), rubidium@6491: MK(4, 1, 129), rubidium@6491: MK(0, 2, 129), rubidium@6491: MK(1, 2, 129), rubidium@6491: MK(2, 2, 129), rubidium@6491: MK(3, 2, 129), rubidium@6491: MK(4, 2, 129), rubidium@6491: MK(0, 3, 129), rubidium@6491: MK(1, 3, 129), rubidium@6491: MK(2, 3, 129), rubidium@6491: MK(3, 3, 129), rubidium@6491: MK(4, 3, 129), rubidium@6491: MK(1, 4, 129), rubidium@6491: MK(2, 4, 129), rubidium@6491: MK(3, 4, 129), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_cotton_candy[] = { truelight@0: _tile_table_cotton_candy_0, truelight@0: _tile_table_cotton_candy_1, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_candy_factory_0[] = { rubidium@6491: MK(0, 0, 131), rubidium@6491: MK(0, 1, 132), rubidium@6491: MK(1, 0, 133), rubidium@6491: MK(1, 1, 134), rubidium@6491: MK(0, 2, 131), rubidium@6491: MK(0, 3, 132), rubidium@6491: MK(1, 2, 133), rubidium@6491: MK(1, 3, 134), rubidium@6491: MK(2, 1, 131), rubidium@6491: MK(2, 2, 132), rubidium@6491: MK(3, 1, 133), rubidium@6491: MK(3, 2, 134), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_candy_factory_1[] = { rubidium@6491: MK(0, 0, 131), rubidium@6491: MK(0, 1, 132), rubidium@6491: MK(1, 0, 133), rubidium@6491: MK(1, 1, 134), rubidium@6491: MK(2, 0, 131), rubidium@6491: MK(2, 1, 132), rubidium@6491: MK(3, 0, 133), rubidium@6491: MK(3, 1, 134), rubidium@6491: MK(1, 2, 131), rubidium@6491: MK(1, 3, 132), rubidium@6491: MK(2, 2, 133), rubidium@6491: MK(2, 3, 134), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_candy_factory[] = { truelight@0: _tile_table_candy_factory_0, truelight@0: _tile_table_candy_factory_1, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_battery_farm_0[] = { rubidium@6491: MK(0, 0, 135), rubidium@6491: MK(0, 1, 135), rubidium@6491: MK(0, 2, 135), rubidium@6491: MK(0, 3, 135), rubidium@6491: MK(1, 0, 135), rubidium@6491: MK(1, 1, 135), rubidium@6491: MK(1, 2, 135), rubidium@6491: MK(1, 3, 135), rubidium@6491: MK(2, 0, 135), rubidium@6491: MK(2, 1, 135), rubidium@6491: MK(2, 2, 135), rubidium@6491: MK(2, 3, 135), rubidium@6491: MK(3, 0, 135), rubidium@6491: MK(3, 1, 135), rubidium@6491: MK(3, 2, 135), rubidium@6491: MK(3, 3, 135), rubidium@6491: MK(4, 0, 135), rubidium@6491: MK(4, 1, 135), rubidium@6491: MK(4, 2, 135), rubidium@6491: MK(4, 3, 135), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_battery_farm[] = { truelight@0: _tile_table_battery_farm_0, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_cola_wells_0[] = { rubidium@6491: MK(0, 0, 137), rubidium@6491: MK(0, 1, 137), rubidium@6491: MK(0, 2, 137), rubidium@6491: MK(1, 0, 137), rubidium@6491: MK(1, 1, 137), rubidium@6491: MK(1, 2, 137), rubidium@6491: MK(2, 1, 137), rubidium@6491: MK(2, 2, 137), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_cola_wells_1[] = { rubidium@6491: MK(0, 1, 137), rubidium@6491: MK(0, 2, 137), rubidium@6491: MK(0, 3, 137), rubidium@6491: MK(1, 0, 137), rubidium@6491: MK(1, 1, 137), rubidium@6491: MK(1, 2, 137), rubidium@6491: MK(2, 1, 137), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_cola_wells[] = { truelight@0: _tile_table_cola_wells_0, truelight@0: _tile_table_cola_wells_1, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_toy_shop_0[] = { rubidium@6491: MK(0, 0, 138), rubidium@6491: MK(0, 1, 139), rubidium@6491: MK(1, 0, 140), rubidium@6491: MK(1, 1, 141), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_toy_shop[] = { truelight@0: _tile_table_toy_shop_0, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_toy_factory_0[] = { rubidium@6491: MK(0, 0, 147), rubidium@6491: MK(0, 1, 142), rubidium@6491: MK(1, 0, 147), rubidium@6491: MK(1, 1, 143), rubidium@6491: MK(2, 0, 147), rubidium@6491: MK(2, 1, 144), rubidium@6491: MK(3, 0, 146), rubidium@6491: MK(3, 1, 145), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_toy_factory[] = { truelight@0: _tile_table_toy_factory_0, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_plastic_fountain_0[] = { rubidium@6491: MK(0, 0, 148), rubidium@6491: MK(0, 1, 151), rubidium@6491: MK(0, 2, 154), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_plastic_fountain_1[] = { rubidium@6491: MK(0, 0, 148), rubidium@6491: MK(1, 0, 151), rubidium@6491: MK(2, 0, 154), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_plastic_fountain[] = { truelight@0: _tile_table_plastic_fountain_0, truelight@0: _tile_table_plastic_fountain_1, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_fizzy_drink_0[] = { rubidium@6491: MK(0, 0, 156), rubidium@6491: MK(0, 1, 157), rubidium@6491: MK(1, 0, 158), rubidium@6491: MK(1, 1, 159), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_fizzy_drink[] = { truelight@0: _tile_table_fizzy_drink_0, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_bubble_generator_0[] = { rubidium@6491: MK(0, 0, 163), rubidium@6491: MK(0, 1, 160), rubidium@6491: MK(1, 0, 163), rubidium@6491: MK(1, 1, 161), rubidium@6491: MK(2, 0, 163), rubidium@6491: MK(2, 1, 162), rubidium@6491: MK(0, 2, 163), rubidium@6491: MK(0, 3, 160), rubidium@6491: MK(1, 2, 163), rubidium@6491: MK(1, 3, 161), rubidium@6491: MK(2, 2, 163), rubidium@6491: MK(2, 3, 162), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_bubble_generator[] = { truelight@0: _tile_table_bubble_generator_0, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_toffee_quarry_0[] = { rubidium@6491: MK(0, 0, 164), rubidium@6491: MK(1, 0, 165), rubidium@6491: MK(2, 0, 166), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_toffee_quarry[] = { truelight@0: _tile_table_toffee_quarry_0, truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_sugar_mine_0[] = { rubidium@6491: MK(0, 0, 167), rubidium@6491: MK(0, 1, 168), rubidium@6491: MK(1, 0, 169), rubidium@6491: MK(1, 1, 170), rubidium@6491: MK(2, 0, 171), rubidium@6491: MK(2, 1, 172), rubidium@6491: MK(3, 0, 173), rubidium@6491: MK(3, 1, 174), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable * const _tile_table_sugar_mine[] = { truelight@0: _tile_table_sugar_mine_0, truelight@0: }; truelight@0: truelight@0: #undef MK truelight@0: #undef MKEND truelight@0: belugas@6488: /** belugas@6488: * Writes the properties of an industry into the IndustrySpec struct. belugas@6488: * @param tbl tile table belugas@6488: * @param d cost multiplier belugas@6488: * @param ai1 appear chance ingame - temperate belugas@6488: * @param ai2 appear chance ingame - arctic belugas@6488: * @param ai3 appear chance ingame - tropic belugas@6488: * @param ai4 appear chance ingame - toyland belugas@6488: * @param ag1 appear chance random creation - temperate belugas@6488: * @param ag2 appear chance random creation - arctic belugas@6488: * @param ag3 appear chance random creation - tropic belugas@6488: * @param ag4 appear chance random creation - toyland belugas@6488: * @param col map colour belugas@6488: * @param c1 industry proximity refusal - 1st belugas@6488: * @param c2 industry proximity refusal - 2nd belugas@6488: * @param c3 industry proximity refusal - 3th belugas@6488: * @param proc check procedure index belugas@6488: * @param p1 produce cargo 1 belugas@6488: * @param r1 rate of production 1 belugas@6488: * @param p2 produce cargo 2 belugas@6488: * @param r2 rate of production 1 belugas@6488: * @param m minimum cargo moved to station belugas@6488: * @param a1 accepted cargo 1 rubidium@6635: * @param im1 input multiplier for cargo 1 belugas@6488: * @param a2 accepted cargo 2 rubidium@6635: * @param im2 input multiplier for cargo 2 belugas@6488: * @param a3 accepted cargo 3 rubidium@6635: * @param im3 input multiplier for cargo 3 belugas@6488: * @param pr industry life (actually, the same as extractive, organic, processing in ttdpatch's specs) belugas@6488: * @param clim climate availaility belugas@6488: * @param bev industry behaviour belugas@6488: * @param in name belugas@6488: * @param intx text while building belugas@6488: * @param s1 text for closure belugas@6488: * @param s2 text for production up belugas@6488: * @param s3 text for production down belugas@6488: */ belugas@6488: rubidium@6491: #define MI(tbl, d, ai1, ai2, ai3, ai4, ag1, ag2, ag3, ag4, col, \ rubidium@6635: c1, c2, c3, proc, p1, r1, p2, r2, m, a1, im1, a2, im2, a3, im3, pr, clim, bev, in, intx, s1, s2, s3) \ belugas@3689: {tbl, lengthof(tbl), d, {c1, c2, c3}, proc, {p1, p2}, {r1, r2}, m, \ rubidium@6635: {a1, a2, a3}, {{im1, 0}, {im2, 0}, {im3, 0}}, pr, clim, bev, col, in, intx, s1, s2, s3, {ai1, ai2, ai3, ai4}, {ag1, ag2, ag3, ag4}, 0, 0, 0, 0} belugas@3663: belugas@3663: static const IndustrySpec _industry_specs[] = { belugas@3669: /* Format: belugas@6440: tile table cost multiplier appear chances(4ingame, 4random) map colour belugas@3689: cannot be close to these industries (3 times) check proc belugas@3689: (produced cargo + rate) (twice) minimum cargo moved to station belugas@3669: 3 accepted cargo belugas@4965: industry life climate availability belugas@6390: industry behaviours belugas@6266: industry name building text belugas@3689: messages : Closure production up production down */ belugas@6488: MI(_tile_table_coal_mine, 210, 2, 3, 0, 0, 8, 8, 0, 0, 215, belugas@3689: IT_POWER_STATION, IT_INVALID, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_COAL, 15, CT_INVALID, 0, 5, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_PRODUCTION, 1 << LT_TEMPERATE | 1 << LT_ARCTIC, belugas@6390: INDUSTRYBEH_CAN_SUBSIDENCE, belugas@6266: STR_4802_COAL_MINE, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4836_NEW_COAL_SEAM_FOUND_AT, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3669: belugas@6488: MI(_tile_table_power_station, 30, 2, 2, 0, 0, 5, 5, 0, 0, 184, belugas@3689: IT_COAL_MINE, IT_INVALID, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_INVALID, 0, CT_INVALID, 0, 5, rubidium@6635: CT_COAL, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_NOT_CLOSABLE, 1 << LT_TEMPERATE | 1 << LT_ARCTIC, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_4803_POWER_STATION, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3669: belugas@6488: MI(_tile_table_sawmill, 28, 2, 0, 0, 0, 5, 0, 0, 0, 194, belugas@3689: IT_FOREST, IT_INVALID, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_GOODS, 0, CT_INVALID, 0, 5, rubidium@6635: CT_WOOD, 256, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_CLOSABLE, 1 << LT_TEMPERATE, belugas@6396: INDUSTRYBEH_NONE, belugas@6266: STR_4804_SAWMILL, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3669: belugas@6488: MI(_tile_table_forest, 200, 3, 4, 0, 0, 5, 5, 0, 0, 86, belugas@3689: IT_SAWMILL, IT_PAPER_MILL, IT_INVALID, CHECK_FOREST, belugas@3689: CT_WOOD, 13, CT_INVALID, 0, 30, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_PRODUCTION, 1 << LT_TEMPERATE | 1 << LT_ARCTIC, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_4805_FOREST, STR_482E_NEW_BEING_PLANTED_NEAR, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_483A_INSECT_INFESTATION_CAUSES), belugas@3669: belugas@6488: MI(_tile_table_oil_refinery, 31, 2, 2, 2, 0, 4, 4, 4, 0, 191, tron@3877: IT_OIL_RIG, IT_INVALID, IT_INVALID, CHECK_REFINERY, belugas@3689: CT_GOODS, 0, CT_INVALID, 0, 5, rubidium@6635: CT_OIL, 256, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_CLOSABLE, 1 << LT_TEMPERATE | 1 << LT_ARCTIC | 1 << LT_TROPIC, belugas@6390: INDUSTRYBEH_AIRPLANE_ATTACKS, belugas@6266: STR_4806_OIL_REFINERY, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3669: belugas@6488: MI(_tile_table_oil_rig, 240, 6, 0, 0, 0, 0, 0, 0, 0, 152, tron@3877: IT_OIL_REFINERY, IT_INVALID, IT_INVALID, CHECK_OIL_RIG, belugas@3689: CT_OIL, 15, CT_PASSENGERS, 2, 5, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_PRODUCTION, 1 << LT_TEMPERATE, belugas@6390: INDUSTRYBEH_BUILT_ONWATER | INDUSTRYBEH_AFTER_1960 | INDUSTRYBEH_AI_AIRSHIP_ROUTES, belugas@6266: STR_4807_OIL_RIG, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4837_NEW_OIL_RESERVES_FOUND, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_factory, 26, 2, 0, 0, 0, 5, 0, 0, 0, 174, belugas@3689: IT_FARM, IT_STEEL_MILL, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_GOODS, 0, CT_INVALID, 0, 5, rubidium@6635: CT_LIVESTOCK, 256, CT_GRAIN , 256, CT_STEEL, 256, belugas@6357: INDUSTRYLIFE_CLOSABLE, 1 << LT_TEMPERATE, belugas@6390: INDUSTRYBEH_CHOPPER_ATTACKS, belugas@6266: STR_4808_FACTORY, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_printing_works, 26, 0, 2, 0, 0, 0, 5, 0, 0, 174, belugas@3689: IT_PAPER_MILL, IT_INVALID, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_GOODS, 0, CT_INVALID, 0, 5, rubidium@6635: CT_PAPER, 256, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_CLOSABLE, 1 << LT_ARCTIC, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_4809_PRINTING_WORKS, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_steel_mill, 27, 2, 0, 0, 0, 5, 0, 0, 0, 10, belugas@3689: IT_IRON_MINE, IT_FACTORY, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_STEEL, 0, CT_INVALID, 0, 5, rubidium@6635: CT_IRON_ORE, 256, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_CLOSABLE, 1 << LT_TEMPERATE, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_480A_STEEL_MILL, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_farm, 250, 2, 4, 0, 0, 9, 9, 0, 0, 48, belugas@3689: IT_FACTORY, IT_FOOD_PROCESS, IT_INVALID, CHECK_FARM, belugas@3689: CT_GRAIN, 10, CT_LIVESTOCK, 10, 5, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_PRODUCTION, 1 << LT_TEMPERATE | 1 << LT_ARCTIC, belugas@6390: INDUSTRYBEH_PLANT_FIELDS | INDUSTRYBEH_PLANT_ON_BUILT, belugas@6266: STR_480B_FARM, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4838_IMPROVED_FARMING_METHODS, STR_483A_INSECT_INFESTATION_CAUSES), belugas@3689: belugas@6488: MI(_tile_table_copper_mine, 205, 0, 0, 3, 0, 0, 0, 4, 0, 10, belugas@3689: IT_FACTORY_2, IT_INVALID, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_COPPER_ORE, 10, CT_INVALID, 0, 5, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_PRODUCTION, 1 << LT_TROPIC, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_480C_COPPER_ORE_MINE, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_oil_well, 220, 0, 5, 3, 0, 4, 5, 5, 0, 152, belugas@3689: IT_OIL_REFINERY, IT_INVALID, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_OIL, 12, CT_INVALID, 0, 5, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_PRODUCTION, 1 << LT_TEMPERATE | 1 << LT_ARCTIC | 1 << LT_TROPIC, belugas@6390: INDUSTRYBEH_DONT_INCR_PROD | INDUSTRYBEH_BEFORE_1950, belugas@6266: STR_480D_OIL_WELLS, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4837_NEW_OIL_RESERVES_FOUND, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_bank, 193, 7, 0, 0, 0, 0, 0, 0, 0, 15, belugas@3689: IT_BANK_TEMP, IT_INVALID, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_VALUABLES, 6, CT_INVALID, 0, 5, rubidium@6635: CT_VALUABLES, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_NOT_CLOSABLE, 1 << LT_TEMPERATE, belugas@6390: INDUSTRYBEH_TOWN1200_MORE | INDUSTRYBEH_ONLY_INTOWN, belugas@6266: STR_480E_BANK, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_food_process, 26, 0, 2, 2, 0, 0, 3, 4, 0, 55, belugas@3689: IT_FRUIT_PLANTATION, IT_FARM, IT_FARM_2, CHECK_NOTHING, belugas@3689: CT_FOOD, 0, CT_INVALID, 0, 5, rubidium@6635: CT_FRUIT, 256, CT_MAIZE, 256, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_CLOSABLE, 1 << LT_ARCTIC | 1 << LT_TROPIC, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_480F_FOOD_PROCESSING_PLANT, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_paper_mill, 28, 0, 2, 0, 0, 0, 5, 0, 0, 10, belugas@3689: IT_FOREST, IT_PRINTING_WORKS, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_PAPER, 0, CT_INVALID, 0, 5, rubidium@6635: CT_WOOD, 256, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_CLOSABLE, 1 << LT_ARCTIC, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_4810_PAPER_MILL, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_gold_mine, 208, 0, 3, 0, 0, 0, 4, 0, 0, 194, belugas@3689: IT_BANK_TROPIC_ARCTIC, IT_INVALID, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_GOLD, 7, CT_INVALID, 0, 5, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6446: INDUSTRYLIFE_PRODUCTION, 1 << LT_ARCTIC, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_4811_GOLD_MINE, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_bank2, 19, 0, 3, 3, 0, 0, 6, 5, 0, 15, belugas@3689: IT_GOLD_MINE, IT_DIAMOND_MINE, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_INVALID, 0, CT_INVALID, 0, 5, rubidium@6635: CT_GOLD, 256, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_NOT_CLOSABLE, 1 << LT_ARCTIC | 1 << LT_TROPIC, belugas@6390: INDUSTRYBEH_ONLY_INTOWN, belugas@6266: STR_4812_BANK, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_diamond_mine, 213, 0, 0, 3, 0, 0, 0, 4, 0, 184, belugas@3689: IT_BANK_TROPIC_ARCTIC, IT_INVALID, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_DIAMONDS, 7, CT_INVALID, 0, 5, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_PRODUCTION, 1 << LT_TROPIC, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_4813_DIAMOND_MINE, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_iron_mine, 220, 2, 0, 0, 0, 5, 0, 0, 0, 55, belugas@3689: IT_STEEL_MILL, IT_INVALID, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_IRON_ORE, 10, CT_INVALID, 0, 5, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_PRODUCTION, 1 << LT_TEMPERATE, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_4814_IRON_ORE_MINE, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_fruit_plantation, 225, 0, 0, 2, 0, 0, 0, 4, 0, 86, belugas@3689: IT_FOOD_PROCESS, IT_INVALID, IT_INVALID, CHECK_PLANTATION, belugas@3689: CT_FRUIT, 10, CT_INVALID, 0, 15, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_PRODUCTION, 1 << LT_TROPIC, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_4815_FRUIT_PLANTATION, STR_482E_NEW_BEING_PLANTED_NEAR, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4838_IMPROVED_FARMING_METHODS, STR_483A_INSECT_INFESTATION_CAUSES), belugas@3689: belugas@6488: MI(_tile_table_rubber_plantation, 218, 0, 0, 3, 0, 0, 0, 4, 0, 39, belugas@3689: IT_FACTORY_2, IT_INVALID, IT_INVALID, CHECK_PLANTATION, belugas@3689: CT_RUBBER, 10, CT_INVALID, 0, 15, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_PRODUCTION, 1 << LT_TROPIC, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_4816_RUBBER_PLANTATION, STR_482E_NEW_BEING_PLANTED_NEAR, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4838_IMPROVED_FARMING_METHODS, STR_483A_INSECT_INFESTATION_CAUSES), belugas@3689: belugas@6488: MI(_tile_table_water_supply, 199, 0, 0, 3, 0, 0, 0, 4, 0, 37, belugas@3689: IT_WATER_TOWER, IT_INVALID, IT_INVALID, CHECK_WATER, belugas@3689: CT_WATER, 12, CT_INVALID, 0, 5, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_PRODUCTION, 1 << LT_TROPIC, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_4817_WATER_SUPPLY, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_water_tower, 14, 0, 0, 4, 0, 0, 0, 8, 0, 208, belugas@3689: IT_WATER_SUPPLY, IT_INVALID, IT_INVALID, CHECK_WATER, belugas@3689: CT_INVALID, 0, CT_INVALID, 0, 5, rubidium@6635: CT_WATER, 256, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_NOT_CLOSABLE, 1 << LT_TROPIC, belugas@6390: INDUSTRYBEH_ONLY_INTOWN, belugas@6266: STR_4818_WATER_TOWER, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_factory2, 26, 0, 0, 2, 0, 0, 0, 4, 0, 174, belugas@3689: IT_RUBBER_PLANTATION, IT_COPPER_MINE, IT_LUMBER_MILL, CHECK_PLANTATION, belugas@3689: CT_GOODS, 0, CT_INVALID, 0, 5, rubidium@6635: CT_RUBBER, 256, CT_COPPER_ORE, 256, CT_WOOD, 256, belugas@6357: INDUSTRYLIFE_CLOSABLE, 1 << LT_TROPIC, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_4819_FACTORY, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_farm2, 250, 0, 0, 1, 0, 0, 0, 2, 0, 48, belugas@3689: IT_FOOD_PROCESS, IT_INVALID, IT_INVALID, CHECK_PLANTATION, belugas@3689: CT_MAIZE, 11, CT_INVALID, 0, 5, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_PRODUCTION, 1 << LT_TROPIC, belugas@6390: INDUSTRYBEH_PLANT_FIELDS | INDUSTRYBEH_PLANT_ON_BUILT, belugas@6266: STR_481A_FARM, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4838_IMPROVED_FARMING_METHODS, STR_483A_INSECT_INFESTATION_CAUSES), belugas@3689: belugas@6488: MI(_tile_table_lumber_mill, 17, 0, 0, 0, 0, 0, 0, 0, 0, 194, belugas@3689: IT_FACTORY_2, IT_INVALID, IT_INVALID, CHECK_LUMBERMILL, belugas@3689: CT_WOOD, 0, CT_INVALID, 0, 5, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_CLOSABLE, 1 << LT_TROPIC, belugas@6390: INDUSTRYBEH_CUT_TREES, belugas@6266: STR_481B_LUMBER_MILL, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4834_LACK_OF_NEARBY_TREES_CAUSES, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_cotton_candy, 195, 0, 0, 0, 3, 0, 0, 0, 5, 48, belugas@3689: IT_CANDY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_COTTON_CANDY, 13, CT_INVALID, 0, 30, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_PRODUCTION, 1 << LT_TOYLAND, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_481C_COTTON_CANDY_FOREST, STR_482E_NEW_BEING_PLANTED_NEAR, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4838_IMPROVED_FARMING_METHODS, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_candy_factory, 26, 0, 0, 0, 3, 0, 0, 0, 5, 174, belugas@3689: IT_COTTON_CANDY, IT_TOFFEE_QUARRY, IT_SUGAR_MINE, CHECK_NOTHING, belugas@3689: CT_CANDY, 0, CT_INVALID, 0, 5, rubidium@6635: CT_SUGAR, 256, CT_TOFFEE, 256, CT_COTTON_CANDY, 256, belugas@6357: INDUSTRYLIFE_CLOSABLE, 1 << LT_TOYLAND, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_481D_CANDY_FACTORY, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_battery_farm, 187, 0, 0, 0, 3, 0, 0, 0, 4, 39, belugas@3689: IT_TOY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_BATTERIES, 11, CT_INVALID, 0, 30, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_PRODUCTION, 1 << LT_TOYLAND, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_481E_BATTERY_FARM, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4838_IMPROVED_FARMING_METHODS, STR_483A_INSECT_INFESTATION_CAUSES), belugas@3689: belugas@6488: MI(_tile_table_cola_wells, 193, 0, 0, 0, 3, 0, 0, 0, 5, 55, belugas@3689: IT_FIZZY_DRINK_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_COLA, 12, CT_INVALID, 0, 5, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_PRODUCTION, 1 << LT_TOYLAND, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_481F_COLA_WELLS, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_toy_shop, 17, 0, 0, 0, 3, 0, 0, 0, 4, 208, belugas@3689: IT_TOY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_INVALID, 0, CT_INVALID, 0, 5, rubidium@6635: CT_TOYS, 256, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_NOT_CLOSABLE, 1 << LT_TOYLAND, belugas@6390: INDUSTRYBEH_ONLY_NEARTOWN, belugas@6266: STR_4820_TOY_SHOP, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_toy_factory, 20, 0, 0, 0, 3, 0, 0, 0, 5, 10, belugas@3689: IT_PLASTIC_FOUNTAINS, IT_BATTERY_FARM, IT_TOY_SHOP, CHECK_NOTHING, belugas@3689: CT_TOYS, 0, CT_INVALID, 0, 5, rubidium@6635: CT_PLASTIC, 256, CT_BATTERIES, 256, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_CLOSABLE, 1 << LT_TOYLAND, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_4821_TOY_FACTORY, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_plastic_fountain, 192, 0, 0, 0, 3, 0, 0, 0, 5, 37, belugas@3689: IT_TOY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_PLASTIC, 14, CT_INVALID, 0, 5, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_PRODUCTION, 1 << LT_TOYLAND, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_4822_PLASTIC_FOUNTAINS, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_fizzy_drink, 22, 0, 0, 0, 3, 0, 0, 0, 4, 184, belugas@6414: IT_COLA_WELLS, IT_BUBBLE_GENERATOR, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_FIZZY_DRINKS, 0, CT_INVALID, 0, 5, rubidium@6635: CT_COLA, 256, CT_BUBBLES, 256, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_CLOSABLE, 1 << LT_TOYLAND, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_4823_FIZZY_DRINK_FACTORY, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3669: belugas@6488: MI(_tile_table_bubble_generator, 203, 0, 0, 0, 3, 0, 0, 0, 5, 152, belugas@3689: IT_FIZZY_DRINK_FACTORY, IT_INVALID, IT_INVALID, CHECK_BUBBLEGEN, belugas@3689: CT_BUBBLES, 13, CT_INVALID, 0, 5, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_PRODUCTION, 1 << LT_TOYLAND, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_4824_BUBBLE_GENERATOR, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3669: belugas@6488: MI(_tile_table_toffee_quarry, 213, 0, 0, 0, 3, 0, 0, 0, 5, 194, belugas@3689: IT_CANDY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_TOFFEE, 10, CT_INVALID, 0, 5, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_PRODUCTION, 1 << LT_TOYLAND, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_4825_TOFFEE_QUARRY, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), belugas@3689: belugas@6488: MI(_tile_table_sugar_mine, 210, 0, 0, 0, 2, 0, 0, 0, 4, 15, belugas@3689: IT_CANDY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_SUGAR, 11, CT_INVALID, 0, 5, rubidium@6635: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, belugas@6357: INDUSTRYLIFE_PRODUCTION, 1 << LT_TOYLAND, belugas@6390: INDUSTRYBEH_NONE, belugas@6266: STR_4826_SUGAR_MINE, STR_482D_NEW_UNDER_CONSTRUCTION, belugas@3689: STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50), truelight@0: }; belugas@6488: #undef MI truelight@0: belugas@6488: /** Writes the properties of an industry tile into the IndustryTileSpec struct. belugas@6305: * @param c1 first type of cargo accepted for this tile belugas@6305: * @param c2 second cargo belugas@6305: * @param c3 and third cargo. Those three are in an array belugas@6305: * @param s1 slope refused upon choosing a place to build belugas@6305: * @param a1 animation frame on production belugas@6305: * @param a2 next frame of animation belugas@6488: * @param a3 chooses between animation or construction state belugas@6305: */ belugas@6488: #define MT(c1, c2, c3, sl, a1, a2, a3) {{c1, c2, c3}, sl, a1, a2, a3} belugas@6092: static const IndustryTileSpec _industry_tile_specs[] = { belugas@6092: /* Coal Mine */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, true), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), truelight@0: belugas@6092: /* Power Station */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_PASSENGERS, CT_INVALID, CT_COAL, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), tron@2598: belugas@6092: /* Sawmill */ belugas@6488: MT(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_PASSENGERS, CT_INVALID, CT_WOOD, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Forest Artic, temperate */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, 17, INDUTILE_NOANIM, false), ///< Chopping forest belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, 16, false), ///< Growing forest belugas@6092: belugas@6092: /* Oil refinery */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_OIL, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* oil Rig */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_PASSENGERS, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_MAIL, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Oil Wells artic, temperate */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, true ), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, true ), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, true ), belugas@6092: belugas@6092: /* Farm tropic, arctic and temperate */ belugas@6488: MT(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Factory temperate */ belugas@6488: MT(CT_GRAIN, CT_STEEL, CT_LIVESTOCK, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_GRAIN, CT_STEEL, CT_LIVESTOCK, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_GRAIN, CT_STEEL, CT_LIVESTOCK, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_GRAIN, CT_STEEL, CT_LIVESTOCK, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Printing works */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_PAPER, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_PAPER, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_PAPER, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_PAPER, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Copper ore mine */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, true ), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Steel mill */ belugas@6488: MT(CT_PASSENGERS, CT_INVALID, CT_IRON_ORE, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_PASSENGERS, CT_INVALID, CT_IRON_ORE, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_PASSENGERS, CT_INVALID, CT_IRON_ORE, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_PASSENGERS, CT_INVALID, CT_IRON_ORE, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_PASSENGERS, CT_INVALID, CT_IRON_ORE, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_PASSENGERS, CT_INVALID, CT_IRON_ORE, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Bank temperate*/ belugas@6488: MT(CT_PASSENGERS, CT_INVALID, CT_VALUABLES, SLOPE_E, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_PASSENGERS, CT_INVALID, CT_VALUABLES, SLOPE_S, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Food processing plant, tropic and arctic. CT_MAIZE or CT_WHEAT, CT_LIVESTOCK or CT_FRUIT*/ belugas@6488: MT(CT_MAIZE, CT_INVALID, CT_LIVESTOCK, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_MAIZE, CT_INVALID, CT_LIVESTOCK, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_MAIZE, CT_INVALID, CT_LIVESTOCK, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_MAIZE, CT_INVALID, CT_LIVESTOCK, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Paper mill */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Gold mine */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, true ), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Bank Sub Arctic */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_GOLD, SLOPE_E, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_GOLD, SLOPE_S, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Diamond mine */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Iron ore Mine */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Fruit plantation */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Rubber plantation */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Water supply */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Water tower */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_WATER, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Factory (sub-tropical) */ belugas@6488: MT(CT_COPPER_ORE, CT_WOOD, CT_RUBBER, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_COPPER_ORE, CT_WOOD, CT_RUBBER, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_COPPER_ORE, CT_WOOD, CT_RUBBER, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_COPPER_ORE, CT_WOOD, CT_RUBBER, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Lumber mill */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Candyfloss forest */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, 130, INDUTILE_NOANIM, false), ///< Chopping candyfloss belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, 129, false), ///< Growing candyfloss belugas@6092: belugas@6092: /* Sweet factory */ belugas@6488: MT(CT_COTTON_CANDY, CT_TOFFEE, CT_SUGAR, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_COTTON_CANDY, CT_TOFFEE, CT_SUGAR, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_COTTON_CANDY, CT_TOFFEE, CT_SUGAR, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_COTTON_CANDY, CT_TOFFEE, CT_SUGAR, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Batter farm */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, 136, INDUTILE_NOANIM, false), ///< Reaping batteries belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, 135, false), ///< Growing batteries belugas@6092: belugas@6092: /* Cola wells */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Toy shop */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_TOYS, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_TOYS, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_TOYS, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_TOYS, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Toy factory */ belugas@6488: MT(CT_BATTERIES, CT_INVALID, CT_PLASTIC, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_BATTERIES, CT_INVALID, CT_PLASTIC, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_BATTERIES, CT_INVALID, CT_PLASTIC, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_BATTERIES, CT_INVALID, CT_PLASTIC, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_BATTERIES, CT_INVALID, CT_PLASTIC, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_BATTERIES, CT_INVALID, CT_PLASTIC, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Plastic Fountain */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Fizzy drink factory */ belugas@6488: MT(CT_BUBBLES, CT_INVALID, CT_COLA, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_BUBBLES, CT_INVALID, CT_COLA, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_BUBBLES, CT_INVALID, CT_COLA, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_BUBBLES, CT_INVALID, CT_COLA, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Bubble generator */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Toffee quarry */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: belugas@6092: /* Sugar mine */ belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6488: MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false), belugas@6092: }; belugas@6488: #undef MT belugas@6092: belugas@6092: #endif /* BUILD_INDUSTRY_H */