0x004BA142 returns false when loaded
| 3488 | |
| 3489 | // 0x004BA142 returns false when loaded |
| 3490 | bool VehicleHead::updateLoadCargo() |
| 3491 | { |
| 3492 | if (cargoTransferTimeout != 0) |
| 3493 | { |
| 3494 | cargoTransferTimeout--; |
| 3495 | return true; |
| 3496 | } |
| 3497 | |
| 3498 | Vehicle train(head); |
| 3499 | for (auto& car : train.cars) |
| 3500 | { |
| 3501 | for (auto& carComponent : car) |
| 3502 | { |
| 3503 | if (carComponent.front->hasBreakdownFlags(BreakdownFlags::awaitingCargoTransfer)) |
| 3504 | { |
| 3505 | carComponent.front->breakdownFlags &= ~BreakdownFlags::awaitingCargoTransfer; |
| 3506 | if (carComponent.front->secondaryCargo.type == 0xFF) |
| 3507 | { |
| 3508 | return true; |
| 3509 | } |
| 3510 | updateLoadCargoComponent(carComponent.front->secondaryCargo, carComponent.front); |
| 3511 | return true; |
| 3512 | } |
| 3513 | else if (carComponent.back->hasBreakdownFlags(BreakdownFlags::awaitingCargoTransfer)) |
| 3514 | { |
| 3515 | carComponent.back->breakdownFlags &= ~BreakdownFlags::awaitingCargoTransfer; |
| 3516 | return true; |
| 3517 | } |
| 3518 | else if (carComponent.body->hasBreakdownFlags(BreakdownFlags::awaitingCargoTransfer)) |
| 3519 | { |
| 3520 | carComponent.body->breakdownFlags &= ~BreakdownFlags::awaitingCargoTransfer; |
| 3521 | if (carComponent.body->primaryCargo.type == 0xFF) |
| 3522 | { |
| 3523 | return true; |
| 3524 | } |
| 3525 | if (updateLoadCargoComponent(carComponent.body->primaryCargo, carComponent.back)) |
| 3526 | { |
| 3527 | carComponent.body->updateCargoSprite(); |
| 3528 | } |
| 3529 | return true; |
| 3530 | } |
| 3531 | } |
| 3532 | } |
| 3533 | |
| 3534 | auto orders = getCurrentOrders(); |
| 3535 | for (auto& order : orders) |
| 3536 | { |
| 3537 | if (!order.hasFlags(OrderFlags::HasCargo)) |
| 3538 | { |
| 3539 | currentOrder = order.getOffset() - orderTableOffset; |
| 3540 | Ui::WindowManager::invalidateOrderPageByVehicleNumber(enumValue(id)); |
| 3541 | break; |
| 3542 | } |
| 3543 | auto* waitFor = order.as<OrderWaitFor>(); |
| 3544 | if (waitFor == nullptr) |
| 3545 | { |
| 3546 | continue; |
| 3547 | } |
nothing calls this directly
no test coverage detected