summaryrefslogtreecommitdiff
path: root/station.h
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-01-02 19:19:48 +0000
committerrubidium <rubidium@openttd.org>2007-01-02 19:19:48 +0000
commit66bbf336c6af7353ef0aeed58002c46543b30635 (patch)
treead4a63860df2626b22f77e7dac712e958bea54cb /station.h
parentccc0a3f4dbf58c005b22341ac8874252924690cd (diff)
downloadopenttd-66bbf336c6af7353ef0aeed58002c46543b30635.tar.xz
(svn r7759) -Merge: makefile rewrite. This merge features:
- A proper ./configure, so everything needs to be configured only once, not for every make. - Usage of makedepend when available. This greatly reduces the time needed for generating the dependencies. - A generator for all project files. There is a single file with sources, which is used to generate Makefiles and the project files for MSVC. - Proper support for OSX universal binaries. - Object files for non-MSVC compiles are also placed in separate directories, making is faster to switch between debug and release compiles and it does not touch the directory with the source files. - Functionality to make a bundle of all needed files for for example a nightly or distribution of a binary with all needed GRFs and language files. Note: as this merge moves almost all files, it is recommended to make a backup of your working copy before updating your working copy.
Diffstat (limited to 'station.h')
-rw-r--r--station.h237
1 files changed, 0 insertions, 237 deletions
diff --git a/station.h b/station.h
deleted file mode 100644
index aaa168384..000000000
--- a/station.h
+++ /dev/null
@@ -1,237 +0,0 @@
-/* $Id$ */
-
-#ifndef STATION_H
-#define STATION_H
-
-#include "player.h"
-#include "oldpool.h"
-#include "sprite.h"
-#include "tile.h"
-#include "newgrf_station.h"
-
-typedef struct GoodsEntry {
- uint16 waiting_acceptance;
- byte days_since_pickup;
- byte rating;
- StationID enroute_from;
- byte enroute_time;
- byte last_speed;
- byte last_age;
- int32 feeder_profit;
-} GoodsEntry;
-
-typedef enum RoadStopType {
- RS_BUS,
- RS_TRUCK
-} RoadStopType;
-
-enum {
- INVALID_STATION = 0xFFFF,
- ROAD_STOP_LIMIT = 16,
-};
-
-typedef struct RoadStop {
- TileIndex xy;
- bool used;
- byte status;
- RoadStopID index;
- byte num_vehicles;
- StationID station;
- struct RoadStop *next;
- struct RoadStop *prev;
-} RoadStop;
-
-typedef struct StationSpecList {
- const StationSpec *spec;
- uint32 grfid; /// GRF ID of this custom station
- uint8 localidx; /// Station ID within GRF of station
-} StationSpecList;
-
-struct Station {
- TileIndex xy;
- RoadStop *bus_stops;
- RoadStop *truck_stops;
- TileIndex train_tile;
- TileIndex airport_tile;
- TileIndex dock_tile;
- Town *town;
- uint16 string_id;
-
- ViewportSign sign;
-
- uint16 had_vehicle_of_type;
-
- byte time_since_load;
- byte time_since_unload;
- byte delete_ctr;
- PlayerID owner;
- byte facilities;
- byte airport_type;
-
- // trainstation width/height
- byte trainst_w, trainst_h;
-
- /** List of custom stations (StationSpecs) allocated to the station */
- uint8 num_specs;
- StationSpecList *speclist;
-
- Date build_date;
-
- //uint16 airport_flags;
- uint32 airport_flags;
- StationID index;
-
- byte last_vehicle_type;
- GoodsEntry goods[NUM_CARGO];
-
- uint16 random_bits;
- byte waiting_triggers;
-
- /* Stuff that is no longer used, but needed for conversion */
- TileIndex bus_tile_obsolete;
- TileIndex lorry_tile_obsolete;
-
- byte truck_stop_status_obsolete;
- byte bus_stop_status_obsolete;
- byte blocked_months_obsolete;
-
- Rect rect; ///< Station spread out rectangle (not saved) maintained by StationRect_xxx() functions
-};
-
-enum {
- FACIL_TRAIN = 0x01,
- FACIL_TRUCK_STOP = 0x02,
- FACIL_BUS_STOP = 0x04,
- FACIL_AIRPORT = 0x08,
- 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,
- /* This bit is used to mark stations. No, it does not belong here, but what
- * can we do? ;-) */
- HVOT_BUOY = 1 << 6
-};
-
-enum {
- CA_BUS = 3,
- CA_TRUCK = 3,
- CA_AIR_OILPAD = 3,
- CA_TRAIN = 4,
- CA_AIR_HELIPORT = 4,
- CA_AIR_SMALL = 4,
- CA_AIR_LARGE = 5,
- CA_DOCK = 5,
- CA_AIR_METRO = 6,
- CA_AIR_INTER = 8,
- CA_AIR_COMMUTER = 4,
- CA_AIR_HELIDEPOT = 4,
- CA_AIR_INTERCON = 10,
- CA_AIR_HELISTATION = 4,
-};
-
-void ModifyStationRatingAround(TileIndex tile, PlayerID owner, int amount, uint radius);
-
-void ShowStationViewWindow(StationID station);
-void UpdateAllStationVirtCoord(void);
-
-/* sorter stuff */
-void RebuildStationLists(void);
-void ResortStationLists(void);
-
-DECLARE_OLD_POOL(Station, Station, 6, 1000)
-
-static inline StationID GetMaxStationIndex(void)
-{
- /* TODO - This isn't the real content of the function, but
- * with the new pool-system this will be replaced with one that
- * _really_ returns the highest index. Now it just returns
- * the next safe value we are sure about everything is below.
- */
- return GetStationPoolSize() - 1;
-}
-
-static inline uint GetNumStations(void)
-{
- return GetStationPoolSize();
-}
-
-/**
- * Check if a station really exists.
- */
-static inline bool IsValidStation(const Station *st)
-{
- return st->xy != 0;
-}
-
-static inline bool IsValidStationID(StationID index)
-{
- return index < GetStationPoolSize() && IsValidStation(GetStation(index));
-}
-
-void DestroyStation(Station *st);
-
-static inline void DeleteStation(Station *st)
-{
- DestroyStation(st);
- st->xy = 0;
-}
-
-#define FOR_ALL_STATIONS_FROM(st, start) for (st = GetStation(start); st != NULL; st = (st->index + 1U < GetStationPoolSize()) ? GetStation(st->index + 1U) : NULL) if (IsValidStation(st))
-#define FOR_ALL_STATIONS(st) FOR_ALL_STATIONS_FROM(st, 0)
-
-
-/* Stuff for ROADSTOPS */
-
-DECLARE_OLD_POOL(RoadStop, RoadStop, 5, 2000)
-
-/**
- * Check if a RaodStop really exists.
- */
-static inline bool IsValidRoadStop(const RoadStop *rs)
-{
- return rs->used;
-}
-
-void DestroyRoadStop(RoadStop* rs);
-
-static inline void DeleteRoadStop(RoadStop *rs)
-{
- DestroyRoadStop(rs);
- rs->used = false;
-}
-
-#define FOR_ALL_ROADSTOPS_FROM(rs, start) for (rs = GetRoadStop(start); rs != NULL; rs = (rs->index + 1U < GetRoadStopPoolSize()) ? GetRoadStop(rs->index + 1U) : NULL) if (IsValidRoadStop(rs))
-#define FOR_ALL_ROADSTOPS(rs) FOR_ALL_ROADSTOPS_FROM(rs, 0)
-
-/* End of stuff for ROADSTOPS */
-
-
-void AfterLoadStations(void);
-void GetProductionAroundTiles(AcceptedCargo produced, TileIndex tile, int w, int h, int rad);
-void GetAcceptanceAroundTiles(AcceptedCargo accepts, TileIndex tile, int w, int h, int rad);
-uint GetStationPlatforms(const Station *st, TileIndex tile);
-uint GetPlatformLength(TileIndex tile, DiagDirection dir);
-void MarkStationTilesDirty(const Station *st);
-
-
-const DrawTileSprites *GetStationTileLayout(byte gfx);
-void StationPickerDrawSprite(int x, int y, RailType railtype, int image);
-
-RoadStop * GetRoadStopByTile(TileIndex tile, RoadStopType type);
-RoadStop * GetPrimaryRoadStop(const Station *st, RoadStopType type);
-uint GetNumRoadStops(const Station* st, RoadStopType type);
-RoadStop * AllocateRoadStop( void );
-void ClearSlot(Vehicle *v);
-
-static inline bool IsBuoy(const Station* st)
-{
- return (st->had_vehicle_of_type & HVOT_BUOY) != 0; /* XXX: We should really ditch this ugly coding and switch to something sane... */
-}
-
-#endif /* STATION_H */