# signal_func.h File Reference

Functions related to signals. More...

`#include "track_type.h"`
`#include "tile_type.h"`
`#include "direction_type.h"`
`#include "player_type.h"`

Go to the source code of this file.

## Functions
static byte | SignalAlongTrackdir (Trackdir trackdir)
| Maps a trackdir to the bit that stores its status in the map arrays, in the direction along with the trackdir.
static byte | SignalAgainstTrackdir (Trackdir trackdir)
| Maps a trackdir to the bit that stores its status in the map arrays, in the direction against the trackdir.
static byte | SignalOnTrack (Track track)
| Maps a Track to the bits that store the status of the two signals that can be present on the given track.
bool | UpdateSignalsOnSegment (TileIndex tile, DiagDirection side, Owner owner)
| Update signals, starting at one side of a tile Will check tile next to this at opposite side too.
void | SetSignalsOnBothDir (TileIndex tile, Track track, Owner owner)
| Update signals at segments that are at both ends of given (existent or non-existent) track.
void | AddTrackToSignalBuffer (TileIndex tile, Track track, Owner owner)
| Add track to signal update buffer.
void | AddSideToSignalBuffer (TileIndex tile, DiagDirection side, Owner owner)
| Add side of tile to signal update buffer.
void | UpdateSignalsInBuffer ()
| Update signals in buffer Called from 'outside'.

## Detailed Description

Functions related to signals.

Definition in file signal_func.h.

## Function Documentation

void AddSideToSignalBuffer | ( | TileIndex | tile,
|  | DiagDirection | side,
|  | Owner | owner |
| ) |  |  |

Add side of tile to signal update buffer.

Parameters:

  | tile | tile where we start
  | side | side of tile
  | owner | owner whose signals we will update

Definition at line 607 of file signal.cpp.

References _globset, INVALID_OWNER, SIG_GLOB_UPDATE, and UpdateSignalsInBuffer().

Referenced by CmdBuildBridge(), CmdBuildTrainDepot(), and CmdBuildTunnel().

void AddTrackToSignalBuffer | ( | TileIndex | tile,
|  | Track | track,
|  | Owner | owner |
| ) |  |  |

Add track to signal update buffer.

Parameters:

  | tile | tile where we start
  | track | track at which ends we will update signals
  | owner | owner whose signals we will update

Definition at line 575 of file signal.cpp.

References _globset, DIAGDIR_NE, DIAGDIR_NW, DIAGDIR_SE, DIAGDIR_SW, INVALID_OWNER, SIG_GLOB_UPDATE, and UpdateSignalsInBuffer().

Referenced by CmdBuildRailroadStation(), CmdBuildSingleRail(), CmdBuildSingleSignal(), CmdRemoveFromRailroadStation(), CmdRemoveSingleRail(), CmdRemoveSingleSignal(), RemoveTrainWaypoint(), and SetSignalsOnBothDir().

void SetSignalsOnBothDir | ( | TileIndex | tile,
|  | Track | track,
|  | Owner | owner |
| ) |  |  |

Update signals at segments that are at both ends of given (existent or non-existent) track.

See also:
  UpdateSignalsInBuffer()

Parameters:

  | tile | tile where we start
  | track | track at which ends we will update signals
  | owner | owner whose signals we will update

Definition at line 651 of file signal.cpp.

References _globset, AddTrackToSignalBuffer(), and UpdateSignalsInBuffer().

Referenced by DeleteLastWagon().

bool UpdateSignalsOnSegment | ( | TileIndex | tile,
|  | DiagDirection | side,
|  | Owner | owner |
| ) |  |  |

Update signals, starting at one side of a tile Will check tile next to this at opposite side too.

See also:
  UpdateSignalsInBuffer()

Parameters:

  | tile | tile where we start
  | side | side of tile
  | owner | owner whose signals we will update

Returns:
  false iff train can leave depot

Definition at line 633 of file signal.cpp.

References _globset, and UpdateSignalsInBuffer().

Referenced by DeleteLastWagon().