SDT_CONDVAR(Patches, default_signal_type, SLE_UINT8, 87, SL_MAX_VERSION,
N,MS, 0, 0, 2, 1, STR_CONFIG_PATCHES_DEFAULT_SIGNAL_TYPE, NULL),
SDT_CONDVAR(Patches, cycle_signal_types, SLE_UINT8, 87, SL_MAX_VERSION,
N,MS, 0, 0, 2, 1, STR_CONFIG_PATCHES_CYCLE_SIGNAL_TYPES, NULL),
Why should these be saved in the savegame? They're client-side so should be like the other client-side options and only saved in the config.
Because I might not have understod the saveload code fully?
If you think the right way is to have them client-side only I will change it.
I disagree. This could make it impossible to modify rail network under heavy traffic.
Wouldn't better solution be to check which train has reserved bath to the current tile, and then find a new path for it?
And if no path can be reserved? What should be done then? Keep in mind that the goal of this patch is the create a more realistic signaling system and path reservation is only a means to an end. In reality, trains only stop in front of red signals and normally don't stop suddenly somewhere else. So if your train can't get another path, it might either continue and crash anyway or might suddenly stop for no reason, which is not very realistic. Just stop your trains before extensivly remodelling a junction.
Also, I don't recommend mixing traditonal and PBS signals or to at least keep them on seperate track networks. Otherwise, you will have many issues with train collisions, because they seem to not be compatible.
Traditional and PBS signals are only compatible in certain situations. The main problem is that a signal block ends at any signal, including pbs signals. Changing that might cause severe performance problems. So if no train is in the block, a normal signal will be green, even though another train may enter the tile trough the back of a two-way pbs signal. The second problem is that a train entering a block through a normal signal will not reserve a path and is thus not seen by a train entering through a pbs signal.
Together this means that the entry signals into a block should only be of one kind, either normal or pbs, but not both at the same time. Secondly, only use one-way pbs signals as block exit signals for a block which has normal entry signals so no train can enter the block without being seen by the normal signals.-- Michael Lutz