Is there perhaps bug close to the end of this line:
https://github.com/aburch/simutrans/blob/master/dataobj/route.cc#L663 (https://github.com/aburch/simutrans/blob/master/dataobj/route.cc#L663)
The use of doubled && instead of & in this subcondition looks extremely suspicious: ... && (fahr->get_ribi(gr)&&ribi)!=0 ) ...I guess it would be supposed to check if fahr->get_ribi(gr) has ribi bit set.
--
i.
Looks wrong to me as well. If it was supposed to be &&, I doubt there would be an != after. Although the != is unnecessary in C/C++, here it indeed strongly suggest flags checking.
Hmm this line is not 663. I assume this has been fixed?
Yes, revision 7487.