From a4b37a79291f8be120fa46e4dcdb21fc196539e8 Mon Sep 17 00:00:00 2001 From: SerpentSpirale Date: Mon, 19 Jul 2021 09:08:16 +0200 Subject: [PATCH] Fix gamepad mouse clamping when in game. --- .../pojavlaunch/customcontrols/gamepad/Gamepad.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/gamepad/Gamepad.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/gamepad/Gamepad.java index 6952a9886..7b5c6d322 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/gamepad/Gamepad.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/gamepad/Gamepad.java @@ -1,12 +1,16 @@ package net.kdt.pojavlaunch.customcontrols.gamepad; + import android.view.InputDevice; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.View; +import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.Toast; +import androidx.core.math.MathUtils; + import net.kdt.pojavlaunch.BaseMainActivity; import net.kdt.pojavlaunch.LWJGLGLFWKeycode; import net.kdt.pojavlaunch.MainActivity; @@ -120,8 +124,10 @@ public class Gamepad { CallbackBridge.mouseX += Math.cos(mouseAngle) * acceleration * mouseSensitivity; CallbackBridge.mouseY -= Math.sin(mouseAngle) * acceleration * mouseSensitivity; - CallbackBridge.mouseX = MathUtils.clamp(CallbackBridge.mouseX, 0, CallbackBridge.windowWidth); - CallbackBridge.mouseY = MathUtils.clamp(CallbackBridge.mouseY, 0, CallbackBridge.windowHeight); + if(!CallbackBridge.isGrabbing()) { + CallbackBridge.mouseX = MathUtils.clamp(CallbackBridge.mouseX, 0, CallbackBridge.windowWidth); + CallbackBridge.mouseY = MathUtils.clamp(CallbackBridge.mouseY, 0, CallbackBridge.windowHeight); + } gameActivity.mouse_x = CallbackBridge.mouseX; gameActivity.mouse_y = CallbackBridge.mouseY;