Commit Graph

11 Commits

Author SHA1 Message Date
Soren Jorvang e648c6d68b Overhaul of OS X real Wiimote support.
Fixes a number of problems, including unreliable connection setup, 
frequent disconnections, busy-waiting and shutdown deadlocks.

Motion Plus and nunchuk hot swapping now work and Wiiuse does a small
amount of queueing to prevent occasional dropped packets. The OS X 
bluetooth stack has no internal input buffering and while a worker  
thread can easily keep up with data coming from the Wiimote, the rest
of Dolphin can easily get behind if it is blocked by disk I/O or 
similar. Mostly the Wiimote protocol recovers from dropped packets,   
but sometimes the Wiimote would get out of sync and send a disconnect.
I wonder if the other platforms might benefit from a bit of queueing
at this layer as well.
 
Still doesn't support multiple devices, as I kept changing my mind 
about how best to do it. I only have one Wiimote anyway..
 
One improvement to the Wiimote plugin that would be really nice would
be for the scan for new devices to operate continuously or periodically
like on a real Wii rather than just for 5 seconds at startup..   


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5640 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-09 19:36:08 +00:00
Soren Jorvang 66c480c86b Don't print a bogus number of bluetooth devices found.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5559 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-31 16:54:21 +00:00
Sonicadvance1 e79dc93a5c Fix noWX compiling, Fix OSX crashing when opening options because of dumb code. Fix OSX Wiimote, will fix multi-wiimote in OSX later.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5154 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-05 07:03:44 +00:00
Sonicadvance1 6b2d9ef404 16byte mem leak fix in OSX Wiiuse
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5151 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-03 06:58:57 +00:00
Sonicadvance1 5b1d21d1a1 Bunch of tiny memory leaks fixed and cleanup, フウ〜!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5056 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-14 14:06:33 +00:00
Sonicadvance1 9272d3c628 Actually use the timeout requested in Wiiuse in OSX, and if there is no BT device or it's disabled, catch it so we don't get stuck in an infinite loop
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5049 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-13 20:54:05 +00:00
Sonicadvance1 675e1f668e Correct stopping of Core in OSX via Command+Q, and fix a thread from not dying when stopping with CoreAudio
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5013 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-05 10:48:31 +00:00
Sonicadvance1 40ac160f37 Some clean up in io_osx.m, the if not confused me in the SConscript. I made the frames work with WX 2.9. Disabled rumble in Wiimote in OSX. Wiimote MAY work in Dolphin in OSX, not 100% sure. Made a test app and it works in that. Couldn't build a WX build of Dolphin in OSX because Macports doesn't compile in AUI apparently
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4904 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-20 11:49:11 +00:00
Sonicadvance1 3af4c50af1 Clean up Wiiuse to allow less _WIN32 defines. Windows side now spits out regular packets, and takes in regular packets. Like a normal OS should :} This shouldn't break Windows wiimote, Linux Wiimote doesn't work with this revision. Will require the new plugin which doesn't have emulated Wiimote at all.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4591 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-19 22:47:57 +00:00
tmator 7b19632b4a better wiimote code for osx with sonic fix, wiimote works better in wiiuse, but not in dolphin becau i think the read function in the wiimote plugin is in a separate thread and osx dont like this
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3924 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-01 19:35:45 +00:00
Sonicadvance1 440c0c1d14 Trying to get Dolphin to compile in Xcode, had to rename the Debugger namespace to something else since the name collided in OS X when using Xcode/Cocoa. Everything compiles except for the GL plugin, and the actual main Dolphin program. Will be trying to get them to compile after sleeping
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3701 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-07 14:04:56 +00:00