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();