signal_func.h File Reference

Functions related to signals. More...

#include "track_type.h"
#include "tile_type.h"
#include "direction_type.h"
#include "company_type.h"

Go to the source code of this file.

Enumerations

enum  SigSegState { SIGSEG_FREE, SIGSEG_FULL, SIGSEG_PBS }
 State of the signal segment. More...

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.
SigSegState 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.


Enumeration Type Documentation

State of the signal segment.

Enumerator:
SIGSEG_FREE  Free and has no pre-signal exits or at least one green exit.
SIGSEG_FULL  Occupied by a train.
SIGSEG_PBS  Segment is a PBS segment.

Definition at line 51 of 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 609 of file signal.cpp.

References _globset, _last_owner, 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 577 of file signal.cpp.

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

Referenced by CmdBuildRailStation(), CmdBuildSingleRail(), CmdBuildSingleSignal(), CmdRemoveSingleRail(), CmdRemoveSingleSignal(), RemoveFromRailBaseStation(), RemoveRailStation(), 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 653 of file signal.cpp.

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

Referenced by DeleteLastWagon().

SigSegState 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:
the state of the signal segment

Definition at line 635 of file signal.cpp.

References _globset, and UpdateSignalsInBuffer().

Referenced by DeleteLastWagon().


Generated on Tue Jan 5 21:03:08 2010 for OpenTTD by  doxygen 1.5.6