OpenTTD Source
20240915-master-g3784a3d3d6
|
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.
DiagDirDiff
Enumeration for the difference between to DiagDirection.
@ DIR_END
Used to iterate.
Axis DiagDirToAxis(DiagDirection d)
Convert a DiagDirection to the axis.
DiagDirection
Enumeration for diagonal directions.
@ AXIS_END
Used for iterations.
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.
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.
Axis
Allow incrementing of DiagDirDiff variables.
@ DIAGDIR_END
Used for iterations.
Direction
Defines the 8 directions on the map.
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.