diff --git a/source/blood/src/levels.cpp b/source/blood/src/levels.cpp index 27b094600..a91314575 100644 --- a/source/blood/src/levels.cpp +++ b/source/blood/src/levels.cpp @@ -402,7 +402,8 @@ bool levelTryPlayMusic(int nEpisode, int nLevel, bool bSetLevelSong) snprintf(buffer, BMAX_PATH, "blood%02i.ogg", gEpisodeInfo[nEpisode].at28[nLevel].ate0); else strncpy(buffer, gEpisodeInfo[nEpisode].at28[nLevel].atd0, BMAX_PATH); - bool bReturn = !!sndPlaySong(gEpisodeInfo[nEpisode].at28[nLevel].atd0, buffer, true); + if (!strchr(buffer, '.')) strcat(buffer, ".mid"); + bool bReturn = !!sndPlaySong(gEpisodeInfo[nEpisode].at28[nLevel].at0, buffer, true); if (bReturn || bSetLevelSong) strncpy(gGameOptions.zLevelSong, buffer, BMAX_PATH); else *gGameOptions.zLevelSong = 0;