From cd4ff922663470e7af045678456a194a7f02fabb Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Thu, 28 Nov 2019 03:32:02 +0100 Subject: [PATCH] - handle Blood. --- source/blood/src/blood.cpp | 6 ----- source/blood/src/blood.h | 2 -- source/blood/src/config.cpp | 1 - source/blood/src/loadsave.cpp | 10 ++------- source/blood/src/osdcmd.cpp | 41 ----------------------------------- source/common/music/music.cpp | 2 ++ 6 files changed, 4 insertions(+), 58 deletions(-) diff --git a/source/blood/src/blood.cpp b/source/blood/src/blood.cpp index 7369bf5c2..44cc1c255 100644 --- a/source/blood/src/blood.cpp +++ b/source/blood/src/blood.cpp @@ -97,8 +97,6 @@ char bAddUserMap = false; bool bNoDemo = false; bool bQuickStart = true; -int gMusicPrevLoadedEpisode = -1; -int gMusicPrevLoadedLevel = -1; char gUserMapFilename[BMAX_PATH]; @@ -387,8 +385,6 @@ void PreloadCache(void) if (gDemo.at1) return; PrecacheSounds(); - if (mus_restartonload) - sndTryPlaySpecialMusic(MUS_LOADING); PreloadTiles(); ClockTicks clock = totalclock; int cnt = 0; @@ -485,8 +481,6 @@ void StartLevel(GAMEOPTIONS *gameOptions) EndLevel(); gStartNewGame = 0; ready2send = 0; - gMusicPrevLoadedEpisode = gGameOptions.nEpisode; - gMusicPrevLoadedLevel = gGameOptions.nLevel; if (gDemo.at0 && gGameStarted) gDemo.Close(); netWaitForEveryone(0); diff --git a/source/blood/src/blood.h b/source/blood/src/blood.h index 71de1cbc5..39d4dd700 100644 --- a/source/blood/src/blood.h +++ b/source/blood/src/blood.h @@ -60,8 +60,6 @@ extern bool gRestartGame; extern double g_gameUpdateTime, g_gameUpdateAndDrawTime; extern double g_gameUpdateAvgTime; extern int blood_globalflags; -extern int gMusicPrevLoadedEpisode; -extern int gMusicPrevLoadedLevel; extern int gSaveGameNum; extern bool gPaused; diff --git a/source/blood/src/config.cpp b/source/blood/src/config.cpp index 32fb9e2bb..d0e9b7b45 100644 --- a/source/blood/src/config.cpp +++ b/source/blood/src/config.cpp @@ -50,7 +50,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -int32_t mus_restartonload; int32_t gTurnSpeed; int32_t gDetail; int32_t cl_weaponswitch; diff --git a/source/blood/src/loadsave.cpp b/source/blood/src/loadsave.cpp index 0c0ab264c..1e9c231a3 100644 --- a/source/blood/src/loadsave.cpp +++ b/source/blood/src/loadsave.cpp @@ -47,6 +47,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #include "i_specialpaths.h" #include "view.h" #include "savegamehelp.h" +#include "z_music.h" BEGIN_BLD_NS @@ -177,14 +178,7 @@ void LoadSave::LoadGame(const char *pzFile) gGameStarted = 1; bVanilla = false; - if (mus_restartonload - || demoWasPlayed - || (gMusicPrevLoadedEpisode != gGameOptions.nEpisode || gMusicPrevLoadedLevel != gGameOptions.nLevel)) - { - levelTryPlayMusic(gGameOptions.nEpisode, gGameOptions.nLevel); - } - gMusicPrevLoadedEpisode = gGameOptions.nEpisode; - gMusicPrevLoadedLevel = gGameOptions.nLevel; + MUS_ResumeSaved(); netBroadcastPlayerInfo(myconnectindex); //sndPlaySong(gGameOptions.zLevelSong, 1); diff --git a/source/blood/src/osdcmd.cpp b/source/blood/src/osdcmd.cpp index d8028716a..8b53f0c6b 100644 --- a/source/blood/src/osdcmd.cpp +++ b/source/blood/src/osdcmd.cpp @@ -153,43 +153,6 @@ static int osdcmd_demo(osdcmdptr_t parm) return OSDCMD_OK; } -static int osdcmd_music(osdcmdptr_t parm) -{ - char buffer[128]; - if (parm->numparms == 1) - { - int32_t sel = levelGetMusicIdx(parm->parms[0]); - - if (sel == -1) - return OSDCMD_SHOWHELP; - - if (sel == -2) - { - OSD_Printf("%s is not a valid episode/level number pair\n", parm->parms[0]); - return OSDCMD_OK; - } - - int nEpisode = sel/kMaxLevels; - int nLevel = sel%kMaxLevels; - - if (!levelTryPlayMusic(nEpisode, nLevel)) - { - if (mus_redbook) - snprintf(buffer, sizeof(buffer), "Playing %i track", gEpisodeInfo[nEpisode].at28[nLevel].ate0); - else - snprintf(buffer, sizeof(buffer), "Playing %s", gEpisodeInfo[nEpisode].at28[nLevel].atd0); - viewSetMessage(buffer); - } - else - { - OSD_Printf("No music defined for %s\n", parm->parms[0]); - } - - return OSDCMD_OK; - } - - return OSDCMD_SHOWHELP; -} static int osdcmd_vidmode(osdcmdptr_t parm) { @@ -367,9 +330,6 @@ static int osdcmd_restartsound(osdcmdptr_t UNUSED(parm)) sndInit(); sfxInit(); - if (MusicEnabled() && (gGameStarted || gDemo.at1)) - sndPlaySong(nullptr, "*", true); - return OSDCMD_OK; } @@ -474,7 +434,6 @@ int32_t registerosdcommands(void) OSD_RegisterFunction("give","give : gives requested item", osdcmd_give); OSD_RegisterFunction("god","god: toggles god mode", osdcmd_god); - OSD_RegisterFunction("music","music EL: change music", osdcmd_music); OSD_RegisterFunction("noclip","noclip: toggles clipping mode", osdcmd_noclip); OSD_RegisterFunction("quicksave","quicksave: performs a quick save", osdcmd_quicksave); OSD_RegisterFunction("quickload","quickload: performs a quick load", osdcmd_quickload); diff --git a/source/common/music/music.cpp b/source/common/music/music.cpp index 95f77c270..1ff85cda7 100644 --- a/source/common/music/music.cpp +++ b/source/common/music/music.cpp @@ -71,6 +71,8 @@ #include "savegamehelp.h" #include "sjson.h" +CVARD(Bool, mus_restartonload, false, CVAR_ARCHIVE|CVAR_GLOBALCONFIG, "restart the music when loading a saved game with the same map or not") // only implemented for Blood - todo: generalize + MusPlayingInfo mus_playing; MusicAliasMap MusicAliases; MidiDeviceMap MidiDevices;