(svn r17363) -Fix [FS#3163] (r16717): feed autoreplace the front of vehicles, otherwise it gets distracted and bails out

This commit is contained in:
rubidium
2009-09-01 21:54:59 +00:00
parent ef5a0a3ae4
commit 6b2ff71e2c
3 changed files with 5 additions and 4 deletions

View File

@@ -954,6 +954,9 @@ uint8 CalcPercentVehicleFilled(const Vehicle *v, StringID *colour)
void VehicleEnterDepot(Vehicle *v)
{
/* Always work with the front of the vehicle */
assert(v == v->First());
switch (v->type) {
case VEH_TRAIN: {
Train *t = Train::From(v);
@@ -962,7 +965,6 @@ void VehicleEnterDepot(Vehicle *v)
SetDepotReservation(t->tile, false);
if (_settings_client.gui.show_track_reservation) MarkTileDirtyByTile(t->tile);
if (!t->IsFrontEngine()) t = t->First();
UpdateSignalsOnSegment(t->tile, INVALID_DIAGDIR, t->owner);
t->load_unload_time_rem = 0;
ClrBit(t->flags, VRF_TOGGLE_REVERSE);
@@ -972,7 +974,6 @@ void VehicleEnterDepot(Vehicle *v)
case VEH_ROAD:
InvalidateWindowClasses(WC_ROADVEH_LIST);
if (!RoadVehicle::From(v)->IsRoadVehFront()) v = v->First();
break;
case VEH_SHIP: