diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index d54ebf6372..767c787297 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -384,6 +384,8 @@ MaxComboZoom=0.0 LifeFrameX=320 LifeFrameY=36 LifeFrameExtraY=442 +LyricsX=320 // this point is the center of the text line +LyricsY=370 ScoreFrameX=320 ScoreFrameY=448 ScoreFrameExtraY=32 @@ -867,7 +869,7 @@ OniScoreDisplay=Toggle whether the score in Oni mode displays Dance Points or th SongGroup=Toggle whether the Select Group screen is shown. WheelSections=ALWAYS means sections in group + ABC; NEVER means no sections;::ABC ONLY shows sections in just ABC sort Translations=Choose whether to displays song titles in their native::language (日本語), or to transliterate when possible -DifficultySelect= +Lyrics=Choose whether to show lyrics if a song::has them available (LRC File) [ScreenUnlock] NextScreen=ScreenRanking diff --git a/stepmania/src/PrefsManager.cpp b/stepmania/src/PrefsManager.cpp index f55cad6445..ebf0ea5137 100644 --- a/stepmania/src/PrefsManager.cpp +++ b/stepmania/src/PrefsManager.cpp @@ -88,6 +88,7 @@ PrefsManager::PrefsManager() m_DefaultFailType = SongOptions::FAIL_ARCADE; m_bDancePointsForOni = false; //DDR-Extreme style dance points instead of max2 percent m_bTimestamping = false; + m_bShowLyrics = true; /* DDR Extreme-style extra stage support. * Default off so people used to the current behavior (or those with extra @@ -181,6 +182,7 @@ void PrefsManager::ReadGlobalPrefsFromDisk( bool bSwitchToLastPlayedGame ) ini.GetValueB( "Options", "AllowSoftwareRenderer", m_bAllowSoftwareRenderer ); ini.GetValueB( "Options", "SoloSingle", m_bSoloSingle ); ini.GetValueB( "Options", "DancePointsForOni", m_bDancePointsForOni ); + ini.GetValueB( "Options", "ShowLyrics", m_bShowLyrics ); ini.GetValueB( "Options", "Timestamping", m_bTimestamping ); @@ -258,6 +260,7 @@ void PrefsManager::SaveGlobalPrefsToDisk() ini.SetValueB( "Options", "AllowSoftwareRenderer", m_bAllowSoftwareRenderer ); ini.SetValueB( "Options", "SoloSingle", m_bSoloSingle ); ini.SetValueB( "Options", "DancePointsForOni", m_bDancePointsForOni ); + ini.SetValueB( "Options", "ShowLyrics", m_bShowLyrics ); ini.SetValueB( "Options", "Timestamping", m_bTimestamping ); diff --git a/stepmania/src/PrefsManager.h b/stepmania/src/PrefsManager.h index 66c4beafa0..2b2ffb6db6 100644 --- a/stepmania/src/PrefsManager.h +++ b/stepmania/src/PrefsManager.h @@ -73,6 +73,7 @@ public: SongOptions::FailType m_DefaultFailType; bool m_bDancePointsForOni; bool m_bTimestamping; + bool m_bShowLyrics; /* 0 = no; 1 = yes; -1 = auto (do whatever is appropriate for the arch). */ int m_iBoostAppPriority; diff --git a/stepmania/src/ScreenAppearanceOptions.cpp b/stepmania/src/ScreenAppearanceOptions.cpp index 3c8529ebdd..c94f9fd996 100644 --- a/stepmania/src/ScreenAppearanceOptions.cpp +++ b/stepmania/src/ScreenAppearanceOptions.cpp @@ -36,6 +36,7 @@ enum { AO_SELECT_GROUP, AO_WHEEL_SECTIONS, AO_SHOW_TRANSLATIONS, + AO_SHOW_LYRICS, NUM_APPEARANCE_OPTIONS_LINES }; @@ -50,6 +51,7 @@ OptionRow g_AppearanceOptionsLines[NUM_APPEARANCE_OPTIONS_LINES] = { OptionRow( "Song\nGroup", "ALL MUSIC","CHOOSE"), OptionRow( "Wheel\nSections", "NEVER","ALWAYS", "ABC ONLY"), OptionRow( "Translations", "NATIVE","TRANSLITERATE"), + OptionRow( "Lyrics", "HIDE","SHOW"), }; ScreenAppearanceOptions::ScreenAppearanceOptions() : @@ -138,6 +140,7 @@ void ScreenAppearanceOptions::ImportOptions() m_iSelectedOption[0][AO_SELECT_GROUP] = PREFSMAN->m_bShowSelectGroup? 1:0; m_iSelectedOption[0][AO_WHEEL_SECTIONS] = (int)PREFSMAN->m_MusicWheelUsesSections; m_iSelectedOption[0][AO_SHOW_TRANSLATIONS] = PREFSMAN->m_bShowTranslations; + m_iSelectedOption[0][AO_SHOW_LYRICS] = PREFSMAN->m_bShowLyrics; } void ScreenAppearanceOptions::ExportOptions() @@ -164,6 +167,7 @@ void ScreenAppearanceOptions::ExportOptions() PREFSMAN->m_bShowSelectGroup = !!m_iSelectedOption[0][AO_SELECT_GROUP]; (int&)PREFSMAN->m_MusicWheelUsesSections = m_iSelectedOption[0][AO_WHEEL_SECTIONS]; PREFSMAN->m_bShowTranslations = !!m_iSelectedOption[0][AO_SHOW_TRANSLATIONS]; + PREFSMAN->m_bShowLyrics = !!m_iSelectedOption[0][AO_SHOW_LYRICS]; PREFSMAN->m_bDancePointsForOni = !!m_iSelectedOption[0][AO_DANCE_POINTS_FOR_ONI]; PREFSMAN->SaveGamePrefsToDisk(); diff --git a/stepmania/src/ScreenGameplay.cpp b/stepmania/src/ScreenGameplay.cpp index 23a9fa32b5..fbaef64489 100644 --- a/stepmania/src/ScreenGameplay.cpp +++ b/stepmania/src/ScreenGameplay.cpp @@ -658,10 +658,13 @@ void ScreenGameplay::LoadNextSong() // Load lyrics // XXX: don't load this here - LyricsLoader LL; - if( GAMESTATE->m_pCurSong->HasLyrics() ) + if( PREFSMAN->m_bShowLyrics == true ) { - LL.LoadFromLRCFile(GAMESTATE->m_pCurSong->GetLyricsPath(), *GAMESTATE->m_pCurSong); + LyricsLoader LL; + if( GAMESTATE->m_pCurSong->HasLyrics() ) + { + LL.LoadFromLRCFile(GAMESTATE->m_pCurSong->GetLyricsPath(), *GAMESTATE->m_pCurSong); + } } }