diff --git a/Externals/WiiUse/Win32/wiiuse.dll b/Externals/WiiUse/Win32/wiiuse.dll index 512b53b83f4..43c39f115f1 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 75c45ef4a75..ba9196a109f 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 46f146e3825..f8e28edd228 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 196bd6b19f8..40e8c29877b 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 0d345c7ab39..f64f256fb2f 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 1bfa3a0edee..369a261e302 100644 --- a/Externals/WiiUseSrc/wiiuse.vcproj +++ b/Externals/WiiUseSrc/wiiuse.vcproj @@ -51,7 +51,7 @@ />