(svn r19205) -Codechange: move AirportSpec to newgrf_airport.h/cpp
parent
6a17ead8e4
commit
63e056c043
@ -0,0 +1,39 @@
|
||||
/* $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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/** @file newgrf_airport.h NewGRF handling of airports. */
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "airport.h"
|
||||
#include "newgrf_airport.h"
|
||||
#include "date_func.h"
|
||||
#include "settings_type.h"
|
||||
|
||||
AirportSpec AirportSpec::dummy = {NULL, NULL, 0, 0, 0, 0, 0, MIN_YEAR, MIN_YEAR};
|
||||
AirportSpec AirportSpec::oilrig = {NULL, NULL, 0, 1, 1, 0, 4, MIN_YEAR, MIN_YEAR};
|
||||
|
||||
/**
|
||||
* Retrieve airport spec for the given airport
|
||||
* @param type index of airport
|
||||
* @return A pointer to the corresponding AirportSpec
|
||||
*/
|
||||
/* static */ const AirportSpec *AirportSpec::Get(byte type)
|
||||
{
|
||||
if (type == AT_OILRIG) return &oilrig;
|
||||
assert(type < NUM_AIRPORTS);
|
||||
extern const AirportSpec _origin_airport_specs[];
|
||||
return &_origin_airport_specs[type];
|
||||
}
|
||||
|
||||
bool AirportSpec::IsAvailable() const
|
||||
{
|
||||
if (_cur_year < this->min_year) return false;
|
||||
if (_settings_game.station.never_expire_airports) return true;
|
||||
return _cur_year <= this->max_year;
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
/* $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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/** @file newgrf_airport.h NewGRF handling of airports. */
|
||||
|
||||
#ifndef NEWGRF_AIRPORT_H
|
||||
#define NEWGRF_AIRPORT_H
|
||||
|
||||
#include "date_type.h"
|
||||
#include "map_type.h"
|
||||
|
||||
/* Copy from station_map.h */
|
||||
typedef byte StationGfx;
|
||||
|
||||
struct AirportTileTable {
|
||||
TileIndexDiffC ti;
|
||||
StationGfx gfx;
|
||||
};
|
||||
|
||||
/**
|
||||
* Defines the data structure for an airport.
|
||||
*/
|
||||
struct AirportSpec {
|
||||
const AirportTileTable * const *table; ///< list of the tiles composing the airport
|
||||
const TileIndexDiffC *depot_table; ///< gives the position of the depots on the airports
|
||||
byte nof_depots; ///< the number of depots in this airport
|
||||
byte size_x; ///< size of airport in x direction
|
||||
byte size_y; ///< size of airport in y direction
|
||||
byte noise_level; ///< noise that this airport generates
|
||||
byte catchment; ///< catchment area of this airport
|
||||
Year min_year; ///< first year the airport is available
|
||||
Year max_year; ///< last year the airport is available
|
||||
|
||||
static const AirportSpec *Get(byte type);
|
||||
|
||||
bool IsAvailable() const;
|
||||
|
||||
static AirportSpec dummy;
|
||||
static AirportSpec oilrig;
|
||||
};
|
||||
|
||||
|
||||
#endif /* NEWGRF_AIRPORT_H */
|
Loading…
Reference in New Issue