Changeset - r17068:33cff73ac331
[Not reviewed]
master
0 1 0
rubidium - 13 years ago 2011-01-15 22:40:54
rubidium@openttd.org
(svn r21815) -Fix [FS#3908]: [YAPF] Apply a pathfinder penalty for back of one-way path signals so those aren't preferred over other possibilities
1 file changed with 5 insertions and 2 deletions:
0 comments (0 inline, 0 general)
src/pathfinder/yapf/yapf_costrail.hpp
Show inline comments
 
@@ -515,10 +515,13 @@ no_entry_cost: // jump here at the begin
 
			TILE next(tf_local.m_new_tile, (Trackdir)FindFirstBit2x64(tf_local.m_new_td_bits));
 

	
 
			if (TrackFollower::DoTrackMasking() && IsTileType(next.tile, MP_RAILWAY)) {
 
				if ((HasSignalOnTrackdir(next.tile, next.td) && IsPbsSignal(GetSignalType(next.tile, TrackdirToTrack(next.td)))) ||
 
						(HasSignalOnTrackdir(next.tile, ReverseTrackdir(next.td)) && GetSignalType(next.tile, TrackdirToTrack(next.td)) == SIGTYPE_PBS_ONEWAY)) {
 
				if (HasSignalOnTrackdir(next.tile, next.td) && IsPbsSignal(GetSignalType(next.tile, TrackdirToTrack(next.td)))) {
 
					/* Possible safe tile. */
 
					end_segment_reason |= ESRB_SAFE_TILE;
 
				} else if (HasSignalOnTrackdir(next.tile, ReverseTrackdir(next.td)) && GetSignalType(next.tile, TrackdirToTrack(next.td)) == SIGTYPE_PBS_ONEWAY) {
 
					/* Possible safe tile, but not so good as it's the back of a signal... */
 
					end_segment_reason |= ESRB_SAFE_TILE | ESRB_DEAD_END;
 
					extra_cost += Yapf().PfGetSettings().rail_lastred_exit_penalty;
 
				}
 
			}
 

	
0 comments (0 inline, 0 general)