Changeset - r13747:a8fc5e526175
[Not reviewed]
master
0 3 0
frosch - 15 years ago 2009-11-24 22:02:23
frosch@openttd.org
(svn r18282) -Codechange: Remove IndustrySpec::raw_industry_cost_multiplier and use 8 * cost_multiplier instead.
3 files changed with 24 insertions and 27 deletions:
0 comments (0 inline, 0 general)
src/industry_cmd.cpp
Show inline comments
 
@@ -2416,29 +2416,27 @@ void InitializeIndustries()
 
	_industry_sound_tile = 0;
 
}
 

	
 
bool IndustrySpec::IsRawIndustry() const
 
{
 
	/* Lumber mills are extractive/organic, but can always be built like a non-raw industry */
 
	return (this->life_type & (INDUSTRYLIFE_EXTRACTIVE | INDUSTRYLIFE_ORGANIC)) != 0 &&
 
			(this->behaviour & INDUSTRYBEH_CUT_TREES) == 0;
 
}
 

	
 
Money IndustrySpec::GetConstructionCost() const
 
{
 
	return (_price[PR_BUILD_INDUSTRY] *
 
			(_settings_game.construction.raw_industry_construction == 1 && this->IsRawIndustry() ?
 
					this->raw_industry_cost_multiplier :
 
					this->cost_multiplier
 
			)) >> 8;
 
	/* Building raw industries like secondary is more expensive */
 
	return (_price[PR_BUILD_INDUSTRY] * this->cost_multiplier) >>
 
			((_settings_game.construction.raw_industry_construction == 1 && this->IsRawIndustry()) ? 5 : 8);
 
}
 

	
 
Money IndustrySpec::GetRemovalCost() const
 
{
 
	return (_price[PR_CLEAR_HOUSE] * this->removal_cost_multiplier) >> 8;
 
}
 

	
 
static CommandCost TerraformTile_Industry(TileIndex tile, DoCommandFlag flags, uint z_new, Slope tileh_new)
 
