News:

Simutrans Chat Room
Where cool people of Simutrans can meet up.

Choose Sign sends train to occupied platform (reproducible)

Started by Matthew, September 26, 2021, 10:12:50 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Matthew

Steps to reproduce

1. Use the latest client from Bridgewater-Brunel (#525461f in the title bar), though I doubt this a new bug.
2. For your convenience, turn convoy labels on in Display Options.
2. Download and open Reproducible BB Choose Signal Error at Pollveor stables.sve.
3. In the centre of the screen, convoy 10068 is ascending the hill towards Pollveor Gate Carriage Stables. Watch the Choose Signal at (388,1438,8) correctly send it to the scheduled, newly vacant platform at (388,1442).
4. Now watch the next convoy up the hill, 9329.

Expected behaviour

The Time-interval-with-telegraph Choose Signal at (388,1438,8) sends convoy 9239 to the vacant platform at (389,1442), because it is part of the same station as the scheduled platform. The vacant platform is long enough and can bear the axle load.

Actual behaviour

The Time-interval-with-telegraph Choose Signal at (388,1438,8) sends it to the already occupied, scheduled platform at (388,1442):

(Signature being tested) If you enjoy playing Simutrans, then you might also enjoy watching Japan Railway Journal
Available in English and simplified Chinese
如果您喜欢玩Simutrans的话,那么说不定就想看《日本铁路之旅》(英语也有简体中文字幕)。

jamespetts

Thank you for your report.

There are a number of complex overlapping issues here, and it is very difficult to work with this saved game as it is very large, making performance extremely poor in a debug build, and thus very difficult to interact with.

The main problem appears to be that directional reservations terminate at a one way sign, so the train does not check beyond that sign as to what signal that it should be stopping at, thus not seeing the choose signal in at least some cases. This is intended, but this does not seem to work well with the time interval with telegraph working method in which what is needed is a clear route to the next signal. I have therefore stopped a one way sign from terminating a directional reservation in the time interval with telegraph working method.

However, there are other issues underlying this, including the train not properly recognising and dealing with the first signal beyond the station. This is in part due to the use of individual time interval signals rather than a station signal at the station: the signals check how long that it has been since a train last passed that particular signal not, as with station signals, how long that it has been since a train left the station at all in that same direction.

In any event, the change that I have made seems to prevent this particular deadlock, and the other issues revealed by the change cause non-deadlocking problems, so this is an improvement at this stage, I think, and should cause design of time interval with telegraph signalling systems on players' networks to be more straightforward.

I should be grateful if you could confirm that the deadlock is resolved.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.