station_cmd.cpp File Reference

Handling of station tiles. More...

#include "stdafx.h"
#include "aircraft.h"
#include "bridge_map.h"
#include "cmd_helper.h"
#include "viewport_func.h"
#include "command_func.h"
#include "town.h"
#include "news_func.h"
#include "train.h"
#include "roadveh.h"
#include "industry.h"
#include "newgrf_cargo.h"
#include "newgrf_debug.h"
#include "newgrf_station.h"
#include "pathfinder/yapf/yapf_cache.h"
#include "road_internal.h"
#include "autoslope.h"
#include "water.h"
#include "station_gui.h"
#include "strings_func.h"
#include "functions.h"
#include "window_func.h"
#include "date_func.h"
#include "vehicle_func.h"
#include "string_func.h"
#include "animated_tile_func.h"
#include "elrail_func.h"
#include "station_base.h"
#include "roadstop_base.h"
#include "newgrf_railtype.h"
#include "waypoint_base.h"
#include "waypoint_func.h"
#include "pbs.h"
#include "debug.h"
#include "core/random_func.hpp"
#include "company_base.h"
#include "table/airporttile_ids.h"
#include "newgrf_airporttiles.h"
#include "order_backup.h"
#include "table/strings.h"
#include "table/station_land.h"

Go to the source code of this file.

Data Structures

struct  StationNameInformation
 Information to handle station action 0 property 24 correctly. More...

Defines

#define M(x)   ((x) - STR_SV_STNAME)

Typedefs

typedef bool(* CMSAMatcher )(TileIndex tile)
 Function to check whether the given tile matches some criterion.

Enumerations

enum  StationNaming {
  STATIONNAMING_RAIL, STATIONNAMING_ROAD, STATIONNAMING_AIRPORT, STATIONNAMING_OILRIG,
  STATIONNAMING_DOCK, STATIONNAMING_HELIPORT
}

Functions

bool IsHangar (TileIndex t)
 Check whether the given tile is a hangar.
template<class T >
CommandCost GetStationAround (TileArea ta, StationID closest_station, T **st)
 Look for a station around the given tile area.
static int CountMapSquareAround (TileIndex tile, CMSAMatcher cmp)
 Counts the numbers of tiles matching a specific type in the area around.
static bool CMSAMine (TileIndex tile)
 Check whether the tile is a mine.
static bool CMSAWater (TileIndex tile)
 Check whether the tile is water.
static bool CMSATree (TileIndex tile)
 Check whether the tile is a tree.
static bool CMSAForest (TileIndex tile)
 Check whether the tile is a forest.
static bool FindNearIndustryName (TileIndex tile, void *user_data)
 Find a station action 0 property 24 station name, or reduce the free_names if needed.
static StringID GenerateStationName (Station *st, TileIndex tile, StationNaming name_class)
static StationGetClosestDeletedStation (TileIndex tile)
 Find the closest deleted station of the current company.
void UpdateAllStationVirtCoords ()
 Update the virtual coords needed to draw the station sign for all stations.
static uint GetAcceptanceMask (const Station *st)
 Get a mask of the cargo types that the station accepts.
static void ShowRejectOrAcceptNews (const Station *st, uint num_items, CargoID *cargo, StringID msg)
 Items contains the two cargo names that are to be accepted or rejected.
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)
 Get the acceptance of cargos around the tile in 1/8.
void UpdateStationAcceptance (Station *st, bool show_msg)
 Update the acceptance for a station.
static void UpdateStationSignCoord (BaseStation *st)
static void DeleteStationIfEmpty (BaseStation *st)
 This is called right after a station was deleted.
CommandCost ClearTile_Station (TileIndex tile, DoCommandFlag flags)
CommandCost CheckBuildableTile (TileIndex tile, uint invalid_dirs, int &allowed_z, bool check_bridge=true)
 Checks if the given tile is buildable, flat and has a certain height.
CommandCost CheckFlatLand (TileArea tile_area, DoCommandFlag flags)
 Tries to clear the given area.
static CommandCost CheckFlatLandRailStation (TileArea tile_area, DoCommandFlag flags, uint invalid_dirs, StationID *station, RailType rt, SmallVector< Train *, 4 > &affected_vehicles)
 Checks if a rail station can be built at the given area.
static CommandCost CheckFlatLandRoadStop (TileArea tile_area, DoCommandFlag flags, uint invalid_dirs, bool is_drive_through, bool is_truck_stop, Axis axis, StationID *station, RoadTypes rts)
 Checks if a road stop can be built at the given tile.
CommandCost CanExpandRailStation (const BaseStation *st, TileArea &new_ta, Axis axis)
 Check whether we can expand the rail part of the given station.
static byte * CreateSingle (byte *layout, int n)
static byte * CreateMulti (byte *layout, int n, byte b)
void GetStationLayout (byte *layout, int numtracks, int plat_len, const StationSpec *statspec)
template<class T , StringID error_message>
CommandCost FindJoiningBaseStation (StationID existing_station, StationID station_to_join, bool adjacent, TileArea ta, T **st)
 Find a nearby station that joins this station.
static CommandCost FindJoiningStation (StationID existing_station, StationID station_to_join, bool adjacent, TileArea ta, Station **st)
 Find a nearby station that joins this station.
CommandCost FindJoiningWaypoint (StationID existing_waypoint, StationID waypoint_to_join, bool adjacent, TileArea ta, Waypoint **wp)
 Find a nearby waypoint that joins this waypoint.
