OpenTTD Source  1.11.0-beta2
transport_type.h
Go to the documentation of this file.
1 /*
2  * This file is part of OpenTTD.
3  * 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.
4  * 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.
5  * 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/>.
6  */
7 
10 #ifndef TRANSPORT_TYPE_H
11 #define TRANSPORT_TYPE_H
12 
13 #include "core/enum_type.hpp"
14 
16 typedef uint16 UnitID;
17 
20  /* These constants are for now linked to the representation of bridges
21  * and tunnels, so they can be used by GetTileTrackStatus_TunnelBridge.
22  * In an ideal world, these constants would be used everywhere when
23  * accessing tunnels and bridges. For now, you should just not change
24  * the values for road and rail.
25  */
33 };
35 template <> struct EnumPropsT<TransportType> : MakeEnumPropsT<TransportType, byte, TRANSPORT_BEGIN, TRANSPORT_END, INVALID_TRANSPORT, 2> {};
36 
37 #endif /* TRANSPORT_TYPE_H */
TRANSPORT_RAIL
@ TRANSPORT_RAIL
Transport by train.
Definition: transport_type.h:27
UnitID
uint16 UnitID
Type for the company global vehicle unit number.
Definition: transport_type.h:16
TransportType
TransportType
Available types of transport.
Definition: transport_type.h:19
TRANSPORT_END
@ TRANSPORT_END
End of iterations.
Definition: transport_type.h:31
TRANSPORT_BEGIN
@ TRANSPORT_BEGIN
Begin of the iterator.
Definition: transport_type.h:26
TRANSPORT_ROAD
@ TRANSPORT_ROAD
Transport by road vehicle.
Definition: transport_type.h:28
EnumPropsT
Informative template class exposing basic enumeration properties used by several other templates belo...
Definition: enum_type.hpp:48
INVALID_TRANSPORT
@ INVALID_TRANSPORT
Sentinel for invalid transport types.
Definition: transport_type.h:32
TRANSPORT_WATER
@ TRANSPORT_WATER
Transport over water.
Definition: transport_type.h:29
TRANSPORT_AIR
@ TRANSPORT_AIR
Transport through air.
Definition: transport_type.h:30
enum_type.hpp
MakeEnumPropsT
Helper template class that makes basic properties of given enumeration type visible from outsize.
Definition: enum_type.hpp:62