Changeset - r14899:98b2af7e18b1
[Not reviewed]
master
0 3 0
frosch - 14 years ago 2010-03-23 20:29:52
frosch@openttd.org
(svn r19506) -Fix: Tunnels, bridges and roadstops are build with only one roadtype.
3 files changed with 3 insertions and 13 deletions:
0 comments (0 inline, 0 general)
src/road_func.h
Show inline comments
 
@@ -29,16 +29,6 @@ static inline bool IsValidRoadType(RoadT
 
}
 

	
 
/**
 
 * Are the given bits pointing to valid roadtypes?
 
 * @param rts the roadtypes to check for validness
 
 * @return true if and only if valid
 
 */
 
static inline bool AreValidRoadTypes(RoadTypes rts)
 
{
 
	return HasBit(rts, ROADTYPE_ROAD) || HasBit(rts, ROADTYPE_TRAM);
 
}
 

	
 
/**
 
 * Maps a RoadType to the corresponding RoadTypes value
 
 *
 
 * @param rt the roadtype to get the roadtypes from
src/station_cmd.cpp
Show inline comments
 
@@ -1697,7 +1697,7 @@ CommandCost CmdBuildRoadStop(TileIndex t
 

	
 
	if (distant_join && (!_settings_game.station.distant_join_stations || !Station::IsValidID(station_to_join))) return CMD_ERROR;
 

	
 
	if (!AreValidRoadTypes(rts) || !HasRoadTypesAvail(_current_company, rts)) return CMD_ERROR;
 
	if (!HasExactlyOneBit(rts) || !HasRoadTypesAvail(_current_company, rts)) return CMD_ERROR;
 

	
 
	/* Trams only have drive through stops */
 
	if (!is_drive_through && HasBit(rts, ROADTYPE_TRAM)) return CMD_ERROR;
src/tunnelbridge_cmd.cpp
Show inline comments
 
@@ -207,7 +207,7 @@ CommandCost CmdBuildBridge(TileIndex end
 
	switch (transport_type) {
 
		case TRANSPORT_ROAD:
 
			roadtypes = (RoadTypes)GB(p2, 8, 2);
 
			if (!AreValidRoadTypes(roadtypes) || !HasRoadTypesAvail(_current_company, roadtypes)) return CMD_ERROR;
 
			if (!HasExactlyOneBit(roadtypes) || !HasRoadTypesAvail(_current_company, roadtypes)) return CMD_ERROR;
 
			break;
 

	
 
		case TRANSPORT_RAIL:
 
@@ -487,7 +487,7 @@ CommandCost CmdBuildTunnel(TileIndex sta
 
		if (!ValParamRailtype((RailType)p1)) return CMD_ERROR;
 
	} else {
 
		const RoadTypes rts = (RoadTypes)GB(p1, 0, 2);
 
		if (!AreValidRoadTypes(rts) || !HasRoadTypesAvail(_current_company, rts)) return CMD_ERROR;
 
		if (!HasExactlyOneBit(rts) || !HasRoadTypesAvail(_current_company, rts)) return CMD_ERROR;
 
	}
 

	
 
	uint start_z;
0 comments (0 inline, 0 general)