Resolver for a vehicle (chain). More...
#include <newgrf_engine.h>
Public Member Functions | |
VehicleResolverObject (EngineID engine_type, const Vehicle *v, bool info_view=false, CallbackID callback=CBID_NO_CALLBACK, uint32 callback_param1=0, uint32 callback_param2=0) | |
Resolver of a vehicle (chain). | |
ScopeResolver * | GetScope (VarSpriteGroupScope scope=VSG_SCOPE_SELF, byte relative=0) |
Get a resolver for the scope. | |
const SpriteGroup * | ResolveReal (const RealSpriteGroup *group) const |
Get the real sprites of the grf. | |
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. |
Resolver for a vehicle (chain).
Definition at line 40 of file newgrf_engine.h.
VehicleResolverObject::VehicleResolverObject | ( | EngineID | engine_type, | |
const Vehicle * | v, | |||
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. | |
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 977 of file newgrf_engine.cpp.
ScopeResolver * VehicleResolverObject::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 from ResolverObject.
Definition at line 369 of file newgrf_engine.cpp.
References GB(), GetRegister(), Vehicle::Move(), parent_scope, relative_scope, self_scope, VehicleScopeResolver::v, VSG_SCOPE_PARENT, VSG_SCOPE_RELATIVE, and VSG_SCOPE_SELF.
Referenced by FillNewGRFVehicleCache(), and NIHVehicle::Resolve().
const SpriteGroup * VehicleResolverObject::ResolveReal | ( | const RealSpriteGroup * | group | ) | const [virtual] |
Get the real sprites of the grf.
group | Group to get. |
Reimplemented from ResolverObject.
Definition at line 920 of file newgrf_engine.cpp.
References Vehicle::cargo, Vehicle::cargo_cap, Vehicle::current_order, Vehicle::First(), Order::IsType(), RealSpriteGroup::loaded, RealSpriteGroup::loading, max(), min(), RealSpriteGroup::num_loaded, RealSpriteGroup::num_loading, self_scope, VehicleCargoList::StoredCount(), and VehicleScopeResolver::v.