OpenTTD
|
Resolver for a vehicle (chain) More...
#include <newgrf_engine.h>
Public Types | |
enum | WagonOverride { WO_NONE, WO_UNCACHED, WO_CACHED, WO_SELF } |
Application of 'wagon overrides'. More... | |
Public Member Functions | |
VehicleResolverObject (EngineID engine_type, const Vehicle *v, WagonOverride wagon_override, bool info_view=false, CallbackID callback=CBID_NO_CALLBACK, uint32 callback_param1=0, uint32 callback_param2=0) | |
Resolver of a vehicle (chain). More... | |
ScopeResolver * | GetScope (VarSpriteGroupScope scope=VSG_SCOPE_SELF, byte relative=0) |
Get a resolver for the scope. More... | |
const SpriteGroup * | ResolveReal (const RealSpriteGroup *group) const |
Get the real sprites of the grf. More... | |
![]() | |
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... | |
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 | |
VehicleScopeResolver | self_scope |
Scope resolver for the indicated vehicle. | |
VehicleScopeResolver | parent_scope |
Scope resolver for its parent vehicle. | |
VehicleScopeResolver | relative_scope |
Scope resolver for an other vehicle in the chain. | |
byte | cached_relative_count |
Relative position of the other vehicle. | |
![]() | |
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. | |
Resolver for a vehicle (chain)
Definition at line 49 of file newgrf_engine.h.
Application of 'wagon overrides'.
Definition at line 51 of file newgrf_engine.h.
VehicleResolverObject::VehicleResolverObject | ( | EngineID | engine_type, |
const Vehicle * | v, | ||
WagonOverride | wagon_override, | ||
bool | info_view = false , |
||
CallbackID | callback = CBID_NO_CALLBACK , |
||
uint32 | callback_param1 = 0 , |
||
uint32 | callback_param2 = 0 |
||
) |
Resolver of a vehicle (chain).
engine_type | Engine type |
v | Vehicle being resolved. |
wagon_override | Application of wagon overrides. |
info_view | Indicates if the item is being drawn in an info window. |
callback | Callback ID. |
callback_param1 | First parameter (var 10) of the callback. |
callback_param2 | Second parameter (var 18) of the callback. |
Definition at line 961 of file newgrf_engine.cpp.
References ResolverObject::root_spritegroup, and WO_SELF.
|
virtual |
Get a resolver for the scope.
scope | Scope to return. |
relative | Additional parameter for VSG_SCOPE_RELATIVE. |
Reimplemented from ResolverObject.
Definition at line 351 of file newgrf_engine.cpp.
References GB(), GetRegister(), VSG_SCOPE_PARENT, VSG_SCOPE_RELATIVE, and VSG_SCOPE_SELF.
Referenced by NIHVehicle::Resolve().
|
virtual |
Get the real sprites of the grf.
group | Group to get. |
Reimplemented from ResolverObject.
Definition at line 918 of file newgrf_engine.cpp.
References Vehicle::current_order, Vehicle::First(), Order::IsType(), RealSpriteGroup::loaded, RealSpriteGroup::loading, RealSpriteGroup::num_loaded, and RealSpriteGroup::num_loading.