| OpenTTD
    | 
A resolver object to be used with feature 0F spritegroups. More...
#include <newgrf_object.h>
 
  
 | Public Member Functions | |
| ObjectResolverObject (const ObjectSpec *spec, Object *o, TileIndex tile, uint8 view=0, CallbackID callback=CBID_NO_CALLBACK, uint32 param1=0, uint32 param2=0) | |
| Constructor of the object resolver. | |
| ScopeResolver * | GetScope (VarSpriteGroupScope scope=VSG_SCOPE_SELF, byte relative=0) | 
| Get a resolver for the scope. | |
|  Public Member Functions inherited from ResolverObject | |
| ResolverObject (const GRFFile *grffile, CallbackID callback=CBID_NO_CALLBACK, uint32 callback_param1=0, uint32 callback_param2=0) | |
| Resolver constructor. | |
| const SpriteGroup * | Resolve () | 
| Resolve SpriteGroup. | |
| uint16 | ResolveCallback () | 
| Resolve callback. | |
| virtual const SpriteGroup * | ResolveReal (const RealSpriteGroup *group) const | 
| Get the real sprites of the grf. | |
| 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 | |
| ObjectScopeResolver | object_scope | 
| The object scope resolver. | |
| TownScopeResolver * | town_scope | 
| The town scope resolver (created on the first call). | |
|  Data Fields inherited from ResolverObject | |
| 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. | |
| const SpriteGroup * | root_spritegroup | 
| Root SpriteGroup to use for resolving. | |
| Private Member Functions | |
| TownScopeResolver * | GetTown () | 
| Get the town resolver scope that belongs to this object resolver. | |
A resolver object to be used with feature 0F spritegroups.
Definition at line 114 of file newgrf_object.h.
| ObjectResolverObject::ObjectResolverObject | ( | const ObjectSpec * | spec, | 
| Object * | obj, | ||
| TileIndex | tile, | ||
| uint8 | view = 0, | ||
| CallbackID | callback = CBID_NO_CALLBACK, | ||
| uint32 | param1 = 0, | ||
| uint32 | param2 = 0 | ||
| ) | 
Constructor of the object resolver.
| obj | Object being resolved. | 
| tile | Tile of the object. | 
| view | View of the object. | 
| callback | Callback ID. | 
| callback_param1 | First parameter (var 10) of the callback. | 
| callback_param2 | Second parameter (var 18) of the callback. | 
Definition at line 369 of file newgrf_object.cpp.
References CT_PURCHASE_OBJECT, ObjectSpec::grf_prop, ResolverObject::root_spritegroup, GRFFilePropsBase< Tcnt >::spritegroup, and town_scope.
| 
 | inlinevirtual | 
Get a resolver for the scope.
| scope | Scope to return. | 
| relative | Additional parameter for VSG_SCOPE_RELATIVE. | 
Reimplemented from ResolverObject.
Definition at line 122 of file newgrf_object.h.
References GetTown(), object_scope, VSG_SCOPE_PARENT, and VSG_SCOPE_SELF.
| 
 | private | 
Get the town resolver scope that belongs to this object resolver.
On the first call, the town scope is created (if possible).
Definition at line 388 of file newgrf_object.cpp.
References ClosestTownFromTile(), ObjectScopeResolver::obj, object_scope, ObjectScopeResolver::tile, Object::town, and town_scope.
Referenced by GetScope().
 1.8.1.2
 1.8.1.2