aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/UI/UIScene_AbstractContainerMenu.cpp
diff options
context:
space:
mode:
authorAyush Thoren <ayushthoren@gmail.com>2026-03-23 19:06:20 -0700
committerGitHub <noreply@github.com>2026-03-23 21:06:20 -0500
commited9cbae3f7cdcb8596b508f30075670e728655c6 (patch)
tree381a2212cb95003749288ea83bc70413698912e4 /Minecraft.Client/Common/UI/UIScene_AbstractContainerMenu.cpp
parentdaed75b8a18ebff56e89ca66c812f8db57f7635b (diff)
Fix initial cursor position for in-game UI elements (#1120)
Signed-off-by: Ayush Thoren <ayushthoren@gmail.com>
Diffstat (limited to 'Minecraft.Client/Common/UI/UIScene_AbstractContainerMenu.cpp')
-rw-r--r--Minecraft.Client/Common/UI/UIScene_AbstractContainerMenu.cpp20
1 files changed, 8 insertions, 12 deletions
diff --git a/Minecraft.Client/Common/UI/UIScene_AbstractContainerMenu.cpp b/Minecraft.Client/Common/UI/UIScene_AbstractContainerMenu.cpp
index 0c3b6096..c5dc0554 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;