Skip to content

Instantly share code, notes, and snippets.

@qsniyg
Last active March 31, 2020 19:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save qsniyg/4ba247c7398e3a1926988e3f6ca252ce to your computer and use it in GitHub Desktop.
Save qsniyg/4ba247c7398e3a1926988e3f6ca252ce to your computer and use it in GitHub Desktop.
Various experimental/untested patches for Mount & Blade
diff --git a/dlls/user32/input.c b/dlls/user32/input.c
index 97a5ada922..aefce6b0c4 100644
--- a/dlls/user32/input.c
+++ b/dlls/user32/input.c
@@ -1310,7 +1310,18 @@ int WINAPI GetMouseMovePointsEx(UINT size, LPMOUSEMOVEPOINT ptin, LPMOUSEMOVEPOI
return -1;
}
- FIXME("(%d %p %p %d %d) stub\n", size, ptin, ptout, count, res);
+ FIXME("(%d %p %p %d %d) hack\n", size, ptin, ptout, count, res);
+
+ if (count > 0) {
+ POINT pos;
+ GetCursorPos(&pos);
+
+ ptout[0].x = pos.x;
+ ptout[0].y = pos.y;
+ ptout[0].time = GetTickCount();
+ ptout[0].dwExtraInfo = 0;
+ return 1;
+ }
SetLastError(ERROR_POINT_NOT_FOUND);
return -1;
diff --git a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
index 668b8c02fb..7ac7e36e70 100644
--- a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
@@ -150,7 +150,7 @@
@ stub _o___stdio_common_vfprintf_p
@ stub _o___stdio_common_vfprintf_s
@ stub _o___stdio_common_vfscanf
-@ stub _o___stdio_common_vfwprintf
+@ cdecl _o___stdio_common_vfwprintf(int64 ptr wstr ptr ptr) ucrtbase._o___stdio_common_vfwprintf
@ stub _o___stdio_common_vfwprintf_p
@ stub _o___stdio_common_vfwprintf_s
@ stub _o___stdio_common_vfwscanf
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index c4807128a1..3a00f36f3c 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -814,7 +814,7 @@
@ stub _o___stdio_common_vfprintf_p
@ stub _o___stdio_common_vfprintf_s
@ stub _o___stdio_common_vfscanf
-@ stub _o___stdio_common_vfwprintf
+@ cdecl _o___stdio_common_vfwprintf(int64 ptr wstr ptr ptr) MSVCRT__stdio_common_vfwprintf
@ stub _o___stdio_common_vfwprintf_p
@ stub _o___stdio_common_vfwprintf_s
@ stub _o___stdio_common_vfwscanf
diff --git a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
index 7ac7e36e70..01f295f25f 100644
--- a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
@@ -160,7 +160,7 @@
@ stub _o___stdio_common_vsprintf_p
@ cdecl _o___stdio_common_vsprintf_s(int64 ptr long str ptr ptr) ucrtbase._o___stdio_common_vsprintf_s
@ stub _o___stdio_common_vsscanf
-@ stub _o___stdio_common_vswprintf
+@ cdecl _o___stdio_common_vswprintf(int64 ptr long wstr ptr ptr) ucrtbase._o___stdio_common_vswprintf
@ stub _o___stdio_common_vswprintf_p
@ stub _o___stdio_common_vswprintf_s
@ stub _o___stdio_common_vswscanf
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index 3a00f36f3c..1c039d0715 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -824,7 +824,7 @@
@ stub _o___stdio_common_vsprintf_p
@ cdecl _o___stdio_common_vsprintf_s(int64 ptr long str ptr ptr) MSVCRT__stdio_common_vsprintf_s
@ stub _o___stdio_common_vsscanf
-@ stub _o___stdio_common_vswprintf
+@ cdecl _o___stdio_common_vswprintf(int64 ptr long wstr ptr ptr) MSVCRT__stdio_common_vswprintf
@ stub _o___stdio_common_vswprintf_p
@ stub _o___stdio_common_vswprintf_s
@ stub _o___stdio_common_vswscanf
@Soupstraw
Copy link

Could it be that it needs at least two point to calculate the mouse movement delta or something?
Just a wild guess.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment