waypoint.h File Reference

Base of waypoints. More...

#include "waypoint_type.h"
#include "oldpool.h"
#include "rail_map.h"
#include "command_type.h"
#include "station_type.h"
#include "town_type.h"
#include "viewport_type.h"
#include "date_type.h"

Go to the source code of this file.

Data Structures

struct  Waypoint

Defines

#define FOR_ALL_WAYPOINTS_FROM(wp, start)   for (wp = GetWaypoint(start); wp != NULL; wp = (wp->index + 1U < GetWaypointPoolSize()) ? GetWaypoint(wp->index + 1U) : NULL) if (wp->IsValid())
#define FOR_ALL_WAYPOINTS(wp)   FOR_ALL_WAYPOINTS_FROM(wp, 0)

Functions

static bool IsValidWaypointID (WaypointID index)
static Waypoint * GetWaypointByTile (TileIndex tile)
 Fetch a waypoint by tile.
CommandCost RemoveTrainWaypoint (TileIndex tile, DoCommandFlag flags, bool justremove)
 Remove a waypoint.
StationComposeWaypointStation (TileIndex tile)
 This hacks together some dummy one-shot Station structure for a waypoint.
void ShowWaypointWindow (const Waypoint *wp)
void DrawWaypointSprite (int x, int y, int stat_id, RailType railtype)
 Draw a waypoint.
void UpdateAllWaypointSigns ()
 Update all signs.
void UpdateWaypointSign (Waypoint *wp)
 Update the sign for the waypoint.
void RedrawWaypointSign (const Waypoint *wp)
 Redraw the sign of a waypoint.


Detailed Description

Base of waypoints.

Definition in file waypoint.h.


Function Documentation

Station* ComposeWaypointStation ( TileIndex  tile  ) 

This hacks together some dummy one-shot Station structure for a waypoint.

Parameters:
tile on which to work
Returns:
pointer to a Station

Definition at line 49 of file waypoint.cpp.

References GetWaypointByTile().

void DrawWaypointSprite ( int  x,
int  y,
int  stat_id,
RailType  railtype 
)

Draw a waypoint.

Parameters:
x coordinate
y coordinate
stat_id station id
railtype RailType to use for

Definition at line 72 of file waypoint.cpp.

References AXIS_X, DrawStationTile(), and STAT_CLASS_WAYP.

static Waypoint* GetWaypointByTile ( TileIndex  tile  )  [inline, static]

Fetch a waypoint by tile.

Parameters:
tile Tile of waypoint
Returns:
Waypoint

Definition at line 57 of file waypoint.h.

References GetWaypointIndex(), and IsRailWaypointTile().

Referenced by ComposeWaypointStation(), and RemoveTrainWaypoint().

void RedrawWaypointSign ( const Waypoint *  wp  ) 

Redraw the sign of a waypoint.

Parameters:
wp Waypoint to redraw sign

Definition at line 41 of file waypoint_cmd.cpp.

References MarkAllViewportsDirty(), and RedrawWaypointSign().

Referenced by CmdBuildTrainWaypoint(), RedrawWaypointSign(), and RemoveTrainWaypoint().

CommandCost RemoveTrainWaypoint ( TileIndex  tile,
DoCommandFlag  flags,
bool  justremove 
)

Remove a waypoint.

Parameters:
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
Returns:
cost of operation or error

Definition at line 243 of file waypoint_cmd.cpp.

References AddTrackToSignalBuffer(), CMD_ERROR, DC_EXEC, FreeTrainTrackReservation(), GetDepotWaypointReservation(), GetRailType(), GetRailWaypointBits(), GetRailWaypointTrack(), GetTrainForReservation(), GetWaypointByTile(), IsRailWaypointTile(), MarkTileDirtyByTile(), OWNER_WATER, RedrawWaypointSign(), RemoveTrainWaypoint(), SetTrackReservation(), TryPathReserve(), and YapfNotifyTrackLayoutChange().

Referenced by CmdRemoveTrainWaypoint(), and RemoveTrainWaypoint().

void UpdateWaypointSign ( Waypoint *  wp  ) 

Update the sign for the waypoint.

Parameters:
wp Waypoint to update sign

Definition at line 31 of file waypoint_cmd.cpp.

References TILE_SIZE, TileX(), TileY(), UpdateWaypointSign(), Point::x, and Point::y.

Referenced by CmdBuildTrainWaypoint(), CmdRenameWaypoint(), UpdateAllWaypointSigns(), and UpdateWaypointSign().


Generated on Sun Mar 15 22:50:09 2009 for openttd by  doxygen 1.5.6