OpenTTD Source 20241224-master-gf74b0cf984
IndustrySpec Struct Reference

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< IndustryTileLayoutlayouts
 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_OUTPUTSproduced_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_INPUTSaccepts_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_OUTPUTSproduced_cargo_label
 Cargo labels of produced cargo for default industries.
 
std::array< std::variant< CargoLabel, MixedCargoType >, INDUSTRY_ORIGINAL_NUM_INPUTSaccepts_cargo_label
 Cargo labels of accepted cargo for default industries.
 

Detailed Description

Defines the data structure for constructing industry.

Definition at line 101 of file industrytype.h.

Member Function Documentation

◆ GetConstructionCost()

Money IndustrySpec::GetConstructionCost ( ) const

Get the cost for constructing this industry.

Returns
the cost (inflation corrected etc)

Definition at line 3128 of file industry_cmd.cpp.

References _settings_game, GameSettings::construction, cost_multiplier, and ConstructionSettings::raw_industry_construction.

Referenced by CmdBuildIndustry().

◆ GetRemovalCost()

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.

Returns
the cost (inflation corrected etc)

Definition at line 3141 of file industry_cmd.cpp.

References removal_cost_multiplier.

◆ IsProcessingIndustry()

bool IndustrySpec::IsProcessingIndustry ( ) const

Is an industry with the spec a processing industry?

Returns
true if it should be handled as a processing industry

Definition at line 3117 of file industry_cmd.cpp.

References behaviour, INDUSTRYBEH_CUT_TREES, INDUSTRYLIFE_PROCESSING, and life_type.

◆ IsRawIndustry()

bool IndustrySpec::IsRawIndustry ( ) const

Is an industry with the spec a raw industry?

Returns
true if it should be handled as a raw industry

Definition at line 3108 of file industry_cmd.cpp.

References INDUSTRYLIFE_EXTRACTIVE, INDUSTRYLIFE_ORGANIC, and life_type.

Referenced by CmdBuildIndustry().

◆ UsesOriginalEconomy()

bool IndustrySpec::UsesOriginalEconomy ( ) const

Field Documentation

◆ accepts_cargo

◆ accepts_cargo_label

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().

◆ appear_creation

uint8_t IndustrySpec::appear_creation[NUM_LANDSCAPE]

Probability of appearance during map creation.

Definition at line 128 of file industrytype.h.

Referenced by GetScaledIndustryGenerationProbability().

◆ appear_ingame

uint8_t IndustrySpec::appear_ingame[NUM_LANDSCAPE]

Probability of appearance in game.

Definition at line 127 of file industrytype.h.

Referenced by GetIndustryGamePlayProbability().

◆ behaviour

◆ callback_mask

uint16_t IndustrySpec::callback_mask

◆ check_proc

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().

◆ climate_availability

uint8_t IndustrySpec::climate_availability

Bitmask, giving landscape enums as bit position.

Definition at line 118 of file industrytype.h.

◆ closure_text

StringID IndustrySpec::closure_text

Message appearing when the industry closes.

Definition at line 123 of file industrytype.h.

Referenced by ChangeIndustryProduction(), and FinaliseIndustriesArray().

◆ conflicting

IndustryType IndustrySpec::conflicting[3]

Industries this industry cannot be close to.

Definition at line 106 of file industrytype.h.

Referenced by CheckIfFarEnoughFromConflictingIndustry(), and FinaliseIndustriesArray().

◆ cost_multiplier

uint8_t IndustrySpec::cost_multiplier

Base construction cost multiplier.

Definition at line 103 of file industrytype.h.

Referenced by GetConstructionCost().

◆ enabled

◆ grf_prop

◆ input_cargo_multiplier

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().

◆ layouts

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().

◆ life_type

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().

◆ map_colour

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().

◆ minimal_cargo

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().

◆ name

◆ new_industry_text

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().

◆ produced_cargo

std::array<CargoID, INDUSTRY_NUM_OUTPUTS> IndustrySpec::produced_cargo

Definition at line 108 of file industrytype.h.

◆ produced_cargo_label

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().

◆ production_down_text

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().

◆ production_rate

uint8_t IndustrySpec::production_rate[INDUSTRY_NUM_OUTPUTS]

Definition at line 109 of file industrytype.h.

◆ production_up_text

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().

◆ prospecting_chance

uint32_t IndustrySpec::prospecting_chance

Chance prospecting succeeds.

Definition at line 105 of file industrytype.h.

Referenced by CmdBuildIndustry().

◆ random_sounds

std::vector<uint8_t> IndustrySpec::random_sounds

Random sounds;.

Definition at line 133 of file industrytype.h.

◆ removal_cost_multiplier

uint32_t IndustrySpec::removal_cost_multiplier

Base removal cost multiplier.

Definition at line 104 of file industrytype.h.

Referenced by GetRemovalCost().

◆ station_name

StringID IndustrySpec::station_name

Default name for nearby station.

Definition at line 126 of file industrytype.h.

Referenced by FinaliseIndustriesArray(), FormatString(), and GenerateStationName().


The documentation for this struct was generated from the following files: