mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-05 22:04:57 +00:00
(svn r19337) -Codechange: Create the GroundVehicle class.
This commit is contained in:
parent
b5714c3597
commit
f428102092
@ -1027,6 +1027,10 @@
|
||||
RelativePath=".\..\src\graph_gui.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\ground_vehicle.hpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\group.h"
|
||||
>
|
||||
|
@ -1024,6 +1024,10 @@
|
||||
RelativePath=".\..\src\graph_gui.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\ground_vehicle.hpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\..\src\group.h"
|
||||
>
|
||||
|
@ -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
|
||||
|
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
|
||||
#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<Train, VEH_TRAIN> {
|
||||
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(); }
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user