OpenTTD Source 20250205-master-gfd85ab1e2c
ScopeResolver Struct Reference

Interface to query and set values specific to a single VarSpriteGroupScope (action 2 scope). More...

#include <newgrf_spritegroup.h>

Inheritance diagram for ScopeResolver:
AirportScopeResolver AirportTileScopeResolver CanalScopeResolver GenericScopeResolver HouseScopeResolver IndustriesScopeResolver IndustryTileScopeResolver ObjectScopeResolver RailTypeScopeResolver RoadStopScopeResolver RoadTypeScopeResolver StationScopeResolver TownScopeResolver VehicleScopeResolver

Public Member Functions

 ScopeResolver (ResolverObject &ro)
 
virtual uint32_t GetRandomBits () const
 Get a few random bits.
 
virtual uint32_t GetTriggers () const
 Get the triggers.
 
virtual uint32_t GetVariable (uint8_t variable, uint32_t parameter, bool &available) const
 Get a variable value.
 
virtual void StorePSA (uint reg, int32_t value)
 Store a value into the persistent storage area (PSA).
 

Data Fields

ResolverObjectro
 Surrounding resolver object.
 

Detailed Description

Interface to query and set values specific to a single VarSpriteGroupScope (action 2 scope).

Multiple of these interfaces are combined into a ResolverObject to allow access to different game entities from a SpriteGroup-chain (action 1-2-3 chain).

Definition at line 277 of file newgrf_spritegroup.h.

Constructor & Destructor Documentation

◆ ScopeResolver()

ScopeResolver::ScopeResolver ( ResolverObject ro)
inline

Definition at line 280 of file newgrf_spritegroup.h.

Member Function Documentation

◆ GetRandomBits()

uint32_t ScopeResolver::GetRandomBits ( ) const
virtual

◆ GetTriggers()

uint32_t ScopeResolver::GetTriggers ( ) const
virtual

Get the triggers.

Base class returns 0 to prevent trouble.

Returns
The triggers.

Reimplemented in VehicleScopeResolver, HouseScopeResolver, IndustriesScopeResolver, IndustryTileScopeResolver, RoadStopScopeResolver, and StationScopeResolver.

Definition at line 94 of file newgrf_spritegroup.cpp.

◆ GetVariable()

uint32_t ScopeResolver::GetVariable ( uint8_t  variable,
uint32_t  parameter,
bool &  available 
) const
virtual

◆ StorePSA()

void ScopeResolver::StorePSA ( uint  reg,
int32_t  value 
)
virtual

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

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

Reimplemented in AirportScopeResolver, IndustriesScopeResolver, and TownScopeResolver.

Definition at line 116 of file newgrf_spritegroup.cpp.

Field Documentation

◆ ro


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