From d4e63e242717176c019f8aa5b6260ce6fe65abde Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Mon, 15 Jan 2007 05:35:36 +0000 Subject: [PATCH] add InputFilter::GetLevel --- stepmania/src/InputFilter.cpp | 11 +++++++++++ stepmania/src/InputFilter.h | 1 + 2 files changed, 12 insertions(+) diff --git a/stepmania/src/InputFilter.cpp b/stepmania/src/InputFilter.cpp index 1f63c7b4ec..a2660554a6 100644 --- a/stepmania/src/InputFilter.cpp +++ b/stepmania/src/InputFilter.cpp @@ -340,6 +340,17 @@ float InputFilter::GetSecsHeld( const DeviceInput &di, const DeviceInputList *pB return pDI->ts.Ago(); } +float InputFilter::GetLevel( const DeviceInput &di, const DeviceInputList *pButtonState ) const +{ + LockMut(*queuemutex); + if( pButtonState == NULL ) + pButtonState = &g_CurrentState; + const DeviceInput *pDI = FindItemBinarySearch( pButtonState->begin(), pButtonState->end(), di ); + if( pDI == NULL ) + return 0.0f; + return pDI->level; +} + RString InputFilter::GetButtonComment( const DeviceInput &di ) const { LockMut(*queuemutex); diff --git a/stepmania/src/InputFilter.h b/stepmania/src/InputFilter.h index 5277d67676..8a9c985acf 100644 --- a/stepmania/src/InputFilter.h +++ b/stepmania/src/InputFilter.h @@ -52,6 +52,7 @@ public: // If aButtonState is NULL, use the last reported state. bool IsBeingPressed( const DeviceInput &di, const DeviceInputList *pButtonState = NULL ) const; float GetSecsHeld( const DeviceInput &di, const DeviceInputList *pButtonState = NULL ) const; + float GetLevel( const DeviceInput &di, const DeviceInputList *pButtonState = NULL ) const; RString GetButtonComment( const DeviceInput &di ) const; void GetInputEvents( vector &aEventOut );