Public Member Functions | Static Public Member Functions | Data Fields | Static Protected Attributes

Industry Struct Reference

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

#include <industry.h>

Inheritance diagram for Industry:
Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_industry_pool >

Public Member Functions

 Industry (TileIndex tile=INVALID_TILE)
void RecomputeProductionMultipliers ()
 Recompute production_rate for current prod_level.

Static Public Member Functions

static FORCEINLINE IndustryGetByTile (TileIndex tile)
 Get the industry of the given tile.
static IndustryGetRandom ()
 Return a random valid industry.
static void PostDestructor (size_t index)
 Invalidating some stuff after removing item from the pool.
static void IncIndustryTypeCount (IndustryType type)
 Increment the count of industries for this type.
static void DecIndustryTypeCount (IndustryType type)
 Decrement the count of industries for this type.
static uint16 GetIndustryTypeCount (IndustryType type)
 Get the count of industries for this type.
static void ResetIndustryCounts ()
 Resets industry counts.

Data Fields

TileArea location
 Location of the industry.
Towntown
 Nearest town.
CargoID produced_cargo [2]
 2 production cargo slots
uint16 produced_cargo_waiting [2]
 amount of cargo produced per cargo
uint16 incoming_cargo_waiting [3]
 incoming cargo waiting to be processed
byte production_rate [2]
 production rate for each cargo
byte prod_level
 general production level
CargoID accepts_cargo [3]
 3 input cargo slots
uint16 this_month_production [2]
 stats of this month's production per cargo
uint16 this_month_transported [2]
 stats of this month's transport per cargo
byte last_month_pct_transported [2]
 percentage transported per cargo in the last full month
uint16 last_month_production [2]
 total units produced per cargo in the last full month
uint16 last_month_transported [2]
 total units transported per cargo in the last full month
uint16 counter
 used for animation and/or production (if available cargo)
IndustryType type
 type of industry.
OwnerByte owner
 owner of the industry. Which SHOULD always be (imho) OWNER_NONE
byte random_colour
 randomized colour of the industry, for display purpose
Year last_prod_year
 last year of production
byte was_cargo_delivered
 flag that indicate this has been the closest industry chosen for cargo delivery by a station. see DeliverGoodsToIndustry
PartOfSubsidyByte part_of_subsidy
 NOSAVE: is this industry a source/destination of a subsidy?
OwnerByte founder
 Founder of the industry.
Date construction_date
 Date of the construction of the industry.
uint8 construction_type
 Way the industry was constructed (.
Date last_cargo_accepted_at
 Last day cargo was accepted by this industry.
byte selected_layout
 Which tile layout was used when creating the industry.
byte random_triggers
 Triggers for the random.
uint16 random
 Random value used for randomisation of all kinds of things.
PersistentStoragepsa
 Persistent storage for NewGRF industries.

Static Protected Attributes

static uint16 counts [NUM_INDUSTRYTYPES]
 Number of industries per type ingame.

Detailed Description

Defines the internal data of a functional industry.

Definition at line 40 of file industry.h.


Member Function Documentation

static void Industry::DecIndustryTypeCount ( IndustryType  type  )  [inline, static]

Decrement the count of industries for this type.

Parameters:
type IndustryType to decrement
Precondition:
type < NUM_INDUSTRYTYPES

Definition at line 110 of file industry.h.

References counts, and NUM_INDUSTRYTYPES.

static FORCEINLINE Industry* Industry::GetByTile ( TileIndex  tile  )  [inline, static]

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 86 of file industry.h.

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

Referenced by CmdDeleteTown(), CMSAMine(), GetIndustryTileResolver(), GetIndustryType(), GetSmallMapIndustriesPixels(), IndustryGetVariable(), IsTileForestIndustry(), and TriggerIndustryTile().

static uint16 Industry::GetIndustryTypeCount ( IndustryType  type  )  [inline, static]

Get the count of industries for this type.

Parameters:
type IndustryType to query
Precondition:
type < NUM_INDUSTRYTYPES

Definition at line 121 of file industry.h.

References counts, and NUM_INDUSTRYTYPES.

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

static void Industry::IncIndustryTypeCount ( IndustryType  type  )  [inline, static]

Increment the count of industries for this type.

Parameters:
type IndustryType to increment
Precondition:
type < NUM_INDUSTRYTYPES

Definition at line 99 of file industry.h.

References counts, and NUM_INDUSTRYTYPES.

Referenced by DoCreateNewIndustry().

void Industry::PostDestructor ( size_t  index  )  [static]

Invalidating some stuff after removing item from the pool.

Parameters:
index index of deleted item

Reimplemented from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_industry_pool >.

Definition at line 187 of file industry_cmd.cpp.

References InvalidateWindowData(), and Station::RecomputeIndustriesNearForAll().

void Industry::RecomputeProductionMultipliers (  ) 

Recompute production_rate for current prod_level.

This function is only valid when not using smooth economy.

Definition at line 2148 of file industry_cmd.cpp.

References CeilDiv(), GetIndustrySpec(), min(), PRODLEVEL_DEFAULT, production_rate, and IndustrySpec::UsesSmoothEconomy().

Referenced by ChangeIndustryProduction().

static void Industry::ResetIndustryCounts (  )  [inline, static]

Resets industry counts.

Definition at line 128 of file industry.h.

References counts.


Field Documentation

Way the industry was constructed (.

See also:
IndustryConstructionType)

Definition at line 66 of file industry.h.

Referenced by DoCreateNewIndustry(), and IndustryGetVariable().


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