From 79dda8b7d0bc773039e780708908aa2673d1b250 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 31 Oct 2019 18:24:01 -0400 Subject: [PATCH] npc highlight: use local location for south-west highlight --- .../plugins/npchighlight/NpcSceneOverlay.java | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcSceneOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcSceneOverlay.java index fef1b03c8a..66b4a97224 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcSceneOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcSceneOverlay.java @@ -148,12 +148,24 @@ public class NpcSceneOverlay extends Overlay switch (config.renderStyle()) { case SOUTH_WEST_TILE: - LocalPoint lp1 = LocalPoint.fromWorld(client, actor.getWorldLocation()); - Polygon tilePoly1 = Perspective.getCanvasTilePoly(client, lp1); + { + int size = 1; + NPCComposition composition = actor.getTransformedComposition(); + if (composition != null) + { + size = composition.getSize(); + } - renderPoly(graphics, color, tilePoly1); + LocalPoint localPoint = actor.getLocalLocation(); + + int x = localPoint.getX() - ((size - 1) * Perspective.LOCAL_TILE_SIZE / 2); + int y = localPoint.getY() - ((size - 1) * Perspective.LOCAL_TILE_SIZE / 2); + + Polygon tilePoly = Perspective.getCanvasTilePoly(client, new LocalPoint(x, y)); + + renderPoly(graphics, color, tilePoly); break; - + } case TILE: int size = 1; NPCComposition composition = actor.getTransformedComposition();