mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 06:15:04 +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"
|
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(); }
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user