(svn r19337) -Codechange: Create the GroundVehicle class.
This commit is contained in:
		| @@ -1027,6 +1027,10 @@ | |||||||
| 				RelativePath=".\..\src\graph_gui.h" | 				RelativePath=".\..\src\graph_gui.h" | ||||||
| 				> | 				> | ||||||
| 			</File> | 			</File> | ||||||
|  | 			<File | ||||||
|  | 				RelativePath=".\..\src\ground_vehicle.hpp" | ||||||
|  | 				> | ||||||
|  | 			</File> | ||||||
| 			<File | 			<File | ||||||
| 				RelativePath=".\..\src\group.h" | 				RelativePath=".\..\src\group.h" | ||||||
| 				> | 				> | ||||||
|   | |||||||
| @@ -1024,6 +1024,10 @@ | |||||||
| 				RelativePath=".\..\src\graph_gui.h" | 				RelativePath=".\..\src\graph_gui.h" | ||||||
| 				> | 				> | ||||||
| 			</File> | 			</File> | ||||||
|  | 			<File | ||||||
|  | 				RelativePath=".\..\src\ground_vehicle.hpp" | ||||||
|  | 				> | ||||||
|  | 			</File> | ||||||
| 			<File | 			<File | ||||||
| 				RelativePath=".\..\src\group.h" | 				RelativePath=".\..\src\group.h" | ||||||
| 				> | 				> | ||||||
|   | |||||||
| @@ -166,6 +166,7 @@ gfx_func.h | |||||||
| gfx_type.h | gfx_type.h | ||||||
| gfxinit.h | gfxinit.h | ||||||
| graph_gui.h | graph_gui.h | ||||||
|  | ground_vehicle.hpp | ||||||
| group.h | group.h | ||||||
| group_gui.h | group_gui.h | ||||||
| group_type.h | group_type.h | ||||||
|   | |||||||
							
								
								
									
										30
									
								
								src/ground_vehicle.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								src/ground_vehicle.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -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 <http://www.gnu.org/licenses/>. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | /** @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 <class T, VehicleType Type> | ||||||
|  | struct GroundVehicle : public SpecializedVehicle<T, Type> { | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * The constructor at SpecializedVehicle must be called. | ||||||
|  | 	 */ | ||||||
|  | 	GroundVehicle() : SpecializedVehicle<T, Type>() {} | ||||||
|  |  | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | #endif /* GROUND_VEHICLE_HPP */ | ||||||
| @@ -12,12 +12,12 @@ | |||||||
| #ifndef TRAIN_H | #ifndef TRAIN_H | ||||||
| #define TRAIN_H | #define TRAIN_H | ||||||
|  |  | ||||||
| #include "vehicle_base.h" |  | ||||||
| #include "newgrf_engine.h" | #include "newgrf_engine.h" | ||||||
| #include "cargotype.h" | #include "cargotype.h" | ||||||
| #include "rail.h" | #include "rail.h" | ||||||
| #include "engine_base.h" | #include "engine_base.h" | ||||||
| #include "rail_map.h" | #include "rail_map.h" | ||||||
|  | #include "ground_vehicle.hpp" | ||||||
|  |  | ||||||
| struct Train; | struct Train; | ||||||
|  |  | ||||||
| @@ -111,7 +111,7 @@ enum AccelStatus { | |||||||
| /** | /** | ||||||
|  * 'Train' is either a loco or a wagon. |  * 'Train' is either a loco or a wagon. | ||||||
|  */ |  */ | ||||||
| struct Train : public SpecializedVehicle<Train, VEH_TRAIN> { | struct Train : public GroundVehicle<Train, VEH_TRAIN> { | ||||||
| 	TrainCache tcache; | 	TrainCache tcache; | ||||||
|  |  | ||||||
| 	/* Link between the two ends of a multiheaded engine */ | 	/* Link between the two ends of a multiheaded engine */ | ||||||
| @@ -129,7 +129,7 @@ struct Train : public SpecializedVehicle<Train, VEH_TRAIN> { | |||||||
| 	uint16 wait_counter; | 	uint16 wait_counter; | ||||||
|  |  | ||||||
| 	/** We don't want GCC to zero our struct! It already is zeroed and has an index! */ | 	/** We don't want GCC to zero our struct! It already is zeroed and has an index! */ | ||||||
| 	Train() : SpecializedVehicle<Train, VEH_TRAIN>() {} | 	Train() : GroundVehicle<Train, VEH_TRAIN>() {} | ||||||
| 	/** We want to 'destruct' the right class. */ | 	/** We want to 'destruct' the right class. */ | ||||||
| 	virtual ~Train() { this->PreDestructor(); } | 	virtual ~Train() { this->PreDestructor(); } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 terkhen
					terkhen