newgrf_engine.h File Reference

Functions for NewGRF engines. More...

#include "direction_type.h"
#include "newgrf_callbacks.h"
#include "newgrf_properties.h"
#include "vehicle_type.h"
#include "engine_type.h"
#include "gfx_type.h"

Go to the source code of this file.

Defines

#define GetCustomRotorSprite(v, i)   GetRotorOverrideSprite(v->engine_type, v, i)
#define GetCustomRotorIcon(et)   GetRotorOverrideSprite(et, NULL, true)
#define GetCustomVehicleSprite(v, direction)   GetCustomEngineSprite(v->engine_type, v, direction)
#define GetCustomVehicleIcon(et, direction)   GetCustomEngineSprite(et, NULL, direction)

Enumerations

enum  VehicleTrigger {
  VEHICLE_TRIGGER_NEW_CARGO = 0x01, VEHICLE_TRIGGER_DEPOT = 0x02, VEHICLE_TRIGGER_EMPTY = 0x04, VEHICLE_TRIGGER_ANY_NEW_CARGO = 0x08,
  VEHICLE_TRIGGER_CALLBACK_32 = 0x10
}

Functions

void SetWagonOverrideSprites (EngineID engine, CargoID cargo, const struct SpriteGroup *group, EngineID *train_id, uint trains)
const SpriteGroupGetWagonOverrideSpriteSet (EngineID engine, CargoID cargo, EngineID overriding_engine)
void SetCustomEngineSprites (EngineID engine, byte cargo, const struct SpriteGroup *group)
SpriteID GetCustomEngineSprite (EngineID engine, const Vehicle *v, Direction direction)
SpriteID GetRotorOverrideSprite (EngineID engine, const struct Aircraft *v, bool info_view)
void SetEngineGRF (EngineID engine, const struct GRFFile *file)
struct GRFFileGetEngineGRF (EngineID engine)
 Retrieve the GRFFile tied to an engine.
uint32 GetEngineGRFID (EngineID engine)
 Retrieve the GRF ID of the GRFFile tied to an engine.
uint16 GetVehicleCallback (CallbackID callback, uint32 param1, uint32 param2, EngineID engine, const Vehicle *v)
 Evaluate a newgrf callback for vehicles.
uint16 GetVehicleCallbackParent (CallbackID callback, uint32 param1, uint32 param2, EngineID engine, const Vehicle *v, const Vehicle *parent)
 Evaluate a newgrf callback for vehicles with a different vehicle for parent scope.
bool UsesWagonOverride (const Vehicle *v)
 Check if a wagon is currently using a wagon override.
uint GetVehicleProperty (const Vehicle *v, PropertyID property, uint orig_value)
uint GetEngineProperty (EngineID engine, PropertyID property, uint orig_value)
void TriggerVehicle (Vehicle *veh, VehicleTrigger trigger)
void UnloadWagonOverrides (Engine *e)
 Unload all wagon override sprite groups.
uint ListPositionOfEngine (EngineID engine)
 Get the list position of an engine.
void AlterVehicleListOrder (EngineID engine, EngineID target)
void CommitVehicleListOrderChanges ()
EngineID GetNewEngineID (const GRFFile *file, VehicleType type, uint16 internal_id)

Variables

static const uint TRAININFO_DEFAULT_VEHICLE_WIDTH = 29
static const uint ROADVEHINFO_DEFAULT_VEHICLE_WIDTH = 28
static const uint VEHICLEINFO_FULL_VEHICLE_WIDTH = 32

Detailed Description

Functions for NewGRF engines.

Definition in file newgrf_engine.h.


Function Documentation

struct GRFFile* GetEngineGRF ( EngineID  engine  )  [read]

Retrieve the GRFFile tied to an engine.

Parameters:
engine Engine ID to retrieve.
Returns:
Pointer to GRFFile.

Definition at line 119 of file newgrf_engine.cpp.

References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_engine_pool >::Get().

Referenced by GetEngineGRFID(), and GetNextArticPart().

uint32 GetEngineGRFID ( EngineID  engine  ) 

Retrieve the GRF ID of the GRFFile tied to an engine.

Parameters:
engine Engine ID to retrieve.
Returns:
32 bit GRFID value.

Definition at line 130 of file newgrf_engine.cpp.

References GetEngineGRF().

Referenced by CheckTrainAttachment(), CmdStartStopVehicle(), DrawVehicleRefitWindow(), GetCargoSubtypeText(), and ShowAdditionalText().

uint16 GetVehicleCallback ( CallbackID  callback,
uint32  param1,
uint32  param2,
EngineID  engine,
const Vehicle v 
)

Evaluate a newgrf callback for vehicles.

Parameters:
callback The callback to evalute
param1 First parameter of the callback
param2 Second parameter of the callback
engine Engine type of the vehicle to evaluate the callback for
v The vehicle to evaluate the callback for, or NULL if it doesnt exist yet
Returns:
The value the callback returned, or CALLBACK_FAILED if it failed

Definition at line 993 of file newgrf_engine.cpp.

References CALLBACK_FAILED, GetVehicleSpriteGroup(), and SpriteGroup::Resolve().

Referenced by RefitWindow::BuildRefitList(), CmdStartStopVehicle(), Train::ConsistChanged(), GetBestFittingSubType(), GetCargoSubtypeText(), GetNextArticPart(), GetVehicleCapacity(), LoadUnloadVehicle(), RunVehicleDayProc(), ShowAdditionalText(), and Vehicle::UpdateVisualEffect().

uint16 GetVehicleCallbackParent ( CallbackID  callback,
uint32  param1,
uint32  param2,
EngineID  engine,
const Vehicle v,
const Vehicle parent 
)

Evaluate a newgrf callback for vehicles with a different vehicle for parent scope.

Parameters:
callback The callback to evalute
param1 First parameter of the callback
param2 Second parameter of the callback
engine Engine type of the vehicle to evaluate the callback for
v The vehicle to evaluate the callback for, or NULL if it doesnt exist yet
parent The vehicle to use for parent scope
Returns:
The value the callback returned, or CALLBACK_FAILED if it failed

Definition at line 1020 of file newgrf_engine.cpp.

References CALLBACK_FAILED, GetVehicleSpriteGroup(), and SpriteGroup::Resolve().

Referenced by CheckTrainAttachment().

uint ListPositionOfEngine ( EngineID  engine  ) 

Get the list position of an engine.

Used when sorting a list of engines.

Parameters:
engine ID of the engine.
Returns:
The list position of the engine.

Definition at line 1141 of file newgrf_engine.cpp.

References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_engine_pool >::Get(), Engine::grf_prop, and GRFFilePropsBase< Tcnt >::grffile.

Referenced by EngineNumberSorter().

bool UsesWagonOverride ( const Vehicle v  ) 

Check if a wagon is currently using a wagon override.

Parameters:
v The wagon to check
Returns:
true if it is using an override, false otherwise

Definition at line 978 of file newgrf_engine.cpp.

References SpecializedVehicle< Train, Type >::From(), BaseVehicle::type, and VEH_TRAIN.

Referenced by Train::ConsistChanged(), and GetEngineLiveryScheme().


Generated on Sun Jan 9 16:02:10 2011 for OpenTTD by  doxygen 1.6.1