OpenTTD Source: Industry Struct Reference

OpenTTD Source 15.3

Data Structures | Public Types | Public Member Functions | Static Public Member Functions | Data Fields | Static Public Attributes | Private Member Functions
Industry Struct Reference

Defines the internal data of a functional industry. More...

`#include <industry.h>`

Inheritance diagram for Industry:

## Data Structures
struct | AcceptedCargo
struct | AcceptedHistory
struct | ProducedCargo
struct | ProducedHistory

## Public Types
using | ProducedCargoes = std::vector< ProducedCargo >
using | AcceptedCargoes = std::vector< AcceptedCargo >
Public Types inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_industry_pool >
typedef struct Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache > | Pool
| Type of the pool this item is going to be part of.

## Public Member Functions
| Industry (TileIndex tile=INVALID_TILE)
void | RecomputeProductionMultipliers ()
| Recompute #production_rate for current prod_level.
bool | TileBelongsToIndustry (TileIndex tile) const
| Check if a given tile belongs to this industry.
const ProducedCargo & | GetProduced (size_t slot) const
| Safely get a produced cargo slot, or an empty data if the slot does not exist.
const AcceptedCargo & | GetAccepted (size_t slot) const
| Safely get an accepted cargo slot, or an empty data if the slot does not exist.
ProducedCargoes::iterator | GetCargoProduced (CargoType cargo)
| Get produced cargo slot for a specific cargo type.
ProducedCargoes::const_iterator | GetCargoProduced (CargoType cargo) const
| Get produced cargo slot for a specific cargo type (const-variant).
AcceptedCargoes::iterator | GetCargoAccepted (CargoType cargo)
| Get accepted cargo slot for a specific cargo type.
AcceptedCargoes::const_iterator | GetCargoAccepted (CargoType cargo) const
| Get accepted cargo slot for a specific cargo type (const-variant).
bool | IsCargoAccepted () const
| Test if this industry accepts any cargo.
bool | IsCargoProduced () const
| Test if this industry produces any cargo.
bool | IsCargoAccepted (CargoType cargo) const
| Test if this industry accepts a specific cargo.
bool | IsCargoProduced (CargoType cargo) const
| Test if this industry produces a specific cargo.
const std::string & | GetCachedName () const
Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_industry_pool >
void * | operator new (size_t size)
| Allocates space for new Titem.
void * | operator new (size_t size, Tindex index)
| Allocates space for new Titem with given index.
void * | operator new (size_t, void *ptr)
| Allocates space for new Titem at given memory address.
void | operator delete (void *p, size_t size)
| Marks Titem as free.

## Static Public Member Functions
static Industry * | GetByTile (TileIndex tile)
| Get the industry of the given tile.
static Industry * | GetRandom ()
| Return a random valid industry.
static void | PostDestructor (size_t index)
| Invalidating some stuff after removing item from the pool.
static uint16_t | GetIndustryTypeCount (IndustryType type)
| Get the count of industries for this type.
Static Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_industry_pool >
static bool | CanAllocateItem (size_t n=1)
| Helper functions so we can use PoolItem::Function() instead of _poolitem_pool.Function()
static bool | CleaningPool ()
| Returns current state of pool cleaning - yes or no.
static bool | IsValidID (auto index)
| Tests whether given index can be used to get valid (non-nullptr) Titem.
static Titem * | Get (auto index)
| Returns Titem with given index.
static Titem * | GetIfValid (auto index)
| Returns Titem with given index.
static size_t | GetPoolSize ()
| Returns first unused index.
static size_t | GetNumItems ()
| Returns number of valid items in the pool.
static void | PostDestructor (size_t index)
| Dummy function called after destructor of each member.
static Pool::IterateWrapper< Titem > | Iterate (size_t from=0)
| Returns an iterable ensemble of all valid Titem.

