diff --git a/src/d_netcmd.c b/src/d_netcmd.c index bbabf07f99b6ae7a6f883c0751b7bb6b8eff34de..bed9ff7dde9fe81002b8c04f6fc4ef068c4afdc3 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -854,6 +854,7 @@ void D_RegisterClientCommands(void) CV_RegisterVar(&cv_supermusic); CV_RegisterVar(&cv_growmusicfadein); CV_RegisterVar(&cv_supermusicfadein); + CV_RegisterVar(&cv_resumemusic); CV_RegisterVar(&cv_crossovermusic); //CV_RegisterVar(&cv_crosshair); //CV_RegisterVar(&cv_crosshair2); diff --git a/src/g_game.c b/src/g_game.c index 45eb25a6efa01e2ff5c74989696e0cc2fc28380a..2b0150ebc1232309360c29e07bfa2a7425bac857 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -492,6 +492,9 @@ consvar_t cv_supermusicfadein = CV_SAVE, CV_Unsigned, }; +/* Resume level music to the position where it was stopped. */ +consvar_t cv_resumemusic = { "resumemusic", "Yes", CV_SAVE, CV_YesNo }; + /* Resume from where last level's music left off, if it's the same song. */ consvar_t cv_crossovermusic = { "crossovermusic", "Off", CV_SAVE, CV_OnOff }; diff --git a/src/g_game.h b/src/g_game.h index cb49f0d08fde057d2fe1bf406a3c42127ec7df13..a7d98b86905d5f6506006067fc503e0d0f2212cd 100644 --- a/src/g_game.h +++ b/src/g_game.h @@ -110,7 +110,7 @@ extern consvar_t cv_playendingmusic; extern consvar_t cv_playenginesounds; extern consvar_t cv_growmusic, cv_supermusic; extern consvar_t cv_growmusicfadein, cv_supermusicfadein; -extern consvar_t cv_crossovermusic; +extern consvar_t cv_resumemusic, cv_crossovermusic; extern consvar_t cv_pauseifunfocused; //extern consvar_t cv_crosshair, cv_crosshair2, cv_crosshair3, cv_crosshair4; extern consvar_t cv_invertmouse/*, cv_alwaysfreelook, cv_chasefreelook, cv_mousemove*/; diff --git a/src/s_sound.c b/src/s_sound.c index 732064cb268dde82a7c96332b1770d51fb20b4ae..6220bca43da36689271fb2678bc6a1c22d467832 100644 --- a/src/s_sound.c +++ b/src/s_sound.c @@ -2045,7 +2045,8 @@ void S_ChangeMusicEx(const char *mmusic, UINT16 mflags, boolean looping, UINT32 fadeinms = cv_growmusicfadein.value; } - resume = true; + if (cv_resumemusic.value) + resume = true; } CONS_Debug(DBG_DETAILED, "Now playing song %s\n", newmusic);