From ba15c7caf3fe3549bacde282ae33565776f5bd86 Mon Sep 17 00:00:00 2001 From: SteelT Date: Tue, 18 Aug 2020 15:10:56 -0400 Subject: [PATCH] Don't let a missing music lump cause an I_Error() Fix midi lump checking being broken --- src/s_sound.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/s_sound.c b/src/s_sound.c index abefd3c9a..7cedce94f 100644 --- a/src/s_sound.c +++ b/src/s_sound.c @@ -2335,12 +2335,12 @@ static lumpnum_t S_GetMusicLumpNum(const char *mname) return W_GetNumForName(va(midipref ? "d_%s":"o_%s", mname)); else if (S_PrefAvailable(!midipref, mname)) return W_GetNumForName(va(midipref ? "o_%s":"d_%s", mname)); +#else + if (S_DigExists(mname)) + return W_GetNumForName(va("o_%s", mname)); +#endif else return LUMPERROR; -#else - return W_GetNumForName(va("o_%s", mname)); -#endif - } static boolean S_LoadMusic(const char *mname) @@ -2353,15 +2353,14 @@ static boolean S_LoadMusic(const char *mname) mlumpnum = S_GetMusicLumpNum(mname); - if (S_MIDIMusicDisabled() && S_MIDIExists(mname)) + if (!S_DigExists(mname) && S_MIDIExists(mname)) { #ifdef NO_MIDI CONS_Alert(CONS_ERROR, "A MIDI music lump %.6s was found,\nbut SRB2Kart does not support MIDI output.\nWe apologise for the inconvenience.\n", mname); -#endif return false; +#endif } - - if (mlumpnum == LUMPERROR) + else if (mlumpnum == LUMPERROR) { CONS_Alert(CONS_ERROR, "Music %.6s could not be loaded: lump not found!\n", mname); return false;