diff --git a/data/multiplayer/_main.cfg b/data/multiplayer/_main.cfg index da599a2c94b..518c37fe1b7 100644 --- a/data/multiplayer/_main.cfg +++ b/data/multiplayer/_main.cfg @@ -15,3 +15,12 @@ {multiplayer/scenarios/} {multiplayer/eras.cfg} + +[lobby_music] + {DEFAULT_MUSIC_PLAYLIST} + [music] + name=main_menu.ogg + ms_before=12000 + append=yes + [/music] +[/lobby_music] diff --git a/src/multiplayer.cpp b/src/multiplayer.cpp index a6890dc2939..7ce04057651 100644 --- a/src/multiplayer.cpp +++ b/src/multiplayer.cpp @@ -33,6 +33,7 @@ #include "playcampaign.hpp" #include "upload_log.hpp" #include "formula_string_utils.hpp" +#include "sound.hpp" #include @@ -521,9 +522,21 @@ static void do_preferences_dialog(game_display& disp, const config& game_config) static void enter_lobby_mode(game_display& disp, const config& game_config, mp::chat& chat, config& gamelist) { + + mp::ui::result res; while (true) { + const config &cfg = game_config.child("lobby_music"); + if (cfg) { + foreach (const config &i, cfg.child_range("music")) { + sound::play_music_config(i); + } + sound::commit_music_changes(); + } else { + sound::empty_playlist(); + sound::stop_music(); + } lobby_info li(game_config); gui2::tlobby_main dlg(game_config, li, disp); dlg.set_preferences_callback(