mirror of https://github.com/OpenTTD/OpenTTD
Fix: Train unit ID allocation when moving engine to new train at train limit (#12887)
parent
4cddb3a38d
commit
88110e9b2e
|
@ -1346,14 +1346,15 @@ CommandCost CmdMoveRailVehicle(DoCommandFlag flags, VehicleID src_veh, VehicleID
|
||||||
SetWindowDirty(WC_COMPANY, _current_company);
|
SetWindowDirty(WC_COMPANY, _current_company);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add new heads to statistics */
|
|
||||||
if (src_head != nullptr && src_head->IsFrontEngine()) GroupStatistics::CountVehicle(src_head, 1);
|
|
||||||
if (dst_head != nullptr && dst_head->IsFrontEngine()) GroupStatistics::CountVehicle(dst_head, 1);
|
|
||||||
|
|
||||||
/* Handle 'new engine' part of cases #1b, #2b, #3b, #4b and #5 in NormaliseTrainHead. */
|
/* Handle 'new engine' part of cases #1b, #2b, #3b, #4b and #5 in NormaliseTrainHead. */
|
||||||
NormaliseTrainHead(src_head);
|
NormaliseTrainHead(src_head);
|
||||||
NormaliseTrainHead(dst_head);
|
NormaliseTrainHead(dst_head);
|
||||||
|
|
||||||
|
/* Add new heads to statistics.
|
||||||
|
* This should be done after NormaliseTrainHead due to engine total limit checks in GetFreeUnitNumber. */
|
||||||
|
if (src_head != nullptr && src_head->IsFrontEngine()) GroupStatistics::CountVehicle(src_head, 1);
|
||||||
|
if (dst_head != nullptr && dst_head->IsFrontEngine()) GroupStatistics::CountVehicle(dst_head, 1);
|
||||||
|
|
||||||
if ((flags & DC_NO_CARGO_CAP_CHECK) == 0) {
|
if ((flags & DC_NO_CARGO_CAP_CHECK) == 0) {
|
||||||
CheckCargoCapacity(src_head);
|
CheckCargoCapacity(src_head);
|
||||||
CheckCargoCapacity(dst_head);
|
CheckCargoCapacity(dst_head);
|
||||||
|
|
Loading…
Reference in New Issue