OpenTTD
|
Object scope resolver. More...
#include <newgrf_object.h>
Public Member Functions | |
ObjectScopeResolver (ResolverObject &ro, Object *obj, TileIndex tile, uint8 view=0) | |
Constructor of an object scope resolver. More... | |
uint32 | GetRandomBits () const |
Get a few random bits. More... | |
uint32 | GetVariable (byte variable, uint32 parameter, bool *available) const |
Used by the resolver to get values for feature 0F deterministic spritegroups. More... | |
![]() | |
ScopeResolver (ResolverObject &ro) | |
virtual uint32 | GetTriggers () const |
Get the triggers. More... | |
virtual void | StorePSA (uint reg, int32 value) |
Store a value into the persistent storage area (PSA). More... | |
Data Fields | |
struct Object * | obj |
The object the callback is ran for. | |
TileIndex | tile |
The tile related to the object. | |
uint8 | view |
The view of the object. | |
![]() | |
ResolverObject & | ro |
Surrounding resolver object. | |
Object scope resolver.
Definition at line 102 of file newgrf_object.h.
|
inline |
Constructor of an object scope resolver.
ro | Surrounding resolver. |
obj | Object being resolved. |
tile | Tile of the object. |
view | View of the object. |
Definition at line 114 of file newgrf_object.h.
References GetRandomBits(), and GetVariable().
|
virtual |
Get a few random bits.
Default implementation has no random bits.
Reimplemented from ScopeResolver.
Definition at line 131 of file newgrf_object.cpp.
References GetObjectRandomBits(), IsTileType(), IsValidTile(), and MP_OBJECT.
Referenced by ObjectScopeResolver().
|
virtual |
Used by the resolver to get values for feature 0F deterministic spritegroups.
Reimplemented from ScopeResolver.
Definition at line 234 of file newgrf_object.cpp.
References _current_company, _date, ClosestTownFromTile(), DEBUG, DistanceManhattan(), DistanceSquare(), GetAnimationFrame(), Object::GetByTile(), GetCountAndDistanceOfClosestInstance(), GetNearbyObjectTileInformation(), GetNearbyTile(), GetObjectIDAtOffset(), GetObjectRandomBits(), GetTerrainType(), GetTileOwner(), GetTileSlope(), GetTownRadiusGroup(), INVALID_OBJECT, IsTileType(), IsValidTile(), min(), MP_OBJECT, TileX(), TileY(), and Town::xy.
Referenced by ObjectScopeResolver().