diff --git a/src/cargotype.h b/src/cargotype.h --- a/src/cargotype.h +++ b/src/cargotype.h @@ -175,6 +175,7 @@ private: static CargoSpec array[NUM_CARGO]; ///< Array holding all CargoSpecs friend void SetupCargoForClimate(LandscapeID l); + friend void FinaliseCargoArray(); }; extern CargoTypes _cargo_mask; diff --git a/src/newgrf.cpp b/src/newgrf.cpp --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -9174,13 +9174,13 @@ static void FinaliseEngineArray() } /** Check for invalid cargoes */ -static void FinaliseCargoArray() -{ - for (CargoSpec *cs : CargoSpec::Iterate()) { - if (!cs->IsValid()) { - cs->name = cs->name_single = cs->units_volume = STR_NEWGRF_INVALID_CARGO; - cs->quantifier = STR_NEWGRF_INVALID_CARGO_QUANTITY; - cs->abbrev = STR_NEWGRF_INVALID_CARGO_ABBREV; +void FinaliseCargoArray() +{ + for (CargoSpec &cs : CargoSpec::array) { + if (!cs.IsValid()) { + cs.name = cs.name_single = cs.units_volume = STR_NEWGRF_INVALID_CARGO; + cs.quantifier = STR_NEWGRF_INVALID_CARGO_QUANTITY; + cs.abbrev = STR_NEWGRF_INVALID_CARGO_ABBREV; } } }