diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -485,6 +485,8 @@ int32 CmdTurnRoadVeh(TileIndex tile, uin return CMD_ERROR; } + if (GetDisallowedRoadDirections(v->tile) != DRD_NONE) return CMD_ERROR; + if (IsTunnelTile(v->tile) && DirToDiagDir(v->direction) == GetTunnelDirection(v->tile)) return CMD_ERROR; if (IsBridgeTile(v->tile) && DirToDiagDir(v->direction) == GetBridgeRampDirection(v->tile)) return CMD_ERROR; @@ -1415,6 +1417,9 @@ again: v->cur_speed = 0; return; } + } else if (GetDisallowedRoadDirections(v->tile) != DRD_NONE) { + v->cur_speed = 0; + return; } else { tile = v->tile; }