tron@2186: /* $Id$ */ tron@2186: rubidium@10455: /** @file build_industry.h Tables with default industry layouts and behaviours. */ rubidium@9403: belugas@6418: #ifndef BUILD_INDUSTRY_H belugas@6418: #define BUILD_INDUSTRY_H belugas@3654: rubidium@9601: /** rubidium@9601: * Definition of an industry tiles layout. rubidium@9601: * @param x offset x of this tile rubidium@9601: * @param y offset y of this tile rubidium@9601: * @param m index of the tile. rubidium@9601: * @see _industry_specs rubidium@9601: * @see IndustryTileTable rubidium@9601: */ rubidium@9601: #define MK(x, y, m) {{x, y}, m} truelight@0: rubidium@9601: /** rubidium@9601: * Terminator of industry tiles layout definition rubidium@9601: */ tron@909: #define MKEND {{-0x80, 0}, 0} truelight@0: truelight@0: static const IndustryTileTable _tile_table_coal_mine_0[] = { rubidium@9601: MK(1, 1, 0), rubidium@9601: MK(1, 2, 2), rubidium@9601: MK(0, 0, 5), rubidium@9601: MK(1, 0, 6), rubidium@9601: MK(2, 0, 3), rubidium@9601: MK(2, 2, 3), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_coal_mine_1[] = { rubidium@9601: MK(1, 1, 0), rubidium@9601: MK(1, 2, 2), rubidium@9601: MK(2, 0, 0), rubidium@9601: MK(2, 1, 2), rubidium@9601: MK(1, 0, 3), rubidium@9601: MK(0, 0, 3), rubidium@9601: MK(0, 1, 4), rubidium@9601: MK(0, 2, 4), rubidium@9601: MK(2, 2, 4), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_coal_mine_2[] = { rubidium@9601: MK(0, 0, 0), rubidium@9601: MK(0, 1, 2), rubidium@9601: MK(0, 2, 5), rubidium@9601: MK(1, 0, 3), rubidium@9601: MK(1, 1, 3), rubidium@9601: MK(1, 2, 6), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_coal_mine_3[] = { rubidium@9601: MK(0, 1, 0), rubidium@9601: MK(0, 2, 2), rubidium@9601: MK(0, 3, 4), rubidium@9601: MK(1, 0, 5), rubidium@9601: MK(1, 1, 0), rubidium@9601: MK(1, 2, 2), rubidium@9601: MK(1, 3, 3), rubidium@9601: MK(2, 0, 6), rubidium@9601: MK(2, 1, 4), rubidium@9601: 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@9601: MK(0, 0, 7), rubidium@9601: MK(0, 1, 9), rubidium@9601: MK(1, 0, 7), rubidium@9601: MK(1, 1, 8), rubidium@9601: MK(2, 0, 7), rubidium@9601: MK(2, 1, 8), rubidium@9601: MK(3, 0, 10), rubidium@9601: MK(3, 1, 10), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_power_station_1[] = { rubidium@9601: MK(0, 1, 7), rubidium@9601: MK(0, 2, 7), rubidium@9601: MK(1, 0, 8), rubidium@9601: MK(1, 1, 8), rubidium@9601: MK(1, 2, 7), rubidium@9601: MK(2, 0, 9), rubidium@9601: MK(2, 1, 10), rubidium@9601: MK(2, 2, 9), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_power_station_2[] = { rubidium@9601: MK(0, 0, 7), rubidium@9601: MK(0, 1, 7), rubidium@9601: MK(1, 0, 9), rubidium@9601: MK(1, 1, 8), rubidium@9601: MK(2, 0, 10), rubidium@9601: 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@9601: MK(1, 0, 14), rubidium@9601: MK(1, 1, 12), rubidium@9601: MK(1, 2, 11), rubidium@9601: MK(2, 0, 14), rubidium@9601: MK(2, 1, 13), rubidium@9601: MK(0, 0, 15), rubidium@9601: MK(0, 1, 15), rubidium@9601: MK(0, 2, 12), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_sawmill_1[] = { rubidium@9601: MK(0, 0, 15), rubidium@9601: MK(0, 1, 11), rubidium@9601: MK(0, 2, 14), rubidium@9601: MK(1, 0, 15), rubidium@9601: MK(1, 1, 13), rubidium@9601: MK(1, 2, 12), rubidium@9601: MK(2, 0, 11), rubidium@9601: 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@9601: MK(0, 0, 16), rubidium@9601: MK(0, 1, 16), rubidium@9601: MK(0, 2, 16), rubidium@9601: MK(0, 3, 16), rubidium@9601: MK(1, 0, 16), rubidium@9601: MK(1, 1, 16), rubidium@9601: MK(1, 2, 16), rubidium@9601: MK(1, 3, 16), rubidium@9601: MK(2, 0, 16), rubidium@9601: MK(2, 1, 16), rubidium@9601: MK(2, 2, 16), rubidium@9601: MK(2, 3, 16), rubidium@9601: MK(3, 0, 16), rubidium@9601: MK(3, 1, 16), rubidium@9601: MK(3, 2, 16), rubidium@9601: MK(3, 3, 16), rubidium@9601: MK(1, 4, 16), rubidium@9601: MK(2, 4, 16), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_forest_1[] = { rubidium@9601: MK(0, 0, 16), rubidium@9601: MK(1, 0, 16), rubidium@9601: MK(2, 0, 16), rubidium@9601: MK(3, 0, 16), rubidium@9601: MK(4, 0, 16), rubidium@9601: MK(0, 1, 16), rubidium@9601: MK(1, 1, 16), rubidium@9601: MK(2, 1, 16), rubidium@9601: MK(3, 1, 16), rubidium@9601: MK(4, 1, 16), rubidium@9601: MK(0, 2, 16), rubidium@9601: MK(1, 2, 16), rubidium@9601: MK(2, 2, 16), rubidium@9601: MK(3, 2, 16), rubidium@9601: MK(4, 2, 16), rubidium@9601: MK(0, 3, 16), rubidium@9601: MK(1, 3, 16), rubidium@9601: MK(2, 3, 16), rubidium@9601: MK(3, 3, 16), rubidium@9601: MK(4, 3, 16), rubidium@9601: MK(1, 4, 16), rubidium@9601: MK(2, 4, 16), rubidium@9601: 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@9601: MK(0, 0, 20), rubidium@9601: MK(0, 1, 21), rubidium@9601: MK(0, 2, 22), rubidium@9601: MK(0, 3, 21), rubidium@9601: MK(1, 0, 20), rubidium@9601: MK(1, 1, 19), rubidium@9601: MK(1, 2, 22), rubidium@9601: MK(1, 3, 20), rubidium@9601: MK(2, 1, 18), rubidium@9601: MK(2, 2, 18), rubidium@9601: MK(2, 3, 18), rubidium@9601: MK(3, 2, 18), rubidium@9601: MK(3, 3, 18), rubidium@9601: MK(2, 0, 23), rubidium@9601: MK(3, 1, 23), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_oil_refinery_1[] = { rubidium@9601: MK(0, 0, 18), rubidium@9601: MK(0, 1, 18), rubidium@9601: MK(0, 2, 21), rubidium@9601: MK(0, 3, 22), rubidium@9601: MK(0, 4, 20), rubidium@9601: MK(1, 0, 18), rubidium@9601: MK(1, 1, 18), rubidium@9601: MK(1, 2, 19), rubidium@9601: MK(1, 3, 20), rubidium@9601: MK(2, 0, 18), rubidium@9601: MK(2, 1, 18), rubidium@9601: MK(2, 2, 19), rubidium@9601: MK(2, 3, 22), rubidium@9601: MK(1, 4, 23), rubidium@9601: 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@9601: MK(0, 0, 24), rubidium@9601: MK(0, 1, 24), rubidium@9601: MK(0, 2, 25), rubidium@9601: MK(1, 0, 26), rubidium@9601: MK(1, 1, 27), rubidium@9601: MK(1, 2, 28), rubidium@9601: MK(-4, -5, 255), rubidium@9601: MK(-4, -4, 255), rubidium@9601: MK(-4, -3, 255), rubidium@9601: MK(-4, -2, 255), rubidium@9601: MK(-4, -1, 255), rubidium@9601: MK(-4, 0, 255), rubidium@9601: MK(-4, 1, 255), rubidium@9601: MK(-4, 2, 255), rubidium@9601: MK(-4, 3, 255), rubidium@9601: MK(-4, 4, 255), rubidium@9601: MK(-4, 5, 255), rubidium@9601: MK(-3, 5, 255), rubidium@9601: MK(-2, 5, 255), rubidium@9601: MK(-1, 5, 255), rubidium@9601: MK(0, 6, 255), rubidium@9601: MK(1, 6, 255), rubidium@9601: MK(2, 6, 255), rubidium@9601: MK(3, 6, 255), rubidium@9601: MK(4, 6, 255), rubidium@9601: MK(5, 6, 255), rubidium@9601: MK(5, 5, 255), rubidium@9601: MK(5, 4, 255), rubidium@9601: MK(5, 3, 255), rubidium@9601: MK(5, 2, 255), rubidium@9601: MK(5, 1, 255), rubidium@9601: MK(5, 0, 255), rubidium@9601: MK(5, -1, 255), rubidium@9601: MK(5, -2, 255), rubidium@9601: MK(5, -3, 255), rubidium@9601: MK(5, -4, 255), rubidium@9601: MK(4, -4, 255), rubidium@9601: MK(3, -4, 255), rubidium@9601: MK(2, -4, 255), rubidium@9601: MK(1, -4, 255), rubidium@9601: MK(0, -4, 255), rubidium@9601: MK(-1, -5, 255), rubidium@9601: MK(-2, -5, 255), rubidium@9601: MK(-3, -5, 255), rubidium@9601: 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@9601: MK(0, 0, 39), rubidium@9601: MK(0, 1, 40), rubidium@9601: MK(1, 0, 41), rubidium@9601: MK(1, 1, 42), rubidium@9601: MK(0, 2, 39), rubidium@9601: MK(0, 3, 40), rubidium@9601: MK(1, 2, 41), rubidium@9601: MK(1, 3, 42), rubidium@9601: MK(2, 1, 39), rubidium@9601: MK(2, 2, 40), rubidium@9601: MK(3, 1, 41), rubidium@9601: MK(3, 2, 42), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_factory_1[] = { rubidium@9601: MK(0, 0, 39), rubidium@9601: MK(0, 1, 40), rubidium@9601: MK(1, 0, 41), rubidium@9601: MK(1, 1, 42), rubidium@9601: MK(2, 0, 39), rubidium@9601: MK(2, 1, 40), rubidium@9601: MK(3, 0, 41), rubidium@9601: MK(3, 1, 42), rubidium@9601: MK(1, 2, 39), rubidium@9601: MK(1, 3, 40), rubidium@9601: MK(2, 2, 41), rubidium@9601: 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@9601: MK(0, 0, 43), rubidium@9601: MK(0, 1, 44), rubidium@9601: MK(1, 0, 45), rubidium@9601: MK(1, 1, 46), rubidium@9601: MK(0, 2, 43), rubidium@9601: MK(0, 3, 44), rubidium@9601: MK(1, 2, 45), rubidium@9601: MK(1, 3, 46), rubidium@9601: MK(2, 1, 43), rubidium@9601: MK(2, 2, 44), rubidium@9601: MK(3, 1, 45), rubidium@9601: MK(3, 2, 46), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_printing_works_1[] = { rubidium@9601: MK(0, 0, 43), rubidium@9601: MK(0, 1, 44), rubidium@9601: MK(1, 0, 45), rubidium@9601: MK(1, 1, 46), rubidium@9601: MK(2, 0, 43), rubidium@9601: MK(2, 1, 44), rubidium@9601: MK(3, 0, 45), rubidium@9601: MK(3, 1, 46), rubidium@9601: MK(1, 2, 43), rubidium@9601: MK(1, 3, 44), rubidium@9601: MK(2, 2, 45), rubidium@9601: 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@9601: MK(2, 1, 52), rubidium@9601: MK(2, 2, 53), rubidium@9601: MK(3, 1, 54), rubidium@9601: MK(3, 2, 55), rubidium@9601: MK(0, 0, 56), rubidium@9601: MK(1, 0, 57), rubidium@9601: MK(0, 1, 56), rubidium@9601: MK(1, 1, 57), rubidium@9601: MK(0, 2, 56), rubidium@9601: MK(1, 2, 57), rubidium@9601: MK(2, 0, 56), rubidium@9601: MK(3, 0, 57), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_steel_mill_1[] = { rubidium@9601: MK(0, 0, 52), rubidium@9601: MK(0, 1, 53), rubidium@9601: MK(1, 0, 54), rubidium@9601: MK(1, 1, 55), rubidium@9601: MK(2, 0, 52), rubidium@9601: MK(2, 1, 53), rubidium@9601: MK(3, 0, 54), rubidium@9601: MK(3, 1, 55), rubidium@9601: MK(0, 2, 56), rubidium@9601: MK(1, 2, 57), rubidium@9601: MK(2, 2, 56), rubidium@9601: MK(3, 2, 57), rubidium@9601: MK(1, 3, 56), rubidium@9601: 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@9601: MK(1, 0, 33), rubidium@9601: MK(1, 1, 34), rubidium@9601: MK(1, 2, 36), rubidium@9601: MK(0, 0, 37), rubidium@9601: MK(0, 1, 37), rubidium@9601: MK(0, 2, 36), rubidium@9601: MK(2, 0, 35), rubidium@9601: MK(2, 1, 38), rubidium@9601: MK(2, 2, 38), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_farm_1[] = { rubidium@9601: MK(1, 1, 33), rubidium@9601: MK(1, 2, 34), rubidium@9601: MK(0, 0, 35), rubidium@9601: MK(0, 1, 36), rubidium@9601: MK(0, 2, 36), rubidium@9601: MK(0, 3, 35), rubidium@9601: MK(1, 0, 37), rubidium@9601: MK(1, 3, 38), rubidium@9601: MK(2, 0, 37), rubidium@9601: MK(2, 1, 37), rubidium@9601: MK(2, 2, 38), rubidium@9601: MK(2, 3, 38), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_farm_2[] = { rubidium@9601: MK(2, 0, 33), rubidium@9601: MK(2, 1, 34), rubidium@9601: MK(0, 0, 36), rubidium@9601: MK(0, 1, 36), rubidium@9601: MK(0, 2, 37), rubidium@9601: MK(0, 3, 37), rubidium@9601: MK(1, 0, 35), rubidium@9601: MK(1, 1, 38), rubidium@9601: MK(1, 2, 38), rubidium@9601: MK(1, 3, 37), rubidium@9601: MK(2, 2, 37), rubidium@9601: 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@9601: MK(0, 0, 47), rubidium@9601: MK(0, 1, 49), rubidium@9601: MK(0, 2, 51), rubidium@9601: MK(1, 0, 47), rubidium@9601: MK(1, 1, 49), rubidium@9601: MK(1, 2, 50), rubidium@9601: MK(2, 0, 51), rubidium@9601: MK(2, 1, 51), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_copper_mine_1[] = { rubidium@9601: MK(0, 0, 50), rubidium@9601: MK(0, 1, 47), rubidium@9601: MK(0, 2, 49), rubidium@9601: MK(1, 0, 47), rubidium@9601: MK(1, 1, 49), rubidium@9601: MK(1, 2, 51), rubidium@9601: MK(2, 0, 51), rubidium@9601: MK(2, 1, 47), rubidium@9601: 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@9601: MK(0, 0, 29), rubidium@9601: MK(1, 0, 29), rubidium@9601: MK(2, 0, 29), rubidium@9601: MK(0, 1, 29), rubidium@9601: MK(0, 2, 29), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_oil_well_1[] = { rubidium@9601: MK(0, 0, 29), rubidium@9601: MK(1, 0, 29), rubidium@9601: MK(1, 1, 29), rubidium@9601: MK(2, 2, 29), rubidium@9601: 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@9601: MK(0, 0, 58), rubidium@9601: 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@9601: MK(0, 0, 60), rubidium@9601: MK(1, 0, 60), rubidium@9601: MK(2, 0, 60), rubidium@9601: MK(0, 1, 60), rubidium@9601: MK(1, 1, 60), rubidium@9601: MK(2, 1, 60), rubidium@9601: MK(0, 2, 61), rubidium@9601: MK(1, 2, 61), rubidium@9601: MK(2, 2, 63), rubidium@9601: MK(0, 3, 62), rubidium@9601: MK(1, 3, 62), rubidium@9601: MK(2, 3, 63), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_food_process_1[] = { rubidium@9601: MK(0, 0, 61), rubidium@9601: MK(1, 0, 60), rubidium@9601: MK(2, 0, 61), rubidium@9601: MK(3, 0, 61), rubidium@9601: MK(0, 1, 62), rubidium@9601: MK(1, 1, 63), rubidium@9601: MK(2, 1, 63), rubidium@9601: MK(3, 1, 63), rubidium@9601: MK(0, 2, 60), rubidium@9601: MK(1, 2, 60), rubidium@9601: MK(2, 2, 60), rubidium@9601: MK(3, 2, 60), rubidium@9601: MK(0, 3, 62), rubidium@9601: 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@9601: MK(0, 0, 64), rubidium@9601: MK(1, 0, 65), rubidium@9601: MK(2, 0, 66), rubidium@9601: MK(3, 0, 67), rubidium@9601: MK(0, 1, 68), rubidium@9601: MK(1, 1, 69), rubidium@9601: MK(2, 1, 67), rubidium@9601: MK(3, 1, 67), rubidium@9601: MK(0, 2, 66), rubidium@9601: MK(1, 2, 71), rubidium@9601: MK(2, 2, 71), rubidium@9601: 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@9601: MK(0, 0, 72), rubidium@9601: MK(0, 1, 73), rubidium@9601: MK(0, 2, 74), rubidium@9601: MK(0, 3, 75), rubidium@9601: MK(1, 0, 76), rubidium@9601: MK(1, 1, 77), rubidium@9601: MK(1, 2, 78), rubidium@9601: MK(1, 3, 79), rubidium@9601: MK(2, 0, 80), rubidium@9601: MK(2, 1, 81), rubidium@9601: MK(2, 2, 82), rubidium@9601: MK(2, 3, 83), rubidium@9601: MK(3, 0, 84), rubidium@9601: MK(3, 1, 85), rubidium@9601: MK(3, 2, 86), rubidium@9601: 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@9601: MK(0, 0, 89), rubidium@9601: 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@9601: MK(0, 0, 91), rubidium@9601: MK(0, 1, 92), rubidium@9601: MK(0, 2, 93), rubidium@9601: MK(1, 0, 94), rubidium@9601: MK(1, 1, 95), rubidium@9601: MK(1, 2, 96), rubidium@9601: MK(2, 0, 97), rubidium@9601: MK(2, 1, 98), rubidium@9601: 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@9601: MK(0, 0, 100), rubidium@9601: MK(0, 1, 101), rubidium@9601: MK(0, 2, 102), rubidium@9601: MK(0, 3, 103), rubidium@9601: MK(1, 0, 104), rubidium@9601: MK(1, 1, 105), rubidium@9601: MK(1, 2, 106), rubidium@9601: MK(1, 3, 107), rubidium@9601: MK(2, 0, 108), rubidium@9601: MK(2, 1, 109), rubidium@9601: MK(2, 2, 110), rubidium@9601: MK(2, 3, 111), rubidium@9601: MK(3, 0, 112), rubidium@9601: MK(3, 1, 113), rubidium@9601: MK(3, 2, 114), rubidium@9601: 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@9601: MK(0, 0, 116), rubidium@9601: MK(0, 1, 116), rubidium@9601: MK(0, 2, 116), rubidium@9601: MK(0, 3, 116), rubidium@9601: MK(1, 0, 116), rubidium@9601: MK(1, 1, 116), rubidium@9601: MK(1, 2, 116), rubidium@9601: MK(1, 3, 116), rubidium@9601: MK(2, 0, 116), rubidium@9601: MK(2, 1, 116), rubidium@9601: MK(2, 2, 116), rubidium@9601: MK(2, 3, 116), rubidium@9601: MK(3, 0, 116), rubidium@9601: MK(3, 1, 116), rubidium@9601: MK(3, 2, 116), rubidium@9601: MK(3, 3, 116), rubidium@9601: MK(4, 0, 116), rubidium@9601: MK(4, 1, 116), rubidium@9601: MK(4, 2, 116), rubidium@9601: 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@9601: MK(0, 0, 117), rubidium@9601: MK(0, 1, 117), rubidium@9601: MK(0, 2, 117), rubidium@9601: MK(0, 3, 117), rubidium@9601: MK(1, 0, 117), rubidium@9601: MK(1, 1, 117), rubidium@9601: MK(1, 2, 117), rubidium@9601: MK(1, 3, 117), rubidium@9601: MK(2, 0, 117), rubidium@9601: MK(2, 1, 117), rubidium@9601: MK(2, 2, 117), rubidium@9601: MK(2, 3, 117), rubidium@9601: MK(3, 0, 117), rubidium@9601: MK(3, 1, 117), rubidium@9601: MK(3, 2, 117), rubidium@9601: MK(3, 3, 117), rubidium@9601: MK(4, 0, 117), rubidium@9601: MK(4, 1, 117), rubidium@9601: MK(4, 2, 117), rubidium@9601: 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@9601: MK(0, 0, 118), rubidium@9601: MK(0, 1, 119), rubidium@9601: MK(1, 0, 118), rubidium@9601: 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@9601: 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@9601: MK(0, 0, 121), rubidium@9601: MK(0, 1, 122), rubidium@9601: MK(1, 0, 123), rubidium@9601: MK(1, 1, 124), rubidium@9601: MK(0, 2, 121), rubidium@9601: MK(0, 3, 122), rubidium@9601: MK(1, 2, 123), rubidium@9601: MK(1, 3, 124), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_factory2_1[] = { rubidium@9601: MK(0, 0, 121), rubidium@9601: MK(0, 1, 122), rubidium@9601: MK(1, 0, 123), rubidium@9601: MK(1, 1, 124), rubidium@9601: MK(2, 0, 121), rubidium@9601: MK(2, 1, 122), rubidium@9601: MK(3, 0, 123), rubidium@9601: 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@9601: MK(1, 0, 33), rubidium@9601: MK(1, 1, 34), rubidium@9601: MK(1, 2, 36), rubidium@9601: MK(0, 0, 37), rubidium@9601: MK(0, 1, 37), rubidium@9601: MK(0, 2, 36), rubidium@9601: MK(2, 0, 35), rubidium@9601: MK(2, 1, 38), rubidium@9601: MK(2, 2, 38), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_farm2_1[] = { rubidium@9601: MK(1, 1, 33), rubidium@9601: MK(1, 2, 34), rubidium@9601: MK(0, 0, 35), rubidium@9601: MK(0, 1, 36), rubidium@9601: MK(0, 2, 36), rubidium@9601: MK(0, 3, 35), rubidium@9601: MK(1, 0, 37), rubidium@9601: MK(1, 3, 38), rubidium@9601: MK(2, 0, 37), rubidium@9601: MK(2, 1, 37), rubidium@9601: MK(2, 2, 38), rubidium@9601: MK(2, 3, 38), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_farm2_2[] = { rubidium@9601: MK(2, 0, 33), rubidium@9601: MK(2, 1, 34), rubidium@9601: MK(0, 0, 36), rubidium@9601: MK(0, 1, 36), rubidium@9601: MK(0, 2, 37), rubidium@9601: MK(0, 3, 37), rubidium@9601: MK(1, 0, 35), rubidium@9601: MK(1, 1, 38), rubidium@9601: MK(1, 2, 38), rubidium@9601: MK(1, 3, 37), rubidium@9601: MK(2, 2, 37), rubidium@9601: 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@9601: MK(0, 0, 125), rubidium@9601: MK(0, 1, 126), rubidium@9601: MK(1, 0, 127), rubidium@9601: 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@9601: MK(0, 0, 129), rubidium@9601: MK(0, 1, 129), rubidium@9601: MK(0, 2, 129), rubidium@9601: MK(0, 3, 129), rubidium@9601: MK(1, 0, 129), rubidium@9601: MK(1, 1, 129), rubidium@9601: MK(1, 2, 129), rubidium@9601: MK(1, 3, 129), rubidium@9601: MK(2, 0, 129), rubidium@9601: MK(2, 1, 129), rubidium@9601: MK(2, 2, 129), rubidium@9601: MK(2, 3, 129), rubidium@9601: MK(3, 0, 129), rubidium@9601: MK(3, 1, 129), rubidium@9601: MK(3, 2, 129), rubidium@9601: MK(3, 3, 129), rubidium@9601: MK(1, 4, 129), rubidium@9601: MK(2, 4, 129), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_cotton_candy_1[] = { rubidium@9601: MK(0, 0, 129), rubidium@9601: MK(1, 0, 129), rubidium@9601: MK(2, 0, 129), rubidium@9601: MK(3, 0, 129), rubidium@9601: MK(4, 0, 129), rubidium@9601: MK(0, 1, 129), rubidium@9601: MK(1, 1, 129), rubidium@9601: MK(2, 1, 129), rubidium@9601: MK(3, 1, 129), rubidium@9601: MK(4, 1, 129), rubidium@9601: MK(0, 2, 129), rubidium@9601: MK(1, 2, 129), rubidium@9601: MK(2, 2, 129), rubidium@9601: MK(3, 2, 129), rubidium@9601: MK(4, 2, 129), rubidium@9601: MK(0, 3, 129), rubidium@9601: MK(1, 3, 129), rubidium@9601: MK(2, 3, 129), rubidium@9601: MK(3, 3, 129), rubidium@9601: MK(4, 3, 129), rubidium@9601: MK(1, 4, 129), rubidium@9601: MK(2, 4, 129), rubidium@9601: 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@9601: MK(0, 0, 131), rubidium@9601: MK(0, 1, 132), rubidium@9601: MK(1, 0, 133), rubidium@9601: MK(1, 1, 134), rubidium@9601: MK(0, 2, 131), rubidium@9601: MK(0, 3, 132), rubidium@9601: MK(1, 2, 133), rubidium@9601: MK(1, 3, 134), rubidium@9601: MK(2, 1, 131), rubidium@9601: MK(2, 2, 132), rubidium@9601: MK(3, 1, 133), rubidium@9601: MK(3, 2, 134), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_candy_factory_1[] = { rubidium@9601: MK(0, 0, 131), rubidium@9601: MK(0, 1, 132), rubidium@9601: MK(1, 0, 133), rubidium@9601: MK(1, 1, 134), rubidium@9601: MK(2, 0, 131), rubidium@9601: MK(2, 1, 132), rubidium@9601: MK(3, 0, 133), rubidium@9601: MK(3, 1, 134), rubidium@9601: MK(1, 2, 131), rubidium@9601: MK(1, 3, 132), rubidium@9601: MK(2, 2, 133), rubidium@9601: 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@9601: MK(0, 0, 135), rubidium@9601: MK(0, 1, 135), rubidium@9601: MK(0, 2, 135), rubidium@9601: MK(0, 3, 135), rubidium@9601: MK(1, 0, 135), rubidium@9601: MK(1, 1, 135), rubidium@9601: MK(1, 2, 135), rubidium@9601: MK(1, 3, 135), rubidium@9601: MK(2, 0, 135), rubidium@9601: MK(2, 1, 135), rubidium@9601: MK(2, 2, 135), rubidium@9601: MK(2, 3, 135), rubidium@9601: MK(3, 0, 135), rubidium@9601: MK(3, 1, 135), rubidium@9601: MK(3, 2, 135), rubidium@9601: MK(3, 3, 135), rubidium@9601: MK(4, 0, 135), rubidium@9601: MK(4, 1, 135), rubidium@9601: MK(4, 2, 135), rubidium@9601: 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@9601: MK(0, 0, 137), rubidium@9601: MK(0, 1, 137), rubidium@9601: MK(0, 2, 137), rubidium@9601: MK(1, 0, 137), rubidium@9601: MK(1, 1, 137), rubidium@9601: MK(1, 2, 137), rubidium@9601: MK(2, 1, 137), rubidium@9601: MK(2, 2, 137), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_cola_wells_1[] = { rubidium@9601: MK(0, 1, 137), rubidium@9601: MK(0, 2, 137), rubidium@9601: MK(0, 3, 137), rubidium@9601: MK(1, 0, 137), rubidium@9601: MK(1, 1, 137), rubidium@9601: MK(1, 2, 137), rubidium@9601: 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@9601: MK(0, 0, 138), rubidium@9601: MK(0, 1, 139), rubidium@9601: MK(1, 0, 140), rubidium@9601: 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@9601: MK(0, 0, 147), rubidium@9601: MK(0, 1, 142), rubidium@9601: MK(1, 0, 147), rubidium@9601: MK(1, 1, 143), rubidium@9601: MK(2, 0, 147), rubidium@9601: MK(2, 1, 144), rubidium@9601: MK(3, 0, 146), rubidium@9601: 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@9601: MK(0, 0, 148), rubidium@9601: MK(0, 1, 151), rubidium@9601: MK(0, 2, 154), truelight@0: MKEND truelight@0: }; truelight@0: truelight@0: static const IndustryTileTable _tile_table_plastic_fountain_1[] = { rubidium@9601: MK(0, 0, 148), rubidium@9601: MK(1, 0, 151), rubidium@9601: 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@9601: MK(0, 0, 156), rubidium@9601: MK(0, 1, 157), rubidium@9601: MK(1, 0, 158), rubidium@9601: 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@9601: MK(0, 0, 163), rubidium@9601: MK(0, 1, 160), rubidium@9601: MK(1, 0, 163), rubidium@9601: MK(1, 1, 161), rubidium@9601: MK(2, 0, 163), rubidium@9601: MK(2, 1, 162), rubidium@9601: MK(0, 2, 163), rubidium@9601: MK(0, 3, 160), rubidium@9601: MK(1, 2, 163), rubidium@9601: MK(1, 3, 161), rubidium@9601: MK(2, 2, 163), rubidium@9601: 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@9601: MK(0, 0, 164), rubidium@9601: MK(1, 0, 165), rubidium@9601: 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@9601: MK(0, 0, 167), rubidium@9601: MK(0, 1, 168), rubidium@9601: MK(1, 0, 169), rubidium@9601: MK(1, 1, 170), rubidium@9601: MK(2, 0, 171), rubidium@9601: MK(2, 1, 172), rubidium@9601: MK(3, 0, 173), rubidium@9601: 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: glx@9624: /** Array with saw sound, for sawmill */ glx@9624: static const uint8 _sawmill_sounds[] = { SND_28_SAWMILL }; glx@9624: glx@9624: /** Array with whistle sound, for factory */ glx@9624: static const uint8 _factory_sounds[] = { SND_03_FACTORY_WHISTLE }; glx@9624: glx@9624: /** Array with 3 animal sounds, for farms */ glx@9624: static const uint8 _farm_sounds[] = { SND_24_SHEEP, SND_25_COW, SND_26_HORSE }; glx@9624: glx@9624: /** Array with... hem... a sound of toyland */ glx@9624: static const uint8 _plastic_mine_sounds[] = { SND_33_PLASTIC_MINE }; glx@9624: rubidium@9694: enum { rubidium@9694: IT_COAL_MINE = 0, rubidium@9694: IT_POWER_STATION = 1, rubidium@9694: IT_SAWMILL = 2, rubidium@9694: IT_FOREST = 3, rubidium@9694: IT_OIL_REFINERY = 4, rubidium@9694: IT_OIL_RIG = 5, rubidium@9694: IT_FACTORY = 6, rubidium@9694: IT_PRINTING_WORKS = 7, rubidium@9694: IT_STEEL_MILL = 8, rubidium@9694: IT_FARM = 9, rubidium@9694: IT_COPPER_MINE = 10, rubidium@9694: IT_OIL_WELL = 11, rubidium@9694: IT_BANK_TEMP = 12, rubidium@9694: IT_FOOD_PROCESS = 13, rubidium@9694: IT_PAPER_MILL = 14, rubidium@9694: IT_GOLD_MINE = 15, rubidium@9694: IT_BANK_TROPIC_ARCTIC = 16, rubidium@9694: IT_DIAMOND_MINE = 17, rubidium@9694: IT_IRON_MINE = 18, rubidium@9694: IT_FRUIT_PLANTATION = 19, rubidium@9694: IT_RUBBER_PLANTATION = 20, rubidium@9694: IT_WATER_SUPPLY = 21, rubidium@9694: IT_WATER_TOWER = 22, rubidium@9694: IT_FACTORY_2 = 23, rubidium@9694: IT_FARM_2 = 24, rubidium@9694: IT_LUMBER_MILL = 25, rubidium@9694: IT_COTTON_CANDY = 26, rubidium@9694: IT_CANDY_FACTORY = 27, rubidium@9694: IT_BATTERY_FARM = 28, rubidium@9694: IT_COLA_WELLS = 29, rubidium@9694: IT_TOY_SHOP = 30, rubidium@9694: IT_TOY_FACTORY = 31, rubidium@9694: IT_PLASTIC_FOUNTAINS = 32, rubidium@9694: IT_FIZZY_DRINK_FACTORY = 33, rubidium@9694: IT_BUBBLE_GENERATOR = 34, rubidium@9694: IT_TOFFEE_QUARRY = 35, rubidium@9694: IT_SUGAR_MINE = 36, rubidium@9694: IT_END, rubidium@9694: }; rubidium@9694: rubidium@9601: /** rubidium@9601: * Writes the properties of an industry into the IndustrySpec struct. rubidium@9601: * @param tbl tile table glx@9624: * @param sndc number of sounds glx@9624: * @param snd sounds table rubidium@9601: * @param d cost multiplier rubidium@9631: * @param pc prospecting chance rubidium@9601: * @param ai1 appear chance ingame - temperate rubidium@9601: * @param ai2 appear chance ingame - arctic rubidium@9601: * @param ai3 appear chance ingame - tropic rubidium@9601: * @param ai4 appear chance ingame - toyland rubidium@9601: * @param ag1 appear chance random creation - temperate rubidium@9601: * @param ag2 appear chance random creation - arctic rubidium@9601: * @param ag3 appear chance random creation - tropic rubidium@9601: * @param ag4 appear chance random creation - toyland rubidium@9601: * @param col map colour rubidium@9601: * @param c1 industry proximity refusal - 1st rubidium@9601: * @param c2 industry proximity refusal - 2nd rubidium@9601: * @param c3 industry proximity refusal - 3th rubidium@9601: * @param proc check procedure index rubidium@9601: * @param p1 produce cargo 1 rubidium@9601: * @param r1 rate of production 1 rubidium@9601: * @param p2 produce cargo 2 rubidium@9601: * @param r2 rate of production 1 rubidium@9601: * @param m minimum cargo moved to station rubidium@9601: * @param a1 accepted cargo 1 glx@9624: * @param im1 input multiplier for cargo 1 rubidium@9601: * @param a2 accepted cargo 2 glx@9624: * @param im2 input multiplier for cargo 2 rubidium@9601: * @param a3 accepted cargo 3 glx@9624: * @param im3 input multiplier for cargo 3 rubidium@9601: * @param pr industry life (actually, the same as extractive, organic, processing in ttdpatch's specs) rubidium@9601: * @param clim climate availaility rubidium@9601: * @param bev industry behaviour rubidium@9601: * @param in name rubidium@9601: * @param intx text while building rubidium@9601: * @param s1 text for closure rubidium@9601: * @param s2 text for production up rubidium@9601: * @param s3 text for production down rubidium@9601: */ rubidium@9601: rubidium@9631: #define MI(tbl, sndc, snd, d, pc, ai1, ai2, ai3, ai4, ag1, ag2, ag3, ag4, col, \ glx@9624: c1, c2, c3, proc, p1, r1, p2, r2, m, a1, im1, a2, im2, a3, im3, pr, clim, bev, in, intx, s1, s2, s3) \ rubidium@9723: {tbl, lengthof(tbl), min(255, d), 0, d, pc, {c1, c2, c3}, proc, {p1, p2}, {r1, r2}, m, \ rubidium@10249: {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}, \ rubidium@9701: sndc, snd, 0, 0, true, {INVALID_INDUSTRYTYPE, 0, NULL, NULL, INVALID_INDUSTRYTYPE}} belugas@3669: /* Format: glx@9624: tile table count and sounds table glx@9624: 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 glx@9624: 3 accepted cargo and their corresponding input multiplier belugas@4965: industry life climate availability glx@9574: industry behaviours belugas@6592: industry name building text belugas@3689: messages : Closure production up production down */ rubidium@9625: static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = { glx@9624: MI(_tile_table_coal_mine, 0, NULL, rubidium@9631: 1680, 0xB3333333, 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@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TEMPERATE | 1 << LT_ARCTIC, glx@9574: INDUSTRYBEH_CAN_SUBSIDENCE, belugas@6592: 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: glx@9624: MI(_tile_table_power_station, 0, NULL, rubidium@9631: 240, 0xFFFFFFFF, 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@9722: CT_COAL, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_BLACK_HOLE, 1 << LT_TEMPERATE | 1 << LT_ARCTIC, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_sawmill, 1, _sawmill_sounds, rubidium@9631: 224, 0xFFFFFFFF, 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@9722: CT_WOOD, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_PROCESSING, 1 << LT_TEMPERATE, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_forest, 0, NULL, rubidium@9631: 1600, 0xBFFFFFFF, 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@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_ORGANIC, 1 << LT_TEMPERATE | 1 << LT_ARCTIC, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_oil_refinery, 0, NULL, rubidium@9631: 244, 0xFFFFFFFF, 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@9722: CT_OIL, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_PROCESSING, 1 << LT_TEMPERATE | 1 << LT_ARCTIC | 1 << LT_TROPIC, glx@9574: INDUSTRYBEH_AIRPLANE_ATTACKS, belugas@6592: 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: glx@9624: MI(_tile_table_oil_rig, 0, NULL, rubidium@9631: 1920, 0x99999999, 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, glx@9624: CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, 0, rubidium@9631: INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TEMPERATE, glx@9574: INDUSTRYBEH_BUILT_ONWATER | INDUSTRYBEH_AFTER_1960 | INDUSTRYBEH_AI_AIRSHIP_ROUTES, belugas@6592: 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: glx@9624: MI(_tile_table_factory, 1, _factory_sounds, rubidium@9631: 208, 0xFFFFFFFF, 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@9631: CT_LIVESTOCK, 256, CT_GRAIN, 256, CT_STEEL, 256, rubidium@9631: INDUSTRYLIFE_PROCESSING, 1 << LT_TEMPERATE, glx@9574: INDUSTRYBEH_CHOPPER_ATTACKS, belugas@6592: 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: glx@9624: MI(_tile_table_printing_works, 1, _factory_sounds, rubidium@9631: 208, 0xFFFFFFFF, 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@9722: CT_PAPER, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_PROCESSING, 1 << LT_ARCTIC, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_steel_mill, 0, NULL, rubidium@9631: 215, 0xFFFFFFFF, 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@9722: CT_IRON_ORE, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_PROCESSING, 1 << LT_TEMPERATE, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_farm, 3, _farm_sounds, rubidium@9631: 2000, 0xD9999999, 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@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_ORGANIC, 1 << LT_TEMPERATE | 1 << LT_ARCTIC, glx@9574: INDUSTRYBEH_PLANT_FIELDS | INDUSTRYBEH_PLANT_ON_BUILT, belugas@6592: 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: glx@9624: MI(_tile_table_copper_mine, 0, NULL, rubidium@9631: 1640, 0xB3333333, 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@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TROPIC, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9626: MI(_tile_table_oil_well, 0, NULL, rubidium@9631: 1760, 0x99999999, 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@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TEMPERATE | 1 << LT_ARCTIC | 1 << LT_TROPIC, glx@9574: INDUSTRYBEH_DONT_INCR_PROD | INDUSTRYBEH_BEFORE_1950, belugas@6592: 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: glx@9624: MI(_tile_table_bank, 0, NULL, rubidium@9631: 1544, 0xA6666666, 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, glx@9624: CT_VALUABLES, 0, CT_INVALID, 0, CT_INVALID, 0, rubidium@9631: INDUSTRYLIFE_BLACK_HOLE, 1 << LT_TEMPERATE, rubidium@9722: INDUSTRYBEH_TOWN1200_MORE, belugas@6592: 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: glx@9624: MI(_tile_table_food_process, 0, NULL, rubidium@9631: 206, 0xFFFFFFFF, 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@9722: CT_FRUIT, 256, CT_MAIZE, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_PROCESSING, 1 << LT_ARCTIC | 1 << LT_TROPIC, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_paper_mill, 1, _sawmill_sounds, rubidium@9631: 227, 0xFFFFFFFF, 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@9722: CT_WOOD, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_PROCESSING, 1 << LT_ARCTIC, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_gold_mine, 0, NULL, rubidium@9631: 1664, 0x99999999, 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@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_EXTRACTIVE, 1 << LT_ARCTIC, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_bank2, 0, NULL, rubidium@9631: 151, 0xA6666666, 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@9722: CT_GOLD, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_BLACK_HOLE, 1 << LT_ARCTIC | 1 << LT_TROPIC, glx@9574: INDUSTRYBEH_ONLY_INTOWN, belugas@6592: 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: glx@9624: MI(_tile_table_diamond_mine, 0, NULL, rubidium@9631: 1704, 0x99999999, 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@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TROPIC, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_iron_mine, 0, NULL, rubidium@9631: 1760, 0xB3333333, 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@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TEMPERATE, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_fruit_plantation, 0, NULL, rubidium@9631: 1800, 0xBFFFFFFF, 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@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_ORGANIC, 1 << LT_TROPIC, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_rubber_plantation, 0, NULL, rubidium@9631: 1744, 0xBFFFFFFF, 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@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_ORGANIC, 1 << LT_TROPIC, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_water_supply, 0, NULL, rubidium@9631: 1592, 0xB3333333, 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@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TROPIC, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_water_tower, 0, NULL, rubidium@9631: 115, 0xFFFFFFFF, 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@9722: CT_WATER, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_BLACK_HOLE, 1 << LT_TROPIC, glx@9574: INDUSTRYBEH_ONLY_INTOWN, belugas@6592: 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: glx@9624: MI(_tile_table_factory2, 1, _factory_sounds, rubidium@9631: 208, 0xFFFFFFFF, 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, glx@9624: CT_RUBBER, 256, CT_COPPER_ORE, 256, CT_WOOD, 256, rubidium@9631: INDUSTRYLIFE_PROCESSING, 1 << LT_TROPIC, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_farm2, 0, NULL, rubidium@9631: 2000, 0xD9999999, 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@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_ORGANIC, 1 << LT_TROPIC, glx@9574: INDUSTRYBEH_PLANT_FIELDS | INDUSTRYBEH_PLANT_ON_BUILT, belugas@6592: 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: glx@9624: MI(_tile_table_lumber_mill, 0, NULL, rubidium@9631: 135, 0xFFFFFFFF, 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@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_PROCESSING, 1 << LT_TROPIC, glx@9574: INDUSTRYBEH_CUT_TREES, belugas@6592: 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: glx@9624: MI(_tile_table_cotton_candy, 0, NULL, rubidium@9631: 1560, 0xBFFFFFFF, 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@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_ORGANIC, 1 << LT_TOYLAND, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_candy_factory, 0, NULL, rubidium@9631: 206, 0xFFFFFFFF, 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, glx@9624: CT_SUGAR, 256, CT_TOFFEE, 256, CT_COTTON_CANDY, 256, rubidium@9631: INDUSTRYLIFE_PROCESSING, 1 << LT_TOYLAND, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_battery_farm, 0, NULL, rubidium@9631: 1496, 0xB3333333, 0, 0, 0, 3, 0, 0, 0, 4, 39, belugas@3689: IT_TOY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING, rubidium@9722: CT_BATTERIES, 11, CT_INVALID, 0, 30, rubidium@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_ORGANIC, 1 << LT_TOYLAND, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_cola_wells, 0, NULL, rubidium@9631: 1544, 0x99999999, 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@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TOYLAND, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_toy_shop, 0, NULL, rubidium@9631: 133, 0xFFFFFFFF, 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@9722: CT_TOYS, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_BLACK_HOLE, 1 << LT_TOYLAND, glx@9574: INDUSTRYBEH_ONLY_NEARTOWN, belugas@6592: 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: glx@9624: MI(_tile_table_toy_factory, 0, NULL, rubidium@9631: 163, 0xFFFFFFFF, 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@9722: CT_PLASTIC, 256, CT_BATTERIES, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_PROCESSING, 1 << LT_TOYLAND, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_plastic_fountain, 1, _plastic_mine_sounds, rubidium@9631: 1536, 0xA6666666, 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@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TOYLAND, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_fizzy_drink, 0, NULL, rubidium@9631: 177, 0xFFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 4, 184, glx@9574: IT_COLA_WELLS, IT_BUBBLE_GENERATOR, IT_INVALID, CHECK_NOTHING, belugas@3689: CT_FIZZY_DRINKS, 0, CT_INVALID, 0, 5, rubidium@9722: CT_COLA, 256, CT_BUBBLES, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_PROCESSING, 1 << LT_TOYLAND, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_bubble_generator, 0, NULL, rubidium@9631: 1624, 0xB3333333, 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@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TOYLAND, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_toffee_quarry, 0, NULL, rubidium@9631: 1704, 0xCCCCCCCC, 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@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TOYLAND, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: glx@9624: MI(_tile_table_sugar_mine, 0, NULL, rubidium@9631: 1680, 0xBFFFFFFF, 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@9722: CT_INVALID, 256, CT_INVALID, 256, CT_INVALID, 256, rubidium@9631: INDUSTRYLIFE_EXTRACTIVE, 1 << LT_TOYLAND, glx@9574: INDUSTRYBEH_NONE, belugas@6592: 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: }; rubidium@9601: #undef MI truelight@0: rubidium@9601: /** Writes the properties of an industry tile into the IndustryTileSpec struct. rubidium@9625: * @param ca1 acceptance of first cargo rubidium@9625: * @param c1 first type of cargo accepted for this tile rubidium@9625: * @param ca2 acceptance of second cargo rubidium@9625: * @param c2 second cargo rubidium@9625: * @param ca3 acceptance of third cargo rubidium@9625: * @param c3 and third cargo. Those three are in an array rubidium@9625: * @param s1 slope refused upon choosing a place to build rubidium@9625: * @param a1 animation frame on production rubidium@9625: * @param a2 next frame of animation rubidium@9625: * @param a3 chooses between animation or construction state rubidium@9403: */ rubidium@9701: #define MT(ca1, c1, ca2, c2, ca3, c3, sl, a1, a2, a3) {{c1, c2, c3}, {ca1, ca2, ca3}, sl, a1, a2, a3, 0, 0xFFFF, 2, 0, 0, true, {INVALID_INDUSTRYTILE, 0, NULL, NULL, INVALID_INDUSTRYTILE}} rubidium@9625: static const IndustryTileSpec _origin_industry_tile_specs[NEW_INDUSTRYTILEOFFSET] = { belugas@6418: /* Coal Mine */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, true), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), truelight@0: belugas@6418: /* Power Station */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(1, CT_PASSENGERS, 8, CT_COAL, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), tron@2598: belugas@6418: /* Sawmill */ rubidium@9722: MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(1, CT_PASSENGERS, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Forest Artic, temperate */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, 17, INDUSTRYTILE_NOANIM, false), ///< Chopping forest rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, 16, false), ///< Growing forest belugas@6418: belugas@6418: /* Oil refinery */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 8, CT_OIL, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: rubidium@9722: /* Oil Rig */ rubidium@9722: MT(0, CT_INVALID, 8, CT_PASSENGERS, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 8, CT_MAIL, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: rubidium@9722: /* Oil Wells artic, temperate and sub-tropical */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, true ), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, true ), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, true ), belugas@6418: belugas@6418: /* Farm tropic, arctic and temperate */ rubidium@9722: MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Factory temperate */ rubidium@9722: MT(8, CT_GRAIN, 8, CT_LIVESTOCK, 8, CT_STEEL, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_GRAIN, 8, CT_LIVESTOCK, 8, CT_STEEL, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_GRAIN, 8, CT_LIVESTOCK, 8, CT_STEEL, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_GRAIN, 8, CT_LIVESTOCK, 8, CT_STEEL, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Printing works */ rubidium@9722: MT(0, CT_INVALID, 8, CT_PAPER, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 8, CT_PAPER, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 8, CT_PAPER, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 8, CT_PAPER, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Copper ore mine */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, true ), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(1, CT_PASSENGERS, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Steel mill */ rubidium@9722: MT(1, CT_PASSENGERS, 8, CT_IRON_ORE, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(1, CT_PASSENGERS, 8, CT_IRON_ORE, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(1, CT_PASSENGERS, 8, CT_IRON_ORE, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(1, CT_PASSENGERS, 8, CT_IRON_ORE, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(1, CT_PASSENGERS, 8, CT_IRON_ORE, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(1, CT_PASSENGERS, 8, CT_IRON_ORE, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Bank temperate*/ rubidium@9722: MT(1, CT_PASSENGERS, 8, CT_VALUABLES, 0, CT_INVALID, SLOPE_E, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(1, CT_PASSENGERS, 8, CT_VALUABLES, 0, CT_INVALID, SLOPE_S, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Food processing plant, tropic and arctic. CT_MAIZE or CT_WHEAT, CT_LIVESTOCK or CT_FRUIT*/ rubidium@9722: MT(8, CT_MAIZE, 8, CT_LIVESTOCK, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_MAIZE, 8, CT_LIVESTOCK, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_MAIZE, 8, CT_LIVESTOCK, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_MAIZE, 8, CT_LIVESTOCK, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Paper mill */ rubidium@9722: MT(0, CT_INVALID, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 8, CT_WOOD, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Gold mine */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, true ), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Bank Sub Arctic */ rubidium@9722: MT(0, CT_INVALID, 8, CT_GOLD, 0, CT_INVALID, SLOPE_E, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 8, CT_GOLD, 0, CT_INVALID, SLOPE_S, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Diamond mine */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Iron ore Mine */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Fruit plantation */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Rubber plantation */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Water supply */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Water tower */ rubidium@9722: MT(0, CT_INVALID, 8, CT_WATER, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Factory (sub-tropical) */ rubidium@9722: MT(8, CT_COPPER_ORE, 8, CT_RUBBER, 8, CT_WOOD, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_COPPER_ORE, 8, CT_RUBBER, 8, CT_WOOD, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_COPPER_ORE, 8, CT_RUBBER, 8, CT_WOOD, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_COPPER_ORE, 8, CT_RUBBER, 8, CT_WOOD, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Lumber mill */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Candyfloss forest */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, 130, INDUSTRYTILE_NOANIM, false), ///< Chopping candyfloss rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, 129, false), ///< Growing candyfloss belugas@6418: belugas@6418: /* Sweet factory */ rubidium@9722: MT(8, CT_COTTON_CANDY, 8, CT_TOFFEE, 8, CT_SUGAR, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_COTTON_CANDY, 8, CT_TOFFEE, 8, CT_SUGAR, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_COTTON_CANDY, 8, CT_TOFFEE, 8, CT_SUGAR, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_COTTON_CANDY, 8, CT_TOFFEE, 8, CT_SUGAR, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: rubidium@9722: /* Battery farm */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, 136, INDUSTRYTILE_NOANIM, false), ///< Reaping batteries rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, 135, false), ///< Growing batteries belugas@6418: belugas@6418: /* Cola wells */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Toy shop */ rubidium@9722: MT(0, CT_INVALID, 8, CT_TOYS, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 8, CT_TOYS, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 8, CT_TOYS, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 8, CT_TOYS, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Toy factory */ rubidium@9722: MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_BATTERIES, 8, CT_PLASTIC, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Plastic Fountain */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Fizzy drink factory */ rubidium@9722: MT(8, CT_BUBBLES, 8, CT_COLA, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_BUBBLES, 8, CT_COLA, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_BUBBLES, 8, CT_COLA, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(8, CT_BUBBLES, 8, CT_COLA, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Bubble generator */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Toffee quarry */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: belugas@6418: /* Sugar mine */ rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), rubidium@9722: MT(0, CT_INVALID, 0, CT_INVALID, 0, CT_INVALID, SLOPE_STEEP, INDUSTRYTILE_NOANIM, INDUSTRYTILE_NOANIM, false), belugas@6418: }; rubidium@9601: #undef MT belugas@6418: belugas@6418: #endif /* BUILD_INDUSTRY_H */