OpenTTD
|
Interface for SpriteGroup-s to access the gamestate. More...
#include <newgrf_spritegroup.h>
Public Member Functions | |
ResolverObject (const GRFFile *grffile, CallbackID callback=CBID_NO_CALLBACK, uint32 callback_param1=0, uint32 callback_param2=0) | |
Resolver constructor. More... | |
const SpriteGroup * | Resolve () |
Resolve SpriteGroup. More... | |
uint16 | ResolveCallback () |
Resolve callback. More... | |
virtual const SpriteGroup * | ResolveReal (const RealSpriteGroup *group) const |
Get the real sprites of the grf. More... | |
virtual ScopeResolver * | GetScope (VarSpriteGroupScope scope=VSG_SCOPE_SELF, byte relative=0) |
Get a resolver for the scope. More... | |
uint32 | GetRemainingTriggers () const |
Returns the waiting triggers that did not trigger any rerandomisation. | |
uint32 | GetReseedSum () const |
Returns the OR-sum of all bits that need reseeding independent of the scope they were accessed with. More... | |
void | ResetState () |
Resets the dynamic state of the resolver object. More... | |
Data Fields | |
ScopeResolver | default_scope |
Default implementation of the grf scope. | |
CallbackID | callback |
Callback being resolved. | |
uint32 | callback_param1 |
First parameter (var 10) of the callback. | |
uint32 | callback_param2 |
Second parameter (var 18) of the callback. | |
uint32 | last_value |
Result of most recent DeterministicSpriteGroup (including procedure calls) | |
uint32 | waiting_triggers |
Waiting triggers to be used by any rerandomisation. (scope independent) | |
uint32 | used_triggers |
Subset of cur_triggers, which actually triggered some rerandomisation. (scope independent) | |
uint32 | reseed [VSG_END] |
Collects bits to rerandomise while triggering triggers. | |
const GRFFile * | grffile |
GRFFile the resolved SpriteGroup belongs to. | |
const SpriteGroup * | root_spritegroup |
Root SpriteGroup to use for resolving. | |
Interface for SpriteGroup-s to access the gamestate.
Using this interface SpriteGroup-chains (action 1-2-3 chains) can be resolved, to get the results of callbacks, rerandomisations or normal sprite lookups.
Definition at line 310 of file newgrf_spritegroup.h.
|
inline |
Resolver constructor.
grffile | NewGRF file associated with the object (or NULL if none). |
callback | Callback code being resolved (default value is CBID_NO_CALLBACK). |
callback_param1 | First parameter (var 10) of the callback (only used when callback is also set). |
callback_param2 | Second parameter (var 18) of the callback (only used when callback is also set). |
Definition at line 318 of file newgrf_spritegroup.h.
|
inline |
Returns the OR-sum of all bits that need reseeding independent of the scope they were accessed with.
Definition at line 377 of file newgrf_spritegroup.h.
|
virtual |
Get a resolver for the scope.
scope | Scope to return. |
relative | Additional parameter for VSG_SCOPE_RELATIVE. |
Reimplemented in ObjectResolverObject, VehicleResolverObject, StationResolverObject, HouseResolverObject, GenericResolverObject, AirportResolverObject, IndustriesResolverObject, AirportTileResolverObject, TownResolverObject, IndustryTileResolverObject, RailTypeResolverObject, and CanalResolverObject.
Definition at line 142 of file newgrf_spritegroup.cpp.
Referenced by CanalResolverObject::GetScope(), RailTypeResolverObject::GetScope(), IndustryTileResolverObject::GetScope(), TownResolverObject::GetScope(), AirportTileResolverObject::GetScope(), AirportResolverObject::GetScope(), IndustriesResolverObject::GetScope(), GenericResolverObject::GetScope(), HouseResolverObject::GetScope(), StationResolverObject::GetScope(), and ObjectResolverObject::GetScope().
|
inline |
Resets the dynamic state of the resolver object.
To be called before resolving an Action-1-2-3 chain.
Definition at line 390 of file newgrf_spritegroup.h.
|
inline |
Resolve SpriteGroup.
Definition at line 345 of file newgrf_spritegroup.h.
References SpriteGroup::Resolve().
|
inline |
Resolve callback.
Definition at line 354 of file newgrf_spritegroup.h.
References CALLBACK_FAILED, SpriteGroup::Resolve(), and VSG_SCOPE_SELF.
|
virtual |
Get the real sprites of the grf.
group | Group to get. |
Reimplemented in StationResolverObject, VehicleResolverObject, GenericResolverObject, AirportResolverObject, RailTypeResolverObject, CanalResolverObject, and CargoResolverObject.
Definition at line 131 of file newgrf_spritegroup.cpp.