(svn r19324) -Codechange: introduce AirportSpec::GetWithoutOverride to get a non-const pointer to a given airportspec

This commit is contained in:
yexo 2010-03-05 23:21:30 +00:00
parent e69d50d86b
commit 20dd63a590
2 changed files with 16 additions and 1 deletions

View File

@ -21,7 +21,8 @@ AirportSpec AirportSpec::oilrig = {NULL, NULL, 0, 1, 1, 0, 4, MIN_YEAR, MIN_YEAR
AirportSpec AirportSpec::specs[NUM_AIRPORTS];
/**
* Retrieve airport spec for the given airport
* Retrieve airport spec for the given airport. If an override is available
* it is returned.
* @param type index of airport
* @return A pointer to the corresponding AirportSpec
*/
@ -32,6 +33,19 @@ AirportSpec AirportSpec::specs[NUM_AIRPORTS];
return &AirportSpec::specs[type];
}
/**
* Retrieve airport spec for the given airport. Even if an override is
* available the base spec is returned.
* @param type index of airport
* @return A pointer to the corresponding AirportSpec
*/
/* static */ AirportSpec *AirportSpec::GetWithoutOverride(byte type)
{
if (type == AT_OILRIG) return &oilrig;
assert(type < lengthof(AirportSpec::specs));
return &AirportSpec::specs[type];
}
bool AirportSpec::IsAvailable() const
{
if (_cur_year < this->min_year) return false;

View File

@ -47,6 +47,7 @@ struct AirportSpec {
TTDPAirportType ttd_airport_type; ///< ttdpatch airport type (Small/Large/Helipad/Oilrig)
static const AirportSpec *Get(byte type);
static AirportSpec *GetWithoutOverride(byte type);
bool IsAvailable() const;