diff --git a/src/newgrf_airporttiles.cpp b/src/newgrf_airporttiles.cpp new file mode 100644 --- /dev/null +++ b/src/newgrf_airporttiles.cpp @@ -0,0 +1,29 @@ +/* $Id$ */ + +/* + * This file is part of OpenTTD. + * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ + +/** @file newgrf_airporttiles.cpp NewGRF handling of airport tiles. */ + +#include "stdafx.h" +#include "airport.h" +#include "newgrf_airporttiles.h" +#include "table/airporttiles.h" + + +/** + * Retrieve airport tile spec for the given airport tile + * @param gfx index of airport tile + * @return A pointer to the corresponding AirportTileSpec + */ +/* static */ const AirportTileSpec *AirportTileSpec::Get(StationGfx gfx) +{ + assert(gfx < NUM_AIRPORTTILES); + extern const AirportTileSpec _origin_airporttile_specs[]; + return &_origin_airporttile_specs[gfx]; +} + diff --git a/src/newgrf_airporttiles.h b/src/newgrf_airporttiles.h new file mode 100644 --- /dev/null +++ b/src/newgrf_airporttiles.h @@ -0,0 +1,27 @@ +/* $Id$ */ + +/* + * This file is part of OpenTTD. + * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ + +/** @file newgrf_airporttiles.h NewGRF handling of airport tiles. */ + +#ifndef NEWGRF_AIRPORTTILES_H +#define NEWGRF_AIRPORTTILES_H + +#include "station_map.h" + +/** + * Defines the data structure of each indivudual tile of an airport. + */ +struct AirportTileSpec { + uint16 animation_info; ///< Information about the animation (is it looping, how many loops etc) + uint8 animation_speed; ///< The speed of the animation + + static const AirportTileSpec *Get(StationGfx gfx); +}; + +#endif /* NEWGRF_AIRPORTTILES_H */