(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.
--- 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;