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
variables, writeable strings and dangerously shadowed variables.
index(), gamma(), exp() and y0() are POSIX functions and using those
names can cause namespace confusion.
A number of C files were missing the final newline required by ANSI C
and some versions of GCC are pedantic enough to complain about this.
These changes simply the scons build, allowing us to get rid of
filterWarnings which is simply more trouble than it's worth.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5574 8ced0084-cf51-0410-be5f-012b33b47a6e
wiiusesrc: enable building with windows/msvc. In order to build you need to install WDK, then build. wiiuse.vcproj uses WDK exclusively, and ignores other include/lib paths. Change the paths in wiiuse.vcproj if your version of WDK differs.
wiiuse: update compiled windows libs
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4295 8ced0084-cf51-0410-be5f-012b33b47a6e