equal
deleted
inserted
replaced
425 } |
425 } |
426 |
426 |
427 case MP_STATION: |
427 case MP_STATION: |
428 if (!IsDriveThroughStopTile(tile)) return CMD_ERROR; |
428 if (!IsDriveThroughStopTile(tile)) return CMD_ERROR; |
429 if (HASBIT(GetRoadTypes(tile), rt)) return_cmd_error(STR_1007_ALREADY_BUILT); |
429 if (HASBIT(GetRoadTypes(tile), rt)) return_cmd_error(STR_1007_ALREADY_BUILT); |
|
430 /* Don't allow "upgrading" the roadstop when vehicles are already driving on it */ |
|
431 if (!EnsureNoVehicleOnGround(tile)) return CMD_ERROR; |
430 break; |
432 break; |
431 |
433 |
432 case MP_TUNNELBRIDGE: |
434 case MP_TUNNELBRIDGE: |
433 if ((IsTunnel(tile) && GetTunnelTransportType(tile) != TRANSPORT_ROAD) || |
435 if ((IsTunnel(tile) && GetTunnelTransportType(tile) != TRANSPORT_ROAD) || |
434 (IsBridge(tile) && GetBridgeTransportType(tile) != TRANSPORT_ROAD)) return CMD_ERROR; |
436 (IsBridge(tile) && GetBridgeTransportType(tile) != TRANSPORT_ROAD)) return CMD_ERROR; |
435 if (HASBIT(GetRoadTypes(tile), rt)) return_cmd_error(STR_1007_ALREADY_BUILT); |
437 if (HASBIT(GetRoadTypes(tile), rt)) return_cmd_error(STR_1007_ALREADY_BUILT); |
|
438 /* Don't allow "upgrading" the bridge/tunnel when vehicles are already driving on it */ |
|
439 if (!EnsureNoVehicleOnGround(tile)) return CMD_ERROR; |
436 break; |
440 break; |
437 |
441 |
438 default: |
442 default: |
439 do_clear:; |
443 do_clear:; |
440 ret = DoCommand(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR); |
444 ret = DoCommand(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR); |