Changeset - r14739:f991a219ff8a
[Not reviewed]
master
0 4 1
terkhen - 14 years ago 2010-03-06 12:41:18
terkhen@openttd.org
(svn r19337) -Codechange: Create the GroundVehicle class.
5 files changed with 42 insertions and 3 deletions:
0 comments (0 inline, 0 general)
projects/openttd_vs80.vcproj
Show inline comments
 
@@ -1028,6 +1028,10 @@
 
				>
 
			</File>
 
			<File
 
				RelativePath=".\..\src\ground_vehicle.hpp"
 
				>
 
			</File>
 
			<File
 
				RelativePath=".\..\src\group.h"
 
				>
 
			</File>
projects/openttd_vs90.vcproj
Show inline comments
 
@@ -1025,6 +1025,10 @@
 
				>
 
			</File>
 
			<File
 
				RelativePath=".\..\src\ground_vehicle.hpp"
 
				>
 
			</File>
 
			<File
 
				RelativePath=".\..\src\group.h"
 
				>
 
			</File>
source.list
Show inline comments
 
@@ -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
src/ground_vehicle.hpp
Show inline comments
 
new file 100644
 
/* $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 */
src/train.h
Show inline comments
 
@@ -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<Train, VEH_TRAIN> {
 
struct Train : public GroundVehicle<Train, VEH_TRAIN> {
 
	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, VEH_TRAIN>() {}
 
	Train() : GroundVehicle<Train, VEH_TRAIN>() {}
 
	/** We want to 'destruct' the right class. */
 
	virtual ~Train() { this->PreDestructor(); }
 

	
0 comments (0 inline, 0 general)