| OpenTTD
    | 
Defines the internal data of a functional industry. More...
#include <industry.h>
 
  
 | 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. | |
|  Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_industry_pool > | |
| void * | operator new (size_t size) | 
| Allocates space for new Titem. | |
| void * | operator new (size_t size, size_t index) | 
| Allocates space for new Titem with given index. | |
| void * | operator new (size_t size, void *ptr) | 
| Allocates space for new Titem at given memory address. | |
| void | operator delete (void *p) | 
| 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 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. | |
|  Static Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::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 (size_t index) | 
| Tests whether given index can be used to get valid (non-NULL) Titem. | |
| static Titem * | Get (size_t index) | 
| Returns Titem with given index. | |
| static Titem * | GetIfValid (size_t 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. | |
| Data Fields | |
| TileArea | location | 
| Location of the industry. | |
| Town * | town | 
| 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. | |
| PersistentStorage * | psa | 
| Persistent storage for NewGRF industries. | |
|  Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_industry_pool > | |
| Tindex | index | 
| Index of this pool item. | |
| Static Protected Attributes | |
| static uint16 | counts [NUM_INDUSTRYTYPES] | 
| Number of industries per type ingame. | |
Defines the internal data of a functional industry.
Definition at line 39 of file industry.h.
| 
 | inlinestatic | 
Decrement the count of industries for this type.
| type | IndustryType to decrement | 
Definition at line 119 of file industry.h.
References counts, NUM_INDUSTRYTYPES, and type.
Get the industry of the given tile.
| tile | the tile to get the industry from | 
Definition at line 95 of file industry.h.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_industry_pool >::Get(), and GetIndustryIndex().
Referenced by CheckIfFarEnoughFromConflictingIndustry(), CmdDeleteTown(), CMSAMine(), FindIndustryToDeliver(), GetIndustryType(), SmallMapWindow::GetTileColours(), IndustryTileScopeResolver::GetVariable(), IsTileForestIndustry(), and TriggerIndustryTile().
| 
 | inlinestatic | 
Get the count of industries for this type.
| type | IndustryType to query | 
Definition at line 130 of file industry.h.
References counts, NUM_INDUSTRYTYPES, and type.
Referenced by CheckIndustries(), CheckIndustryCloseDownProtection(), SmallMapWindow::DrawWidget(), GetCountAndDistanceOfClosestInstance(), GetCurrentTotalNumberOfIndustries(), and IndustryBuildData::TryBuildNewIndustry().
| 
 | static | 
Return a random valid industry.
Definition at line 202 of file industry_cmd.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_industry_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_industry_pool >::GetNumItems(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_industry_pool >::GetPoolSize(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_industry_pool >::index, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_industry_pool >::IsValidID(), MAX_UVALUE, and RandomRange().
Referenced by FindSubsidyCargoDestination(), FindSubsidyIndustryCargoRoute(), and IndustryDailyLoop().
| 
 | inlinestatic | 
Increment the count of industries for this type.
| type | IndustryType to increment | 
Definition at line 108 of file industry.h.
References counts, NUM_INDUSTRYTYPES, and type.
Referenced by DoCreateNewIndustry().
| 
 | static | 
Invalidating some stuff after removing item from the pool.
| index | index of deleted item | 
Reimplemented from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_industry_pool >.
Definition at line 191 of file industry_cmd.cpp.
References InvalidateWindowData(), Station::RecomputeIndustriesNearForAll(), and WC_INDUSTRY_DIRECTORY.
| void Industry::RecomputeProductionMultipliers | ( | ) | 
Recompute production_rate for current prod_level.
This function is only valid when not using smooth economy.
Definition at line 2185 of file industry_cmd.cpp.
References CeilDiv(), GetIndustrySpec(), min(), PRODLEVEL_DEFAULT, production_rate, and IndustrySpec::UsesSmoothEconomy().
Referenced by ChangeIndustryProduction(), and DoCreateNewIndustry().
| 
 | inlinestatic | 
| 
 | inline | 
Check if a given tile belongs to this industry.
| tile | The tile to check. | 
Definition at line 84 of file industry.h.
References GetIndustryIndex(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_industry_pool >::index, IsTileType(), and MP_INDUSTRY.
Referenced by ChopLumberMillTrees(), GetIndustryIDAtOffset(), IndustriesScopeResolver::GetVariable(), and TriggerIndustry().
| uint8 Industry::construction_type | 
Way the industry was constructed (.
Definition at line 65 of file industry.h.
Referenced by DoCreateNewIndustry(), and IndustriesScopeResolver::GetVariable().
 1.8.1.2
 1.8.1.2