summaryrefslogtreecommitdiff
path: root/src/music.cpp
diff options
context:
space:
mode:
authorNiels Martin Hansen <nielsm@indvikleren.dk>2018-06-07 21:34:24 +0200
committerMichael Lutz <michi@icosahedron.de>2018-06-15 23:09:17 +0200
commit5ab06ef8a3a5291ddc9bbee7f73f04bd077272e0 (patch)
treec1760bdf0e54c1bf8c519a0457078f621050f230 /src/music.cpp
parenta1b7812c7e5e7a25a9eb51fd397b19606451f8e6 (diff)
downloadopenttd-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.cpp5
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);