(svn r12163) -Fix [FS#1705]: if a train is 'stopping' when entering a depot, do not let it leave again

This commit is contained in:
smatz 2008-02-16 22:29:30 +00:00
parent ebe03109ad
commit 13781ec11b
1 changed files with 4 additions and 2 deletions

View File

@ -613,8 +613,10 @@ static Vehicle* _first_veh_in_depot_list;
*/ */
void VehicleEnteredDepotThisTick(Vehicle *v) void VehicleEnteredDepotThisTick(Vehicle *v)
{ {
/* we need to set v->leave_depot_instantly as we have no control of it's contents at this time */ /* We need to set v->leave_depot_instantly as we have no control of it's contents at this time.
if (HasBit(v->current_order.flags, OF_HALT_IN_DEPOT) && !HasBit(v->current_order.flags, OF_PART_OF_ORDERS) && v->current_order.type == OT_GOTO_DEPOT) { * Vehicle should stop in the depot if it was in 'stopping' state - train intered depot while slowing down. */
if ((HasBit(v->current_order.flags, OF_HALT_IN_DEPOT) && !HasBit(v->current_order.flags, OF_PART_OF_ORDERS) && v->current_order.type == OT_GOTO_DEPOT) ||
(v->vehstatus & VS_STOPPED)) {
/* we keep the vehicle in the depot since the user ordered it to stay */ /* we keep the vehicle in the depot since the user ordered it to stay */
v->leave_depot_instantly = false; v->leave_depot_instantly = false;
} else { } else {