station_func.h File Reference

Functions related to stations. More...

#include "station_type.h"
#include "sprite.h"
#include "rail_type.h"
#include "road_type.h"
#include "cargo_type.h"
#include "company_type.h"
#include "vehicle_type.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 cargos 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.
void IncreaseStats (Station *st, const Vehicle *v, StationID next_station_id)
 Increase capacity for all link stats associated with vehicles in the given consist.
void IncreaseStats (Station *st, CargoID cargo, StationID next_station_id, uint capacity, uint usage)
 Increase capacity for a link stat given by station cargo and next hop.
void DeleteStaleFlows (StationID at, CargoID c_id, StationID to)
 Delete all flows at a station for specific cargo and destination.

Detailed Description

Functions related to stations.

Definition in file station_func.h.


Function Documentation

void DeleteStaleFlows ( StationID  at,
CargoID  c_id,
StationID  to 
)

Delete all flows at a station for specific cargo and destination.

Parameters:
at Station to delete flows from.
c_id Cargo for which flows shall be deleted.
to Remote station of flows to be deleted.

Definition at line 3183 of file station_cmd.cpp.

References GoodsEntry::flows, SpecializedStation< Station, false >::Get(), and Station::goods.

Referenced by Station::RunAverages(), and Station::~Station().

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 3466 of file station_cmd.cpp.

References _settings_game, CA_UNMODIFIED, SpecializedStation< Station, false >::GetByTile(), Station::GetCatchmentRadius(), TileArea::h, SmallVector< T, S >::Include(), INVALID_TILE, IsTileType(), MAX_CATCHMENT, StationSettings::modified_catchment, MP_STATION, GameSettings::station, TileArea::tile, TileAddWrap(), and TileArea::w.

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

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

Get the acceptance of cargos 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 529 of file station_cmd.cpp.

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

Referenced by AITileList_IndustryAccepting::AITileList_IndustryAccepting(), DrawStationCoverageAreaText(), AITile::GetCargoAcceptance(), 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 476 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(), and AITile::GetCargoProduction().

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 2313 of file station_cmd.cpp.

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

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

void IncreaseStats ( Station st,
CargoID  cargo,
StationID  next_station_id,
uint  capacity,
uint  usage 
)

Increase capacity for a link stat given by station cargo and next hop.

Parameters:
st Station to get the link stats from.
cargo Cargo to increase stat for.
next_station_id Station the consist will be travelling to next.
capacity Capacity to add to link stat.
usage Usage to add to link stat. If UINT_MAX refresh the link instead of increasing.

Definition at line 3274 of file station_cmd.cpp.

References SpecializedStation< Station, false >::Get(), GetMovingAverageLength(), Station::goods, LinkStat::Increase(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, LinkStat::IsValid(), GoodsEntry::link_stats, and LinkStat::Refresh().

Referenced by Vehicle::BeginLoading(), IncreaseStats(), and Vehicle::RefreshNextHopsStats().

void IncreaseStats ( Station st,
const Vehicle front,
StationID  next_station_id 
)

Increase capacity for all link stats associated with vehicles in the given consist.

Parameters:
st Station to get the link stats from.
front First vehicle in the consist.
next_station_id Station the consist will be travelling to next.

Definition at line 3302 of file station_cmd.cpp.

References Vehicle::cargo, Vehicle::cargo_type, CargoList< Tinst, Tcont >::Count(), IncreaseStats(), Vehicle::Next(), and Vehicle::refit_cap.

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 829 of file newgrf_station.cpp.

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

Referenced by ExploreSegment(), IsCompatibleTrainStationTile(), AIRail::IsRailTile(), and RemoveFromRailBaseStation().

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 842 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 1928 of file station_gui.cpp.

void UpdateAllStationVirtCoords (  ) 

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

Definition at line 431 of file station_cmd.cpp.

References BaseStation::UpdateVirtCoord().

Referenced by CmdRenameTown(), and UpdateAllVirtCoords().

void UpdateStationAcceptance ( Station st,
bool  show_msg 
)

Generated on Sun Jun 5 04:20:20 2011 for OpenTTD by  doxygen 1.6.1