diff --git a/src/road_gui.cpp b/src/road_gui.cpp --- a/src/road_gui.cpp +++ b/src/road_gui.cpp @@ -100,16 +100,6 @@ static void PlaceRoadStop(TileIndex tile if (p1 >= DIAGDIR_END) { SETBIT(p2, 1); // It's a drive-through stop p1 -= DIAGDIR_END; // Adjust picker result to actual direction - - /* Only allow building over a road if its a straight road, - * facing the right direction and it belongs to the player */ - if ((IsTileType(tile, MP_STREET) && - GetRoadTileType(tile) == ROAD_TILE_NORMAL && - (IsTileOwner(tile, _current_player) || (_patches.road_stop_on_town_road && IsTileOwner(tile, OWNER_TOWN))) && - !(GetRoadBits(tile) & ((DiagDirection)p1 == DIAGDIR_NE ? ROAD_Y : ROAD_X)))) { - - cmd ^= CMD_AUTO; - } } DoCommandP(tile, p1, p2, CcRoadDepot, cmd); } diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -1276,6 +1276,8 @@ int32 CmdBuildRoadStop(TileIndex tile, u if (!(flags & DC_NO_TOWN_RATING) && !CheckIfAuthorityAllows(tile)) return CMD_ERROR; + if (build_over_road) flags ^= DC_AUTO; + if (build_over_road && IsTileOwner(tile, OWNER_TOWN)) _current_player = OWNER_TOWN; ret = CheckFlatLandBelow(tile, 1, 1, flags, is_drive_through ? 5 << p1 : 1 << p1, NULL); _current_player = cur_owner;