diff --git a/src/fios.h b/src/fios.h index 78e3c1a1ce..b5fb0ffcd7 100644 --- a/src/fios.h +++ b/src/fios.h @@ -41,6 +41,7 @@ struct LoadCheckData { CompanyPropertiesMap companies; ///< Company information. GRFConfig *grfconfig; ///< NewGrf configuration from save. + bool want_grf_compatibility = true; GRFListCompatibility grf_compatibility; ///< Summary state of NewGrfs, whether missing files or only compatible found. struct LoggedAction *gamelog_action; ///< Gamelog actions diff --git a/src/openttd.cpp b/src/openttd.cpp index 0ffed11538..ce902da30f 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -786,6 +786,7 @@ int openttd_main(int argc, char *argv[]) _load_check_data.Clear(); if (i == 'K') _load_check_data.want_debug_data = true; + _load_check_data.want_grf_compatibility = false; SaveOrLoadResult res = SaveOrLoad(mgo.opt, SLO_CHECK, DFT_GAME_FILE, SAVE_DIR, false); if (res != SL_OK || _load_check_data.HasErrors()) { fprintf(stderr, "Failed to open savegame\n"); diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp index 7c2f70aed1..f27e2684e1 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -3290,7 +3290,7 @@ static SaveOrLoadResult DoLoad(LoadFilter *reader, bool load_check) if (load_check) { /* The only part from AfterLoadGame() we need */ - _load_check_data.grf_compatibility = IsGoodGRFConfigList(_load_check_data.grfconfig); + if (_load_check_data.want_grf_compatibility) _load_check_data.grf_compatibility = IsGoodGRFConfigList(_load_check_data.grfconfig); } else { GamelogStartAction(GLAT_LOAD);