(svn r12106) -Fix(r12105): Kill warnings and raise an error when the transport type is not supported

pull/155/head
belugas 17 years ago
parent d2f6320d09
commit f54a21450a

@ -202,13 +202,10 @@ CommandCost CmdBuildBridge(TileIndex end_tile, uint32 flags, uint32 p1, uint32 p
/* unpack parameters */
bridge_type = GB(p2, 0, 8);
transport_type = (TransportType)GB(p2, 15, 2);
/* For now, only TRANSPORT_RAIL and TRANSPORT_ROAD are allowed.
* But let not this stops us for preparing the future */
if (transport_type >= TRANSPORT_WATER) return CMD_ERROR;
if (p1 >= MapSize()) return CMD_ERROR;
transport_type = (TransportType)GB(p2, 15, 2);
/* type of bridge */
switch (transport_type) {
case TRANSPORT_ROAD:
@ -220,6 +217,11 @@ CommandCost CmdBuildBridge(TileIndex end_tile, uint32 flags, uint32 p1, uint32 p
railtype = (RailType)GB(p2, 8, 8);
if (!ValParamRailtype(railtype)) return CMD_ERROR;
break;
default:
/* For now, only TRANSPORT_RAIL and TRANSPORT_ROAD are allowed.
* But let not this stops us for preparing the future */
return CMD_ERROR;
}
x = TileX(end_tile);
@ -356,6 +358,10 @@ CommandCost CmdBuildBridge(TileIndex end_tile, uint32 flags, uint32 p1, uint32 p
MakeRoadBridgeRamp(tile_start, owner, bridge_type, dir, roadtypes);
MakeRoadBridgeRamp(tile_end, owner, bridge_type, ReverseDiagDir(dir), roadtypes);
break;
default:
NOT_REACHED();
break;
}
MarkTileDirtyByTile(tile_start);
MarkTileDirtyByTile(tile_end);

Loading…
Cancel
Save