OpenTTD
Public Member Functions | Data Fields
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 StationScopeResolver TownScopeResolver VehicleScopeResolver

Public Member Functions

 ScopeResolver (ResolverObject &ro)
virtual uint32 GetRandomBits () const
 Get a few random bits.
virtual uint32 GetTriggers () const
 Get the triggers.
virtual uint32 GetVariable (byte variable, uint32 parameter, bool *available) const
 Get a variable value.
virtual void StorePSA (uint reg, int32 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 288 of file newgrf_spritegroup.h.

Member Function Documentation

uint32 ScopeResolver::GetRandomBits ( ) const
virtual
uint32 ScopeResolver::GetTriggers ( ) const
virtual

Get the triggers.

Base class returns 0 to prevent trouble.

Returns
The triggers.

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

Definition at line 107 of file newgrf_spritegroup.cpp.

uint32 ScopeResolver::GetVariable ( byte  variable,
uint32  parameter,
bool *  available 
) const
virtual

Get a variable value.

Default implementation has no available variables.

Parameters
variableVariable to read
parameterParameter for 60+x variables
[out]availableSet to false, in case the variable does not exist.
Returns
Value

Reimplemented in ObjectScopeResolver, StationScopeResolver, GenericScopeResolver, VehicleScopeResolver, HouseScopeResolver, AirportScopeResolver, CanalScopeResolver, AirportTileScopeResolver, TownScopeResolver, IndustriesScopeResolver, IndustryTileScopeResolver, and RailTypeScopeResolver.

Definition at line 119 of file newgrf_spritegroup.cpp.

References DEBUG.

Referenced by FillNewGRFVehicleCache().

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

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

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

Parameters
posPosition to store into.
valueValue to store.

Reimplemented in AirportScopeResolver, TownScopeResolver, and IndustriesScopeResolver.

Definition at line 131 of file newgrf_spritegroup.cpp.


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