summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lang/english.txt1
-rw-r--r--src/newgrf.cpp9
2 files changed, 9 insertions, 1 deletions
diff --git a/src/lang/english.txt b/src/lang/english.txt
index d3ce0072e..461eef9f3 100644
--- a/src/lang/english.txt
+++ b/src/lang/english.txt
@@ -3216,6 +3216,7 @@ STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{SKIP}{STRING1}
STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :the GRF file it was designed to translate
STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Too many NewGRFs are loaded.
STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Loading {RAW_STRING} as static NewGRF with {RAW_STRING} could cause desyncs.
+STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Unexpected sprite.
STR_NEWGRF_PRESET_LIST_TIP :{BLACK}Load the selected preset
STR_NEWGRF_PRESET_SAVE :{BLACK}Save preset
diff --git a/src/newgrf.cpp b/src/newgrf.cpp
index 2fc15c06a..35c604bb6 100644
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -5918,7 +5918,14 @@ void LoadNewGRFFile(GRFConfig *config, uint file_index, GrfLoadingStage stage)
FioSkipBytes(num);
}
} else {
- if (_skip_sprites == 0) grfmsg(7, "LoadNewGRFFile: Skipping unexpected sprite");
+ if (_skip_sprites == 0) {
+ grfmsg(0, "LoadNewGRFFile: Unexpected sprite, disabling");
+ config->status = GCS_DISABLED;
+ config->error = CallocT<GRFError>(1);
+ config->error->severity = STR_NEWGRF_ERROR_MSG_FATAL;
+ config->error->message = STR_NEWGRF_ERROR_UNEXPECTED_SPRITE;
+ break;
+ }
FioSkipBytes(7);
num -= 8;