station_cmd.cpp File Reference

#include "stdafx.h"
#include "openttd.h"
#include "aircraft.h"
#include "bridge_map.h"
#include "cmd_helper.h"
#include "debug.h"
#include "tile_cmd.h"
#include "landscape.h"
#include "station_map.h"
#include "station.h"
#include "viewport_func.h"
#include "command_func.h"
#include "town.h"
#include "news.h"
#include "saveload.h"
#include "airport.h"
#include "sprite.h"
#include "depot.h"
#include "train.h"
#include "roadveh.h"
#include "water_map.h"
#include "industry_map.h"
#include "newgrf_callbacks.h"
#include "newgrf_station.h"
#include "yapf/yapf.h"
#include "road_type.h"
#include "road_internal.h"
#include "cargotype.h"
#include "variables.h"
#include "autoslope.h"
#include "transparency.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 "signal_func.h"
#include "table/sprites.h"
#include "table/strings.h"
#include "table/station_land.h"

Go to the source code of this file.

Data Structures

struct  ottd_Rectangle

Defines

#define CHECK_STATIONS_ERR   ((Station*)-1)
#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 = 0, STATIONNAMING_ROAD = 0, STATIONNAMING_AIRPORT, STATIONNAMING_OILRIG,
  STATIONNAMING_DOCK, STATIONNAMING_BUOY, STATIONNAMING_HELIPORT
}

Functions

bool IsHangar (TileIndex t)
 Check whether the given tile is a hangar.
RoadStopGetRoadStopByTile (TileIndex tile, RoadStop::Type type)
static uint GetNumRoadStopsInStation (const Station *st, RoadStop::Type type)
static uint FindCatchmentRadius (const Station *st)
 Calculate the radius of the station.
static Station * GetStationAround (TileIndex tile, int w, int h, StationID closest_station)
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 void GenerateStationName (Station *st, TileIndex tile, int flag)
static Station * GetClosestStationFromTile (TileIndex tile)
static void UpdateStationVirtCoord (Station *st)
 Update the virtual coords needed to draw the station sign.
void UpdateAllStationVirtCoord ()
 Update the virtual coords needed to draw the station sign for all stations.
static void UpdateStationVirtCoordDirty (Station *st)
 Update the station virt coords while making the modified parts dirty.
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.
void GetProductionAroundTiles (AcceptedCargo produced, TileIndex tile, int w, int h, int rad)
 Get a list of the cargo types being produced around the tile (in a rectangle).
void GetAcceptanceAroundTiles (AcceptedCargo accepts, TileIndex tile, int w, int h, int rad)
 Get a list of the cargo types that are accepted around the tile.
static void MergePoint (ottd_Rectangle *rect, TileIndex tile)
static void UpdateStationAcceptance (Station *st, bool show_msg)
 Update the acceptance for a station.
static void UpdateStationSignCoord (Station *st)
static void DeleteStationIfEmpty (Station *st)
 This is called right after a station was deleted.
static CommandCost ClearTile_Station (TileIndex tile, byte flags)
CommandCost CheckFlatLandBelow (TileIndex tile, uint w, uint h, uint flags, uint invalid_dirs, StationID *station, bool check_clear=true)
 Tries to clear the given area.
static bool CanExpandRailroadStation (const Station *st, uint *fin, Axis axis)
static byte * CreateSingle (byte *layout, int n)
static byte * CreateMulti (byte *layout, int n, byte b)
static void GetStationLayout (byte *layout, int numtracks, int plat_len, const StationSpec *statspec)
CommandCost CmdBuildRailroadStation (TileIndex tile_org, uint32 flags, uint32 p1, uint32 p2)
 Build railroad station.
