From 47f20613875f635f1096247b861fd58441c5b976 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Sun, 25 Feb 2018 22:29:38 -0700 Subject: [PATCH 1/2] cameraPitch > cameraPitchTarget --- .../java/net/runelite/mixins/CameraMixin.java | 10 +++++----- .../main/java/net/runelite/rs/api/RSClient.java | 15 +++++++++++++-- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/CameraMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/CameraMixin.java index c3bf1df189..fc536e6365 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/CameraMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/CameraMixin.java @@ -67,11 +67,11 @@ public abstract class CameraMixin implements RSClient } } - @FieldHook("cameraPitch") + @FieldHook("cameraPitchTarget") @Inject static void onCameraPitchChanged(int idx) { - int newPitch = client.getCameraPitch(); + int newPitch = client.getCameraPitchTarget(); int pitch = newPitch; if (pitchRelaxEnabled) { @@ -83,7 +83,7 @@ public abstract class CameraMixin implements RSClient { pitch = NEW_PITCH_MAX; } - client.setCameraPitch(pitch); + client.setCameraPitchTarget(pitch); } } lastPitch = pitch; @@ -99,10 +99,10 @@ public abstract class CameraMixin implements RSClient pitchRelaxEnabled = enabled; if (!enabled) { - int pitch = client.getCameraPitch(); + int pitch = client.getCameraPitchTarget(); if (pitch > STANDARD_PITCH_MAX) { - client.setCameraPitch(STANDARD_PITCH_MAX); + client.setCameraPitchTarget(STANDARD_PITCH_MAX); } } } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java index 42d6587ed1..c187a1a61e 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java @@ -473,8 +473,19 @@ public interface RSClient extends RSGameEngine, Client @Override RSPreferences getPreferences(); - @Import("cameraPitch") - void setCameraPitch(int pitch); + /** + * This is the pitch the user has set the camera to. + * It should be between 128 and (pitchUnlimiter?512:383) JAUs(1). + * The difference between this and cameraPitch is that cameraPitch has a lower limit, imposed by the surrounding + * terrain. + * + * (1) JAU - Jagex Angle Unit; 1/1024 of a revolution + */ + @Import("cameraPitchTarget") + int getCameraPitchTarget(); + + @Import("cameraPitchTarget") + void setCameraPitchTarget(int pitch); @Import("renderOverview") RSRenderOverview getRenderOverview(); From 20d3c72bd48faa4ee94157bd84aeb654fe1dc0aa Mon Sep 17 00:00:00 2001 From: Max Weber Date: Sun, 25 Feb 2018 22:32:42 -0700 Subject: [PATCH 2/2] cameraPitchCopy > cameraPitch --- runelite-api/src/main/java/net/runelite/api/Client.java | 3 +++ 1 file changed, 3 insertions(+) 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 4a234ed84a..7a07b17b81 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -58,6 +58,9 @@ public interface Client extends GameEngine int getCameraZ(); + /** + * This returns the actual pitch of the camera in JAUs + */ int getCameraPitch(); int getCameraYaw();