|
OpenTTD Source
14.0-beta3
|
Go to the documentation of this file.
10 #ifndef DIRECTION_FUNC_H
11 #define DIRECTION_FUNC_H
74 return static_cast<DirDiff>((
static_cast<uint
>(d0) -
static_cast<uint
>(d1)) % 8);
91 return static_cast<DirDiff>((
static_cast<uint
>(d) +
static_cast<uint
>(delta)) % 8);
108 return static_cast<Direction>((
static_cast<uint
>(d) +
static_cast<uint
>(delta)) % 8);
153 return static_cast<DiagDirection>((
static_cast<uint
>(d) +
static_cast<uint
>(delta)) % 4);
200 return (
Axis)(a ^ 1);
217 return (
Axis)(d & 1);
276 return (dir & 1) != 0;
Direction ReverseDir(Direction d)
Return the reverse of a direction.
Direction
Defines the 8 directions on the map.
@ AXIS_END
Used for iterations.
Axis
Allow incrementing of DiagDirDiff variables.
DiagDirDiff
Enumeration for the difference between to DiagDirection.
@ DIAGDIR_END
Used for iterations.
Axis DiagDirToAxis(DiagDirection d)
Convert a DiagDirection to the axis.
Direction AxisToDirection(Axis a)
Converts an Axis to a Direction.
Direction ChangeDir(Direction d, DirDiff delta)
Change a direction by a given difference.
DirDiff DirDifference(Direction d0, Direction d1)
Calculate the difference between two directions.
DiagDirection ChangeDiagDir(DiagDirection d, DiagDirDiff delta)
Applies a difference on a DiagDirection.
bool IsValidDirection(Direction d)
Checks if an integer value is a valid Direction.
DiagDirDiff DiagDirDifference(DiagDirection d0, DiagDirection d1)
Calculate the difference between two DiagDirection values.
DiagDirection ReverseDiagDir(DiagDirection d)
Returns the reverse direction of the given DiagDirection.
Direction DiagDirToDir(DiagDirection dir)
Convert a DiagDirection to a Direction.
DiagDirection AxisToDiagDir(Axis a)
Converts an Axis to a DiagDirection.
DiagDirection DirToDiagDir(Direction dir)
Convert a Direction to a DiagDirection.
DirDiff
Allow incrementing of Direction variables.
DiagDirection
Enumeration for diagonal directions.
bool IsValidAxis(Axis d)
Checks if an integer value is a valid Axis.
bool IsDiagonalDirection(Direction dir)
Checks if a given Direction is diagonal.
bool IsValidDiagDirection(DiagDirection d)
Checks if an integer value is a valid DiagDirection.
@ DIR_END
Used to iterate.
DirDiff ChangeDirDiff(DirDiff d, DirDiff delta)
Applies two differences together.
Axis OtherAxis(Axis a)
Select the other axis as provided.
DiagDirection XYNSToDiagDir(Axis xy, uint ns)
Convert an axis and a flag for north/south into a DiagDirection.