mirror of https://github.com/OpenTTD/OpenTTD
(svn r27252) -Fix [FS#6281]: Invalid infrastructure counting when crossing tram tracks with railroads. (adf88)
parent
0ea4127837
commit
3a82bae0d3
|
@ -485,6 +485,8 @@ CommandCost CmdBuildSingleRail(TileIndex tile, DoCommandFlag flags, uint32 p1, u
|
||||||
RoadTypes roadtypes = GetRoadTypes(tile);
|
RoadTypes roadtypes = GetRoadTypes(tile);
|
||||||
RoadBits road = GetRoadBits(tile, ROADTYPE_ROAD);
|
RoadBits road = GetRoadBits(tile, ROADTYPE_ROAD);
|
||||||
RoadBits tram = GetRoadBits(tile, ROADTYPE_TRAM);
|
RoadBits tram = GetRoadBits(tile, ROADTYPE_TRAM);
|
||||||
|
if ((track == TRACK_X && (road | tram) == ROAD_Y) ||
|
||||||
|
(track == TRACK_Y && (road | tram) == ROAD_X)) {
|
||||||
switch (roadtypes) {
|
switch (roadtypes) {
|
||||||
default: break;
|
default: break;
|
||||||
case ROADTYPES_TRAM:
|
case ROADTYPES_TRAM:
|
||||||
|
@ -508,8 +510,6 @@ CommandCost CmdBuildSingleRail(TileIndex tile, DoCommandFlag flags, uint32 p1, u
|
||||||
|
|
||||||
road |= tram;
|
road |= tram;
|
||||||
|
|
||||||
if ((track == TRACK_X && road == ROAD_Y) ||
|
|
||||||
(track == TRACK_Y && road == ROAD_X)) {
|
|
||||||
if (flags & DC_EXEC) {
|
if (flags & DC_EXEC) {
|
||||||
MakeRoadCrossing(tile, GetRoadOwner(tile, ROADTYPE_ROAD), GetRoadOwner(tile, ROADTYPE_TRAM), _current_company, (track == TRACK_X ? AXIS_Y : AXIS_X), railtype, roadtypes, GetTownIndex(tile));
|
MakeRoadCrossing(tile, GetRoadOwner(tile, ROADTYPE_ROAD), GetRoadOwner(tile, ROADTYPE_TRAM), _current_company, (track == TRACK_X ? AXIS_Y : AXIS_X), railtype, roadtypes, GetTownIndex(tile));
|
||||||
UpdateLevelCrossing(tile, false);
|
UpdateLevelCrossing(tile, false);
|
||||||
|
|
Loading…
Reference in New Issue