OpenTTD Source: IndustriesScopeResolver Struct Reference

OpenTTD Source 15.0-RC2

Public Member Functions | Data Fields
IndustriesScopeResolver Struct Reference

Resolver for industry scopes. More...

`#include <newgrf_industries.h>`

Inheritance diagram for IndustriesScopeResolver:

## Public Member Functions
| IndustriesScopeResolver (ResolverObject &ro, TileIndex tile, Industry *industry, IndustryType type, uint32_t random_bits=0)
| Scope resolver for industries.
uint32_t | GetRandomBits () const override
| Get a few random bits.
uint32_t | GetVariable (uint8_t variable, uint32_t parameter, bool &available) const override
| Get a variable value.
uint32_t | GetRandomTriggers () const override
| Get the triggers.
void | StorePSA (uint pos, int32_t value) override
| Store a value into the persistent storage area (PSA).
Public Member Functions inherited from ScopeResolver
| ScopeResolver (ResolverObject &ro)

## Data Fields
TileIndex | tile
| Tile owned by the industry.
Industry * | industry
| Industry being resolved.
IndustryType | type
| Type of the industry.
uint32_t | random_bits
| Random bits of the new industry.
Data Fields inherited from ScopeResolver
ResolverObject & | ro
| Surrounding resolver object.

## Detailed Description

Resolver for industry scopes.

Definition at line 16 of file newgrf_industries.h.

## Constructor & Destructor Documentation

## ◆ IndustriesScopeResolver()

IndustriesScopeResolver::IndustriesScopeResolver | ( | ResolverObject & | ro,
|  | TileIndex | tile,
|  | Industry * | industry,
|  | IndustryType | type,
|  | uint32_t | random_bits = `0`
| ) |  |
| inline

Scope resolver for industries.

Parameters

  ro | Surrounding resolver.
  tile | Tile owned by the industry.
  industry | Industry being resolved.
  type | Type of the industry.
  random_bits | Random bits of the new industry.

Definition at line 30 of file newgrf_industries.h.

## Member Function Documentation

## ◆ GetRandomBits()

uint32_t IndustriesScopeResolver::GetRandomBits | ( |  | ) | const
| overridevirtual

Get a few random bits.

Default implementation has no random bits.

Returns
  Random bits.

Reimplemented from ScopeResolver.

Definition at line 430 of file newgrf_industries.cpp.

References industry, and Industry::random.

## ◆ GetRandomTriggers()

uint32_t IndustriesScopeResolver::GetRandomTriggers | ( |  | ) | const
| overridevirtual

Get the triggers.

Base class returns `0` to prevent trouble.

Returns
  The triggers.

Reimplemented from ScopeResolver.

Definition at line 435 of file newgrf_industries.cpp.

## ◆ GetVariable()

uint32_t IndustriesScopeResolver::GetVariable | ( | uint8_t | variable,
|  | uint32_t | parameter,
|  | bool & | available
| ) |  | const
| overridevirtual

Get a variable value.

Default implementation has no available variables.

Parameters

  | variable | Variable to read
  | parameter | Parameter for 60+x variables
  [out] | available | Set to false, in case the variable does not exist.

Returns
  Value

Reimplemented from ScopeResolver.

Definition at line 165 of file newgrf_industries.cpp.

References Industry::accepted, BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Any(), BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::base(), IndustrySpec::behaviour, BuiltOnWater, ResolverObject::callback, IndustrySpec::callback_mask, Industry::ProducedCargo::cargo, Industry::AcceptedCargo::cargo, CBID_INDUSTRY_LOCATION, Industry::construction_date, Industry::construction_type, Industry::counter, Industry::ctlflags, TimerGameConst< struct Calendar >::DAYS_TILL_ORIGINAL_BASE_YEAR, TimerGameConst< struct Economy >::DAYS_TILL_ORIGINAL_BASE_YEAR, Debug, DistanceManhattan(), DistanceSquare(), Industry::founder, GB(), Industry::GetAccepted(), GetAnimationFrame(), GetBadgeVariableResult(), Industry::GetCargoAccepted(), Industry::GetCargoProduced(), GetCargoTranslation(), GetClosestWaterDistance(), Company::GetCompanyRecolourOffset(), GetCountAndDistanceOfClosestInstance(), Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_company_pool >::GetIfValid(), GetIndustryIDAtOffset(), GetIndustryRandomBits(), GetIndustrySpec(), GetNearbyIndustryTileInformation(), GetNearbyTile(), Industry::GetProduced(), ResolverObject::GetRegister(), GetTerrainType(), GetTileZ(), GetTownRadiusGroup(), PersistentStorageArray< TYPE, SIZE >::GetValue(), IndustrySpec::grf_prop, ResolverObject::grffile, GRFFilePropsBase::grfid, OrthogonalTileArea::h, HasBit(), Industry::ProducedCargo::history, Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem< Tpool >::index, industry, INVALID_TILE, CompanyProperties::is_ai, IsValidCargoType(), Industry::last_prod_year, GRFFilePropsBase::local_id, Industry::location, MapNewGRFIndustryType(), NUM_INDUSTRYTYPES, TimerGameConst< struct Economy >::ORIGINAL_BASE_YEAR, Industry::prod_level, ProdMultiHandling, Industry::produced, Industry::psa, random_bits, Industry::random_colour, Industry::ProducedCargo::rate, ScopeResolver::ro, Industry::selected_layout, BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), tile, OrthogonalTileArea::tile, TILE_HEIGHT, Industry::TileBelongsToIndustry(), to_underlying(), Industry::town, Industry::type, type, OrthogonalTileArea::w, Industry::ProducedCargo::waiting, Industry::AcceptedCargo::waiting, Industry::was_cargo_delivered, and Town::xy.

## ◆ StorePSA()

void IndustriesScopeResolver::StorePSA | ( | uint | reg,
|  | int32_t | value
| ) |  |
| overridevirtual

Store a value into the persistent storage area (PSA).

Default implementation does nothing (for newgrf classes without storage).

Reimplemented from ScopeResolver.

Definition at line 440 of file newgrf_industries.cpp.

References Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_persistent_storage_pool >::CanAllocateItem(), GetIndustrySpec(), IndustrySpec::grf_prop, GRFFilePropsBase::grfid, Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem< Tpool >::index, industry, Industry::psa, PersistentStorageArray< TYPE, SIZE >::StoreValue(), and Industry::type.

## Field Documentation

## ◆ industry

Industry* IndustriesScopeResolver::industry

Industry being resolved.

Definition at line 18 of file newgrf_industries.h.

Referenced by GetRandomBits(), IndustriesResolverObject::GetTown(), GetVariable(), and StorePSA().

## ◆ random_bits

uint32_t IndustriesScopeResolver::random_bits

Random bits of the new industry.

Definition at line 20 of file newgrf_industries.h.

Referenced by GetVariable().

## ◆ tile

TileIndex IndustriesScopeResolver::tile

Tile owned by the industry.

Definition at line 17 of file newgrf_industries.h.

Referenced by IndustriesResolverObject::GetTown(), and GetVariable().

## ◆ type

IndustryType IndustriesScopeResolver::type

Type of the industry.

Definition at line 19 of file newgrf_industries.h.

Referenced by IndustriesResolverObject::GetDebugID(), and GetVariable().

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

- src/newgrf_industries.h
- src/newgrf_industries.cpp