|
OpenTTD Source
14.0-beta3
|
Scope resolver for a town. More...
#include <newgrf_town.h>
Public Member Functions | |
| TownScopeResolver (ResolverObject &ro, Town *t, bool readonly) | |
| Resolver of a town scope. More... | |
| uint32_t | GetVariable (byte variable, [[maybe_unused]] uint32_t parameter, bool *available) const override |
| Get a variable value. More... | |
| void | StorePSA (uint reg, int32_t value) override |
| Store a value into the persistent storage area (PSA). More... | |
Public Member Functions inherited from ScopeResolver | |
| ScopeResolver (ResolverObject &ro) | |
| virtual uint32_t | GetRandomBits () const |
| Get a few random bits. More... | |
| virtual uint32_t | GetTriggers () const |
| Get the triggers. More... | |
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. | |
Scope resolver for a town.
Definition at line 22 of file newgrf_town.h.
|
inline |
Resolver of a town scope.
| ro | Surrounding resolver. |
| t | Town of the scope. |
| readonly | Scope may change persistent storage of the town. |
Definition at line 32 of file newgrf_town.h.
|
overridevirtual |
Get a variable value.
Default implementation has no available variables.
| variable | Variable to read | |
| parameter | Parameter for 60+x variables | |
| [out] | available | Set to false, in case the variable does not exist. |
Reimplemented from ScopeResolver.
Definition at line 18 of file newgrf_town.cpp.
References _settings_game, Town::cache, GameSettings::economy, Town::flags, GB(), GetRegister(), ResolverObject::grffile, Town::grow_counter, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, Town::larger_town, EconomySettings::larger_towns, TownCache::population, ScopeResolver::ro, TownCache::squared_town_zone_radius, t, Ticks::TOWN_GROWTH_TICKS, and Town::xy.
|
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 121 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.