mirror of https://github.com/OpenTTD/OpenTTD
(svn r9162) -Codechange: Cleanup of industry_cmd (Step-8). Gather tile animation data into IndustryTileSpec array
Added a few documentation on remaining animation arrays (mostly ToyLand ones)release/0.6
parent
4177215b41
commit
65ce0e36db
|
@ -12,6 +12,7 @@ typedef uint8 IndustryType;
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
INVALID_INDUSTRY = 0xFFFF,
|
INVALID_INDUSTRY = 0xFFFF,
|
||||||
|
INDUTILE_NOAMIN = 0xFF, ///< flag to mark industry tiles as having no animation
|
||||||
};
|
};
|
||||||
|
|
||||||
enum IndustryLifeType {
|
enum IndustryLifeType {
|
||||||
|
@ -83,6 +84,10 @@ struct IndustrySpec {
|
||||||
struct IndustryTileSpec {
|
struct IndustryTileSpec {
|
||||||
CargoID accepts_cargo[3]; ///< Cargo accepted by this tile
|
CargoID accepts_cargo[3]; ///< Cargo accepted by this tile
|
||||||
Slope slopes_refused; ///< slope pattern on which this tile cannot be built
|
Slope slopes_refused; ///< slope pattern on which this tile cannot be built
|
||||||
|
byte anim_production; ///< Animation frame to start when goods are produced
|
||||||
|
byte anim_next; ///< Next frame in an animation
|
||||||
|
bool anim_state; ///< When true, the tile has to be drawn using the animation
|
||||||
|
///< state instead of the construction state
|
||||||
};
|
};
|
||||||
|
|
||||||
const IndustrySpec *GetIndustrySpec(IndustryType thistype); ///< Array of industries default data
|
const IndustrySpec *GetIndustrySpec(IndustryType thistype); ///< Array of industries default data
|
||||||
|
|
|
@ -233,7 +233,7 @@ static void DrawTile_Industry(TileInfo *ti)
|
||||||
ind = GetIndustryByTile(ti->tile);
|
ind = GetIndustryByTile(ti->tile);
|
||||||
|
|
||||||
/* Retrieve pointer to the draw industry tile struct */
|
/* Retrieve pointer to the draw industry tile struct */
|
||||||
dits = &_industry_draw_tile_data[gfx << 2 | (_industry_section_draw_animation_state[gfx] ?
|
dits = &_industry_draw_tile_data[gfx << 2 | (GetIndustryTileSpec(gfx)->anim_state ?
|
||||||
GetIndustryAnimationState(ti->tile) & 3 :
|
GetIndustryAnimationState(ti->tile) & 3 :
|
||||||
GetIndustryConstructionStage(ti->tile))];
|
GetIndustryConstructionStage(ti->tile))];
|
||||||
|
|
||||||
|
@ -357,9 +357,9 @@ static void TransportIndustryGoods(TileIndex tile)
|
||||||
am = MoveGoodsToStation(i->xy, i->width, i->height, i->produced_cargo[0], cw);
|
am = MoveGoodsToStation(i->xy, i->width, i->height, i->produced_cargo[0], cw);
|
||||||
i->last_mo_transported[0] += am;
|
i->last_mo_transported[0] += am;
|
||||||
if (am != 0) {
|
if (am != 0) {
|
||||||
uint newgfx = _industry_produce_section[GetIndustryGfx(tile)];
|
uint newgfx = GetIndustryTileSpec(GetIndustryGfx(tile))->anim_production;
|
||||||
|
|
||||||
if (newgfx != 0xFF) {
|
if (newgfx != INDUTILE_NOAMIN) {
|
||||||
ResetIndustryConstructionStage(tile);
|
ResetIndustryConstructionStage(tile);
|
||||||
SetIndustryCompleted(tile, true);
|
SetIndustryCompleted(tile, true);
|
||||||
SetIndustryGfx(tile, newgfx);
|
SetIndustryGfx(tile, newgfx);
|
||||||
|
@ -645,8 +645,8 @@ static void TileLoop_Industry(TileIndex tile)
|
||||||
|
|
||||||
TransportIndustryGoods(tile);
|
TransportIndustryGoods(tile);
|
||||||
|
|
||||||
newgfx = _industry_section_animation_next[GetIndustryGfx(tile)];
|
newgfx = GetIndustryTileSpec(GetIndustryGfx(tile))->anim_next;
|
||||||
if (newgfx != 255) {
|
if (newgfx != INDUTILE_NOAMIN) {
|
||||||
ResetIndustryConstructionStage(tile);
|
ResetIndustryConstructionStage(tile);
|
||||||
SetIndustryGfx(tile, newgfx);
|
SetIndustryGfx(tile, newgfx);
|
||||||
MarkTileDirtyByTile(tile);
|
MarkTileDirtyByTile(tile);
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
/* $Id$ */
|
/* $Id$ */
|
||||||
|
|
||||||
|
/** @file build_industry.h */
|
||||||
|
|
||||||
#ifndef BUILD_INDUSTRY_H
|
#ifndef BUILD_INDUSTRY_H
|
||||||
#define BUILD_INDUSTRY_H
|
#define BUILD_INDUSTRY_H
|
||||||
|
|
||||||
|
@ -1461,256 +1463,264 @@ static const byte * const _industry_create_table[4] = {
|
||||||
_industry_create_table_3,
|
_industry_create_table_3,
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MK(c1, c2, c3, sl) \
|
/** Writes the properties of a industry tile into the IndustryTileSpec struct.
|
||||||
{{c1, c2, c3}, sl}
|
* @param c1 first type of cargo accepted for this tile
|
||||||
|
* @param c2 second cargo
|
||||||
|
* @param c3 and third cargo. Those three are in an array
|
||||||
|
* @param s1 slope refused upon choosing a place to build
|
||||||
|
* @param a1 animation frame on production
|
||||||
|
* @param a2 next frame of animation
|
||||||
|
* @param a3 chosses between animation of construction state
|
||||||
|
*/
|
||||||
|
#define MK(c1, c2, c3, sl, a1, a2, a3) {{c1, c2, c3}, sl, a1, a2, a3}
|
||||||
static const IndustryTileSpec _industry_tile_specs[] = {
|
static const IndustryTileSpec _industry_tile_specs[] = {
|
||||||
/* Coal Mine */
|
/* Coal Mine */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, true),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Power Station */
|
/* Power Station */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_PASSENGERS, CT_INVALID, CT_COAL, SLOPE_STEEP),
|
MK(CT_PASSENGERS, CT_INVALID, CT_COAL, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Sawmill */
|
/* Sawmill */
|
||||||
MK(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_PASSENGERS, CT_INVALID, CT_WOOD, SLOPE_STEEP),
|
MK(CT_PASSENGERS, CT_INVALID, CT_WOOD, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Forest Artic, temperate */
|
/* Forest Artic, temperate */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, 17, INDUTILE_NOAMIN, false), // Chopping forest
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, 16, false), // Growing forest
|
||||||
|
|
||||||
/* Oil refinery */
|
/* Oil refinery */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_OIL, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_OIL, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* oil Rig */
|
/* oil Rig */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_PASSENGERS, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_PASSENGERS, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_MAIL, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_MAIL, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Oil Wells artic, temperate */
|
/* Oil Wells artic, temperate */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, true ),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, true ),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, true ),
|
||||||
|
|
||||||
/* Farm tropic, arctic and temperate */
|
/* Farm tropic, arctic and temperate */
|
||||||
MK(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Factory temperate */
|
/* Factory temperate */
|
||||||
MK(CT_GRAIN, CT_STEEL, CT_LIVESTOCK, SLOPE_STEEP),
|
MK(CT_GRAIN, CT_STEEL, CT_LIVESTOCK, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_GRAIN, CT_STEEL, CT_LIVESTOCK, SLOPE_STEEP),
|
MK(CT_GRAIN, CT_STEEL, CT_LIVESTOCK, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_GRAIN, CT_STEEL, CT_LIVESTOCK, SLOPE_STEEP),
|
MK(CT_GRAIN, CT_STEEL, CT_LIVESTOCK, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_GRAIN, CT_STEEL, CT_LIVESTOCK, SLOPE_STEEP),
|
MK(CT_GRAIN, CT_STEEL, CT_LIVESTOCK, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Printing works */
|
/* Printing works */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_PAPER, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_PAPER, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_PAPER, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_PAPER, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_PAPER, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_PAPER, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_PAPER, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_PAPER, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Copper ore mine */
|
/* Copper ore mine */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, true ),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_PASSENGERS, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Steel mill */
|
/* Steel mill */
|
||||||
MK(CT_PASSENGERS, CT_INVALID, CT_IRON_ORE, SLOPE_STEEP),
|
MK(CT_PASSENGERS, CT_INVALID, CT_IRON_ORE, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_PASSENGERS, CT_INVALID, CT_IRON_ORE, SLOPE_STEEP),
|
MK(CT_PASSENGERS, CT_INVALID, CT_IRON_ORE, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_PASSENGERS, CT_INVALID, CT_IRON_ORE, SLOPE_STEEP),
|
MK(CT_PASSENGERS, CT_INVALID, CT_IRON_ORE, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_PASSENGERS, CT_INVALID, CT_IRON_ORE, SLOPE_STEEP),
|
MK(CT_PASSENGERS, CT_INVALID, CT_IRON_ORE, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_PASSENGERS, CT_INVALID, CT_IRON_ORE, SLOPE_STEEP),
|
MK(CT_PASSENGERS, CT_INVALID, CT_IRON_ORE, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_PASSENGERS, CT_INVALID, CT_IRON_ORE, SLOPE_STEEP),
|
MK(CT_PASSENGERS, CT_INVALID, CT_IRON_ORE, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
MK(CT_PASSENGERS, CT_INVALID, CT_IRON_ORE, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Bank temperate*/
|
/* Bank temperate*/
|
||||||
MK(CT_PASSENGERS, CT_INVALID, CT_VALUABLES, SLOPE_E),
|
MK(CT_PASSENGERS, CT_INVALID, CT_VALUABLES, SLOPE_E, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_PASSENGERS, CT_INVALID, CT_VALUABLES, SLOPE_S),
|
MK(CT_PASSENGERS, CT_INVALID, CT_VALUABLES, SLOPE_S, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Food processing plant, tropic and arctic. CT_MAIZE or CT_WHEAT, CT_LIVESTOCK or CT_FRUIT*/
|
/* Food processing plant, tropic and arctic. CT_MAIZE or CT_WHEAT, CT_LIVESTOCK or CT_FRUIT*/
|
||||||
MK(CT_MAIZE, CT_INVALID, CT_LIVESTOCK, SLOPE_STEEP),
|
MK(CT_MAIZE, CT_INVALID, CT_LIVESTOCK, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_MAIZE, CT_INVALID, CT_LIVESTOCK, SLOPE_STEEP),
|
MK(CT_MAIZE, CT_INVALID, CT_LIVESTOCK, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_MAIZE, CT_INVALID, CT_LIVESTOCK, SLOPE_STEEP),
|
MK(CT_MAIZE, CT_INVALID, CT_LIVESTOCK, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_MAIZE, CT_INVALID, CT_LIVESTOCK, SLOPE_STEEP),
|
MK(CT_MAIZE, CT_INVALID, CT_LIVESTOCK, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Paper mill */
|
/* Paper mill */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_WOOD, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Gold mine */
|
/* Gold mine */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, true ),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Bank Sub Arctic */
|
/* Bank Sub Arctic */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_GOLD, SLOPE_E),
|
MK(CT_INVALID, CT_INVALID, CT_GOLD, SLOPE_E, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_GOLD, SLOPE_S),
|
MK(CT_INVALID, CT_INVALID, CT_GOLD, SLOPE_S, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Diamond mine */
|
/* Diamond mine */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Iron ore Mine */
|
/* Iron ore Mine */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Fruit plantation */
|
/* Fruit plantation */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Rubber plantation */
|
/* Rubber plantation */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Water supply */
|
/* Water supply */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Water tower */
|
/* Water tower */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_WATER, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_WATER, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Factory (sub-tropical) */
|
/* Factory (sub-tropical) */
|
||||||
MK(CT_COPPER_ORE, CT_WOOD, CT_RUBBER, SLOPE_STEEP),
|
MK(CT_COPPER_ORE, CT_WOOD, CT_RUBBER, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_COPPER_ORE, CT_WOOD, CT_RUBBER, SLOPE_STEEP),
|
MK(CT_COPPER_ORE, CT_WOOD, CT_RUBBER, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_COPPER_ORE, CT_WOOD, CT_RUBBER, SLOPE_STEEP),
|
MK(CT_COPPER_ORE, CT_WOOD, CT_RUBBER, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_COPPER_ORE, CT_WOOD, CT_RUBBER, SLOPE_STEEP),
|
MK(CT_COPPER_ORE, CT_WOOD, CT_RUBBER, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Lumber mill */
|
/* Lumber mill */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Candyfloss forest */
|
/* Candyfloss forest */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, 130, INDUTILE_NOAMIN, false), // Chopping candyfloss
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, 129, false), // Growing candyfloss
|
||||||
|
|
||||||
/* Sweet factory */
|
/* Sweet factory */
|
||||||
MK(CT_COTTON_CANDY, CT_TOFFEE, CT_SUGAR, SLOPE_STEEP),
|
MK(CT_COTTON_CANDY, CT_TOFFEE, CT_SUGAR, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_COTTON_CANDY, CT_TOFFEE, CT_SUGAR, SLOPE_STEEP),
|
MK(CT_COTTON_CANDY, CT_TOFFEE, CT_SUGAR, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_COTTON_CANDY, CT_TOFFEE, CT_SUGAR, SLOPE_STEEP),
|
MK(CT_COTTON_CANDY, CT_TOFFEE, CT_SUGAR, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_COTTON_CANDY, CT_TOFFEE, CT_SUGAR, SLOPE_STEEP),
|
MK(CT_COTTON_CANDY, CT_TOFFEE, CT_SUGAR, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Batter farm */
|
/* Batter farm */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, 136, INDUTILE_NOAMIN, false), // Reaping batteries
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, 135, false), // Growing batteries
|
||||||
|
|
||||||
/* Cola wells */
|
/* Cola wells */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Toy shop */
|
/* Toy shop */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_TOYS, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_TOYS, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_TOYS, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_TOYS, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_TOYS, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_TOYS, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_TOYS, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_TOYS, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Toy factory */
|
/* Toy factory */
|
||||||
MK(CT_BATTERIES, CT_INVALID, CT_PLASTIC, SLOPE_STEEP),
|
MK(CT_BATTERIES, CT_INVALID, CT_PLASTIC, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_BATTERIES, CT_INVALID, CT_PLASTIC, SLOPE_STEEP),
|
MK(CT_BATTERIES, CT_INVALID, CT_PLASTIC, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_BATTERIES, CT_INVALID, CT_PLASTIC, SLOPE_STEEP),
|
MK(CT_BATTERIES, CT_INVALID, CT_PLASTIC, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_BATTERIES, CT_INVALID, CT_PLASTIC, SLOPE_STEEP),
|
MK(CT_BATTERIES, CT_INVALID, CT_PLASTIC, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_BATTERIES, CT_INVALID, CT_PLASTIC, SLOPE_STEEP),
|
MK(CT_BATTERIES, CT_INVALID, CT_PLASTIC, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_BATTERIES, CT_INVALID, CT_PLASTIC, SLOPE_STEEP),
|
MK(CT_BATTERIES, CT_INVALID, CT_PLASTIC, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Plastic Fountain */
|
/* Plastic Fountain */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Fizzy drink factory */
|
/* Fizzy drink factory */
|
||||||
MK(CT_BUBBLES, CT_INVALID, CT_COLA, SLOPE_STEEP),
|
MK(CT_BUBBLES, CT_INVALID, CT_COLA, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_BUBBLES, CT_INVALID, CT_COLA, SLOPE_STEEP),
|
MK(CT_BUBBLES, CT_INVALID, CT_COLA, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_BUBBLES, CT_INVALID, CT_COLA, SLOPE_STEEP),
|
MK(CT_BUBBLES, CT_INVALID, CT_COLA, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_BUBBLES, CT_INVALID, CT_COLA, SLOPE_STEEP),
|
MK(CT_BUBBLES, CT_INVALID, CT_COLA, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Bubble generator */
|
/* Bubble generator */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Toffee quarry */
|
/* Toffee quarry */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
|
|
||||||
/* Sugar mine */
|
/* Sugar mine */
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP),
|
MK(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOAMIN, INDUTILE_NOAMIN, false),
|
||||||
};
|
};
|
||||||
#undef MK
|
#undef MK
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
/* $Id$ */
|
/* $Id$ */
|
||||||
|
|
||||||
|
/** @file industry_land.h */
|
||||||
|
|
||||||
struct DrawIndustrySpec1Struct {
|
struct DrawIndustrySpec1Struct {
|
||||||
byte x;
|
byte x;
|
||||||
byte image_1;
|
byte image_1;
|
||||||
|
@ -718,6 +720,7 @@ static const DrawBuildingsTileStruct _industry_draw_tile_data[NUM_INDUSTRY_GFXES
|
||||||
M( 0xf8d, PAL_NONE, 0x12a5 | (1 << PALETTE_MODIFIER_COLOR), PAL_NONE, 0, 0, 16, 16, 50, 1),
|
M( 0xf8d, PAL_NONE, 0x12a5 | (1 << PALETTE_MODIFIER_COLOR), PAL_NONE, 0, 0, 16, 16, 50, 1),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* this is ONLY used for Sugar Mine*/
|
||||||
static const DrawIndustrySpec1Struct _draw_industry_spec1[96] = {
|
static const DrawIndustrySpec1Struct _draw_industry_spec1[96] = {
|
||||||
{ 8, 4, 0, 0},
|
{ 8, 4, 0, 0},
|
||||||
{ 6, 0, 1, 0},
|
{ 6, 0, 1, 0},
|
||||||
|
@ -817,14 +820,17 @@ static const DrawIndustrySpec1Struct _draw_industry_spec1[96] = {
|
||||||
{ 10, 4, 0, 4},
|
{ 10, 4, 0, 4},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* this is ONLY used for Sugar Mine*/
|
||||||
static const byte _drawtile_proc1_x[5] = {
|
static const byte _drawtile_proc1_x[5] = {
|
||||||
22, 17, 14, 10, 8
|
22, 17, 14, 10, 8
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* this is ONLY used for Sugar Mine*/
|
||||||
static const byte _drawtile_proc1_y[5] = {
|
static const byte _drawtile_proc1_y[5] = {
|
||||||
73, 70, 69, 66, 41
|
73, 70, 69, 66, 41
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* this is ONLY used for Toy Factory*/
|
||||||
static const DrawIndustrySpec4Struct _industry_anim_offs_3[] = {
|
static const DrawIndustrySpec4Struct _industry_anim_offs_3[] = {
|
||||||
{255, 255, 0},
|
{255, 255, 0},
|
||||||
{ 0, 255, 0},
|
{ 0, 255, 0},
|
||||||
|
@ -878,6 +884,7 @@ static const DrawIndustrySpec4Struct _industry_anim_offs_3[] = {
|
||||||
{255, 255, 0},
|
{255, 255, 0},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* this is ONLY used for Toffee Quarry*/
|
||||||
static const byte _industry_anim_offs[] = {
|
static const byte _industry_anim_offs[] = {
|
||||||
255, 0, 0, 0, 2, 4, 6, 8, 10, 9,
|
255, 0, 0, 0, 2, 4, 6, 8, 10, 9,
|
||||||
7, 5, 3, 1, 255, 0, 0, 0, 2, 4,
|
7, 5, 3, 1, 255, 0, 0, 0, 2, 4,
|
||||||
|
@ -888,6 +895,7 @@ static const byte _industry_anim_offs[] = {
|
||||||
2, 4, 6, 8, 10, 9, 7, 5, 3, 1
|
2, 4, 6, 8, 10, 9, 7, 5, 3, 1
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* this is ONLY used for the Bubble Generator*/
|
||||||
static const byte _industry_anim_offs_2[] = {
|
static const byte _industry_anim_offs_2[] = {
|
||||||
68, 69, 71, 74, 77, 80, 83, 85, 86, 86,
|
68, 69, 71, 74, 77, 80, 83, 85, 86, 86,
|
||||||
86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
|
86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
|
||||||
|
@ -895,100 +903,6 @@ static const byte _industry_anim_offs_2[] = {
|
||||||
77, 76, 75, 74, 73, 72, 71, 70, 69, 68,
|
77, 76, 75, 74, 73, 72, 71, 70, 69, 68,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* those are ONLY used for Power Station*/
|
||||||
static const byte _coal_plant_sparks_x[] = {11, 11, 14, 13, 18, 15};
|
static const byte _coal_plant_sparks_x[] = {11, 11, 14, 13, 18, 15};
|
||||||
static const byte _coal_plant_sparks_y[] = {23, 11, 6, 3, 1, 0};
|
static const byte _coal_plant_sparks_y[] = {23, 11, 6, 3, 1, 0};
|
||||||
|
|
||||||
#define N 255
|
|
||||||
/**
|
|
||||||
* Next frame in an animation
|
|
||||||
* The indices into this table are the ones as described by
|
|
||||||
* the enum with GFX_*s in industry_map.h.
|
|
||||||
*/
|
|
||||||
static const byte _industry_section_animation_next[NUM_INDUSTRY_GFXES] = {
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, 16, N, N, N, N, N, N, // <- growing forest
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, 129, N, N, N, N, N, // <- growing candyfloss
|
|
||||||
135, N, N, N, N, N, N, N, // <- 'growing' batteries
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N,
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Animation to start when goods is produced
|
|
||||||
* The indices into this table are the ones as described by
|
|
||||||
* the enum with GFX_*s in industry_map.h.
|
|
||||||
*/
|
|
||||||
static const byte _industry_produce_section[NUM_INDUSTRY_GFXES] = {
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
17, N, N, N, N, N, N, N, // <- chopping forest
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, 130, N, N, N, N, N, 136, // <- chopping candyfloss and reaping batteries
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N, N,
|
|
||||||
N, N, N, N, N, N, N,
|
|
||||||
};
|
|
||||||
|
|
||||||
#undef N
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* When true, the tile has to be drawn using the animation
|
|
||||||
* state instead of the construction state.
|
|
||||||
* The indices into this table are the ones as described by
|
|
||||||
* the enum with GFX_*s in industry_map.h.
|
|
||||||
*/
|
|
||||||
static const bool _industry_section_draw_animation_state[NUM_INDUSTRY_GFXES] = {
|
|
||||||
false, true, false, false, false, false, false, false, // <- animated wheel tower of coal mine
|
|
||||||
false, false, false, false, false, false, false, false,
|
|
||||||
false, false, false, false, false, false, false, false,
|
|
||||||
false, false, false, false, false, false, true, true, // <- animated oil well
|
|
||||||
true, false, false, false, false, false, false, false, // <- animated oil well
|
|
||||||
false, false, false, false, false, false, false, false,
|
|
||||||
true, false, false, false, false, false, false, false, // <- animated wheel tower of copper mine
|
|
||||||
false, false, false, false, false, false, false, false,
|
|
||||||
false, false, false, false, false, false, false, false,
|
|
||||||
false, false, false, false, false, false, false, false,
|
|
||||||
false, false, false, false, false, false, false, false,
|
|
||||||
true, false, false, false, false, false, false, false, // <- animated wheel tower of gold mine
|
|
||||||
false, false, false, false, false, false, false, false,
|
|
||||||
false, false, false, false, false, false, false, false,
|
|
||||||
false, false, false, false, false, false, false, false,
|
|
||||||
false, false, false, false, false, false, false, false,
|
|
||||||
false, false, false, false, false, false, false, false,
|
|
||||||
false, false, false, false, false, false, false, false,
|
|
||||||
false, false, false, false, false, false, false, false,
|
|
||||||
false, false, false, false, false, false, false, false,
|
|
||||||
false, false, false, false, false, false, false, false,
|
|
||||||
false, false, false, false, false, false, false,
|
|
||||||
};
|
|
||||||
|
|
Loading…
Reference in New Issue