mirror of
https://github.com/smartcmd/MinecraftConsoles.git
synced 2026-03-25 14:21:55 +02:00
Fix initial cursor position for in-game UI elements (#1120)
Signed-off-by: Ayush Thoren <ayushthoren@gmail.com>
This commit is contained in:
@@ -17,8 +17,6 @@
|
|||||||
|
|
||||||
#ifdef _WINDOWS64
|
#ifdef _WINDOWS64
|
||||||
#include "..\..\Windows64\KeyboardMouseInput.h"
|
#include "..\..\Windows64\KeyboardMouseInput.h"
|
||||||
|
|
||||||
SavedInventoryCursorPos g_savedInventoryCursorPos = { 0.0f, 0.0f, false };
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
IUIScene_AbstractContainerMenu::IUIScene_AbstractContainerMenu()
|
IUIScene_AbstractContainerMenu::IUIScene_AbstractContainerMenu()
|
||||||
|
|||||||
@@ -1,15 +1,5 @@
|
|||||||
#pragma once
|
#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.
|
// 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.
|
// 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
|
// 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
|
||||||
|
|||||||
@@ -41,10 +41,6 @@ void UIScene_AbstractContainerMenu::handleDestroy()
|
|||||||
app.DebugPrintf("UIScene_AbstractContainerMenu::handleDestroy\n");
|
app.DebugPrintf("UIScene_AbstractContainerMenu::handleDestroy\n");
|
||||||
|
|
||||||
#ifdef _WINDOWS64
|
#ifdef _WINDOWS64
|
||||||
g_savedInventoryCursorPos.x = m_pointerPos.x;
|
|
||||||
g_savedInventoryCursorPos.y = m_pointerPos.y;
|
|
||||||
g_savedInventoryCursorPos.hasSavedPos = true;
|
|
||||||
|
|
||||||
g_KBMInput.SetScreenCursorHidden(false);
|
g_KBMInput.SetScreenCursorHidden(false);
|
||||||
g_KBMInput.SetCursorHiddenForUI(false);
|
g_KBMInput.SetCursorHiddenForUI(false);
|
||||||
#endif
|
#endif
|
||||||
@@ -173,16 +169,16 @@ void UIScene_AbstractContainerMenu::PlatformInitialize(int iPad, int startIndex)
|
|||||||
m_pointerPos = vPointerPos;
|
m_pointerPos = vPointerPos;
|
||||||
|
|
||||||
#ifdef _WINDOWS64
|
#ifdef _WINDOWS64
|
||||||
if (g_savedInventoryCursorPos.hasSavedPos)
|
if ((iPad == 0) && g_KBMInput.IsKBMActive())
|
||||||
{
|
{
|
||||||
m_pointerPos.x = g_savedInventoryCursorPos.x;
|
m_pointerPos.x = ((m_fPanelMinX + m_fPanelMaxX) * 0.5f) - m_fPointerImageOffsetX;
|
||||||
m_pointerPos.y = g_savedInventoryCursorPos.y;
|
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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
|
#endif
|
||||||
|
|
||||||
IggyEvent mouseEvent;
|
IggyEvent mouseEvent;
|
||||||
|
|||||||
Reference in New Issue
Block a user