diff options
author | rubidium <rubidium@openttd.org> | 2009-07-01 09:50:52 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-07-01 09:50:52 +0000 |
commit | 3884221a94babd6f2a4c88f0a8038d28325bb08a (patch) | |
tree | d9754b7a25ffb805bc370755a017453ea9581504 | |
parent | 8e804a4b6c694c75e6dca6d529332541776c73cb (diff) | |
download | openttd-3884221a94babd6f2a4c88f0a8038d28325bb08a.tar.xz |
(svn r16707) -Fix [FS#3007] (r16693): under some circumstances vehicles would skip loading as they thought nothing could be unloaded or loaded.
-rw-r--r-- | src/economy.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/economy.cpp b/src/economy.cpp index b313c89a6..0891e1bd9 100644 --- a/src/economy.cpp +++ b/src/economy.cpp @@ -1337,8 +1337,14 @@ static void LoadUnloadVehicle(Vehicle *v, int *cargo_left) result |= 2; } else if (!accepted) { /* The order changed while unloading (unset unload/transfer) or the - * station does not accept goods anymore. */ + * station does not accept our goods. */ ClrBit(v->vehicle_flags, VF_CARGO_UNLOADING); + + /* Say we loaded something, otherwise we'll think we didn't unload + * something and we didn't load something, so we must be finished + * at this station. Setting the unloaded means that we will get a + * retry for loading in the next cycle. */ + anything_unloaded = true; continue; } |