diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index c8c1ac9feb..77051e30f8 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -4,6 +4,11 @@ The StepMania 5 Changelog covers all post-sm-ssc changes. For a list of changes from StepMania 4 alpha 5 to sm-ssc v1.2.5, see Changelog_sm-ssc.txt. ________________________________________________________________________________ +2015/03/09 +---------- +* [Preference] HarshHotLifePenalty preference added, for toggling whether + LifeMeterBar takes away .1 life when it's full. [kyzentun] + 2015/03/08 ---------- * [EditMode] Clearing an area now prompts for confirmation if it contains diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 44b9a91eed..6c7d0c6fac 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -417,6 +417,7 @@ Game=Change the current game type with this option. GetRankingName=Determines if name entry should never be shown, always be shown, or shown when the course is listed on the high scores screen. Graphics/Sound Options=Change full screen, resolution, and sound options. Group= +HarshHotLifePenalty=If the life bar is full, and this is on, then a bad judgement means losing at least 10% of full life. HiddenSongs=Some songs are only playable during Oni courses and with roulette. Leave this &oq;OFF&cq; to always display all songs. Hide=Hide Holds=Holds @@ -1018,6 +1019,7 @@ FastNoteRendering=Fast Note Rendering FailOffForFirstStageEasy=Fail Off First Easy FailOffInBeginner=Fail Off Beginner Genre=Genre +HarshHotLifePenalty=Harsh Hot Life Penalty Practice Songs/Steps=Practice Songs/Steps Edit Courses=Edit Courses Edit BPM change=Edit BPM change diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 857cbb29a8..48ed8e3b67 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -3098,7 +3098,7 @@ Fallback="ScreenOptionsServiceChild" NextScreen="ScreenOptionsService" PrevScreen="ScreenOptionsService" # stuff tied to arcade features -LineNames="1,2,3,4,5,6,7,8,9,10,11,12,13,14" +LineNames="1,2,3,4,5,6,7,8,9,HHLP,10,11,12,13,14" Line1="conf,GetRankingName" Line2="conf,CoinMode" Line3="conf,SongsPerPlay" @@ -3108,6 +3108,7 @@ Line6="conf,EventMode" Line7="conf,AllowMultipleHighScoreWithSameName" Line8="conf,ComboContinuesBetweenSongs" Line9="conf,Disqualification" +LineHHLP="conf,HarshHotLifePenalty" Line10="conf,FailOffForFirstStageEasy" Line11="conf,FailOffInBeginner" Line12="conf,LockCourseDifficulties" diff --git a/src/LifeMeterBar.cpp b/src/LifeMeterBar.cpp index 3dda562e5f..0a3c3b368a 100644 --- a/src/LifeMeterBar.cpp +++ b/src/LifeMeterBar.cpp @@ -125,7 +125,7 @@ void LifeMeterBar::ChangeLife( TapNoteScore score ) } // this was previously if( IsHot() && score < TNS_GOOD ) in 3.9... -freem - if( IsHot() && fDeltaLife < 0 ) + if(PREFSMAN->m_HarshHotLifePenalty && IsHot() && fDeltaLife < 0) fDeltaLife = min( fDeltaLife, -0.10f ); // make it take a while to get back to "hot" switch(m_pPlayerState->m_PlayerOptions.GetSong().m_DrainType) @@ -162,7 +162,7 @@ void LifeMeterBar::ChangeLife( HoldNoteScore score, TapNoteScore tscore ) default: FAIL_M(ssprintf("Invalid HoldNoteScore: %i", score)); } - if( IsHot() && score == HNS_LetGo ) + if(PREFSMAN->m_HarshHotLifePenalty && IsHot() && score == HNS_LetGo) fDeltaLife = -0.10f; // make it take a while to get back to "hot" break; case DrainType_NoRecover: diff --git a/src/PrefsManager.cpp b/src/PrefsManager.cpp index d947571806..e18e3ef944 100644 --- a/src/PrefsManager.cpp +++ b/src/PrefsManager.cpp @@ -202,6 +202,7 @@ PrefsManager::PrefsManager() : m_iRegenComboAfterMiss ( "RegenComboAfterMiss", 5 ), m_bMercifulDrain ( "MercifulDrain", false ), // negative life deltas are scaled by the players life percentage + m_HarshHotLifePenalty("HarshHotLifePenalty", true), m_bMinimum1FullSongInCourses ( "Minimum1FullSongInCourses", false ), // FEoS for 1st song, FailImmediate thereafter m_bFailOffInBeginner ( "FailOffInBeginner", false ), m_bFailOffForFirstStageEasy ( "FailOffForFirstStageEasy", false ), diff --git a/src/PrefsManager.h b/src/PrefsManager.h index 05c7022d86..e3cb435dd5 100644 --- a/src/PrefsManager.h +++ b/src/PrefsManager.h @@ -194,6 +194,7 @@ public: // Whoever added these: Please add a comment saying what they do. -Chris Preference m_iRegenComboAfterMiss; Preference m_bMercifulDrain; // negative life deltas are scaled by the players life percentage + Preference m_HarshHotLifePenalty; // See LifeMeterBar.cpp -Kyz Preference m_bMinimum1FullSongInCourses; // FEoS for 1st song, FailImmediate thereafter Preference m_bFailOffInBeginner; Preference m_bFailOffForFirstStageEasy; diff --git a/src/ScreenOptionsMasterPrefs.cpp b/src/ScreenOptionsMasterPrefs.cpp index c901820fbb..25f77f149f 100644 --- a/src/ScreenOptionsMasterPrefs.cpp +++ b/src/ScreenOptionsMasterPrefs.cpp @@ -786,6 +786,7 @@ static void InitializeConfOptions() ADD( ConfOption( "AllowMultipleHighScoreWithSameName", MovePref, "Off", "On" ) ); ADD( ConfOption( "ComboContinuesBetweenSongs", MovePref, "Off", "On") ); ADD( ConfOption( "Disqualification", MovePref, "Off","On" ) ); + ADD(ConfOption("HarshHotLifePenalty", MovePref, "Off", "On")); ADD( ConfOption( "FailOffForFirstStageEasy", MovePref, "Off","On" ) ); ADD( ConfOption( "FailOffInBeginner", MovePref, "Off","On" ) ); ADD( ConfOption( "LockCourseDifficulties", MovePref, "Off", "On" ) );