Public Member Functions | |
Engine (VehicleType type, EngineID base) | |
CargoID | GetDefaultCargoType () const |
Determines the default cargo type of an engine. | |
bool | CanCarryCargo () const |
Determines whether an engine can carry something. | |
uint | GetDisplayDefaultCapacity (uint16 *mail_capacity=NULL) const |
Determines the default cargo capacity of an engine for display purposes. | |
Money | GetRunningCost () const |
Return how much the running costs of this engine are. | |
Money | GetCost () const |
Return how much a new engine costs. | |
uint | GetDisplayMaxSpeed () const |
Returns max speed of the engine for display purposes. | |
uint | GetPower () const |
Returns the power of the engine for display and sorting purposes. | |
uint | GetDisplayWeight () const |
Returns the weight of the engine for display purposes. | |
uint | GetDisplayMaxTractiveEffort () const |
Returns the tractive effort of the engine for display purposes. | |
Date | GetLifeLengthInDays () const |
Returns the vehicle's (not model's!) life length in days. | |
FORCEINLINE bool | IsGroundVehicle () const |
Check if the engine is a ground vehicle. | |
Data Fields | |
char * | name |
Custom name of engine. | |
Date | intro_date |
Date | age |
uint16 | reliability |
uint16 | reliability_spd_dec |
uint16 | reliability_start |
uint16 | reliability_max |
uint16 | reliability_final |
uint16 | duration_phase_1 |
uint16 | duration_phase_2 |
uint16 | duration_phase_3 |
byte | flags |
uint8 | preview_company_rank |
byte | preview_wait |
CompanyMask | company_avail |
uint8 | original_image_index |
Original vehicle image index, thus the image index of the overridden vehicle. | |
VehicleType | type |
type, ie VEH_ROAD, VEH_TRAIN, etc. | |
EngineInfo | info |
union { | |
RailVehicleInfo rail | |
RoadVehicleInfo road | |
ShipVehicleInfo ship | |
AircraftVehicleInfo air | |
} | u |
GRFFilePropsBase< NUM_CARGO+2 > | grf_prop |
Properties related the the grf file. | |
uint16 | overrides_count |
struct WagonOverride * | overrides |
uint16 | list_position |
Definition at line 25 of file engine_base.h.
bool Engine::CanCarryCargo | ( | ) | const |
Determines whether an engine can carry something.
A vehicle cannot carry anything if its capacity is zero, or none of the possible cargos is available in the climate.
Definition at line 146 of file engine.cpp.
References CT_INVALID, GetDefaultCargoType(), VEH_AIRCRAFT, VEH_ROAD, VEH_SHIP, and VEH_TRAIN.
Referenced by RefitWindow::BuildRefitList(), CmdCloneVehicle(), GetBestFittingSubType(), GetDisplayDefaultCapacity(), GetVehicleCapacity(), GetVehicleDefaultCapacity(), IsEngineRefittable(), and RefitVehicle().
Money Engine::GetCost | ( | ) | const |
Return how much a new engine costs.
Definition at line 258 of file engine.cpp.
References GetPrice(), grf_prop, GRFFilePropsBase< Tcnt >::grffile, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_engine_pool >::index, PROP_AIRCRAFT_COST_FACTOR, PROP_ROADVEH_COST_FACTOR, PROP_SHIP_COST_FACTOR, PROP_TRAIN_COST_FACTOR, RAILVEH_WAGON, VEH_AIRCRAFT, VEH_ROAD, VEH_SHIP, and VEH_TRAIN.
Referenced by CmdBuildVehicle().
CargoID Engine::GetDefaultCargoType | ( | ) | const [inline] |
Determines the default cargo type of an engine.
Usually a valid cargo is returned, even though the vehicle has zero capacity, and can therefore not carry anything. But the cargotype is still used for livery selection etc..
Vehicles with CT_INVALID as default cargo are usally not available, but it can appear as default cargo of articulated parts.
Definition at line 76 of file engine_base.h.
Referenced by CanCarryCargo(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVehicle(), CmdBuildShip(), CmdBuildVehicle(), CmdCloneVehicle(), GetDisplayDefaultCapacity(), GetVehicleCapacity(), GetVehicleDefaultCapacity(), and IsEngineRefittable().
uint Engine::GetDisplayDefaultCapacity | ( | uint16 * | mail_capacity = NULL |
) | const |
Determines the default cargo capacity of an engine for display purposes.
For planes carrying both passenger and mail this is the passenger capacity. For multiheaded engines this is the capacity of both heads. For articulated engines use GetCapacityOfArticulatedParts
mail_capacity | returns secondary cargo (mail) capacity of aircraft |
Definition at line 183 of file engine.cpp.
References CanCarryCargo(), CC_PASSENGERS, GetDefaultCargoType(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_engine_pool >::index, IsCargoInClass(), PROP_AIRCRAFT_MAIL_CAPACITY, PROP_AIRCRAFT_PASSENGER_CAPACITY, PROP_ROADVEH_CARGO_CAPACITY, PROP_SHIP_CARGO_CAPACITY, PROP_TRAIN_CARGO_CAPACITY, RAILVEH_MULTIHEAD, VEH_AIRCRAFT, VEH_ROAD, VEH_SHIP, and VEH_TRAIN.
Referenced by AircraftEngineCargoSorter(), AIEventEnginePreview::GetCapacity(), AIEngine::GetCapacity(), GetVehicleDefaultCapacity(), and ShipEngineCapacitySorter().
uint Engine::GetDisplayMaxSpeed | ( | ) | const |
Returns max speed of the engine for display purposes.
Definition at line 298 of file engine.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_engine_pool >::index, PROP_AIRCRAFT_SPEED, PROP_ROADVEH_SPEED, PROP_SHIP_SPEED, PROP_TRAIN_SPEED, VEH_AIRCRAFT, VEH_ROAD, VEH_SHIP, and VEH_TRAIN.
Referenced by AIEventEnginePreview::GetMaxSpeed(), and AIEngine::GetMaxSpeed().
uint Engine::GetDisplayMaxTractiveEffort | ( | ) | const |
Returns the tractive effort of the engine for display purposes.
For dual-headed train-engines this is the tractive effort of both heads
Definition at line 366 of file engine.cpp.
References GetDisplayWeight(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_engine_pool >::index, PROP_ROADVEH_TRACTIVE_EFFORT, PROP_TRAIN_TRACTIVE_EFFORT, VEH_ROAD, and VEH_TRAIN.
uint Engine::GetDisplayWeight | ( | ) | const |
Returns the weight of the engine for display purposes.
For dual-headed train-engines this is the weight of both heads
Definition at line 348 of file engine.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_engine_pool >::index, PROP_ROADVEH_WEIGHT, PROP_TRAIN_WEIGHT, RAILVEH_MULTIHEAD, VEH_ROAD, and VEH_TRAIN.
Referenced by GetDisplayMaxTractiveEffort().
Date Engine::GetLifeLengthInDays | ( | ) | const |
Returns the vehicle's (not model's!) life length in days.
Definition at line 383 of file engine.cpp.
References _settings_game, DAYS_IN_LEAP_YEAR, VehicleSettings::extend_vehicle_life, EngineInfo::lifelength, and GameSettings::vehicle.
Referenced by CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRoadVehicle(), CmdBuildShip(), and DrawVehiclePurchaseInfo().
uint Engine::GetPower | ( | ) | const |
Returns the power of the engine for display and sorting purposes.
Only trains and road vehicles have power
Definition at line 330 of file engine.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_engine_pool >::index, PROP_ROADVEH_POWER, PROP_TRAIN_POWER, VEH_ROAD, and VEH_TRAIN.
Referenced by EnginePowerVsRunningCostSorter().
Money Engine::GetRunningCost | ( | ) | const |
Return how much the running costs of this engine are.
Definition at line 221 of file engine.cpp.
References GetPrice(), grf_prop, GRFFilePropsBase< Tcnt >::grffile, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_engine_pool >::index, PROP_AIRCRAFT_RUNNING_COST_FACTOR, PROP_ROADVEH_RUNNING_COST_FACTOR, PROP_SHIP_RUNNING_COST_FACTOR, PROP_TRAIN_RUNNING_COST_FACTOR, VEH_AIRCRAFT, VEH_ROAD, VEH_SHIP, and VEH_TRAIN.
Referenced by EnginePowerVsRunningCostSorter().
FORCEINLINE bool Engine::IsGroundVehicle | ( | ) | const [inline] |
Check if the engine is a ground vehicle.
Definition at line 95 of file engine_base.h.
References type, VEH_ROAD, and VEH_TRAIN.
Referenced by GetArticulatedRefitMasks(), and IsArticulatedVehicleRefittable().
GRFFilePropsBase<NUM_CARGO + 2> Engine::grf_prop |
Properties related the the grf file.
NUM_CARGO real cargo plus two pseudo cargo sprite groups. Used for obtaining the sprite offset of custom sprites, and for evaluating callbacks.
Definition at line 56 of file engine_base.h.
Referenced by CalculateRefitMasks(), FinaliseEngineArray(), GetCost(), Train::GetDisplayImageWidth(), GetNewEngine(), GetRefitCost(), Train::GetRunningCost(), Ship::GetRunningCost(), RoadVehicle::GetRunningCost(), GetRunningCost(), Aircraft::GetRunningCost(), GetVehicleSpriteGroup(), ListPositionOfEngine(), RailVehicleLengthChanged(), SetEngineGRF(), and ShowNewGrfVehicleError().