(svn r5163) - CodeChange: [YAPF] "treat first red two-way signal as dead end" is not applied if train didn't pass choice.
authorKUDr
Wed, 07 Jun 2006 21:18:08 +0000
changeset 3979 4a9826b12e56
parent 3978 bfd412e43038
child 3980 81b1f803d75d
(svn r5163) - CodeChange: [YAPF] "treat first red two-way signal as dead end" is not applied if train didn't pass choice.
It allows pathfinder to plan route through first red two-way signal if the train has no other choice than to pass it.
yapf/yapf_costrail.hpp
--- a/yapf/yapf_costrail.hpp	Wed Jun 07 21:16:43 2006 +0000
+++ b/yapf/yapf_costrail.hpp	Wed Jun 07 21:18:08 2006 +0000
@@ -106,7 +106,7 @@
 				} else {
 					// we have a red signal in our direction
 					// was it first signal which is two-way?
-					if (Yapf().TreatFirstRedTwoWaySignalAsEOL() && has_signal_against && n.m_num_signals_passed == 0) {
+					if (Yapf().TreatFirstRedTwoWaySignalAsEOL() && n.flags_u.flags_s.m_choice_seen && has_signal_against && n.m_num_signals_passed == 0) {
 						// yes, the first signal is two-way red signal => DEAD END
 						n.m_segment->flags_u.flags_s.m_end_of_line = true;
 						return -1;