summaryrefslogtreecommitdiffstats
path: root/src/core/Pad.cpp
diff options
context:
space:
mode:
authoreray orçunus <erayorcunus@gmail.com>2020-07-24 19:43:51 +0200
committereray orçunus <erayorcunus@gmail.com>2020-07-24 20:02:55 +0200
commitad6094ca1d9b54b32ae8153c771e8e6f9308103a (patch)
tree929528298d437e2868071683228743f47accc173 /src/core/Pad.cpp
parentMerge pull request #661 from erorcun/miami (diff)
downloadre3-ad6094ca1d9b54b32ae8153c771e8e6f9308103a.tar
re3-ad6094ca1d9b54b32ae8153c771e8e6f9308103a.tar.gz
re3-ad6094ca1d9b54b32ae8153c771e8e6f9308103a.tar.bz2
re3-ad6094ca1d9b54b32ae8153c771e8e6f9308103a.tar.lz
re3-ad6094ca1d9b54b32ae8153c771e8e6f9308103a.tar.xz
re3-ad6094ca1d9b54b32ae8153c771e8e6f9308103a.tar.zst
re3-ad6094ca1d9b54b32ae8153c771e8e6f9308103a.zip
Diffstat (limited to 'src/core/Pad.cpp')
-rw-r--r--src/core/Pad.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/core/Pad.cpp b/src/core/Pad.cpp
index 685256e3..8043bb6c 100644
--- a/src/core/Pad.cpp
+++ b/src/core/Pad.cpp
@@ -722,9 +722,9 @@ CMouseControllerState CMousePointerStateHelper::GetMouseSetUp()
void CPad::UpdateMouse()
{
+#if defined RW_D3D9 || defined RWLIBS
if ( IsForegroundApp() )
{
-#if defined RW_D3D9 || defined RWLIBS
if ( PSGLOBAL(mouse) == nil )
_InputInitialiseMouse(!FrontEndMenuManager.m_bMenuActive && _InputMouseNeedsExclusive());
@@ -761,7 +761,10 @@ void CPad::UpdateMouse()
OldMouseControllerState = NewMouseControllerState;
NewMouseControllerState = PCTempMouseControllerState;
}
+ }
#else
+ if ( IsForegroundApp() && PSGLOBAL(cursorIsInWindow) )
+ {
double xpos = 1.0f, ypos;
glfwGetCursorPos(PSGLOBAL(window), &xpos, &ypos);
if (xpos == 0.f)
@@ -799,8 +802,8 @@ void CPad::UpdateMouse()
OldMouseControllerState = NewMouseControllerState;
NewMouseControllerState = PCTempMouseControllerState;
-#endif
}
+#endif
}
CControllerState CPad::ReconcileTwoControllersInput(CControllerState const &State1, CControllerState const &State2)
@@ -1451,6 +1454,13 @@ void CPad::UpdatePads(void)
#else
CapturePad(0);
#endif
+
+ // Improve keyboard input latency part 1
+#ifdef FIX_BUGS
+ OldKeyState = NewKeyState;
+ NewKeyState = TempKeyState;
+#endif
+
#ifdef DETECT_PAD_INPUT_SWITCH
if (GetPad(0)->PCTempJoyState.CheckForInput())
IsAffectedByController = true;
@@ -1472,7 +1482,7 @@ void CPad::UpdatePads(void)
if ( bUpdate )
{
GetPad(0)->Update(0);
- GetPad(1)->Update(0);
+ // GetPad(1)->Update(0); // not in VC
}
#if defined(MASTER) && !defined(XINPUT)
@@ -1480,8 +1490,11 @@ void CPad::UpdatePads(void)
GetPad(1)->OldState.Clear();
#endif
+ // Improve keyboard input latency part 2
+#ifndef FIX_BUGS
OldKeyState = NewKeyState;
NewKeyState = TempKeyState;
+#endif
}
void CPad::ProcessPCSpecificStuff(void)