#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. | |
RoadStop * | GetRoadStopByTile (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 [] |
Definition in file station_cmd.cpp.
typedef bool(* CMSAMatcher)(TileIndex tile) |
Function to check whether the given tile matches some criterion.
tile | the tile to check |
Definition at line 140 of file station_cmd.cpp.
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.
tile | road stop tile to check |
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.
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) |
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.
tile | tile where airport will be built | |
flags | operation to perform | |
p1 | airport type, |
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.
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.
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.
tile_org | starting position of station dragging/placement | |
flags | operation to perform | |
p1 | various bitstuffed elements
| |
p2 | various bitstuffed elements
|
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.
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
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.
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.
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.
tile | the tile to investigate. |
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.
tile | the tile to investigate. |
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.
tile | the tile to investigate. |
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.
tile | the tile to investigate. |
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.
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 |
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.
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
st | Station to query |
Definition at line 102 of file station_cmd.cpp.
Referenced by FindStationsAroundIndustryTile(), and UpdateStationAcceptance().
static RoadStop** FindRoadStopSpot | ( | bool | truck_station, | |
Station * | st | |||
) | [static] |
truck_station | Determines whether a stop is RoadStop::BUS or RoadStop::TRUCK | |
st | The Station to do the whole procedure for |
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.
tile,: | Center tile to search from | |
w,: | Width of the center | |
h,: | Height of the center |
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.
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.
st | Station to query |
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).
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.
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.
t | the tile to of whether it 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.
st | Station to remove | |
flags | operation to perform | |
tile | TileIndex been queried |
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.
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.
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().
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] |
const byte _airport_sections_heliport[] [static] |
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, }