diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/fileio.cpp | 2 | ||||
-rw-r--r-- | src/newgrf.cpp | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/fileio.cpp b/src/fileio.cpp index 7abf732fb..bcccb3419 100644 --- a/src/fileio.cpp +++ b/src/fileio.cpp @@ -337,7 +337,7 @@ FILE *FioFOpenFileSp(const char *filename, const char *mode, Searchpath sp, Subd FILE *FioFOpenFileTar(TarFileListEntry *entry, size_t *filesize) { FILE *f = fopen(entry->tar_filename, "rb"); - assert(f != NULL); + if (f == NULL) return f; fseek(f, entry->position, SEEK_SET); if (filesize != NULL) *filesize = entry->size; diff --git a/src/newgrf.cpp b/src/newgrf.cpp index c226d295e..1426208e7 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -6212,8 +6212,11 @@ void LoadNewGRF(uint load_index, uint file_index) if (c->status == GCS_DISABLED || c->status == GCS_NOT_FOUND) continue; if (stage > GLS_INIT && HasBit(c->flags, GCF_INIT_ONLY)) continue; - /* @todo usererror() */ - if (!FioCheckFileExists(c->filename)) usererror("NewGRF file is missing '%s'", c->filename); + if (!FioCheckFileExists(c->filename)) { + DEBUG(grf, 0, "NewGRF file is missing '%s'; disabling", c->filename); + c->status = GCS_NOT_FOUND; + continue; + } if (stage == GLS_LABELSCAN) InitNewGRFFile(c, _cur_spriteid); LoadNewGRFFile(c, slot++, stage); |