diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 35090474ff..9b2aafce2e 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -5545,7 +5545,7 @@ void LoadNewGRF(uint load_index, uint file_index) /* Load newgrf sprites * in each loading stage, (try to) open each file specified in the config * and load information from it. */ - for (GrfLoadingStage stage = GLS_LABELSCAN; stage < GLS_ACTIVATION; stage++) { + for (GrfLoadingStage stage = GLS_LABELSCAN; stage <= GLS_ACTIVATION; stage++) { uint slot = file_index; _cur_stage = stage; @@ -5558,17 +5558,13 @@ void LoadNewGRF(uint load_index, uint file_index) if (!FioCheckFileExists(c->filename)) error("NewGRF file is missing '%s'", c->filename); if (stage == GLS_LABELSCAN) InitNewGRFFile(c, _cur_spriteid); - LoadNewGRFFile(c, slot, stage); + LoadNewGRFFile(c, slot++, stage); if (stage == GLS_RESERVE) { if (c->status == GCS_ACTIVATED) c->status = GCS_INITIALISED; - _cur_stage = GLS_ACTIVATION; - LoadNewGRFFile(c, slot++, GLS_ACTIVATION); - _cur_stage = stage; + } else if (stage == GLS_ACTIVATION) { ClearTemporaryNewGRFData(); BuildCargoTranslationMap(); DEBUG(sprite, 2, "LoadNewGRF: Currently %i sprites are loaded", _cur_spriteid); - } else { - slot++; } } }