From 3c85689b72da74f4e6dd1a53d45c1ccf57ba42a7 Mon Sep 17 00:00:00 2001 From: frosch Date: Sun, 22 Jan 2012 15:53:17 +0000 Subject: [PATCH] (svn r23836) -Fix (r23145): If a vehicle is not refittable to any cargo in the CTT, then pick the first refittable cargoslot. --- src/newgrf.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 8809330740..1ff37d3fd7 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -8185,10 +8185,7 @@ static void CalculateRefitMasks() /* Check if this engine's cargo type is valid. If not, set to the first refittable * cargo type. Finally disable the vehicle, if there is still no cargo. */ if (ei->cargo_type == CT_INVALID && ei->refit_mask != 0) { - if (cargo_map_for_first_refittable == NULL) { - /* Use first refittable cargo slot */ - ei->cargo_type = (CargoID)FindFirstBit(ei->refit_mask); - } else { + if (cargo_map_for_first_refittable != NULL) { /* Use first refittable cargo from cargo translation table */ byte best_local_slot = 0xFF; CargoID cargo_type; @@ -8200,6 +8197,11 @@ static void CalculateRefitMasks() } } } + + if (ei->cargo_type == CT_INVALID) { + /* Use first refittable cargo slot */ + ei->cargo_type = (CargoID)FindFirstBit(ei->refit_mask); + } } if (ei->cargo_type == CT_INVALID) ei->climates = 0;