Base for aircraft. More...
#include "station_map.h"
#include "vehicle_base.h"
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... | |
Defines | |
#define | FOR_ALL_AIRCRAFT(var) FOR_ALL_VEHICLES_OF_TYPE(Aircraft, var) |
Macro for iterating over all aircrafts. | |
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 | VehicleAirFlags { VAF_DEST_TOO_FAR = 0 } |
Aircraft flags. 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. | |
int | GetAircraftFlyingAltitude (const Aircraft *v) |
Gets the cruise altitude of an aircraft. | |
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. |
Base for aircraft.
Definition in 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 21 of file aircraft.h.
enum VehicleAirFlags |
Aircraft flags.
Definition at line 29 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 1282 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, Vehicle::vehstatus, WC_AIRCRAFT_LIST, WC_VEHICLE_DEPOT, Vehicle::x_pos, Vehicle::y_pos, and Vehicle::z_pos.
Referenced by AircraftEventHandler_InHangar(), and UpdateOldAircraft().
int GetAircraftFlyingAltitude | ( | const Aircraft * | v | ) |
Gets the cruise altitude of an aircraft.
The cruise altitude is determined by the velocity of the vehicle and the direction it is moving
v | The vehicle. Should be an aircraft |
Definition at line 657 of file aircraft_cmd.cpp.
References AIR_HELICOPTER, VehicleCache::cached_max_speed, DIR_E, DIR_N, DIR_NE, DIR_SE, Vehicle::direction, HELI_FLIGHT_ALTITUDE, min(), PLANE_HOLDING_ALTITUDE, Vehicle::subtype, and Vehicle::vcache.
Referenced by AfterLoadGame(), AircraftController(), 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 218 of file aircraft_cmd.cpp.
References Sprite::height, ST_NORMAL, UnScaleByZoom(), Sprite::width, Sprite::x_offs, Sprite::y_offs, and ZOOM_LVL_GUI.
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 1953 of file aircraft_cmd.cpp.
References Station::airport, SpecializedStation< Station, false >::GetIfValid(), INVALID_TILE, Aircraft::targetairport, TileArea::tile, 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 527 of file aircraft_cmd.cpp.
References Vehicle::cur_speed, SpecializedVehicle< T, Type >::Next(), Vehicle::progress, SetAircraftPosition(), Vehicle::subspeed, Vehicle::vehstatus, 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 490 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, SpecializedVehicle< T, Type >::UpdateViewport(), VehicleUpdatePosition(), VehicleUpdatePositionAndViewport(), 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 557 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 1967 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, TileArea::tile, and UpdateAircraftCache().
Referenced by CmdBuildAirport().