OpenTTD Source
20241108-master-g80f628063a
|
Interface to query and set values specific to a single VarSpriteGroupScope (action 2 scope). More...
#include <newgrf_spritegroup.h>
Public Member Functions | |
ScopeResolver (ResolverObject &ro) | |
virtual uint32_t | GetRandomBits () const |
Get a few random bits. More... | |
virtual uint32_t | GetTriggers () const |
Get the triggers. More... | |
virtual uint32_t | GetVariable (uint8_t variable, [[maybe_unused]] uint32_t parameter, bool &available) const |
Get a variable value. More... | |
virtual void | StorePSA (uint reg, int32_t value) |
Store a value into the persistent storage area (PSA). More... | |
Data Fields | |
ResolverObject & | ro |
Surrounding resolver object. | |
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 289 of file newgrf_spritegroup.h.
|
virtual |
Get a few random bits.
Default implementation has no random bits.
Reimplemented in StationScopeResolver, RoadTypeScopeResolver, RoadStopScopeResolver, RailTypeScopeResolver, ObjectScopeResolver, IndustryTileScopeResolver, IndustriesScopeResolver, HouseScopeResolver, VehicleScopeResolver, CanalScopeResolver, AirportTileScopeResolver, and AirportScopeResolver.
Definition at line 85 of file newgrf_spritegroup.cpp.
|
virtual |
Get the triggers.
Base class returns 0
to prevent trouble.
Reimplemented in StationScopeResolver, RoadStopScopeResolver, IndustryTileScopeResolver, IndustriesScopeResolver, HouseScopeResolver, and VehicleScopeResolver.
Definition at line 94 of file newgrf_spritegroup.cpp.
|
virtual |
Get a variable value.
Default implementation has no available variables.
variable | Variable to read | |
parameter | Parameter for 60+x variables | |
[out] | available | Set to false, in case the variable does not exist. |
Reimplemented in TownScopeResolver, StationScopeResolver, RoadTypeScopeResolver, RoadStopScopeResolver, RailTypeScopeResolver, ObjectScopeResolver, IndustryTileScopeResolver, IndustriesScopeResolver, HouseScopeResolver, GenericScopeResolver, VehicleScopeResolver, CanalScopeResolver, AirportTileScopeResolver, and AirportScopeResolver.
Definition at line 106 of file newgrf_spritegroup.cpp.
References Debug.
Referenced by FillNewGRFVehicleCache(), NIHVehicle::Resolve(), NIHHouse::Resolve(), NIHIndustryTile::Resolve(), NIHIndustry::Resolve(), NIHObject::Resolve(), NIHAirportTile::Resolve(), NIHAirport::Resolve(), and NIHTown::Resolve().
|
virtual |
Store a value into the persistent storage area (PSA).
Default implementation does nothing (for newgrf classes without storage).
Reimplemented in TownScopeResolver, IndustriesScopeResolver, and AirportScopeResolver.
Definition at line 116 of file newgrf_spritegroup.cpp.