diff --git a/runelite-client/src/main/java/net/runelite/client/game/npcoverlay/HighlightedNpc.java b/runelite-client/src/main/java/net/runelite/client/game/npcoverlay/HighlightedNpc.java index 388da5be29..ba995c282e 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/npcoverlay/HighlightedNpc.java +++ b/runelite-client/src/main/java/net/runelite/client/game/npcoverlay/HighlightedNpc.java @@ -45,6 +45,7 @@ public class HighlightedNpc boolean tile; boolean trueTile; boolean swTile; + boolean swTrueTile; boolean outline; boolean name; boolean nameOnMinimap; diff --git a/runelite-client/src/main/java/net/runelite/client/game/npcoverlay/NpcOverlay.java b/runelite-client/src/main/java/net/runelite/client/game/npcoverlay/NpcOverlay.java index d0a8e4b3c4..99cfa3b693 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/npcoverlay/NpcOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/game/npcoverlay/NpcOverlay.java @@ -118,6 +118,18 @@ class NpcOverlay extends Overlay } if (highlightedNpc.isSwTile()) + { + int size = npcComposition.getSize(); + LocalPoint lp = actor.getLocalLocation(); + + int x = lp.getX() - ((size - 1) * Perspective.LOCAL_TILE_SIZE / 2); + int y = lp.getY() - ((size - 1) * Perspective.LOCAL_TILE_SIZE / 2); + + Polygon southWestTilePoly = Perspective.getCanvasTilePoly(client, new LocalPoint(x, y)); + renderPoly(graphics, borderColor, borderWidth, fillColor, southWestTilePoly); + } + + if (highlightedNpc.isSwTrueTile()) { LocalPoint lp = LocalPoint.fromWorld(client, actor.getWorldLocation()); if (lp != null) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsConfig.java index 9a76bdf0f2..7eb6a919d3 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsConfig.java @@ -92,6 +92,18 @@ public interface NpcIndicatorsConfig extends Config @ConfigItem( position = 4, + keyName = "highlightSouthWestTrueTile", + name = "Highlight south west true tile", + description = "Configures whether or not NPC should be highlighted by south western true tile", + section = renderStyleSection + ) + default boolean highlightSouthWestTrueTile() + { + return false; + } + + @ConfigItem( + position = 5, keyName = "highlightOutline", name = "Highlight outline", description = "Configures whether or not the model of the NPC should be highlighted by outline", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java index 96ee6e1383..148fd3f97a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java @@ -662,6 +662,7 @@ public class NpcIndicatorsPlugin extends Plugin .tile(config.highlightTile()) .trueTile(config.highlightTrueTile()) .swTile(config.highlightSouthWestTile()) + .swTrueTile(config.highlightSouthWestTrueTile()) .outline(config.highlightOutline()) .name(config.drawNames()) .nameOnMinimap(config.drawMinimapNames())