{
 
	if (AutoslopeEnabled()) {
 
		/* We imitate here TTDP's behaviour:
 
		 *  - Both new and old slope must not be steep.
src/industrytype.h
Show inline comments
 
@@ -92,25 +92,24 @@ struct GRFFileProps {
 
	const struct GRFFile *grffile;        ///< grf file that introduced this industry
 
	uint16 override;                      ///< id of the entity been replaced by
 
};
 

	
 
/**
 
 * Defines the data structure for constructing industry.
 
 */
 
struct IndustrySpec {
 
	const IndustryTileTable * const *table;///< List of the tiles composing the industry
 
	byte num_table;                       ///< Number of elements in the table
 
	uint8 cost_multiplier;                ///< Base construction cost multiplier.
 
	uint32 removal_cost_multiplier;       ///< Base removal cost multiplier.
 
	uint16 raw_industry_cost_multiplier;  ///< Base construction cost multiplier when building raw industries like secondary. (not modifiable by NewGRFs)
 
	uint32 prospecting_chance;            ///< Chance prospecting succeeds
 
	IndustryType conflicting[3];          ///< Industries this industry cannot be close to
 
	byte check_proc;                      ///< Index to a procedure to check for conflicting circumstances
 
	CargoID produced_cargo[2];
 
	byte production_rate[2];
 
	byte minimal_cargo;                   ///< minimum amount of cargo transported to the stations
 
	                                      ///< If the waiting cargo is less than this number, no cargo is moved to it
 
	CargoID accepts_cargo[3];             ///< 3 accepted cargos
 
	uint16 input_cargo_multiplier[3][2];  ///< Input cargo multipliers (multiply amount of incoming cargo for the produced cargos)
 
	IndustryLifeType life_type;           ///< This is also known as Industry production flag, in newgrf specs
 
	byte climate_availability;            ///< Bitmask, giving landscape enums as bit position
 
	IndustryBehaviour behaviour;           ///< How this industry will behave, and how others entities can use it
src/table/build_industry.h
Show inline comments
 
@@ -1173,40 +1173,40 @@ enum {
 
 * @param pr   industry life (actually, the same as extractive, organic, processing in ttdpatch's specs)
 
 * @param clim climate availaility
 
 * @param bev  industry behaviour
 
 * @param in   name
 
 * @param intx text while building
 
 * @param s1   text for closure
 
 * @param s2   text for production up
 
 * @param s3   text for production down
 
 */
 

	
 
#define MI(tbl, sndc, snd, d, pc, ai1, ai2, ai3, ai4, ag1, ag2, ag3, ag4, col, \
 
			c1, c2, c3, proc, p1, r1, p2, r2, m, a1, im1, a2, im2, a3, im3, pr, clim, bev, in, intx, s1, s2, s3) \
 
		{tbl, lengthof(tbl), (uint8)min(255, d), 0, d, pc, {c1, c2, c3}, proc, {p1, p2}, {r1, r2}, m, \
 
		{tbl, lengthof(tbl), d, 0, pc, {c1, c2, c3}, proc, {p1, p2}, {r1, r2}, m, \
 
		{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}, \
 
		sndc, snd, 0, 0, true, {INVALID_INDUSTRYTYPE, 0, NULL, NULL, INVALID_INDUSTRYTYPE}}
 
	/* Format:
 
	   tile table                              count and sounds table
 
	   cost multiplier                         appear chances(4ingame, 4random)  map colour
 
	   cannot be close to these industries (3 times)             check proc
 
	   (produced cargo + rate) (twice)         minimum cargo moved to station
 
	   3 accepted cargo and their corresponding input multiplier
 
	   industry life                           climate availability
 
	   industry behaviours
 
	   industry name                           building text
 
	   messages : Closure                      production up                      production down   */
 
static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
 
	MI(_tile_table_coal_mine,                  0, NULL,
 
	   1680, 0xB3333333,                       2, 3, 0, 0,    8, 8, 0, 0,        215,
 
	   210,  0xB3333333,                       2, 3, 0, 0,    8, 8, 0, 0,        215,
 
	   IT_POWER_STATION,  IT_INVALID,          IT_INVALID,       CHECK_NOTHING,
 
	   CT_COAL,       15, CT_INVALID,       0, 5,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_EXTRACTIVE,                1 << LT_TEMPERATE | 1 << LT_ARCTIC,
 
	   INDUSTRYBEH_CAN_SUBSIDENCE,
 
	   STR_INDUSTRY_NAME_COAL_MINE,                     STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL,   STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_power_station,              0, NULL,
 
	   240,  0xFFFFFFFF,                       2, 2, 0, 0,    5, 5, 0, 0,        184,
 
	   IT_COAL_MINE,      IT_INVALID,          IT_INVALID,       CHECK_NOTHING,
 
	   CT_INVALID,     0, CT_INVALID,       0, 5,
 
@@ -1218,45 +1218,45 @@ static const IndustrySpec _origin_indust
 

	
 
	MI(_tile_table_sawmill,                    1, _sawmill_sounds,
 
	   224,  0xFFFFFFFF,                       2, 0, 0, 0,    5, 0, 0, 0,        194,
 
	   IT_FOREST,         IT_INVALID,          IT_INVALID,       CHECK_NOTHING,
 
	   CT_GOODS,       0, CT_INVALID,       0, 5,
 
	   CT_WOOD,      256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_PROCESSING,                1 << LT_TEMPERATE,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_SAWMILL,                       STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS,      STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_forest,                     0, NULL,
 
	   1600, 0xBFFFFFFF,                       3, 4, 0, 0,    5, 5, 0, 0,         86,
 
	   200,  0xBFFFFFFF,                       3, 4, 0, 0,    5, 5, 0, 0,         86,
 
	   IT_SAWMILL,        IT_PAPER_MILL,       IT_INVALID,       CHECK_FOREST,
 
	   CT_WOOD,       13, CT_INVALID,       0, 30,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_ORGANIC,                   1 << LT_TEMPERATE | 1 << LT_ARCTIC,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_FOREST,                        STR_NEWS_INDUSTRY_PLANTED,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
 

	
 
	MI(_tile_table_oil_refinery,               0, NULL,
 
	   244,  0xFFFFFFFF,                       2, 2, 2, 0,    4, 4, 4, 0,        191,
 
	   IT_OIL_RIG,        IT_INVALID,          IT_INVALID,       CHECK_REFINERY,
 
	   CT_GOODS,       0, CT_INVALID,       0, 5,
 
	   CT_OIL,       256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_PROCESSING,                1 << LT_TEMPERATE | 1 << LT_ARCTIC | 1 << LT_TROPIC,
 
	   INDUSTRYBEH_AIRPLANE_ATTACKS,
 
	   STR_INDUSTRY_NAME_OIL_REFINERY,                  STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS,      STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_oil_rig,                    0, NULL,
 
	   1920, 0x99999999,                       6, 0, 0, 0,    0, 0, 0, 0,        152,
 
	   240,  0x99999999,                       6, 0, 0, 0,    0, 0, 0, 0,        152,
 
	   IT_OIL_REFINERY,   IT_INVALID,          IT_INVALID,       CHECK_OIL_RIG,
 
	   CT_OIL,        15, CT_PASSENGERS,    2, 5,
 
	   CT_INVALID,     0, CT_INVALID,       0, CT_INVALID,     0,
 
	   INDUSTRYLIFE_EXTRACTIVE,                1 << LT_TEMPERATE,
 
	   INDUSTRYBEH_BUILT_ONWATER | INDUSTRYBEH_AFTER_1960 | INDUSTRYBEH_AI_AIRSHIP_ROUTES,
 
	   STR_INDUSTRY_NAME_OIL_RIG,                       STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL,   STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_factory,                    1, _factory_sounds,
 
	   208,  0xFFFFFFFF,                       2, 0, 0, 0,    5, 0, 0, 0,        174,
 
	   IT_FARM,           IT_STEEL_MILL,       IT_INVALID,       CHECK_NOTHING,
 
	   CT_GOODS,       0, CT_INVALID,       0, 5,
 
@@ -1278,45 +1278,45 @@ static const IndustrySpec _origin_indust
 

	
 
	MI(_tile_table_steel_mill,                 0, NULL,
 
	   215,  0xFFFFFFFF,                       2, 0, 0, 0,    5, 0, 0, 0,         10,
 
	   IT_IRON_MINE,      IT_FACTORY,          IT_INVALID,       CHECK_NOTHING,
 
	   CT_STEEL,       0, CT_INVALID,       0, 5,
 
	   CT_IRON_ORE,  256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_PROCESSING,                1 << LT_TEMPERATE,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_STEEL_MILL,                    STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS,      STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_farm,                       3, _farm_sounds,
 
	   2000, 0xD9999999,                       2, 4, 0, 0,    9, 9, 0, 0,         48,
 
	   250,  0xD9999999,                       2, 4, 0, 0,    9, 9, 0, 0,         48,
 
	   IT_FACTORY,        IT_FOOD_PROCESS,     IT_INVALID,       CHECK_FARM,
 
	   CT_GRAIN,      10, CT_LIVESTOCK,    10, 5,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_ORGANIC,                   1 << LT_TEMPERATE | 1 << LT_ARCTIC,
 
	   INDUSTRYBEH_PLANT_FIELDS | INDUSTRYBEH_PLANT_ON_BUILT,
 
	   STR_INDUSTRY_NAME_FARM,                          STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
 

	
 
	MI(_tile_table_copper_mine,                0, NULL,
 
	   1640, 0xB3333333,                       0, 0, 3, 0,    0, 0, 4, 0,         10,
 
	   205,  0xB3333333,                       0, 0, 3, 0,    0, 0, 4, 0,         10,
 
	   IT_FACTORY_2,      IT_INVALID,          IT_INVALID,       CHECK_NOTHING,
 
	   CT_COPPER_ORE, 10, CT_INVALID,       0, 5,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_EXTRACTIVE,                1 << LT_TROPIC,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_COPPER_ORE_MINE,               STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_oil_well,                   0, NULL,
 
	   1760, 0x99999999,                       0, 5, 3, 0,    4, 5, 5, 0,        152,
 
	   220,  0x99999999,                       0, 5, 3, 0,    4, 5, 5, 0,        152,
 
	   IT_OIL_REFINERY,   IT_INVALID,          IT_INVALID,       CHECK_NOTHING,
 
	   CT_OIL,        12, CT_INVALID,       0, 5,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_EXTRACTIVE,                1 << LT_TEMPERATE | 1 << LT_ARCTIC | 1 << LT_TROPIC,
 
	   INDUSTRYBEH_DONT_INCR_PROD | INDUSTRYBEH_BEFORE_1950,
 
	   STR_INDUSTRY_NAME_OIL_WELLS,                     STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL,   STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_bank,                       0, NULL,
 
	   255,  0xA6666666,                       7, 0, 0, 0,    0, 0, 0, 0,         15,
 
	   IT_BANK_TEMP,      IT_INVALID,          IT_INVALID,       CHECK_NOTHING,
 
	   CT_VALUABLES,   6, CT_INVALID,       0, 5,
 
@@ -1338,85 +1338,85 @@ static const IndustrySpec _origin_indust
 

	
 
	MI(_tile_table_paper_mill,                 1, _sawmill_sounds,
 
	   227,  0xFFFFFFFF,                       0, 2, 0, 0,    0, 5, 0, 0,         10,
 
	   IT_FOREST,         IT_PRINTING_WORKS,   IT_INVALID,       CHECK_NOTHING,
 
	   CT_PAPER,       0, CT_INVALID,       0, 5,
 
	   CT_WOOD,      256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_PROCESSING,                1 << LT_ARCTIC,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_PAPER_MILL,                    STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS,      STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_gold_mine,                  0, NULL,
 
	   1664, 0x99999999,                       0, 3, 0, 0,    0, 4, 0, 0,        194,
 
	   208,  0x99999999,                       0, 3, 0, 0,    0, 4, 0, 0,        194,
 
	   IT_BANK_TROPIC_ARCTIC, IT_INVALID,      IT_INVALID,       CHECK_NOTHING,
 
	   CT_GOLD,        7, CT_INVALID,       0, 5,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_EXTRACTIVE,                1 << LT_ARCTIC,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_GOLD_MINE,                     STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_bank2,                      0, NULL,
 
	   151,  0xA6666666,                       0, 3, 3, 0,    0, 6, 5, 0,         15,
 
	   IT_GOLD_MINE,      IT_DIAMOND_MINE,     IT_INVALID,       CHECK_NOTHING,
 
	   CT_INVALID,     0, CT_INVALID,       0, 5,
 
	   CT_GOLD,      256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_BLACK_HOLE,                1 << LT_ARCTIC | 1 << LT_TROPIC,
 
	   INDUSTRYBEH_ONLY_INTOWN,
 
	   STR_INDUSTRY_NAME_BANK_TROPIC_ARCTIC,                          STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_diamond_mine,               0, NULL,
 
	   1704, 0x99999999,                       0, 0, 3, 0,    0, 0, 4, 0,        184,
 
	   213,  0x99999999,                       0, 0, 3, 0,    0, 0, 4, 0,        184,
 
	   IT_BANK_TROPIC_ARCTIC, IT_INVALID,      IT_INVALID,       CHECK_NOTHING,
 
	   CT_DIAMONDS,    7, CT_INVALID,       0, 5,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_EXTRACTIVE,                1 << LT_TROPIC,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_DIAMOND_MINE,                  STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_iron_mine,                  0, NULL,
 
	   1760, 0xB3333333,                       2, 0, 0, 0,    5, 0, 0, 0,         55,
 
	   220,  0xB3333333,                       2, 0, 0, 0,    5, 0, 0, 0,         55,
 
	   IT_STEEL_MILL,     IT_INVALID,          IT_INVALID,       CHECK_NOTHING,
 
	   CT_IRON_ORE,   10, CT_INVALID,       0, 5,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_EXTRACTIVE,                1 << LT_TEMPERATE,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_IRON_ORE_MINE,                 STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_fruit_plantation,           0, NULL,
 
	   1800, 0xBFFFFFFF,                       0, 0, 2, 0,    0, 0, 4, 0,         86,
 
	   225,  0xBFFFFFFF,                       0, 0, 2, 0,    0, 0, 4, 0,         86,
 
	   IT_FOOD_PROCESS,   IT_INVALID,          IT_INVALID,       CHECK_PLANTATION,
 
	   CT_FRUIT,      10, CT_INVALID,       0, 15,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_ORGANIC,                   1 << LT_TROPIC,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_FRUIT_PLANTATION,              STR_NEWS_INDUSTRY_PLANTED,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
 

	
 
	MI(_tile_table_rubber_plantation,          0, NULL,
 
	   1744, 0xBFFFFFFF,                       0, 0, 3, 0,    0, 0, 4, 0,         39,
 
	   218,  0xBFFFFFFF,                       0, 0, 3, 0,    0, 0, 4, 0,         39,
 
	   IT_FACTORY_2,      IT_INVALID,          IT_INVALID,       CHECK_PLANTATION,
 
	   CT_RUBBER,     10, CT_INVALID,       0, 15,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_ORGANIC,                   1 << LT_TROPIC,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_RUBBER_PLANTATION,             STR_NEWS_INDUSTRY_PLANTED,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
 

	
 
	MI(_tile_table_water_supply,               0, NULL,
 
	   1592, 0xB3333333,                       0, 0, 3, 0,    0, 0, 4, 0,         37,
 
	   199,  0xB3333333,                       0, 0, 3, 0,    0, 0, 4, 0,         37,
 
	   IT_WATER_TOWER,    IT_INVALID,          IT_INVALID,       CHECK_WATER,
 
	   CT_WATER,      12, CT_INVALID,       0, 5,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_EXTRACTIVE,                1 << LT_TROPIC,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_WATER_SUPPLY,                  STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_water_tower,                0, NULL,
 
	   115,  0xFFFFFFFF,                       0, 0, 4, 0,    0, 0, 8, 0,        208,
 
	   IT_WATER_SUPPLY,   IT_INVALID,          IT_INVALID,       CHECK_WATER,
 
	   CT_INVALID,     0, CT_INVALID,       0, 5,
 
@@ -1428,75 +1428,75 @@ static const IndustrySpec _origin_indust
 

	
 
	MI(_tile_table_factory2,                   1, _factory_sounds,
 
	   208,  0xFFFFFFFF,                       0, 0, 2, 0,    0, 0, 4, 0,        174,
 
	   IT_RUBBER_PLANTATION, IT_COPPER_MINE,   IT_LUMBER_MILL,   CHECK_PLANTATION,
 
	   CT_GOODS,       0, CT_INVALID,       0, 5,
 
	   CT_RUBBER,    256, CT_COPPER_ORE,  256, CT_WOOD,      256,
 
	   INDUSTRYLIFE_PROCESSING,                1 << LT_TROPIC,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_FACTORY_2,                       STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS,      STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_farm2,                      0, NULL,
 
	   2000, 0xD9999999,                       0, 0, 1, 0,    0, 0, 2, 0,         48,
 
	   250,  0xD9999999,                       0, 0, 1, 0,    0, 0, 2, 0,         48,
 
	   IT_FOOD_PROCESS,   IT_INVALID,          IT_INVALID,       CHECK_PLANTATION,
 
	   CT_MAIZE,      11, CT_INVALID,       0, 5,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_ORGANIC,                   1 << LT_TROPIC,
 
	   INDUSTRYBEH_PLANT_FIELDS | INDUSTRYBEH_PLANT_ON_BUILT,
 
	   STR_INDUSTRY_NAME_FARM_2,                          STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
 

	
 
	MI(_tile_table_lumber_mill,                0, NULL,
 
	   135,  0xFFFFFFFF,                       0, 0, 0, 0,    0, 0, 0, 0,        194,
 
	   IT_FACTORY_2,      IT_INVALID,          IT_INVALID,       CHECK_LUMBERMILL,
 
	   CT_WOOD,        0, CT_INVALID,       0, 5,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_PROCESSING,                1 << LT_TROPIC,
 
	   INDUSTRYBEH_CUT_TREES,
 
	   STR_INDUSTRY_NAME_LUMBER_MILL,                   STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_LACK_OF_TREES,   STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_cotton_candy,               0, NULL,
 
	   1560, 0xBFFFFFFF,                       0, 0, 0, 3,    0, 0, 0, 5,         48,
 
	   195,  0xBFFFFFFF,                       0, 0, 0, 3,    0, 0, 0, 5,         48,
 
	   IT_CANDY_FACTORY,  IT_INVALID,          IT_INVALID,       CHECK_NOTHING,
 
	   CT_COTTON_CANDY, 13, CT_INVALID,    0, 30,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_ORGANIC,                   1 << LT_TOYLAND,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_COTTON_CANDY_FOREST,           STR_NEWS_INDUSTRY_PLANTED,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_candy_factory,              0, NULL,
 
	   206,  0xFFFFFFFF,                       0, 0, 0, 3,    0, 0, 0, 5,        174,
 
	   IT_COTTON_CANDY,   IT_TOFFEE_QUARRY,    IT_SUGAR_MINE,    CHECK_NOTHING,
 
	   CT_CANDY,       0, CT_INVALID,       0, 5,
 
	   CT_SUGAR,     256, CT_TOFFEE,      256, CT_COTTON_CANDY, 256,
 
	   INDUSTRYLIFE_PROCESSING,                1 << LT_TOYLAND,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_CANDY_FACTORY,                 STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS,      STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_battery_farm,               0, NULL,
 
	   1496, 0xB3333333,                       0, 0, 0, 3,    0, 0, 0, 4,         39,
 
	   187,  0xB3333333,                       0, 0, 0, 3,    0, 0, 0, 4,         39,
 
	   IT_TOY_FACTORY,    IT_INVALID,          IT_INVALID,       CHECK_NOTHING,
 
	   CT_BATTERIES,  11, CT_INVALID,       0, 30,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_ORGANIC,                   1 << LT_TOYLAND,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_BATTERY_FARM,                  STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
 

	
 
	MI(_tile_table_cola_wells,                 0, NULL,
 
	   1544, 0x99999999,                       0, 0, 0, 3,    0, 0, 0, 5,         55,
 
	   193,  0x99999999,                       0, 0, 0, 3,    0, 0, 0, 5,         55,
 
	   IT_FIZZY_DRINK_FACTORY, IT_INVALID,     IT_INVALID,       CHECK_NOTHING,
 
	   CT_COLA,       12, CT_INVALID,       0, 5,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_EXTRACTIVE,                1 << LT_TOYLAND,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_COLA_WELLS,                    STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_toy_shop,                   0, NULL,
 
	   133,  0xFFFFFFFF,                       0, 0, 0, 3,    0, 0, 0, 4,        208,
 
	   IT_TOY_FACTORY,    IT_INVALID,          IT_INVALID,       CHECK_NOTHING,
 
	   CT_INVALID,     0, CT_INVALID,       0, 5,
 
@@ -1508,65 +1508,65 @@ static const IndustrySpec _origin_indust
 

	
 
	MI(_tile_table_toy_factory,                0, NULL,
 
	   163,  0xFFFFFFFF,                       0, 0, 0, 3,    0, 0, 0, 5,          10,
 
	   IT_PLASTIC_FOUNTAINS, IT_BATTERY_FARM,  IT_TOY_SHOP,     CHECK_NOTHING,
 
	   CT_TOYS,        0, CT_INVALID,       0, 5,
 
	   CT_PLASTIC,   256, CT_BATTERIES,   256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_PROCESSING,                1 << LT_TOYLAND,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_TOY_FACTORY,                   STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS,      STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_plastic_fountain,           1, _plastic_mine_sounds,
 
	   1536, 0xA6666666,                       0, 0, 0, 3,    0, 0, 0, 5,         37,
 
	   192,  0xA6666666,                       0, 0, 0, 3,    0, 0, 0, 5,         37,
 
	   IT_TOY_FACTORY,    IT_INVALID,          IT_INVALID,       CHECK_NOTHING,
 
	   CT_PLASTIC,    14, CT_INVALID,       0, 5,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_EXTRACTIVE,                1 << LT_TOYLAND,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_PLASTIC_FOUNTAINS,             STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_fizzy_drink,                0, NULL,
 
	   177,  0xFFFFFFFF,                       0, 0, 0, 3,    0, 0, 0, 4,        184,
 
	   IT_COLA_WELLS,     IT_BUBBLE_GENERATOR, IT_INVALID,       CHECK_NOTHING,
 
	   CT_FIZZY_DRINKS, 0, CT_INVALID,      0, 5,
 
	   CT_COLA,       256, CT_BUBBLES,    256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_PROCESSING,                1 << LT_TOYLAND,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_FIZZY_DRINK_FACTORY,           STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS,      STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_bubble_generator,           0, NULL,
 
	   1624, 0xB3333333,                       0, 0, 0, 3,    0, 0, 0, 5,        152,
 
	   203,  0xB3333333,                       0, 0, 0, 3,    0, 0, 0, 5,        152,
 
	   IT_FIZZY_DRINK_FACTORY, IT_INVALID,     IT_INVALID,       CHECK_BUBBLEGEN,
 
	   CT_BUBBLES,    13, CT_INVALID,       0, 5,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_EXTRACTIVE,                1 << LT_TOYLAND,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_BUBBLE_GENERATOR,              STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_toffee_quarry,              0, NULL,
 
	   1704, 0xCCCCCCCC,                       0, 0, 0, 3,    0, 0, 0, 5,        194,
 
	   213,  0xCCCCCCCC,                       0, 0, 0, 3,    0, 0, 0, 5,        194,
 
	   IT_CANDY_FACTORY,  IT_INVALID,          IT_INVALID,       CHECK_NOTHING,
 
	   CT_TOFFEE,     10, CT_INVALID,       0, 5,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_EXTRACTIVE,                1 << LT_TOYLAND,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_TOFFEE_QUARRY,                 STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 

	
 
	MI(_tile_table_sugar_mine,                 0, NULL,
 
	   1680, 0xBFFFFFFF,                       0, 0, 0, 2,    0, 0, 0, 4,         15,
 
	   210,  0xBFFFFFFF,                       0, 0, 0, 2,    0, 0, 0, 4,         15,
 
	   IT_CANDY_FACTORY,  IT_INVALID,          IT_INVALID,       CHECK_NOTHING,
 
	   CT_SUGAR,      11, CT_INVALID,       0, 5,
 
	   CT_INVALID,   256, CT_INVALID,     256, CT_INVALID,   256,
 
	   INDUSTRYLIFE_EXTRACTIVE,                1 << LT_TOYLAND,
 
	   INDUSTRYBEH_NONE,
 
	   STR_INDUSTRY_NAME_SUGAR_MINE,                    STR_NEWS_INDUSTRY_CONSTRUCTION,
 
	   STR_NEWS_INDUSTRY_CLOSURE_GENERAL,    STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL,     STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
 
};
 
#undef MI
 

	
 
/** Writes the properties of an industry tile into the IndustryTileSpec struct.
 
 * @param ca1 acceptance of first cargo
0 comments (0 inline, 0 general)