OpenTTD Source: TownResolverObject Struct Reference

OpenTTD Source 15.0-RC2

Public Member Functions | Data Fields
TownResolverObject Struct Reference

Resolver of town properties. More...

`#include <newgrf_town.h>`

Inheritance diagram for TownResolverObject:

## Public Member Functions
| TownResolverObject (const struct GRFFile *grffile, Town *t, bool readonly)
| Resolver for a town.
ScopeResolver * | GetScope (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 SpriteGroup * | ResolveReal (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 GRFFile * | grffile = nullptr
| GRFFile the resolved SpriteGroup belongs to.
const SpriteGroup * | root_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

  grffile | NewGRF file associated with the town.
  t | Town of the scope.
  readonly | Scope may change persistent storage of the town.

Definition at line 170 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:

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