#include "stdafx.h" /* ----------------------------------------------------------------------------- Class: InputFilter Desc: See header. Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. Chris Danford ----------------------------------------------------------------------------- */ #include // for fmod #include "InputFilter.h" #include "RageLog.h" #include "RageInput.h" InputFilter* INPUTFILTER = NULL; // global and accessable from anywhere in our program InputFilter::InputFilter() { for( int i=0; iBeingPressed(di, Prev); } bool InputFilter::WasBeingPressed( DeviceInput di ) { return BeingPressed(di, true); } bool InputFilter::IsBeingPressed( DeviceInput di ) { return BeingPressed(di, false); } void InputFilter::GetInputEvents( InputEventArray &array, float fDeltaTime ) { INPUTMAN->Update(); for( int d=0; d TIME_BEFORE_SLOW_REPEATS ) { if( fOldHoldTime > TIME_BEFORE_FAST_REPEATS ) { fTimeBetweenRepeats = TIME_BETWEEN_FAST_REPEATS; iet = IET_FAST_REPEAT; } else { fTimeBetweenRepeats = TIME_BETWEEN_SLOW_REPEATS; iet = IET_SLOW_REPEAT; } if( int(fOldHoldTime/fTimeBetweenRepeats) != int(fNewHoldTime/fTimeBetweenRepeats) ) array.Add( InputEvent(di,iet) ); } } else { // !IsBeingPressed(di) m_fTimeHeld[d][b] = 0; array.Add( InputEvent(di,IET_RELEASE) ); } } else // !WasBeingPressed(di) { if( IsBeingPressed(di) ) array.Add( InputEvent(di,IET_FIRST_PRESS) ); else // !IsBeingPressed(di) ; // don't care } } } }