From beee5698f96011fa6b08ee675d41ed06e893b654 Mon Sep 17 00:00:00 2001 From: Darkvater Date: Sat, 18 Mar 2006 15:49:00 +0000 Subject: [PATCH] (svn r3964) -Fix: [autoreplace]: (FS#67) autoreplacing trains now keep their tile length instead of their pixel length. Backport of r3811 from trunk --- vehicle.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/vehicle.c b/vehicle.c index dfd52f24cf..eab59a68c2 100644 --- a/vehicle.c +++ b/vehicle.c @@ -1713,8 +1713,11 @@ static void MaybeReplaceVehicle(Vehicle *v) bool stopped = false; /* Remember the length in case we need to trim train later on - * If it's not a train, the value is unused */ - uint16 old_total_length = (v->type == VEH_Train) ? v->u.rail.cached_total_length : -1; + * If it's not a train, the value is unused + * round up to the length of the tiles used for the train instead of the train length instead + * Useful when newGRF uses custom length */ + uint16 old_total_length = (v->type == VEH_Train) ? ((v->u.rail.cached_total_length + 15 )/ 16)* 16 : -1; + _current_player = v->owner;