diff --git a/Scripts/Misc/CameraController.cs b/Scripts/Misc/CameraController.cs index 38c45303..2397d96f 100644 --- a/Scripts/Misc/CameraController.cs +++ b/Scripts/Misc/CameraController.cs @@ -126,6 +126,10 @@ public partial class CameraController : Camera2D private Vector2 GetAimDirection() { + Vector2 screenSize = GetViewportRect().Size; + Vector2 aspectFix = new Vector2(1f, screenSize.X / screenSize.Y); // Stretch Y to match X range + + // Check controller stick input Vector2 stickDir = new Vector2( Input.GetActionStrength(AimRightName) - Input.GetActionStrength(AimLeftName), @@ -142,7 +146,8 @@ public partial class CameraController : Camera2D // Mouse input Vector2 screenCenter = GetViewportRect().Size / 2f; Vector2 mousePos = GetViewport().GetMousePosition(); - Vector2 dir = mousePos - screenCenter; + mousePos = mousePos.Clamp(Vector2.Zero, screenSize); + Vector2 dir = (mousePos - screenCenter) * aspectFix; float dist = dir.Length(); // Use a pixel-based deadzone for mouse