changeset 14106:4b9804ff406b draft

(svn r18653) -Fix [FS#3442]: when trying to attach a wagon to an existing free wagon chain, don't attach it to itself
author rubidium <rubidium@openttd.org>
date Mon, 28 Dec 2009 18:26:39 +0000
parents 14b88fb5751d
children d0f281d589ff
files src/train_cmd.cpp
diffstat 1 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/train_cmd.cpp
+++ b/src/train_cmd.cpp
@@ -765,10 +765,11 @@
 		/* Try to connect the vehicle to one of free chains of wagons. */
 		Train *w;
 		FOR_ALL_TRAINS(w) {
-			/* do not connect new wagon with crashed/flooded consists */
-			if (w->tile == tile && w->IsFreeWagon() &&
-					w->engine_type == engine &&
-					!(w->vehstatus & VS_CRASHED)) {
+			if (w->tile == tile &&              ///< Same depot
+					w->IsFreeWagon() &&             ///< A free wagon chain
+					w->engine_type == engine &&     ///< Same type
+					w->First() != v &&              ///< Don't connect to ourself
+					!(w->vehstatus & VS_CRASHED)) { ///< Not crashed/flooded
 				DoCommand(0, v->index | (w->Last()->index << 16), 1, DC_EXEC, CMD_MOVE_RAIL_VEHICLE);
 				break;
 			}