diff -r 9825c7a74648 -r 32b885de2410 src/train_cmd.cpp --- a/src/train_cmd.cpp Wed Sep 05 09:31:15 2007 +0000 +++ b/src/train_cmd.cpp Wed Sep 05 10:15:23 2007 +0000 @@ -798,7 +798,7 @@ * engines with more articulated parts than before works correctly. * * Also skip counting rear ends of multiheaded engines */ - if (!IsArticulatedPart(v) && !(!IsTrainEngine(v) && IsMultiheaded(v))) count++; + if (!IsArticulatedPart(v) && !IsRearDualheaded(v)) count++; if (v->u.rail.track != TRACK_BIT_DEPOT || v->tile != tile || (IsFrontEngine(v) && needs_to_be_stopped && !(v->vehstatus & VS_STOPPED))) { return -1; @@ -953,7 +953,7 @@ dst_head = NULL; } - if (IsMultiheaded(src) && !IsTrainEngine(src)) return_cmd_error(STR_REAR_ENGINE_FOLLOW_FRONT_ERROR); + if (IsRearDualheaded(src)) return_cmd_error(STR_REAR_ENGINE_FOLLOW_FRONT_ERROR); /* when moving all wagons, we can't have the same src_head and dst_head */ if (HASBIT(p2, 0) && src_head == dst_head) return CommandCost(); @@ -1221,7 +1221,7 @@ return_cmd_error(STR_881A_TRAINS_CAN_ONLY_BE_ALTERED); } - if (IsMultiheaded(v) && !IsTrainEngine(v)) return_cmd_error(STR_REAR_ENGINE_FOLLOW_FRONT_ERROR); + if (IsRearDualheaded(v)) return_cmd_error(STR_REAR_ENGINE_FOLLOW_FRONT_ERROR); if (flags & DC_EXEC) { if (v == first && IsFrontEngine(first)) {