static void MakeRailwayStationAreaSmaller (Station *st)
CommandCost CmdRemoveFromRailroadStation (TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
 Remove a single tile from a railroad station.
static CommandCost RemoveRailroadStation (Station *st, TileIndex tile, uint32 flags)
static RoadStop ** FindRoadStopSpot (bool truck_station, Station *st)
CommandCost CmdBuildRoadStop (TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
 Build a bus or truck stop.
static void * ClearRoadStopStatusEnum (Vehicle *v, void *)
static CommandCost RemoveRoadStop (Station *st, uint32 flags, TileIndex tile)
 Remove a bus station.
CommandCost CmdRemoveRoadStop (TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
 Remove a bus or truck stop.
CommandCost CmdBuildAirport (TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
 Place an Airport.
static CommandCost RemoveAirport (Station *st, uint32 flags)
CommandCost CmdBuildBuoy (TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
 Build a buoy.
bool HasStationInUse (StationID station, PlayerID player)
 Tests whether the player's vehicles have this station in orders When player == INVALID_PLAYER, then check all vehicles.
static CommandCost RemoveBuoy (Station *st, uint32 flags)
CommandCost CmdBuildDock (TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
 Build a dock/haven.
static CommandCost RemoveDock (Station *st, uint32 flags)
const DrawTileSprites * GetStationTileLayout (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 GetAcceptedCargo_Station (TileIndex tile, AcceptedCargo ac)
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 void ClickTile_Station (TileIndex tile)
static VehicleEnterTileStatus VehicleEnter_Station (Vehicle *v, TileIndex tile, int x, int y)
static void StationHandleBigTick (Station *st)
static void byte_inc_sat (byte *p)
static void UpdateStationRating (Station *st)
static void StationHandleSmallTick (Station *st)
void OnTick_Station ()
void StationMonthlyLoop ()
void ModifyStationRatingAround (TileIndex tile, PlayerID owner, int amount, uint radius)
static void UpdateStationWaiting (Station *st, CargoID type, uint amount)
static bool IsUniqueStationName (const char *name)
CommandCost CmdRenameStation (TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
 Rename a station.
StationSet FindStationsAroundIndustryTile (TileIndex tile, int w, int h)
 Find all (non-buoy) stations around an industry tile.
uint MoveGoodsToStation (TileIndex tile, int w, int h, CargoID type, uint amount)
void BuildOilRig (TileIndex tile)
void DeleteOilRig (TileIndex tile)
static void ChangeTileOwner_Station (TileIndex tile, PlayerID old_player, PlayerID new_player)
static bool CanRemoveRoadWithStop (TileIndex tile)
 Check if a drive-through road stop tile can be cleared.
void InitializeStations ()
void AfterLoadStations ()
static CommandCost TerraformTile_Station (TileIndex tile, uint32 flags, uint z_new, Slope tileh_new)
void SaveLoad_STNS (Station *st)
static void Save_STNS ()
static void Load_STNS ()
static void Save_ROADSTOP ()
static void Load_ROADSTOP ()

Variables

static const byte _airport_sections_country []
static const byte _airport_sections_town []
static const byte _airport_sections_metropolitan []
static const byte _airport_sections_international []
static const byte _airport_sections_intercontinental []
static const byte _airport_sections_commuter []
static const byte _airport_sections_heliport []
static const byte _airport_sections_helidepot []
static const byte _airport_sections_helistation []
static const byte *const _airport_sections []
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 }
static const byte _enter_station_speedtable [12]
const TileTypeProcs _tile_type_station_procs
static const SaveLoad _roadstop_desc []
static const SaveLoad _station_desc []
static uint16 _waiting_acceptance
static uint16 _cargo_source
static uint32 _cargo_source_xy
static uint16 _cargo_days
static Money _cargo_feeder_share
static const SaveLoad _station_speclist_desc []
const ChunkHandler _station_chunk_handlers []


Detailed Description

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


Function Documentation

static bool CanRemoveRoadWithStop ( TileIndex  tile  )  [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
Returns:
true if the road can be cleared

Definition at line 2900 of file station_cmd.cpp.

References CheckAllowRemoveRoad(), GetAnyRoadBits(), OWNER_TOWN, ROADTYPE_ROAD, and ROADTYPE_TRAM.

CommandCost CheckFlatLandBelow ( TileIndex  tile,
uint  w,
uint  h,
uint  flags,
uint  invalid_dirs,
StationID *  station,
bool  check_clear = true 
)

Tries to clear the given area.

Parameters:
tile TileIndex to start check
w width of search area
h height of search area
flags operation to perform
invalid_dirs prohibited directions (set of DiagDirections)
station StationID to be queried and returned if available
check_clear if clearing tile should be performed (in wich case, cost will be added)
Returns:
the cost in case of success, or an error code if it failed.

Definition at line 703 of file station_cmd.cpp.

References CommandCost::AddCost(), BEGIN_TILE_LOOP, CMD_ERROR, CMD_LANDSCAPE_CLEAR, CmdFailed(), DC_AUTO, DIAGDIR_NE, DIAGDIR_NW, DIAGDIR_SE, DIAGDIR_SW, DoCommand(), END_TILE_LOOP, HasBit(), IsBridgeAbove(), IsSteepSlope(), IsTileType(), MayHaveBridgeAbove(), return_cmd_error, SLOPE_FLAT, SLOPE_NE, SLOPE_NW, SLOPE_SE, SLOPE_SW, and TILE_HEIGHT.

Referenced by CmdBuildAirport(), CmdBuildCompanyHQ(), CmdBuildRailroadStation(), and CmdBuildRoadStop().

CommandCost CmdBuildAirport ( TileIndex  tile,
uint32  flags,
uint32  p1,
uint32  p2 
)

Place an Airport.

Parameters:
tile tile where airport will be built
flags operation to perform
p1 airport type,
See also:
airport.h
Parameters:
p2 (bit 0) - allow airports directly adjacent to other airports.

Definition at line 1651 of file station_cmd.cpp.

References CommandCost::AddCost(), BEGIN_TILE_LOOP, CheckFlatLandBelow(), CMD_ERROR, CmdFailed(), DC_NO_TOWN_RATING, END_TILE_LOOP, GetValidAirports(), HasBit(), RebuildStationLists(), return_cmd_error, SetBit(), SVW_PLANES, UpdateAirplanesOnNewStation(), UpdateStationAcceptance(), and UpdateStationVirtCoordDirty().

CommandCost CmdBuildBuoy ( TileIndex  tile,
uint32  flags,
uint32  p1,
uint32  p2 
)

Build a buoy.

Parameters:
tile tile where to place the bouy
flags operation to perform
p1 unused
p2 unused

Definition at line 1819 of file station_cmd.cpp.

References IsBridgeAbove(), MayHaveBridgeAbove(), OWNER_NONE, RebuildStationLists(), return_cmd_error, SetBit(), SLOPE_FLAT, SVW_SHIPS, UpdateStationAcceptance(), and UpdateStationVirtCoordDirty().

CommandCost CmdBuildDock ( TileIndex  tile,
uint32  flags,
uint32  p1,
uint32  p2 
)

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 unused

Definition at line 1930 of file station_cmd.cpp.

References CMD_ERROR, CMD_LANDSCAPE_CLEAR, CmdFailed(), DC_NO_TOWN_RATING, DoCommand(), GetInclinedSlopeDirection(), HasBit(), INVALID_DIAGDIR, IsBridgeAbove(), IsTileType(), MayHaveBridgeAbove(), MP_WATER, RebuildStationLists(), return_cmd_error, ReverseDiagDir(), SetBit(), SLOPE_FLAT, SVW_SHIPS, TileOffsByDiagDir(), ToTileIndexDiff(), UpdateStationAcceptance(), and UpdateStationVirtCoordDirty().

CommandCost CmdBuildRailroadStation ( TileIndex  tile_org,
uint32  flags,
uint32  p1,
uint32  p2 
)

Build railroad station.

Parameters:
tile_org starting position of station dragging/placement
flags operation to perform
p1 various bitstuffed elements
  • p1 = (bit 0) - 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- 3) - railtype (p2 & 0xF)
  • p2 = (bit 8-15) - custom station class
  • p2 = (bit 16-23) - custom station id

Definition at line 898 of file station_cmd.cpp.

References AddTrackToSignalBuffer(), AllocateSpecToStation(), AXIS_X, AxisToTrack(), CALLBACK_FAILED, CBID_STATION_AVAILABILITY, CBID_STATION_TILE_LAYOUT, CBM_STATION_AVAIL, CheckFlatLandBelow(), CMD_ERROR, CmdFailed(), DC_EXEC, DC_NO_TOWN_RATING, GB(), CommandCost::GetCost(), GetCustomStationSpec(), GetNumStationClasses(), HasBit(), INVALID_TILE, RebuildStationLists(), return_cmd_error, SetBit(), SVW_TRAINS, TileDiffXY(), UpdateStationAcceptance(), UpdateStationVirtCoordDirty(), ValParamRailtype(), and YapfNotifyTrackLayoutChange().

CommandCost CmdBuildRoadStop ( TileIndex  tile,
uint32  flags,
uint32  p1,
uint32  p2 
)

Build a bus or truck stop.

Parameters:
tile tile to build the stop at
flags operation to perform
p1 entrance direction (DiagDirection)
p2 bit 0: 0 for Bus stops, 1 for truck stops bit 1: 0 for normal, 1 for drive-through bit 2..4: the roadtypes bit 5: allow stations directly adjacent to other stations.

Definition at line 1321 of file station_cmd.cpp.

References CommandCost::AddCost(), AreValidRoadTypes(), AXIS_X, RoadStop::BUS, PoolItem< T, Tid, Tpool >::CanAllocateItem(), CheckFlatLandBelow(), CMD_ERROR, CmdFailed(), CountBits(), DC_NO_TOWN_RATING, FindRoadStopSpot(), GB(), HasBit(), IsValidAxis(), IsValidDiagDirection(), RoadStop::LIMIT, OWNER_NONE, OWNER_TOWN, RebuildStationLists(), return_cmd_error, ROAD_X, ROAD_Y, ROADTYPE_ROAD, ROADTYPE_TRAM, ROADTYPES_NONE, SetBit(), SVW_ROADVEHS, RoadStop::TRUCK, UpdateStationAcceptance(), and UpdateStationVirtCoordDirty().

CommandCost CmdRemoveFromRailroadStation ( TileIndex  tile,
uint32  flags,
uint32  p1,
uint32  p2 
)

Remove a single tile from a railroad station.

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

Parameters:
tile tile of station piece to remove
flags operation to perform
p1 start_tile
p2 unused

Definition at line 1147 of file station_cmd.cpp.

References AddTrackToSignalBuffer(), BEGIN_TILE_LOOP, CMD_ERROR, DC_EXEC, DeallocateSpecFromStation(), DeleteStationIfEmpty(), END_TILE_LOOP, GetTileOwner(), IsTileType(), MapSize(), OWNER_WATER, return_cmd_error, SVW_TRAINS, Swap(), TileX(), TileXY(), TileY(), UpdateStationVirtCoordDirty(), and YapfNotifyTrackLayoutChange().

CommandCost CmdRemoveRoadStop ( TileIndex  tile,
uint32  flags,
uint32  p1,
uint32  p2 
)

Remove a bus or truck stop.

Parameters:
tile tile to remove the stop from
flags operation to perform
p1 not used
p2 bit 0: 0 for Bus stops, 1 for truck stops

Definition at line 1525 of file station_cmd.cpp.

References CMD_ERROR, CmdSucceeded(), DIAGDIR_NE, DiagDirToRoadBits(), GetRoadStopDir(), IsTileType(), OWNER_TOWN, RemoveRoadStop(), ROAD_X, and ROAD_Y.

CommandCost CmdRenameStation ( TileIndex  tile,
uint32  flags,
uint32  p1,
uint32  p2 
)

Rename a station.

Parameters:
tile unused
flags operation to perform
p1 station ID that is to be renamed
p2 unused

Definition at line 2639 of file station_cmd.cpp.

References _cmd_text, CMD_ERROR, MarkWholeScreenDirty(), ResortStationLists(), return_cmd_error, and UpdateStationVirtCoord().

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

References GetIndustryByTile(), GetIndustrySpec(), INDUSTRYLIFE_ORGANIC, IsTileType(), 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 168 of file station_cmd.cpp.

References CC_LIQUID, GetIndustryByTile(), GetIndustrySpec(), INDUSTRYLIFE_EXTRACTIVE, IsTileType(), 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 201 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 191 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'
type the type of tile searched for
industry when type == MP_INDUSTRY, the type of the industry, in all other cases this parameter is ignored
Returns:
the result the noumber of matching tiles around

Definition at line 150 of file station_cmd.cpp.

References TILE_MASK, and TileDiffXY().

static void DeleteStationIfEmpty ( Station *  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 680 of file station_cmd.cpp.

References RebuildStationLists().

Referenced by CmdRemoveFromRailroadStation(), and RemoveRoadStop().

static uint FindCatchmentRadius ( const Station *  st  )  [static]

Calculate the radius of the station.

Basicly it is the biggest radius that is available within the station

Parameters:
st Station to query
Returns:
the so calculated radius

Definition at line 102 of file station_cmd.cpp.

Referenced by FindStationsAroundIndustryTile(), and UpdateStationAcceptance().

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

References RoadStop::next.

Referenced by CmdBuildRoadStop().

StationSet FindStationsAroundIndustryTile ( TileIndex  tile,
int  w,
int  h 
)

Find all (non-buoy) stations around an industry tile.

Parameters:
tile,: Center tile to search from
w,: Width of the center
h,: Height of the center
Returns:
: Set of found stations

Definition at line 2669 of file station_cmd.cpp.

References BEGIN_TILE_LOOP, CA_UNMODIFIED, END_TILE_LOOP, FindCatchmentRadius(), IsTileType(), MAX_CATCHMENT, min(), TILE_MASK, and TileDiffXY().

Referenced by WhoCanServiceIndustry().

void GetAcceptanceAroundTiles ( AcceptedCargo  accepts,
TileIndex  tile,
int  w,
int  h,
int  rad 
)

Get a list of the cargo types that are accepted around the tile.

Parameters:
accepts,: Destination array of accepted cargo
tile,: Center of the search area
w,: Width of the center
h,: Height of the center
rad,: Radius of the rectangular search area

Definition at line 492 of file station_cmd.cpp.

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

Referenced by 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 413 of file station_cmd.cpp.

References HasBit().

Referenced by UpdateStationAcceptance().

void GetProductionAroundTiles ( AcceptedCargo  produced,
TileIndex  tile,
int  w,
int  h,
int  rad 
)

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

Parameters:
produced,: Destination array of produced cargo
tile,: Center of the search area
w,: Width of the center
h,: Height of the center
rad,: Radius of the search area

Definition at line 444 of file station_cmd.cpp.

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

bool HasStationInUse ( StationID  station,
PlayerID  player 
)

Tests whether the player's vehicles have this station in orders When player == INVALID_PLAYER, then check all vehicles.

Parameters:
station station ID
player player ID, INVALID_PLAYER to disable the check

Definition at line 1866 of file station_cmd.cpp.

References INVALID_PLAYER.

Referenced by BuildStationsList().

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

References IsTileType(), MP_STATION, and ToTileIndexDiff().

Referenced by IsDepotTile().

static CommandCost RemoveRoadStop ( Station *  st,
uint32  flags,
TileIndex  tile 
) [static]

Remove a bus station.

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

Definition at line 1464 of file station_cmd.cpp.

References RoadStop::BUS, CMD_ERROR, DC_BANKRUPT, DeleteStationIfEmpty(), FindVehicleOnPos(), RoadStop::next, OWNER_WATER, SVW_ROADVEHS, RoadStop::TRUCK, and UpdateStationVirtCoordDirty().

Referenced by CmdRemoveRoadStop().

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

References AddNewsItem(), NEWS_FLAGS, NF_TILE, NF_VIEWPORT, NM_SMALL, and NT_ACCEPTANCE.

Referenced by UpdateStationAcceptance().

void UpdateAllStationVirtCoord (  ) 

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

Definition at line 385 of file station_cmd.cpp.

References UpdateStationVirtCoord().

Referenced by CmdRenameTown(), and InitializeWindowsAndCaches().

static void UpdateStationAcceptance ( Station *  st,
bool  show_msg 
) [static]

Update the acceptance for a station.

Parameters:
st Station to update
show_msg controls whether to display a message that acceptance was changed.

Definition at line 548 of file station_cmd.cpp.

References CA_UNMODIFIED, CC_PASSENGERS, FindCatchmentRadius(), GetAcceptanceAroundTiles(), GetAcceptanceMask(), HasBit(), MapSizeX(), MapSizeY(), min(), SB(), ShowRejectOrAcceptNews(), SVW_ACCEPTLIST, TileDiffXY(), and TileXY().

Referenced by CmdBuildAirport(), CmdBuildBuoy(), CmdBuildDock(), CmdBuildRailroadStation(), and CmdBuildRoadStop().

static void UpdateStationVirtCoord ( Station *  st  )  [static]

Update the virtual coords needed to draw the station sign.

Parameters:
st Station to update for.

Definition at line 372 of file station_cmd.cpp.

References TILE_SIZE, TileX(), and TileY().

Referenced by CmdRenameStation(), UpdateAllStationVirtCoord(), and UpdateStationVirtCoordDirty().


Variable Documentation

const byte* const _airport_sections[] [static]

Initial value:

 {
  _airport_sections_country,           
  _airport_sections_town,              
  _airport_sections_heliport,          
  _airport_sections_metropolitan,      
  _airport_sections_international,     
  _airport_sections_commuter,          
  _airport_sections_helidepot,         
  _airport_sections_intercontinental,  
  _airport_sections_helistation        
}

Definition at line 1633 of file station_cmd.cpp.

const byte _airport_sections_commuter[] [static]

Initial value:

 {
  85, 30, 115, 115, 32,
  87, 8,    8,   8, 10,
  87, 11,  11,  11, 10,
  26, 23,  23,  23, 26
}

Definition at line 1609 of file station_cmd.cpp.

const byte _airport_sections_country[] [static]

Initial value:

 {
  54, 53, 52, 65,
  58, 57, 56, 55,
  64, 63, 63, 62
}

Definition at line 1555 of file station_cmd.cpp.

const byte _airport_sections_helidepot[] [static]

Initial value:

 {
  124, 32,
  122, 123
}

Definition at line 1622 of file station_cmd.cpp.

const byte _airport_sections_heliport[] [static]

Initial value:

 {
  66,
}

Definition at line 1617 of file station_cmd.cpp.

const byte _airport_sections_helistation[] [static]

Initial value:

 {
   32, 134, 159, 158,
  161, 142, 142, 157
}

Definition at line 1628 of file station_cmd.cpp.

const byte _airport_sections_intercontinental[] [static]

Initial value:

 {
  102, 120,  89,  89,  89,  89,  89,  89, 118,
  120,  23,  23,  23,  23,  23,  23, 119, 117,
   87,  54,  87,   8,   8,   8,   8,  51, 117,
   87, 162,  87,  85, 116, 116,   8,   9,  10,
   87,   8,   8,  11,  31,  11,   8, 160,  32,
   32, 160,   8,  11,  27,  11,   8,   8,  10,
   87,   8,   8,  11,  30,  11,   8,   8,  10,
   87, 142,   8,  11,  29,  11,  10, 163,  10,
   87, 164,  87,   8,   8,   8,  10,  37, 117,
   87, 120,  89,  89,  89,  89,  89,  89, 119,
  121,  23,  23,  23,  23,  23,  23, 119,  37
}

Definition at line 1593 of file station_cmd.cpp.

const byte _airport_sections_international[] [static]

Initial value:

 {
  88, 89, 89, 89, 89, 89,  88,
  51,  8,  8,  8,  8,  8,  32,
  30,  8, 11, 27, 11,  8,  10,
  32,  8, 11, 27, 11,  8, 114,
  87,  8, 11, 85, 11,  8, 114,
  87,  8,  8,  8,  8,  8,  90,
  26, 23, 23, 23, 23, 23,  26
}

Definition at line 1582 of file station_cmd.cpp.

const byte _airport_sections_metropolitan[] [static]

Initial value:

 {
   31,  9, 33,  9,  9, 32,
   27, 36, 29, 34,  8, 10,
   30, 11, 35, 13, 20, 21,
  102,  8,  8,  8,  8, 28,
   83, 84, 84, 84, 84, 83,
   26, 23, 23, 23, 23, 26
}

Definition at line 1572 of file station_cmd.cpp.

const byte _airport_sections_town[] [static]

Initial value:

 {
  31,  9, 33,  9,  9, 32,
  27, 36, 29, 34,  8, 10,
  30, 11, 35, 13, 20, 21,
  51, 12, 14, 17, 19, 28,
  38, 13, 15, 16, 18, 39,
  26, 22, 23, 24, 25, 26
}

Definition at line 1562 of file station_cmd.cpp.

const TileIndexDiffC _dock_tileoffs_chkaround[] [static]

Initial value:

 {
  {-1,  0},
  { 0,  0},
  { 0,  0},
  { 0, -1}
}

Definition at line 1915 of file station_cmd.cpp.

const byte _enter_station_speedtable[12] [static]

Initial value:

 {
  215, 195, 175, 155, 135, 115, 95, 75, 55, 35, 15, 0
}

Definition at line 2361 of file station_cmd.cpp.

const SaveLoad _roadstop_desc[] [static]

Initial value:

 {
  SLE_VAR(RoadStop,xy,           SLE_UINT32),
  SLE_CONDNULL(1, 0, 44),
  SLE_VAR(RoadStop,status,       SLE_UINT8),
  
  SLE_CONDNULL(4, 0, 8),
  SLE_CONDNULL(2, 0, 44),
  SLE_CONDNULL(1, 0, 25),

  SLE_REF(RoadStop,next,         REF_ROADSTOPS),
  SLE_CONDNULL(2, 0, 44),

  SLE_CONDNULL(4, 0, 24),
  SLE_CONDNULL(1, 25, 25),


}

Definition at line 3030 of file station_cmd.cpp.

const ChunkHandler _station_chunk_handlers[]

Initial value:

 {
  { 'STNS', Save_STNS,      Load_STNS,      CH_ARRAY },
  { 'ROAD', Save_ROADSTOP,  Load_ROADSTOP,  CH_ARRAY | CH_LAST},
}

const SaveLoad _station_speclist_desc[] [static]

Initial value:

 {
  SLE_CONDVAR(StationSpecList, grfid,    SLE_UINT32, 27, SL_MAX_VERSION),
  SLE_CONDVAR(StationSpecList, localidx, SLE_UINT8,  27, SL_MAX_VERSION),


}

Definition at line 3113 of file station_cmd.cpp.

const TileTypeProcs _tile_type_station_procs

Initial value:

 {
  DrawTile_Station,           
  GetSlopeZ_Station,          
  ClearTile_Station,          
  GetAcceptedCargo_Station,   
  GetTileDesc_Station,        
  GetTileTrackStatus_Station, 
  ClickTile_Station,          
  AnimateTile_Station,        
  TileLoop_Station,           
  ChangeTileOwner_Station,    
  NULL,                       
  VehicleEnter_Station,       
  GetFoundation_Station,      
  TerraformTile_Station,      
}


Generated on Mon Sep 22 20:34:26 2008 for openttd by  doxygen 1.5.6