From 17d949980fb94cf08c6314a3b3898e55676622e2 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Wed, 15 Dec 2021 17:50:40 +0000 Subject: [PATCH] Fix assert fail when building virtual train from engine with invalid cargo --- src/articulated_vehicles.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/articulated_vehicles.cpp b/src/articulated_vehicles.cpp index 4142da8e46..2e8c827831 100644 --- a/src/articulated_vehicles.cpp +++ b/src/articulated_vehicles.cpp @@ -358,8 +358,10 @@ void CheckConsistencyOfArticulatedVehicle(const Vehicle *v) real_refit_union |= refit_mask; if (refit_mask != 0) real_refit_intersection &= refit_mask; - assert(v->cargo_type < NUM_CARGO); - real_default_capacity[v->cargo_type] += v->cargo_cap; + assert(v->cargo_type < NUM_CARGO || (v->type == VEH_TRAIN && Train::From(v)->IsVirtual())); + if (v->cargo_type < NUM_CARGO) { + real_default_capacity[v->cargo_type] += v->cargo_cap; + } v = v->HasArticulatedPart() ? v->GetNextArticulatedPart() : nullptr; } while (v != nullptr);