summaryrefslogtreecommitdiff
path: root/src/pathfinder/yapf/yapf_node_rail.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/pathfinder/yapf/yapf_node_rail.hpp')
-rw-r--r--src/pathfinder/yapf/yapf_node_rail.hpp69
1 files changed, 0 insertions, 69 deletions
diff --git a/src/pathfinder/yapf/yapf_node_rail.hpp b/src/pathfinder/yapf/yapf_node_rail.hpp
index 765fa0daf..4950b2d29 100644
--- a/src/pathfinder/yapf/yapf_node_rail.hpp
+++ b/src/pathfinder/yapf/yapf_node_rail.hpp
@@ -61,75 +61,6 @@ struct CYapfRailSegmentKey
}
};
-/* Enum used in PfCalcCost() to see why was the segment closed. */
-enum EndSegmentReason {
- /* The following reasons can be saved into cached segment */
- ESR_DEAD_END = 0, ///< track ends here
- ESR_RAIL_TYPE, ///< the next tile has a different rail type than our tiles
- ESR_INFINITE_LOOP, ///< infinite loop detected
- ESR_SEGMENT_TOO_LONG, ///< the segment is too long (possible infinite loop)
- ESR_CHOICE_FOLLOWS, ///< the next tile contains a choice (the track splits to more than one segments)
- ESR_DEPOT, ///< stop in the depot (could be a target next time)
- ESR_WAYPOINT, ///< waypoint encountered (could be a target next time)
- ESR_STATION, ///< station encountered (could be a target next time)
- ESR_SAFE_TILE, ///< safe waiting position found (could be a target)
-
- /* The following reasons are used only internally by PfCalcCost().
- * They should not be found in the cached segment. */
- ESR_PATH_TOO_LONG, ///< the path is too long (searching for the nearest depot in the given radius)
- ESR_FIRST_TWO_WAY_RED, ///< first signal was 2-way and it was red
- ESR_LOOK_AHEAD_END, ///< we have just passed the last look-ahead signal
- ESR_TARGET_REACHED, ///< we have just reached the destination
-
- /* Special values */
- ESR_NONE = 0xFF, ///< no reason to end the segment here
-};
-
-enum EndSegmentReasonBits {
- ESRB_NONE = 0,
-
- ESRB_DEAD_END = 1 << ESR_DEAD_END,
- ESRB_RAIL_TYPE = 1 << ESR_RAIL_TYPE,
- ESRB_INFINITE_LOOP = 1 << ESR_INFINITE_LOOP,
- ESRB_SEGMENT_TOO_LONG = 1 << ESR_SEGMENT_TOO_LONG,
- ESRB_CHOICE_FOLLOWS = 1 << ESR_CHOICE_FOLLOWS,
- ESRB_DEPOT = 1 << ESR_DEPOT,
- ESRB_WAYPOINT = 1 << ESR_WAYPOINT,
- ESRB_STATION = 1 << ESR_STATION,
- ESRB_SAFE_TILE = 1 << ESR_SAFE_TILE,
-
- ESRB_PATH_TOO_LONG = 1 << ESR_PATH_TOO_LONG,
- ESRB_FIRST_TWO_WAY_RED = 1 << ESR_FIRST_TWO_WAY_RED,
- ESRB_LOOK_AHEAD_END = 1 << ESR_LOOK_AHEAD_END,
- ESRB_TARGET_REACHED = 1 << ESR_TARGET_REACHED,
-
- /* Additional (composite) values. */
-
- /* What reasons mean that the target can be found and needs to be detected. */
- ESRB_POSSIBLE_TARGET = ESRB_DEPOT | ESRB_WAYPOINT | ESRB_STATION | ESRB_SAFE_TILE,
-
- /* What reasons can be stored back into cached segment. */
- ESRB_CACHED_MASK = ESRB_DEAD_END | ESRB_RAIL_TYPE | ESRB_INFINITE_LOOP | ESRB_SEGMENT_TOO_LONG | ESRB_CHOICE_FOLLOWS | ESRB_DEPOT | ESRB_WAYPOINT | ESRB_STATION | ESRB_SAFE_TILE,
-
- /* Reasons to abort pathfinding in this direction. */
- ESRB_ABORT_PF_MASK = ESRB_DEAD_END | ESRB_PATH_TOO_LONG | ESRB_INFINITE_LOOP | ESRB_FIRST_TWO_WAY_RED,
-};
-
-DECLARE_ENUM_AS_BIT_SET(EndSegmentReasonBits)
-
-inline CStrA ValueStr(EndSegmentReasonBits bits)
-{
- static const char * const end_segment_reason_names[] = {
- "DEAD_END", "RAIL_TYPE", "INFINITE_LOOP", "SEGMENT_TOO_LONG", "CHOICE_FOLLOWS",
- "DEPOT", "WAYPOINT", "STATION", "SAFE_TILE",
- "PATH_TOO_LONG", "FIRST_TWO_WAY_RED", "LOOK_AHEAD_END", "TARGET_REACHED"
- };
-
- CStrA out;
- out.Format("0x%04X (%s)", bits, ComposeNameT(bits, end_segment_reason_names, "UNK", ESRB_NONE, "NONE").Data());
- return out.Transfer();
-}
-
/** cached segment cost for rail YAPF */
struct CYapfRailSegment
{