In addition to the other networking stuff, TTDPatch allows some clever setups for efficient train routing. Some of these ideas are presented on this page.

Priority lanes

Signals, especially pre-signals, can be used to build priority lines. Trains that go on these lines will have priority over trains from other lines at junctions. In all these examples the main line is the left one, and the secondary line with lower priority joins it from the right.

Icon
If the automatic conversion of pre-signal blocks to PBS blocks is enabled, some of these setups will not work, because path-based signals override the pre signal functionality. (Disable automatic conversion)
Priority lanes
TTDPatch OpenTTD

Here, the entry signal for the signal block is set back from the junction on the main line. Therefore, a train approaching it will occupy the signal block earlier, forcing a train on the secondary line to wait. This also works with path signals, since the train on the main line reserves the path to the only available exit, a train from the secondary line will not find a path through the block and has to wait.

Priority lanes
TTDPatch OpenTTD

One can also use pre-signals to force a certain priority scheme. Here, there is a train in the block behind the junction, therefore the exit signal of the junction is red. This forces the pre-signal entry to be red. So, the train on the main line can enter the junction and wait in front of the exit signal, the train on the secondary line has to wait at the entry signal.

Priority lanes
TTDPatch OpenTTD

This is a very neat design that someone from the forums came up with. It allows a train from the secondary line to join the main line only if there is no train approaching. Note that the exit signal has to be two-way, otherwise it will not work..

Overtaking

There are some ways to allow fast trains to overtake slower trains. These arrangements are especially important when there are climbs on a line. A heavy freight train will slow down there much more, so it is a very good idea to reserve extra climbing tracks for freight trains.

Overtaking
TTDPatch OpenTTD

This design uses waypoints and the idea of priority lines described above. The entry signal for the junction at the end of the overtaking area is placed far from the junction on the fast lane, but near the junction on the other one, giving the fast lane a higher priority. Again, you might need to experiment a bit with the placing of signals according to the different speeds of your trains.

Overtaking
TTDPatch OpenTTD

The idea of priority lines with pre-signals as described above works perfectly with overtaking areas, as can be seen here. Slow trains will only leave the overtaking area if there is no train on the fast lane.

Overtaking
TTDPatch Not in OpenTTD

One can also replace the waypoints with restricted signals. For example, on the fast lane, the signal restriction could simply be "maximum train speed > 70 mph". Any slower train is forced onto the right hand track, where it has to wait if some other train is approaching on the fast lane.

Overtaking
TTDPatch OpenTTD

As soon as climbs are involved, the heavy freight trains will be much slower than light passenger trains, so it is a good idea to have dedicated climbing tracks for freight trains. It is important that the branch is far enough from the climb, so that the freight train is completely on its dedicated track before reaching the slope. If that would not be the case, any following train would have to wait just as if the freight train would not have an extra track.

Level crossings

In TTDX, level crossings are blocked when a train is half a tile away. For fast trains this is much too late, because they cross the road before any road vehicle has left the crossing. The result is a nice fireball. Without PBS, one could only demolish all level crossings in favour of bridges and tunnels, or turn off collisions. With PBS, there is a better solution, as long as vehicle breakdowns are turned off, since a road vehicle breaking down on a level crossing will still lead to a crash with any oncoming train.

Level crossing
TTDPatch OpenTTD

A level crossing as part of a path-based signal block will be blocked as soon as a train reserves a path through the block, i.e. half a tile before the path signal. Compare the two crossings: the left one shows the standard behaviour, the right one is in a path based block. Depending on your train speed the path based signal can be placed nearer or farther away from the crossing.

Icon
A series of level crossings such as in the picture should still be replaced by a bridge or a tunnel, reducing the risk that a road vehicle gets trapped between two crossings, which might result in train crashes, especially with new longer road vehicles.