From 18571714e1a4ebd382c62deec423ed8dbb2bb093 Mon Sep 17 00:00:00 2001 From: Helloyunho Date: Sun, 6 Jul 2025 01:25:01 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=91=E2=80=8D=F0=9F=92=BB=20chore:=20se?= =?UTF-8?q?parate=20cursor=20movement=20part?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ISLE/isleapp.cpp | 45 +++++++++++++++++++++++++-------------------- ISLE/isleapp.h | 2 ++ 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/ISLE/isleapp.cpp b/ISLE/isleapp.cpp index 9456a653..bb13d075 100644 --- a/ISLE/isleapp.cpp +++ b/ISLE/isleapp.cpp @@ -386,26 +386,7 @@ SDL_AppResult SDL_AppIterate(void* appstate) g_mousemoved = FALSE; } - if (g_lastJoystickMouseX != 0 || g_lastJoystickMouseY != 0) { - g_mousemoved = TRUE; - - g_lastMouseX = SDL_clamp(g_lastMouseX + g_lastJoystickMouseX, 0, 640); - g_lastMouseY = SDL_clamp(g_lastMouseY + g_lastJoystickMouseY, 0, 480); - - if (InputManager()) { - InputManager()->QueueEvent( - c_notificationMouseMove, - g_mousedown ? LegoEventNotificationParam::c_lButtonState : 0, - g_lastMouseX, - g_lastMouseY, - 0 - ); - } - - if (g_isle->GetDrawCursor()) { - VideoManager()->MoveCursor(Min((MxS32) g_lastMouseX, 639), Min((MxS32) g_lastMouseY, 479)); - } - } + MoveVirtualCursorViaJoystick(); } return SDL_APP_CONTINUE; @@ -1294,3 +1275,27 @@ IDirect3DRMMiniwinDevice* GetD3DRMMiniwinDevice() } return d3drmMiniwinDev; } + +void MoveVirtualCursorViaJoystick() +{ + if (g_lastJoystickMouseX != 0 || g_lastJoystickMouseY != 0) { + g_mousemoved = TRUE; + + g_lastMouseX = SDL_clamp(g_lastMouseX + g_lastJoystickMouseX, 0, 640); + g_lastMouseY = SDL_clamp(g_lastMouseY + g_lastJoystickMouseY, 0, 480); + + if (InputManager()) { + InputManager()->QueueEvent( + c_notificationMouseMove, + g_mousedown ? LegoEventNotificationParam::c_lButtonState : 0, + g_lastMouseX, + g_lastMouseY, + 0 + ); + } + + if (g_isle->GetDrawCursor()) { + VideoManager()->MoveCursor(Min((MxS32) g_lastMouseX, 639), Min((MxS32) g_lastMouseY, 479)); + } + } +} diff --git a/ISLE/isleapp.h b/ISLE/isleapp.h index 970753e4..c5e3a612 100644 --- a/ISLE/isleapp.h +++ b/ISLE/isleapp.h @@ -107,4 +107,6 @@ extern MxS32 g_closed; extern IDirect3DRMMiniwinDevice* GetD3DRMMiniwinDevice(); +void MoveVirtualCursorViaJoystick(); + #endif // ISLEAPP_H