tron@2186: /* $Id$ */ tron@2186: rubidium@9281: /** @file station_func.h Functions related to stations. */ belugas@6916: rubidium@9281: #ifndef STATION_FUNC_H rubidium@9281: #define STATION_FUNC_H truelight@0: rubidium@9265: #include "station_type.h" darkvater@405: #include "sprite.h" rubidium@9283: #include "rail_type.h" rubidium@8598: #include "road_type.h" rubidium@9281: #include "tile_type.h" rubidium@8615: #include "cargo_type.h" rubidium@9281: #include "vehicle_type.h" rubidium@8387: #include truelight@0: tron@2498: void ModifyStationRatingAround(TileIndex tile, PlayerID owner, int amount, uint radius); truelight@0: rubidium@8387: /** A set of stations (\c const \c Station* ) */ rubidium@8387: typedef std::set StationSet; rubidium@8387: rubidium@8387: StationSet FindStationsAroundIndustryTile(TileIndex tile, int w, int h); rubidium@8387: tron@2498: void ShowStationViewWindow(StationID station); rubidium@6573: void UpdateAllStationVirtCoord(); truelight@0: rubidium@6573: void AfterLoadStations(); tron@1424: void GetProductionAroundTiles(AcceptedCargo produced, TileIndex tile, int w, int h, int rad); tron@1424: void GetAcceptanceAroundTiles(AcceptedCargo accepts, TileIndex tile, int w, int h, int rad); darkvater@384: rubidium@7768: const DrawTileSprites *GetStationTileLayout(StationType st, byte gfx); rubidium@7768: void StationPickerDrawSprite(int x, int y, StationType st, RailType railtype, RoadType roadtype, int image); tron@2520: rubidium@9281: bool HasStationInUse(StationID station, PlayerID player); rubidium@9281: rubidium@9281: RoadStop * GetRoadStopByTile(TileIndex tile, RoadStopType type); rubidium@9281: uint GetNumRoadStops(const Station* st, RoadStopType type); rubidium@6573: RoadStop * AllocateRoadStop(); rubidium@9281: celestar@3123: void ClearSlot(Vehicle *v); celestar@1217: tron@6135: void DeleteOilRig(TileIndex t); tron@6135: rubidium@9283: /* Check if a rail station tile is traversable. */ rubidium@9283: bool IsStationTileBlocked(TileIndex tile); rubidium@9283: rubidium@9283: /* Check if a rail station tile is electrifiable. */ rubidium@9283: bool IsStationTileElectrifiable(TileIndex tile); rubidium@9283: belugas@10682: void UpdateAirportsNoise(); rubidium@9283: rubidium@9281: #endif /* STATION_FUNC_H */