diff --git a/stepmania/src/ScreenGameplay.cpp b/stepmania/src/ScreenGameplay.cpp index 688c18e5ea..955a590c21 100644 --- a/stepmania/src/ScreenGameplay.cpp +++ b/stepmania/src/ScreenGameplay.cpp @@ -1722,7 +1722,7 @@ void ScreenGameplay::Update( float fDeltaTime ) // update give up // bool bGiveUpTimerFired = !m_GiveUpTimer.IsZero() && m_GiveUpTimer.Ago() > 2.5f; - bool bAllHumanHaveComboOf30OrMoreMisses = STATSMAN->m_CurStageStats.AllHumanHaveComboOf30OrMoreMisses(); + bool bAllHumanHaveComboOf30OrMoreMisses = STATSMAN->m_CurStageStats.GetMinimumMissCombo() >= 30; if( bGiveUpTimerFired || (FAIL_AFTER_30_MISSES && bAllHumanHaveComboOf30OrMoreMisses) ) { STATSMAN->m_CurStageStats.m_bGaveUp = true; diff --git a/stepmania/src/StageStats.cpp b/stepmania/src/StageStats.cpp index 1de955b62d..1e9c203852 100644 --- a/stepmania/src/StageStats.cpp +++ b/stepmania/src/StageStats.cpp @@ -310,12 +310,12 @@ bool StageStats::PlayerHasHighScore( PlayerNumber pn ) const return false; } -bool StageStats::AllHumanHaveComboOf30OrMoreMisses() const +int StageStats::GetMinimumMissCombo() const { + int iMin = INT_MAX; FOREACH_HumanPlayer( p ) - if( m_player[p].m_iCurMissCombo < 30 ) - return false; - return true; + iMin = min( iMin, m_player[p].m_iCurMissCombo ); + return iMin; } // lua start diff --git a/stepmania/src/StageStats.h b/stepmania/src/StageStats.h index eba31b8a27..192158d2f0 100644 --- a/stepmania/src/StageStats.h +++ b/stepmania/src/StageStats.h @@ -50,7 +50,7 @@ public: void CommitScores( bool bSummary ); bool PlayerHasHighScore( PlayerNumber pn ) const; - bool AllHumanHaveComboOf30OrMoreMisses() const; + int GetMinimumMissCombo() const; // Lua void PushSelf( lua_State *L );