diff --git a/Externals/WiiUse/Win32/wiiuse.dll b/Externals/WiiUse/Win32/wiiuse.dll index 512b53b83f..43c39f115f 100644 Binary files a/Externals/WiiUse/Win32/wiiuse.dll and b/Externals/WiiUse/Win32/wiiuse.dll differ diff --git a/Externals/WiiUse/Win32/wiiuse.lib b/Externals/WiiUse/Win32/wiiuse.lib index 75c45ef4a7..ba9196a109 100644 Binary files a/Externals/WiiUse/Win32/wiiuse.lib and b/Externals/WiiUse/Win32/wiiuse.lib differ diff --git a/Externals/WiiUse/X64/wiiuse.dll b/Externals/WiiUse/X64/wiiuse.dll index 46f146e382..f8e28edd22 100644 Binary files a/Externals/WiiUse/X64/wiiuse.dll and b/Externals/WiiUse/X64/wiiuse.dll differ diff --git a/Externals/WiiUse/X64/wiiuse.lib b/Externals/WiiUse/X64/wiiuse.lib index 196bd6b19f..40e8c29877 100644 Binary files a/Externals/WiiUse/X64/wiiuse.lib and b/Externals/WiiUse/X64/wiiuse.lib differ diff --git a/Externals/WiiUseSrc/Src/io_win.c b/Externals/WiiUseSrc/Src/io_win.c index 0d345c7ab3..f64f256fb2 100644 --- a/Externals/WiiUseSrc/Src/io_win.c +++ b/Externals/WiiUseSrc/Src/io_win.c @@ -205,8 +205,8 @@ int wiiuse_io_read(struct wiimote_t* wm) { // This needs to be done even if ReadFile fails, essential during init // Move the data over one, so we can add back in 0xa2 - memcpy(wm->event_buf + 1, wm->event_buf, sizeof(wm->event_buf) - 1); - wm->event_buf[0] = 0xa2; // Put back in the crazy Data that Windows strips out + memmove(wm->event_buf + 1, wm->event_buf, sizeof(wm->event_buf) - 1); + wm->event_buf[0] = 0xa2; ResetEvent(wm->hid_overlap.hEvent); return 1; @@ -224,7 +224,7 @@ int wiiuse_io_write(struct wiimote_t* wm, byte* buf, int len) { case WIIUSE_STACK_UNKNOWN: { /* try to auto-detect the stack type */ - if (i = WriteFile(wm->dev_handle, buf + 1, 22, &bytes, &wm->hid_overlap)) { + if (i = WriteFile(wm->dev_handle, buf + 1, len - 1, &bytes, &wm->hid_overlap)) { /* bluesoleil will always return 1 here, even if it's not connected */ wm->stack = WIIUSE_STACK_BLUESOLEIL; return i; @@ -243,7 +243,7 @@ int wiiuse_io_write(struct wiimote_t* wm, byte* buf, int len) { return HidD_SetOutputReport(wm->dev_handle, buf + 1, len - 1); case WIIUSE_STACK_BLUESOLEIL: - return WriteFile(wm->dev_handle, buf + 1, 22, &bytes, &wm->hid_overlap); + return WriteFile(wm->dev_handle, buf + 1, len - 1, &bytes, &wm->hid_overlap); } return 0; diff --git a/Externals/WiiUseSrc/wiiuse.vcproj b/Externals/WiiUseSrc/wiiuse.vcproj index 1bfa3a0ede..369a261e30 100644 --- a/Externals/WiiUseSrc/wiiuse.vcproj +++ b/Externals/WiiUseSrc/wiiuse.vcproj @@ -51,7 +51,7 @@ />