diff options
author | rubidium <rubidium@openttd.org> | 2008-08-02 22:57:03 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2008-08-02 22:57:03 +0000 |
commit | 88b1ee0b436e0c8590ea4803d168b8c953018fa4 (patch) | |
tree | 109a88baeefba47c5aa317c3e219ea77bceebf2d /src/pbs.cpp | |
parent | 1e2c61360b0d5217947630334b4f8a5bba1243f3 (diff) | |
download | openttd-88b1ee0b436e0c8590ea4803d168b8c953018fa4.tar.xz |
(svn r13965) -Add [YAPP]: Implement newgrf var 0x44 for stations (PBS reservation state). (michi_cc)
Diffstat (limited to 'src/pbs.cpp')
-rw-r--r-- | src/pbs.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/pbs.cpp b/src/pbs.cpp index 12e54d7f4..04b956fbd 100644 --- a/src/pbs.cpp +++ b/src/pbs.cpp @@ -66,7 +66,7 @@ void SetRailwayStationPlatformReservation(TileIndex start, DiagDirection dir, bo do { SetRailwayStationReservation(tile, b); - if (_settings_client.gui.show_track_reservation) MarkTileDirtyByTile(tile); + MarkTileDirtyByTile(tile); tile = TILE_ADD(tile, diff); } while (IsCompatibleTrainStationTile(tile, start)); } @@ -92,6 +92,7 @@ bool TryReserveRailTrack(TileIndex tile, Track t) if (IsRailWaypoint(tile) || IsRailDepot(tile)) { if (!GetDepotWaypointReservation(tile)) { SetDepotWaypointReservation(tile, true); + MarkTileDirtyByTile(tile); return true; } } @@ -107,6 +108,7 @@ bool TryReserveRailTrack(TileIndex tile, Track t) case MP_STATION: if (IsRailwayStation(tile) && !GetRailwayStationReservation(tile)) { SetRailwayStationReservation(tile, true); + MarkTileDirtyByTile(tile); return true; } break; @@ -139,7 +141,10 @@ bool TryReserveRailTrack(TileIndex tile, Track t) switch (GetTileType(tile)) { case MP_RAILWAY: - if (IsRailWaypoint(tile) || IsRailDepot(tile)) SetDepotWaypointReservation(tile, false); + if (IsRailWaypoint(tile) || IsRailDepot(tile)) { + SetDepotWaypointReservation(tile, false); + MarkTileDirtyByTile(tile); + } if (IsPlainRailTile(tile)) UnreserveTrack(tile, t); break; @@ -148,7 +153,10 @@ bool TryReserveRailTrack(TileIndex tile, Track t) break; case MP_STATION: - if (IsRailwayStation(tile)) SetRailwayStationReservation(tile, false); + if (IsRailwayStation(tile)) { + SetRailwayStationReservation(tile, false); + MarkTileDirtyByTile(tile); + } break; case MP_TUNNELBRIDGE: |