From af8690a7d8b6b13029b1d396ad46c8438c4fb668 Mon Sep 17 00:00:00 2001 From: Andrew de los Reyes Date: Tue, 28 Feb 2012 21:02:49 -0800 Subject: [PATCH] Revert "Add Support for Wii Motion Plus INSIDE Wii Remotes on Mac OS X." This reverts commit c9dfcf8cf7d500d58cd8f2b375be123f5b99bb52. That commit attempted to support all Wii Remotes on Mac OS X, but the logic was incorrect, and as a result the original (non-TR) Wii Remotes were broken by that change. Future patches will address this problem in a better way. --- Source/Core/Core/Src/HW/WiimoteReal/IOdarwin.mm | 8 ++------ Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.cpp | 10 ++++------ Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.h | 1 - 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/Source/Core/Core/Src/HW/WiimoteReal/IOdarwin.mm b/Source/Core/Core/Src/HW/WiimoteReal/IOdarwin.mm index a899dac201..0c2f742987 100644 --- a/Source/Core/Core/Src/HW/WiimoteReal/IOdarwin.mm +++ b/Source/Core/Core/Src/HW/WiimoteReal/IOdarwin.mm @@ -129,7 +129,7 @@ int FindWiimotes(Wiimote **wm, int max_wiimotes) [bti setInquiryLength: 5]; [bti setSearchCriteria: kBluetoothServiceClassMajorAny majorDeviceClass: kBluetoothDeviceClassMajorPeripheral - minorDeviceClass: kBluetoothDeviceClassMinorAny + minorDeviceClass: kBluetoothDeviceClassMinorPeripheral2Joystick ]; [bti setUpdateNewDeviceNames: NO]; @@ -177,10 +177,6 @@ bool Wiimote::Connect() if (IsConnected()) return false; - if ([btd remoteNameRequest:nil] == kIOReturnSuccess) - m_motion_plus_inside = - static_cast([[btd getName] hasSuffix:@"-TR"]); - [btd openL2CAPChannelSync: &cchan withPSM: kBluetoothL2CAPPSMHIDControl delegate: cbt]; [btd openL2CAPChannelSync: &ichan @@ -248,7 +244,7 @@ int Wiimote::IOWrite(unsigned char *buf, int len) if (!IsConnected()) return 0; - ret = [ichan writeAsync: buf length: len refcon: nil]; + ret = [cchan writeAsync: buf length: len refcon: nil]; if (ret == kIOReturnSuccess) return len; diff --git a/Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.cpp b/Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.cpp index 1ac0823ebb..f5ded4125d 100644 --- a/Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.cpp +++ b/Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.cpp @@ -50,7 +50,6 @@ Wiimote::Wiimote(const unsigned int _index) #endif , leds(0), m_last_data_report(Report((u8 *)NULL, 0)) , m_channel(0), m_connected(false) - , m_motion_plus_inside(false) { #if defined(__linux__) && HAVE_BLUEZ bdaddr = (bdaddr_t){{0, 0, 0, 0, 0, 0}}; @@ -143,16 +142,15 @@ void Wiimote::InterruptChannel(const u16 channel, const void* const data, const rpt.second = (u8)size; memcpy(rpt.first, (u8*)data, size); - // Convert output DATA packets to SET_REPORT packets for non-TR - // Wiimotes. Nintendo Wiimotes work without this translation, but 3rd + // Convert output DATA packets to SET_REPORT packets. + // Nintendo Wiimotes work without this translation, but 3rd // party ones don't. - u8 head = m_motion_plus_inside ? 0xa2 : 0x52; if (rpt.first[0] == 0xa2) { - rpt.first[0] = head; + rpt.first[0] = 0x52; } - if (rpt.first[0] == head && rpt.first[1] == 0x18 && rpt.second == 23) + if (rpt.first[0] == 0x52 && rpt.first[1] == 0x18 && rpt.second == 23) { m_audio_reports.Push(rpt); return; diff --git a/Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.h b/Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.h index 8229abee52..f3c5b884f8 100644 --- a/Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.h +++ b/Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.h @@ -95,7 +95,6 @@ private: void ThreadFunc(); bool m_connected; - bool m_motion_plus_inside; std::thread m_wiimote_thread; Common::FifoQueue m_read_reports; Common::FifoQueue m_write_reports;