Add: [NewGRF] Airport animation trigger for plane landing (#6334, patch by Supercheese)

This commit is contained in:
Ingo von Borstel 2019-01-16 21:44:03 +01:00 committed by Charles Pigott
parent f37304f9f5
commit 4e9e115760
2 changed files with 13 additions and 5 deletions

View File

@ -37,6 +37,7 @@
#include "core/backup_type.hpp"
#include "zoom_func.h"
#include "disaster_vehicle.h"
#include "newgrf_airporttiles.h"
#include "framerate_type.h"
#include "table/strings.h"
@ -1370,8 +1371,14 @@ static void AircraftEntersTerminal(Aircraft *v)
*/
static void AircraftLandAirplane(Aircraft *v)
{
Station *st = Station::Get(v->targetairport);
TileIndex vt = TileVirtXY(v->x_pos, v->y_pos);
v->UpdateDeltaXY();
AirportTileAnimationTrigger(st, vt, AAT_STATION_AIRPLANE_LAND);
if (!PlayVehicleSound(v, VSE_TOUCHDOWN)) {
SndPlayVehicleFx(SND_17_SKID_PLANE, v);
}

View File

@ -46,11 +46,12 @@ enum IndustryAnimationTrigger {
/** Animation triggers for airport tiles */
enum AirpAnimationTrigger {
AAT_BUILT, ///< Triggered when the airport is built (for all tiles at the same time).
AAT_TILELOOP, ///< Triggered in the periodic tile loop.
AAT_STATION_NEW_CARGO, ///< Triggered when new cargo arrives at the station (for all tiles at the same time).
AAT_STATION_CARGO_TAKEN, ///< Triggered when a cargo type is completely removed from the station (for all tiles at the same time).
AAT_STATION_250_TICKS, ///< Triggered every 250 ticks (for all tiles at the same time).
AAT_BUILT, ///< Triggered when the airport is built (for all tiles at the same time).
AAT_TILELOOP, ///< Triggered in the periodic tile loop.
AAT_STATION_NEW_CARGO, ///< Triggered when new cargo arrives at the station (for all tiles at the same time).
AAT_STATION_CARGO_TAKEN, ///< Triggered when a cargo type is completely removed from the station (for all tiles at the same time).
AAT_STATION_250_TICKS, ///< Triggered every 250 ticks (for all tiles at the same time).
AAT_STATION_AIRPLANE_LAND, ///< Triggered when an airplane (not a helicopter) touches down at the airport (for all tiles at the same time).
};
/** Animation triggers for objects. */