SRNW signalling

This commit is contained in:
Florian Obser 2024-01-13 14:39:58 +01:00
parent d3f110941a
commit e2f975ef05
3 changed files with 32 additions and 0 deletions

View File

@ -143,3 +143,35 @@ unreachable way-point. A train can only have 255 orders. Once the
order list is full no implicit orders can be created.
[[file:openttd-srnw/pick-up-train-orders.png][file:openttd-srnw/pick-up-train-orders_small.png]]
* Self Regulating Network Signalling
The interesting bit happens once the trains passed the INJECT
way-point. They are now inside of the waiting loop and try to get
to the transfer station. This is only possible through one of the
SBahn stations.
When a train reaches the tunnel entrance to an SBahn station it has
two choices, either continue in the waiting loop or enter the station.
If a train is already in the waiting bay of that station we want our
train in the waiting loop to continue and try the next station. We put
two-way block signals at the tunnel entrance which turns red when the
waiting bay is occupied by a train. OpenTTD's path finder treats a red
two-way signal as a dead-end[fn::This is only true if
=yapf.rail_firstred_twoway_eol= is =True=. This is the default in
OpenTTD 13.]. It has an infinite penalty and any other
path will be better. Our train continues. This is the first block
signal in the picture below.
At our second SBahn entrance the waiting bay is free and the block
signal shows green, so a train should enter the waiting bay towards
the station. However, the path finder sees that the path goes through
a station. Going through a station incurs a penalty for that path and
it might so happen that the path continuing in the waiting loop is
considered better, our train would not enter the waiting bay.
We need to add a penalty to the waiting loop path to make the path
through the station look better. We do this by adding a few reversed
path signals after the choice.
[[file:openttd-srnw/srnw-signalling.png][file:openttd-srnw/srnw-signalling_small.png]]

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 634 KiB