From a8d4bff423b8441f4f0b2fe910dbd003b7b6c21a Mon Sep 17 00:00:00 2001 From: Max Weber Date: Tue, 7 Apr 2020 02:43:17 -0600 Subject: [PATCH] camera: add option to invert camera mouse controls --- .../main/java/net/runelite/api/Client.java | 10 +++++++++ .../client/plugins/camera/CameraConfig.java | 22 +++++++++++++++++++ .../client/plugins/camera/CameraPlugin.java | 13 +++++++++-- 3 files changed, 43 insertions(+), 2 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java index e43a067701..2fbd789c9f 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -1184,6 +1184,16 @@ public interface Client extends GameEngine */ void setCameraPitchRelaxerEnabled(boolean enabled); + /** + * Sets if the moving the camera horizontally should be backwards + */ + void setInvertYaw(boolean invertYaw); + + /** + * Sets if the moving the camera vertically should be backwards + */ + void setInvertPitch(boolean invertPitch); + /** * Gets the world map overview. * diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/camera/CameraConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/camera/CameraConfig.java index 32c2e3ba0d..4c406af095 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/camera/CameraConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/camera/CameraConfig.java @@ -158,4 +158,26 @@ public interface CameraConfig extends Config { return true; } + + @ConfigItem( + keyName = "invertYaw", + name = "Invert Yaw", + description = "Makes moving the camera horizontally with the mouse backwards", + position = 11 + ) + default boolean invertYaw() + { + return false; + } + + @ConfigItem( + keyName = "invertPitch", + name = "Invert Pitch", + description = "Makes moving the camera vertically with the mouse backwards", + position = 12 + ) + default boolean invertPitch() + { + return false; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/camera/CameraPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/camera/CameraPlugin.java index 0b2c0c600f..945f7434f5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/camera/CameraPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/camera/CameraPlugin.java @@ -113,7 +113,7 @@ public class CameraPlugin extends Plugin implements KeyListener, MouseListener rightClick = false; middleClick = false; menuHasEntries = false; - client.setCameraPitchRelaxerEnabled(config.relaxCameraPitch()); + copyConfigs(); keyManager.registerKeyListener(this); mouseManager.registerMouseListener(this); overlayManager.add(cameraOverlay); @@ -124,11 +124,20 @@ public class CameraPlugin extends Plugin implements KeyListener, MouseListener { overlayManager.remove(cameraOverlay); client.setCameraPitchRelaxerEnabled(false); + client.setInvertYaw(false); + client.setInvertPitch(false); keyManager.unregisterKeyListener(this); mouseManager.unregisterMouseListener(this); controlDown = false; } + void copyConfigs() + { + client.setCameraPitchRelaxerEnabled(config.relaxCameraPitch()); + client.setInvertYaw(config.invertYaw()); + client.setInvertPitch(config.invertPitch()); + } + @Subscribe public void onMenuEntryAdded(MenuEntryAdded menuEntryAdded) { @@ -238,7 +247,7 @@ public class CameraPlugin extends Plugin implements KeyListener, MouseListener @Subscribe public void onConfigChanged(ConfigChanged ev) { - client.setCameraPitchRelaxerEnabled(config.relaxCameraPitch()); + copyConfigs(); } @Override