39 enum EndSegmentReasonBits {
60 ESRB_POSSIBLE_TARGET = ESRB_DEPOT | ESRB_WAYPOINT | ESRB_STATION | ESRB_SAFE_TILE,
63 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,
66 ESRB_ABORT_PF_MASK = ESRB_DEAD_END | ESRB_PATH_TOO_LONG | ESRB_INFINITE_LOOP | ESRB_FIRST_TWO_WAY_RED,
73 static const char *
const end_segment_reason_names[] = {
74 "DEAD_END",
"RAIL_TYPE",
"INFINITE_LOOP",
"SEGMENT_TOO_LONG",
"CHOICE_FOLLOWS",
75 "DEPOT",
"WAYPOINT",
"STATION",
"SAFE_TILE",
76 "PATH_TOO_LONG",
"FIRST_TWO_WAY_RED",
"LOOK_AHEAD_END",
"TARGET_REACHED"
80 out.Format(
"0x%04X (%s)", bits,
ComposeNameT(bits, end_segment_reason_names,
"UNK", ESRB_NONE,
"NONE").Data());
81 return out.Transfer();