OpenTTD Source
20241108-master-g80f628063a
|
Base for aircraft. More...
Go to the source code of this file.
Data Structures | |
struct | AircraftCache |
Variables that are cached to improve performance and such. More... | |
struct | Aircraft |
Aircraft, helicopters, rotors and their shadows belong to this class. More... | |
Enumerations | |
enum | AircraftSubType { AIR_HELICOPTER = 0 , AIR_AIRCRAFT = 2 , AIR_SHADOW = 4 , AIR_ROTOR = 6 } |
An aircraft can be one of those types. More... | |
enum | AirVehicleFlags { VAF_DEST_TOO_FAR = 0 , VAF_IN_MAX_HEIGHT_CORRECTION = 1 , VAF_IN_MIN_HEIGHT_CORRECTION = 2 , VAF_HELI_DIRECT_DESCENT = 3 } |
Flags for air vehicles; shared with disaster vehicles. More... | |
Functions | |
void | HandleAircraftEnterHangar (Aircraft *v) |
Handle Aircraft specific tasks when an Aircraft enters a hangar. More... | |
void | GetAircraftSpriteSize (EngineID engine, uint &width, uint &height, int &xoffs, int &yoffs, EngineImageType image_type) |
Get the size of the sprite of an aircraft sprite heading west (used for lists). More... | |
void | UpdateAirplanesOnNewStation (const Station *st) |
Updates the status of the Aircraft heading or in the station. More... | |
void | UpdateAircraftCache (Aircraft *v, bool update_range=false) |
Update cached values of an aircraft. More... | |
void | AircraftLeaveHangar (Aircraft *v, Direction exit_dir) |
Aircraft is about to leave the hangar. More... | |
void | AircraftNextAirportPos_and_Order (Aircraft *v) |
set the right pos when heading to other airports after takeoff | |
void | SetAircraftPosition (Aircraft *v, int x, int y, int z) |
Set aircraft position. More... | |
void | GetAircraftFlightLevelBounds (const Vehicle *v, int *min, int *max) |
Get the 'flight level' bounds, in pixels from 'z_pos' 0 for a particular vehicle for normal flight situation. More... | |
template<class T > | |
int | GetAircraftFlightLevel (T *v, bool takeoff=false) |
void | GetRotorImage (const Aircraft *v, EngineImageType image_type, VehicleSpriteSeq *result) |
Station * | GetTargetAirportIfValid (const Aircraft *v) |
Returns aircraft's target station if v->target_airport is a valid station with airport. More... | |
void | HandleMissingAircraftOrders (Aircraft *v) |
Variables | |
static constexpr int | AIRCRAFT_MIN_FLYING_ALTITUDE = 120 |
Base values for flight levels above ground level for 'normal' flight and holding patterns. More... | |
static constexpr int | AIRCRAFT_MAX_FLYING_ALTITUDE = 360 |
Maximum flying altitude above tile. | |
static constexpr int | PLANE_HOLD_MAX_FLYING_ALTITUDE = 150 |
holding flying altitude above tile of planes. | |
static constexpr int | HELICOPTER_HOLD_MAX_FLYING_ALTITUDE = 184 |
holding flying altitude above tile of helicopters. | |
static const int | ROTOR_Z_OFFSET = 5 |
Z Offset between helicopter- and rotorsprite. | |
Base for aircraft.
Definition in file aircraft.h.
enum AircraftSubType |
An aircraft can be one of those types.
Enumerator | |
---|---|
AIR_HELICOPTER | an helicopter |
AIR_AIRCRAFT | an airplane |
AIR_SHADOW | shadow of the aircraft |
AIR_ROTOR | rotor of an helicopter |
Definition at line 28 of file aircraft.h.
enum AirVehicleFlags |
Flags for air vehicles; shared with disaster vehicles.
Definition at line 36 of file aircraft.h.
Aircraft is about to leave the hangar.
v | Aircraft leaving. |
exit_dir | The direction the vehicle leaves the hangar. |
Definition at line 1467 of file aircraft_cmd.cpp.
References Vehicle::cur_speed, Vehicle::direction, InvalidateWindowData(), Vehicle::LeaveUnbunchingDepot(), Vehicle::Next(), SpecializedVehicle< T, Type >::Next(), Vehicle::progress, SetAircraftPosition(), SetWindowClassesDirty(), Vehicle::subspeed, Vehicle::tile, VehicleServiceInDepot(), Vehicle::vehstatus, VS_HIDDEN, WC_AIRCRAFT_LIST, WC_VEHICLE_DEPOT, Vehicle::x_pos, Vehicle::y_pos, and Vehicle::z_pos.
Referenced by UpdateOldAircraft().
void GetAircraftFlightLevelBounds | ( | const Vehicle * | v, |
int * | min_level, | ||
int * | max_level | ||
) |
Get the 'flight level' bounds, in pixels from 'z_pos' 0 for a particular vehicle for normal flight situation.
When the maximum is reached the vehicle should consider descending. When the minimum is reached the vehicle should consider ascending.
v | The vehicle to get the flight levels for. | |
[out] | min_level | The minimum bounds for flight level. |
[out] | max_level | The maximum bounds for flight level. |
Definition at line 728 of file aircraft_cmd.cpp.
References AIR_HELICOPTER, AIRCRAFT_MAX_FLYING_ALTITUDE, AIRCRAFT_MIN_FLYING_ALTITUDE, VehicleCache::cached_max_speed, DIR_E, DIR_N, DIR_NE, DIR_SE, Vehicle::direction, SpecializedVehicle< Aircraft, VEH_AIRCRAFT >::From(), GetTileHeightBelowAircraft(), HELICOPTER_HOLD_MAX_FLYING_ALTITUDE, PLANE_HOLD_MAX_FLYING_ALTITUDE, Vehicle::subtype, BaseVehicle::type, Vehicle::vcache, and VEH_AIRCRAFT.
Referenced by ReleaseDisasterVehicle().
void GetAircraftSpriteSize | ( | EngineID | engine, |
uint & | width, | ||
uint & | height, | ||
int & | xoffs, | ||
int & | yoffs, | ||
EngineImageType | image_type | ||
) |
Get the size of the sprite of an aircraft sprite heading west (used for lists).
engine | The engine to get the sprite from. | |
[out] | width | The width of the sprite. |
[out] | height | The height of the sprite. |
[out] | xoffs | Number of pixels to shift the sprite to the right. |
[out] | yoffs | Number of pixels to shift the sprite downwards. |
image_type | Context the sprite is used in. |
Definition at line 249 of file aircraft_cmd.cpp.
Returns aircraft's target station if v->target_airport is a valid station with airport.
v | vehicle to get target airport for |
Definition at line 2146 of file aircraft_cmd.cpp.
References Station::airport, SpecializedStation< Station, false >::GetIfValid(), INVALID_TILE, Aircraft::targetairport, OrthogonalTileArea::tile, BaseVehicle::type, and VEH_AIRCRAFT.
Referenced by CrashAirplane(), Aircraft::FindClosestDepot(), HandleCrashedAircraft(), and MapAircraftMovementState().
void HandleAircraftEnterHangar | ( | Aircraft * | v | ) |
Handle Aircraft specific tasks when an Aircraft enters a hangar.
*v | Vehicle that enters the hangar |
Definition at line 573 of file aircraft_cmd.cpp.
References Vehicle::cur_speed, SpecializedVehicle< T, Type >::Next(), Vehicle::progress, SetAircraftPosition(), Vehicle::subspeed, Vehicle::vehstatus, VS_HIDDEN, Vehicle::x_pos, Vehicle::y_pos, and Vehicle::z_pos.
Referenced by VehicleEnterDepot().
void SetAircraftPosition | ( | Aircraft * | v, |
int | x, | ||
int | y, | ||
int | z | ||
) |
Set aircraft position.
v | Aircraft to position. |
x | New X position. |
y | New y position. |
z | New z position. |
Definition at line 534 of file aircraft_cmd.cpp.
Referenced by AircraftController(), AircraftLeaveHangar(), HandleAircraftEnterHangar(), and HandleCrashedAircraft().
void UpdateAircraftCache | ( | Aircraft * | v, |
bool | update_range | ||
) |
Update cached values of an aircraft.
Currently caches callback 36 max speed.
v | Vehicle |
update_range | Update the aircraft range. |
Definition at line 603 of file aircraft_cmd.cpp.
Referenced by AircraftController(), and UpdateOldAircraft().
void UpdateAirplanesOnNewStation | ( | const Station * | st | ) |
Updates the status of the Aircraft heading or in the station.
st | Station been updated |
Definition at line 2160 of file aircraft_cmd.cpp.
References Station::airport, Vehicle::current_order, DIR_N, FLYING, Airport::GetFTA(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, INVALID_TILE, Aircraft::IsNormalAircraft(), Order::IsType(), SpecializedVehicle< Aircraft, VEH_AIRCRAFT >::Iterate(), Airport::rotation, Aircraft::state, Aircraft::targetairport, and OrthogonalTileArea::tile.
|
staticconstexpr |
Base values for flight levels above ground level for 'normal' flight and holding patterns.
Due to speed and direction, the actual flight level may be higher. Minimum flying altitude above tile.
Definition at line 20 of file aircraft.h.
Referenced by GetAircraftFlightLevelBounds().