CommandCost CmdBuildRailStation (TileIndex tile_org, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
 Build rail station.
static void MakeRailStationAreaSmaller (BaseStation *st)
template<class T >
CommandCost RemoveFromRailBaseStation (TileArea ta, SmallVector< T *, 4 > &affected_stations, DoCommandFlag flags, Money removal_cost, bool keep_rail)
 Remove a number of tiles from any rail station within the area.
CommandCost CmdRemoveFromRailStation (TileIndex start, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
 Remove a single tile from a rail station.
CommandCost CmdRemoveFromRailWaypoint (TileIndex start, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
 Remove a single tile from a waypoint.
template<class T >
CommandCost RemoveRailStation (T *st, DoCommandFlag flags)
 Remove a rail station/waypoint.
static CommandCost RemoveRailStation (TileIndex tile, DoCommandFlag flags)
 Remove a rail station.
static CommandCost RemoveRailWaypoint (TileIndex tile, DoCommandFlag flags)
 Remove a rail waypoint.
static RoadStop ** FindRoadStopSpot (bool truck_station, Station *st)
static CommandCost RemoveRoadStop (TileIndex tile, DoCommandFlag flags)
 Remove a bus station/truck stop.
static CommandCost FindJoiningRoadStop (StationID existing_stop, StationID station_to_join, bool adjacent, TileArea ta, Station **st)
 Find a nearby station that joins this road stop.
CommandCost CmdBuildRoadStop (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
 Build a bus or truck stop.
static VehicleClearRoadStopStatusEnum (Vehicle *v, void *)
CommandCost CmdRemoveRoadStop (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
 Remove bus or truck stops.
static uint GetMinimalAirportDistanceToTile (const AirportSpec *as, TileIndex town_tile, TileIndex airport_tile)
 Computes the minimal distance from town's xy to any airport's tile.
uint8 GetAirportNoiseLevelForTown (const AirportSpec *as, TileIndex town_tile, TileIndex tile)
 Get a possible noise reduction factor based on distance from town center.
TownAirportGetNearestTown (const AirportSpec *as, TileIndex airport_tile)
 Finds the town nearest to given airport.
void UpdateAirportsNoise ()
 Recalculate the noise generated by the airports of each town.
CommandCost CmdBuildAirport (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
 Place an Airport.
static CommandCost RemoveAirport (TileIndex tile, DoCommandFlag flags)
 Remove an airport.
bool HasStationInUse (StationID station, bool include_company, CompanyID company)
 Tests whether the company's vehicles have this station in orders.
CommandCost CmdBuildDock (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
 Build a dock/haven.
static CommandCost RemoveDock (TileIndex tile, DoCommandFlag flags)
 Remove a dock.
const DrawTileSpritesGetStationTileLayout (StationType st, byte gfx)
static void DrawTile_Station (TileInfo *ti)
void StationPickerDrawSprite (int x, int y, StationType st, RailType railtype, RoadType roadtype, int image)
static uint GetSlopeZ_Station (TileIndex tile, uint x, uint y)
static Foundation GetFoundation_Station (TileIndex tile, Slope tileh)
static void GetTileDesc_Station (TileIndex tile, TileDesc *td)
static TrackStatus GetTileTrackStatus_Station (TileIndex tile, TransportType mode, uint sub_mode, DiagDirection side)
static void TileLoop_Station (TileIndex tile)
static void AnimateTile_Station (TileIndex tile)
static bool ClickTile_Station (TileIndex tile)
static VehicleEnterTileStatus VehicleEnter_Station (Vehicle *v, TileIndex tile, int x, int y)
static bool StationHandleBigTick (BaseStation *st)
 This function is called for each station once every 250 ticks.
static void byte_inc_sat (byte *p)
static void UpdateStationRating (Station *st)
static void StationHandleSmallTick (BaseStation *st)
void OnTick_Station ()
void StationMonthlyLoop ()
void ModifyStationRatingAround (TileIndex tile, Owner owner, int amount, uint radius)
static uint UpdateStationWaiting (Station *st, CargoID type, uint amount, SourceType source_type, SourceID source_id)
static bool IsUniqueStationName (const char *name)
CommandCost CmdRenameStation (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text)
 Rename a station.
void FindStationsAroundTiles (const TileArea &location, StationList *stations)
 Find all stations around a rectangular producer (industry, house, headquarter, .
uint MoveGoodsToStation (CargoID type, uint amount, SourceType source_type, SourceID source_id, const StationList *all_stations)
void BuildOilRig (TileIndex tile)
void DeleteOilRig (TileIndex tile)
static void ChangeTileOwner_Station (TileIndex tile, Owner old_owner, Owner new_owner)
static bool CanRemoveRoadWithStop (TileIndex tile, DoCommandFlag flags)
 Check if a drive-through road stop tile can be cleared.
static CommandCost TerraformTile_Station (TileIndex tile, DoCommandFlag flags, uint z_new, Slope tileh_new)

Variables

static const TileIndexDiffC _dock_tileoffs_chkaround []
static const byte _dock_w_chk [4] = { 2, 1, 2, 1 }
static const byte _dock_h_chk [4] = { 1, 2, 1, 2 }
const TileTypeProcs _tile_type_station_procs

Detailed Description

Handling of station tiles.

Definition in file station_cmd.cpp.


Typedef Documentation

typedef bool(* CMSAMatcher)(TileIndex tile)

Function to check whether the given tile matches some criterion.

Parameters:
tile the tile to check
Returns:
true if it matches, false otherwise

Definition at line 112 of file station_cmd.cpp.


Function Documentation

Town* AirportGetNearestTown ( const AirportSpec as,
TileIndex  airport_tile 
)

Finds the town nearest to given airport.

Based on minimal manhattan distance to any airport's tile. If two towns have the same distance, town with lower index is returned.

Parameters:
as airport's description
airport_tile st->airport.tile
Returns:
nearest town to airport

Definition at line 2025 of file station_cmd.cpp.

References DistanceManhattan(), GetMinimalAirportDistanceToTile(), AirportSpec::size_x, and AirportSpec::size_y.

Referenced by CmdBuildAirport(), AIAirport::GetNearestTown(), AIAirport::GetNoiseLevelIncrease(), RemoveAirport(), and UpdateAirportsNoise().

CommandCost CanExpandRailStation ( const BaseStation st,
TileArea new_ta,
Axis  axis 
)

Check whether we can expand the rail part of the given station.

Parameters:
st the station to expand
new_ta the current (and if all is fine new) tile area of the rail part of the station
axis the axis of the newly build rail
Returns:
Succeeded or failed command.

Definition at line 932 of file station_cmd.cpp.

References _settings_game, TileArea::h, max(), min(), return_cmd_error, GameSettings::station, StationSettings::station_spread, TileArea::tile, TileX(), TileXY(), TileY(), BaseStation::train_station, and TileArea::w.

Referenced by CmdBuildRailStation(), and CmdBuildRailWaypoint().

static bool CanRemoveRoadWithStop ( TileIndex  tile,
DoCommandFlag  flags 
) [static]

Check if a drive-through road stop tile can be cleared.

Road stops built on town-owned roads check the conditions that would allow clearing of the original road.

Parameters:
tile road stop tile to check
flags command flags
Returns:
true if the road can be cleared

Definition at line 3446 of file station_cmd.cpp.

References _current_company, CheckAllowRemoveRoad(), CheckOwnership(), GetAnyRoadBits(), GetRoadOwner(), GetRoadTypes(), HasBit(), OWNER_TOWN, OWNER_WATER, ROADTYPE_ROAD, ROADTYPE_TRAM, and CommandCost::Succeeded().

CommandCost CheckBuildableTile ( TileIndex  tile,
uint  invalid_dirs,
int &  allowed_z,
bool  check_bridge = true 
)

Checks if the given tile is buildable, flat and has a certain height.

Parameters:
tile TileIndex to check.
invalid_dirs Prohibited directions for slopes (set of DiagDirection).
allowed_z Height allowed for the tile. If allowed_z is negative, it will be set to the height of this tile.
check_bridge Check for the existance of a bridge.
Returns:
The cost in case of success, or an error code if it failed.

Definition at line 677 of file station_cmd.cpp.

References _settings_game, CommandCost::AddCost(), ConstructionSettings::build_on_slopes, GameSettings::construction, DIAGDIR_NE, DIAGDIR_NW, DIAGDIR_SE, DIAGDIR_SW, EnsureNoVehicleOnGround(), EXPENSES_CONSTRUCTION, CommandCost::Failed(), GetTileSlope(), HasBit(), IsBridgeAbove(), IsSteepSlope(), MayHaveBridgeAbove(), return_cmd_error, SLOPE_FLAT, SLOPE_NE, SLOPE_NW, SLOPE_SE, SLOPE_SW, and TILE_HEIGHT.

Referenced by CheckFlatLand(), CheckFlatLandRailStation(), CheckFlatLandRoadStop(), and CmdBuildObject().

CommandCost CheckFlatLand ( TileArea  tile_area,
DoCommandFlag  flags 
)

Tries to clear the given area.

Parameters:
tile_area Area to check.
flags Operation to perform.
Returns:
The cost in case of success, or an error code if it failed.

Definition at line 729 of file station_cmd.cpp.

References CommandCost::AddCost(), CheckBuildableTile(), CMD_LANDSCAPE_CLEAR, DoCommand(), EXPENSES_CONSTRUCTION, CommandCost::Failed(), and TILE_AREA_LOOP.

Referenced by CmdBuildAirport().

static CommandCost CheckFlatLandRailStation ( TileArea  tile_area,
DoCommandFlag  flags,
uint  invalid_dirs,
StationID station,
RailType  rt,
SmallVector< Train *, 4 > &  affected_vehicles 
) [static]

Checks if a rail station can be built at the given area.

Parameters:
tile_area Area to check.
flags Operation to perform.
invalid_dirs Prohibited directions (set of DiagDirection).
station StationID to be queried and returned if available.
rt The rail type to check for (overbuilding rail stations over rail).
affected_vehicles List of trains with PBS reservations on the tiles
Returns:
The cost in case of success, or an error code if it failed.

Definition at line 757 of file station_cmd.cpp.

References CommandCost::AddCost(), SmallVector< T, S >::Append(), CheckBuildableTile(), CMD_LANDSCAPE_CLEAR, CMD_REMOVE_SINGLE_RAIL, DC_AUTO, DIAGDIR_NE, DoCommand(), EXPENSES_CONSTRUCTION, CommandCost::Failed(), GetRailReservationTrackBits(), GetRailType(), GetStationIndex(), GetTrackBits(), GetTrainForReservation(), HasBit(), HasPowerOnRail(), HasSignals(), INVALID_RAILTYPE, IsPlainRailTile(), IsRailStation(), IsTileType(), MP_STATION, RemoveFirstTrack(), return_cmd_error, TILE_AREA_LOOP, TRACK_BIT_NONE, TRACK_X, and TRACK_Y.

Referenced by CmdBuildRailStation().

static CommandCost CheckFlatLandRoadStop ( TileArea  tile_area,
DoCommandFlag  flags,
uint  invalid_dirs,
bool  is_drive_through,
bool  is_truck_stop,
Axis  axis,
StationID station,
RoadTypes  rts 
) [static]

Checks if a road stop can be built at the given tile.

Parameters:
tile_area Area to check.
flags Operation to perform.
invalid_dirs Prohibited directions (set of DiagDirections).
is_drive_through True if trying to build a drive-through station.
is_truck_stop True when building a truck stop, false otherwise.
axis Axis of a drive-through road stop.
station StationID to be queried and returned if available.
rts Road types to build.
Returns:
The cost in case of success, or an error code if it failed.

Definition at line 833 of file station_cmd.cpp.

References _settings_game, CommandCost::AddCost(), AXIS_X, CheckBuildableTile(), CheckOwnership(), CMD_LANDSCAPE_CLEAR, GameSettings::construction, CountBits(), DC_AUTO, DiagDirToAxis(), DoCommand(), EXPENSES_CONSTRUCTION, CommandCost::Failed(), GetAllRoadBits(), GetRoadBits(), GetRoadOwner(), GetRoadStopDir(), GetRoadTypes(), GetStationIndex(), HasBit(), IsDriveThroughStopTile(), IsNormalRoadTile(), IsRoadStop(), IsTileType(), IsTruckStop(), MP_STATION, OWNER_NONE, OWNER_TOWN, return_cmd_error, ROAD_NONE, ConstructionSettings::road_stop_on_competitor_road, ConstructionSettings::road_stop_on_town_road, ROAD_X, ROAD_Y, ROADTYPE_ROAD, ROADTYPE_TRAM, ROADTYPES_NONE, and TILE_AREA_LOOP.

Referenced by CmdBuildRoadStop().

CommandCost CmdBuildAirport ( TileIndex  tile,
DoCommandFlag  flags,
uint32  p1,
uint32  p2,
const char *  text 
)

Place an Airport.

Parameters:
tile tile where airport will be built
flags operation to perform
p1 
  • p1 = (bit 0- 7) - airport type,
See also:
airport.h
  • p1 = (bit 8-15) - airport layout
Parameters:
p2 various bitstuffed elements

  • p2 = (bit 0) - allow airports directly adjacent to other airports.
  • p2 = (bit 16-31) - station ID to join (NEW_STATION if build new one)
text unused
Returns:
the cost of this operation or an error

Definition at line 2074 of file station_cmd.cpp.

References _current_company, _settings_game, AAT_BUILT, TileArea::Add(), AddAnimatedTile(), CommandCost::AddCost(), Station::AddFacility(), AirportFTAClass::AIRPLANES, Station::airport, AirportGetNearestTown(), ANIM_STATUS_NO_ANIMATION, AirportTileSpec::animation, AT_OILRIG, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_station_pool >::CanAllocateItem(), CheckFlatLand(), CheckIfAuthorityAllowsNewStation(), ClosestTownFromTile(), CMD_ERROR, DC_EXEC, DIR_E, DIR_W, StationSettings::distant_join_stations, GameSettings::economy, FACIL_AIRPORT, BaseStation::facilities, CommandCost::Failed(), FindJoiningStation(), Airport::flags, GB(), AirportTileSpec::Get(), AirportSpec::Get(), GetAirport(), GetAirportNoiseLevelForTown(), GetClosestDeletedStation(), SpecializedStation< Station, false >::GetIfValid(), GetTranslatedAirportTileID(), AirportTileTable::gfx, HasBit(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem< Tpool >::index, INVALID_TILE, InvalidateWindowData(), AirportSpec::IsAvailable(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID(), SpecializedStation< Station, false >::IsValidID(), Airport::layout, MakeAirport(), Town::MaxTownNoise(), NUM_AIRPORTS, AirportSpec::num_table, BaseStation::owner, Station::RecomputeIndustriesNear(), BaseStation::rect, return_cmd_error, Airport::rotation, AirportSpec::rotation, SetBit(), SetDParam(), SetStationTileRandomBits(), SetWindowDirty(), SetWindowWidgetDirty(), AirportSpec::size_x, AirportSpec::size_y, GameSettings::station, EconomySettings::station_noise_level, StationSettings::station_spread, AnimationInfo::status, BaseStation::string_id, SVW_PLANES, Swap(), AirportSpec::table, AirportTileTable::ti, TileArea::tile, ToTileIndexDiff(), BaseStation::town, Airport::type, UpdateAirplanesOnNewStation(), UpdateStationAcceptance(), Station::UpdateVirtCoord(), and WATER_CLASS_INVALID.

CommandCost CmdBuildDock ( TileIndex  tile,
DoCommandFlag  flags,
uint32  p1,
uint32  p2,
const char *  text 
)

Build a dock/haven.

Parameters:
tile tile where dock will be built
flags operation to perform
p1 (bit 0) - allow docks directly adjacent to other docks.
p2 bit 16-31: station ID to join (NEW_STATION if build new one)
text unused
Returns:
the cost of this operation or an error

Definition at line 2338 of file station_cmd.cpp.

References _current_company, _settings_game, Station::AddFacility(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_station_pool >::CanAllocateItem(), CheckIfAuthorityAllowsNewStation(), ClosestTownFromTile(), CMD_ERROR, CMD_LANDSCAPE_CLEAR, DC_EXEC, StationSettings::distant_join_stations, Station::dock_tile, DoCommand(), EXPENSES_CONSTRUCTION, FACIL_DOCK, CommandCost::Failed(), FindJoiningStation(), GB(), GetClosestDeletedStation(), SpecializedStation< Station, false >::GetIfValid(), GetInclinedSlopeDirection(), GetTileSlope(), GetWaterClass(), HasBit(), HasTileWaterGround(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem< Tpool >::index, INVALID_DIAGDIR, INVALID_TILE, InvalidateWindowData(), IsBridgeAbove(), IsTileType(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID(), SpecializedStation< Station, false >::IsValidID(), MakeDock(), MayHaveBridgeAbove(), MP_WATER, BaseStation::owner, Station::RecomputeIndustriesNear(), BaseStation::rect, return_cmd_error, ReverseDiagDir(), SetBit(), SetWindowWidgetDirty(), SLOPE_FLAT, GameSettings::station, BaseStation::string_id, SVW_SHIPS, TileOffsByDiagDir(), ToTileIndexDiff(), BaseStation::town, UpdateStationAcceptance(), and Station::UpdateVirtCoord().

CommandCost CmdBuildRailStation ( TileIndex  tile_org,
DoCommandFlag  flags,
uint32  p1,
uint32  p2,
const char *  text 
)

Build rail station.

Parameters:
tile_org northern most position of station dragging/placement
flags operation to perform
p1 various bitstuffed elements

  • p1 = (bit 0- 3) - railtype
  • p1 = (bit 4) - orientation (Axis)
  • p1 = (bit 8-15) - number of tracks
  • p1 = (bit 16-23) - platform length
  • p1 = (bit 24) - allow stations directly adjacent to other stations.
p2 various bitstuffed elements

  • p2 = (bit 0- 7) - custom station class
  • p2 = (bit 8-15) - custom station id
  • p2 = (bit 16-31) - station ID to join (NEW_STATION if build new one)
text unused
Returns:
the cost of this operation or an error

Definition at line 1087 of file station_cmd.cpp.

References _current_company, _settings_game, CommandCost::AddCost(), Station::AddFacility(), AddTrackToSignalBuffer(), AllocaM, AllocateSpecToStation(), SmallVector< T, S >::Append(), AXIS_X, AxisToTrack(), BaseStation::cached_anim_triggers, CALLBACK_FAILED, StationSpec::callback_mask, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_station_pool >::CanAllocateItem(), CanExpandRailStation(), CBID_STATION_AVAILABILITY, CBID_STATION_TILE_LAYOUT, CBM_STATION_AVAIL, CheckFlatLandRailStation(), CheckIfAuthorityAllowsNewStation(), ClosestTownFromTile(), CMD_ERROR, DC_EXEC, DeallocateSpecFromStation(), DeleteAnimatedTile(), StationSpec::disallowed_lengths, StationSpec::disallowed_platforms, StationSettings::distant_join_stations, FACIL_TRAIN, CommandCost::Failed(), FindJoiningStation(), FreeTrainTrackReservation(), GB(), GetClosestDeletedStation(), GetCustomStationSpecIndex(), GetPlatformInfo(), GetRailStationAxis(), GetTrainForReservation(), Train::GetVehicleTrackdir(), HasBit(), HasStationReservation(), HasStationTileRail(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem< Tpool >::index, INVALID_TILE, InvalidateWindowData(), IsRailStationTile(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID(), SpecializedStation< Station, false >::IsValidID(), SmallVector< T, S >::Length(), MakeRailStation(), Station::MarkTilesDirty(), SpecializedVehicle< T, Type >::Next(), BaseStation::owner, RailBuildCost(), Station::RecomputeIndustriesNear(), BaseStation::rect, return_cmd_error, ReverseTrackdir(), SAT_BUILT, SetAnimationFrame(), SetBit(), SetCustomStationSpecIndex(), SetRailStationPlatformReservation(), SetStationGfx(), SetStationTileRandomBits(), SetWindowWidgetDirty(), STAT_CLASS_WAYP, GameSettings::station, StationSettings::station_spread, BaseStation::string_id, SVW_TRAINS, Vehicle::tile, TileArea::tile, TileDiffXY(), BaseStation::town, TrackdirToExitdir(), BaseStation::train_station, AnimationInfo::triggers, TryPathReserve(), UpdateStationAcceptance(), Station::UpdateVirtCoord(), ValParamRailtype(), and YapfNotifyTrackLayoutChange().

CommandCost CmdBuildRoadStop ( TileIndex  tile,
DoCommandFlag  flags,
uint32  p1,
uint32  p2,
const char *  text 
)

Build a bus or truck stop.

Parameters:
tile Northernmost tile of the stop.
flags Operation to perform.
p1 bit 0..7: Width of the road stop. bit 8..15: Lenght of the road stop.
p2 bit 0: 0 For bus stops, 1 for truck stops. bit 1: 0 For normal stops, 1 for drive-through. bit 2..3: The roadtypes. bit 5: Allow stations directly adjacent to other stations. bit 6..7: Entrance direction (DiagDirection). bit 16..31: Station ID to join (NEW_STATION if build new one).
text Unused.
Returns:
The cost of this operation or an error.

Definition at line 1667 of file station_cmd.cpp.

References _current_company, _settings_game, TileArea::Add(), CommandCost::AddCost(), Station::AddFacility(), Station::bus_station, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_station_pool >::CanAllocateItem(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_roadstop_pool >::CanAllocateItem(), CheckFlatLandRoadStop(), CheckIfAuthorityAllowsNewStation(), ClosestTownFromTile(), CMD_ERROR, DC_EXEC, DiagDirToAxis(), StationSettings::distant_join_stations, EXPENSES_CONSTRUCTION, FACIL_BUS_STOP, FACIL_TRUCK_STOP, CommandCost::Failed(), FindJoiningRoadStop(), FindRoadStopSpot(), GB(), GetClosestDeletedStation(), GetRoadOwner(), GetRoadTypes(), TileArea::h, HasBit(), HasExactlyOneBit(), HasRoadTypesAvail(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem< Tpool >::index, INVALID_TILE, InvalidateWindowData(), IsRoadStop(), IsTileType(), IsValidAxis(), IsValidDiagDirection(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID(), SpecializedStation< Station, false >::IsValidID(), IsValidTile(), RoadStop::MakeDriveThrough(), MakeDriveThroughRoadStop(), MakeRoadStop(), MarkTileDirtyByTile(), MP_STATION, BaseStation::owner, Station::RecomputeIndustriesNear(), BaseStation::rect, RemoveRoadStop(), return_cmd_error, ROADSTOP_BUS, ROADSTOP_TRUCK, ROADTYPE_ROAD, ROADTYPE_TRAM, SetBit(), SetWindowWidgetDirty(), GameSettings::station, StationSettings::station_spread, BaseStation::string_id, SVW_ROADVEHS, TileArea::tile, TILE_AREA_LOOP, TileAddWrap(), BaseStation::town, Station::truck_station, UpdateStationAcceptance(), Station::UpdateVirtCoord(), and TileArea::w.

CommandCost CmdRemoveFromRailStation ( TileIndex  start,
DoCommandFlag  flags,
uint32  p1,
uint32  p2,
const char *  text 
)

Remove a single tile from a rail station.

This allows for custom-built station with holes and weird layouts

Parameters:
start tile of station piece to remove
flags operation to perform
p1 start_tile
p2 various bitstuffed elements

  • p2 = bit 0 - if set keep the rail
text unused
Returns:
the cost of this operation or an error

Definition at line 1463 of file station_cmd.cpp.

References SmallVector< T, S >::Begin(), CMD_ERROR, SmallVector< T, S >::End(), CommandCost::Failed(), HasBit(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem< Tpool >::index, INVALID_TILE, MapSize(), Station::MarkTilesDirty(), Station::RecomputeIndustriesNear(), RemoveFromRailBaseStation(), SetWindowWidgetDirty(), SVW_TRAINS, TileArea::tile, and BaseStation::train_station.

CommandCost CmdRemoveFromRailWaypoint ( TileIndex  start,
DoCommandFlag  flags,
uint32  p1,
uint32  p2,
const char *  text 
)

Remove a single tile from a waypoint.

This allows for custom-built waypoint with holes and weird layouts

Parameters:
start tile of waypoint piece to remove
flags operation to perform
p1 start_tile
p2 various bitstuffed elements

  • p2 = bit 0 - if set keep the rail
text unused
Returns:
the cost of this operation or an error

Definition at line 1498 of file station_cmd.cpp.

References CMD_ERROR, HasBit(), MapSize(), and RemoveFromRailBaseStation().

CommandCost CmdRemoveRoadStop ( TileIndex  tile,
DoCommandFlag  flags,
uint32  p1,
uint32  p2,
const char *  text 
)

Remove bus or truck stops.

Parameters:
tile Northernmost tile of the removal area.
flags Operation to perform.
p1 bit 0..7: Width of the removal area. bit 8..15: Height of the removal area.
p2 bit 0: 0 For bus stops, 1 for truck stops.
text Unused.
Returns:
The cost of this operation or an error.

Definition at line 1915 of file station_cmd.cpp.

References CommandCost::AddCost(), ClosestTownFromTile(), CMD_ERROR, DC_EXEC, DIAGDIR_NE, DiagDirToRoadBits(), EXPENSES_CONSTRUCTION, CommandCost::Failed(), GB(), GetRoadOwner(), GetRoadStopDir(), GetRoadStopType(), GetRoadTypes(), INVALID_TILE, IsDriveThroughStopTile(), IsRoadStop(), IsTileType(), IsValidTile(), MakeRoadNormal(), MP_STATION, RemoveRoadStop(), return_cmd_error, ROAD_X, ROAD_Y, ROADTYPE_ROAD, ROADTYPE_TRAM, TILE_AREA_LOOP, and TileAddWrap().

CommandCost CmdRenameStation ( TileIndex  tile,
DoCommandFlag  flags,
uint32  p1,
uint32  p2,
const char *  text 
)

Rename a station.

Parameters:
tile unused
flags operation to perform
p1 station ID that is to be renamed
p2 unused
text the new name or an empty string when resetting to the default
Returns:
the cost of this operation or an error

Definition at line 3211 of file station_cmd.cpp.

References CheckOwnership(), CMD_ERROR, DC_EXEC, CommandCost::Failed(), SpecializedStation< Station, false >::GetIfValid(), InvalidateWindowData(), MAX_LENGTH_STATION_NAME_CHARS, BaseStation::name, BaseStation::owner, return_cmd_error, StrEmpty(), Station::UpdateVirtCoord(), and Utf8StringLength().

static bool CMSAForest ( TileIndex  tile  )  [static]

Check whether the tile is a forest.

Parameters:
tile the tile to investigate.
Returns:
true if and only if the tile is a mine

Definition at line 186 of file station_cmd.cpp.

References CT_INVALID, CargoSpec::Get(), Industry::GetByTile(), GetIndustrySpec(), INDUSTRYLIFE_ORGANIC, IsTileType(), CargoSpec::label, lengthof, IndustrySpec::life_type, MP_INDUSTRY, Industry::produced_cargo, and Industry::type.

static bool CMSAMine ( TileIndex  tile  )  [static]

Check whether the tile is a mine.

Parameters:
tile the tile to investigate.
Returns:
true if and only if the tile is a mine

Definition at line 139 of file station_cmd.cpp.

References CC_LIQUID, CC_MAIL, CC_PASSENGERS, CargoSpec::classes, CT_INVALID, CargoSpec::Get(), Industry::GetByTile(), GetIndustrySpec(), INDUSTRYLIFE_EXTRACTIVE, IsTileType(), lengthof, IndustrySpec::life_type, MP_INDUSTRY, Industry::produced_cargo, and Industry::type.

static bool CMSATree ( TileIndex  tile  )  [static]

Check whether the tile is a tree.

Parameters:
tile the tile to investigate.
Returns:
true if and only if the tile is a mine

Definition at line 176 of file station_cmd.cpp.

References IsTileType(), and MP_TREES.

static bool CMSAWater ( TileIndex  tile  )  [static]

Check whether the tile is water.

Parameters:
tile the tile to investigate.
Returns:
true if and only if the tile is a mine

Definition at line 166 of file station_cmd.cpp.

References IsTileType(), IsWater(), and MP_WATER.

static int CountMapSquareAround ( TileIndex  tile,
CMSAMatcher  cmp 
) [static]

Counts the numbers of tiles matching a specific type in the area around.

Parameters:
tile the center tile of the 'count area'
cmp the comparator/matcher (
See also:
CMSAMatcher)
Returns:
the number of matching tiles around

Definition at line 120 of file station_cmd.cpp.

References INVALID_TILE, and TileAddWrap().

static void DeleteStationIfEmpty ( BaseStation st  )  [static]

This is called right after a station was deleted.

It checks if the whole station is free of substations, and if so, the station will be deleted after a little while.

Parameters:
st Station

Definition at line 657 of file station_cmd.cpp.

References BaseStation::delete_ctr, InvalidateWindowData(), BaseStation::IsInUse(), and BaseStation::owner.

Referenced by RemoveAirport(), RemoveDock(), RemoveFromRailBaseStation(), RemoveRailStation(), and RemoveRoadStop().

template<class T , StringID error_message>
CommandCost FindJoiningBaseStation ( StationID  existing_station,
StationID  station_to_join,
bool  adjacent,
TileArea  ta,
T **  st 
) [inline]

Find a nearby station that joins this station.

Template Parameters:
T the class to find a station for
error_message the error message when building a station on top of others
Parameters:
existing_station an existing station we build over
station_to_join the station to join to
adjacent whether adjacent stations are allowed
ta the area of the newly build station
st 'return' pointer for the found station
Returns:
command cost with the error or 'okay'

Definition at line 1006 of file station_cmd.cpp.

References _settings_game, StationSettings::adjacent_stations, CommandCost::Failed(), GetStationAround(), return_cmd_error, and GameSettings::station.

static CommandCost FindJoiningRoadStop ( StationID  existing_stop,
StationID  station_to_join,
bool  adjacent,
TileArea  ta,
Station **  st 
) [static]

Find a nearby station that joins this road stop.

Parameters:
existing_stop an existing road stop we build over
station_to_join the station to join to
adjacent whether adjacent stations are allowed
ta the area of the newly build station
st 'return' pointer for the found station
Returns:
command cost with the error or 'okay'

Definition at line 1647 of file station_cmd.cpp.

Referenced by CmdBuildRoadStop().

static CommandCost FindJoiningStation ( StationID  existing_station,
StationID  station_to_join,
bool  adjacent,
TileArea  ta,
Station **  st 
) [static]

Find a nearby station that joins this station.

Parameters:
existing_station an existing station we build over
station_to_join the station to join to
adjacent whether adjacent stations are allowed
ta the area of the newly build station
st 'return' pointer for the found station
Returns:
command cost with the error or 'okay'

Definition at line 1051 of file station_cmd.cpp.

Referenced by CmdBuildAirport(), CmdBuildDock(), and CmdBuildRailStation().

CommandCost FindJoiningWaypoint ( StationID  existing_waypoint,
StationID  waypoint_to_join,
bool  adjacent,
TileArea  ta,
Waypoint **  wp 
)

Find a nearby waypoint that joins this waypoint.

Parameters:
existing_waypoint an existing waypoint we build over
waypoint_to_join the waypoint to join to
adjacent whether adjacent waypoints are allowed
ta the area of the newly build waypoint
wp 'return' pointer for the found waypoint
Returns:
command cost with the error or 'okay'

Definition at line 1065 of file station_cmd.cpp.

Referenced by CmdBuildRailWaypoint().

static bool FindNearIndustryName ( TileIndex  tile,
void *  user_data 
) [static]

Find a station action 0 property 24 station name, or reduce the free_names if needed.

Parameters:
tile the tile to search
user_data the StationNameInformation to base the search on
Returns:
true if the tile contains an industry that has not given its name to one of the other stations in town.

Definition at line 229 of file station_cmd.cpp.

References StationNameInformation::free_names, GetIndustrySpec(), GetIndustryType(), StationNameInformation::indtypes, IsTileType(), and MP_INDUSTRY.

static RoadStop** FindRoadStopSpot ( bool  truck_station,
Station st 
) [static]
Parameters:
truck_station Determines whether a stop is ROADSTOP_BUS or ROADSTOP_TRUCK
st The Station to do the whole procedure for
Returns:
a pointer to where to link a new RoadStop*

Definition at line 1621 of file station_cmd.cpp.

References Station::bus_stops, RoadStop::next, and Station::truck_stops.

Referenced by CmdBuildRoadStop().

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 3243 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 527 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().

static uint GetAcceptanceMask ( const Station st  )  [static]

Get a mask of the cargo types that the station accepts.

Parameters:
st Station to query
Returns:
the expected mask

Definition at line 443 of file station_cmd.cpp.

References Station::goods, HasBit(), and NUM_CARGO.

Referenced by UpdateStationAcceptance().

uint8 GetAirportNoiseLevelForTown ( const AirportSpec as,
TileIndex  town_tile,
TileIndex  tile 
)

Get a possible noise reduction factor based on distance from town center.

The further you get, the less noise you generate. So all those folks at city council can now happily slee... work in their offices

Parameters:
as airport information
town_tile TileIndex of town's center, the one who will receive the airport's candidature
tile TileIndex of northern tile of an airport (present or to-be-built), NOT the station tile
Returns:
the noise that will be generated, according to distance

Definition at line 1995 of file station_cmd.cpp.

References _settings_game, GameSettings::difficulty, GetMinimalAirportDistanceToTile(), AirportSpec::noise_level, and DifficultySettings::town_council_tolerance.

Referenced by CmdBuildAirport(), AIAirport::GetNoiseLevelIncrease(), RemoveAirport(), and UpdateAirportsNoise().

static Station* GetClosestDeletedStation ( TileIndex  tile  )  [static]

Find the closest deleted station of the current company.

Parameters:
tile the tile to search from.
Returns:
the closest station or NULL if too far.

Definition at line 359 of file station_cmd.cpp.

References _current_company, DistanceManhattan(), BaseStation::IsInUse(), BaseStation::owner, and BaseStation::xy.

Referenced by CmdBuildAirport(), CmdBuildDock(), CmdBuildRailStation(), and CmdBuildRoadStop().

static uint GetMinimalAirportDistanceToTile ( const AirportSpec as,
TileIndex  town_tile,
TileIndex  airport_tile 
) [static]

Computes the minimal distance from town's xy to any airport's tile.

Parameters:
as airport's description
town_tile town's tile (t->xy)
airport_tile st->airport.tile
Returns:
minimal manhattan distance from town_tile to any airport's tile

Definition at line 1966 of file station_cmd.cpp.

References AirportSpec::size_x, AirportSpec::size_y, TileX(), and TileY().

Referenced by AirportGetNearestTown(), and GetAirportNoiseLevelForTown().

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 474 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().

template<class T >
CommandCost GetStationAround ( TileArea  ta,
StationID  closest_station,
T **  st 
) [inline]

Look for a station around the given tile area.

Parameters:
ta the area to search over
closest_station the closest station found so far
st to 'return' the found station
Returns:
Succeeded command (if zero or one station found) or failed command (for two or more stations found).

Definition at line 85 of file station_cmd.cpp.

References GetStationIndex(), TileArea::h, IsTileType(), MP_STATION, return_cmd_error, TileArea::tile, TILE_AREA_LOOP, TileDiffXY(), and TileArea::w.

Referenced by FindJoiningBaseStation().

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

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

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

bool IsHangar ( TileIndex  t  ) 

Check whether the given tile is a hangar.

Parameters:
t the tile to of whether it is a hangar.
Precondition:
IsTileType(t, MP_STATION)
Returns:
true if and only if the tile is a hangar.

Definition at line 60 of file station_cmd.cpp.

References Station::airport, SpecializedStation< Station, false >::GetByTile(), Airport::GetHangarTile(), Airport::GetSpec(), IsAirport(), IsTileType(), MP_STATION, and AirportSpec::nof_depots.

Referenced by AIOrder::GetOrderDestination(), GetOrderTypeByTile(), IsHangarTile(), and AIAirport::IsHangarTile().

static CommandCost RemoveAirport ( TileIndex  tile,
DoCommandFlag  flags 
) [static]
static CommandCost RemoveDock ( TileIndex  tile,
DoCommandFlag  flags 
) [static]
template<class T >
CommandCost RemoveFromRailBaseStation ( TileArea  ta,
SmallVector< T *, 4 > &  affected_stations,
DoCommandFlag  flags,
Money  removal_cost,
bool  keep_rail 
) [inline]

Remove a number of tiles from any rail station within the area.

Parameters:
ta the area to clear station tile from.
affected_stations the stations affected.
flags the command flags.
removal_cost the cost for removing the tile, including the rail.
keep_rail whether to keep the rail of the station.
Template Parameters:
T the type of station to remove.
Returns:
the number of cleared tiles or an error.

Definition at line 1351 of file station_cmd.cpp.

References _current_company, CommandCost::AddCost(), AddTrackToSignalBuffer(), SmallVector< T, S >::Begin(), CheckOwnership(), DC_EXEC, DeallocateSpecFromStation(), DeleteNewGRFInspectWindow(), DeleteStationIfEmpty(), SmallVector< T, S >::End(), EnsureNoVehicleOnGround(), EXPENSES_CONSTRUCTION, FACIL_TRAIN, CommandCost::Failed(), FreeTrainTrackReservation(), GetCustomStationSpecIndex(), GetRailStationTrack(), GetRailType(), GetTileOwner(), GetTrainForReservation(), Vehicle::GetVehicleTrackdir(), Train::GetVehicleTrackdir(), HasStationReservation(), HasStationTileRail(), SmallVector< T, S >::Include(), INVALID_TILE, IsRailStationTile(), IsStationTileBlocked(), SpecializedVehicle< T, Type >::Next(), Vehicle::Next(), OWNER_WATER, return_cmd_error, ReverseTrackdir(), SetRailStationPlatformReservation(), SetWindowWidgetDirty(), SVW_TRAINS, Vehicle::tile, TILE_AREA_LOOP, TrackdirToExitdir(), TrackToTrackBits(), TryPathReserve(), and YapfNotifyTrackLayoutChange().

Referenced by CmdRemoveFromRailStation(), and CmdRemoveFromRailWaypoint().

static CommandCost RemoveRailStation ( TileIndex  tile,
DoCommandFlag  flags 
) [static]

Remove a rail station.

Parameters:
tile TileIndex been queried
flags operation to perform
Returns:
cost or failure of operation

Definition at line 1584 of file station_cmd.cpp.

References _current_company, CMD_REMOVE_FROM_RAIL_STATION, DC_EXEC, DoCommand(), SpecializedStation< Station, false >::GetByTile(), OWNER_WATER, Station::RecomputeIndustriesNear(), and RemoveRailStation().

template<class T >
CommandCost RemoveRailStation ( T *  st,
DoCommandFlag  flags 
) [inline]
static CommandCost RemoveRailWaypoint ( TileIndex  tile,
DoCommandFlag  flags 
) [static]

Remove a rail waypoint.

Parameters:
tile TileIndex been queried
flags operation to perform
Returns:
cost or failure of operation

Definition at line 1605 of file station_cmd.cpp.

References _current_company, CMD_REMOVE_FROM_RAIL_WAYPOINT, DC_EXEC, DoCommand(), SpecializedStation< Waypoint, true >::GetByTile(), OWNER_WATER, and RemoveRailStation().

static CommandCost RemoveRoadStop ( TileIndex  tile,
DoCommandFlag  flags 
) [static]
static void ShowRejectOrAcceptNews ( const Station st,
uint  num_items,
CargoID cargo,
StringID  msg 
) [static]

Items contains the two cargo names that are to be accepted or rejected.

msg is the string id of the message to display.

Definition at line 457 of file station_cmd.cpp.

References AddNewsItem(), CargoSpec::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem< Tpool >::index, NR_STATION, NS_ACCEPTANCE, and SetDParam().

Referenced by UpdateStationAcceptance().

static bool StationHandleBigTick ( BaseStation st  )  [static]

This function is called for each station once every 250 ticks.

Not all stations will get the tick at the same time.

Parameters:
st the station receiving the tick.
Returns:
true if the station is still valid (wasn't deleted)

Definition at line 2965 of file station_cmd.cpp.

References BaseStation::delete_ctr, FACIL_WAYPOINT, BaseStation::facilities, SpecializedStation< Station, false >::From(), BaseStation::IsInUse(), and UpdateStationAcceptance().

void UpdateAllStationVirtCoords (  ) 

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

Definition at line 429 of file station_cmd.cpp.

References BaseStation::UpdateVirtCoord().

Referenced by CmdRenameTown(), and UpdateAllVirtCoords().

void UpdateStationAcceptance ( Station st,
bool  show_msg 
)

Variable Documentation

const TileIndexDiffC _dock_tileoffs_chkaround[] [static]
Initial value:
 {
  {-1,  0},
  { 0,  0},
  { 0,  0},
  { 0, -1}
}

Definition at line 2320 of file station_cmd.cpp.

const TileTypeProcs _tile_type_station_procs
Initial value:
 {
  DrawTile_Station,           
  GetSlopeZ_Station,          
  ClearTile_Station,          
  NULL,                       
  GetTileDesc_Station,        
  GetTileTrackStatus_Station, 
  ClickTile_Station,          
  AnimateTile_Station,        
  TileLoop_Station,           
  ChangeTileOwner_Station,    
  NULL,                       
  VehicleEnter_Station,       
  GetFoundation_Station,      
  TerraformTile_Station,      
}

Generated on Fri Feb 4 20:54:01 2011 for OpenTTD by  doxygen 1.6.1