From 5e3caf919021167ea6dadb74f6bbbde429919117 Mon Sep 17 00:00:00 2001 From: Lotto Date: Sat, 17 Nov 2018 16:15:28 +0100 Subject: [PATCH] gpu: limit interaction distance from camera The bounding box limitation is not enough for preventing users from interacting with objects far away when the game window is wide. This introduces a limit on how far away the camera can be from objects for you to be able to interact with them, remedying the issue above. --- .../src/main/java/net/runelite/mixins/ClickboxMixin.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/ClickboxMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/ClickboxMixin.java index 91a4d7f128..a95cd06220 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/ClickboxMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/ClickboxMixin.java @@ -20,6 +20,7 @@ public abstract class ClickboxMixin implements RSClient private static final int MAX_ENTITES_AT_MOUSE = 1000; private static final int CLICKBOX_CLOSE = 50; private static final int CLICKBOX_FAR = 3500; + private static final int OBJECT_INTERACTION_FAR = 35; // Max distance, in tiles, from camera @Inject private static final int[] rl$modelViewportXs = new int[4700]; @@ -45,6 +46,11 @@ public abstract class ClickboxMixin implements RSClient return; } + if (Math.sqrt(_x * _x + _z * _z) > OBJECT_INTERACTION_FAR * Perspective.LOCAL_TILE_SIZE) + { + return; + } + // only need a boundingbox check? if (model.isClickable()) {