mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-04 06:00:15 +00:00
(svn r18473) -Fix (r18470): crash when moving a multiheaded part to be just after itself
This commit is contained in:
parent
9eaf5edb53
commit
54852d9a13
@ -1368,9 +1368,12 @@ CommandCost CmdMoveRailVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1, u
|
|||||||
|
|
||||||
if (src->IsRearDualheaded()) return_cmd_error(STR_ERROR_REAR_ENGINE_FOLLOW_FRONT);
|
if (src->IsRearDualheaded()) return_cmd_error(STR_ERROR_REAR_ENGINE_FOLLOW_FRONT);
|
||||||
|
|
||||||
/* when moving all wagons, we can't have the same src_head and dst_head */
|
/* When moving all wagons, we can't have the same src_head and dst_head */
|
||||||
if (move_chain && src_head == dst_head) return CommandCost();
|
if (move_chain && src_head == dst_head) return CommandCost();
|
||||||
|
|
||||||
|
/* When moving a multiheaded part to be place after itself, bail out. */
|
||||||
|
if (!move_chain && dst->IsRearDualheaded() && src == dst->other_multiheaded_part) return CommandCost();
|
||||||
|
|
||||||
/* Check if all vehicles in the source train are stopped inside a depot. */
|
/* Check if all vehicles in the source train are stopped inside a depot. */
|
||||||
if (!src_head->IsStoppedInDepot()) return_cmd_error(STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT);
|
if (!src_head->IsStoppedInDepot()) return_cmd_error(STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user