mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-04 06:00:15 +00:00
2a3aca6139
At least in the case of checking for oil industry restrictions this makes the check conditions more clear.
1532 lines
36 KiB
C
1532 lines
36 KiB
C
/* $Id$ */
|
|
|
|
|
|
|
|
#define MK(x,y, m) {{x, y}, m}
|
|
|
|
#define MKEND {{-0x80, 0}, 0}
|
|
|
|
static const IndustryTileTable _tile_table_coal_mine_0[] = {
|
|
MK(1,1, 0),
|
|
MK(1,2, 2),
|
|
MK(0,0, 5),
|
|
MK(1,0, 6),
|
|
MK(2,0, 3),
|
|
MK(2,2, 3),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_coal_mine_1[] = {
|
|
MK(1,1, 0),
|
|
MK(1,2, 2),
|
|
MK(2,0, 0),
|
|
MK(2,1, 2),
|
|
MK(1,0, 3),
|
|
MK(0,0, 3),
|
|
MK(0,1, 4),
|
|
MK(0,2, 4),
|
|
MK(2,2, 4),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_coal_mine_2[] = {
|
|
MK(0,0, 0),
|
|
MK(0,1, 2),
|
|
MK(0,2, 5),
|
|
MK(1,0, 3),
|
|
MK(1,1, 3),
|
|
MK(1,2, 6),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_coal_mine_3[] = {
|
|
MK(0,1, 0),
|
|
MK(0,2, 2),
|
|
MK(0,3, 4),
|
|
MK(1,0, 5),
|
|
MK(1,1, 0),
|
|
MK(1,2, 2),
|
|
MK(1,3, 3),
|
|
MK(2,0, 6),
|
|
MK(2,1, 4),
|
|
MK(2,2, 3),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_coal_mine[] = {
|
|
_tile_table_coal_mine_0,
|
|
_tile_table_coal_mine_1,
|
|
_tile_table_coal_mine_2,
|
|
_tile_table_coal_mine_3,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_power_station_0[] = {
|
|
MK(0,0, 7),
|
|
MK(0,1, 9),
|
|
MK(1,0, 7),
|
|
MK(1,1, 8),
|
|
MK(2,0, 7),
|
|
MK(2,1, 8),
|
|
MK(3,0, 10),
|
|
MK(3,1, 10),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_power_station_1[] = {
|
|
MK(0,1, 7),
|
|
MK(0,2, 7),
|
|
MK(1,0, 8),
|
|
MK(1,1, 8),
|
|
MK(1,2, 7),
|
|
MK(2,0, 9),
|
|
MK(2,1, 10),
|
|
MK(2,2, 9),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_power_station_2[] = {
|
|
MK(0,0, 7),
|
|
MK(0,1, 7),
|
|
MK(1,0, 9),
|
|
MK(1,1, 8),
|
|
MK(2,0, 10),
|
|
MK(2,1, 9),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_power_station[] = {
|
|
_tile_table_power_station_0,
|
|
_tile_table_power_station_1,
|
|
_tile_table_power_station_2,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_sawmill_0[] = {
|
|
MK(1,0, 14),
|
|
MK(1,1, 12),
|
|
MK(1,2, 11),
|
|
MK(2,0, 14),
|
|
MK(2,1, 13),
|
|
MK(0,0, 15),
|
|
MK(0,1, 15),
|
|
MK(0,2, 12),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_sawmill_1[] = {
|
|
MK(0,0, 15),
|
|
MK(0,1, 11),
|
|
MK(0,2, 14),
|
|
MK(1,0, 15),
|
|
MK(1,1, 13),
|
|
MK(1,2, 12),
|
|
MK(2,0, 11),
|
|
MK(2,1, 13),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_sawmill[] = {
|
|
_tile_table_sawmill_0,
|
|
_tile_table_sawmill_1,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_forest_0[] = {
|
|
MK(0,0, 16),
|
|
MK(0,1, 16),
|
|
MK(0,2, 16),
|
|
MK(0,3, 16),
|
|
MK(1,0, 16),
|
|
MK(1,1, 16),
|
|
MK(1,2, 16),
|
|
MK(1,3, 16),
|
|
MK(2,0, 16),
|
|
MK(2,1, 16),
|
|
MK(2,2, 16),
|
|
MK(2,3, 16),
|
|
MK(3,0, 16),
|
|
MK(3,1, 16),
|
|
MK(3,2, 16),
|
|
MK(3,3, 16),
|
|
MK(1,4, 16),
|
|
MK(2,4, 16),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_forest_1[] = {
|
|
MK(0,0, 16),
|
|
MK(1,0, 16),
|
|
MK(2,0, 16),
|
|
MK(3,0, 16),
|
|
MK(4,0, 16),
|
|
MK(0,1, 16),
|
|
MK(1,1, 16),
|
|
MK(2,1, 16),
|
|
MK(3,1, 16),
|
|
MK(4,1, 16),
|
|
MK(0,2, 16),
|
|
MK(1,2, 16),
|
|
MK(2,2, 16),
|
|
MK(3,2, 16),
|
|
MK(4,2, 16),
|
|
MK(0,3, 16),
|
|
MK(1,3, 16),
|
|
MK(2,3, 16),
|
|
MK(3,3, 16),
|
|
MK(4,3, 16),
|
|
MK(1,4, 16),
|
|
MK(2,4, 16),
|
|
MK(3,4, 16),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_forest[] = {
|
|
_tile_table_forest_0,
|
|
_tile_table_forest_1,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_oil_refinery_0[] = {
|
|
MK(0,0, 20),
|
|
MK(0,1, 21),
|
|
MK(0,2, 22),
|
|
MK(0,3, 21),
|
|
MK(1,0, 20),
|
|
MK(1,1, 19),
|
|
MK(1,2, 22),
|
|
MK(1,3, 20),
|
|
MK(2,1, 18),
|
|
MK(2,2, 18),
|
|
MK(2,3, 18),
|
|
MK(3,2, 18),
|
|
MK(3,3, 18),
|
|
MK(2,0, 23),
|
|
MK(3,1, 23),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_oil_refinery_1[] = {
|
|
MK(0,0, 18),
|
|
MK(0,1, 18),
|
|
MK(0,2, 21),
|
|
MK(0,3, 22),
|
|
MK(0,4, 20),
|
|
MK(1,0, 18),
|
|
MK(1,1, 18),
|
|
MK(1,2, 19),
|
|
MK(1,3, 20),
|
|
MK(2,0, 18),
|
|
MK(2,1, 18),
|
|
MK(2,2, 19),
|
|
MK(2,3, 22),
|
|
MK(1,4, 23),
|
|
MK(2,4, 23),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_oil_refinery[] = {
|
|
_tile_table_oil_refinery_0,
|
|
_tile_table_oil_refinery_1,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_oil_rig_0[] = {
|
|
MK(0,0, 24),
|
|
MK(0,1, 24),
|
|
MK(0,2, 25),
|
|
MK(1,0, 26),
|
|
MK(1,1, 27),
|
|
MK(1,2, 28),
|
|
MK(-4,-5, 255),
|
|
MK(-4,-4, 255),
|
|
MK(-4,-3, 255),
|
|
MK(-4,-2, 255),
|
|
MK(-4,-1, 255),
|
|
MK(-4,0, 255),
|
|
MK(-4,1, 255),
|
|
MK(-4,2, 255),
|
|
MK(-4,3, 255),
|
|
MK(-4,4, 255),
|
|
MK(-4,5, 255),
|
|
MK(-3,5, 255),
|
|
MK(-2,5, 255),
|
|
MK(-1,5, 255),
|
|
MK(0,6, 255),
|
|
MK(1,6, 255),
|
|
MK(2,6, 255),
|
|
MK(3,6, 255),
|
|
MK(4,6, 255),
|
|
MK(5,6, 255),
|
|
MK(5,5, 255),
|
|
MK(5,4, 255),
|
|
MK(5,3, 255),
|
|
MK(5,2, 255),
|
|
MK(5,1, 255),
|
|
MK(5,0, 255),
|
|
MK(5,-1, 255),
|
|
MK(5,-2, 255),
|
|
MK(5,-3, 255),
|
|
MK(5,-4, 255),
|
|
MK(4,-4, 255),
|
|
MK(3,-4, 255),
|
|
MK(2,-4, 255),
|
|
MK(1,-4, 255),
|
|
MK(0,-4, 255),
|
|
MK(-1,-5, 255),
|
|
MK(-2,-5, 255),
|
|
MK(-3,-5, 255),
|
|
MK(2,0, 255),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_oil_rig[] = {
|
|
_tile_table_oil_rig_0,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_factory_0[] = {
|
|
MK(0,0, 39),
|
|
MK(0,1, 40),
|
|
MK(1,0, 41),
|
|
MK(1,1, 42),
|
|
MK(0,2, 39),
|
|
MK(0,3, 40),
|
|
MK(1,2, 41),
|
|
MK(1,3, 42),
|
|
MK(2,1, 39),
|
|
MK(2,2, 40),
|
|
MK(3,1, 41),
|
|
MK(3,2, 42),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_factory_1[] = {
|
|
MK(0,0, 39),
|
|
MK(0,1, 40),
|
|
MK(1,0, 41),
|
|
MK(1,1, 42),
|
|
MK(2,0, 39),
|
|
MK(2,1, 40),
|
|
MK(3,0, 41),
|
|
MK(3,1, 42),
|
|
MK(1,2, 39),
|
|
MK(1,3, 40),
|
|
MK(2,2, 41),
|
|
MK(2,3, 42),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_factory[] = {
|
|
_tile_table_factory_0,
|
|
_tile_table_factory_1,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_printing_works_0[] = {
|
|
MK(0,0, 43),
|
|
MK(0,1, 44),
|
|
MK(1,0, 45),
|
|
MK(1,1, 46),
|
|
MK(0,2, 43),
|
|
MK(0,3, 44),
|
|
MK(1,2, 45),
|
|
MK(1,3, 46),
|
|
MK(2,1, 43),
|
|
MK(2,2, 44),
|
|
MK(3,1, 45),
|
|
MK(3,2, 46),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_printing_works_1[] = {
|
|
MK(0,0, 43),
|
|
MK(0,1, 44),
|
|
MK(1,0, 45),
|
|
MK(1,1, 46),
|
|
MK(2,0, 43),
|
|
MK(2,1, 44),
|
|
MK(3,0, 45),
|
|
MK(3,1, 46),
|
|
MK(1,2, 43),
|
|
MK(1,3, 44),
|
|
MK(2,2, 45),
|
|
MK(2,3, 46),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_printing_works[] = {
|
|
_tile_table_printing_works_0,
|
|
_tile_table_printing_works_1,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_steel_mill_0[] = {
|
|
MK(2,1, 52),
|
|
MK(2,2, 53),
|
|
MK(3,1, 54),
|
|
MK(3,2, 55),
|
|
MK(0,0, 56),
|
|
MK(1,0, 57),
|
|
MK(0,1, 56),
|
|
MK(1,1, 57),
|
|
MK(0,2, 56),
|
|
MK(1,2, 57),
|
|
MK(2,0, 56),
|
|
MK(3,0, 57),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_steel_mill_1[] = {
|
|
MK(0,0, 52),
|
|
MK(0,1, 53),
|
|
MK(1,0, 54),
|
|
MK(1,1, 55),
|
|
MK(2,0, 52),
|
|
MK(2,1, 53),
|
|
MK(3,0, 54),
|
|
MK(3,1, 55),
|
|
MK(0,2, 56),
|
|
MK(1,2, 57),
|
|
MK(2,2, 56),
|
|
MK(3,2, 57),
|
|
MK(1,3, 56),
|
|
MK(2,3, 57),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_steel_mill[] = {
|
|
_tile_table_steel_mill_0,
|
|
_tile_table_steel_mill_1,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_farm_0[] = {
|
|
MK(1,0, 33),
|
|
MK(1,1, 34),
|
|
MK(1,2, 36),
|
|
MK(0,0, 37),
|
|
MK(0,1, 37),
|
|
MK(0,2, 36),
|
|
MK(2,0, 35),
|
|
MK(2,1, 38),
|
|
MK(2,2, 38),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_farm_1[] = {
|
|
MK(1,1, 33),
|
|
MK(1,2, 34),
|
|
MK(0,0, 35),
|
|
MK(0,1, 36),
|
|
MK(0,2, 36),
|
|
MK(0,3, 35),
|
|
MK(1,0, 37),
|
|
MK(1,3, 38),
|
|
MK(2,0, 37),
|
|
MK(2,1, 37),
|
|
MK(2,2, 38),
|
|
MK(2,3, 38),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_farm_2[] = {
|
|
MK(2,0, 33),
|
|
MK(2,1, 34),
|
|
MK(0,0, 36),
|
|
MK(0,1, 36),
|
|
MK(0,2, 37),
|
|
MK(0,3, 37),
|
|
MK(1,0, 35),
|
|
MK(1,1, 38),
|
|
MK(1,2, 38),
|
|
MK(1,3, 37),
|
|
MK(2,2, 37),
|
|
MK(2,3, 35),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_farm[] = {
|
|
_tile_table_farm_0,
|
|
_tile_table_farm_1,
|
|
_tile_table_farm_2,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_copper_mine_0[] = {
|
|
MK(0,0, 47),
|
|
MK(0,1, 49),
|
|
MK(0,2, 51),
|
|
MK(1,0, 47),
|
|
MK(1,1, 49),
|
|
MK(1,2, 50),
|
|
MK(2,0, 51),
|
|
MK(2,1, 51),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_copper_mine_1[] = {
|
|
MK(0,0, 50),
|
|
MK(0,1, 47),
|
|
MK(0,2, 49),
|
|
MK(1,0, 47),
|
|
MK(1,1, 49),
|
|
MK(1,2, 51),
|
|
MK(2,0, 51),
|
|
MK(2,1, 47),
|
|
MK(2,2, 49),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_copper_mine[] = {
|
|
_tile_table_copper_mine_0,
|
|
_tile_table_copper_mine_1,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_oil_well_0[] = {
|
|
MK(0,0, 29),
|
|
MK(1,0, 29),
|
|
MK(2,0, 29),
|
|
MK(0,1, 29),
|
|
MK(0,2, 29),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_oil_well_1[] = {
|
|
MK(0,0, 29),
|
|
MK(1,0, 29),
|
|
MK(1,1, 29),
|
|
MK(2,2, 29),
|
|
MK(2,3, 29),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_oil_well[] = {
|
|
_tile_table_oil_well_0,
|
|
_tile_table_oil_well_1,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_bank_0[] = {
|
|
MK(0,0, 58),
|
|
MK(1,0, 59),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_bank[] = {
|
|
_tile_table_bank_0,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_food_process_0[] = {
|
|
MK(0,0, 60),
|
|
MK(1,0, 60),
|
|
MK(2,0, 60),
|
|
MK(0,1, 60),
|
|
MK(1,1, 60),
|
|
MK(2,1, 60),
|
|
MK(0,2, 61),
|
|
MK(1,2, 61),
|
|
MK(2,2, 63),
|
|
MK(0,3, 62),
|
|
MK(1,3, 62),
|
|
MK(2,3, 63),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_food_process_1[] = {
|
|
MK(0,0, 61),
|
|
MK(1,0, 60),
|
|
MK(2,0, 61),
|
|
MK(3,0, 61),
|
|
MK(0,1, 62),
|
|
MK(1,1, 63),
|
|
MK(2,1, 63),
|
|
MK(3,1, 63),
|
|
MK(0,2, 60),
|
|
MK(1,2, 60),
|
|
MK(2,2, 60),
|
|
MK(3,2, 60),
|
|
MK(0,3, 62),
|
|
MK(1,3, 62),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_food_process[] = {
|
|
_tile_table_food_process_0,
|
|
_tile_table_food_process_1,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_paper_mill_0[] = {
|
|
MK(0,0, 64),
|
|
MK(1,0, 65),
|
|
MK(2,0, 66),
|
|
MK(3,0, 67),
|
|
MK(0,1, 68),
|
|
MK(1,1, 69),
|
|
MK(2,1, 67),
|
|
MK(3,1, 67),
|
|
MK(0,2, 66),
|
|
MK(1,2, 71),
|
|
MK(2,2, 71),
|
|
MK(3,2, 70),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_paper_mill[] = {
|
|
_tile_table_paper_mill_0,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_gold_mine_0[] = {
|
|
MK(0,0, 72),
|
|
MK(0,1, 73),
|
|
MK(0,2, 74),
|
|
MK(0,3, 75),
|
|
MK(1,0, 76),
|
|
MK(1,1, 77),
|
|
MK(1,2, 78),
|
|
MK(1,3, 79),
|
|
MK(2,0, 80),
|
|
MK(2,1, 81),
|
|
MK(2,2, 82),
|
|
MK(2,3, 83),
|
|
MK(3,0, 84),
|
|
MK(3,1, 85),
|
|
MK(3,2, 86),
|
|
MK(3,3, 87),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_gold_mine[] = {
|
|
_tile_table_gold_mine_0,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_bank2_0[] = {
|
|
MK(0,0, 89),
|
|
MK(1,0, 90),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_bank2[] = {
|
|
_tile_table_bank2_0,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_diamond_mine_0[] = {
|
|
MK(0,0, 91),
|
|
MK(0,1, 92),
|
|
MK(0,2, 93),
|
|
MK(1,0, 94),
|
|
MK(1,1, 95),
|
|
MK(1,2, 96),
|
|
MK(2,0, 97),
|
|
MK(2,1, 98),
|
|
MK(2,2, 99),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_diamond_mine[] = {
|
|
_tile_table_diamond_mine_0,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_iron_mine_0[] = {
|
|
MK(0,0, 100),
|
|
MK(0,1, 101),
|
|
MK(0,2, 102),
|
|
MK(0,3, 103),
|
|
MK(1,0, 104),
|
|
MK(1,1, 105),
|
|
MK(1,2, 106),
|
|
MK(1,3, 107),
|
|
MK(2,0, 108),
|
|
MK(2,1, 109),
|
|
MK(2,2, 110),
|
|
MK(2,3, 111),
|
|
MK(3,0, 112),
|
|
MK(3,1, 113),
|
|
MK(3,2, 114),
|
|
MK(3,3, 115),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_iron_mine[] = {
|
|
_tile_table_iron_mine_0,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_fruit_plantation_0[] = {
|
|
MK(0,0, 116),
|
|
MK(0,1, 116),
|
|
MK(0,2, 116),
|
|
MK(0,3, 116),
|
|
MK(1,0, 116),
|
|
MK(1,1, 116),
|
|
MK(1,2, 116),
|
|
MK(1,3, 116),
|
|
MK(2,0, 116),
|
|
MK(2,1, 116),
|
|
MK(2,2, 116),
|
|
MK(2,3, 116),
|
|
MK(3,0, 116),
|
|
MK(3,1, 116),
|
|
MK(3,2, 116),
|
|
MK(3,3, 116),
|
|
MK(4,0, 116),
|
|
MK(4,1, 116),
|
|
MK(4,2, 116),
|
|
MK(4,3, 116),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_fruit_plantation[] = {
|
|
_tile_table_fruit_plantation_0,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_rubber_plantation_0[] = {
|
|
MK(0,0, 117),
|
|
MK(0,1, 117),
|
|
MK(0,2, 117),
|
|
MK(0,3, 117),
|
|
MK(1,0, 117),
|
|
MK(1,1, 117),
|
|
MK(1,2, 117),
|
|
MK(1,3, 117),
|
|
MK(2,0, 117),
|
|
MK(2,1, 117),
|
|
MK(2,2, 117),
|
|
MK(2,3, 117),
|
|
MK(3,0, 117),
|
|
MK(3,1, 117),
|
|
MK(3,2, 117),
|
|
MK(3,3, 117),
|
|
MK(4,0, 117),
|
|
MK(4,1, 117),
|
|
MK(4,2, 117),
|
|
MK(4,3, 117),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_rubber_plantation[] = {
|
|
_tile_table_rubber_plantation_0,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_water_supply_0[] = {
|
|
MK(0,0, 118),
|
|
MK(0,1, 119),
|
|
MK(1,0, 118),
|
|
MK(1,1, 119),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_water_supply[] = {
|
|
_tile_table_water_supply_0,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_water_tower_0[] = {
|
|
MK(0,0, 120),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_water_tower[] = {
|
|
_tile_table_water_tower_0,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_factory2_0[] = {
|
|
MK(0,0, 121),
|
|
MK(0,1, 122),
|
|
MK(1,0, 123),
|
|
MK(1,1, 124),
|
|
MK(0,2, 121),
|
|
MK(0,3, 122),
|
|
MK(1,2, 123),
|
|
MK(1,3, 124),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_factory2_1[] = {
|
|
MK(0,0, 121),
|
|
MK(0,1, 122),
|
|
MK(1,0, 123),
|
|
MK(1,1, 124),
|
|
MK(2,0, 121),
|
|
MK(2,1, 122),
|
|
MK(3,0, 123),
|
|
MK(3,1, 124),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_factory2[] = {
|
|
_tile_table_factory2_0,
|
|
_tile_table_factory2_1,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_farm2_0[] = {
|
|
MK(1,0, 33),
|
|
MK(1,1, 34),
|
|
MK(1,2, 36),
|
|
MK(0,0, 37),
|
|
MK(0,1, 37),
|
|
MK(0,2, 36),
|
|
MK(2,0, 35),
|
|
MK(2,1, 38),
|
|
MK(2,2, 38),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_farm2_1[] = {
|
|
MK(1,1, 33),
|
|
MK(1,2, 34),
|
|
MK(0,0, 35),
|
|
MK(0,1, 36),
|
|
MK(0,2, 36),
|
|
MK(0,3, 35),
|
|
MK(1,0, 37),
|
|
MK(1,3, 38),
|
|
MK(2,0, 37),
|
|
MK(2,1, 37),
|
|
MK(2,2, 38),
|
|
MK(2,3, 38),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_farm2_2[] = {
|
|
MK(2,0, 33),
|
|
MK(2,1, 34),
|
|
MK(0,0, 36),
|
|
MK(0,1, 36),
|
|
MK(0,2, 37),
|
|
MK(0,3, 37),
|
|
MK(1,0, 35),
|
|
MK(1,1, 38),
|
|
MK(1,2, 38),
|
|
MK(1,3, 37),
|
|
MK(2,2, 37),
|
|
MK(2,3, 35),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_farm2[] = {
|
|
_tile_table_farm2_0,
|
|
_tile_table_farm2_1,
|
|
_tile_table_farm2_2,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_lumber_mill_0[] = {
|
|
MK(0,0, 125),
|
|
MK(0,1, 126),
|
|
MK(1,0, 127),
|
|
MK(1,1, 128),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_lumber_mill[] = {
|
|
_tile_table_lumber_mill_0,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_cotton_candy_0[] = {
|
|
MK(0,0, 129),
|
|
MK(0,1, 129),
|
|
MK(0,2, 129),
|
|
MK(0,3, 129),
|
|
MK(1,0, 129),
|
|
MK(1,1, 129),
|
|
MK(1,2, 129),
|
|
MK(1,3, 129),
|
|
MK(2,0, 129),
|
|
MK(2,1, 129),
|
|
MK(2,2, 129),
|
|
MK(2,3, 129),
|
|
MK(3,0, 129),
|
|
MK(3,1, 129),
|
|
MK(3,2, 129),
|
|
MK(3,3, 129),
|
|
MK(1,4, 129),
|
|
MK(2,4, 129),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_cotton_candy_1[] = {
|
|
MK(0,0, 129),
|
|
MK(1,0, 129),
|
|
MK(2,0, 129),
|
|
MK(3,0, 129),
|
|
MK(4,0, 129),
|
|
MK(0,1, 129),
|
|
MK(1,1, 129),
|
|
MK(2,1, 129),
|
|
MK(3,1, 129),
|
|
MK(4,1, 129),
|
|
MK(0,2, 129),
|
|
MK(1,2, 129),
|
|
MK(2,2, 129),
|
|
MK(3,2, 129),
|
|
MK(4,2, 129),
|
|
MK(0,3, 129),
|
|
MK(1,3, 129),
|
|
MK(2,3, 129),
|
|
MK(3,3, 129),
|
|
MK(4,3, 129),
|
|
MK(1,4, 129),
|
|
MK(2,4, 129),
|
|
MK(3,4, 129),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_cotton_candy[] = {
|
|
_tile_table_cotton_candy_0,
|
|
_tile_table_cotton_candy_1,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_candy_factory_0[] = {
|
|
MK(0,0, 131),
|
|
MK(0,1, 132),
|
|
MK(1,0, 133),
|
|
MK(1,1, 134),
|
|
MK(0,2, 131),
|
|
MK(0,3, 132),
|
|
MK(1,2, 133),
|
|
MK(1,3, 134),
|
|
MK(2,1, 131),
|
|
MK(2,2, 132),
|
|
MK(3,1, 133),
|
|
MK(3,2, 134),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_candy_factory_1[] = {
|
|
MK(0,0, 131),
|
|
MK(0,1, 132),
|
|
MK(1,0, 133),
|
|
MK(1,1, 134),
|
|
MK(2,0, 131),
|
|
MK(2,1, 132),
|
|
MK(3,0, 133),
|
|
MK(3,1, 134),
|
|
MK(1,2, 131),
|
|
MK(1,3, 132),
|
|
MK(2,2, 133),
|
|
MK(2,3, 134),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_candy_factory[] = {
|
|
_tile_table_candy_factory_0,
|
|
_tile_table_candy_factory_1,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_battery_farm_0[] = {
|
|
MK(0,0, 135),
|
|
MK(0,1, 135),
|
|
MK(0,2, 135),
|
|
MK(0,3, 135),
|
|
MK(1,0, 135),
|
|
MK(1,1, 135),
|
|
MK(1,2, 135),
|
|
MK(1,3, 135),
|
|
MK(2,0, 135),
|
|
MK(2,1, 135),
|
|
MK(2,2, 135),
|
|
MK(2,3, 135),
|
|
MK(3,0, 135),
|
|
MK(3,1, 135),
|
|
MK(3,2, 135),
|
|
MK(3,3, 135),
|
|
MK(4,0, 135),
|
|
MK(4,1, 135),
|
|
MK(4,2, 135),
|
|
MK(4,3, 135),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_battery_farm[] = {
|
|
_tile_table_battery_farm_0,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_cola_wells_0[] = {
|
|
MK(0,0, 137),
|
|
MK(0,1, 137),
|
|
MK(0,2, 137),
|
|
MK(1,0, 137),
|
|
MK(1,1, 137),
|
|
MK(1,2, 137),
|
|
MK(2,1, 137),
|
|
MK(2,2, 137),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_cola_wells_1[] = {
|
|
MK(0,1, 137),
|
|
MK(0,2, 137),
|
|
MK(0,3, 137),
|
|
MK(1,0, 137),
|
|
MK(1,1, 137),
|
|
MK(1,2, 137),
|
|
MK(2,1, 137),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_cola_wells[] = {
|
|
_tile_table_cola_wells_0,
|
|
_tile_table_cola_wells_1,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_toy_shop_0[] = {
|
|
MK(0,0, 138),
|
|
MK(0,1, 139),
|
|
MK(1,0, 140),
|
|
MK(1,1, 141),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_toy_shop[] = {
|
|
_tile_table_toy_shop_0,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_toy_factory_0[] = {
|
|
MK(0,0, 147),
|
|
MK(0,1, 142),
|
|
MK(1,0, 147),
|
|
MK(1,1, 143),
|
|
MK(2,0, 147),
|
|
MK(2,1, 144),
|
|
MK(3,0, 146),
|
|
MK(3,1, 145),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_toy_factory[] = {
|
|
_tile_table_toy_factory_0,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_plastic_fountain_0[] = {
|
|
MK(0,0, 148),
|
|
MK(0,1, 151),
|
|
MK(0,2, 154),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_plastic_fountain_1[] = {
|
|
MK(0,0, 148),
|
|
MK(1,0, 151),
|
|
MK(2,0, 154),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_plastic_fountain[] = {
|
|
_tile_table_plastic_fountain_0,
|
|
_tile_table_plastic_fountain_1,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_fizzy_drink_0[] = {
|
|
MK(0,0, 156),
|
|
MK(0,1, 157),
|
|
MK(1,0, 158),
|
|
MK(1,1, 159),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_fizzy_drink[] = {
|
|
_tile_table_fizzy_drink_0,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_bubble_generator_0[] = {
|
|
MK(0,0, 163),
|
|
MK(0,1, 160),
|
|
MK(1,0, 163),
|
|
MK(1,1, 161),
|
|
MK(2,0, 163),
|
|
MK(2,1, 162),
|
|
MK(0,2, 163),
|
|
MK(0,3, 160),
|
|
MK(1,2, 163),
|
|
MK(1,3, 161),
|
|
MK(2,2, 163),
|
|
MK(2,3, 162),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_bubble_generator[] = {
|
|
_tile_table_bubble_generator_0,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_toffee_quarry_0[] = {
|
|
MK(0,0, 164),
|
|
MK(1,0, 165),
|
|
MK(2,0, 166),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_toffee_quarry[] = {
|
|
_tile_table_toffee_quarry_0,
|
|
};
|
|
|
|
static const IndustryTileTable _tile_table_sugar_mine_0[] = {
|
|
MK(0,0, 167),
|
|
MK(0,1, 168),
|
|
MK(1,0, 169),
|
|
MK(1,1, 170),
|
|
MK(2,0, 171),
|
|
MK(2,1, 172),
|
|
MK(3,0, 173),
|
|
MK(3,1, 174),
|
|
MKEND
|
|
};
|
|
|
|
static const IndustryTileTable * const _tile_table_sugar_mine[] = {
|
|
_tile_table_sugar_mine_0,
|
|
};
|
|
|
|
#undef MK
|
|
#undef MKEND
|
|
|
|
/* Procedures that can be run to check whether an industry may
|
|
* build at location the given to the procedure */
|
|
typedef enum CheckProcs {
|
|
CHECK_NOTHING = 0,
|
|
CHECK_FOREST = 1,
|
|
CHECK_REFINERY = 2,
|
|
CHECK_FARM = 3,
|
|
CHECK_PLANTATION = 4,
|
|
CHECK_WATER = 5,
|
|
CHECK_LUMBERMILL = 6,
|
|
CHECK_BUBBLEGEN = 7,
|
|
CHECK_OIL_RIG = 8,
|
|
CHECK_END,
|
|
} CheckProc;
|
|
|
|
#define MK(tbl, d, c1, c2, c3, proc, p1, r1, p2, r2, m, a1, a2, a3, s1, s2, s3) \
|
|
{tbl, lengthof(tbl), d, {c1, c2, c3}, proc, {p1, p2}, {r1, r2}, m, \
|
|
{a1, a2, a3}, s1, s2, s3}
|
|
|
|
static const IndustrySpec _industry_specs[] = {
|
|
/* Format:
|
|
tile table cost multiplier
|
|
cannot be close to these industries (3 times) check proc
|
|
(produced cargo + rate) (twice) minimum cargo moved to station
|
|
3 accepted cargo
|
|
messages : Closure production up production down */
|
|
MK(_tile_table_coal_mine, 210,
|
|
IT_POWER_STATION, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
|
CT_COAL, 15, CT_INVALID, 0, 5,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4836_NEW_COAL_SEAM_FOUND_AT, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_power_station, 30,
|
|
IT_COAL_MINE, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
|
CT_INVALID, 0, CT_INVALID, 0, 5,
|
|
CT_COAL, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_sawmill, 28,
|
|
IT_FOREST, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
|
CT_GOODS, 0, CT_INVALID, 0, 5,
|
|
CT_WOOD, CT_INVALID, CT_INVALID,
|
|
STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_forest, 200,
|
|
IT_SAWMILL, IT_PAPER_MILL, IT_INVALID, CHECK_FOREST,
|
|
CT_WOOD, 13, CT_INVALID, 0, 30,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_483A_INSECT_INFESTATION_CAUSES),
|
|
|
|
MK(_tile_table_oil_refinery, 31,
|
|
IT_OIL_RIG, IT_INVALID, IT_INVALID, CHECK_REFINERY,
|
|
CT_GOODS, 0, CT_INVALID, 0, 5,
|
|
CT_OIL, CT_INVALID, CT_INVALID,
|
|
STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_oil_rig, 240,
|
|
IT_OIL_REFINERY, IT_INVALID, IT_INVALID, CHECK_OIL_RIG,
|
|
CT_OIL, 15, CT_PASSENGERS, 2, 5,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4837_NEW_OIL_RESERVES_FOUND, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_factory, 26,
|
|
IT_FARM, IT_STEEL_MILL, IT_INVALID, CHECK_NOTHING,
|
|
CT_GOODS, 0, CT_INVALID, 0, 5,
|
|
CT_LIVESTOCK, CT_GRAIN, CT_STEEL,
|
|
STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_printing_works, 26,
|
|
IT_PAPER_MILL, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
|
CT_GOODS, 0, CT_INVALID, 0, 5,
|
|
CT_PAPER, CT_INVALID, CT_INVALID,
|
|
STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_steel_mill, 27,
|
|
IT_IRON_MINE, IT_FACTORY, IT_INVALID, CHECK_NOTHING,
|
|
CT_STEEL, 0, CT_INVALID, 0, 5,
|
|
CT_IRON_ORE, CT_INVALID, CT_INVALID,
|
|
STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_farm, 250,
|
|
IT_FACTORY, IT_FOOD_PROCESS, IT_INVALID, CHECK_FARM,
|
|
CT_GRAIN, 10, CT_LIVESTOCK, 10, 5,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4838_IMPROVED_FARMING_METHODS, STR_483A_INSECT_INFESTATION_CAUSES),
|
|
|
|
MK(_tile_table_copper_mine, 205,
|
|
IT_FACTORY_2, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
|
CT_COPPER_ORE, 10, CT_INVALID, 0, 5,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_oil_well, 220,
|
|
IT_OIL_REFINERY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
|
CT_OIL, 12, CT_INVALID, 0, 5,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4837_NEW_OIL_RESERVES_FOUND, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_bank, 193,
|
|
IT_BANK_TEMP, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
|
CT_VALUABLES, 6, CT_INVALID, 0, 5,
|
|
CT_VALUABLES, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_food_process, 26,
|
|
IT_FRUIT_PLANTATION, IT_FARM, IT_FARM_2, CHECK_NOTHING,
|
|
CT_FOOD, 0, CT_INVALID, 0, 5,
|
|
CT_FRUIT, CT_MAIZE, CT_INVALID,
|
|
STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_paper_mill, 28,
|
|
IT_FOREST, IT_PRINTING_WORKS, IT_INVALID, CHECK_NOTHING,
|
|
CT_PAPER, 0, CT_INVALID, 0, 5,
|
|
CT_WOOD, CT_INVALID, CT_INVALID,
|
|
STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_gold_mine, 208,
|
|
IT_BANK_TROPIC_ARCTIC, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
|
CT_GOLD, 7, CT_INVALID, 0, 5,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_bank2, 19,
|
|
IT_GOLD_MINE, IT_DIAMOND_MINE, IT_INVALID, CHECK_NOTHING,
|
|
CT_INVALID, 0, CT_INVALID, 0, 5,
|
|
CT_GOLD, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_diamond_mine, 213,
|
|
IT_BANK_TROPIC_ARCTIC, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
|
CT_DIAMONDS, 7, CT_INVALID, 0, 5,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_iron_mine, 220,
|
|
IT_STEEL_MILL, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
|
CT_IRON_ORE, 10, CT_INVALID, 0, 5,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_fruit_plantation, 225,
|
|
IT_FOOD_PROCESS, IT_INVALID, IT_INVALID, CHECK_PLANTATION,
|
|
CT_FRUIT, 10, CT_INVALID, 0, 15,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4838_IMPROVED_FARMING_METHODS, STR_483A_INSECT_INFESTATION_CAUSES),
|
|
|
|
MK(_tile_table_rubber_plantation, 218,
|
|
IT_FACTORY_2, IT_INVALID, IT_INVALID, CHECK_PLANTATION,
|
|
CT_RUBBER, 10, CT_INVALID, 0, 15,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4838_IMPROVED_FARMING_METHODS, STR_483A_INSECT_INFESTATION_CAUSES),
|
|
|
|
MK(_tile_table_water_supply, 199,
|
|
IT_WATER_TOWER, IT_INVALID, IT_INVALID, CHECK_WATER,
|
|
CT_WATER, 12, CT_INVALID, 0, 5,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_water_tower, 14,
|
|
IT_WATER_SUPPLY, IT_INVALID, IT_INVALID, CHECK_WATER,
|
|
CT_INVALID, 0, CT_INVALID, 0, 5,
|
|
CT_WATER, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_factory2, 26,
|
|
IT_RUBBER_PLANTATION, IT_COPPER_MINE, IT_LUMBER_MILL, CHECK_PLANTATION,
|
|
CT_GOODS, 0, CT_INVALID, 0, 5,
|
|
CT_RUBBER, CT_COPPER_ORE, CT_WOOD,
|
|
STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_farm2, 250,
|
|
IT_FOOD_PROCESS, IT_INVALID, IT_INVALID, CHECK_PLANTATION,
|
|
CT_MAIZE, 11, CT_INVALID, 0, 5,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4838_IMPROVED_FARMING_METHODS, STR_483A_INSECT_INFESTATION_CAUSES),
|
|
|
|
MK(_tile_table_lumber_mill, 17,
|
|
IT_FACTORY_2, IT_INVALID, IT_INVALID, CHECK_LUMBERMILL,
|
|
CT_WOOD, 0, CT_INVALID, 0, 5,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4834_LACK_OF_NEARBY_TREES_CAUSES, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_cotton_candy, 195,
|
|
IT_CANDY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
|
CT_COTTON_CANDY, 13, CT_INVALID, 0, 30,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4838_IMPROVED_FARMING_METHODS, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_candy_factory, 26,
|
|
IT_COTTON_CANDY, IT_TOFFEE_QUARRY, IT_SUGAR_MINE, CHECK_NOTHING,
|
|
CT_CANDY, 0, CT_INVALID, 0, 5,
|
|
CT_SUGAR, CT_TOFFEE, CT_COTTON_CANDY,
|
|
STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_battery_farm, 187,
|
|
IT_TOY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
|
CT_BATTERIES, 11, CT_INVALID, 0, 30,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4838_IMPROVED_FARMING_METHODS, STR_483A_INSECT_INFESTATION_CAUSES),
|
|
|
|
MK(_tile_table_cola_wells, 193,
|
|
IT_FIZZY_DRINK_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
|
CT_COLA, 12, CT_INVALID, 0, 5,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_toy_shop, 17,
|
|
IT_TOY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
|
CT_INVALID, 0, CT_INVALID, 0, 5,
|
|
CT_TOYS, CT_INVALID, CT_INVALID,
|
|
STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_toy_factory, 20,
|
|
IT_PLASTIC_FOUNTAINS, IT_BATTERY_FARM, IT_TOY_SHOP, CHECK_NOTHING,
|
|
CT_TOYS, 0, CT_INVALID, 0, 5,
|
|
CT_PLASTIC, CT_BATTERIES, CT_INVALID,
|
|
STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_plastic_fountain, 192,
|
|
IT_TOY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
|
CT_PLASTIC, 14, CT_INVALID, 0, 5,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_fizzy_drink, 22,
|
|
IT_COLA_WELLS, IT_BUBBLE_GENERATOR, IT_INVALID, CHECK_NOTHING,
|
|
CT_FIZZY_DRINKS, 0, CT_INVALID, 0, 5,
|
|
CT_COLA, CT_BUBBLES, CT_INVALID,
|
|
STR_4833_SUPPLY_PROBLEMS_CAUSE_TO, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_bubble_generator, 203,
|
|
IT_FIZZY_DRINK_FACTORY, IT_INVALID, IT_INVALID, CHECK_BUBBLEGEN,
|
|
CT_BUBBLES, 13, CT_INVALID, 0, 5,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_toffee_quarry, 213,
|
|
IT_CANDY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
|
CT_TOFFEE, 10, CT_INVALID, 0, 5,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
|
|
MK(_tile_table_sugar_mine, 210,
|
|
IT_CANDY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
|
CT_SUGAR, 11, CT_INVALID, 0, 5,
|
|
CT_INVALID, CT_INVALID, CT_INVALID,
|
|
STR_4832_ANNOUNCES_IMMINENT_CLOSURE, STR_4835_INCREASES_PRODUCTION, STR_4839_PRODUCTION_DOWN_BY_50),
|
|
};
|
|
#undef MK
|
|
|
|
const byte _build_industry_types[4][12] = {
|
|
{ 1, 2, 4, 6, 8, 0, 3, 5, 9, 11, 18 },
|
|
{ 1, 14, 4, 13, 7, 0, 3, 9, 11, 15 },
|
|
{ 25, 13, 4, 23, 22, 11, 17, 10, 24, 19, 20, 21 },
|
|
{ 27, 30, 31, 33, 26, 28, 29, 32, 34, 35, 36 },
|
|
};
|
|
|
|
|
|
static const byte _industry_create_table_0[] = {
|
|
4, 4,
|
|
5, 3,
|
|
5, 2,
|
|
8, 0,
|
|
5, 1,
|
|
4, 11,
|
|
5, 18,
|
|
9, 9,
|
|
5, 8,
|
|
5, 6,
|
|
0
|
|
};
|
|
|
|
static const byte _industry_create_table_1[] = {
|
|
4, 4,
|
|
5, 3,
|
|
5, 14,
|
|
8, 0,
|
|
5, 1,
|
|
5, 11,
|
|
5, 13,
|
|
9, 9,
|
|
4, 15,
|
|
5, 7,
|
|
6, 16,
|
|
0
|
|
};
|
|
|
|
static const byte _industry_create_table_2[] = {
|
|
4, 4,
|
|
5, 11,
|
|
5, 16,
|
|
4, 13,
|
|
4, 17,
|
|
4, 10,
|
|
4, 19,
|
|
4, 20,
|
|
4, 21,
|
|
8, 22,
|
|
4, 13,
|
|
4, 23,
|
|
2, 24,
|
|
0
|
|
};
|
|
|
|
static const byte _industry_create_table_3[] = {
|
|
5, 26,
|
|
5, 27,
|
|
4, 28,
|
|
5, 29,
|
|
4, 30,
|
|
5, 31,
|
|
5, 32,
|
|
4, 33,
|
|
5, 34,
|
|
5, 35,
|
|
4, 36,
|
|
0
|
|
};
|
|
|
|
static const byte * const _industry_create_table[4] = {
|
|
_industry_create_table_0,
|
|
_industry_create_table_1,
|
|
_industry_create_table_2,
|
|
_industry_create_table_3,
|
|
};
|
|
|
|
|
|
#define PAS CT_PASSENGERS
|
|
|
|
#define COL CT_COAL
|
|
#define RUB CT_RUBBER
|
|
#define SUG CT_SUGAR
|
|
|
|
#define MAL CT_MAIL
|
|
|
|
#define OIL CT_OIL
|
|
#define TOY CT_TOYS
|
|
|
|
#define LIV CT_LIVESTOCK // Fruit too
|
|
#define BAT CT_BATTERIES
|
|
|
|
#define GRA CT_GRAIN
|
|
#define WHT CT_WHEAT // Maize too
|
|
#define TOF CT_TOFFEE
|
|
|
|
#define WOD CT_WOOD
|
|
#define CLA CT_COLA
|
|
|
|
#define IRN CT_IRON_ORE
|
|
#define COP CT_COPPER_ORE
|
|
#define CCY CT_COTTON_CANDY
|
|
|
|
#define STL CT_STEEL
|
|
#define PAP CT_PAPER
|
|
#define WAT CT_WATER
|
|
#define BBL CT_BUBBLES
|
|
|
|
#define VAL CT_VALUABLES
|
|
#define GLD CT_GOLD // Diamonds too
|
|
#define PLC CT_PLASTIC
|
|
|
|
#define INV CT_INVALID
|
|
|
|
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
|
|
};
|
|
|
|
|
|
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
|
|
};
|
|
|
|
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
|
|
};
|
|
|
|
#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
|