## Data Fields
TileArea | location {INVALID_TILE, 0, 0}
| Location of the industry.
Town * | town = nullptr
| Nearest town.
Station * | neutral_station = nullptr
| Associated neutral station.
ValidHistoryMask | valid_history = 0
| Mask of valid history records.
ProducedCargoes | produced {}
| produced cargo slots
AcceptedCargoes | accepted {}
| accepted cargo slots
uint8_t | prod_level = 0
| general production level
uint16_t | counter = 0
| used for animation and/or production (if available cargo)
IndustryType | type = 0
| type of industry.
Owner | owner = INVALID_OWNER
| owner of the industry. Which SHOULD always be (imho) OWNER_NONE
Colours | random_colour = COLOUR_BEGIN
| randomized colour of the industry, for display purpose
TimerGameEconomy::Year | last_prod_year {}
| last economy year of production
uint8_t | was_cargo_delivered = 0
| flag that indicate this has been the closest industry chosen for cargo delivery by a station. see DeliverGoodsToIndustry
IndustryControlFlags | ctlflags {}
| flags overriding standard behaviours
PartsOfSubsidy | part_of_subsidy {}
| NOSAVE: is this industry a source/destination of a subsidy?
StationList | stations_near {}
| NOSAVE: List of nearby stations.
std::string | cached_name {}
| NOSAVE: Cache of the resolved name of the industry.
Owner | founder = INVALID_OWNER
| Founder of the industry.
TimerGameCalendar::Date | construction_date {}
| Date of the construction of the industry.
uint8_t | construction_type = 0
| Way the industry was constructed (.
uint8_t | selected_layout = 0
| Which tile layout was used when creating the industry.
Owner | exclusive_supplier = INVALID_OWNER
| Which company has exclusive rights to deliver cargo (INVALID_OWNER = anyone)
Owner | exclusive_consumer = INVALID_OWNER
| Which company has exclusive rights to take cargo (INVALID_OWNER = anyone)
EncodedString | text {}
| General text with additional information.
uint16_t | random = 0
| Random value used for randomisation of all kinds of things.
PersistentStorage * | psa = nullptr
| Persistent storage for NewGRF industries.
Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_industry_pool >
Tindex | index
| Index of this pool item.

## Static Public Attributes
static std::array< FlatSet< IndustryID >, NUM_INDUSTRYTYPES > | industries
| List of industries of each type.

## Private Member Functions
void | FillCachedName () const

## Detailed Description

Defines the internal data of a functional industry.

Definition at line 62 of file industry.h.

## Member Typedef Documentation

## ◆ AcceptedCargoes

using Industry::AcceptedCargoes = std::vector<AcceptedCargo>

Definition at line 104 of file industry.h.

## ◆ ProducedCargoes

using Industry::ProducedCargoes = std::vector<ProducedCargo>

Definition at line 103 of file industry.h.

## Constructor & Destructor Documentation

## ◆ Industry()

Industry::Industry | ( | TileIndex | tile = `INVALID_TILE` | ) |
| inline

Definition at line 138 of file industry.h.

## ◆ ~Industry()

Industry::~Industry | ( |  | ) |

Definition at line 146 of file industry_cmd.cpp.

## Member Function Documentation

## ◆ FillCachedName()

void Industry::FillCachedName | ( |  | ) | const
| private

Definition at line 2603 of file industry_cmd.cpp.

## ◆ GetAccepted()

const AcceptedCargo & Industry::GetAccepted | ( | size_t | slot | ) | const
| inline

Safely get an accepted cargo slot, or an empty data if the slot does not exist.

Parameters

  slot | accepted cargo slot to retrieve.

Returns
  the real slot, or an empty slot.

Definition at line 169 of file industry.h.

References accepted.

Referenced by IndustriesScopeResolver::GetVariable().

## ◆ GetByTile()

static Industry * Industry::GetByTile | ( | TileIndex | tile | ) |
| inlinestatic

Get the industry of the given tile.

Parameters

  tile | the tile to get the industry from

Precondition
  IsTileType(t, MP_INDUSTRY)

Returns
  the industry

Definition at line 251 of file industry.h.

References Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_industry_pool >::Get(), and GetIndustryIndex().

Referenced by AfterLoadGame(), CheckForDockingTile(), CmdDeleteTown(), CMSAMine(), GetAcceptanceAroundTiles(), GetIndustryType(), GetOrderCmdFromTile(), SmallMapWindow::GetTileColours(), IndustryTileScopeResolver::GetVariable(), IsShipDestinationTile(), IsTileForestIndustry(), Station::RecomputeCatchment(), NIHIndustryTile::Resolve(), TransportIndustryGoods(), and TriggerIndustryTileRandomisation().

## ◆ GetCachedName()

const std::string & Industry::GetCachedName | ( |  | ) | const
| inline

Definition at line 270 of file industry.h.

## ◆ GetCargoAccepted() [1/2]

AcceptedCargoes::iterator Industry::GetCargoAccepted | ( | CargoType | cargo | ) |
| inline

Get accepted cargo slot for a specific cargo type.

Parameters

  cargo | CargoType to find.

Returns
  Iterator pointing to accepted cargo slot if it exists, or the end iterator.

Definition at line 202 of file industry.h.

References accepted, Industry::AcceptedCargo::cargo, and IsValidCargoType().

Referenced by DeliverGoodsToIndustry(), IndustriesScopeResolver::GetVariable(), and IndustryProductionCallback().

## ◆ GetCargoAccepted() [2/2]

AcceptedCargoes::const_iterator Industry::GetCargoAccepted | ( | CargoType | cargo | ) | const
| inline

Get accepted cargo slot for a specific cargo type (const-variant).

Parameters

  cargo | CargoType to find.

Returns
  Iterator pointing to accepted cargo slot if it exists, or the end iterator.

Definition at line 213 of file industry.h.

References accepted, Industry::AcceptedCargo::cargo, and IsValidCargoType().

## ◆ GetCargoProduced() [1/2]

ProducedCargoes::iterator Industry::GetCargoProduced | ( | CargoType | cargo | ) |
| inline

Get produced cargo slot for a specific cargo type.

Parameters

  cargo | CargoType to find.

Returns
  Iterator pointing to produced cargo slot if it exists, or the end iterator.

Definition at line 180 of file industry.h.

References Industry::ProducedCargo::cargo, IsValidCargoType(), and produced.

Referenced by IndustriesScopeResolver::GetVariable(), IndustryProductionCallback(), and IndustryDirectoryWindow::IndustryProductionSorter().

## ◆ GetCargoProduced() [2/2]

ProducedCargoes::const_iterator Industry::GetCargoProduced | ( | CargoType | cargo | ) | const
| inline

Get produced cargo slot for a specific cargo type (const-variant).

Parameters

  cargo | CargoType to find.

Returns
  Iterator pointing to produced cargo slot if it exists, or the end iterator.

Definition at line 191 of file industry.h.

References Industry::ProducedCargo::cargo, IsValidCargoType(), and produced.

## ◆ GetIndustryTypeCount()

static uint16_t Industry::GetIndustryTypeCount | ( | IndustryType | type | ) |
| inlinestatic

Get the count of industries for this type.

Parameters

  type | IndustryType to query

Precondition
  type < NUM_INDUSTRYTYPES

Definition at line 264 of file industry.h.

References industries, NUM_INDUSTRYTYPES, and type.

Referenced by CheckIndustries(), CheckIndustryCloseDownProtection(), BuildIndustryWindow::DrawWidget(), SmallMapWindow::DrawWidget(), GetCountAndDistanceOfClosestInstance(), and IndustryBuildData::TryBuildNewIndustry().

## ◆ GetProduced()

const ProducedCargo & Industry::GetProduced | ( | size_t | slot | ) | const
| inline

Safely get a produced cargo slot, or an empty data if the slot does not exist.

Parameters

  slot | produced cargo slot to retrieve.

Returns
  the real slot, or an empty slot.

Definition at line 158 of file industry.h.

References produced.

Referenced by ChangeIndustryProduction(), and IndustriesScopeResolver::GetVariable().

## ◆ GetRandom()

Industry * Industry::GetRandom | ( |  | ) |
| static

Return a random valid industry.

Returns
  random industry, nullptr if there are no industries

Definition at line 227 of file industry_cmd.cpp.

References Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_industry_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_industry_pool >::GetNumItems(), Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_industry_pool >::GetPoolSize(), Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_industry_pool >::index, Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_industry_pool >::IsValidID(), and RandomRange().

Referenced by FindSubsidyCargoDestination(), and FindSubsidyIndustryCargoRoute().

## ◆ IsCargoAccepted() [1/2]

bool Industry::IsCargoAccepted | ( |  | ) | const
| inline

Test if this industry accepts any cargo.

Returns
  true iff the industry accepts any cargo.

Definition at line 223 of file industry.h.

References accepted, and IsValidCargoType().

Referenced by Station::AddIndustryToDeliver(), CanCargoServiceIndustry(), FindSubsidyCargoDestination(), and IndustryTemporarilyRefusesCargo().

## ◆ IsCargoAccepted() [2/2]

bool Industry::IsCargoAccepted | ( | CargoType | cargo | ) | const
| inline

Test if this industry accepts a specific cargo.

Parameters

  cargo | Cargo type to test.

Returns
  true iff the industry accepts the given cargo type.

Definition at line 236 of file industry.h.

References accepted.

## ◆ IsCargoProduced() [1/2]

bool Industry::IsCargoProduced | ( |  | ) | const
| inline

Test if this industry produces any cargo.

Returns
  true iff the industry produces any cargo.

Definition at line 229 of file industry.h.

References IsValidCargoType(), and produced.

Referenced by CanCargoServiceIndustry().

## ◆ IsCargoProduced() [2/2]

bool Industry::IsCargoProduced | ( | CargoType | cargo | ) | const
| inline

Test if this industry produces a specific cargo.

Parameters

  cargo | Cargo type to test.

Returns
  true iff the industry produces the given cargo types.

Definition at line 243 of file industry.h.

References produced.

## ◆ PostDestructor()

void Industry::PostDestructor | ( | size_t | index | ) |
| static

Invalidating some stuff after removing item from the pool.

Parameters

  index | index of deleted item

Definition at line 216 of file industry_cmd.cpp.

References InvalidateWindowData(), SetWindowDirty(), WC_BUILD_INDUSTRY, and WC_INDUSTRY_DIRECTORY.

## ◆ RecomputeProductionMultipliers()

void Industry::RecomputeProductionMultipliers | ( |  | ) |

Recompute #production_rate for current prod_level.

This function is only valid when not using smooth economy.

Definition at line 2592 of file industry_cmd.cpp.

References CeilDiv(), GetIndustrySpec(), PRODLEVEL_DEFAULT, produced, and IndustrySpec::UsesOriginalEconomy().

Referenced by ChangeIndustryProduction(), CmdIndustrySetProduction(), and DoCreateNewIndustry().

## ◆ TileBelongsToIndustry()

bool Industry::TileBelongsToIndustry | ( | TileIndex | tile | ) | const
| inline

Check if a given tile belongs to this industry.

Parameters

  tile | The tile to check.

Returns
  True if the tile is part of this industry.

Definition at line 148 of file industry.h.

References GetIndustryIndex(), Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_industry_pool >::index, IsTileType(), and MP_INDUSTRY.

Referenced by ChopLumberMillTrees(), DoCreateNewIndustry(), GetIndustryIDAtOffset(), IndustriesScopeResolver::GetVariable(), and TriggerIndustryRandomisation().

## Field Documentation

## ◆ accepted

AcceptedCargoes Industry::accepted {}

accepted cargo slots

Definition at line 111 of file industry.h.

Referenced by DeliverGoodsToIndustry(), DoCreateNewIndustry(), IndustryViewWindow::DrawInfo(), GetAccepted(), GetCargoAccepted(), GetCargoAccepted(), IndustriesScopeResolver::GetVariable(), SlIndustryAccepted::GetVector(), IndustryProductionCallback(), IsCargoAccepted(), IsCargoAccepted(), TriggerIndustryProduction(), TrimIndustryAcceptedProduced(), and UpdateIndustryStatistics().

## ◆ cached_name

std::string Industry::cached_name {}
| mutable

NOSAVE: Cache of the resolved name of the industry.

Definition at line 124 of file industry.h.

## ◆ construction_date

TimerGameCalendar::Date Industry::construction_date {}

Date of the construction of the industry.

Definition at line 127 of file industry.h.

Referenced by DoCreateNewIndustry(), and IndustriesScopeResolver::GetVariable().

## ◆ construction_type

uint8_t Industry::construction_type = 0

Way the industry was constructed (.

See also
  IndustryConstructionType)

Definition at line 128 of file industry.h.

Referenced by DoCreateNewIndustry(), and IndustriesScopeResolver::GetVariable().

## ◆ counter

uint16_t Industry::counter = 0

used for animation and/or production (if available cargo)

Definition at line 113 of file industry.h.

Referenced by DoCreateNewIndustry(), and IndustriesScopeResolver::GetVariable().

## ◆ ctlflags

IndustryControlFlags Industry::ctlflags {}

flags overriding standard behaviours

Definition at line 120 of file industry.h.

Referenced by ChangeIndustryProduction(), CmdIndustrySetFlags(), CmdIndustrySetProduction(), DoCreateNewIndustry(), and IndustriesScopeResolver::GetVariable().

## ◆ exclusive_consumer

Owner Industry::exclusive_consumer = INVALID_OWNER

Which company has exclusive rights to take cargo (INVALID_OWNER = anyone)

Definition at line 131 of file industry.h.

Referenced by CmdIndustrySetExclusivity(), DoCreateNewIndustry(), and TransportIndustryGoods().

## ◆ exclusive_supplier

Owner Industry::exclusive_supplier = INVALID_OWNER

Which company has exclusive rights to deliver cargo (INVALID_OWNER = anyone)

Definition at line 130 of file industry.h.

Referenced by CmdIndustrySetExclusivity(), DeliverGoodsToIndustry(), and DoCreateNewIndustry().

## ◆ founder

Owner Industry::founder = INVALID_OWNER

Founder of the industry.

Definition at line 126 of file industry.h.

Referenced by CheckIfCallBackAllowsCreation(), DoCreateNewIndustry(), IndustriesScopeResolver::GetVariable(), and PerformIndustryTileSlopeCheck().

## ◆ industries

std::array< FlatSet< IndustryID >, NUM_INDUSTRYTYPES > Industry::industries
| static

List of industries of each type.

Definition at line 276 of file industry.h.

Referenced by CheckIfFarEnoughFromConflictingIndustry(), DoCreateNewIndustry(), FindTownForIndustry(), GetCountAndDistanceOfClosestInstance(), GetCurrentTotalNumberOfIndustries(), GetIndustryTypeCount(), and INDYChunkHandler::Load().

## ◆ last_prod_year

TimerGameEconomy::Year Industry::last_prod_year {}

last economy year of production

Definition at line 118 of file industry.h.

Referenced by ChangeIndustryProduction(), DoCreateNewIndustry(), IndustriesScopeResolver::GetVariable(), and UpdateIndustryStatistics().

## ◆ location

TileArea Industry::location {INVALID_TILE, 0, 0}

Location of the industry.

Definition at line 106 of file industry.h.

Referenced by ChangeIndustryProduction(), CheckIfCallBackAllowsCreation(), ChopLumberMillTrees(), Disaster_CoalMine_Init(), Disaster_Helicopter_Init(), DisasterTick_Aircraft(), DoCreateNewIndustry(), IndustryViewWindow::DrawInfo(), GetCargoSuffix(), GetCountAndDistanceOfClosestInstance(), IndustriesScopeResolver::GetVariable(), IndustryTileScopeResolver::GetVariable(), IndustryProductionCallback(), IndustryTemporarilyRefusesCargo(), IndustryViewWindow::OnClick(), PerformIndustryTileSlopeCheck(), PopulateStationsNearby(), Station::RecomputeCatchment(), NIHIndustry::Resolve(), and TriggerIndustryRandomisation().

## ◆ neutral_station

Station* Industry::neutral_station = nullptr

Associated neutral station.

Definition at line 108 of file industry.h.

Referenced by CheckForDockingTile(), GetAcceptanceAroundTiles(), GetOrderCmdFromTile(), GetProductionAroundTiles(), IsShipDestinationTile(), PopulateStationsNearby(), and Station::RecomputeCatchment().

## ◆ owner

Owner Industry::owner = INVALID_OWNER

owner of the industry. Which SHOULD always be (imho) OWNER_NONE

Definition at line 116 of file industry.h.

Referenced by DoCreateNewIndustry().

## ◆ part_of_subsidy

PartsOfSubsidy Industry::part_of_subsidy {}

NOSAVE: is this industry a source/destination of a subsidy?

Definition at line 122 of file industry.h.

## ◆ prod_level

uint8_t Industry::prod_level = 0

general production level

Definition at line 112 of file industry.h.

Referenced by ChangeIndustryProduction(), CmdIndustrySetProduction(), DoCreateNewIndustry(), IndustryViewWindow::DrawInfo(), IndustriesScopeResolver::GetVariable(), IndustryProductionCallback(), IndustryViewWindow::OnClick(), and IndustryViewWindow::OnQueryTextFinished().

## ◆ produced

ProducedCargoes Industry::produced {}

produced cargo slots

Definition at line 110 of file industry.h.

Referenced by ChangeIndustryProduction(), ChopLumberMillTrees(), CMSAMine(), DoCreateNewIndustry(), IndustryViewWindow::DrawInfo(), FindSubsidyIndustryCargoRoute(), GetCargoProduced(), GetCargoProduced(), IndustryDirectoryWindow::GetCargoTransportedSortValue(), IndustryDirectoryWindow::GetIndustryString(), GetProduced(), GetProductionAroundTiles(), IndustriesScopeResolver::GetVariable(), SlIndustryProduced::GetVector(), IndustryProductionCallback(), IndustryDirectoryWindow::IndustryProductionSorter(), IsCargoProduced(), IsCargoProduced(), IsTileForestIndustry(), INDYChunkHandler::Load(), IndustryViewWindow::OnClick(), IndustryViewWindow::OnQueryTextFinished(), ProduceIndustryGoodsHelper(), RecomputeProductionMultipliers(), TransportIndustryGoods(), TriggerIndustryProduction(), TrimIndustryAcceptedProduced(), and UpdateIndustryStatistics().

## ◆ psa

PersistentStorage* Industry::psa = nullptr

Persistent storage for NewGRF industries.

Definition at line 136 of file industry.h.

Referenced by CheckIfCallBackAllowsCreation(), NIHIndustry::GetPSA(), IndustriesScopeResolver::GetVariable(), INDYChunkHandler::Load(), and IndustriesScopeResolver::StorePSA().

## ◆ random

uint16_t Industry::random = 0

Random value used for randomisation of all kinds of things.

Definition at line 134 of file industry.h.

Referenced by CheckIfCallBackAllowsCreation(), DoCreateNewIndustry(), DoReseedIndustry(), IndustriesScopeResolver::GetRandomBits(), and PerformIndustryTileSlopeCheck().

## ◆ random_colour

Colours Industry::random_colour = COLOUR_BEGIN

randomized colour of the industry, for display purpose

Definition at line 117 of file industry.h.

Referenced by DoCreateNewIndustry(), and IndustriesScopeResolver::GetVariable().

## ◆ selected_layout

uint8_t Industry::selected_layout = 0

Which tile layout was used when creating the industry.

Definition at line 129 of file industry.h.

Referenced by CheckIfCallBackAllowsCreation(), DoCreateNewIndustry(), GetCountAndDistanceOfClosestInstance(), and IndustriesScopeResolver::GetVariable().

## ◆ stations_near

StationList Industry::stations_near {}

NOSAVE: List of nearby stations.

Definition at line 123 of file industry.h.

Referenced by PopulateStationsNearby(), Station::RecomputeCatchment(), TransportIndustryGoods(), and WhoCanServiceIndustry().

## ◆ text

EncodedString Industry::text {}

General text with additional information.

Definition at line 132 of file industry.h.

Referenced by CmdIndustrySetText(), and IndustryViewWindow::DrawInfo().

## ◆ town

Town* Industry::town = nullptr

Nearest town.

Definition at line 107 of file industry.h.

Referenced by AdvertiseIndustryOpening(), ChangeIndustryProduction(), CheckIfCallBackAllowsCreation(), CmdDeleteTown(), CmdIndustrySetProduction(), Disaster_CoalMine_Init(), DisasterTick_Aircraft(), DoCreateNewIndustry(), FormatString(), GetCountAndDistanceOfClosestInstance(), IndustriesResolverObject::GetTown(), and IndustriesScopeResolver::GetVariable().

## ◆ type

IndustryType Industry::type = 0

type of industry.

Definition at line 115 of file industry.h.

Referenced by AdvertiseIndustryOpening(), ChangeIndustryProduction(), CheckIfCallBackAllowsCreation(), CmdIndustrySetProduction(), CMSAMine(), Disaster_CoalMine_Init(), Disaster_Helicopter_Init(), DoCreateNewIndustry(), IndustryViewWindow::DrawInfo(), FormatString(), GetCountAndDistanceOfClosestInstance(), IndustryDirectoryWindow::GetIndustryString(), GetIndustryType(), GetIndustryTypeCount(), SmallMapWindow::GetTileColours(), IndustriesScopeResolver::GetVariable(), IndustryProductionCallback(), IndustryTemporarilyRefusesCargo(), IndustryDirectoryWindow::IndustryTypeSorter(), IsTileForestIndustry(), INDYChunkHandler::Load(), IndustryViewWindow::OnClick(), IndustryViewWindow::OnInvalidateData(), PerformIndustryTileSlopeCheck(), NIHIndustry::Resolve(), IndustriesScopeResolver::StorePSA(), TransportIndustryGoods(), and TriggerIndustryProduction().

## ◆ valid_history

ValidHistoryMask Industry::valid_history = 0

Mask of valid history records.

Definition at line 109 of file industry.h.

Referenced by DoCreateNewIndustry(), INDYChunkHandler::Load(), and UpdateIndustryStatistics().

## ◆ was_cargo_delivered

uint8_t Industry::was_cargo_delivered = 0

flag that indicate this has been the closest industry chosen for cargo delivery by a station. see DeliverGoodsToIndustry

Definition at line 119 of file industry.h.

Referenced by DoCreateNewIndustry(), IndustriesScopeResolver::GetVariable(), and TriggerIndustryProduction().

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

- src/industry.h
- src/industry_cmd.cpp