From 17c39c3ca230ee6ffdd672a69b97ad9babaca369 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Fri, 6 Nov 2020 16:11:19 +0100 Subject: [PATCH] missing guards in menuitem_*_volume, also no change of music volume when no music_available --- config.cpp | 6 +++++- sound.cpp | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/config.cpp b/config.cpp index eb77c381..9c636688 100644 --- a/config.cpp +++ b/config.cpp @@ -1088,6 +1088,7 @@ EX void menuitem_sightrange(char c IS('c')) { } EX void menuitem_sfx_volume() { + #if CAP_AUDIO dialog::addSelItem(XLAT("sound effects volume"), its(effvolume), 'e'); dialog::add_action([] { dialog::editNumber(effvolume, 0, 128, 10, 60, XLAT("sound effects volume"), ""); @@ -1100,10 +1101,12 @@ EX void menuitem_sfx_volume() { dialog::bound_low(0); dialog::bound_up(MIX_MAX_VOLUME); }); + #endif } EX void menuitem_music_volume() { - if (!audio) return; + #if CAP_AUDIO + if (!music_available) return; dialog::addSelItem(XLAT("background music volume"), its(musicvolume), 'b'); dialog::add_action([] { dialog::editNumber(musicvolume, 0, 128, 10, 60, XLAT("background music volume"), ""); @@ -1124,6 +1127,7 @@ EX void menuitem_music_volume() { }; #endif }); + #endif } EX void showSpecialEffects() { diff --git a/sound.cpp b/sound.cpp index 9b95f125..de33ad29 100644 --- a/sound.cpp +++ b/sound.cpp @@ -19,6 +19,7 @@ EX string musiclicense; EX string musfname[landtypes]; EX int musicvolume = 60; EX int effvolume = 60; +EX bool music_available; EX eLand getCurrentLandForMusic() { eLand id = ((anims::center_music()) && centerover) ? centerover->land : cwt.at->land; @@ -162,6 +163,7 @@ EX bool loadMusicInfo(string dir) { if(id >= 0 && id < landtypes) { if(buf[5] == '*' && buf[6] == '/') musfname[id] = dir2 + (buf+7); else musfname[id] = buf+5; + music_available = true; } else { fprintf(stderr, "warning: bad soundtrack id, use the following format:\n");