#include "stdafx.h"
#include "command_func.h"
#include "landscape.h"
#include "rail.h"
#include "bridge_map.h"
#include "station_base.h"
#include "town.h"
#include "waypoint.h"
#include "yapf/yapf.h"
#include "strings_func.h"
#include "gfx_func.h"
#include "functions.h"
#include "window_func.h"
#include "date_func.h"
#include "vehicle_func.h"
#include "string_func.h"
#include "company_func.h"
#include "newgrf_station.h"
#include "oldpool_func.h"
#include "viewport_func.h"
#include "train.h"
#include "table/strings.h"
Go to the source code of this file.
Functions | |
| static void | UpdateWaypointSign (Waypoint *wp) |
| Update the sign for the waypoint. | |
| static void | RedrawWaypointSign (const Waypoint *wp) |
| Redraw the sign of a waypoint. | |
| void | UpdateAllWaypointSigns () |
| Update all signs. | |
| static void | MakeDefaultWaypointName (Waypoint *wp) |
| Set the default name for a waypoint. | |
| static Waypoint * | FindDeletedWaypointCloseTo (TileIndex tile) |
| Find a deleted waypoint close to a tile. | |
| CommandCost | CmdBuildTrainWaypoint (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text) |
| Convert existing rail to waypoint. | |
| void | WaypointsDailyLoop () |
| Daily loop for waypoints. | |
| CommandCost | RemoveTrainWaypoint (TileIndex tile, DoCommandFlag flags, bool justremove) |
| Remove a waypoint. | |
| CommandCost | CmdRemoveTrainWaypoint (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text) |
| Delete a waypoint. | |
| static bool | IsUniqueWaypointName (const char *name) |
| CommandCost | CmdRenameWaypoint (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text) |
| Rename a waypoint. | |
| Station * | ComposeWaypointStation (TileIndex tile) |
| This hacks together some dummy one-shot Station structure for a waypoint. | |
| void | DrawWaypointSprite (int x, int y, int stat_id, RailType railtype) |
| Draw a waypoint. | |
| void | InitializeWaypoints () |
Definition in file waypoint.cpp.
| CommandCost CmdBuildTrainWaypoint | ( | TileIndex | tile, | |
| DoCommandFlag | flags, | |||
| uint32 | p1, | |||
| uint32 | p2, | |||
| const char * | text | |||
| ) |
Convert existing rail to waypoint.
Eg build a waypoint station over piece of rail
| tile | tile where waypoint will be built | |
| flags | type of operation | |
| p1 | graphics for waypoint type, 0 indicates standard graphics | |
| p2 | unused |
Definition at line 159 of file waypoint.cpp.
References _date, _settings_game, AXIS_X, AXIS_Y, AxisToTrack(), ConstructionSettings::build_on_slopes, CMD_ERROR, GameSettings::construction, DC_EXEC, FindDeletedWaypointCloseTo(), GetCustomStationSpec(), GetNumCustomStations(), GetRailTileType(), GetRailType(), GetTileOwner(), GetTileSlope(), GetTrackBits(), GetTrackReservation(), HasBit(), InvalidateWindowData(), IsBridgeAbove(), IsSteepSlope(), IsTileType(), MakeDefaultWaypointName(), MarkTileDirtyByTile(), MayHaveBridgeAbove(), MP_RAILWAY, RAIL_TILE_NORMAL, RedrawWaypointSign(), return_cmd_error, SetDepotWaypointReservation(), SLOPE_FLAT, STAT_CLASS_WAYP, TRACK_BIT_X, TRACK_BIT_Y, UpdateWaypointSign(), and YapfNotifyTrackLayoutChange().
| CommandCost CmdRemoveTrainWaypoint | ( | TileIndex | tile, | |
| DoCommandFlag | flags, | |||
| uint32 | p1, | |||
| uint32 | p2, | |||
| const char * | text | |||
| ) |
Delete a waypoint.
| tile | tile where waypoint is to be deleted | |
| flags | type of operation | |
| p1 | unused | |
| p2 | unused |
Definition at line 321 of file waypoint.cpp.
References RemoveTrainWaypoint().
| CommandCost CmdRenameWaypoint | ( | TileIndex | tile, | |
| DoCommandFlag | flags, | |||
| uint32 | p1, | |||
| uint32 | p2, | |||
| const char * | text | |||
| ) |
Rename a waypoint.
| tile | unused | |
| flags | type of operation | |
| p1 | id of waypoint | |
| p2 | unused |
Definition at line 345 of file waypoint.cpp.
References CMD_ERROR, DC_EXEC, MakeDefaultWaypointName(), MarkWholeScreenDirty(), MAX_LENGTH_WAYPOINT_NAME_BYTES, return_cmd_error, StrEmpty(), and UpdateWaypointSign().
This hacks together some dummy one-shot Station structure for a waypoint.
| tile | on which to work |
Definition at line 379 of file waypoint.cpp.
References GetWaypointByTile().
| void DrawWaypointSprite | ( | int | x, | |
| int | y, | |||
| int | stat_id, | |||
| RailType | railtype | |||
| ) |
Draw a waypoint.
| x | coordinate | |
| y | coordinate | |
| stat_id | station id | |
| railtype | RailType to use for |
Definition at line 402 of file waypoint.cpp.
References AXIS_X, DrawStationTile(), and STAT_CLASS_WAYP.
| static Waypoint* FindDeletedWaypointCloseTo | ( | TileIndex | tile | ) | [static] |
Find a deleted waypoint close to a tile.
| tile | to search from |
Definition at line 130 of file waypoint.cpp.
References DistanceManhattan(), and OWNER_NONE.
Referenced by CmdBuildTrainWaypoint().
| static void MakeDefaultWaypointName | ( | Waypoint * | wp | ) | [static] |
Set the default name for a waypoint.
| wp | Waypoint to work on |
Definition at line 71 of file waypoint.cpp.
References HasBit(), and SetBit().
Referenced by CmdBuildTrainWaypoint(), and CmdRenameWaypoint().
| static void RedrawWaypointSign | ( | const Waypoint * | wp | ) | [static] |
Redraw the sign of a waypoint.
| wp | Waypoint to redraw sign |
Definition at line 46 of file waypoint.cpp.
References MarkAllViewportsDirty().
Referenced by CmdBuildTrainWaypoint(), and RemoveTrainWaypoint().
| CommandCost RemoveTrainWaypoint | ( | TileIndex | tile, | |
| DoCommandFlag | flags, | |||
| bool | justremove | |||
| ) |
Remove a waypoint.
| tile | from which to remove waypoint | |
| flags | type of operation | |
| justremove | will indicate if it is removed from rail or if rails are removed too |
Definition at line 273 of file waypoint.cpp.
References AddTrackToSignalBuffer(), CMD_ERROR, DC_EXEC, FreeTrainTrackReservation(), GetDepotWaypointReservation(), GetRailType(), GetRailWaypointBits(), GetRailWaypointTrack(), GetTrainForReservation(), GetWaypointByTile(), IsRailWaypointTile(), MarkTileDirtyByTile(), OWNER_WATER, RedrawWaypointSign(), SetTrackReservation(), TryPathReserve(), and YapfNotifyTrackLayoutChange().
Referenced by CmdRemoveTrainWaypoint().
| static void UpdateWaypointSign | ( | Waypoint * | wp | ) | [static] |
Update the sign for the waypoint.
| wp | Waypoint to update sign |
Definition at line 36 of file waypoint.cpp.
References TILE_SIZE, TileX(), TileY(), Point::x, and Point::y.
Referenced by CmdBuildTrainWaypoint(), CmdRenameWaypoint(), and UpdateAllWaypointSigns().
| void WaypointsDailyLoop | ( | ) |
Daily loop for waypoints.
Functions used by the IncreaseDate function.
Definition at line 256 of file waypoint.cpp.
1.5.6