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