diff options
author | Niels Martin Hansen <nielsm@indvikleren.dk> | 2018-06-07 21:34:24 +0200 |
---|---|---|
committer | Michael Lutz <michi@icosahedron.de> | 2018-06-15 23:09:17 +0200 |
commit | 5ab06ef8a3a5291ddc9bbee7f73f04bd077272e0 (patch) | |
tree | c1760bdf0e54c1bf8c519a0457078f621050f230 /src/music.cpp | |
parent | a1b7812c7e5e7a25a9eb51fd397b19606451f8e6 (diff) | |
download | openttd-5ab06ef8a3a5291ddc9bbee7f73f04bd077272e0.tar.xz |
Fix: Don't complain if CAT music files are missing entirely
Just complain if an index into a CAT file that exists is invalid.
Diffstat (limited to 'src/music.cpp')
-rw-r--r-- | src/music.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/music.cpp b/src/music.cpp index 65e35f955..ffb1d7590 100644 --- a/src/music.cpp +++ b/src/music.cpp @@ -128,7 +128,7 @@ bool MusicSet::FillSetDetails(IniFile *ini, const char *path, const char *full_f IniGroup *timingtrim = ini->GetGroup("timingtrim"); for (uint i = 0, j = 1; i < lengthof(this->songinfo); i++) { const char *filename = this->files[i].filename; - if (names == NULL || StrEmpty(filename)) { + if (names == NULL || StrEmpty(filename) || this->files[i].check_result == MD5File::CR_NO_FILE) { this->songinfo[i].songname[0] = '\0'; continue; } @@ -143,7 +143,8 @@ bool MusicSet::FillSetDetails(IniFile *ini, const char *path, const char *full_f char *songname = GetMusicCatEntryName(filename, this->songinfo[i].cat_index); if (songname == NULL) { DEBUG(grf, 0, "Base music set song missing from CAT file: %s/%d", filename, this->songinfo[i].cat_index); - return false; + this->songinfo[i].songname[0] = '\0'; + continue; } strecpy(this->songinfo[i].songname, songname, lastof(this->songinfo[i].songname)); free(songname); |