OpenTTD Source  20240919-master-gdf0233f4c2
yapf_type.hpp File Reference
#include <iomanip>
#include <sstream>

Go to the source code of this file.

Enumerations

enum  EndSegmentReason {
  ESR_DEAD_END = 0, ESR_RAIL_TYPE, ESR_INFINITE_LOOP, ESR_SEGMENT_TOO_LONG,
  ESR_CHOICE_FOLLOWS, ESR_DEPOT, ESR_WAYPOINT, ESR_STATION,
  ESR_SAFE_TILE, ESR_PATH_TOO_LONG, ESR_FIRST_TWO_WAY_RED, ESR_LOOK_AHEAD_END,
  ESR_TARGET_REACHED, ESR_NONE = 0xFF
}
 
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, ESRB_POSSIBLE_TARGET = ESRB_DEPOT | ESRB_WAYPOINT | ESRB_STATION | ESRB_SAFE_TILE, 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,
  ESRB_ABORT_PF_MASK = ESRB_DEAD_END | ESRB_PATH_TOO_LONG | ESRB_INFINITE_LOOP | ESRB_FIRST_TWO_WAY_RED
}
 

Functions

std::string ValueStr (EndSegmentReasonBits bits)
 

Detailed Description

Types used by YAPF.

Definition in file yapf_type.hpp.

Enumeration Type Documentation

◆ EndSegmentReason

Enumerator
ESR_DEAD_END 

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)

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

ESR_NONE 

no reason to end the segment here

Definition at line 17 of file yapf_type.hpp.