summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp
diff options
context:
space:
mode:
authorJordan Woyak <jordan.woyak@gmail.com>2010-10-03 04:29:34 +0000
committerJordan Woyak <jordan.woyak@gmail.com>2010-10-03 04:29:34 +0000
commitaae0fa79098382bc44d2b5241783cca60d60188a (patch)
tree359d88c13dacb4b69cfa7e543cb8810a1294259b /Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp
parent841583b8f3b0664fef24305928a0f26eae5c6b29 (diff)
InputCommon(GCPad/WiimoteNew): Fixed issue when inifile didn't exist, defaults were loaded, and input didn't work. Fixed prob in DirectInput(hopefully doesn't break any other gamepads): buffered data wasn't ever being used. WiimoteNew: Hopefully made emulated swinging better(please comment). Added (completely untested) incomplete emulated turntable(DJ Hero) extension support :p. Deleted some files that I meant to delete in my last commit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6250 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp')
-rw-r--r--Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp b/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp
index f2a4f5561c..a433dcaa3d 100644
--- a/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp
+++ b/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp
@@ -206,9 +206,6 @@ Joystick::Joystick( /*const LPCDIDEVICEINSTANCE lpddi, */const LPDIRECTINPUTDEVI
, m_index(index)
//, m_name(TStringToString(lpddi->tszInstanceName))
{
- // this needs to be done before GetCapabilities() maybe?
- m_device->Acquire();
-
// get joystick caps
DIDEVCAPS js_caps;
js_caps.dwSize = sizeof(js_caps);
@@ -270,6 +267,9 @@ Joystick::Joystick( /*const LPCDIDEVICEINSTANCE lpddi, */const LPDIRECTINPUTDEVI
}
}
+ // it seems this needs to be done after SetProperty...
+ m_device->Acquire();
+
// TODO: check for DIDC_FORCEFEEDBACK in devcaps?
// get supported ff effects
@@ -395,8 +395,6 @@ bool Joystick::UpdateInput()
// msdn says if this isn't needed it doesnt do anything
m_device->Poll();
- bool need_ = true;
-
if (m_buffered)
{
DIDEVICEOBJECTDATA evtbuf[DATA_BUFFER_SIZE];
@@ -415,9 +413,7 @@ bool Joystick::UpdateInput()
((BYTE*)&m_state_in)[evt->dwOfs] = (BYTE)evt->dwData;
}
- // we lost some data, attempt to use GetDeviceState
- // maybe this isn't the best thing to do
- // maybe I should clear the input state?
+ // seems like this needs to be done maybe...
if (DI_BUFFEROVERFLOW == hr)
hr = m_device->GetDeviceState(sizeof(m_state_in), &m_state_in);
}