#include "stdafx.h" /* ----------------------------------------------------------------------------- Class: InputFilter Desc: See header. Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. Chris Danford ----------------------------------------------------------------------------- */ #include "InputFilter.h" #include "RageLog.h" #include "RageInput.h" InputFilter* INPUTFILTER = NULL; // global and accessable from anywhere in our program InputFilter::InputFilter() { memset(m_BeingHeld, 0, sizeof(m_BeingHeld)); for( int i=0; iUpdate( fDeltaTime ); 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) ) queue.push_back( InputEvent(InputDevice(d),b,iet) ); } } } } bool InputFilter::IsBeingPressed( DeviceInput di ) { return m_BeingHeld[di.device][di.button]; } float InputFilter::GetSecsHeld( DeviceInput di ) { return m_fSecsHeld[di.device][di.button]; } void InputFilter::GetInputEvents( InputEventArray &array ) { array = queue; queue.clear(); }