Mercurial > hg > openttd
changeset 14909:d2be77222529 draft
(svn r19506) -Fix: Tunnels, bridges and roadstops are build with only one roadtype.
author | frosch <frosch@openttd.org> |
---|---|
date | Tue, 23 Mar 2010 20:29:52 +0000 |
parents | 0ab8c3474720 |
children | bd99e52e5aa2 |
files | src/road_func.h src/station_cmd.cpp src/tunnelbridge_cmd.cpp |
diffstat | 3 files changed, 3 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/src/road_func.h +++ b/src/road_func.h @@ -29,16 +29,6 @@ } /** - * 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
--- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -1697,7 +1697,7 @@ 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;
--- a/src/tunnelbridge_cmd.cpp +++ b/src/tunnelbridge_cmd.cpp @@ -207,7 +207,7 @@ 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 @@ 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;