diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 4cf748f4f7..0c6ff362cf 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,11 @@ ________________________________________________________________________________ StepMania 5.0 Preview 3 | 20110??? -------------------------------------------------------------------------------- +2011/07/31 +---------- +* [ScreenGameplay, LyricDisplay] Stop lyrics from animating on failure. + Fixes issue 298. [AJ] + 2011/07/30 ---------- * [ProfileManager] Fix an issue when deleting recently created profiles. [AJ] diff --git a/src/LyricDisplay.cpp b/src/LyricDisplay.cpp index b896814e1d..5454652d3b 100644 --- a/src/LyricDisplay.cpp +++ b/src/LyricDisplay.cpp @@ -31,10 +31,18 @@ void LyricDisplay::Init() m_iCurLyricNumber = 0; m_fLastSecond = -500; + m_bStopped = false; +} + +void LyricDisplay::Stop() { + m_bStopped = true; } void LyricDisplay::Update( float fDeltaTime ) { + if( m_bStopped ) + return; + ActorFrame::Update( fDeltaTime ); if( GAMESTATE->m_pCurSong == NULL ) diff --git a/src/LyricDisplay.h b/src/LyricDisplay.h index da6d811063..7225ef0b1e 100644 --- a/src/LyricDisplay.h +++ b/src/LyricDisplay.h @@ -13,10 +13,14 @@ public: // Call when song changes: void Init(); + // Call on song failed: + void Stop(); + private: BitmapText m_textLyrics[2]; unsigned m_iCurLyricNumber; float m_fLastSecond; + bool m_bStopped; }; #endif diff --git a/src/ScreenGameplay.cpp b/src/ScreenGameplay.cpp index 5e9ddbf5db..e5e1b7dfd4 100644 --- a/src/ScreenGameplay.cpp +++ b/src/ScreenGameplay.cpp @@ -1713,7 +1713,7 @@ void ScreenGameplay::Update( float fDeltaTime ) { m_pSoundMusic->StopPlaying(); SCREENMAN->PostMessageToTopScreen( SM_NotesEnded, 0 ); - // todo: stop lyrics (m_LyricDisplay) from animating -aj + m_LyricDisplay.Stop(); } // Update living players' alive time