From f26408ea96ae05e0cf373d20d34e1e2715e88c3f Mon Sep 17 00:00:00 2001 From: hendricks266 Date: Sat, 17 Jun 2017 11:41:44 +0000 Subject: [PATCH] Keep music playing without interruption during map or hubmap transitions if the same file will be playing before and after. git-svn-id: https://svn.eduke32.com/eduke32@6182 1a8010ca-5511-0410-912e-c29ae57300e0 --- source/duke3d/src/premap.cpp | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/source/duke3d/src/premap.cpp b/source/duke3d/src/premap.cpp index 4c88907ef..e2c76fa49 100644 --- a/source/duke3d/src/premap.cpp +++ b/source/duke3d/src/premap.cpp @@ -422,13 +422,8 @@ void G_CacheMapData(void) if (ud.recstat == 2) return; -#ifndef EDUKE32_TOUCH_DEVICES - S_PauseMusic(1); -#endif - if (g_mapInfo[MUS_LOADING].musicfn) { - S_StopMusic(); S_PlayMusic(g_mapInfo[MUS_LOADING].musicfn); } @@ -1916,15 +1911,13 @@ int G_EnterLevel(int gameMode) if (ud.recstat != 2) { - int32_t const mpos = S_GetMusicPosition(); - - if (g_mapInfo[mii].musicfn != NULL) + if (g_mapInfo[mii].musicfn != NULL && + (g_mapInfo[g_musicIndex].musicfn == NULL || + Bstrcmp(g_mapInfo[g_musicIndex].musicfn, g_mapInfo[mii].musicfn) || + g_musicSize == 0 || + ud.last_level == -1)) S_PlayMusic(g_mapInfo[mii].musicfn); - if (g_mapInfo[g_musicIndex].musicfn != NULL && g_mapInfo[mii].musicfn != NULL - && !Bstrcmp(g_mapInfo[g_musicIndex].musicfn, g_mapInfo[mii].musicfn)) - S_SetMusicPosition(mpos); - g_musicIndex = mii; }