Fix ctrl-click signal cycling not checking custom signal style restrictions

wip-string
Jonathan G Rennison 6 months ago
parent b6768e4f5a
commit 0aa27cfda3

@ -1755,6 +1755,14 @@ CommandCost CmdBuildSingleSignal(TileIndex tile, DoCommandFlag flags, uint32 p1,
}
} else {
if (_ctrl_pressed && GetSignalStyle(tile, track) != 0) {
SignalType new_sigtype = GetSignalType(tile, track);
do {
new_sigtype = NextSignalType(new_sigtype, which_signals);
} while (_settings_game.vehicle.train_braking_model == TBM_REALISTIC && IsSignalTypeUnsuitableForRealisticBraking(new_sigtype));
if (!is_style_usable(GetSignalVariant(tile, track), GetSignalStyle(tile, track), 1 << new_sigtype)) return_cmd_error(STR_ERROR_UNSUITABLE_SIGNAL_TYPE);
}
/* it is free to change orientation/pre-exit-combo signals */
cost = CommandCost();
}

Loading…
Cancel
Save