diff --git a/stepmania/src/InputFilter.cpp b/stepmania/src/InputFilter.cpp index a2660554a6..b2b44034b5 100644 --- a/stepmania/src/InputFilter.cpp +++ b/stepmania/src/InputFilter.cpp @@ -111,15 +111,20 @@ void InputFilter::Reset() ResetDevice( InputDevice(i) ); } -void InputFilter::SetRepeatRate( float fDelay, float fRepeatRate ) +void InputFilter::SetRepeatRate( float fRepeatRate ) +{ + g_fTimeBetweenRepeats = 1/fRepeatRate; +} + +void InputFilter::SetRepeatDelay( float fDelay ) { g_fTimeBeforeRepeats = fDelay; - g_fTimeBetweenRepeats = 1/fRepeatRate; } void InputFilter::ResetRepeatRate() { - SetRepeatRate( TIME_BEFORE_REPEATS, REPEATS_PER_SEC ); + SetRepeatRate( TIME_BEFORE_REPEATS ); + SetRepeatDelay( REPEATS_PER_SEC ); } ButtonState::ButtonState(): diff --git a/stepmania/src/InputFilter.h b/stepmania/src/InputFilter.h index 5b694a4ab6..52f9a4e405 100644 --- a/stepmania/src/InputFilter.h +++ b/stepmania/src/InputFilter.h @@ -47,7 +47,8 @@ public: void Reset(); void Update( float fDeltaTime ); - void SetRepeatRate( float fDelay, float fRepeatRate ); + void SetRepeatRate( float fRepeatRate ); + void SetRepeatDelay( float fDelay ); void ResetRepeatRate(); void ResetKeyRepeat( const DeviceInput &di ); void RepeatStopKey( const DeviceInput &di ); diff --git a/stepmania/src/ScreenOptions.cpp b/stepmania/src/ScreenOptions.cpp index 7405932a07..4bb5a7e9f9 100644 --- a/stepmania/src/ScreenOptions.cpp +++ b/stepmania/src/ScreenOptions.cpp @@ -557,7 +557,8 @@ void ScreenOptions::HandleScreenMessage( const ScreenMessage SM ) } else if( SM == SM_GainFocus ) { - INPUTFILTER->SetRepeatRate( 0.25f, 12 ); + INPUTFILTER->SetRepeatRate( 12 ); + INPUTFILTER->SetRepeatDelay( 0.25f ); } else if( SM == SM_LoseFocus ) {