missing guards in menuitem_*_volume, also no change of music volume when no music_available

This commit is contained in:
Zeno Rogue 2020-11-06 16:11:19 +01:00
parent 3b7295c26a
commit 17c39c3ca2
2 changed files with 7 additions and 1 deletions

View File

@ -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() {

View File

@ -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");