rubidium@9837: /* $Id$ */ rubidium@9837: rubidium@9837: /** @file station_func.h Functions related to stations. */ rubidium@9837: rubidium@9837: #ifndef STATION_FUNC_H rubidium@9837: #define STATION_FUNC_H rubidium@9837: rubidium@9837: #include "station_type.h" rubidium@9837: #include "sprite.h" rubidium@9837: #include "rail_type.h" rubidium@9837: #include "road_type.h" rubidium@9837: #include "tile_type.h" rubidium@9837: #include "cargo_type.h" rubidium@9837: #include "vehicle_type.h" rubidium@9837: #include rubidium@9837: rubidium@9837: void ModifyStationRatingAround(TileIndex tile, PlayerID owner, int amount, uint radius); rubidium@9837: rubidium@9837: /** A set of stations (\c const \c Station* ) */ rubidium@9837: typedef std::set StationSet; rubidium@9837: rubidium@9837: StationSet FindStationsAroundIndustryTile(TileIndex tile, int w, int h); rubidium@9837: rubidium@9837: void ShowStationViewWindow(StationID station); rubidium@9837: void UpdateAllStationVirtCoord(); rubidium@9837: rubidium@9837: void AfterLoadStations(); rubidium@9837: void GetProductionAroundTiles(AcceptedCargo produced, TileIndex tile, int w, int h, int rad); rubidium@9837: void GetAcceptanceAroundTiles(AcceptedCargo accepts, TileIndex tile, int w, int h, int rad); rubidium@9837: rubidium@9837: const DrawTileSprites *GetStationTileLayout(StationType st, byte gfx); rubidium@9837: void StationPickerDrawSprite(int x, int y, StationType st, RailType railtype, RoadType roadtype, int image); rubidium@9837: rubidium@9837: bool HasStationInUse(StationID station, PlayerID player); rubidium@9837: rubidium@9837: RoadStop * GetRoadStopByTile(TileIndex tile, RoadStopType type); rubidium@9837: uint GetNumRoadStops(const Station* st, RoadStopType type); rubidium@9837: RoadStop * AllocateRoadStop(); rubidium@9837: rubidium@9837: void ClearSlot(Vehicle *v); rubidium@9837: rubidium@9837: void DeleteOilRig(TileIndex t); rubidium@9837: rubidium@9837: /* Check if a rail station tile is traversable. */ rubidium@9837: bool IsStationTileBlocked(TileIndex tile); rubidium@9837: rubidium@9837: /* Check if a rail station tile is electrifiable. */ rubidium@9837: bool IsStationTileElectrifiable(TileIndex tile); rubidium@9837: rubidium@9837: rubidium@9837: #endif /* STATION_FUNC_H */