diff --git a/projects/openttd_vs80.vcproj b/projects/openttd_vs80.vcproj index d7a5ffc523..3bd155680a 100644 --- a/projects/openttd_vs80.vcproj +++ b/projects/openttd_vs80.vcproj @@ -1027,6 +1027,10 @@ RelativePath=".\..\src\graph_gui.h" > + + diff --git a/projects/openttd_vs90.vcproj b/projects/openttd_vs90.vcproj index 9021d62940..f95dd212a4 100644 --- a/projects/openttd_vs90.vcproj +++ b/projects/openttd_vs90.vcproj @@ -1024,6 +1024,10 @@ RelativePath=".\..\src\graph_gui.h" > + + diff --git a/source.list b/source.list index adae228ba7..66c1216881 100644 --- a/source.list +++ b/source.list @@ -166,6 +166,7 @@ gfx_func.h gfx_type.h gfxinit.h graph_gui.h +ground_vehicle.hpp group.h group_gui.h group_type.h diff --git a/src/ground_vehicle.hpp b/src/ground_vehicle.hpp new file mode 100644 index 0000000000..e852fcee23 --- /dev/null +++ b/src/ground_vehicle.hpp @@ -0,0 +1,30 @@ +/* $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 . + */ + +/** @file ground_vehicle.hpp Base class and functions for all vehicles that move through ground. */ + +#ifndef GROUND_VEHICLE_HPP +#define GROUND_VEHICLE_HPP + +#include "vehicle_base.h" + +/** + * Base class for all vehicles that move through ground. + */ +template +struct GroundVehicle : public SpecializedVehicle { + + /** + * The constructor at SpecializedVehicle must be called. + */ + GroundVehicle() : SpecializedVehicle() {} + +}; + +#endif /* GROUND_VEHICLE_HPP */ diff --git a/src/train.h b/src/train.h index 70eed68548..89d9ce63c6 100644 --- a/src/train.h +++ b/src/train.h @@ -12,12 +12,12 @@ #ifndef TRAIN_H #define TRAIN_H -#include "vehicle_base.h" #include "newgrf_engine.h" #include "cargotype.h" #include "rail.h" #include "engine_base.h" #include "rail_map.h" +#include "ground_vehicle.hpp" struct Train; @@ -111,7 +111,7 @@ enum AccelStatus { /** * 'Train' is either a loco or a wagon. */ -struct Train : public SpecializedVehicle { +struct Train : public GroundVehicle { TrainCache tcache; /* Link between the two ends of a multiheaded engine */ @@ -129,7 +129,7 @@ struct Train : public SpecializedVehicle { uint16 wait_counter; /** We don't want GCC to zero our struct! It already is zeroed and has an index! */ - Train() : SpecializedVehicle() {} + Train() : GroundVehicle() {} /** We want to 'destruct' the right class. */ virtual ~Train() { this->PreDestructor(); }