0x004AF4D6 source: esi dest: edi returns nothing
| 857 | // dest: edi |
| 858 | // returns nothing |
| 859 | void insertCarBefore(VehicleBogie& source, VehicleBase& dest) |
| 860 | { |
| 861 | if (source.id == dest.id) |
| 862 | { |
| 863 | return; |
| 864 | } |
| 865 | Ui::WindowManager::invalidate(Ui::WindowType::vehicle, enumValue(source.head)); |
| 866 | Ui::WindowManager::invalidate(Ui::WindowType::vehicle, enumValue(dest.getHead())); |
| 867 | Ui::WindowManager::invalidate(Ui::WindowType::vehicleList); |
| 868 | |
| 869 | Vehicle sourceTrain(source.head); |
| 870 | auto precedingSourceComponent = source.previousVehicleComponent(); |
| 871 | for (auto& car : sourceTrain.cars) |
| 872 | { |
| 873 | if (car.front->id != source.id) |
| 874 | { |
| 875 | continue; |
| 876 | } |
| 877 | auto* lastBody = car.body; |
| 878 | for (auto& component : car) |
| 879 | { |
| 880 | component.front->head = dest.getHead(); |
| 881 | component.back->head = dest.getHead(); |
| 882 | component.body->head = dest.getHead(); |
| 883 | lastBody = component.body; |
| 884 | } |
| 885 | precedingSourceComponent->setNextCar(lastBody->nextCarId); |
| 886 | lastBody->nextCarId = dest.id; |
| 887 | break; |
| 888 | } |
| 889 | auto precedingDestComponent = dest.previousVehicleComponent(); |
| 890 | precedingDestComponent->setNextCar(source.id); |
| 891 | } |
| 892 | |
| 893 | // 0x004AF5E1 |
| 894 | // esi: head |
no test coverage detected