From 98f8625834ca915c4b9df53554327a053039221d Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Thu, 16 Nov 2006 12:04:52 +0000 Subject: [PATCH] add Lua binding for life --- stepmania/src/PlayerStageStats.cpp | 13 +++++++++++++ stepmania/src/PlayerStageStats.h | 1 + 2 files changed, 14 insertions(+) diff --git a/stepmania/src/PlayerStageStats.cpp b/stepmania/src/PlayerStageStats.cpp index d521ef4dab..16b33182d5 100644 --- a/stepmania/src/PlayerStageStats.cpp +++ b/stepmania/src/PlayerStageStats.cpp @@ -345,6 +345,8 @@ void PlayerStageStats::SetLifeRecordAt( float fLife, float fStepsSecond ) if( A->second == B->second && B->second == C->second ) m_fLifeRecord.erase(B); + + MESSAGEMAN->Broadcast( Message_LifeMeterChangedP1 ); } float PlayerStageStats::GetLifeRecordAt( float fStepsSecond ) const @@ -396,6 +398,15 @@ void PlayerStageStats::GetLifeRecord( float *fLifeOut, int iNumSamples, float fS } } +float PlayerStageStats::GetCurrentLife() const +{ + if( m_fLifeRecord.empty() ) + return 0; + map::const_iterator iter = m_fLifeRecord.end(); + --iter; + return iter->second; +} + /* If bRollover is true, we're being called before gameplay begins, so we can record * the amount of the first combo that comes from the previous song. */ void PlayerStageStats::UpdateComboList( float fSecond, bool bRollover ) @@ -625,6 +636,7 @@ public: DEFINE_METHOD( GetScore, m_iScore ) DEFINE_METHOD( FullCombo, FullCombo() ) DEFINE_METHOD( MaxCombo, GetMaxCombo().m_cnt ) + DEFINE_METHOD( GetCurrentLife, GetCurrentLife() ) DEFINE_METHOD( GetGrade, GetGrade() ) DEFINE_METHOD( GetLessonScoreActual, GetLessonScoreActual() ) DEFINE_METHOD( GetLessonScoreNeeded, GetLessonScoreNeeded() ) @@ -643,6 +655,7 @@ public: ADD_METHOD( GetScore ); ADD_METHOD( FullCombo ); ADD_METHOD( MaxCombo ); + ADD_METHOD( GetCurrentLife ); ADD_METHOD( GetGrade ); ADD_METHOD( GetLessonScoreActual ); ADD_METHOD( GetLessonScoreNeeded ); diff --git a/stepmania/src/PlayerStageStats.h b/stepmania/src/PlayerStageStats.h index 62479b1ffa..5cb42c7d3c 100644 --- a/stepmania/src/PlayerStageStats.h +++ b/stepmania/src/PlayerStageStats.h @@ -67,6 +67,7 @@ public: void GetLifeRecord( float *fLifeOut, int iNumSamples, float fStepsEndSecond ) const; float GetLifeRecordAt( float fStepsSecond ) const; float GetLifeRecordLerpAt( float fStepsSecond ) const; + float GetCurrentLife() const; struct Combo_t {