From ab7023fac54ee795638ca2a12cb628126409fe40 Mon Sep 17 00:00:00 2001 From: Hydrox6 Date: Tue, 23 Feb 2021 18:24:26 +0000 Subject: [PATCH] camera: add option to preserve pitch on compass look menu entries --- .../client/plugins/camera/CameraConfig.java | 15 +++++++++++++-- .../client/plugins/camera/CameraPlugin.java | 6 ++++++ .../src/main/scripts/ToplevelCompassOp.rs2asm | 2 ++ 3 files changed, 21 insertions(+), 2 deletions(-) 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 4c406af095..5f019c82ca 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 @@ -159,11 +159,22 @@ public interface CameraConfig extends Config return true; } + @ConfigItem( + keyName = "compassLookPreservePitch", + name = "Preserve pitch on compass look", + description = "Preserves the current pitch value (vertical angle) when using the compass look options.", + position = 11 + ) + default boolean compassLookPreservePitch() + { + return false; + } + @ConfigItem( keyName = "invertYaw", name = "Invert Yaw", description = "Makes moving the camera horizontally with the mouse backwards", - position = 11 + position = 12 ) default boolean invertYaw() { @@ -174,7 +185,7 @@ public interface CameraConfig extends Config keyName = "invertPitch", name = "Invert Pitch", description = "Makes moving the camera vertically with the mouse backwards", - position = 12 + position = 13 ) default boolean invertPitch() { 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 3c2076a1aa..904420080a 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 @@ -249,6 +249,12 @@ public class CameraPlugin extends Plugin implements KeyListener, MouseListener return; } + if ("lookPreservePitch".equals(event.getEventName()) && config.compassLookPreservePitch()) + { + intStack[intStackSize - 1] = client.getCameraPitch(); + return; + } + if (config.innerLimit()) { // This lets the options panel's slider have an exponential rate diff --git a/runelite-client/src/main/scripts/ToplevelCompassOp.rs2asm b/runelite-client/src/main/scripts/ToplevelCompassOp.rs2asm index 6884cdf1f0..cd3eabe7f1 100644 --- a/runelite-client/src/main/scripts/ToplevelCompassOp.rs2asm +++ b/runelite-client/src/main/scripts/ToplevelCompassOp.rs2asm @@ -47,6 +47,8 @@ LOOK: iconst 0 sound_synth iconst 225 + sconst "lookPreservePitch" + runelite_callback iconst 5 randominc add