Fork, located at http://github.com/rpavlik/wiiuse
Original project:
Added:
-
Callback API with constant-size wiimote_callback_data_t. Added to more easily support a ctypes python binding, generated by and included with RPythonic http://code.google.com/p/rpythonic/ Thanks to hartsantler for this feature.
-
Ability to build as a static library - must define WIIUSE_STATIC in client app as well as choosing the appropriate option when building WiiUse. The default is still a shared library (dll/so). Merged from paulburton and added to build system.
-
Initial MotionPlus support. Thanks to admiral0 for the initial pull request merging from fwiine, and to Jan Ciger Reviatech SAS for building on it with fwiine and WiiC code as well as additional code. Try it out in the example by pressing 1 to start and 2 to stop.
-
Full Mac support using Apple's native Bluetooth stack, based on wiic.
Fixed:
-
Properly disable rumbling when told to. Thanks to Jeff Baker from (Inv3rsion, LLC.)(http://www.inv3rsion.com/)
-
Builds properly now on mingw (both cross-compile and native).
-
Improved reliability on Windows when running an app twice without dis-connecting the Wiimote (came as a part of the MotionPlus support.)
Changed:
-
Improved header includes using feedback from (include-what-you-use)iwyu
-
Additional internal function
wiiuse_millisleep()
to reduce the number ofifdef
s scattered through the code. -
Provide endianness-conversion and buffer/unbuffer functions, rather than a jumble of function-style macros and raw type punning. This should fix all aliasing warnings.
Added:
-
Support for redirecting or disabling messages: function
wiiuse_set_output
inwiiuse.h
. The preprocessor symbolWIIUSE_HAS_OUTPUT_REDIRECTION
indicates the presence of this feature. Thanks to Johannes Zarl for this handy feature! -
Doxyfile and "doc" target to the build system, to easily make use of the documentation already in the code, along with doc cleanups and improvements. (rp)
-
Added balance board code to example (Paul Burton, rp)
Fixed:
-
Off-by-two overflow in IR dot ordering - thanks to Karl Semich (xloem on GitHub)
-
Documentation typo fix - thanks to Johannes Zarl
-
Check malloc results. (rp)
-
Initialize an array entirely. (rp)
-
Fixed reading of balance board data. (rp)
Changed:
-
Cleaned up README. (rp)
-
Removed references to the LGPL/noncommercial license, since it's confusing and not useful in a practical sense. See, e.g., http://lists.fedoraproject.org/pipermail/legal/2010-November/001470.html
-
Renamed bundled workaround stdint.h header for Visual Studio, which we still have to use on MSVC 2010 for some unknown reason. (rp)
Fixed:
-
Fix crashers due to unchecked pointer use.
-
[Windows] Fix crashers due to unchecked pointer use.
Added:
-
Support for Wii Balance Board ("wiiboard"): your code can
#ifdef EXP_WII_BOARD
(support based in part on code from TU-Delft) -
CMake-based cross-platform build system
-
Version defines in
wiiuse.h
Fixed:
-
[Linux] Bluez issue with not initializing structure on newer kernels
-
Use
stdint.h
types for guaranteed type size independent of platform -
Bundle a suitable
stdint.h
for MSVC builds -
Setting IR to off before handshake complete actually respected now. (fix via Harald [email protected])
Changed:
-
Old makefiles and Visual Studio projects removed.
-
CMake allows easy building of binary packages with a uniform directory structure: .dll/.exe in bin, .lib/.so in lib, .h in include.
Added:
-
API function
wiiuse_set_ir_sensitivity()
-
Macro
WIIUSE_GET_IR_SENSITIVITY()
-
Event type
WIIUSE_READ_DATA
-
Event type
WIIUSE_UNEXPECTED_DISCONNECT
Fixed:
-
[Linux] Ability to try to
select()
nothing -
[Linux] Changed Makefile to include debug output when compiling in debug mode
Changed:
-
wiiuse_set_nunchuk_orient_threshold()
now takes awiimote_t
pointer -
wiiuse_set_nunchuk_accel_threshold()
now takes awiimote_t
pointer -
wiiuse_read_data()
generates an eventWIIUSE_READ_DATA
rather than executing a callback
Added:
-
API function
wiiuse_set_nunchuk_orient_threshold()
-
API function
wiiuse_set_nunchuk_accel_threshold()
-
Event type
WIIUSE_NUNCHUK_INSERTED
-
Event type
WIIUSE_NUNCHUK_REMOVED
-
Event type
WIIUSE_CLASSIC_CTRL_INSERTED
-
Event type
WIIUSE_CLASSIC_CTRL_REMOVED
-
Event type
WIIUSE_GUITAR_HERO_3_CTRL_INSERTED
-
Event type
WIIUSE_GUITAR_HERO_3_CTRL_REMOVED
Fixed:
-
Added some missing function prototypes to wiiuse.h
-
[Linux] Fixed Makefile to link libmath and libbluetooth
-
Status event is set when a status report comes in
-
Orientation threshold not being saved in lstate
Added:
-
Real dynamic linking (by noisehole)
-
Changed from callback to SDL style
-
Guitar Hero 3 controller support
-
API function
wiiuse_set_accel_threshold()
-
API function
wiiuse_version()
-
Macro
WIIUSE_USING_SPEAKER()
-
Macro
WIIUSE_IS_LED_SET(wm, num)
-
wiiuse_init()
now autogenerates unids -
orient_t::a_roll/a_pitch
-
wiiuse_resync()
-
wiiuse_cleanup()
-
wiiuse_set_timeout()
Fixed:
-
[Windows] Fixed bug where it did not detect expansions on startup
-
Renamed
INFO/WARNING/DEBUG
macros toWIIUSE_*
(by noisehole) -
Updated Makefiles (by noisehole)
-
Fixed incorrect roll/pitch when smoothing was enabled
-
Fixed nunchuk and classic controller flooding events when significant changes occurred
-
Fixed bug where IR was not correct on roll if IR was enabled before handshake
Removed:
wiiuse_startup()
, no longer needed
Fixed:
-
Can now use
include/wiiuse.h
in C++ projects. -
HOME button works again.
-
IR now functions after expansion is connected or removed.
Changed:
-
Bumped API version to 8
-
Exported all API functions for usage with non-C/C++ languages.
-
Changed event callback to only trigger if a significant state change occurs.
Added:
wiimote_t::lstate
structure
Fixed:
- Bug 1820140 - Buffer overflow in
io_nix.c
. Thanks proppy.
Changed:
-
Bumped API version to 7
-
Renamed Linux build from
wii.so
towiiuse.so
-
Changed version representation from float to const char*.
Added:
-
[Windows] BlueSoleil support.
-
[Windows] Bluetooth stack auto-detection (WinXP SP2, Bluesoleil, Widdcomm tested).
-
[Windows] API function
wiiuse_set_bluetooth_stack()
. -
Calculates yaw if IR tracking is enabled.
Fixed:
-
[Windows] Problem where a connection is made to a wiimote that does not exist.
-
[Windows] Issue that occurred while using multiple wiimotes.
Changed:
-
Bumped API version to 0.6.
-
Ported to Microsoft Windows.
-
Improved IR tracking.
-
Default IR virtual screen resolutions changed depending on 16:9 or 4:3.
Added:
src/msvc/
andapi/msvc/
- Microsoft Visual C++ 6.0 project files.
Changed:
-
Bumped API version to 0.5.
-
Greatly improved IR tracking.
-
Renamed function
wiiuse_set_ir_correction()
towiiuse_set_ir_position()
.
Added:
- API function
wiiuse_set_aspect_ratio()
Fixed:
- When rolling around 180 degree rotation smoothing would not be seemless.
Changed:
-
Bumped API version to 0.4.
-
Greatly improved classic controller joystick functionality.
-
Changed all functions named
wiimote_*()
towiiuse_*()
-
Renamed many macros from
WIIMOTE_*
toWIIUSE_*
Added:
-
IR support
-
New
WIIMOTE_CONTINUOUS
flag to set continuous reporting -
Macro
IS_JUST_PRESSED()
-
Macro
WIIUSE_USING_ACC()
-
Macro
WIIUSE_USING_EXP()
-
Macro
WIIUSE_USING_IR()
-
API function
wiiuse_set_ir()
-
API function
wiiuse_set_ir_vres()
-
API function
wiiuse_set_ir_correction()
-
gfx/
- A small OpenGL example that renders IR data
Fixed:
- Sometimes classic controller would only report infinite angle and magnitude for joysticks.
Changed:
-
Moved license to GPLv3.
-
Bumped API version to 0.3.
Added:
-
Support for Classic Controller
-
Smoothing for roll and pitch values of the wiimote and nunchuk.
-
API:
wiimote_set_flags()
to set or disable wiimote options. -
API:
wiimote_set_smooth_alpha()
to set smoothing alpha value.
Fixed:
-
When the wiimote accelerates the roll or pitch is unreliable and was set to 0. It now remains at previous tilt value.
-
If no event callback was specified then no events would be processed internally.
Changed:
- Bumped API version to 0.2.
Added:
-
Nunchuk support.
-
Ability to write to flash memory.
Fixed:
-
Roll and pitch rotation now ranges from -180 to 180 degrees (previously -90 to 90).
-
Bug when reading data from flash memory would read wrong address.
- Initial release