OpenTTD
station_type.h
Go to the documentation of this file.
1 /* $Id: station_type.h 25890 2013-10-20 13:47:11Z fonsinchen $ */
2 
3 /*
4  * This file is part of OpenTTD.
5  * 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.
6  * 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.
7  * 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/>.
8  */
9 
12 #ifndef STATION_TYPE_H
13 #define STATION_TYPE_H
14 
15 #include "core/smallvec_type.hpp"
16 #include "core/smallstack_type.hpp"
17 #include "tilearea_type.h"
18 #include <list>
19 
20 typedef uint16 StationID;
21 typedef uint16 RoadStopID;
22 
23 struct BaseStation;
24 struct Station;
25 struct RoadStop;
26 struct StationSpec;
27 struct Waypoint;
28 
29 static const StationID NEW_STATION = 0xFFFE;
30 static const StationID INVALID_STATION = 0xFFFF;
31 
33 
36  STATION_RAIL,
37  STATION_AIRPORT,
38  STATION_TRUCK,
39  STATION_BUS,
40  STATION_OILRIG,
41  STATION_DOCK,
42  STATION_BUOY,
43  STATION_WAYPOINT,
44 };
45 
50 };
51 
54  FACIL_NONE = 0,
55  FACIL_TRAIN = 1 << 0,
56  FACIL_TRUCK_STOP = 1 << 1,
57  FACIL_BUS_STOP = 1 << 2,
58  FACIL_AIRPORT = 1 << 3,
59  FACIL_DOCK = 1 << 4,
60  FACIL_WAYPOINT = 1 << 7,
61 };
64 
67  HVOT_NONE = 0,
68  HVOT_TRAIN = 1 << 1,
69  HVOT_BUS = 1 << 2,
70  HVOT_TRUCK = 1 << 3,
71  HVOT_AIRCRAFT = 1 << 4,
72  HVOT_SHIP = 1 << 5,
73 
74  HVOT_WAYPOINT = 1 << 6,
75 };
78 
81  CA_NONE = 0,
82  CA_BUS = 3,
83  CA_TRUCK = 3,
84  CA_TRAIN = 4,
85  CA_DOCK = 5,
86 
88 
90 };
91 
92 static const uint MAX_LENGTH_STATION_NAME_CHARS = 32;
93 
95 typedef std::list<StationID> StationIDList;
96 
99 
106 public:
111  StationFinder(const TileArea &area) : TileArea(area) {}
112  const StationList *GetStations();
113 };
114 
115 #endif /* STATION_TYPE_H */