From 31d2bbe352d116c0c539257d2a54612efc62d26e Mon Sep 17 00:00:00 2001 From: pagefault <> Date: Mon, 24 Sep 2001 03:18:56 +0000 Subject: [PATCH] Better mouse fix --- zsnes/src/win/winlink.cpp | 185 +++++++++++++++++++------------------- 1 file changed, 91 insertions(+), 94 deletions(-) diff --git a/zsnes/src/win/winlink.cpp b/zsnes/src/win/winlink.cpp index 5d11fe0b..0aa9fddd 100644 --- a/zsnes/src/win/winlink.cpp +++ b/zsnes/src/win/winlink.cpp @@ -2595,6 +2595,97 @@ void WinUpdateDevices() } +extern BYTE snesmouse; + +int GetMouseX(void) +{ + InputRead(); + MouseX += MouseMoveX; + + if (MouseX > MouseMaxX) + { + MouseX = MouseMaxX; + + if (TrapMouseCursor == 1) + { + if (abs(MouseMoveX) > 10 && T36HZEnabled == 1 && FullScreen == 0 && Moving == 1) + { + MouseInput->Unacquire(); + SetCursorPos(X + WindowWidth + 32, Y + (MouseY * WindowHeight / 224)); + } + } + else if (FullScreen == 0 && snesmouse == 0 && Moving == 1) + { + MouseInput->Unacquire(); + SetCursorPos(X + WindowWidth + 1, Y + (MouseY * WindowHeight / 224)); + } + } + + if (MouseX < MouseMinX) + { + MouseX = MouseMinX; + + if (TrapMouseCursor == 1) + { + if (abs(MouseMoveX) > 10 && T36HZEnabled == 1 && FullScreen == 0 && Moving == 1) + { + MouseInput->Unacquire(); + SetCursorPos(X - 32, Y + (MouseY * WindowHeight / 224)); + } + } + else if (FullScreen == 0 && snesmouse == 0 && Moving == 1) + { + MouseInput->Unacquire(); + SetCursorPos(X - 1, Y + (MouseY * WindowHeight / 224)); + } + } + return((int) MouseX); +} + +int GetMouseY(void) +{ + MouseY += MouseMoveY; + + if (MouseY > MouseMaxY) + { + MouseY = MouseMaxY; + + if (TrapMouseCursor == 1) + { + if (abs(MouseMoveY) > 10 && T36HZEnabled == 1 && FullScreen == 0 && Moving == 1) + { + MouseInput->Unacquire(); + SetCursorPos(X+(MouseX * WindowWidth / 256), Y + WindowHeight + 32); + } + } + else if (FullScreen == 0 && snesmouse == 0 && Moving == 1) + { + MouseInput->Unacquire(); + SetCursorPos(X+(MouseX * WindowWidth / 256), Y + WindowHeight + 1); + } + } + + if (MouseY < MouseMinY) + { + MouseY = MouseMinY; + + if (TrapMouseCursor == 1) + { + if (abs(MouseMoveY) > 10 && T36HZEnabled == 1 && FullScreen == 0 && Moving == 1) + { + MouseInput->Unacquire(); + SetCursorPos(X + (MouseX * WindowWidth / 256), Y - 32); + } + } + else if (FullScreen == 0 && snesmouse == 0 && Moving == 1) + { + MouseInput->Unacquire(); + SetCursorPos(X + (MouseX * WindowWidth / 256), Y - 1); + } + } + + return((int) MouseY); +} int GetMouseButton(void) { @@ -2622,100 +2713,6 @@ int GetMouseButton(void) return((int) MouseButton); } - - -extern BYTE snesmouse; - -int GetMouseX(void) -{ - InputRead(); - MouseX += MouseMoveX; - - if (MouseX > MouseMaxX) - { - MouseX = MouseMaxX; - - if (TrapMouseCursor == 1) - { - if (abs(MouseMoveX) > 10 && T36HZEnabled == 1 && FullScreen == 0 && GetMouseButton() == 0) - { - MouseInput->Unacquire(); - SetCursorPos(X + WindowWidth + 32, Y + (MouseY * WindowHeight / 224)); - } - } - else if (FullScreen == 0 && snesmouse == 0 && GetMouseButton() == 0) - { - MouseInput->Unacquire(); - SetCursorPos(X + WindowWidth + 1, Y + (MouseY * WindowHeight / 224)); - } - } - - if (MouseX < MouseMinX) - { - MouseX = MouseMinX; - - if (TrapMouseCursor == 1) - { - if (abs(MouseMoveX) > 10 && T36HZEnabled == 1 && FullScreen == 0 && GetMouseButton() == 0) - { - MouseInput->Unacquire(); - SetCursorPos(X - 32, Y + (MouseY * WindowHeight / 224)); - } - } - else if (FullScreen == 0 && snesmouse == 0 && GetMouseButton() == 0) - { - MouseInput->Unacquire(); - SetCursorPos(X - 1, Y + (MouseY * WindowHeight / 224)); - } - } - return((int) MouseX); -} - -int GetMouseY(void) -{ - MouseY += MouseMoveY; - - if (MouseY > MouseMaxY) - { - MouseY = MouseMaxY; - - if (TrapMouseCursor == 1) - { - if (abs(MouseMoveY) > 10 && T36HZEnabled == 1 && FullScreen == 0 && GetMouseButton() == 0) - { - MouseInput->Unacquire(); - SetCursorPos(X+(MouseX * WindowWidth / 256), Y + WindowHeight + 32); - } - } - else if (FullScreen == 0 && snesmouse == 0 && GetMouseButton() == 0) - { - MouseInput->Unacquire(); - SetCursorPos(X+(MouseX * WindowWidth / 256), Y + WindowHeight + 1); - } - } - - if (MouseY < MouseMinY) - { - MouseY = MouseMinY; - - if (TrapMouseCursor == 1) - { - if (abs(MouseMoveY) > 10 && T36HZEnabled == 1 && FullScreen == 0 && GetMouseButton() == 0) - { - MouseInput->Unacquire(); - SetCursorPos(X + (MouseX * WindowWidth / 256), Y - 32); - } - } - else if (FullScreen == 0 && snesmouse == 0 && GetMouseButton() == 0) - { - MouseInput->Unacquire(); - SetCursorPos(X + (MouseX * WindowWidth / 256), Y - 1); - } - } - - return((int) MouseY); -} - int GetMouseMoveX(void) { MouseMove2X=MouseMoveX;