diff --git a/libraries/zmusic/musicformats/music_stream.cpp b/libraries/zmusic/musicformats/music_stream.cpp index db59cd604..d48aa0eee 100644 --- a/libraries/zmusic/musicformats/music_stream.cpp +++ b/libraries/zmusic/musicformats/music_stream.cpp @@ -159,6 +159,7 @@ bool StreamSong::ServiceStream (void *buff, int len) bool written = m_Source->GetData(buff, len); if (!written) { + m_Status = STATE_Stopped; memset((char*)buff, 0, len); return false; } diff --git a/source/duke3d/src/d_menu.cpp b/source/duke3d/src/d_menu.cpp index 1fba2d603..8f993b31b 100644 --- a/source/duke3d/src/d_menu.cpp +++ b/source/duke3d/src/d_menu.cpp @@ -534,7 +534,7 @@ bool GameInterface::CanSave() auto &myplayer = *g_player[myconnectindex].ps; if (sprite[myplayer.i].extra <= 0) { - P_DoQuote(QUOTE_SAVE_DEAD, &myplayer); + //P_DoQuote(QUOTE_SAVE_DEAD, &myplayer); // handled by the menu. return false; } return true; diff --git a/source/platform/posix/sdl/i_input.cpp b/source/platform/posix/sdl/i_input.cpp index 1fc75552c..6b25d5acb 100644 --- a/source/platform/posix/sdl/i_input.cpp +++ b/source/platform/posix/sdl/i_input.cpp @@ -382,7 +382,7 @@ void MessagePump (const SDL_Event &sev) if (sev.wheel.y != 0) event.data1 = sev.wheel.y > 0 ? KEY_MWHEELUP : KEY_MWHEELDOWN; - else + else event.data1 = sev.wheel.x > 0 ? KEY_MWHEELRIGHT : KEY_MWHEELLEFT; D_PostEvent (&event); diff --git a/source/rr/src/d_menu.cpp b/source/rr/src/d_menu.cpp index 003a35135..30329e6fd 100644 --- a/source/rr/src/d_menu.cpp +++ b/source/rr/src/d_menu.cpp @@ -413,7 +413,7 @@ bool GameInterface::CanSave() auto &myplayer = *g_player[myconnectindex].ps; if (sprite[myplayer.i].extra <= 0) { - P_DoQuote(QUOTE_SAVE_DEAD, &myplayer); + //P_DoQuote(QUOTE_SAVE_DEAD, &myplayer); // handled by the menu. return false; } return true; diff --git a/source/rr/src/sounds.cpp b/source/rr/src/sounds.cpp index 43d1ea925..131b33e58 100644 --- a/source/rr/src/sounds.cpp +++ b/source/rr/src/sounds.cpp @@ -315,7 +315,8 @@ void S_Update(void) vec3_t* c; int32_t ca, cs; - if (RR && Mus_IsPlaying()) + auto& gm = g_player[myconnectindex].ps->gm; + if (RR && !Mus_IsPlaying() && (gm && gm & MODE_GAME)) S_PlayRRMusic(); S_GetCamera(&c, &ca, &cs); @@ -611,7 +612,7 @@ void S_PlayRRMusic(int newTrack) g_cdTrack = 2; FStringf filename("track%02d.ogg", g_cdTrack); - if (Mus_Play(nullptr, 0, false)) return; + if (Mus_Play(nullptr, filename, false)) return; } // If none of the tracks managed to start, disable the CD music for this session so that regular music can play if defined. cd_disabled = true;