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 void SetTriggers (int triggers) const
 Set 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.

Referenced by RandomizedSpriteGroup::Resolve().

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 125 of file newgrf_spritegroup.cpp.

References DEBUG.

Referenced by FillNewGRFVehicleCache().

void ScopeResolver::SetTriggers ( int  triggers) const
virtual

Set the triggers.

Base class implementation does nothing.

Parameters
triggersTriggers to set.

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

Definition at line 116 of file newgrf_spritegroup.cpp.

Referenced by RandomizedSpriteGroup::Resolve().

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 137 of file newgrf_spritegroup.cpp.


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