diff options
author | bjarni <bjarni@openttd.org> | 2006-06-08 20:12:07 +0000 |
---|---|---|
committer | bjarni <bjarni@openttd.org> | 2006-06-08 20:12:07 +0000 |
commit | bbe4285a03df965dd38b77224bdf69bf5febaa6c (patch) | |
tree | d3a252953c3bea3e0fb2402dee84252f12a5508b | |
parent | 5ab592667fb5f5eae62b0b7f7c7d3c7997606dea (diff) | |
download | openttd-bbe4285a03df965dd38b77224bdf69bf5febaa6c.tar.xz |
(svn r5175) -Fix: [autoreplace] FS#186 autoreplaced trains can leave all wagons in depot
also fixed a serious typo in peter1138's comments
-rw-r--r-- | train_cmd.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/train_cmd.c b/train_cmd.c index 582aa0530..773a4b55d 100644 --- a/train_cmd.c +++ b/train_cmd.c @@ -839,8 +839,10 @@ int CheckTrainStoppedInDepot(const Vehicle *v) for (; v != NULL; v = v->next) { /* This count is used by the depot code to determine the number of engines * in the consist. Exclude articulated parts so that autoreplacing to - * engines with more articulated parts that before works correctly. */ - if (!IsArticulatedPart(v)) count++; + * engines with more articulated parts that before works correctly. + * + * Also skip counting rear ends of multiheaded engines */ + if (!IsArticulatedPart(v) && !(!IsTrainEngine(v) && IsMultiheaded(v))) count++; if (v->u.rail.track != 0x80 || v->tile != tile || (IsFrontEngine(v) && !(v->vehstatus & VS_STOPPED))) { return -1; |