OpenTTD Source 20250508-master-g6680169251
TownResolverObject Struct Reference

Resolver of town properties. More...

#include <newgrf_town.h>

Inheritance diagram for TownResolverObject:
ResolverObject

Public Member Functions

 TownResolverObject (const struct GRFFile *grffile, Town *t, bool readonly)
 Resolver for a town.
 
ScopeResolverGetScope (VarSpriteGroupScope scope=VSG_SCOPE_SELF, uint8_t relative=0) override
 Get a resolver for the scope.
 
- Public Member Functions inherited from ResolverObject
 ResolverObject (const GRFFile *grffile, CallbackID callback=CBID_NO_CALLBACK, uint32_t callback_param1=0, uint32_t callback_param2=0)
 Resolver constructor.
 
ResolverResult DoResolve ()
 
int32_t GetRegister (uint i) const
 Gets the value of a so-called newgrf "register".
 
void SetRegister (uint i, int32_t value)
 Sets the value of a so-called newgrf "register".
 
template<class TSpriteGroup >
const TSpriteGroup * Resolve ()
 Resolve SpriteGroup.
 
void ResolveRerandomisation ()
 Resolve bits to be rerandomised.
 
CallbackResult ResolveCallback (std::span< int32_t > regs100)
 Resolve callback.
 
virtual const SpriteGroupResolveReal (const RealSpriteGroup &group) const
 Get the real sprites of the grf.
 
uint32_t GetWaitingRandomTriggers () const
 Used by RandomizedSpriteGroup: Triggers for rerandomisation.
 
void AddUsedRandomTriggers (uint32_t triggers)
 Used by RandomizedSpriteGroup: Consume triggers.
 
uint32_t GetReseedSum () const
 Returns the OR-sum of all bits that need reseeding independent of the scope they were accessed with.
 
virtual GrfSpecFeature GetFeature () const
 Get the feature number being resolved for.
 
virtual uint32_t GetDebugID () const
 Get an identifier for the item being resolved.
 

Data Fields

TownScopeResolver town_scope
 Scope resolver specific for towns.
 
- Data Fields inherited from ResolverObject
ScopeResolver default_scope
 Default implementation of the grf scope.
 
CallbackID callback {}
 Callback being resolved.
 
uint32_t callback_param1 = 0
 First parameter (var 10) of the callback.
 
uint32_t callback_param2 = 0
 Second parameter (var 18) of the callback.
 
uint32_t last_value = 0
 Result of most recent DeterministicSpriteGroup (including procedure calls)
 
std::array< uint32_t, VSG_END > reseed
 Collects bits to rerandomise while triggering triggers.
 
const GRFFilegrffile = nullptr
 GRFFile the resolved SpriteGroup belongs to.
 
const SpriteGrouproot_spritegroup = nullptr
 Root SpriteGroup to use for resolving.
 

Additional Inherited Members

- Protected Attributes inherited from ResolverObject
uint32_t waiting_random_triggers = 0
 Waiting triggers to be used by any rerandomisation. (scope independent)
 
uint32_t used_random_triggers = 0
 Subset of cur_triggers, which actually triggered some rerandomisation. (scope independent)
 

Detailed Description

Resolver of town properties.

Definition at line 42 of file newgrf_town.h.

Constructor & Destructor Documentation

◆ TownResolverObject()

TownResolverObject::TownResolverObject ( const struct GRFFile grffile,
Town t,
bool  readonly 
)

Resolver for a town.

Parameters
grffileNewGRF file associated with the town.
tTown of the scope.
readonlyScope may change persistent storage of the town.

Definition at line 162 of file newgrf_town.cpp.

Member Function Documentation

◆ GetScope()

ScopeResolver * TownResolverObject::GetScope ( VarSpriteGroupScope  scope = VSG_SCOPE_SELF,
uint8_t  relative = 0 
)
inlineoverridevirtual

Get a resolver for the scope.

Returns
The resolver for the requested scope.

Reimplemented from ResolverObject.

Definition at line 47 of file newgrf_town.h.

References ResolverObject::GetScope(), town_scope, and VSG_SCOPE_SELF.

Referenced by NIHTown::Resolve().

Field Documentation

◆ town_scope

TownScopeResolver TownResolverObject::town_scope

Scope resolver specific for towns.

Definition at line 43 of file newgrf_town.h.

Referenced by GetScope().


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