From 6f3cc2a4400aedf4c614b01baf018b2cb7c6901b Mon Sep 17 00:00:00 2001 From: Gleb Mazovetskiy Date: Mon, 28 Oct 2019 21:32:43 +0000 Subject: [PATCH] SDL1 fixes --- SourceX/controls/devices/kbcontroller.cpp | 2 +- SourceX/miniwin/misc_msg.cpp | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/SourceX/controls/devices/kbcontroller.cpp b/SourceX/controls/devices/kbcontroller.cpp index 6653c5297..af27eec28 100644 --- a/SourceX/controls/devices/kbcontroller.cpp +++ b/SourceX/controls/devices/kbcontroller.cpp @@ -32,7 +32,7 @@ namespace { bool IsModifierKey() { #ifdef KBCTRL_MODIFIER_KEY - return SDLC_GetKeyboardState(nullptr)[KBCTRL_MODIFIER_KEY]; + return SDLC_GetKeyState(nullptr)[KBCTRL_MODIFIER_KEY]; #else return false; #endif diff --git a/SourceX/miniwin/misc_msg.cpp b/SourceX/miniwin/misc_msg.cpp index eeac83094..a31773523 100644 --- a/SourceX/miniwin/misc_msg.cpp +++ b/SourceX/miniwin/misc_msg.cpp @@ -207,6 +207,11 @@ void SetMouseLMBMessage(const SDL_Event &event, LPMSG lpMsg) lpMsg->lParam = (MouseY << 16) | (MouseX & 0xFFFF); break; #endif + case SDL_JOYBUTTONDOWN: + case SDL_JOYBUTTONUP: + lpMsg->message = event.type == SDL_JOYBUTTONUP ? DVL_WM_LBUTTONUP : DVL_WM_LBUTTONDOWN; + lpMsg->lParam = (MouseY << 16) | (MouseX & 0xFFFF); + break; case SDL_MOUSEBUTTONDOWN: case SDL_MOUSEBUTTONUP: lpMsg->message = event.type == SDL_MOUSEBUTTONUP ? DVL_WM_LBUTTONUP : DVL_WM_LBUTTONDOWN; @@ -218,9 +223,7 @@ void SetMouseLMBMessage(const SDL_Event &event, LPMSG lpMsg) lpMsg->lParam = (MouseY << 16) | (MouseX & 0xFFFF); break; default: - lpMsg->message = event.type == DVL_WM_LBUTTONUP; - lpMsg->lParam = (MouseY << 16) | (MouseX & 0xFFFF); - break; + UNIMPLEMENTED(); } if (lpMsg->message == DVL_WM_LBUTTONUP || lpMsg->message == DVL_WM_LBUTTONDOWN) lpMsg->wParam = keystate_for_mouse(lpMsg->message == DVL_WM_LBUTTONUP ? 0 : DVL_MK_LBUTTON); @@ -562,7 +565,7 @@ SHORT GetAsyncKeyState(int vKey) return SDL_GetMouseState(NULL, NULL) & SDL_BUTTON(SDL_BUTTON_LEFT); if (vKey == DVL_MK_RBUTTON) return SDL_GetMouseState(NULL, NULL) & SDL_BUTTON(SDL_BUTTON_RIGHT); - const Uint8 *state = SDLC_GetKeyboardState(); + const Uint8 *state = SDLC_GetKeyState(); switch (vKey) { case DVL_VK_SHIFT: return state[SDLC_KEYSTATE_LEFTSHIFT] || state[SDLC_KEYSTATE_RIGHTSHIFT] ? 0x8000 : 0;