diff options
author | smatz <smatz@openttd.org> | 2009-05-26 22:10:13 +0000 |
---|---|---|
committer | smatz <smatz@openttd.org> | 2009-05-26 22:10:13 +0000 |
commit | 7ee882d03f4c41d8659ed82fd5be0d0efbae0a0c (patch) | |
tree | 7107a4626a58464bd677e9fb8f7576cadf1b8bf2 /src/train.h | |
parent | aa546e513f6b121377fd1b6cad1b727f89b66528 (diff) | |
download | openttd-7ee882d03f4c41d8659ed82fd5be0d0efbae0a0c.tar.xz |
(svn r16441) -Codechange: new class SpecializedVehicle used as superclass for all vehicle types
Diffstat (limited to 'src/train.h')
-rw-r--r-- | src/train.h | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/train.h b/src/train.h index fb99e730e..a96ccb3f2 100644 --- a/src/train.h +++ b/src/train.h @@ -301,7 +301,7 @@ struct TrainCache { * * As side-effect the vehicle type is set correctly. */ -struct Train : public Vehicle { +struct Train : public SpecializedVehicle<Train, VEH_TRAIN> { TrainCache tcache; /* Link between the two ends of a multiheaded engine */ @@ -338,14 +338,10 @@ struct Train : public Vehicle { Trackdir GetVehicleTrackdir() const; TileIndex GetOrderStationLocation(StationID station); bool FindClosestDepot(TileIndex *location, DestinationID *destination, bool *reverse); - Train *First() { return (Train *)this->Vehicle::First(); } - Train *First() const { return (Train *)this->Vehicle::First(); } - Train *Next() { return (Train *)this->Vehicle::Next(); } - Train *Next() const { return (Train *)this->Vehicle::Next(); } - Train *Previous() { return (Train *)this->Vehicle::Previous(); } - Train *Previous() const { return (Train *)this->Vehicle::Previous(); } }; +#define FOR_ALL_TRAINS(var) FOR_ALL_VEHICLES_OF_TYPE(Train, var) + /** * Get the next part of a multi-part engine. * Will only work on a multi-part engine (EngineHasArticPart(v) == true), |