OpenTTD
|
Aircraft, helicopters, rotors and their shadows belong to this class. More...
#include <aircraft.h>
Public Member Functions | |
Aircraft () | |
We don't want GCC to zero our struct! It already is zeroed and has an index! | |
virtual | ~Aircraft () |
We want to 'destruct' the right class. | |
void | MarkDirty () |
Marks the vehicles to be redrawn and updates cached variables. | |
void | UpdateDeltaXY (Direction direction) |
Updates the x and y offsets and the size of the sprite used for this vehicle. | |
ExpensesType | GetExpenseType (bool income) const |
Sets the expense type associated to this vehicle type. | |
bool | IsPrimaryVehicle () const |
Whether this is the primary vehicle in the chain. | |
void | GetImage (Direction direction, EngineImageType image_type, VehicleSpriteSeq *result) const |
Gets the sprite to show for the given direction. | |
int | GetDisplaySpeed () const |
Gets the speed in km-ish/h that can be sent into SetDParam for string processing. | |
int | GetDisplayMaxSpeed () const |
Gets the maximum speed in km-ish/h that can be sent into SetDParam for string processing. | |
int | GetSpeedOldUnits () const |
int | GetCurrentMaxSpeed () const |
Calculates the maximum speed of the vehicle under its current conditions. | |
Money | GetRunningCost () const |
Gets the running cost of a vehicle. | |
bool | IsInDepot () const |
Check whether the vehicle is in the depot. | |
bool | Tick () |
Calls the tick handler of the vehicle. | |
void | OnNewDay () |
Calls the new day handler of the vehicle. | |
uint | Crash (bool flooded=false) |
Crash the (whole) vehicle chain. | |
TileIndex | GetOrderStationLocation (StationID station) |
Determine the location for the station where the vehicle goes to next. | |
bool | FindClosestDepot (TileIndex *location, DestinationID *destination, bool *reverse) |
Find the closest depot for this vehicle and tell us the location, DestinationID and whether we should reverse. | |
bool | IsNormalAircraft () const |
Check if the aircraft type is a normal flying device; eg not a rotor or a shadow. | |
uint16 | GetRange () const |
Get the range of this aircraft. | |
![]() | |
SpecializedVehicle () | |
Set vehicle type correctly. | |
Aircraft * | First () const |
Get the first vehicle in the chain. | |
Aircraft * | Last () |
Get the last vehicle in the chain. | |
const Aircraft * | Last () const |
Get the last vehicle in the chain. | |
Aircraft * | Next () const |
Get next vehicle in the chain. | |
Aircraft * | Previous () const |
Get previous vehicle in the chain. | |
Aircraft * | GetNextArticulatedPart () |
Get the next part of an articulated engine. | |
Aircraft * | GetNextArticulatedPart () const |
Get the next part of an articulated engine. | |
Aircraft * | GetFirstEnginePart () |
Get the first part of an articulated engine. | |
const Aircraft * | GetFirstEnginePart () const |
Get the first part of an articulated engine. | |
Aircraft * | GetLastEnginePart () |
Get the last part of an articulated engine. | |
Aircraft * | GetNextVehicle () const |
Get the next real (non-articulated part) vehicle in the consist. | |
Aircraft * | GetPrevVehicle () const |
Get the previous real (non-articulated part) vehicle in the consist. | |
void | UpdateViewport (bool force_update, bool update_delta) |
Update vehicle sprite- and position caches. | |
![]() | |
Vehicle (VehicleType type=VEH_INVALID) | |
Vehicle constructor. | |
void | PreDestructor () |
Destroy all stuff that (still) needs the virtual functions to work properly. | |
virtual | ~Vehicle () |
We want to 'destruct' the right class. | |
void | BeginLoading () |
Prepare everything to begin the loading when arriving at a station. | |
void | CancelReservation (StationID next, Station *st) |
Return all reserved cargo packets to the station and reset all packets staged for transfer. | |
void | LeaveStation () |
Perform all actions when leaving a station. | |
GroundVehicleCache * | GetGroundVehicleCache () |
Access the ground vehicle cache of the vehicle. | |
const GroundVehicleCache * | GetGroundVehicleCache () const |
Access the ground vehicle cache of the vehicle. | |
uint16 & | GetGroundVehicleFlags () |
Access the ground vehicle flags of the vehicle. | |
const uint16 & | GetGroundVehicleFlags () const |
Access the ground vehicle flags of the vehicle. | |
void | DeleteUnreachedImplicitOrders () |
Delete all implicit orders which were not reached. | |
void | HandleLoading (bool mode=false) |
Handle the loading of the vehicle; when not it skips through dummy orders and does nothing in all other cases. | |
void | GetConsistFreeCapacities (SmallMap< CargoID, uint > &capacities) const |
Get a map of cargoes and free capacities in the consist. | |
uint | GetConsistTotalCapacity () const |
uint | GetOldAdvanceSpeed (uint speed) |
Determines the effective direction-specific vehicle movement speed. | |
uint | GetAdvanceDistance () |
Determines the vehicle "progress" needed for moving a step. | |
virtual void | PlayLeaveStationSound () const |
Play the sound associated with leaving the station. | |
const Engine * | GetEngine () const |
Retrieves the engine of the vehicle. | |
const GRFFile * | GetGRF () const |
Retrieve the NewGRF the vehicle is tied to. | |
uint32 | GetGRFID () const |
Retrieve the GRF ID of the NewGRF the vehicle is tied to. | |
void | InvalidateNewGRFCache () |
Invalidates cached NewGRF variables. | |
void | InvalidateNewGRFCacheOfChain () |
Invalidates cached NewGRF variables of all vehicles in the chain (after the current vehicle) | |
bool | IsGroundVehicle () const |
Check if the vehicle is a ground vehicle. | |
virtual bool | IsChainInDepot () const |
Check whether the whole vehicle chain is in the depot. | |
bool | IsStoppedInDepot () const |
Check whether the vehicle is in the depot and stopped. | |
virtual Trackdir | GetVehicleTrackdir () const |
Returns the Trackdir on which the vehicle is currently located. | |
Money | GetDisplayRunningCost () const |
Gets the running cost of a vehicle that can be sent into SetDParam for string processing. | |
Money | GetDisplayProfitThisYear () const |
Gets the profit vehicle had this year. | |
Money | GetDisplayProfitLastYear () const |
Gets the profit vehicle had last year. | |
void | SetNext (Vehicle *next) |
Set the next vehicle of this vehicle. | |
Vehicle * | Move (int n) |
Get the vehicle at offset n of this vehicle chain. | |
const Vehicle * | Move (int n) const |
Get the vehicle at offset n of this vehicle chain. | |
Order * | GetFirstOrder () const |
Get the first order of the vehicles order list. | |
void | AddToShared (Vehicle *shared_chain) |
Adds this vehicle to a shared vehicle chain. | |
void | RemoveFromShared () |
Removes the vehicle from the shared order list. | |
Vehicle * | NextShared () const |
Get the next vehicle of the shared vehicle chain. | |
Vehicle * | PreviousShared () const |
Get the previous vehicle of the shared vehicle chain. | |
Vehicle * | FirstShared () const |
Get the first vehicle of this vehicle chain. | |
bool | IsOrderListShared () const |
Check if we share our orders with another vehicle. | |
VehicleOrderID | GetNumOrders () const |
Get the number of orders this vehicle has. | |
VehicleOrderID | GetNumManualOrders () const |
Get the number of manually added orders this vehicle has. | |
StationIDStack | GetNextStoppingStation () const |
Get the next station the vehicle will stop at. | |
void | ResetRefitCaps () |
Reset all refit_cap in the consist to cargo_cap. | |
void | CopyVehicleConfigAndStatistics (const Vehicle *src) |
Copy certain configurations and statistics of a vehicle after successful autoreplace/renew The function shall copy everything that cannot be copied by a command (like orders / group etc), and that shall not be resetted for the new vehicle. | |
bool | HandleBreakdown () |
Handle all of the aspects of a vehicle breakdown This includes adding smoke and sounds, and ending the breakdown when appropriate. | |
bool | NeedsAutorenewing (const Company *c, bool use_renew_setting=true) const |
Function to tell if a vehicle needs to be autorenewed. | |
bool | NeedsServicing () const |
Check if the vehicle needs to go to a depot in near future (if a opportunity presents itself) for service or replacement. | |
bool | NeedsAutomaticServicing () const |
Checks if the current order should be interrupted for a service-in-depot order. | |
CommandCost | SendToDepot (DoCommandFlag flags, DepotCommand command) |
Send this vehicle to the depot using the given command(s). | |
void | UpdateVisualEffect (bool allow_power_change=true) |
Update the cached visual effect. | |
void | ShowVisualEffect () const |
Draw visual effects (smoke and/or sparks) for a vehicle chain. | |
void | UpdatePosition () |
Update the position of the vehicle. | |
void | UpdateViewport (bool dirty) |
Update the vehicle on the viewport, updating the right hash and setting the new coordinates. | |
void | UpdatePositionAndViewport () |
Update the position of the vehicle, and update the viewport. | |
void | MarkAllViewportsDirty () const |
Marks viewports dirty where the vehicle's image is. | |
uint16 | GetServiceInterval () const |
void | SetServiceInterval (uint16 interval) |
bool | ServiceIntervalIsCustom () const |
bool | ServiceIntervalIsPercent () const |
void | SetServiceIntervalIsCustom (bool on) |
void | SetServiceIntervalIsPercent (bool on) |
void | IncrementImplicitOrderIndex () |
Increments cur_implicit_order_index, keeps care of the wrap-around and invalidates the GUI. | |
void | IncrementRealOrderIndex () |
Advanced cur_real_order_index to the next real order, keeps care of the wrap-around and invalidates the GUI. | |
void | UpdateRealOrderIndex () |
Skip implicit orders until cur_real_order_index is a non-implicit order. | |
Order * | GetOrder (int index) const |
Returns order 'index' of a vehicle or NULL when it doesn't exists. | |
Order * | GetLastOrder () const |
Returns the last order of a vehicle, or NULL if it doesn't exists. | |
bool | IsEngineCountable () const |
Check if a vehicle is counted in num_engines in each company struct. | |
bool | HasEngineType () const |
Check whether Vehicle::engine_type has any meaning. | |
bool | HasDepotOrder () const |
Checks if a vehicle has a depot in its order list. | |
void | HandlePathfindingResult (bool path_found) |
Handle the pathfinding result, especially the lost status. | |
bool | IsFrontEngine () const |
Check if the vehicle is a front engine. | |
bool | IsArticulatedPart () const |
Check if the vehicle is an articulated part of an engine. | |
bool | HasArticulatedPart () const |
Check if an engine has an articulated part. | |
![]() | |
void * | operator new (size_t size) |
Allocates space for new Titem. | |
void * | operator new (size_t size, size_t index) |
Allocates space for new Titem with given index. | |
void * | operator new (size_t size, void *ptr) |
Allocates space for new Titem at given memory address. | |
void | operator delete (void *p) |
Marks Titem as free. | |
![]() | |
void | CopyConsistPropertiesFrom (const BaseConsist *src) |
Copy properties of other BaseConsist. |
Data Fields | |
uint16 | crashed_counter |
Timer for handling crash animations. | |
byte | pos |
Next desired position of the aircraft. | |
byte | previous_pos |
Previous desired position of the aircraft. | |
StationID | targetairport |
Airport to go to next. | |
byte | state |
State of the airport. | |
DirectionByte | last_direction |
byte | number_consecutive_turns |
Protection to prevent the aircraft of making a lot of turns in order to reach a specific point. | |
byte | turn_counter |
Ticks between each turn to prevent > 45 degree turns. | |
byte | flags |
Aircraft flags. | |
AircraftCache | acache |
Additional Inherited Members | |
![]() | |
typedef SpecializedVehicle < Aircraft, Type > | SpecializedVehicleBase |
Our type. | |
![]() | |
static bool | IsValidID (size_t index) |
Tests whether given index is a valid index for vehicle of this type. | |
static Aircraft * | Get (size_t index) |
Gets vehicle with given index. | |
static Aircraft * | GetIfValid (size_t index) |
Returns vehicle if the index is a valid index for this vehicle type. | |
static Aircraft * | From (Vehicle *v) |
Converts a Vehicle to SpecializedVehicle with type checking. | |
static const Aircraft * | From (const Vehicle *v) |
Converts a const Vehicle to const SpecializedVehicle with type checking. | |
![]() | |
static const VehicleType | EXPECTED_TYPE |
Specialized type. |
Aircraft, helicopters, rotors and their shadows belong to this class.
Definition at line 74 of file aircraft.h.
|
inlinevirtual |
We want to 'destruct' the right class.
Definition at line 90 of file aircraft.h.
References Vehicle::PreDestructor().
|
virtual |
Crash the (whole) vehicle chain.
flooded | whether the cause of the crash is flooding or not. |
Reimplemented from Vehicle.
Definition at line 1258 of file aircraft_cmd.cpp.
References crashed_counter.
Referenced by CrashAirplane().
|
virtual |
Find the closest depot for this vehicle and tell us the location, DestinationID and whether we should reverse.
location | where do we go to? |
destination | what hangar do we go to? |
reverse | should the vehicle be reversed? |
Reimplemented from Vehicle.
Definition at line 377 of file aircraft_cmd.cpp.
References Station::airport, FindNearestHangar(), SpecializedVehicle< Aircraft, VEH_AIRCRAFT >::Get(), GetTargetAirportIfValid(), Airport::HasHangar(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, and BaseStation::xy.
|
inlinevirtual |
Calculates the maximum speed of the vehicle under its current conditions.
Reimplemented from Vehicle.
Definition at line 100 of file aircraft.h.
|
inlinevirtual |
Gets the maximum speed in km-ish/h that can be sent into SetDParam for string processing.
Reimplemented from Vehicle.
Definition at line 98 of file aircraft.h.
References VehicleCache::cached_max_speed, and Vehicle::vcache.
|
inlinevirtual |
Gets the speed in km-ish/h that can be sent into SetDParam for string processing.
Reimplemented from Vehicle.
Definition at line 97 of file aircraft.h.
References Vehicle::cur_speed.
|
inlinevirtual |
Sets the expense type associated to this vehicle type.
income | whether this is income or (running) expenses of the vehicle |
Reimplemented from Vehicle.
Definition at line 94 of file aircraft.h.
References EXPENSES_AIRCRAFT_INC, and EXPENSES_AIRCRAFT_RUN.
|
virtual |
Gets the sprite to show for the given direction.
direction | the direction the vehicle is facing | |
[out] | result | Vehicle sprite sequence. |
Reimplemented from Vehicle.
Definition at line 155 of file aircraft_cmd.cpp.
References Vehicle::GetEngine(), VehicleSpriteSeq::IsValid(), Engine::original_image_index, VehicleSpriteSeq::Set(), and Vehicle::spritenum.
|
virtual |
Determine the location for the station where the vehicle goes to next.
Things done for example are allocating slots in a road stop or exact location of the platform is determined for ships.
station | the station to make the next location of the vehicle. |
Reimplemented from Vehicle.
Definition at line 1237 of file aircraft_cmd.cpp.
References AircraftNextAirportPos_and_Order(), FLYING, and state.
|
inline |
Get the range of this aircraft.
Definition at line 133 of file aircraft.h.
References AircraftCache::cached_max_range.
Referenced by DrawOrderString(), and VehicleDetailsWindow::DrawWidget().
|
virtual |
Gets the running cost of a vehicle.
Reimplemented from Vehicle.
Definition at line 422 of file aircraft_cmd.cpp.
References Vehicle::GetEngine(), Engine::GetGRF(), GetPrice(), and PROP_AIRCRAFT_RUNNING_COST_FACTOR.
Referenced by OnNewDay().
|
inlinevirtual |
Check whether the vehicle is in the depot.
Reimplemented from Vehicle.
Definition at line 103 of file aircraft.h.
References IsHangarTile(), IsPrimaryVehicle(), Vehicle::tile, Vehicle::vehstatus, and VS_HIDDEN.
|
inline |
Check if the aircraft type is a normal flying device; eg not a rotor or a shadow.
Definition at line 121 of file aircraft.h.
References AIR_AIRCRAFT, and Vehicle::subtype.
Referenced by AfterLoadGame(), CalculateCompanyValue(), GetLoadAmount(), Vehicle::HasEngineType(), Vehicle::IsEngineCountable(), IsPrimaryVehicle(), IterateVehicleParts(), NewVehicleAvailable(), OnNewDay(), RemoveAirport(), ReserveConsist(), Tick(), UpdateAirplanesOnNewStation(), UpdateOldAircraft(), and Station::~Station().
|
virtual |
Marks the vehicles to be redrawn and updates cached variables.
This method marks the area of the vehicle on the screen as dirty. It can be use to repaint the vehicle.
Reimplemented from Vehicle.
Definition at line 1248 of file aircraft_cmd.cpp.
References AIR_HELICOPTER, Vehicle::colourmap, EIT_ON_MAP, SpecializedVehicle< Aircraft, VEH_AIRCRAFT >::Next(), Vehicle::sprite_seq, Vehicle::subtype, and SpecializedVehicle< Aircraft, VEH_AIRCRAFT >::UpdateViewport().
|
virtual |
Calls the tick handler of the vehicle.
Reimplemented from Vehicle.
Definition at line 2037 of file aircraft_cmd.cpp.
References AIR_HELICOPTER, BaseConsist::current_order_time, IsNormalAircraft(), Vehicle::running_ticks, Vehicle::subtype, Vehicle::tick_counter, Vehicle::vehstatus, and VS_STOPPED.
|
virtual |
Updates the x and y offsets and the size of the sprite used for this vehicle.
direction | the direction the vehicle is facing |
Reimplemented from Vehicle.
Definition at line 45 of file aircraft_cmd.cpp.
References AIR_AIRCRAFT, AIR_HELICOPTER, AIR_ROTOR, AIR_SHADOW, ENDTAKEOFF, FLYING, HELILANDING, LANDING, state, Vehicle::subtype, Vehicle::x_extent, Vehicle::x_offs, Vehicle::y_extent, Vehicle::y_offs, and Vehicle::z_extent.
Referenced by AircraftLandAirplane(), and CmdBuildAircraft().
byte Aircraft::flags |
Aircraft flags.
Definition at line 83 of file aircraft.h.
Referenced by AircraftHandleDestTooFar().
byte Aircraft::state |
State of the airport.
Definition at line 79 of file aircraft.h.
Referenced by AfterLoadGame(), AircraftController(), AircraftEventHandler_AtTerminal(), AircraftEventHandler_EnterHangar(), AircraftEventHandler_InHangar(), CmdBuildAircraft(), CmdStartStopVehicle(), FreeTerminal(), GetOrderStationLocation(), MapAircraftMovementAction(), MapAircraftMovementState(), RemoveAirport(), Vehicle::SendToDepot(), UpdateAirplanesOnNewStation(), UpdateDeltaXY(), UpdateOldAircraft(), and UpdateOrderDest().