mirror of https://github.com/OpenTTD/OpenTTD.git
Codechange: Use vector for industry random sounds. (#12606)
Use a vector to store the list of random sounds played for an industry. The removes manual memory allocation, flags to control memory management, a separate count member, and a try/catch block.
This commit is contained in:
parent
7147fe9e7a
commit
f146680121
|
@ -1166,11 +1166,11 @@ static void ProduceIndustryGoods(Industry *i)
|
|||
/* play a sound? */
|
||||
if ((i->counter & 0x3F) == 0) {
|
||||
uint32_t r;
|
||||
if (Chance16R(1, 14, r) && indsp->number_of_sounds != 0 && _settings_client.sound.ambient) {
|
||||
if (Chance16R(1, 14, r) && !indsp->random_sounds.empty() && _settings_client.sound.ambient) {
|
||||
if (std::any_of(std::begin(i->produced), std::end(i->produced), [](const auto &p) { return p.history[LAST_MONTH].production > 0; })) {
|
||||
/* Play sound since last month had production */
|
||||
SndPlayTileFx(
|
||||
(SoundFx)(indsp->random_sounds[((r >> 16) * indsp->number_of_sounds) >> 16]),
|
||||
static_cast<SoundFx>(indsp->random_sounds[((r >> 16) * indsp->random_sounds.size()) >> 16]),
|
||||
i->location.tile);
|
||||
}
|
||||
}
|
||||
|
@ -3170,13 +3170,6 @@ bool IndustrySpec::UsesOriginalEconomy() const
|
|||
HasBit(this->callback_mask, CBM_IND_MONTHLYPROD_CHANGE) || HasBit(this->callback_mask, CBM_IND_PRODUCTION_CHANGE) || HasBit(this->callback_mask, CBM_IND_PROD_CHANGE_BUILD); // production change callbacks
|
||||
}
|
||||
|
||||
IndustrySpec::~IndustrySpec()
|
||||
{
|
||||
if (HasBit(this->cleanup_flag, CLEAN_RANDOMSOUNDS)) {
|
||||
free(this->random_sounds);
|
||||
}
|
||||
}
|
||||
|
||||
static CommandCost TerraformTile_Industry(TileIndex tile, DoCommandFlag flags, int z_new, Slope tileh_new)
|
||||
{
|
||||
if (AutoslopeEnabled()) {
|
||||
|
|
|
@ -18,10 +18,6 @@
|
|||
#include "newgrf_animation_type.h"
|
||||
#include "newgrf_commons.h"
|
||||
|
||||
enum IndustryCleanupType {
|
||||
CLEAN_RANDOMSOUNDS, ///< Free the dynamically allocated sounds table
|
||||
};
|
||||
|
||||
/** Available types of industry lifetimes. */
|
||||
enum IndustryLifeType {
|
||||
INDUSTRYLIFE_BLACK_HOLE = 0, ///< Like power plants and banks
|
||||
|
@ -132,21 +128,17 @@ struct IndustrySpec {
|
|||
StringID station_name; ///< Default name for nearby station
|
||||
uint8_t appear_ingame[NUM_LANDSCAPE]; ///< Probability of appearance in game
|
||||
uint8_t appear_creation[NUM_LANDSCAPE]; ///< Probability of appearance during map creation
|
||||
uint8_t number_of_sounds; ///< Number of sounds available in the sounds array
|
||||
const uint8_t *random_sounds; ///< array of random sounds.
|
||||
/* Newgrf data */
|
||||
uint16_t callback_mask; ///< Bitmask of industry callbacks that have to be called
|
||||
uint8_t cleanup_flag; ///< flags indicating which data should be freed upon cleaning up
|
||||
bool enabled; ///< entity still available (by default true).newgrf can disable it, though
|
||||
GRFFileProps grf_prop; ///< properties related to the grf file
|
||||
std::vector<uint8_t> random_sounds; ///< Random sounds;
|
||||
|
||||
bool IsRawIndustry() const;
|
||||
bool IsProcessingIndustry() const;
|
||||
Money GetConstructionCost() const;
|
||||
Money GetRemovalCost() const;
|
||||
bool UsesOriginalEconomy() const;
|
||||
|
||||
~IndustrySpec();
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -3705,23 +3705,15 @@ static ChangeInfoResult IndustriesChangeInfo(uint indid, int numinfo, int prop,
|
|||
break;
|
||||
|
||||
case 0x15: { // Random sound effects
|
||||
indsp->number_of_sounds = buf->ReadByte();
|
||||
uint8_t *sounds = MallocT<uint8_t>(indsp->number_of_sounds);
|
||||
uint8_t num_sounds = buf->ReadByte();
|
||||
|
||||
try {
|
||||
for (uint8_t j = 0; j < indsp->number_of_sounds; j++) {
|
||||
sounds[j] = buf->ReadByte();
|
||||
}
|
||||
} catch (...) {
|
||||
free(sounds);
|
||||
throw;
|
||||
std::vector<uint8_t> sounds;
|
||||
sounds.reserve(num_sounds);
|
||||
for (uint8_t j = 0; j < num_sounds; ++j) {
|
||||
sounds.push_back(buf->ReadByte());
|
||||
}
|
||||
|
||||
if (HasBit(indsp->cleanup_flag, CLEAN_RANDOMSOUNDS)) {
|
||||
free(indsp->random_sounds);
|
||||
}
|
||||
indsp->random_sounds = sounds;
|
||||
SetBit(indsp->cleanup_flag, CLEAN_RANDOMSOUNDS);
|
||||
indsp->random_sounds = std::move(sounds);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -1032,16 +1032,16 @@ static const std::vector<IndustryTileLayout> _tile_table_sugar_mine {
|
|||
#undef MK
|
||||
|
||||
/** Array with saw sound, for sawmill */
|
||||
static const uint8_t _sawmill_sounds[] = { SND_28_SAWMILL };
|
||||
static const std::initializer_list<uint8_t> _sawmill_sounds = { SND_28_SAWMILL };
|
||||
|
||||
/** Array with whistle sound, for factory */
|
||||
static const uint8_t _factory_sounds[] = { SND_03_FACTORY };
|
||||
static const std::initializer_list<uint8_t> _factory_sounds = { SND_03_FACTORY };
|
||||
|
||||
/** Array with 3 animal sounds, for farms */
|
||||
static const uint8_t _farm_sounds[] = { SND_24_FARM_1, SND_25_FARM_2, SND_26_FARM_3 };
|
||||
static const std::initializer_list<uint8_t> _farm_sounds = { SND_24_FARM_1, SND_25_FARM_2, SND_26_FARM_3 };
|
||||
|
||||
/** Array with... hem... a sound of toyland */
|
||||
static const uint8_t _plastic_mine_sounds[] = { SND_33_PLASTIC_MINE };
|
||||
static const std::initializer_list<uint8_t> _plastic_mine_sounds = { SND_33_PLASTIC_MINE };
|
||||
|
||||
enum IndustryTypes {
|
||||
IT_COAL_MINE = 0,
|
||||
|
@ -1125,7 +1125,7 @@ enum IndustryTypes {
|
|||
* @param s3 text for production down
|
||||
*/
|
||||
|
||||
#define MI(tbl, sndc, snd, d, pc, ai1, ai2, ai3, ai4, ag1, ag2, ag3, ag4, col, \
|
||||
#define MI(tbl, snd, d, pc, ai1, ai2, ai3, ai4, ag1, ag2, ag3, ag4, col, \
|
||||
c1, c2, c3, proc, p1, r1, p2, r2, m, a1, im1, a2, im2, a3, im3, pr, clim, bev, in, intx, s1, s2, s3) \
|
||||
{tbl, d, 0, pc, {c1, c2, c3}, proc, \
|
||||
{INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO, INVALID_CARGO}, \
|
||||
|
@ -1135,7 +1135,7 @@ enum IndustryTypes {
|
|||
{a1, a2, a3, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID, CT_INVALID}, \
|
||||
{{im1, 0}, {im2, 0}, {im3, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, \
|
||||
pr, clim, bev, col, in, intx, s1, s2, s3, STR_UNDEFINED, {ai1, ai2, ai3, ai4}, {ag1, ag2, ag3, ag4}, \
|
||||
sndc, snd, 0, 0, true, GRFFileProps(INVALID_INDUSTRYTYPE)}
|
||||
0, true, GRFFileProps(INVALID_INDUSTRYTYPE), snd}
|
||||
/* Format:
|
||||
tile table count and sounds table
|
||||
cost multiplier appear chances(4ingame, 4random) map colour
|
||||
|
@ -1147,7 +1147,7 @@ enum IndustryTypes {
|
|||
industry name building text
|
||||
messages : Closure production up production down */
|
||||
static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
||||
MI(_tile_table_coal_mine, 0, nullptr,
|
||||
MI(_tile_table_coal_mine, {},
|
||||
210, 0xB3333333, 2, 3, 0, 0, 8, 8, 0, 0, 1,
|
||||
IT_POWER_STATION, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_COAL, 15, CT_INVALID, 0, 5,
|
||||
|
@ -1157,7 +1157,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_COAL_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_COAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_power_station, 0, nullptr,
|
||||
MI(_tile_table_power_station, {},
|
||||
240, 0xFFFFFFFF, 2, 2, 0, 0, 5, 5, 0, 0, 184,
|
||||
IT_COAL_MINE, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_INVALID, 0, CT_INVALID, 0, 5,
|
||||
|
@ -1167,7 +1167,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_POWER_STATION, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_sawmill, 1, _sawmill_sounds,
|
||||
MI(_tile_table_sawmill, _sawmill_sounds,
|
||||
224, 0xFFFFFFFF, 2, 0, 0, 0, 5, 0, 0, 0, 194,
|
||||
IT_FOREST, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_GOODS, 0, CT_INVALID, 0, 5,
|
||||
|
@ -1177,7 +1177,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_SAWMILL, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_forest, 0, nullptr,
|
||||
MI(_tile_table_forest, {},
|
||||
200, 0xBFFFFFFF, 3, 4, 0, 0, 5, 5, 0, 0, 86,
|
||||
IT_SAWMILL, IT_PAPER_MILL, IT_INVALID, CHECK_FOREST,
|
||||
CT_WOOD, 13, CT_INVALID, 0, 30,
|
||||
|
@ -1187,7 +1187,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_FOREST, STR_NEWS_INDUSTRY_PLANTED,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
|
||||
|
||||
MI(_tile_table_oil_refinery, 0, nullptr,
|
||||
MI(_tile_table_oil_refinery, {},
|
||||
244, 0xFFFFFFFF, 2, 2, 2, 0, 4, 4, 4, 0, 191,
|
||||
IT_OIL_RIG, IT_INVALID, IT_INVALID, CHECK_REFINERY,
|
||||
CT_GOODS, 0, CT_INVALID, 0, 5,
|
||||
|
@ -1197,7 +1197,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_OIL_REFINERY, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_oil_rig, 0, nullptr,
|
||||
MI(_tile_table_oil_rig, {},
|
||||
240, 0x99999999, 6, 0, 0, 0, 0, 0, 0, 0, 152,
|
||||
IT_OIL_REFINERY, IT_INVALID, IT_INVALID, CHECK_OIL_RIG,
|
||||
CT_OIL, 15, CT_PASSENGERS, 2, 5,
|
||||
|
@ -1207,7 +1207,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_OIL_RIG, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_factory, 1, _factory_sounds,
|
||||
MI(_tile_table_factory, _factory_sounds,
|
||||
208, 0xFFFFFFFF, 2, 0, 0, 0, 5, 0, 0, 0, 174,
|
||||
IT_FARM, IT_STEEL_MILL, IT_INVALID, CHECK_NOTHING,
|
||||
CT_GOODS, 0, CT_INVALID, 0, 5,
|
||||
|
@ -1217,7 +1217,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_FACTORY, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_printing_works, 1, _factory_sounds,
|
||||
MI(_tile_table_printing_works, _factory_sounds,
|
||||
208, 0xFFFFFFFF, 0, 2, 0, 0, 0, 5, 0, 0, 174,
|
||||
IT_PAPER_MILL, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_GOODS, 0, CT_INVALID, 0, 5,
|
||||
|
@ -1227,7 +1227,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_PRINTING_WORKS, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_steel_mill, 0, nullptr,
|
||||
MI(_tile_table_steel_mill, {},
|
||||
215, 0xFFFFFFFF, 2, 0, 0, 0, 5, 0, 0, 0, 10,
|
||||
IT_IRON_MINE, IT_FACTORY, IT_INVALID, CHECK_NOTHING,
|
||||
CT_STEEL, 0, CT_INVALID, 0, 5,
|
||||
|
@ -1237,7 +1237,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_STEEL_MILL, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_farm, 3, _farm_sounds,
|
||||
MI(_tile_table_farm, _farm_sounds,
|
||||
250, 0xD9999999, 2, 4, 0, 0, 9, 9, 0, 0, 48,
|
||||
IT_FACTORY, IT_FOOD_PROCESS, IT_INVALID, CHECK_FARM,
|
||||
MCT_GRAIN_WHEAT_MAIZE, 10, MCT_LIVESTOCK_FRUIT, 10, 5,
|
||||
|
@ -1247,7 +1247,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_FARM, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
|
||||
|
||||
MI(_tile_table_copper_mine, 0, nullptr,
|
||||
MI(_tile_table_copper_mine, {},
|
||||
205, 0xB3333333, 0, 0, 3, 0, 0, 0, 4, 0, 10,
|
||||
IT_FACTORY_2, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_COPPER_ORE, 10, CT_INVALID, 0, 5,
|
||||
|
@ -1257,7 +1257,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_COPPER_ORE_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_oil_well, 0, nullptr,
|
||||
MI(_tile_table_oil_well, {},
|
||||
220, 0x99999999, 0, 5, 3, 0, 4, 5, 5, 0, 152,
|
||||
IT_OIL_REFINERY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_OIL, 12, CT_INVALID, 0, 5,
|
||||
|
@ -1267,7 +1267,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_OIL_WELLS, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_OIL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_bank, 0, nullptr,
|
||||
MI(_tile_table_bank, {},
|
||||
255, 0xA6666666, 7, 0, 0, 0, 0, 0, 0, 0, 15,
|
||||
IT_BANK_TEMP, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
MCT_VALUABLES_GOLD_DIAMONDS, 6, CT_INVALID, 0, 5,
|
||||
|
@ -1277,7 +1277,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_BANK, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_food_process, 0, nullptr,
|
||||
MI(_tile_table_food_process, {},
|
||||
206, 0xFFFFFFFF, 0, 2, 2, 0, 0, 3, 4, 0, 55,
|
||||
IT_FRUIT_PLANTATION, IT_FARM, IT_FARM_2, CHECK_NOTHING,
|
||||
CT_FOOD, 0, CT_INVALID, 0, 5,
|
||||
|
@ -1287,7 +1287,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_FOOD_PROCESSING_PLANT, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_paper_mill, 1, _sawmill_sounds,
|
||||
MI(_tile_table_paper_mill, _sawmill_sounds,
|
||||
227, 0xFFFFFFFF, 0, 2, 0, 0, 0, 5, 0, 0, 10,
|
||||
IT_FOREST, IT_PRINTING_WORKS, IT_INVALID, CHECK_NOTHING,
|
||||
CT_PAPER, 0, CT_INVALID, 0, 5,
|
||||
|
@ -1297,7 +1297,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_PAPER_MILL, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_gold_mine, 0, nullptr,
|
||||
MI(_tile_table_gold_mine, {},
|
||||
208, 0x99999999, 0, 3, 0, 0, 0, 4, 0, 0, 194,
|
||||
IT_BANK_TROPIC_ARCTIC, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
MCT_VALUABLES_GOLD_DIAMONDS, 7, CT_INVALID, 0, 5,
|
||||
|
@ -1307,7 +1307,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_GOLD_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_bank2, 0, nullptr,
|
||||
MI(_tile_table_bank2, {},
|
||||
151, 0xA6666666, 0, 3, 3, 0, 0, 6, 5, 0, 15,
|
||||
IT_GOLD_MINE, IT_DIAMOND_MINE, IT_INVALID, CHECK_NOTHING,
|
||||
CT_INVALID, 0, CT_INVALID, 0, 5,
|
||||
|
@ -1317,7 +1317,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_BANK_TROPIC_ARCTIC, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_diamond_mine, 0, nullptr,
|
||||
MI(_tile_table_diamond_mine, {},
|
||||
213, 0x99999999, 0, 0, 3, 0, 0, 0, 4, 0, 184,
|
||||
IT_BANK_TROPIC_ARCTIC, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
MCT_VALUABLES_GOLD_DIAMONDS, 7, CT_INVALID, 0, 5,
|
||||
|
@ -1327,7 +1327,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_DIAMOND_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_iron_mine, 0, nullptr,
|
||||
MI(_tile_table_iron_mine, {},
|
||||
220, 0xB3333333, 2, 0, 0, 0, 5, 0, 0, 0, 55,
|
||||
IT_STEEL_MILL, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_IRON_ORE, 10, CT_INVALID, 0, 5,
|
||||
|
@ -1337,7 +1337,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_IRON_ORE_MINE, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_fruit_plantation, 0, nullptr,
|
||||
MI(_tile_table_fruit_plantation, {},
|
||||
225, 0xBFFFFFFF, 0, 0, 2, 0, 0, 0, 4, 0, 86,
|
||||
IT_FOOD_PROCESS, IT_INVALID, IT_INVALID, CHECK_PLANTATION,
|
||||
MCT_LIVESTOCK_FRUIT, 10, CT_INVALID, 0, 15,
|
||||
|
@ -1347,7 +1347,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_FRUIT_PLANTATION, STR_NEWS_INDUSTRY_PLANTED,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
|
||||
|
||||
MI(_tile_table_rubber_plantation, 0, nullptr,
|
||||
MI(_tile_table_rubber_plantation, {},
|
||||
218, 0xBFFFFFFF, 0, 0, 3, 0, 0, 0, 4, 0, 39,
|
||||
IT_FACTORY_2, IT_INVALID, IT_INVALID, CHECK_PLANTATION,
|
||||
CT_RUBBER, 10, CT_INVALID, 0, 15,
|
||||
|
@ -1357,7 +1357,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_RUBBER_PLANTATION, STR_NEWS_INDUSTRY_PLANTED,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
|
||||
|
||||
MI(_tile_table_water_supply, 0, nullptr,
|
||||
MI(_tile_table_water_supply, {},
|
||||
199, 0xB3333333, 0, 0, 3, 0, 0, 0, 4, 0, 37,
|
||||
IT_WATER_TOWER, IT_INVALID, IT_INVALID, CHECK_WATER,
|
||||
CT_WATER, 12, CT_INVALID, 0, 5,
|
||||
|
@ -1367,7 +1367,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_WATER_SUPPLY, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_water_tower, 0, nullptr,
|
||||
MI(_tile_table_water_tower, {},
|
||||
115, 0xFFFFFFFF, 0, 0, 4, 0, 0, 0, 8, 0, 208,
|
||||
IT_WATER_SUPPLY, IT_INVALID, IT_INVALID, CHECK_WATER,
|
||||
CT_INVALID, 0, CT_INVALID, 0, 5,
|
||||
|
@ -1377,7 +1377,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_WATER_TOWER, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_factory2, 1, _factory_sounds,
|
||||
MI(_tile_table_factory2, _factory_sounds,
|
||||
208, 0xFFFFFFFF, 0, 0, 2, 0, 0, 0, 4, 0, 174,
|
||||
IT_RUBBER_PLANTATION, IT_COPPER_MINE, IT_LUMBER_MILL, CHECK_PLANTATION,
|
||||
CT_GOODS, 0, CT_INVALID, 0, 5,
|
||||
|
@ -1387,7 +1387,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_FACTORY_2, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_farm2, 0, nullptr,
|
||||
MI(_tile_table_farm2, {},
|
||||
250, 0xD9999999, 0, 0, 1, 0, 0, 0, 2, 0, 48,
|
||||
IT_FOOD_PROCESS, IT_INVALID, IT_INVALID, CHECK_PLANTATION,
|
||||
MCT_GRAIN_WHEAT_MAIZE, 11, CT_INVALID, 0, 5,
|
||||
|
@ -1397,7 +1397,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_FARM_2, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
|
||||
|
||||
MI(_tile_table_lumber_mill, 0, nullptr,
|
||||
MI(_tile_table_lumber_mill, {},
|
||||
135, 0xFFFFFFFF, 0, 0, 0, 0, 0, 0, 0, 0, 194,
|
||||
IT_FACTORY_2, IT_INVALID, IT_INVALID, CHECK_LUMBERMILL,
|
||||
CT_WOOD, 0, CT_INVALID, 0, 5,
|
||||
|
@ -1407,7 +1407,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_LUMBER_MILL, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_LACK_OF_TREES, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_cotton_candy, 0, nullptr,
|
||||
MI(_tile_table_cotton_candy, {},
|
||||
195, 0xBFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 5, 48,
|
||||
IT_CANDY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_COTTON_CANDY, 13, CT_INVALID, 0, 30,
|
||||
|
@ -1417,7 +1417,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_COTTON_CANDY_FOREST, STR_NEWS_INDUSTRY_PLANTED,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_candy_factory, 0, nullptr,
|
||||
MI(_tile_table_candy_factory, {},
|
||||
206, 0xFFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 5, 174,
|
||||
IT_COTTON_CANDY, IT_TOFFEE_QUARRY, IT_SUGAR_MINE, CHECK_NOTHING,
|
||||
CT_CANDY, 0, CT_INVALID, 0, 5,
|
||||
|
@ -1427,7 +1427,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_CANDY_FACTORY, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_battery_farm, 0, nullptr,
|
||||
MI(_tile_table_battery_farm, {},
|
||||
187, 0xB3333333, 0, 0, 0, 3, 0, 0, 0, 4, 39,
|
||||
IT_TOY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_BATTERIES, 11, CT_INVALID, 0, 30,
|
||||
|
@ -1437,7 +1437,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_BATTERY_FARM, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_FARM, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_FARM),
|
||||
|
||||
MI(_tile_table_cola_wells, 0, nullptr,
|
||||
MI(_tile_table_cola_wells, {},
|
||||
193, 0x99999999, 0, 0, 0, 3, 0, 0, 0, 5, 55,
|
||||
IT_FIZZY_DRINK_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_COLA, 12, CT_INVALID, 0, 5,
|
||||
|
@ -1447,7 +1447,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_COLA_WELLS, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_toy_shop, 0, nullptr,
|
||||
MI(_tile_table_toy_shop, {},
|
||||
133, 0xFFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 4, 208,
|
||||
IT_TOY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_INVALID, 0, CT_INVALID, 0, 5,
|
||||
|
@ -1457,7 +1457,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_TOY_SHOP, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_toy_factory, 0, nullptr,
|
||||
MI(_tile_table_toy_factory, {},
|
||||
163, 0xFFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 5, 10,
|
||||
IT_PLASTIC_FOUNTAINS, IT_BATTERY_FARM, IT_TOY_SHOP, CHECK_NOTHING,
|
||||
CT_TOYS, 0, CT_INVALID, 0, 5,
|
||||
|
@ -1467,7 +1467,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_TOY_FACTORY, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_plastic_fountain, 1, _plastic_mine_sounds,
|
||||
MI(_tile_table_plastic_fountain, _plastic_mine_sounds,
|
||||
192, 0xA6666666, 0, 0, 0, 3, 0, 0, 0, 5, 37,
|
||||
IT_TOY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_PLASTIC, 14, CT_INVALID, 0, 5,
|
||||
|
@ -1477,7 +1477,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_PLASTIC_FOUNTAINS, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_fizzy_drink, 0, nullptr,
|
||||
MI(_tile_table_fizzy_drink, {},
|
||||
177, 0xFFFFFFFF, 0, 0, 0, 3, 0, 0, 0, 4, 184,
|
||||
IT_COLA_WELLS, IT_BUBBLE_GENERATOR, IT_INVALID, CHECK_NOTHING,
|
||||
CT_FIZZY_DRINKS, 0, CT_INVALID, 0, 5,
|
||||
|
@ -1487,7 +1487,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_FIZZY_DRINK_FACTORY, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_SUPPLY_PROBLEMS, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_bubble_generator, 0, nullptr,
|
||||
MI(_tile_table_bubble_generator, {},
|
||||
203, 0xB3333333, 0, 0, 0, 3, 0, 0, 0, 5, 152,
|
||||
IT_FIZZY_DRINK_FACTORY, IT_INVALID, IT_INVALID, CHECK_BUBBLEGEN,
|
||||
CT_BUBBLES, 13, CT_INVALID, 0, 5,
|
||||
|
@ -1497,7 +1497,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_BUBBLE_GENERATOR, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_toffee_quarry, 0, nullptr,
|
||||
MI(_tile_table_toffee_quarry, {},
|
||||
213, 0xCCCCCCCC, 0, 0, 0, 3, 0, 0, 0, 5, 194,
|
||||
IT_CANDY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_TOFFEE, 10, CT_INVALID, 0, 5,
|
||||
|
@ -1507,7 +1507,7 @@ static const IndustrySpec _origin_industry_specs[NEW_INDUSTRYOFFSET] = {
|
|||
STR_INDUSTRY_NAME_TOFFEE_QUARRY, STR_NEWS_INDUSTRY_CONSTRUCTION,
|
||||
STR_NEWS_INDUSTRY_CLOSURE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_INCREASE_GENERAL, STR_NEWS_INDUSTRY_PRODUCTION_DECREASE_GENERAL),
|
||||
|
||||
MI(_tile_table_sugar_mine, 0, nullptr,
|
||||
MI(_tile_table_sugar_mine, {},
|
||||
210, 0xBFFFFFFF, 0, 0, 0, 2, 0, 0, 0, 4, 15,
|
||||
IT_CANDY_FACTORY, IT_INVALID, IT_INVALID, CHECK_NOTHING,
|
||||
CT_SUGAR, 11, CT_INVALID, 0, 5,
|
||||
|
|
Loading…
Reference in New Issue