Public Member Functions | Data Fields

VehicleResolverObject Struct Reference

Resolver for a vehicle (chain). More...

#include <newgrf_engine.h>

Inheritance diagram for VehicleResolverObject:
ResolverObject

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).
ScopeResolverGetScope (VarSpriteGroupScope scope=VSG_SCOPE_SELF, byte relative=0)
 Get a resolver for the scope.
const SpriteGroupResolveReal (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.

Detailed Description

Resolver for a vehicle (chain).

Definition at line 40 of file newgrf_engine.h.


Constructor & Destructor Documentation

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).

Parameters:
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 966 of file newgrf_engine.cpp.


Member Function Documentation

ScopeResolver * VehicleResolverObject::GetScope ( VarSpriteGroupScope  scope = VSG_SCOPE_SELF,
byte  relative = 0 
) [virtual]

Get a resolver for the scope.

Parameters:
scope Scope to return.
relative Additional parameter for VSG_SCOPE_RELATIVE.
Returns:
The resolver for the requested scope.

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]

The documentation for this struct was generated from the following files: