OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

Public Member Functions | Data Fields
TownScopeResolver Struct Reference

Scope resolver for a town. More...

`#include <newgrf_town.h>`

Inheritance diagram for TownScopeResolver:

## Public Member Functions
| TownScopeResolver (ResolverObject &ro, Town *t, bool readonly)
| Resolver of a town scope.
virtual uint32 | GetVariable (byte variable, uint32 parameter, bool *available) const
| Get a variable value.
virtual void | StorePSA (uint reg, int32 value)
| Store a value into the persistent storage area (PSA).
Public Member Functions inherited from ScopeResolver
| ScopeResolver (ResolverObject &ro)
virtual uint32 | GetRandomBits () const
| Get a few random bits.
virtual uint32 | GetTriggers () const
| Get the triggers.

## Data Fields
Town * | t
| Town of the scope.
bool | readonly
| When set, persistent storage of the town is read-only,.
Data Fields inherited from ScopeResolver
ResolverObject & | ro
| Surrounding resolver object.

## Detailed Description

Scope resolver for a town.

Note
  Currently there is no direct town resolver; we only need to get town variable results from inside stations, house tiles and industries, and to check the town's persistent storage.

Definition at line 24 of file newgrf_town.h.

## Constructor & Destructor Documentation

TownScopeResolver::TownScopeResolver | ( | ResolverObject & | ro,
|  | Town * | t,
|  | bool | readonly
| ) |  |

Resolver of a town scope.

Parameters

  ro | Surrounding resolver.
  t | Town of the scope.
  readonly | Scope may change persistent storage of the town.

Definition at line 25 of file newgrf_town.cpp.

References readonly, and t.

## Member Function Documentation

uint32 TownScopeResolver::GetVariable | ( | byte | variable,
|  | uint32 | parameter,
|  | bool * | available
| ) |  | const
| virtual

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 31 of file newgrf_town.cpp.

References _settings_game, Town::cache, ClampToU16(), DEBUG, GameSettings::economy, Town::flags, Town::fund_buildings_months, GB(), GetRegister(), ResolverObject::grffile, Town::grow_counter, Town::growth_rate, Town::have_ratings, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, Town::larger_town, EconomySettings::larger_towns, TransportedCargoStat< Tstorage >::new_act, TransportedCargoStat< Tstorage >::new_max, TownCache::num_houses, TransportedCargoStat< Tstorage >::old_act, TransportedCargoStat< Tstorage >::old_max, TownCache::population, Town::ratings, Town::received, ScopeResolver::ro, Town::road_build_months, TownCache::squared_town_zone_radius, Town::statues, Town::supplied, t, TE_FOOD, TE_WATER, TOWN_GROW_RATE_CUSTOM, and Town::xy.

void TownScopeResolver::StorePSA | ( | uint | reg,
|  | int32 | value
| ) |  |
| virtual

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

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

Parameters

  pos | Position to store into.
  value | Value to store.

Reimplemented from ScopeResolver.

Definition at line 134 of file newgrf_town.cpp.

References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_persistent_storage_pool >::CanAllocateItem(), GetRegister(), ResolverObject::grffile, GSF_FAKE_TOWNS, readonly, ScopeResolver::ro, PersistentStorageArray< TYPE, SIZE >::StoreValue(), t, and Town::xy.

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

- src/newgrf_town.h
- src/newgrf_town.cpp