OpenTTD Source 20241224-master-gf74b0cf984
|
Defines the data structure for constructing industry. More...
#include <industrytype.h>
Public Member Functions | |
bool | IsRawIndustry () const |
Is an industry with the spec a raw industry? | |
bool | IsProcessingIndustry () const |
Is an industry with the spec a processing industry? | |
Money | GetConstructionCost () const |
Get the cost for constructing this industry. | |
Money | GetRemovalCost () const |
Get the cost for removing this industry Take note that the cost will always be zero for non-grf industries. | |
bool | UsesOriginalEconomy () const |
Determines whether this industrytype uses standard/newgrf production changes. | |
Data Fields | |
std::vector< IndustryTileLayout > | layouts |
List of possible tile layouts for the industry. | |
uint8_t | cost_multiplier |
Base construction cost multiplier. | |
uint32_t | removal_cost_multiplier |
Base removal cost multiplier. | |
uint32_t | prospecting_chance |
Chance prospecting succeeds. | |
IndustryType | conflicting [3] |
Industries this industry cannot be close to. | |
uint8_t | check_proc |
Index to a procedure to check for conflicting circumstances. | |
std::array< CargoID, INDUSTRY_NUM_OUTPUTS > | produced_cargo |
uint8_t | production_rate [INDUSTRY_NUM_OUTPUTS] |
uint8_t | minimal_cargo |
minimum amount of cargo transported to the stations. | |
std::array< CargoID, INDUSTRY_NUM_INPUTS > | accepts_cargo |
16 accepted cargoes. | |
uint16_t | input_cargo_multiplier [INDUSTRY_NUM_INPUTS][INDUSTRY_NUM_OUTPUTS] |
Input cargo multipliers (multiply amount of incoming cargo for the produced cargoes) | |
IndustryLifeType | life_type |
This is also known as Industry production flag, in newgrf specs. | |
uint8_t | climate_availability |
Bitmask, giving landscape enums as bit position. | |
IndustryBehaviour | behaviour |
How this industry will behave, and how others entities can use it. | |
uint8_t | map_colour |
colour used for the small map | |
StringID | name |
Displayed name of the industry. | |
StringID | new_industry_text |
Message appearing when the industry is built. | |
StringID | closure_text |
Message appearing when the industry closes. | |
StringID | production_up_text |
Message appearing when the industry's production is increasing. | |
StringID | production_down_text |
Message appearing when the industry's production is decreasing. | |
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. | |
uint16_t | callback_mask |
Bitmask of industry callbacks that have to be called. | |
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;. | |
std::array< std::variant< CargoLabel, MixedCargoType >, INDUSTRY_ORIGINAL_NUM_OUTPUTS > | produced_cargo_label |
Cargo labels of produced cargo for default industries. | |
std::array< std::variant< CargoLabel, MixedCargoType >, INDUSTRY_ORIGINAL_NUM_INPUTS > | accepts_cargo_label |
Cargo labels of accepted cargo for default industries. | |
Defines the data structure for constructing industry.
Definition at line 101 of file industrytype.h.
Money IndustrySpec::GetConstructionCost | ( | ) | const |
Get the cost for constructing this industry.
Definition at line 3128 of file industry_cmd.cpp.
References _settings_game, GameSettings::construction, cost_multiplier, and ConstructionSettings::raw_industry_construction.
Referenced by CmdBuildIndustry().
Money IndustrySpec::GetRemovalCost | ( | ) | const |
Get the cost for removing this industry Take note that the cost will always be zero for non-grf industries.
Only if the grf author did specified a cost will it be applicable.
Definition at line 3141 of file industry_cmd.cpp.
References removal_cost_multiplier.
bool IndustrySpec::IsProcessingIndustry | ( | ) | const |
Is an industry with the spec a processing industry?
Definition at line 3117 of file industry_cmd.cpp.
References behaviour, INDUSTRYBEH_CUT_TREES, INDUSTRYLIFE_PROCESSING, and life_type.
bool IndustrySpec::IsRawIndustry | ( | ) | const |
Is an industry with the spec a raw industry?
Definition at line 3108 of file industry_cmd.cpp.
References INDUSTRYLIFE_EXTRACTIVE, INDUSTRYLIFE_ORGANIC, and life_type.
Referenced by CmdBuildIndustry().
bool IndustrySpec::UsesOriginalEconomy | ( | ) | const |
Determines whether this industrytype uses standard/newgrf production changes.
Definition at line 3150 of file industry_cmd.cpp.
References _settings_game, callback_mask, CBM_IND_MONTHLYPROD_CHANGE, CBM_IND_PROD_CHANGE_BUILD, CBM_IND_PRODUCTION_256_TICKS, CBM_IND_PRODUCTION_CARGO_ARRIVAL, CBM_IND_PRODUCTION_CHANGE, GameSettings::economy, HasBit(), and EconomySettings::type.
Referenced by ChangeIndustryProduction(), DoCreateNewIndustry(), and Industry::RecomputeProductionMultipliers().
std::array<CargoID, INDUSTRY_NUM_INPUTS> IndustrySpec::accepts_cargo |
16 accepted cargoes.
Definition at line 115 of file industrytype.h.
Referenced by AfterLoadGame(), CargoesRow::ConnectIndustryAccepted(), DoCreateNewIndustry(), BuildIndustryWindow::DrawWidget(), FinaliseIndustriesArray(), and BuildIndustryWindow::UpdateWidgetSize().
std::array<std::variant<CargoLabel, MixedCargoType>, INDUSTRY_ORIGINAL_NUM_INPUTS> IndustrySpec::accepts_cargo_label |
Cargo labels of accepted cargo for default industries.
Definition at line 136 of file industrytype.h.
Referenced by FinaliseIndustriesArray().
uint8_t IndustrySpec::appear_creation[NUM_LANDSCAPE] |
Probability of appearance during map creation.
Definition at line 128 of file industrytype.h.
Referenced by GetScaledIndustryGenerationProbability().
uint8_t IndustrySpec::appear_ingame[NUM_LANDSCAPE] |
Probability of appearance in game.
Definition at line 127 of file industrytype.h.
Referenced by GetIndustryGamePlayProbability().
IndustryBehaviour IndustrySpec::behaviour |
How this industry will behave, and how others entities can use it.
Definition at line 119 of file industrytype.h.
Referenced by AfterLoadGame(), ChangeIndustryProduction(), CheckIfIndustryTilesAreFree(), CheckIndustryCloseDownProtection(), Disaster_CoalMine_Init(), Disaster_Helicopter_Init(), DoCreateNewIndustry(), GetAllCargoSuffixes(), GetCargoSuffix(), GetIndustryGamePlayProbability(), GetScaledIndustryGenerationProbability(), IndustriesScopeResolver::GetVariable(), IndustryProductionCallback(), and IsProcessingIndustry().
uint16_t IndustrySpec::callback_mask |
Bitmask of industry callbacks that have to be called.
Definition at line 130 of file industrytype.h.
Referenced by ChangeIndustryProduction(), DoCreateNewIndustry(), GetCargoSuffix(), GetIndustryProbabilityCallback(), IndustriesScopeResolver::GetVariable(), IndustryTemporarilyRefusesCargo(), TriggerIndustryProduction(), and UsesOriginalEconomy().
uint8_t IndustrySpec::check_proc |
Index to a procedure to check for conflicting circumstances.
Definition at line 107 of file industrytype.h.
Referenced by CreateNewIndustryHelper(), and GetScaledIndustryGenerationProbability().
uint8_t IndustrySpec::climate_availability |
Bitmask, giving landscape enums as bit position.
Definition at line 118 of file industrytype.h.
StringID IndustrySpec::closure_text |
Message appearing when the industry closes.
Definition at line 123 of file industrytype.h.
Referenced by ChangeIndustryProduction(), and FinaliseIndustriesArray().
IndustryType IndustrySpec::conflicting[3] |
Industries this industry cannot be close to.
Definition at line 106 of file industrytype.h.
Referenced by CheckIfFarEnoughFromConflictingIndustry(), and FinaliseIndustriesArray().
uint8_t IndustrySpec::cost_multiplier |
Base construction cost multiplier.
Definition at line 103 of file industrytype.h.
Referenced by GetConstructionCost().
bool IndustrySpec::enabled |
entity still available (by default true).newgrf can disable it, though
Definition at line 131 of file industrytype.h.
Referenced by IndustryOverrideManager::AddEntityID(), BuildIndustriesLegend(), CcBuildIndustry(), CmdBuildIndustry(), FinaliseIndustriesArray(), GenerateStationName(), GetIndustryGamePlayProbability(), GetScaledIndustryGenerationProbability(), IndustriesChangeInfo(), IndustryOverrideManager::SetEntitySpec(), and ShowIndustryCargoesWindow().
GRFFileProps IndustrySpec::grf_prop |
properties related to the grf file
Definition at line 132 of file industrytype.h.
Referenced by IndustryOverrideManager::AddEntityID(), ChangeIndustryProduction(), CheckIfCallBackAllowsCreation(), DoCreateNewIndustry(), FinaliseIndustriesArray(), GetAiPurchaseCallbackResult(), GetAllCargoSuffixes(), GetCargoSuffix(), GetCargoSuffix(), GetCountAndDistanceOfClosestInstance(), IndustriesResolverObject::GetDebugID(), GetGrffile(), NIHIndustry::GetGRFID(), GetIndustryProbabilityCallback(), IndustriesScopeResolver::GetVariable(), IndustriesResolverObject::IndustriesResolverObject(), IndustryProductionCallback(), IndustryTemporarilyRefusesCargo(), NIHIndustry::IsInspectable(), IndustryOverrideManager::SetEntitySpec(), and IndustriesScopeResolver::StorePSA().
uint16_t IndustrySpec::input_cargo_multiplier[INDUSTRY_NUM_INPUTS][INDUSTRY_NUM_OUTPUTS] |
Input cargo multipliers (multiply amount of incoming cargo for the produced cargoes)
Definition at line 116 of file industrytype.h.
Referenced by TriggerIndustryProduction().
std::vector<IndustryTileLayout> IndustrySpec::layouts |
List of possible tile layouts for the industry.
Definition at line 102 of file industrytype.h.
Referenced by CmdBuildIndustry(), CreateNewIndustry(), CreateNewIndustryHelper(), GetIndustryGamePlayProbability(), and GetScaledIndustryGenerationProbability().
IndustryLifeType IndustrySpec::life_type |
This is also known as Industry production flag, in newgrf specs.
Definition at line 117 of file industrytype.h.
Referenced by ChangeIndustryProduction(), CMSAMine(), IsProcessingIndustry(), IsRawIndustry(), and IsTileForestIndustry().
uint8_t IndustrySpec::map_colour |
colour used for the small map
Definition at line 120 of file industrytype.h.
Referenced by BuildIndustriesLegend(), CargoesField::Draw(), and SmallMapWindow::GetTileColours().
uint8_t IndustrySpec::minimal_cargo |
minimum amount of cargo transported to the stations.
If the waiting cargo is less than this number, no cargo is moved to it.
Definition at line 114 of file industrytype.h.
Referenced by TransportIndustryGoods().
StringID IndustrySpec::name |
Displayed name of the industry.
Definition at line 121 of file industrytype.h.
Referenced by AdvertiseIndustryOpening(), BuildIndustriesLegend(), CcBuildIndustry(), ChangeIndustryProduction(), CheckIndustries(), CmdIndustrySetProduction(), CargoesField::Draw(), FinaliseIndustriesArray(), FormatString(), and IndustryProductionCallback().
StringID IndustrySpec::new_industry_text |
Message appearing when the industry is built.
Definition at line 122 of file industrytype.h.
Referenced by AdvertiseIndustryOpening(), and FinaliseIndustriesArray().
std::array<CargoID, INDUSTRY_NUM_OUTPUTS> IndustrySpec::produced_cargo |
Definition at line 108 of file industrytype.h.
std::array<std::variant<CargoLabel, MixedCargoType>, INDUSTRY_ORIGINAL_NUM_OUTPUTS> IndustrySpec::produced_cargo_label |
Cargo labels of produced cargo for default industries.
Definition at line 135 of file industrytype.h.
Referenced by FinaliseIndustriesArray().
StringID IndustrySpec::production_down_text |
Message appearing when the industry's production is decreasing.
Definition at line 125 of file industrytype.h.
Referenced by ChangeIndustryProduction(), CmdIndustrySetProduction(), and FinaliseIndustriesArray().
uint8_t IndustrySpec::production_rate[INDUSTRY_NUM_OUTPUTS] |
Definition at line 109 of file industrytype.h.
StringID IndustrySpec::production_up_text |
Message appearing when the industry's production is increasing.
Definition at line 124 of file industrytype.h.
Referenced by ChangeIndustryProduction(), CmdIndustrySetProduction(), and FinaliseIndustriesArray().
uint32_t IndustrySpec::prospecting_chance |
Chance prospecting succeeds.
Definition at line 105 of file industrytype.h.
Referenced by CmdBuildIndustry().
std::vector<uint8_t> IndustrySpec::random_sounds |
Random sounds;.
Definition at line 133 of file industrytype.h.
uint32_t IndustrySpec::removal_cost_multiplier |
Base removal cost multiplier.
Definition at line 104 of file industrytype.h.
Referenced by GetRemovalCost().
StringID IndustrySpec::station_name |
Default name for nearby station.
Definition at line 126 of file industrytype.h.
Referenced by FinaliseIndustriesArray(), FormatString(), and GenerateStationName().