Changeset - r6092:e08485d6ba23
[Not reviewed]
master
0 4 0
belugas - 17 years ago 2007-02-21 02:22:43
belugas@openttd.org
(svn r8827) -Codechange: Cleanup of industry_cmd (Step-6). Implementation of IndustryTileSPec, the alter ego of IndustrySpec.
It offers identification of the different industry tiles in a more distinct manner, as well as regrouping scattered pieces of data across the sources. More to come
4 files changed with 260 insertions and 159 deletions:
0 comments (0 inline, 0 general)
src/industry.h
Show inline comments
 
@@ -75,13 +75,19 @@ typedef struct IndustrySpec {
 
	StringID name;
 
	StringID closure_text;
 
	StringID production_up_text;
 
	StringID production_down_text;
 
} IndustrySpec;
 

	
 
typedef struct IndustryTileSpec {
 
	CargoID accepts_cargo[3];
 
	Slope slopes_refused;
 
} IndustryTileSpec;
 

	
 
const IndustrySpec *GetIndustrySpec(IndustryType thistype);
 
const IndustryTileSpec *GetIndustryTileSpec(IndustryGfx gfx);
 

	
 
DECLARE_OLD_POOL(Industry, Industry, 3, 8000)
 

	
 
/**
 
 * Check if an Industry really exists.
 
 */
src/industry_cmd.cpp
Show inline comments
 
