OpenTTD
|
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... |
Macros | |
#define | FOR_ALL_AIRCRAFT(var) FOR_ALL_VEHICLES_OF_TYPE(Aircraft, var) |
Macro for iterating over all aircrafts. |
Enumerations | |
enum | AircraftFlyingAltitude { AIRCRAFT_MIN_FLYING_ALTITUDE = 120, AIRCRAFT_MAX_FLYING_ALTITUDE = 360, PLANE_HOLD_MAX_FLYING_ALTITUDE = 150, HELICOPTER_HOLD_MAX_FLYING_ALTITUDE = 184 } |
Base values for flight levels above ground level for 'normal' flight and holding patterns. More... | |
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 } |
Flags for air vehicles; shared with disaster vehicles. More... |
Functions | |
void | HandleAircraftEnterHangar (Aircraft *v) |
Handle Aircraft specific tasks when an Aircraft enters a hangar. | |
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). | |
void | UpdateAirplanesOnNewStation (const Station *st) |
Updates the status of the Aircraft heading or in the station. | |
void | UpdateAircraftCache (Aircraft *v, bool update_range=false) |
Update cached values of an aircraft. | |
void | AircraftLeaveHangar (Aircraft *v, Direction exit_dir) |
Aircraft is about to leave the hangar. | |
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. | |
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. | |
template<class T > | |
int | GetAircraftFlightLevel (T *v, bool takeoff=false) |
SpriteID | GetRotorImage (const Aircraft *v, EngineImageType image_type) |
Station * | GetTargetAirportIfValid (const Aircraft *v) |
Returns aircraft's target station if v->target_airport is a valid station with airport. |
Variables | |
static const int | ROTOR_Z_OFFSET = 5 |
Z Offset between helicopter- and rotorsprite. |
Base for aircraft.
Definition in file aircraft.h.
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.
Definition at line 22 of file aircraft.h.
enum AircraftSubType |
An aircraft can be one of those types.
AIR_HELICOPTER |
an helicopter |
AIR_AIRCRAFT |
an airplane |
AIR_SHADOW |
shadow of the aircraft |
AIR_ROTOR |
rotor of an helicopter |
Definition at line 32 of file aircraft.h.
enum AirVehicleFlags |
Flags for air vehicles; shared with disaster vehicles.
Definition at line 40 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 1379 of file aircraft_cmd.cpp.
References Vehicle::cur_speed, Vehicle::direction, InvalidateWindowData(), 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 AircraftEventHandler_InHangar(), and 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 688 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, min(), PLANE_HOLD_MAX_FLYING_ALTITUDE, Vehicle::subtype, BaseVehicle::type, Vehicle::vcache, and VEH_AIRCRAFT.
Referenced by AfterLoadGame(), AircraftController(), DisasterVehicle::DisasterVehicle(), ReleaseDisastersTargetingVehicle(), and UpdateOldAircraft().
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 225 of file aircraft_cmd.cpp.
References Sprite::height, ST_NORMAL, UnScaleGUI(), Sprite::width, Sprite::x_offs, and Sprite::y_offs.
Referenced by EnginePreviewWindow::UpdateWidgetSize().
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 2050 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 AfterLoadGame(), AircraftNextAirportPos_and_Order(), CrashAirplane(), Aircraft::FindClosestDepot(), FindNearestHangar(), HandleCrashedAircraft(), MapAircraftMovementState(), and Vehicle::PreDestructor().
void HandleAircraftEnterHangar | ( | Aircraft * | v | ) |
Handle Aircraft specific tasks when an Aircraft enters a hangar.
*v | Vehicle that enters the hangar |
Definition at line 534 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 497 of file aircraft_cmd.cpp.
References AIR_HELICOPTER, Clamp(), Vehicle::cur_image, EIT_ON_MAP, MapMaxX(), MapMaxY(), SpecializedVehicle< T, Type >::Next(), ROTOR_Z_OFFSET, Vehicle::subtype, TILE_SIZE, Vehicle::UpdatePosition(), Vehicle::UpdatePositionAndViewport(), SpecializedVehicle< T, Type >::UpdateViewport(), Vehicle::x_pos, Vehicle::y_pos, and Vehicle::z_pos.
Referenced by AfterLoadGame(), AircraftController(), AircraftLeaveHangar(), HandleAircraftEnterHangar(), HandleCrashedAircraft(), and UpdateOldAircraft().
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 564 of file aircraft_cmd.cpp.
References VehicleCache::cached_cargo_age_period, AircraftCache::cached_max_range, AircraftCache::cached_max_range_sqr, VehicleCache::cached_max_speed, Vehicle::engine_type, SpecializedVehicle< T, Type >::Next(), PROP_AIRCRAFT_CARGO_AGE_PERIOD, PROP_AIRCRAFT_RANGE, PROP_AIRCRAFT_SPEED, and Vehicle::vcache.
Referenced by AfterLoadGame(), AfterLoadVehicles(), AircraftController(), CheckCaches(), CmdBuildAircraft(), CmdRefitVehicle(), UpdateAirplanesOnNewStation(), 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 2064 of file aircraft_cmd.cpp.
References AircraftGetEntryPoint(), Station::airport, DIR_N, FLYING, FOR_ALL_AIRCRAFT, Airport::GetFTA(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, INVALID_TILE, Aircraft::IsNormalAircraft(), Aircraft::pos, Aircraft::previous_pos, Airport::rotation, Aircraft::state, Aircraft::targetairport, OrthogonalTileArea::tile, and UpdateAircraftCache().
Referenced by CmdBuildAirport().