OpenTTD Source: Aircraft Struct Reference

OpenTTD Source 15.0-RC2

Public Member Functions | Data Fields
Aircraft Struct Referencefinal

Aircraft, helicopters, rotors and their shadows belong to this class. More...

`#include <aircraft.h>`

Inheritance diagram for Aircraft:

## 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 () override
| Marks the vehicles to be redrawn and updates cached variables.
void | UpdateDeltaXY () override
| Updates the x and y offsets and the size of the sprite used for this vehicle.
ExpensesType | GetExpenseType (bool income) const override
| Sets the expense type associated to this vehicle type.
bool | IsPrimaryVehicle () const override
| Whether this is the primary vehicle in the chain.
void | GetImage (Direction direction, EngineImageType image_type, VehicleSpriteSeq *result) const override
| Gets the sprite to show for the given direction.
int | GetDisplaySpeed () const override
| Gets the speed in km-ish/h that can be sent into string parameters for string processing.
int | GetDisplayMaxSpeed () const override
| Gets the maximum speed in km-ish/h that can be sent into string parameters for string processing.
int | GetSpeedOldUnits () const
int | GetCurrentMaxSpeed () const override
| Calculates the maximum speed of the vehicle under its current conditions.
Money | GetRunningCost () const override
| Gets the running cost of a vehicle.
bool | IsInDepot () const override
| Check whether the vehicle is in the depot.
bool | Tick () override
| Calls the tick handler of the vehicle.
void | OnNewCalendarDay () override
| Calendar day handler.
void | OnNewEconomyDay () override
| Economy day handler.
uint | Crash (bool flooded=false) override
| Crash the (whole) vehicle chain.
TileIndex | GetOrderStationLocation (StationID station) override
| Determine the location for the station where the vehicle goes to next.
TileIndex | GetCargoTile () const override
ClosestDepot | FindClosestDepot () override
| 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_t | GetRange () const
| Get the range of this aircraft.
Public Member Functions inherited from SpecializedVehicle< Aircraft, VEH_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.
Public Member Functions inherited from Vehicle
virtual uint16_t | GetMaxWeight () const
| Calculates the weight value that this vehicle will have when fully loaded with its current cargo.
| 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_t & | GetGroundVehicleFlags ()
| Access the ground vehicle flags of the vehicle.
const uint16_t & | 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.
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 (bool force=false) 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_t | 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.
void | ShiftDates (TimerGameEconomy::Date interval)
| Shift all dates by given interval.
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 string parameters 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 * | Next () const
| Get the next vehicle of this vehicle.
Vehicle * | Previous () const
| Get the previous vehicle of this vehicle.
Vehicle * | First () const
| Get the first vehicle of this vehicle chain.
Vehicle * | Last ()
| Get the last vehicle of this vehicle chain.
const Vehicle * | Last () const
| Get the last vehicle of this vehicle chain.
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.
const Order * | GetFirstOrder () const
| Get the first order of the vehicles order list.
std::span< const Order > | Orders () const
std::span< Order > | Orders ()
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.
void | GetNextStoppingStation (std::vector< StationID > &next_station) const
| Get the next station the vehicle will stop at.
void | ResetRefitCaps ()
| Reset all refit_cap in the consist to cargo_cap.
void | ReleaseUnitNumber ()
| Release the vehicle's unit number.
void | CopyVehicleConfigAndStatistics (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 reset 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.
virtual void | SetDestTile (TileIndex tile)
CommandCost | SendToDepot (DoCommandFlags flags, DepotCommandFlags 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 | UpdateBoundingBoxCoordinates (bool update_cache) const
| Update the bounding box co-ordinates of the vehicle.
void | UpdatePositionAndViewport ()
| Update the position of the vehicle, and update the viewport.
bool | MarkAllViewportsDirty () const
| Marks viewports dirty where the vehicle's image is.
uint16_t | GetServiceInterval () const
void | SetServiceInterval (uint16_t interval)
bool | ServiceIntervalIsCustom () const
bool | ServiceIntervalIsPercent () const
void | SetServiceIntervalIsCustom (bool on)
void | SetServiceIntervalIsPercent (bool on)
bool | HasFullLoadOrder () const
| Check if the current vehicle has a full load order.
bool | HasConditionalOrder () const
| Check if the current vehicle has a conditional order.
bool | HasUnbunchingOrder () const
| Check if the current vehicle has an unbunching order.
void | LeaveUnbunchingDepot ()
| Leave an unbunching depot and calculate the next departure time for shared order vehicles.
bool | IsWaitingForUnbunching () const
| Check whether a vehicle inside a depot is waiting for unbunching.
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 nullptr when it doesn't exists.
const Order * | GetLastOrder () const
| Returns the last order of a vehicle, or nullptr 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.
Vehicle * | GetNextArticulatedPart () const
| Get the next part of an articulated engine.
Vehicle * | GetFirstEnginePart ()
| Get the first part of an articulated engine.
const Vehicle * | GetFirstEnginePart () const
| Get the first part of an articulated engine.
Vehicle * | GetLastEnginePart ()
| Get the last part of an articulated engine.
Vehicle * | GetNextVehicle () const
| Get the next real (non-articulated part) vehicle in the consist.
Vehicle * | GetPrevVehicle () const
| Get the previous real (non-articulated part) vehicle in the consist.
uint32_t | GetDisplayMaxWeight () const
| Calculates the maximum weight of the ground vehicle when loaded.
uint32_t | GetDisplayMinPowerToWeight () const
| Calculates the minimum power-to-weight ratio using the maximum weight of the ground vehicle.
Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_vehicle_pool >
void * | operator new (size_t size)
| Allocates space for new Titem.
void * | operator new (size_t size, Tindex index)
| Allocates space for new Titem with given index.
void * | operator new (size_t, void *ptr)
| Allocates space for new Titem at given memory address.
void | operator delete (void *p, size_t size)
| Marks Titem as free.
Public Member Functions inherited from BaseConsist
void | CopyConsistPropertiesFrom (const BaseConsist *src)
| Copy properties of other BaseConsist.
void | ResetDepotUnbunching ()
| Resets all the data used for depot unbunching.

## Data Fields
uint16_t | crashed_counter = 0
| Timer for handling crash animations.
uint8_t | pos = 0
| Next desired position of the aircraft.
uint8_t | previous_pos = 0
| Previous desired position of the aircraft.
StationID | targetairport = StationID::Invalid()
| Airport to go to next.
uint8_t | state = 0
| State of the airport.
Direction | last_direction = INVALID_DIR
uint8_t | number_consecutive_turns = 0
| Protection to prevent the aircraft of making a lot of turns in order to reach a specific point.
uint8_t | turn_counter = 0
| Ticks between each turn to prevent > 45 degree turns.
uint8_t | flags = 0
| Aircraft flags.
AircraftCache | acache {}
Data Fields inherited from Vehicle
TileIndex | tile = INVALID_TILE
| Current tile index.
TileIndex | dest_tile = INVALID_TILE
| Heading for this tile.
Money | profit_this_year = 0
| Profit this year << 8, low 8 bits are fract.
Money | profit_last_year = 0
| Profit last year << 8, low 8 bits are fract.
Money | value = 0
| Value of the vehicle.
CargoPayment * | cargo_payment = nullptr
| The cargo payment we're currently in.
Rect | coord {}
| NOSAVE: Graphical bounding box of the vehicle, i.e. what to redraw on moves.
Vehicle * | hash_viewport_next = nullptr
| NOSAVE: Next vehicle in the visual location hash.
Vehicle ** | hash_viewport_prev = nullptr
| NOSAVE: Previous vehicle in the visual location hash.
Vehicle * | hash_tile_next = nullptr
| NOSAVE: Next vehicle in the tile location hash.
Vehicle ** | hash_tile_prev = nullptr
| NOSAVE: Previous vehicle in the tile location hash.
Vehicle ** | hash_tile_current = nullptr
| NOSAVE: Cache of the current hash chain.
SpriteID | colourmap {}
| NOSAVE: cached colour mapping.
TimerGameCalendar::Year | build_year {}
| Year the vehicle has been built.
TimerGameCalendar::Date | age {}
| Age in calendar days.
TimerGameEconomy::Date | economy_age {}
| Age in economy days.
TimerGameCalendar::Date | max_age {}
| Maximum age.
TimerGameEconomy::Date | date_of_last_service {}
| Last economy date the vehicle had a service at a depot.
TimerGameCalendar::Date | date_of_last_service_newgrf {}
| Last calendar date the vehicle had a service at a depot, unchanged by the date cheat to protect against unsafe NewGRF behavior.
uint16_t | reliability = 0
| Reliability.
uint16_t | reliability_spd_dec = 0
| Reliability decrease speed.
uint8_t | breakdown_ctr = 0
| Counter for managing breakdown events.
uint8_t | breakdown_delay = 0
| Counter for managing breakdown length.
uint8_t | breakdowns_since_last_service = 0
| Counter for the amount of breakdowns.
uint8_t | breakdown_chance = 0
| Current chance of breakdowns.
int32_t | x_pos = 0
| x coordinate.
int32_t | y_pos = 0
| y coordinate.
int32_t | z_pos = 0
| z coordinate.
Direction | direction = INVALID_DIR
| facing
Owner | owner = INVALID_OWNER
| Which company owns the vehicle?
uint8_t | spritenum = 0
| currently displayed sprite index 0xfd == custom sprite, 0xfe == custom second head sprite 0xff == reserved for another custom sprite
SpriteBounds | bounds {}
| Bounding box of vehicle.
EngineID | engine_type = EngineID::Invalid()
| The type of engine used for this vehicle.
TextEffectID | fill_percent_te_id = INVALID_TE_ID
| a text-effect id to a loading indicator object
UnitID | unitnumber {}
| unit number, for display purposes only
uint16_t | cur_speed = 0
| current speed
uint8_t | subspeed = 0
| fractional speed
uint8_t | acceleration = 0
| used by train & aircraft
uint32_t | motion_counter = 0
| counter to occasionally play a vehicle sound.
uint8_t | progress = 0
| The percentage (if divided by 256) this vehicle already crossed the tile unit.
VehicleRandomTriggers | waiting_random_triggers
| Triggers to be yet matched before rerandomizing the random bits.
uint16_t | random_bits = 0
| Bits used for randomized variational spritegroups.
StationID | last_station_visited = StationID::Invalid()
| The last station we stopped at.
StationID | last_loading_station = StationID::Invalid()
| Last station the vehicle has stopped at and could possibly leave from with any cargo loaded.
TimerGameTick::TickCounter | last_loading_tick {}
| Last TimerGameTick::counter tick that the vehicle has stopped at a station and could possibly leave with any cargo loaded.
VehicleCargoList | cargo {}
| The cargo this vehicle is carrying.
CargoType | cargo_type {}
| type of cargo this vehicle is carrying
uint8_t | cargo_subtype = 0
| Used for livery refits (NewGRF variations)
uint16_t | cargo_cap = 0
| total capacity
uint16_t | refit_cap = 0
| Capacity left over from before last refit.
uint16_t | cargo_age_counter = 0
| Ticks till cargo is aged next.
int8_t | trip_occupancy = 0
| NOSAVE: Occupancy of vehicle of the current trip (updated after leaving a station).
uint8_t | day_counter = 0
| Increased by one for each day.
uint8_t | tick_counter = 0
| Increased by one for each tick.
uint8_t | running_ticks = 0
| Number of ticks this vehicle was not stopped this day.
uint16_t | load_unload_ticks = 0
| Ticks to wait before starting next cycle.
VehStates | vehstatus {}
| Status.
uint8_t | subtype = 0
| subtype (Filled with values from AircraftSubType/DisasterSubType/EffectVehicleType/GroundVehicleSubtypeFlags)
Order | current_order {}
| The current order (+ status, like: loading)
union { |
OrderList * orders = nullptr |
| Pointer to the order list for this vehicle. More...
uint32_t old_orders |
| Only used during conversion of old save games. More...
}; |  |
NewGRFCache | grf_cache {}
| Cache of often used calculated NewGRF values.
VehicleCache | vcache {}
| Cache of often used vehicle values.
GroupID | group_id = GroupID::Invalid()
| Index of group Pool array.
MutableSpriteCache | sprite_cache {}
| Cache of sprites and values related to recalculating them, see MutableSpriteCache.
Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_vehicle_pool >
Tindex | index
| Index of this pool item.
Data Fields inherited from BaseVehicle
VehicleType | type = VEH_INVALID
| Type of vehicle.
Data Fields inherited from BaseConsist
std::string | name {}
| Name of vehicle.
TimerGameTick::Ticks | current_order_time {}
| How many ticks have passed since this order started.
TimerGameTick::Ticks | lateness_counter {}
| How many ticks late (or early if negative) this vehicle is.
TimerGameTick::TickCounter | timetable_start {}
| At what tick of TimerGameTick::counter the vehicle should start its timetable.
TimerGameTick::TickCounter | depot_unbunching_last_departure {}
| When the vehicle last left its unbunching depot.
TimerGameTick::TickCounter | depot_unbunching_next_departure {}
| When the vehicle will next try to leave its unbunching depot.
TimerGameTick::Ticks | round_trip_time
| How many ticks for a single circumnavigation of the orders.
uint16_t | service_interval = 0
| The interval for (automatic) servicing; either in days or %.
VehicleOrderID | cur_real_order_index = 0
| The index to the current real (non-implicit) order.
VehicleOrderID | cur_implicit_order_index = 0
| The index to the current implicit order.
VehicleFlags | vehicle_flags {}
| Used for gradual loading and other miscellaneous things (.

## Additional Inherited Members
Public Types inherited from SpecializedVehicle< Aircraft, VEH_AIRCRAFT >
typedef SpecializedVehicle< Aircraft, Type > | SpecializedVehicleBase
| Our type.
Public Types inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_vehicle_pool >
typedef struct Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache > | Pool
| Type of the pool this item is going to be part of.
Static Public Member Functions inherited from SpecializedVehicle< Aircraft, VEH_AIRCRAFT >
static bool | IsValidID (auto index)
| Tests whether given index is a valid index for vehicle of this type.
static Aircraft * | Get (auto index)
| Gets vehicle with given index.
static Aircraft * | GetIfValid (auto 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 Pool::IterateWrapper< Aircraft > | Iterate (size_t from=0)
| Returns an iterable ensemble of all valid vehicles of type T.
Static Public Member Functions inherited from Vehicle
static uint | GetAdvanceSpeed (uint speed)
| Determines the effective vehicle movement speed.
Static Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_vehicle_pool >
static bool | CanAllocateItem (size_t n=1)
| Helper functions so we can use PoolItem::Function() instead of _poolitem_pool.Function()
static bool | CleaningPool ()
| Returns current state of pool cleaning - yes or no.
static bool | IsValidID (auto index)
| Tests whether given index can be used to get valid (non-nullptr) Titem.
static Titem * | Get (auto index)
| Returns Titem with given index.
static Titem * | GetIfValid (auto index)
| Returns Titem with given index.
static size_t | GetPoolSize ()
| Returns first unused index.
static size_t | GetNumItems ()
| Returns number of valid items in the pool.
static void | PostDestructor (size_t index)
| Dummy function called after destructor of each member.
static Pool::IterateWrapper< Titem > | Iterate (size_t from=0)
| Returns an iterable ensemble of all valid Titem.
Static Public Attributes inherited from SpecializedVehicle< Aircraft, VEH_AIRCRAFT >
static const VehicleType | EXPECTED_TYPE
| Specialized type.

## Detailed Description

Aircraft, helicopters, rotors and their shadows belong to this class.

Definition at line 72 of file aircraft.h.

## Constructor & Destructor Documentation

## ◆ Aircraft()

Aircraft::Aircraft | ( |  | ) |
| inline

We don't want GCC to zero our struct! It already is zeroed and has an index!

Definition at line 86 of file aircraft.h.

## ◆ ~Aircraft()

virtual Aircraft::~Aircraft | ( |  | ) |
| inlinevirtual

We want to 'destruct' the right class.

Definition at line 88 of file aircraft.h.

References Vehicle::PreDestructor().

## Member Function Documentation

## ◆ Crash()

uint Aircraft::Crash | ( | bool | flooded = `false` | ) |
| overridevirtual

Crash the (whole) vehicle chain.

Parameters

  flooded | whether the cause of the crash is flooding or not.

Returns
  the number of lost souls.

Reimplemented from Vehicle.

Definition at line 1336 of file aircraft_cmd.cpp.

References Vehicle::Crash(), and crashed_counter.

Referenced by CrashAirplane().

## ◆ FindClosestDepot()

ClosestDepot Aircraft::FindClosestDepot | ( |  | ) |
| overridevirtual

Find the closest depot for this vehicle and tell us the location, DestinationID and whether we should reverse.

Returns
  A structure with information about the closest depot, if found.

Reimplemented from Vehicle.

Definition at line 397 of file aircraft_cmd.cpp.

References Station::airport, CanVehicleUseStation(), FindNearestHangar(), SpecializedStation< Station, false >::Get(), GetTargetAirportIfValid(), Airport::HasHangar(), Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem< Tpool >::index, and BaseStation::xy.

## ◆ GetCargoTile()

TileIndex Aircraft::GetCargoTile | ( |  | ) | const
| inlineoverridevirtual

Reimplemented from Vehicle.

Definition at line 112 of file aircraft.h.

## ◆ GetCurrentMaxSpeed()

int Aircraft::GetCurrentMaxSpeed | ( |  | ) | const
| inlineoverridevirtual

Calculates the maximum speed of the vehicle under its current conditions.

Returns
  Current maximum speed in native units.

Reimplemented from Vehicle.

Definition at line 98 of file aircraft.h.

## ◆ GetDisplayMaxSpeed()

int Aircraft::GetDisplayMaxSpeed | ( |  | ) | const
| inlineoverridevirtual

Gets the maximum speed in km-ish/h that can be sent into string parameters for string processing.

Returns
  the vehicle's maximum speed

Reimplemented from Vehicle.

Definition at line 96 of file aircraft.h.

References VehicleCache::cached_max_speed, and Vehicle::vcache.

## ◆ GetDisplaySpeed()

int Aircraft::GetDisplaySpeed | ( |  | ) | const
| inlineoverridevirtual

Gets the speed in km-ish/h that can be sent into string parameters for string processing.

Returns
  the vehicle's speed

Reimplemented from Vehicle.

Definition at line 95 of file aircraft.h.

References Vehicle::cur_speed.

## ◆ GetExpenseType()

ExpensesType Aircraft::GetExpenseType | ( | bool | income | ) | const
| inlineoverridevirtual

Sets the expense type associated to this vehicle type.

Parameters

  income | whether this is income or (running) expenses of the vehicle

Reimplemented from Vehicle.

Definition at line 92 of file aircraft.h.

References EXPENSES_AIRCRAFT_REVENUE, and EXPENSES_AIRCRAFT_RUN.

## ◆ GetImage()

void Aircraft::GetImage | ( | Direction | direction,
|  | EngineImageType | image_type,
|  | VehicleSpriteSeq * | result
| ) |  | const
| overridevirtual

Gets the sprite to show for the given direction.

Parameters

  | direction | the direction the vehicle is facing
  [out] | result | Vehicle sprite sequence.

Reimplemented from Vehicle.

Definition at line 172 of file aircraft_cmd.cpp.

References Vehicle::direction, Vehicle::GetEngine(), VehicleSpriteSeq::IsValid(), Engine::original_image_index, VehicleSpriteSeq::Set(), and Vehicle::spritenum.

## ◆ GetOrderStationLocation()

TileIndex Aircraft::GetOrderStationLocation | ( | StationID | station | ) |
| overridevirtual

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.

Parameters

  station | the station to make the next location of the vehicle.

Returns
  the location (tile) to aim for.

Reimplemented from Vehicle.

Definition at line 1315 of file aircraft_cmd.cpp.

References AircraftNextAirportPos_and_Order(), FLYING, and state.

Referenced by UpdateOrderDest().

## ◆ GetRange()

uint16_t Aircraft::GetRange | ( |  | ) | const
| inline

Get the range of this aircraft.

Returns
  Range in tiles or 0 if unlimited range.

Definition at line 133 of file aircraft.h.

References AircraftCache::cached_max_range.

Referenced by DrawOrderString().

## ◆ GetRunningCost()

Money Aircraft::GetRunningCost | ( |  | ) | const
| overridevirtual

Gets the running cost of a vehicle.

Returns
  the vehicle's running cost

Reimplemented from Vehicle.

Definition at line 439 of file aircraft_cmd.cpp.

References Vehicle::GetEngine(), Engine::GetGRF(), GetPrice(), and PROP_AIRCRAFT_RUNNING_COST_FACTOR.

Referenced by OnNewEconomyDay().

## ◆ GetSpeedOldUnits()

int Aircraft::GetSpeedOldUnits | ( |  | ) | const
| inline

Definition at line 97 of file aircraft.h.

## ◆ IsInDepot()

bool Aircraft::IsInDepot | ( |  | ) | const
| inlineoverridevirtual

Check whether the vehicle is in the depot.

Returns
  true if and only if the vehicle is in the depot.

Reimplemented from Vehicle.

Definition at line 101 of file aircraft.h.

References Hidden, IsHangarTile(), IsPrimaryVehicle(), BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), Vehicle::tile, and Vehicle::vehstatus.

## ◆ IsNormalAircraft()

bool Aircraft::IsNormalAircraft | ( |  | ) | const
| inline

Check if the aircraft type is a normal flying device; eg not a rotor or a shadow.

Returns
  Returns true if the aircraft is a helicopter/airplane and false if it is a shadow or a rotor

Definition at line 121 of file aircraft.h.

References AIR_AIRCRAFT, and Vehicle::subtype.

Referenced by AfterLoadVehiclesPhase2(), CalculateCompanyAssetValue(), GetLoadAmount(), Vehicle::HasEngineType(), Vehicle::IsEngineCountable(), IsPrimaryVehicle(), IterateVehicleParts(), OnNewCalendarDay(), OnNewEconomyDay(), ReserveConsist(), Tick(), and UpdateAirplanesOnNewStation().

## ◆ IsPrimaryVehicle()

bool Aircraft::IsPrimaryVehicle | ( |  | ) | const
| inlineoverridevirtual

Whether this is the primary vehicle in the chain.

Reimplemented from Vehicle.

Definition at line 93 of file aircraft.h.

References IsNormalAircraft().

Referenced by IsInDepot().

## ◆ MarkDirty()

void Aircraft::MarkDirty | ( |  | ) |
| overridevirtual

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 1326 of file aircraft_cmd.cpp.

References AIR_HELICOPTER, Vehicle::colourmap, EIT_ON_MAP, SpecializedVehicle< Aircraft, VEH_AIRCRAFT >::Next(), Vehicle::sprite_cache, MutableSpriteCache::sprite_seq, Vehicle::subtype, and SpecializedVehicle< Aircraft, VEH_AIRCRAFT >::UpdateViewport().

## ◆ OnNewCalendarDay()

void Aircraft::OnNewCalendarDay | ( |  | ) |
| overridevirtual

Calendar day handler.

Reimplemented from Vehicle.

Definition at line 447 of file aircraft_cmd.cpp.

References AgeVehicle(), and IsNormalAircraft().

## ◆ OnNewEconomyDay()

void Aircraft::OnNewEconomyDay | ( |  | ) |
| overridevirtual

Economy day handler.

Reimplemented from Vehicle.

Definition at line 454 of file aircraft_cmd.cpp.

References CheckOrders(), Vehicle::day_counter, Ticks::DAY_TICKS, TimerGameConst< struct Calendar >::DAYS_IN_YEAR, DecreaseVehicleValue(), EconomyAgeVehicle(), EXPENSES_AIRCRAFT_RUN, CommandCost::GetCost(), GetRunningCost(), Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_vehicle_pool >::index, IsNormalAircraft(), Vehicle::owner, Vehicle::profit_this_year, Vehicle::running_ticks, SetWindowClassesDirty(), SetWindowDirty(), SubtractMoneyFromCompanyFract(), WC_AIRCRAFT_LIST, and WC_VEHICLE_DETAILS.

## ◆ Tick()

bool Aircraft::Tick | ( |  | ) |
| overridevirtual

Calls the tick handler of the vehicle.

Returns
  is this vehicle still valid?

Reimplemented from Vehicle.

Definition at line 2134 of file aircraft_cmd.cpp.

References AIR_HELICOPTER, BaseConsist::current_order_time, IsNormalAircraft(), PFE_GL_AIRCRAFT, Vehicle::running_ticks, Stopped, Vehicle::subtype, BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), Vehicle::tick_counter, and Vehicle::vehstatus.

## ◆ UpdateDeltaXY()

void Aircraft::UpdateDeltaXY | ( |  | ) |
| overridevirtual

Updates the x and y offsets and the size of the sprite used for this vehicle.

Reimplemented from Vehicle.

Definition at line 48 of file aircraft_cmd.cpp.

References AIR_AIRCRAFT, AIR_HELICOPTER, AIR_ROTOR, AIR_SHADOW, Vehicle::bounds, ENDTAKEOFF, SpriteBounds::extent, FLYING, HELILANDING, LANDING, SpriteBounds::origin, state, Vehicle::subtype, Coord3D< T >::x, Coord3D< T >::y, and Coord3D< T >::z.

Referenced by AircraftLandAirplane(), and CmdBuildAircraft().

## Field Documentation

## ◆ acache

AircraftCache Aircraft::acache {}

Definition at line 83 of file aircraft.h.

## ◆ crashed_counter

uint16_t Aircraft::crashed_counter = 0

Timer for handling crash animations.

Definition at line 73 of file aircraft.h.

Referenced by Crash(), and HandleCrashedAircraft().

## ◆ flags

uint8_t Aircraft::flags = 0

Aircraft flags.

See also
  AirVehicleFlags

Definition at line 81 of file aircraft.h.

Referenced by AircraftController(), AircraftHandleDestTooFar(), and CmdStartStopVehicle().

## ◆ last_direction

Direction Aircraft::last_direction = INVALID_DIR

Definition at line 78 of file aircraft.h.

## ◆ number_consecutive_turns

uint8_t Aircraft::number_consecutive_turns = 0

Protection to prevent the aircraft of making a lot of turns in order to reach a specific point.

Definition at line 79 of file aircraft.h.

Referenced by AircraftController().

## ◆ pos

uint8_t Aircraft::pos = 0

Next desired position of the aircraft.

Definition at line 74 of file aircraft.h.

Referenced by AircraftController(), AircraftEventHandler_AtTerminal(), AircraftEventHandler_EnterHangar(), AircraftEventHandler_InHangar(), AircraftNextAirportPos_and_Order(), AirportFindFreeTerminal(), AirportHasBlock(), AirportSetBlocks(), CmdBuildAircraft(), MapAircraftMovementState(), Vehicle::PreDestructor(), and UpdateAirplanesOnNewStation().

## ◆ previous_pos

uint8_t Aircraft::previous_pos = 0

Previous desired position of the aircraft.

Definition at line 75 of file aircraft.h.

Referenced by AircraftController(), AircraftEventHandler_AtTerminal(), AircraftEventHandler_InHangar(), AircraftNextAirportPos_and_Order(), CmdBuildAircraft(), Vehicle::PreDestructor(), and UpdateAirplanesOnNewStation().

## ◆ state

uint8_t Aircraft::state = 0

State of the airport.

See also
  AirportMovementStates

Definition at line 77 of file aircraft.h.

Referenced by AircraftController(), AircraftEventHandler_AtTerminal(), AircraftEventHandler_EnterHangar(), AircraftEventHandler_InHangar(), CmdBuildAircraft(), CmdStartStopVehicle(), FreeTerminal(), GetOrderStationLocation(), MapAircraftMovementAction(), MapAircraftMovementState(), Vehicle::SendToDepot(), UpdateAirplanesOnNewStation(), UpdateDeltaXY(), and UpdateOrderDest().

## ◆ targetairport

StationID Aircraft::targetairport = StationID::Invalid()

Airport to go to next.

Definition at line 76 of file aircraft.h.

Referenced by AircraftController(), AircraftEntersTerminal(), AircraftEventHandler_AtTerminal(), AircraftEventHandler_InHangar(), AircraftGetEntryPoint(), AircraftLandAirplane(), AircraftNextAirportPos_and_Order(), AirportFindFreeTerminal(), AirportHasBlock(), AirportSetBlocks(), CmdBuildAircraft(), FreeTerminal(), GetTargetAirportIfValid(), MaybeCrashAirplane(), Vehicle::SendToDepot(), UpdateAirplanesOnNewStation(), and UpdateOrderDest().

## ◆ turn_counter

uint8_t Aircraft::turn_counter = 0

Ticks between each turn to prevent > 45 degree turns.

Definition at line 80 of file aircraft.h.

Referenced by AircraftController().

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

- src/aircraft.h
- src/aircraft_cmd.cpp