mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r19205) -Codechange: move AirportSpec to newgrf_airport.h/cpp
This commit is contained in:
parent
5ebc0a16c8
commit
dd7c2b2f9d
|
@ -1147,6 +1147,10 @@
|
|||
RelativePath=".\..\src\newgrf.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\newgrf_airport.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\newgrf_airporttiles.h"
|
||||
>
|
||||
|
@ -3175,6 +3179,10 @@
|
|||
RelativePath=".\..\src\newgrf.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\newgrf_airport.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\newgrf_airporttiles.cpp"
|
||||
>
|
||||
|
|
|
@ -1144,6 +1144,10 @@
|
|||
RelativePath=".\..\src\newgrf.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\newgrf_airport.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\newgrf_airporttiles.h"
|
||||
>
|
||||
|
@ -3172,6 +3176,10 @@
|
|||
RelativePath=".\..\src\newgrf.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\newgrf_airport.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\newgrf_airporttiles.cpp"
|
||||
>
|
||||
|
|
|
@ -196,6 +196,7 @@ network/network_server.h
|
|||
network/network_type.h
|
||||
network/network_udp.h
|
||||
newgrf.h
|
||||
newgrf_airport.h
|
||||
newgrf_airporttiles.h
|
||||
newgrf_callbacks.h
|
||||
newgrf_canal.h
|
||||
|
@ -742,6 +743,7 @@ spriteloader/spriteloader.hpp
|
|||
|
||||
# NewGRF
|
||||
newgrf.cpp
|
||||
newgrf_airport.cpp
|
||||
newgrf_airporttiles.cpp
|
||||
newgrf_canal.cpp
|
||||
newgrf_cargo.cpp
|
||||
|
|
|
@ -12,30 +12,15 @@
|
|||
#include "stdafx.h"
|
||||
#include "debug.h"
|
||||
#include "airport.h"
|
||||
#include "map_type.h"
|
||||
#include "table/airport_movement.h"
|
||||
#include "core/alloc_func.hpp"
|
||||
#include "date_func.h"
|
||||
#include "settings_type.h"
|
||||
#include "newgrf_airport.h"
|
||||
#include "table/airporttile_ids.h"
|
||||
#include "table/airport_defaults.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];
|
||||
}
|
||||
|
||||
/* Uncomment this to print out a full report of the airport-structure
|
||||
* You should either use
|
||||
* - true: full-report, print out every state and choice with string-names
|
||||
|
@ -269,13 +254,6 @@ AirportFTAClass::~AirportFTAClass()
|
|||
free(layout);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
/** Get the number of elements of a source Airport state automata
|
||||
* Since it is actually just a big array of AirportFTA types, we only
|
||||
* know one element from the other by differing 'position' identifiers */
|
||||
|
|
|
@ -13,8 +13,6 @@
|
|||
#define AIRPORT_H
|
||||
|
||||
#include "direction_type.h"
|
||||
#include "map_type.h"
|
||||
#include "date_type.h"
|
||||
|
||||
/** Some airport-related constants */
|
||||
enum {
|
||||
|
@ -42,36 +40,6 @@ enum {
|
|||
AT_DUMMY = 255
|
||||
};
|
||||
|
||||
/* 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;
|
||||
};
|
||||
|
||||
enum {
|
||||
AMED_NOSPDCLAMP = 1 << 0,
|
||||
AMED_TAKEOFF = 1 << 1,
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include "tilehighlight_func.h"
|
||||
#include "company_base.h"
|
||||
#include "station_type.h"
|
||||
#include "newgrf_airport.h"
|
||||
|
||||
#include "table/sprites.h"
|
||||
#include "table/strings.h"
|
||||
|
|
|
@ -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 */
|
|
@ -14,6 +14,7 @@
|
|||
|
||||
#include "base_station_base.h"
|
||||
#include "airport.h"
|
||||
#include "newgrf_airport.h"
|
||||
#include "cargopacket.h"
|
||||
#include "industry_type.h"
|
||||
|
||||
|
|
|
@ -388,7 +388,7 @@ static AirportTileTable *_tile_table_helistation[] = {
|
|||
#define AS(ap_name, size_x, size_y, min_year, max_year, catchment, noise) \
|
||||
AS_GENERIC(_tile_table_##ap_name, _airport_depots_##ap_name, lengthof(_airport_depots_##ap_name), size_x, size_y, noise, catchment, min_year, max_year)
|
||||
|
||||
static const AirportSpec _origin_airport_specs[] = {
|
||||
extern const AirportSpec _origin_airport_specs[] = {
|
||||
AS(country, 4, 3, 0, 1959, 4, 3),
|
||||
AS(city, 6, 6, 1955, MAX_YEAR, 5, 5),
|
||||
AS_ND(heliport, 1, 1, 1963, MAX_YEAR, 4, 1),
|
||||
|
|
Loading…
Reference in New Issue