diff options
author | truelight <truelight@openttd.org> | 2004-08-09 17:04:08 +0000 |
---|---|---|
committer | truelight <truelight@openttd.org> | 2004-08-09 17:04:08 +0000 |
commit | efaeb275f78e18d594d9ee8ff04eccd2dc59512c (patch) | |
tree | bc8e1f56d77706d14d048cb2d99e53291930b520 /station.h | |
download | openttd-efaeb275f78e18d594d9ee8ff04eccd2dc59512c.tar.xz |
(svn r1) Import of revision 975 of old (crashed) SVN
Diffstat (limited to 'station.h')
-rw-r--r-- | station.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/station.h b/station.h new file mode 100644 index 000000000..e29837891 --- /dev/null +++ b/station.h @@ -0,0 +1,89 @@ +#ifndef STATION_H +#define STATION_H + +#include "vehicle.h" + +typedef struct GoodsEntry { + uint16 waiting_acceptance; + byte days_since_pickup; + byte rating; + byte enroute_from; + byte enroute_time; + byte last_speed; + byte last_age; +} GoodsEntry; + +struct Station { + TileIndex xy; + TileIndex bus_tile; + TileIndex lorry_tile; + TileIndex train_tile; + TileIndex airport_tile; + TileIndex dock_tile; + Town *town; + // alpha_order is obsolete since savegame format 4 + byte alpha_order_obsolete; + uint16 string_id; + + ViewportSign sign; + + uint16 had_vehicle_of_type; + + byte time_since_load; + byte time_since_unload; + byte delete_ctr; + byte owner; + byte facilities; + byte airport_type; + byte truck_stop_status; + byte bus_stop_status; + byte blocked_months; + + // trainstation width/height + byte trainst_w, trainst_h; + + byte stat_id, class_id; + uint16 build_date; + + //uint16 airport_flags; + uint32 airport_flags; + uint16 index; + + VehicleID last_vehicle; + GoodsEntry goods[NUM_CARGO]; +}; + +enum { + FACIL_TRAIN = 1, + FACIL_TRUCK_STOP = 2, + FACIL_BUS_STOP = 4, + FACIL_AIRPORT = 8, + FACIL_DOCK = 0x10, +}; + +enum { +// HVOT_PENDING_DELETE = 1<<0, // not needed anymore + HVOT_TRAIN = 1<<1, + HVOT_BUS = 1 << 2, + HVOT_TRUCK = 1 << 3, + HVOT_AIRCRAFT = 1<<4, + HVOT_SHIP = 1 << 5, + HVOT_BUOY = 1 << 6 +}; + +void ModifyStationRatingAround(TileIndex tile, byte owner, int amount, uint radius); + +void ShowStationViewWindow(int station); +void UpdateAllStationVirtCoord(); + +VARDEF Station _stations[250]; +VARDEF bool _station_sort_dirty; + +#define DEREF_STATION(i) (&_stations[i]) +#define FOR_ALL_STATIONS(st) for(st=_stations; st != endof(_stations); st++) + + +void GetProductionAroundTiles(uint *produced, uint tile, int w, int h); +void GetAcceptanceAroundTiles(uint *accepts, uint tile, int w, int h); +uint GetStationPlatforms(Station *st, uint tile); +#endif /* STATION_H */ |