#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,
}
1.5.6