From 801d31f68e3e618fa2a4845fd53e554134a77fa8 Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Tue, 10 Sep 2024 15:40:35 +0200 Subject: [PATCH] Revert "don't update cursor pos in mouse hook" This reverts commit c1a5a3895b53462bb5fa8feac57a1b240538e780. --- src/mouse.c | 3 +++ src/winapi_hooks.c | 4 ---- src/wndproc.c | 3 --- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/mouse.c b/src/mouse.c index 3e0d0ac..df05989 100644 --- a/src/mouse.c +++ b/src/mouse.c @@ -168,6 +168,9 @@ LRESULT CALLBACK mouse_gm_hook_proc(int code, WPARAM wParam, LPARAM lParam) x = min(x, g_ddraw.width - 1); y = min(y, g_ddraw.height - 1); + InterlockedExchange((LONG*)&g_ddraw.cursor.x, x); + InterlockedExchange((LONG*)&g_ddraw.cursor.y, y); + msg->lParam = MAKELPARAM(x, y); break; diff --git a/src/winapi_hooks.c b/src/winapi_hooks.c index f931f96..a7e22cc 100644 --- a/src/winapi_hooks.c +++ b/src/winapi_hooks.c @@ -675,12 +675,8 @@ void HandleMessage(LPMSG lpMsg, HWND hWnd) { // Does not work with 'New Robinson' lpMsg->message = (UINT)MAKELONG(WM_NULL, HIWORD(lpMsg->message)); - break; } - InterlockedExchange((LONG*)&g_ddraw.cursor.x, GET_X_LPARAM(lpMsg->lParam)); - InterlockedExchange((LONG*)&g_ddraw.cursor.y, GET_Y_LPARAM(lpMsg->lParam)); - break; } } diff --git a/src/wndproc.c b/src/wndproc.c index c0993b1..cc87bd2 100644 --- a/src/wndproc.c +++ b/src/wndproc.c @@ -816,9 +816,6 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam return 0; } - InterlockedExchange((LONG*)&g_ddraw.cursor.x, GET_X_LPARAM(lParam)); - InterlockedExchange((LONG*)&g_ddraw.cursor.y, GET_Y_LPARAM(lParam)); - break; } case WM_PARENTNOTIFY: