diff --git a/stepmania/src/PrefsManager.cpp b/stepmania/src/PrefsManager.cpp index 97854941b0..6326f6b191 100644 --- a/stepmania/src/PrefsManager.cpp +++ b/stepmania/src/PrefsManager.cpp @@ -99,6 +99,8 @@ PrefsManager::PrefsManager() m_bAutoMapJoysticks = true; m_fGlobalOffsetSeconds = 0; + m_bTenFooterInRed = true; + /* DDR Extreme-style extra stage support. * Default off so people used to the current behavior (or those with extra * stage CRS files) don't get it changed around on them. */ @@ -208,6 +210,8 @@ void PrefsManager::ReadGlobalPrefsFromDisk( bool bSwitchToLastPlayedGame ) ini.GetValueB( "Options", "Timestamping", m_bTimestamping ); ini.GetValueB( "Options", "BreakComboToGetItem", m_bBreakComboToGetItem ); ini.GetValueB( "Options", "ShowDancingCharacters", m_bShowDancingCharacters ); + ini.GetValueB( "Options", "TenFooterInRed", m_bTenFooterInRed ); + ini.GetValueB( "Options", "UseUnlockSystem", m_bUseUnlockSystem ); ini.GetValueB( "Options", "FirstRun", m_bFirstRun ); @@ -314,6 +318,9 @@ void PrefsManager::SaveGlobalPrefsToDisk() ini.SetValueB( "Options", "AntiAliasing", m_bAntiAliasing ); ini.SetValueF( "Options", "GlobalOffsetSeconds", m_fGlobalOffsetSeconds ); + ini.SetValueB( "Options", "TenFooterInRed", m_bTenFooterInRed ); + + /* Only write these if they aren't the default. This ensures that we can change * the default and have it take effect for everyone (except people who * tweaked this value). */ diff --git a/stepmania/src/PrefsManager.h b/stepmania/src/PrefsManager.h index 09bffce4a3..bdf78c5f22 100644 --- a/stepmania/src/PrefsManager.h +++ b/stepmania/src/PrefsManager.h @@ -81,6 +81,7 @@ public: bool m_bFirstRun; bool m_bAutoMapJoysticks; float m_fGlobalOffsetSeconds; + bool m_bTenFooterInRed; /* 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 8d406016a3..1bd832ad1e 100644 --- a/stepmania/src/ScreenAppearanceOptions.cpp +++ b/stepmania/src/ScreenAppearanceOptions.cpp @@ -35,6 +35,7 @@ enum { AO_DANCE_POINTS_FOR_ONI, AO_SELECT_GROUP, AO_WHEEL_SECTIONS, + AO_TEN_FOOT_RED, AO_SHOW_TRANSLATIONS, AO_SHOW_LYRICS, NUM_APPEARANCE_OPTIONS_LINES @@ -50,6 +51,7 @@ OptionRow g_AppearanceOptionsLines[NUM_APPEARANCE_OPTIONS_LINES] = { OptionRow( "Oni Score\nDisplay","PERCENT","DANCE POINTS"), OptionRow( "Song\nGroup", "ALL MUSIC","CHOOSE"), OptionRow( "Wheel\nSections", "NEVER","ALWAYS", "ABC ONLY"), + OptionRow( "10+ foot\nIn Red", "NO", "YES"), OptionRow( "Translations", "NATIVE","TRANSLITERATE"), OptionRow( "Lyrics", "HIDE","SHOW"), }; @@ -141,6 +143,7 @@ void ScreenAppearanceOptions::ImportOptions() m_iSelectedOption[0][AO_DANCE_POINTS_FOR_ONI] = PREFSMAN->m_bDancePointsForOni? 1:0; 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_TEN_FOOT_RED] = PREFSMAN->m_bTenFooterInRed? 1:0; m_iSelectedOption[0][AO_SHOW_TRANSLATIONS] = PREFSMAN->m_bShowNative? 0:1; m_iSelectedOption[0][AO_SHOW_LYRICS] = PREFSMAN->m_bShowLyrics; } @@ -188,6 +191,7 @@ void ScreenAppearanceOptions::ExportOptions() PREFSMAN->m_bShowNative = !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->m_bTenFooterInRed = !!m_iSelectedOption[0][AO_TEN_FOOT_RED]; PREFSMAN->SaveGamePrefsToDisk(); PREFSMAN->SaveGlobalPrefsToDisk(); diff --git a/stepmania/src/SongManager.cpp b/stepmania/src/SongManager.cpp index 020793cf9e..f0acb740de 100644 --- a/stepmania/src/SongManager.cpp +++ b/stepmania/src/SongManager.cpp @@ -628,7 +628,7 @@ RageColor SongManager::GetSongColor( const Song* pSong ) // if(pNotes->m_NotesType != nt) // continue; - if( pNotes->GetMeter() >= 10 ) + if( pNotes->GetMeter() >= 10 && PREFSMAN->m_bTenFooterInRed ) return EXTRA_COLOR; }