diff options
author | frosch <frosch@openttd.org> | 2011-04-15 19:03:55 +0000 |
---|---|---|
committer | frosch <frosch@openttd.org> | 2011-04-15 19:03:55 +0000 |
commit | 5eafcd8de69bad1d80609e84828c3de2bce38d24 (patch) | |
tree | a9c21818ee2352000d2b89d04c578effde90503d /src/vehicle.cpp | |
parent | 2cbffe0423fd4348939a81e9892d626e9444c0a9 (diff) | |
download | openttd-5eafcd8de69bad1d80609e84828c3de2bce38d24.tar.xz |
(svn r22324) -Fix: Vehicles skipped orders when inserting automatic orders failed.
Diffstat (limited to 'src/vehicle.cpp')
-rw-r--r-- | src/vehicle.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/vehicle.cpp b/src/vehicle.cpp index e3ffbbc91..f4f38bd9c 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -1919,6 +1919,13 @@ void Vehicle::HandleLoading(bool mode) this->LeaveStation(); + /* Only advance to next order if we just loaded at the current one */ + const Order *order = this->GetOrder(this->cur_auto_order_index); + if (order == NULL || + (!order->IsType(OT_AUTOMATIC) && !order->IsType(OT_GOTO_STATION)) || + order->GetDestination() != this->last_station_visited) { + return; + } break; } |