From 259bbcb40b6529c74cce915865cca98a70e0a663 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sun, 12 Oct 2003 21:48:05 +0000 Subject: [PATCH] add StageStats::GetPercentDancePoints --- stepmania/src/StageStats.cpp | 12 ++++++++++++ stepmania/src/StageStats.h | 1 + 2 files changed, 13 insertions(+) diff --git a/stepmania/src/StageStats.cpp b/stepmania/src/StageStats.cpp index a4a0a79f86..1e752ebe25 100644 --- a/stepmania/src/StageStats.cpp +++ b/stepmania/src/StageStats.cpp @@ -15,6 +15,7 @@ #include "GameState.h" #include "RageLog.h" #include "SongManager.h" +#include "RageUtil.h" StageStats::StageStats() { @@ -133,3 +134,14 @@ bool StageStats::OnePassed() const return false; } +float StageStats::GetPercentDancePoints( PlayerNumber pn ) const +{ + if( iPossibleDancePoints[pn] == 0 ) + return 0; // div/0 + + if( iActualDancePoints[pn] == iPossibleDancePoints[pn] ) + return 1; // correct for rounding error + + float fPercentDancePoints = iActualDancePoints[pn] / (float)iPossibleDancePoints[pn]; + return clamp( fPercentDancePoints, 0, 1 ); +} diff --git a/stepmania/src/StageStats.h b/stepmania/src/StageStats.h index 29ebe984f7..3db28d8c05 100644 --- a/stepmania/src/StageStats.h +++ b/stepmania/src/StageStats.h @@ -24,6 +24,7 @@ struct StageStats void AddStats( const StageStats& other ); // accumulate Grade GetGrade( PlayerNumber pn ); bool OnePassed() const; + float GetPercentDancePoints( PlayerNumber pn ) const; Song* pSong; enum { STAGE_INVALID, STAGE_NORMAL, STAGE_EXTRA, STAGE_EXTRA2 } StageType;