Fix path-only signal cycle mode being ignored when using realistic braking

This commit is contained in:
Jonathan G Rennison
2024-04-05 17:54:21 +01:00
parent a9dbd793b4
commit 1a6a4c9a6c
2 changed files with 11 additions and 11 deletions

View File

@@ -70,18 +70,18 @@ static const TrackdirBits _enterdir_to_trackdirbits[DIAGDIR_END] = {
SignalType NextSignalType(SignalType cur, SignalCycleGroups which_signals)
{
if (_settings_game.vehicle.train_braking_model == TBM_REALISTIC) {
switch (cur) {
case SIGTYPE_PBS: return SIGTYPE_PBS_ONEWAY;
case SIGTYPE_PBS_ONEWAY: return SIGTYPE_BLOCK;
default: return SIGTYPE_PBS;
}
}
if (which_signals == SCG_CURRENT_GROUP) which_signals = IsPbsSignal(cur) ? SCG_PBS : SCG_BLOCK;
bool pbs = which_signals & SCG_PBS;
bool block = which_signals & SCG_BLOCK;
if (_settings_game.vehicle.train_braking_model == TBM_REALISTIC) {
switch (cur) {
case SIGTYPE_PBS: return SIGTYPE_PBS_ONEWAY;
case SIGTYPE_PBS_ONEWAY: return block ? SIGTYPE_BLOCK : SIGTYPE_PBS;
default: return SIGTYPE_PBS;
}
}
switch(cur) {
case SIGTYPE_BLOCK: return block ? SIGTYPE_ENTRY : SIGTYPE_PBS;
case SIGTYPE_ENTRY: return block ? SIGTYPE_EXIT : SIGTYPE_PBS;