summaryrefslogtreecommitdiff
path: root/src/vehicle.cpp
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2011-04-16 17:06:59 +0000
committerfrosch <frosch@openttd.org>2011-04-16 17:06:59 +0000
commit8dd2f413bd896983df15f7fe1d5cf019cfb0184e (patch)
treeecc2da367fc4e9fa5f0be121c5e6cde7f90c0798 /src/vehicle.cpp
parent181fd5e3ab4cf83514f3859bffa4b97f14398c74 (diff)
downloadopenttd-8dd2f413bd896983df15f7fe1d5cf019cfb0184e.tar.xz
(svn r22331) -Change: When inserting an (automatic) order A in front of an order B, disable modifications of automatic orders for all vehicles currently heading for B as we do not know whether they will reach A or B first. (except for the vehicle causing the insertion of the automatic order itself)
Diffstat (limited to 'src/vehicle.cpp')
-rw-r--r--src/vehicle.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/vehicle.cpp b/src/vehicle.cpp
index 66e858107..8d3aac139 100644
--- a/src/vehicle.cpp
+++ b/src/vehicle.cpp
@@ -1870,6 +1870,11 @@ void Vehicle::BeginLoading()
auto_order->MakeAutomatic(this->last_station_visited);
InsertOrder(this, auto_order, this->cur_auto_order_index);
if (this->cur_auto_order_index > 0) --this->cur_auto_order_index;
+
+ /* InsertOrder disabled creation of automatic orders for all vehicles with the same automatic order.
+ * Reenable it for this vehicle */
+ uint16 &gv_flags = this->GetGroundVehicleFlags();
+ ClrBit(gv_flags, GVF_SUPPRESS_AUTOMATIC_ORDERS);
}
this->current_order.MakeLoading(false);
}