From 2af2a498875ceeb00021b1f0b2e7fb1dea69f5df Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Mon, 20 Mar 2017 19:16:32 +0000 Subject: [PATCH] Revert "(svn r27811) -Change: Remove unused parameters in FreeTrainTrackReservation" This reverts commit 166e504c13a2684e3517750fbf91299397e605b7. These parameters are used for tracerestrict functionality. --- src/train.h | 2 +- src/train_cmd.cpp | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/train.h b/src/train.h index c40ab75560..82e33b67d9 100644 --- a/src/train.h +++ b/src/train.h @@ -61,7 +61,7 @@ byte FreightWagonMult(CargoID cargo); void CheckTrainsLengths(); -void FreeTrainTrackReservation(const Train *v); +void FreeTrainTrackReservation(const Train *v, TileIndex origin = INVALID_TILE, Trackdir orig_td = INVALID_TRACKDIR); bool TryPathReserve(Train *v, bool mark_as_stuck = false, bool first_tile_okay = false); int GetTrainStopLocation(StationID station_id, TileIndex tile, const Train *v, int *station_ahead, int *station_length); diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index e2fea096c7..00d57738a8 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -2256,14 +2256,16 @@ static void ClearPathReservation(const Train *v, TileIndex tile, Trackdir track_ /** * Free the reserved path in front of a vehicle. * @param v %Train owning the reserved path. + * @param origin %Tile to start clearing (if #INVALID_TILE, use the current tile of \a v). + * @param orig_td Track direction (if #INVALID_TRACKDIR, use the track direction of \a v). */ -void FreeTrainTrackReservation(const Train *v) +void FreeTrainTrackReservation(const Train *v, TileIndex origin, Trackdir orig_td) { assert(v->IsFrontEngine()); - TileIndex tile = v->tile; - Trackdir td = v->GetVehicleTrackdir(); - bool free_tile = !(IsRailStationTile(v->tile) || IsTileType(v->tile, MP_TUNNELBRIDGE)); + TileIndex tile = origin != INVALID_TILE ? origin : v->tile; + Trackdir td = orig_td != INVALID_TRACKDIR ? orig_td : v->GetVehicleTrackdir(); + bool free_tile = tile != v->tile || !(IsRailStationTile(v->tile) || IsTileType(v->tile, MP_TUNNELBRIDGE)); StationID station_id = IsRailStationTile(v->tile) ? GetStationIndex(v->tile) : INVALID_STATION; /* Can't be holding a reservation if we enter a depot. */