(svn r27311) -Fix: Mark infrastructure window dirty in more cases. (marcole)
This commit is contained in:
@@ -384,7 +384,10 @@ static CommandCost RemoveRoad(TileIndex tile, DoCommandFlag flags, RoadBits piec
|
|||||||
/* Update rail count for level crossings. The plain track should still be accounted
|
/* Update rail count for level crossings. The plain track should still be accounted
|
||||||
* for, so only subtract the difference to the level crossing cost. */
|
* for, so only subtract the difference to the level crossing cost. */
|
||||||
c = Company::GetIfValid(GetTileOwner(tile));
|
c = Company::GetIfValid(GetTileOwner(tile));
|
||||||
if (c != NULL) c->infrastructure.rail[GetRailType(tile)] -= LEVELCROSSING_TRACKBIT_FACTOR - 1;
|
if (c != NULL) {
|
||||||
|
c->infrastructure.rail[GetRailType(tile)] -= LEVELCROSSING_TRACKBIT_FACTOR - 1;
|
||||||
|
DirtyCompanyInfrastructureWindows(c->index);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
SetRoadTypes(tile, rts);
|
SetRoadTypes(tile, rts);
|
||||||
}
|
}
|
||||||
@@ -638,7 +641,10 @@ CommandCost CmdBuildRoad(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
|
|||||||
/* Update rail count for level crossings. The plain track is already
|
/* Update rail count for level crossings. The plain track is already
|
||||||
* counted, so only add the difference to the level crossing cost. */
|
* counted, so only add the difference to the level crossing cost. */
|
||||||
c = Company::GetIfValid(GetTileOwner(tile));
|
c = Company::GetIfValid(GetTileOwner(tile));
|
||||||
if (c != NULL) c->infrastructure.rail[GetRailType(tile)] += LEVELCROSSING_TRACKBIT_FACTOR - 1;
|
if (c != NULL) {
|
||||||
|
c->infrastructure.rail[GetRailType(tile)] += LEVELCROSSING_TRACKBIT_FACTOR - 1;
|
||||||
|
DirtyCompanyInfrastructureWindows(c->index);
|
||||||
|
}
|
||||||
|
|
||||||
/* Always add road to the roadtypes (can't draw without it) */
|
/* Always add road to the roadtypes (can't draw without it) */
|
||||||
bool reserved = HasBit(GetRailReservationTrackBits(tile), railtrack);
|
bool reserved = HasBit(GetRailReservationTrackBits(tile), railtrack);
|
||||||
|
@@ -1957,6 +1957,7 @@ static CommandCost RemoveRoadStop(TileIndex tile, DoCommandFlag flags)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Company::Get(st->owner)->infrastructure.station--;
|
Company::Get(st->owner)->infrastructure.station--;
|
||||||
|
DirtyCompanyInfrastructureWindows(st->owner);
|
||||||
|
|
||||||
if (IsDriveThroughStopTile(tile)) {
|
if (IsDriveThroughStopTile(tile)) {
|
||||||
/* Clears the tile for us */
|
/* Clears the tile for us */
|
||||||
|
Reference in New Issue
Block a user