|
|
|
@ -250,7 +250,7 @@ static void GenericPlaceSignals(TileIndex tile)
|
|
|
|
|
} else {
|
|
|
|
|
SignalVariant sigvar = _cur_year < _settings_client.gui.semaphore_build_before ? SIG_SEMAPHORE : SIG_ELECTRIC;
|
|
|
|
|
Command<CMD_BUILD_SIGNALS>::Post(STR_ERROR_CAN_T_BUILD_SIGNALS_HERE, CcPlaySound_CONSTRUCTION_RAIL,
|
|
|
|
|
tile, track, SIGTYPE_PBS_ONEWAY, sigvar, false, false, _ctrl_pressed, cycle_start, SIGTYPE_LAST, 0, 0);
|
|
|
|
|
tile, track, _settings_client.gui.default_signal_type, sigvar, false, false, _ctrl_pressed, cycle_start, SIGTYPE_LAST, 0, 0);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -396,7 +396,7 @@ static void HandleAutoSignalPlacement()
|
|
|
|
|
TileVirtXY(_thd.selstart.x, _thd.selstart.y), TileVirtXY(_thd.selend.x, _thd.selend.y), track, _ctrl_pressed);
|
|
|
|
|
} else {
|
|
|
|
|
bool sig_gui = FindWindowById(WC_BUILD_SIGNAL, 0) != nullptr;
|
|
|
|
|
SignalType sigtype = sig_gui ? _cur_signal_type : SIGTYPE_PBS_ONEWAY;
|
|
|
|
|
SignalType sigtype = sig_gui ? _cur_signal_type : _settings_client.gui.default_signal_type;
|
|
|
|
|
SignalVariant sigvar = sig_gui ? _cur_signal_variant : (_cur_year < _settings_client.gui.semaphore_build_before ? SIG_SEMAPHORE : SIG_ELECTRIC);
|
|
|
|
|
Command<CMD_BUILD_SIGNAL_TRACK>::Post(STR_ERROR_CAN_T_BUILD_SIGNALS_HERE, CcPlaySound_CONSTRUCTION_RAIL,
|
|
|
|
|
TileVirtXY(_thd.selstart.x, _thd.selstart.y), TileVirtXY(_thd.selend.x, _thd.selend.y), track, sigtype, sigvar, false, _ctrl_pressed, !_settings_client.gui.drag_signals_fixed_distance, _settings_client.gui.drag_signals_density);
|
|
|
|
@ -1793,6 +1793,9 @@ public:
|
|
|
|
|
_cur_signal_type = (SignalType)((uint)((widget - WID_BS_SEMAPHORE_NORM) % (SIGTYPE_LAST + 1)));
|
|
|
|
|
_cur_signal_variant = widget >= WID_BS_ELECTRIC_NORM ? SIG_ELECTRIC : SIG_SEMAPHORE;
|
|
|
|
|
|
|
|
|
|
/* Update default (last-used) signal type in config file. */
|
|
|
|
|
_settings_client.gui.default_signal_type = _cur_signal_type;
|
|
|
|
|
|
|
|
|
|
/* If 'remove' button of rail build toolbar is active, disable it. */
|
|
|
|
|
if (_remove_button_clicked) {
|
|
|
|
|
Window *w = FindWindowById(WC_BUILD_TOOLBAR, TRANSPORT_RAIL);
|
|
|
|
@ -2200,7 +2203,7 @@ void InitializeRailGUI()
|
|
|
|
|
SetDefaultRailGui();
|
|
|
|
|
|
|
|
|
|
_convert_signal_button = false;
|
|
|
|
|
_cur_signal_type = SIGTYPE_PBS_ONEWAY;
|
|
|
|
|
_cur_signal_type = _settings_client.gui.default_signal_type;
|
|
|
|
|
ResetSignalVariant();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|