OpenTTD Source 20241224-master-gf74b0cf984
TownScopeResolver Struct Reference

Scope resolver for a town. More...

#include <newgrf_town.h>

Inheritance diagram for TownScopeResolver:
ScopeResolver

Public Member Functions

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

Data Fields

Townt
 Town of the scope.
 
bool readonly
 When set, persistent storage of the town is read-only,.
 
- Data Fields inherited from ScopeResolver
ResolverObjectro
 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 22 of file newgrf_town.h.

Constructor & Destructor Documentation

◆ TownScopeResolver()

TownScopeResolver::TownScopeResolver ( ResolverObject ro,
Town t,
bool  readonly 
)
inline

Resolver of a town scope.

Parameters
roSurrounding resolver.
tTown of the scope.
readonlyScope may change persistent storage of the town.

Definition at line 32 of file newgrf_town.h.

Member Function Documentation

◆ GetVariable()

◆ StorePSA()

void TownScopeResolver::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 126 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.

Field Documentation

◆ readonly

bool TownScopeResolver::readonly

When set, persistent storage of the town is read-only,.

Definition at line 24 of file newgrf_town.h.

Referenced by StorePSA().

◆ t

Town* TownScopeResolver::t

Town of the scope.

Definition at line 23 of file newgrf_town.h.

Referenced by GetVariable(), and StorePSA().


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