# station_type.h

Go to the documentation of this file.

    00001 /* $Id: station_type.h 16060 2009-04-14 21:13:07Z rubidium $ */
    00002
    00005 #ifndef STATION_TYPE_H
    00006 #define STATION_TYPE_H
    00007
    00008 typedef uint16 StationID;
    00009 typedef uint16 RoadStopID;
    00010
    00011 struct Station;
    00012 struct RoadStop;
    00013 struct StationSpec;
    00014
    00015 static const StationID NEW_STATION = 0xFFFE;
    00016 static const StationID INVALID_STATION = 0xFFFF;
    00017
    00019 enum StationType {
    00020   STATION_RAIL,
    00021   STATION_AIRPORT,
    00022   STATION_TRUCK,
    00023   STATION_BUS,
    00024   STATION_OILRIG,
    00025   STATION_DOCK,
    00026   STATION_BUOY
    00027 };
    00028
    00030 enum RoadStopType {
    00031   ROADSTOP_BUS,
    00032   ROADSTOP_TRUCK
    00033 };
    00034
    00035 enum {
    00036   FACIL_TRAIN      = 0x01,
    00037   FACIL_TRUCK_STOP = 0x02,
    00038   FACIL_BUS_STOP   = 0x04,
    00039   FACIL_AIRPORT    = 0x08,
    00040   FACIL_DOCK       = 0x10,
    00041 };
    00042
    00043 enum {
    00044 //  HVOT_PENDING_DELETE = 1 << 0, // not needed anymore
    00045   HVOT_TRAIN    = 1 << 1,
    00046   HVOT_BUS      = 1 << 2,
    00047   HVOT_TRUCK    = 1 << 3,
    00048   HVOT_AIRCRAFT = 1 << 4,
    00049   HVOT_SHIP     = 1 << 5,
    00050   /* This bit is used to mark stations. No, it does not belong here, but what
    00051    * can we do? ;-) */
    00052   HVOT_BUOY     = 1 << 6
    00053 };
    00054
    00055 enum CatchmentArea {
    00056   CA_NONE            =  0,
    00057   CA_BUS             =  3,
    00058   CA_TRUCK           =  3,
    00059   CA_TRAIN           =  4,
    00060   CA_DOCK            =  5,
    00061
    00062   CA_UNMODIFIED      =  4,
    00063
    00064   MAX_CATCHMENT      = 10,
    00065 };
    00066
    00067 enum {
    00068   MAX_LENGTH_STATION_NAME_BYTES  =  31,
    00069   MAX_LENGTH_STATION_NAME_PIXELS = 180,
    00070 };
    00071
    00072 #endif /* STATION_TYPE_H */