Functions

station_func.h File Reference

Functions related to stations. More...

#include "sprite.h"
#include "rail_type.h"
#include "road_type.h"
#include "economy_func.h"

Go to the source code of this file.

Functions

void ModifyStationRatingAround (TileIndex tile, Owner owner, int amount, uint radius)
void FindStationsAroundTiles (const TileArea &location, StationList *stations)
 Find all stations around a rectangular producer (industry, house, headquarter, ...).
void ShowStationViewWindow (StationID station)
 Opens StationViewWindow for given station.
void UpdateAllStationVirtCoords ()
 Update the virtual coords needed to draw the station sign for all stations.
CargoArray GetProductionAroundTiles (TileIndex tile, int w, int h, int rad)
 Get the cargo types being produced around the tile (in a rectangle).
CargoArray GetAcceptanceAroundTiles (TileIndex tile, int w, int h, int rad, uint32 *always_accepted=NULL)
 Get the acceptance of cargoes around the tile in 1/8.
void UpdateStationAcceptance (Station *st, bool show_msg)
 Update the acceptance for a station.
const DrawTileSpritesGetStationTileLayout (StationType st, byte gfx)
void StationPickerDrawSprite (int x, int y, StationType st, RailType railtype, RoadType roadtype, int image)
bool HasStationInUse (StationID station, bool include_company, CompanyID company)
 Tests whether the company's vehicles have this station in orders.
void DeleteOilRig (TileIndex t)
bool IsStationTileBlocked (TileIndex tile)
 Check whether a rail station tile is NOT traversable.
bool IsStationTileElectrifiable (TileIndex tile)
 Check if a rail station tile can be electrified.
void UpdateAirportsNoise ()
 Recalculate the noise generated by the airports of each town.
static Money StationMaintenanceCost (uint32 num)
 Calculates the maintenance cost of a number of station tiles.
Money AirportMaintenanceCost (Owner owner)
 Calculates the maintenance cost of all airports of a company.

Detailed Description

Functions related to stations.

Definition in file station_func.h.


Function Documentation

Money AirportMaintenanceCost ( Owner  owner  ) 

Calculates the maintenance cost of all airports of a company.

Parameters:
owner Company.
Returns:
Total cost.

Definition at line 531 of file station.cpp.

References FACIL_AIRPORT.

Referenced by CompaniesGenStatistics(), CompanyInfrastructureWindow::DrawWidget(), CompanyInfrastructureWindow::GetTotalMaintenanceCost(), and CompanyInfrastructureWindow::UpdateWidgetSize().

void FindStationsAroundTiles ( const TileArea location,
StationList stations 
)

Find all stations around a rectangular producer (industry, house, headquarter, ...).

Parameters:
location The location/area of the producer
stations The list to store the stations in

Definition at line 3406 of file station_cmd.cpp.

References _settings_game, GameSettings::construction, ConstructionSettings::freeform_edges, TileArea::h, SmallVector< T, S >::Include(), IsTileType(), MapSizeX(), MapSizeY(), MAX_CATCHMENT, StationSettings::modified_catchment, MP_STATION, GameSettings::station, TileArea::tile, TileX(), TileXY(), TileY(), and TileArea::w.

Referenced by StationFinder::GetStations(), and WhoCanServiceIndustry().

CargoArray GetAcceptanceAroundTiles ( TileIndex  tile,
int  w,
int  h,
int  rad,
uint32 *  always_accepted 
)

Get the acceptance of cargoes around the tile in 1/8.

Parameters:
tile Center of the search area
w X extent of area
h Y extent of area
rad Search radius in addition to given area
always_accepted bitmask of cargo accepted by houses and headquarters; can be NULL

Definition at line 508 of file station_cmd.cpp.

References MapSizeX(), MapSizeY(), max(), min(), TileX(), TileXY(), and TileY().

Referenced by DrawStationCoverageAreaText(), and UpdateStationAcceptance().

CargoArray GetProductionAroundTiles ( TileIndex  tile,
int  w,
int  h,
int  rad 
)

Get the cargo types being produced around the tile (in a rectangle).

Parameters:
tile Northtile of area
w X extent of the area
h Y extent of the area
rad Search radius in addition to the given area

Definition at line 455 of file station_cmd.cpp.

References CT_INVALID, TileArea::Intersects(), lengthof, Industry::location, MapSizeX(), MapSizeY(), max(), min(), Industry::produced_cargo, TILE_AREA_LOOP, TileX(), TileXY(), and TileY().

Referenced by DrawStationCoverageAreaText().

bool HasStationInUse ( StationID  station,
bool  include_company,
CompanyID  company 
)

Tests whether the company's vehicles have this station in orders.

Parameters:
station station ID
include_company If true only check vehicles of company, if false only check vehicles of other companies
company company ID

Definition at line 2366 of file station_cmd.cpp.

References FOR_ALL_VEHICLES, Order::GetDestination(), Order::IsType(), and Vehicle::owner.

Referenced by CompanyStationsWindow::BuildStationsList(), and RemoveBuoy().

bool IsStationTileBlocked ( TileIndex  tile  ) 

Check whether a rail station tile is NOT traversable.

Parameters:
tile Tile to test.
Returns:
Station tile is blocked.
Note:
This could be cached (during build) in the map array to save on all the dereferencing.

Definition at line 889 of file newgrf_station.cpp.

References StationSpec::blocked, GetStationGfx(), and HasBit().

Referenced by AfterLoadCompanyStats(), CmdBuildRailStation(), CmdConvertRail(), ExploreSegment(), IsCompatibleTrainStationTile(), RemoveFromRailBaseStation(), and RemoveRailStation().

bool IsStationTileElectrifiable ( TileIndex  tile  ) 

Check if a rail station tile can be electrified.

Parameters:
tile Tile to test.
Returns:
Tile can be electrified.
Note:
This could be cached (during build) in the map array to save on all the dereferencing.

Definition at line 902 of file newgrf_station.cpp.

References GetStationGfx(), HasBit(), StationSpec::pylons, and StationSpec::wires.

Referenced by GetRailTrackBitsUniversal().

void ShowStationViewWindow ( StationID  station  ) 

Opens StationViewWindow for given station.

Parameters:
station station which window should be opened

Definition at line 1210 of file station_gui.cpp.

static Money StationMaintenanceCost ( uint32  num  )  [inline, static]

Calculates the maintenance cost of a number of station tiles.

Parameters:
num Number of station tiles.
Returns:
Total cost.

Definition at line 52 of file station_func.h.

References IntSqrt().

Referenced by CompaniesGenStatistics(), CompanyInfrastructureWindow::DrawWidget(), CompanyInfrastructureWindow::GetTotalMaintenanceCost(), and CompanyInfrastructureWindow::UpdateWidgetSize().

void UpdateAllStationVirtCoords (  ) 

Update the virtual coords needed to draw the station sign for all stations.

Definition at line 410 of file station_cmd.cpp.

References BaseStation::UpdateVirtCoord().

Referenced by CmdRenameTown(), and UpdateAllVirtCoords().

void UpdateStationAcceptance ( Station *  st,
bool  show_msg 
)