4 * This file is part of OpenTTD.
5 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
6 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
7 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
10 /** @file station_func.h Functions related to stations. */
12 #ifndef STATION_FUNC_H
13 #define STATION_FUNC_H
15 #include "station_type.h"
17 #include "rail_type.h"
18 #include "road_type.h"
19 #include "cargo_type.h"
20 #include "company_type.h"
22 void ModifyStationRatingAround(TileIndex tile
, Owner owner
, int amount
, uint radius
);
24 void FindStationsAroundTiles(const TileArea
&location
, StationList
*stations
);
26 void ShowStationViewWindow(StationID station
);
27 void UpdateAllStationVirtCoords();
29 CargoArray
GetProductionAroundTiles(TileIndex tile
, int w
, int h
, int rad
);
30 CargoArray
GetAcceptanceAroundTiles(TileIndex tile
, int w
, int h
, int rad
, uint32
*always_accepted
= NULL
);
32 void UpdateStationAcceptance(Station
*st
, bool show_msg
);
34 const DrawTileSprites
*GetStationTileLayout(StationType st
, byte gfx
);
35 void StationPickerDrawSprite(int x
, int y
, StationType st
, RailType railtype
, RoadType roadtype
, int image
);
37 bool HasStationInUse(StationID station
, bool include_company
, CompanyID company
);
39 void DeleteOilRig(TileIndex t
);
41 /* Check if a rail station tile is traversable. */
42 bool IsStationTileBlocked(TileIndex tile
);
44 /* Check if a rail station tile is electrifiable. */
45 bool IsStationTileElectrifiable(TileIndex tile
);
47 void UpdateAirportsNoise();
49 #endif /* STATION_FUNC_H */