From ef1b8f159faaabed4aa78c4d90e72050530542fc Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Mon, 22 Nov 2021 17:04:25 +0000 Subject: [PATCH] Fix ctrl-click signal cycling setting --- src/rail_gui.cpp | 6 +++--- src/signal_func.h | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/rail_gui.cpp b/src/rail_gui.cpp index 6249ea7b6c..0321417ee5 100644 --- a/src/rail_gui.cpp +++ b/src/rail_gui.cpp @@ -274,10 +274,10 @@ static void GenericPlaceSignals(TileIndex tile) /* Which signals should we cycle through? */ uint8 cycle_types; - if (_settings_client.gui.cycle_signal_types == SIGNAL_CYCLE_ALL && _settings_client.gui.signal_gui_mode == SIGNAL_GUI_ALL) { - cycle_types = SIGTYPE_NORMAL | (SIGTYPE_LAST << 3); + if (_settings_client.gui.cycle_signal_types == SIGNAL_CYCLE_ALL && (_settings_client.gui.signal_gui_mode == SIGNAL_GUI_ALL || _settings_game.vehicle.train_braking_model == TBM_REALISTIC)) { + cycle_types = SIGNAL_CYCLE_ALL; } else { - cycle_types = SIGTYPE_PBS | (SIGTYPE_LAST << 3); + cycle_types = SIGNAL_CYCLE_PATH; } if (w != nullptr) { diff --git a/src/signal_func.h b/src/signal_func.h index a01e3f293b..4ea4ab1ac1 100644 --- a/src/signal_func.h +++ b/src/signal_func.h @@ -114,8 +114,8 @@ static inline bool IsSignalSpritePBS(SignalType type) static inline SignalType NextSignalType(SignalType cur, uint which_signals) { - bool pbs = (which_signals != 0); - bool block = (which_signals != 1); + bool pbs = true; + bool block = (which_signals == SIGNAL_CYCLE_ALL); switch(cur) { case SIGTYPE_NORMAL: return block ? SIGTYPE_ENTRY : SIGTYPE_PBS;