mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 22:28:56 +00:00
(svn r14979) -Fix: Disable a NewGRF from loading if it contains multiple Action 8s
This commit is contained in:
parent
238c0a5d1f
commit
510e0ce083
@ -3260,6 +3260,7 @@ STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Unexpected spri
|
||||
STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Unknown Action 0 property.
|
||||
STR_NEWGRF_ERROR_INVALID_ID :Attempt to use invalid ID.
|
||||
STR_NEWGRF_ERROR_CORRUPT_SPRITE :{YELLOW}{RAW_STRING} contains a corrupt sprite. All corrupt sprites will be shown as a red question mark (?).
|
||||
STR_NEWGRF_ERROR_MULTIPLE_ACTION_8 :Contains multiple Action 8 entries.
|
||||
|
||||
STR_NEWGRF_PRESET_LIST_TIP :{BLACK}Load the selected preset
|
||||
STR_NEWGRF_PRESET_SAVE :{BLACK}Save preset
|
||||
|
@ -4140,6 +4140,16 @@ static void GRFInfo(byte *buf, size_t len)
|
||||
uint32 grfid = grf_load_dword(&buf);
|
||||
const char *name = grf_load_string(&buf, len - 6);
|
||||
|
||||
if (_cur_stage < GLS_RESERVE && _cur_grfconfig->status != GCS_UNKNOWN) {
|
||||
_cur_grfconfig->status = GCS_DISABLED;
|
||||
_cur_grfconfig->error = CallocT<GRFError>(1);
|
||||
_cur_grfconfig->error->severity = STR_NEWGRF_ERROR_MSG_FATAL;
|
||||
_cur_grfconfig->error->message = STR_NEWGRF_ERROR_MULTIPLE_ACTION_8;
|
||||
|
||||
_skip_sprites = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
_cur_grffile->grfid = grfid;
|
||||
_cur_grffile->grf_version = version;
|
||||
_cur_grfconfig->status = _cur_stage < GLS_RESERVE ? GCS_INITIALISED : GCS_ACTIVATED;
|
||||
|
Loading…
Reference in New Issue
Block a user