diff --git a/Minecraft.Client/Common/UI/IUIScene_AbstractContainerMenu.cpp b/Minecraft.Client/Common/UI/IUIScene_AbstractContainerMenu.cpp index d18bfd8fc..36b82a79d 100644 --- a/Minecraft.Client/Common/UI/IUIScene_AbstractContainerMenu.cpp +++ b/Minecraft.Client/Common/UI/IUIScene_AbstractContainerMenu.cpp @@ -16,8 +16,6 @@ #ifdef _WINDOWS64 #include "..\..\Windows64\KeyboardMouseInput.h" - -SavedInventoryCursorPos g_savedInventoryCursorPos = { 0.0f, 0.0f, false }; #endif IUIScene_AbstractContainerMenu::IUIScene_AbstractContainerMenu() diff --git a/Minecraft.Client/Common/UI/IUIScene_AbstractContainerMenu.h b/Minecraft.Client/Common/UI/IUIScene_AbstractContainerMenu.h index 718a2d447..6710e18f5 100644 --- a/Minecraft.Client/Common/UI/IUIScene_AbstractContainerMenu.h +++ b/Minecraft.Client/Common/UI/IUIScene_AbstractContainerMenu.h @@ -1,15 +1,5 @@ #pragma once -#ifdef _WINDOWS64 -struct SavedInventoryCursorPos -{ - float x; - float y; - bool hasSavedPos; -}; -extern SavedInventoryCursorPos g_savedInventoryCursorPos; -#endif - // Uncomment to enable tap input detection to jump 1 slot. Doesn't work particularly well yet, and I feel the system does not need it. // Would probably be required if we decide to slow down the pointer movement. // 4J Stu - There was a request to be able to navigate the scenes with the dpad, so I have used much of the TAP_DETECTION diff --git a/Minecraft.Client/Common/UI/UIScene_AbstractContainerMenu.cpp b/Minecraft.Client/Common/UI/UIScene_AbstractContainerMenu.cpp index 0c3b6096d..c5dc0554b 100644 --- a/Minecraft.Client/Common/UI/UIScene_AbstractContainerMenu.cpp +++ b/Minecraft.Client/Common/UI/UIScene_AbstractContainerMenu.cpp @@ -41,10 +41,6 @@ void UIScene_AbstractContainerMenu::handleDestroy() app.DebugPrintf("UIScene_AbstractContainerMenu::handleDestroy\n"); #ifdef _WINDOWS64 - g_savedInventoryCursorPos.x = m_pointerPos.x; - g_savedInventoryCursorPos.y = m_pointerPos.y; - g_savedInventoryCursorPos.hasSavedPos = true; - g_KBMInput.SetScreenCursorHidden(false); g_KBMInput.SetCursorHiddenForUI(false); #endif @@ -173,16 +169,16 @@ void UIScene_AbstractContainerMenu::PlatformInitialize(int iPad, int startIndex) m_pointerPos = vPointerPos; #ifdef _WINDOWS64 - if (g_savedInventoryCursorPos.hasSavedPos) + if ((iPad == 0) && g_KBMInput.IsKBMActive()) { - m_pointerPos.x = g_savedInventoryCursorPos.x; - m_pointerPos.y = g_savedInventoryCursorPos.y; - - if (m_pointerPos.x < m_fPointerMinX) m_pointerPos.x = m_fPointerMinX; - if (m_pointerPos.x > m_fPointerMaxX) m_pointerPos.x = m_fPointerMaxX; - if (m_pointerPos.y < m_fPointerMinY) m_pointerPos.y = m_fPointerMinY; - if (m_pointerPos.y > m_fPointerMaxY) m_pointerPos.y = m_fPointerMaxY; + m_pointerPos.x = ((m_fPanelMinX + m_fPanelMaxX) * 0.5f) - m_fPointerImageOffsetX; + m_pointerPos.y = ((m_fPanelMinY + m_fPanelMaxY) * 0.5f) - m_fPointerImageOffsetY; } + + if (m_pointerPos.x < m_fPointerMinX) m_pointerPos.x = m_fPointerMinX; + if (m_pointerPos.x > m_fPointerMaxX) m_pointerPos.x = m_fPointerMaxX; + if (m_pointerPos.y < m_fPointerMinY) m_pointerPos.y = m_fPointerMinY; + if (m_pointerPos.y > m_fPointerMaxY) m_pointerPos.y = m_fPointerMaxY; #endif IggyEvent mouseEvent;