@@ -84,12 +84,18 @@ IndustryType GetIndustryType(TileIndex t
 
const IndustrySpec *GetIndustrySpec(IndustryType thistype)
 
{
 
	assert(thistype < IT_END);
 
	return &_industry_specs[thistype];
 
}
 

	
 
const IndustryTileSpec *GetIndustryTileSpec(IndustryGfx gfx)
 
{
 
	assert(gfx < NUM_INDUSTRY_GFXES);
 
	return &_industry_tile_specs[gfx];
 
}
 

	
 
void DestroyIndustry(Industry *i)
 
{
 
	BEGIN_TILE_LOOP(tile_cur, i->width, i->height, i->xy);
 
		if (IsTileType(tile_cur, MP_INDUSTRY)) {
 
			if (GetIndustryIndex(tile_cur) == i->index) {
 
				DoClearSquare(tile_cur);
 
@@ -274,22 +280,22 @@ static Slope GetSlopeTileh_Industry(Tile
 
{
 
	return SLOPE_FLAT;
 
}
 

	
 
static void GetAcceptedCargo_Industry(TileIndex tile, AcceptedCargo ac)
 
{
 
	IndustryGfx gfx = GetIndustryGfx(tile);
 
	const IndustryTileSpec *itspec = GetIndustryTileSpec(GetIndustryGfx(tile));
 
	CargoID a;
 

	
 
	a = _industry_section_accepts_1[gfx];
 
	if (a != CT_INVALID) ac[a] = (a == 0) ? 1 : 8;
 
	a = itspec->accepts_cargo[0];
 
	if (a != CT_INVALID) ac[a] = (a == CT_PASSENGERS) ? 1 : 8;
 

	
 
	a = _industry_section_accepts_2[gfx];
 
	a = itspec->accepts_cargo[1];
 
	if (a != CT_INVALID) ac[a] = 8;
 

	
 
	a = _industry_section_accepts_3[gfx];
 
	a = itspec->accepts_cargo[2];
 
	if (a != CT_INVALID) ac[a] = 8;
 
}
 

	
 
static void GetTileDesc_Industry(TileIndex tile, TileDesc *td)
 
{
 
	const Industry *i = GetIndustryByTile(tile);
 
@@ -1152,13 +1158,13 @@ static bool CheckIfIndustryTilesAreFree(
 
				if (_patches.land_generator != LG_TERRAGENESIS || !_generating_world) {
 
					/* It is almost impossible to have a fully flat land in TG, so what we
 
					 *  do is that we check if we can make the land flat later on. See
 
					 *  CheckIfCanLevelIndustryPlatform(). */
 
					if (tileh != SLOPE_FLAT) {
 
						Slope t;
 
						byte bits = _industry_section_bits[it->gfx];
 
						byte bits = GetIndustryTileSpec(it->gfx)->slopes_refused;
 

	
 
						if (bits & 0x10) return false;
 

	
 
						t = ComplementSlope(tileh);
 

	
 
						if (bits & 1 && (t & SLOPE_NW)) return false;
src/table/build_industry.h
Show inline comments
 
/* $Id$ */
 

	
 

	
 
#ifndef BUILD_INDUSTRY_H
 
#define BUILD_INDUSTRY_H
 

	
 
#define MK(x,y, m) {{x, y}, m}
 

	
 
#define MKEND {{-0x80, 0}, 0}
 

	
 
static const IndustryTileTable _tile_table_coal_mine_0[] = {
 
@@ -1457,144 +1458,260 @@ static const byte * const _industry_crea
 
	_industry_create_table_0,
 
	_industry_create_table_1,
 
	_industry_create_table_2,
 
	_industry_create_table_3,
 
};
 

	
 

	
 
#define PAS CT_PASSENGERS
 
#define MK(c1, c2, c3, sl) \
 
	{{c1, c2, c3}, sl}
 

	
 
#define COL CT_COAL
 
#define RUB CT_RUBBER
 
#define SUG CT_SUGAR
 
static const IndustryTileSpec _industry_tile_specs[] = {
 
	/* Coal Mine */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_PASSENGERS,   CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
#define MAL CT_MAIL
 
	/* Power Station */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_PASSENGERS,   CT_INVALID,   CT_COAL,       SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
#define OIL CT_OIL
 
#define TOY CT_TOYS
 

	
 
#define LIV CT_LIVESTOCK // Fruit too
 
#define BAT CT_BATTERIES
 
	/* Sawmill */
 
	MK(CT_PASSENGERS,   CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_PASSENGERS,   CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_PASSENGERS,   CT_INVALID,   CT_WOOD,       SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
#define GRA CT_GRAIN
 
#define WHT CT_WHEAT // Maize too
 
#define TOF CT_TOFFEE
 
	/* Forest Artic, temperate */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
#define WOD CT_WOOD
 
#define CLA CT_COLA
 
	/* Oil refinery */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_OIL,        SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_PASSENGERS,   CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
#define IRN CT_IRON_ORE
 
#define COP CT_COPPER_ORE
 
#define CCY CT_COTTON_CANDY
 
	/* oil Rig */
 
	MK(CT_INVALID,      CT_INVALID,   CT_PASSENGERS, SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_MAIL,       SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
#define STL CT_STEEL
 
#define PAP CT_PAPER
 
#define WAT CT_WATER
 
#define BBL CT_BUBBLES
 
	/* Oil Wells artic, temperate */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
	/* Farm tropic, arctic and temperate */
 
	MK(CT_PASSENGERS,   CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_PASSENGERS,   CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
#define VAL CT_VALUABLES
 
#define GLD CT_GOLD // Diamonds too
 
#define PLC CT_PLASTIC
 
	/* Factory temperate */
 
	MK(CT_GRAIN,        CT_STEEL,     CT_LIVESTOCK,  SLOPE_STEEP),
 
	MK(CT_GRAIN,        CT_STEEL,     CT_LIVESTOCK,  SLOPE_STEEP),
 
	MK(CT_GRAIN,        CT_STEEL,     CT_LIVESTOCK,  SLOPE_STEEP),
 
	MK(CT_GRAIN,        CT_STEEL,     CT_LIVESTOCK,  SLOPE_STEEP),
 

	
 
	/* Printing works */
 
	MK(CT_INVALID,      CT_INVALID,   CT_PAPER,      SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_PAPER,      SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_PAPER,      SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_PAPER,      SLOPE_STEEP),
 

	
 
#define INV CT_INVALID
 
	/* Copper ore mine */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_PASSENGERS,   CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_PASSENGERS,   CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
	/* Steel mill */
 
	MK(CT_PASSENGERS,   CT_INVALID,   CT_IRON_ORE,   SLOPE_STEEP),
 
	MK(CT_PASSENGERS,   CT_INVALID,   CT_IRON_ORE,   SLOPE_STEEP),
 
	MK(CT_PASSENGERS,   CT_INVALID,   CT_IRON_ORE,   SLOPE_STEEP),
 
	MK(CT_PASSENGERS,   CT_INVALID,   CT_IRON_ORE,   SLOPE_STEEP),
 
	MK(CT_PASSENGERS,   CT_INVALID,   CT_IRON_ORE,   SLOPE_STEEP),
 
	MK(CT_PASSENGERS,   CT_INVALID,   CT_IRON_ORE,   SLOPE_STEEP),
 

	
 
	/* Bank temperate*/
 
	MK(CT_PASSENGERS,   CT_INVALID,   CT_VALUABLES,  SLOPE_E),
 
	MK(CT_PASSENGERS,   CT_INVALID,   CT_VALUABLES,  SLOPE_S),
 

	
 
static const CargoID _industry_section_accepts_1[] = {
 
	INV, INV, INV, PAS, INV, INV, INV, INV,
 
	PAS, INV, INV, PAS, PAS, PAS, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, PAS,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, PAS, PAS, INV, INV, INV, INV, GRA,
 
	GRA, GRA, GRA, INV, INV, INV, INV, INV,
 
	INV, INV, PAS, PAS, PAS, PAS, PAS, PAS,
 
	PAS, PAS, PAS, PAS, WHT, WHT, WHT, WHT,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, COP, COP, COP, COP, INV, INV, INV,
 
	INV, INV, INV, CCY, CCY, CCY, CCY, INV,
 
	INV, INV, INV, INV, INV, INV, BAT, BAT,
 
	BAT, BAT, BAT, BAT, INV, INV, INV, INV,
 
	INV, INV, INV, INV, BBL, BBL, BBL, BBL,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV
 
};
 
	/* 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),
 
	MK(CT_MAIZE,        CT_INVALID,   CT_LIVESTOCK,  SLOPE_STEEP),
 
	MK(CT_MAIZE,        CT_INVALID,   CT_LIVESTOCK,  SLOPE_STEEP),
 

	
 
	/* Paper mill */
 
	MK(CT_INVALID,      CT_INVALID,   CT_WOOD,       SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_WOOD,       SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_WOOD,       SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_WOOD,       SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_WOOD,       SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_WOOD,       SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_WOOD,       SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_WOOD,       SLOPE_STEEP),
 

	
 
	/* Gold mine */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
static const CargoID _industry_section_accepts_2[] = {
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, STL,
 
	STL, STL, STL, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, WOD, WOD, WOD, WOD, INV, INV, INV,
 
	INV, INV, INV, TOF, TOF, TOF, TOF, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV
 
};
 
	/* Bank Sub Arctic */
 
	MK(CT_INVALID,      CT_INVALID,   CT_GOLD,       SLOPE_E),
 
	MK(CT_INVALID,      CT_INVALID,   CT_GOLD,       SLOPE_S),
 

	
 
	/* Diamond mine */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
	/* Iron ore Mine */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
	/* Fruit plantation */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
	/* Rubber plantation */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
	/* Water supply */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
	/* Water tower */
 
	MK(CT_INVALID,      CT_INVALID,   CT_WATER,      SLOPE_STEEP),
 

	
 
	/* Factory (sub-tropical) */
 
	MK(CT_COPPER_ORE,   CT_WOOD,      CT_RUBBER,     SLOPE_STEEP),
 
	MK(CT_COPPER_ORE,   CT_WOOD,      CT_RUBBER,     SLOPE_STEEP),
 
	MK(CT_COPPER_ORE,   CT_WOOD,      CT_RUBBER,     SLOPE_STEEP),
 
	MK(CT_COPPER_ORE,   CT_WOOD,      CT_RUBBER,     SLOPE_STEEP),
 

	
 
	/* Lumber mill */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
	/* Candyfloss forest */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
static const CargoID _industry_section_accepts_3[] = {
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	COL, INV, INV, INV, INV, WOD, INV, INV,
 
	INV, INV, INV, INV, OIL, INV, INV, INV,
 
	PAS, MAL, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, LIV,
 
	LIV, LIV, LIV, PAP, PAP, PAP, PAP, INV,
 
	INV, INV, INV, INV, IRN, IRN, IRN, IRN,
 
	IRN, IRN, VAL, VAL, LIV, LIV, LIV, LIV,
 
	WOD, WOD, WOD, WOD, WOD, WOD, WOD, WOD,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, GLD, GLD, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	WAT, RUB, RUB, RUB, RUB, INV, INV, INV,
 
	INV, INV, INV, SUG, SUG, SUG, SUG, INV,
 
	INV, INV, TOY, TOY, TOY, TOY, PLC, PLC,
 
	PLC, PLC, PLC, PLC, INV, INV, INV, INV,
 
	INV, INV, INV, INV, CLA, CLA, CLA, CLA,
 
	INV, INV, INV, INV, INV, INV, INV, INV,
 
	INV, INV, INV, INV, INV, INV, INV
 
};
 
	/* Sweet factory */
 
	MK(CT_COTTON_CANDY, CT_TOFFEE,    CT_SUGAR,      SLOPE_STEEP),
 
	MK(CT_COTTON_CANDY, CT_TOFFEE,    CT_SUGAR,      SLOPE_STEEP),
 
	MK(CT_COTTON_CANDY, CT_TOFFEE,    CT_SUGAR,      SLOPE_STEEP),
 
	MK(CT_COTTON_CANDY, CT_TOFFEE,    CT_SUGAR,      SLOPE_STEEP),
 

	
 
	/* Batter farm */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
	/* Cola wells */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
	/* Toy shop */
 
	MK(CT_INVALID,      CT_INVALID,   CT_TOYS,       SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_TOYS,       SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_TOYS,       SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_TOYS,       SLOPE_STEEP),
 

	
 
	/* Toy factory */
 
	MK(CT_BATTERIES,    CT_INVALID,   CT_PLASTIC,    SLOPE_STEEP),
 
	MK(CT_BATTERIES,    CT_INVALID,   CT_PLASTIC,    SLOPE_STEEP),
 
	MK(CT_BATTERIES,    CT_INVALID,   CT_PLASTIC,    SLOPE_STEEP),
 
	MK(CT_BATTERIES,    CT_INVALID,   CT_PLASTIC,    SLOPE_STEEP),
 
	MK(CT_BATTERIES,    CT_INVALID,   CT_PLASTIC,    SLOPE_STEEP),
 
	MK(CT_BATTERIES,    CT_INVALID,   CT_PLASTIC,    SLOPE_STEEP),
 

	
 
#undef PAS
 
#undef COL
 
#undef RUB
 
#undef SUG
 
#undef MAL
 
#undef OIL
 
#undef TOY
 
#undef LIV
 
#undef BAT
 
#undef GRA
 
#undef WHT
 
#undef TOF
 
#undef WOD
 
#undef CLA
 
#undef IRN
 
#undef COP
 
#undef CCY
 
#undef STL
 
#undef PAP
 
#undef WAT
 
#undef BBL
 
#undef VAL
 
#undef GLD
 
#undef PLC
 
#undef INV
 
	/* Plastic Fountain */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
	/* Fizzy drink factory */
 
	MK(CT_BUBBLES,      CT_INVALID,   CT_COLA,       SLOPE_STEEP),
 
	MK(CT_BUBBLES,      CT_INVALID,   CT_COLA,       SLOPE_STEEP),
 
	MK(CT_BUBBLES,      CT_INVALID,   CT_COLA,       SLOPE_STEEP),
 
	MK(CT_BUBBLES,      CT_INVALID,   CT_COLA,       SLOPE_STEEP),
 

	
 
	/* Bubble generator */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
	/* Toffee quarry */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 

	
 
	/* Sugar mine */
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
	MK(CT_INVALID,      CT_INVALID,   CT_INVALID,    SLOPE_STEEP),
 
};
 
#undef MK
 

	
 
#endif  /* BUILD_INDUSTRY_H */
src/table/industry_land.h
Show inline comments
 
@@ -958,40 +958,12 @@ 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
 

	
 
/**
 
 * 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_bits[NUM_INDUSTRY_GFXES] = {
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16,  4,  2, 16, 16, 16, 16, // <- temperate bank
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16,  4,  2, 16, 16, 16, 16, 16, // <- sub-arctic/sub-tropical bank
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16,
 
};
 

	
 
/**
 
 * 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.
0 comments (0 inline, 0 general)