Fix gamepad mouse clamping when in game.

This commit is contained in:
SerpentSpirale 2021-07-19 09:08:16 +02:00
parent 9f93161aca
commit a4b37a7929

View File

@ -1,12 +1,16 @@
package net.kdt.pojavlaunch.customcontrols.gamepad; package net.kdt.pojavlaunch.customcontrols.gamepad;
import android.view.InputDevice; import android.view.InputDevice;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.Toast; import android.widget.Toast;
import androidx.core.math.MathUtils;
import net.kdt.pojavlaunch.BaseMainActivity; import net.kdt.pojavlaunch.BaseMainActivity;
import net.kdt.pojavlaunch.LWJGLGLFWKeycode; import net.kdt.pojavlaunch.LWJGLGLFWKeycode;
import net.kdt.pojavlaunch.MainActivity; import net.kdt.pojavlaunch.MainActivity;
@ -120,8 +124,10 @@ public class Gamepad {
CallbackBridge.mouseX += Math.cos(mouseAngle) * acceleration * mouseSensitivity; CallbackBridge.mouseX += Math.cos(mouseAngle) * acceleration * mouseSensitivity;
CallbackBridge.mouseY -= Math.sin(mouseAngle) * acceleration * mouseSensitivity; CallbackBridge.mouseY -= Math.sin(mouseAngle) * acceleration * mouseSensitivity;
CallbackBridge.mouseX = MathUtils.clamp(CallbackBridge.mouseX, 0, CallbackBridge.windowWidth); if(!CallbackBridge.isGrabbing()) {
CallbackBridge.mouseY = MathUtils.clamp(CallbackBridge.mouseY, 0, CallbackBridge.windowHeight); 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_x = CallbackBridge.mouseX;
gameActivity.mouse_y = CallbackBridge.mouseY; gameActivity.mouse_y = CallbackBridge.mouseY;