From 72d6c3a9ad5013555607b7f90f1f0f9dd5faba0b Mon Sep 17 00:00:00 2001 From: rubidium Date: Fri, 17 Jul 2009 20:30:07 +0000 Subject: (svn r16861) -Codechange: move a few more bits from station to basestation (to be shared with waypoints) --- src/station.cpp | 11 +++++++---- src/station_base.h | 11 +++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/station.cpp b/src/station.cpp index 6b583a07c..641e77c91 100644 --- a/src/station.cpp +++ b/src/station.cpp @@ -31,8 +31,14 @@ StationPool _station_pool("Station"); INSTANTIATE_POOL_METHODS(Station) +BaseStation::~BaseStation() +{ + free(this->name); + free(this->speclist); +} + Station::Station(TileIndex tile) : - xy(tile), + BaseStation(tile), train_tile(INVALID_TILE), airport_tile(INVALID_TILE), dock_tile(INVALID_TILE), @@ -57,9 +63,6 @@ Station::Station(TileIndex tile) : */ Station::~Station() { - free(this->name); - free(this->speclist); - if (CleaningPool()) return; while (!this->loading_vehicles.empty()) { diff --git a/src/station_base.h b/src/station_base.h index 821ed1dd6..b9efcc1ae 100644 --- a/src/station_base.h +++ b/src/station_base.h @@ -79,6 +79,10 @@ struct StationRect : public Rect { /** Base class for all station-ish types */ struct BaseStation { + TileIndex xy; ///< Base tile of the station + ViewportSign sign; ///< NOSAVE: Dimensions of sign + byte delete_ctr; ///< Delete counter. If greater than 0 then it is decremented until it reaches 0; the waypoint is then is deleted. + char *name; ///< Custom name StringID string_id; ///< Default name (town area) of station @@ -95,6 +99,9 @@ struct BaseStation { byte waiting_triggers; ///< Waiting triggers (NewGRF) for this station uint8 cached_anim_triggers; ///< NOSAVE: Combined animation trigger bitmask, used to determine if trigger processing should happen. + BaseStation(TileIndex tile = INVALID_TILE) : xy(tile) { } + virtual ~BaseStation(); + /** * Check whether a specific tile belongs to this station. * @param tile the tile to check @@ -138,7 +145,6 @@ public: return GetAirport(airport_type); } - TileIndex xy; RoadStop *bus_stops; RoadStop *truck_stops; TileIndex train_tile; @@ -147,13 +153,10 @@ public: IndustryType indtype; ///< Industry type to get the name from - ViewportSign sign; - StationHadVehicleOfTypeByte had_vehicle_of_type; byte time_since_load; byte time_since_unload; - byte delete_ctr; byte airport_type; /* trainstation width/height */ -- cgit v1.2.3-70-g09d2