summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-07-01 09:50:52 +0000
committerrubidium <rubidium@openttd.org>2009-07-01 09:50:52 +0000
commit3884221a94babd6f2a4c88f0a8038d28325bb08a (patch)
treed9754b7a25ffb805bc370755a017453ea9581504 /src
parent8e804a4b6c694c75e6dca6d529332541776c73cb (diff)
downloadopenttd-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.
Diffstat (limited to 'src')
-rw-r--r--src/economy.cpp8
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;
}