rubidium@9837: /* $Id$ */ rubidium@9837: rubidium@9837: /** @file station_type.h Types related to stations. */ rubidium@9837: rubidium@9837: #ifndef STATION_TYPE_H rubidium@9837: #define STATION_TYPE_H rubidium@9837: rubidium@9837: typedef uint16 StationID; rubidium@9837: typedef uint16 RoadStopID; rubidium@9837: rubidium@9837: struct Station; rubidium@9837: struct RoadStop; rubidium@9837: struct StationSpec; rubidium@9837: rubidium@9837: static const StationID INVALID_STATION = 0xFFFF; rubidium@9837: rubidium@9837: enum StationType { rubidium@9837: STATION_RAIL, rubidium@9837: STATION_AIRPORT, rubidium@9837: STATION_TRUCK, rubidium@9837: STATION_BUS, rubidium@9837: STATION_OILRIG, rubidium@9837: STATION_DOCK, rubidium@9837: STATION_BUOY rubidium@9837: }; rubidium@9837: rubidium@9837: /** Types of RoadStops */ rubidium@9837: enum RoadStopType { rubidium@9837: ROADSTOP_BUS, ///< A standard stop for buses rubidium@9837: ROADSTOP_TRUCK ///< A standard stop for trucks rubidium@9837: }; rubidium@9837: rubidium@9837: enum { rubidium@9837: FACIL_TRAIN = 0x01, rubidium@9837: FACIL_TRUCK_STOP = 0x02, rubidium@9837: FACIL_BUS_STOP = 0x04, rubidium@9837: FACIL_AIRPORT = 0x08, rubidium@9837: FACIL_DOCK = 0x10, rubidium@9837: }; rubidium@9837: rubidium@9837: enum { rubidium@9837: // HVOT_PENDING_DELETE = 1 << 0, // not needed anymore rubidium@9837: HVOT_TRAIN = 1 << 1, rubidium@9837: HVOT_BUS = 1 << 2, rubidium@9837: HVOT_TRUCK = 1 << 3, rubidium@9837: HVOT_AIRCRAFT = 1 << 4, rubidium@9837: HVOT_SHIP = 1 << 5, rubidium@9837: /* This bit is used to mark stations. No, it does not belong here, but what rubidium@9837: * can we do? ;-) */ rubidium@9837: HVOT_BUOY = 1 << 6 rubidium@9837: }; rubidium@9837: rubidium@9837: enum CatchmentArea { rubidium@9837: CA_NONE = 0, rubidium@9837: CA_BUS = 3, rubidium@9837: CA_TRUCK = 3, rubidium@9837: CA_TRAIN = 4, rubidium@9837: CA_DOCK = 5, rubidium@9837: glx@10776: CA_UNMODIFIED = 4, ///< Used when _settings_game.station.modified_catchment is false rubidium@9837: rubidium@9837: MAX_CATCHMENT = 10, ///< Airports have a catchment up to this number. rubidium@9837: }; rubidium@9837: rubidium@9837: #endif /* STATION_TYPE_H */