From 4697a1f431ddfc82dcfd3790411eef064907eef5 Mon Sep 17 00:00:00 2001 From: rubidium Date: Mon, 28 Dec 2009 18:26:39 +0000 Subject: (svn r18653) -Fix [FS#3442]: when trying to attach a wagon to an existing free wagon chain, don't attach it to itself --- src/train_cmd.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index d2c64bc0a..b30547991 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -765,10 +765,11 @@ static CommandCost CmdBuildRailWagon(EngineID engine, TileIndex tile, DoCommandF /* 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; } -- cgit v1.2.3-70-g09d2