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. | |
| virtual const SpriteGroup * | ResolveReal (const RealSpriteGroup *group) const |
| Get the real sprites of the grf. | |
| virtual ScopeResolver * | GetScope (VarSpriteGroupScope scope=VSG_SCOPE_SELF, byte relative=0) |
| Get a resolver for the scope. | |
| uint32 | GetReseedSum () const |
| Returns the OR-sum of all bits that need reseeding independent of the scope they were accessed with. | |
| void | ResetState () |
| Resets the dynamic state of the resolver object. | |
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. | |
| byte | trigger |
| uint32 | last_value |
| Result of most recent DeterministicSpriteGroup (including procedure calls). | |
| uint32 | reseed [VSG_END] |
| Collects bits to rerandomise while triggering triggers. | |
| const GRFFile * | grffile |
| GRFFile the resolved SpriteGroup belongs to. | |
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 332 of file newgrf_spritegroup.h.
| ResolverObject::ResolverObject | ( | const GRFFile * | grffile, | |
| CallbackID | callback = CBID_NO_CALLBACK, |
|||
| uint32 | callback_param1 = 0, |
|||
| uint32 | callback_param2 = 0 | |||
| ) |
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 125 of file newgrf_spritegroup.cpp.
References ResetState().
| uint32 ResolverObject::GetReseedSum | ( | ) | const [inline] |
Returns the OR-sum of all bits that need reseeding independent of the scope they were accessed with.
Definition at line 358 of file newgrf_spritegroup.h.
References reseed.
| ScopeResolver * ResolverObject::GetScope | ( | VarSpriteGroupScope | scope = VSG_SCOPE_SELF, |
|
| byte | relative = 0 | |||
| ) | [virtual] |
Get a resolver for the scope.
| scope | Scope to return. | |
| relative | Additional parameter for VSG_SCOPE_RELATIVE. |
Reimplemented in AirportResolverObject, AirportTileResolverObject, CanalResolverObject, VehicleResolverObject, GenericResolverObject, HouseResolverObject, IndustriesResolverObject, IndustryTileResolverObject, ObjectResolverObject, RailTypeResolverObject, StationResolverObject, and TownResolverObject.
Definition at line 154 of file newgrf_spritegroup.cpp.
References default_scope.
| void ResolverObject::ResetState | ( | ) | [inline] |
Resets the dynamic state of the resolver object.
To be called before resolving an Action-1-2-3 chain.
Definition at line 371 of file newgrf_spritegroup.h.
References last_value, and reseed.
Referenced by ResolverObject().
| const SpriteGroup * ResolverObject::ResolveReal | ( | const RealSpriteGroup * | group | ) | const [virtual] |
Get the real sprites of the grf.
| group | Group to get. |
Reimplemented in AirportResolverObject, CanalResolverObject, CargoResolverObject, VehicleResolverObject, GenericResolverObject, RailTypeResolverObject, and StationResolverObject.
Definition at line 143 of file newgrf_spritegroup.cpp.
1.7.1