diff options
author | bjarni <bjarni@openttd.org> | 2007-09-05 09:31:15 +0000 |
---|---|---|
committer | bjarni <bjarni@openttd.org> | 2007-09-05 09:31:15 +0000 |
commit | 1028e2dc91d16bbaf837c74736968e52e3984f99 (patch) | |
tree | aadd9e10ab0ed6f92f50cc4280be6b3d044b6adc /src | |
parent | 75bc407c461dd6b13e239f3b3d04d29d87f91e2e (diff) | |
download | openttd-1028e2dc91d16bbaf837c74736968e52e3984f99.tar.xz |
(svn r11044) -Fix (r11043): [autoreplace] a proper fix should cover all cases, not just the one mentioned in the bug report
Certain dualheaded/articulated consists could still trigger this issue
Diffstat (limited to 'src')
-rw-r--r-- | src/autoreplace_cmd.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/autoreplace_cmd.cpp b/src/autoreplace_cmd.cpp index 3d939eaee..004d4627e 100644 --- a/src/autoreplace_cmd.cpp +++ b/src/autoreplace_cmd.cpp @@ -249,7 +249,8 @@ static CommandCost ReplaceVehicle(Vehicle **w, byte flags, Money total_cost) CommandCost tmp_move; if (old_v->type == VEH_TRAIN && IsFrontEngine(old_v)) { - Vehicle *next_veh = IsMultiheaded(old_v) ? old_v->Next()->Next() : old_v->Next(); + Vehicle *next_veh = GetNextVehicle(old_v); + if (IsMultiheaded(next_veh) && !IsTrainEngine(next_veh)) next_veh = next_veh->Next(); // don't try to move the rear multiheaded engine if (next_veh != NULL) { /* Verify that the wagons can be placed on the engine in question. * This is done by building an engine, test if the wagons can be added and then sell the test engine. */ |