From e1309636c035d2242a6a5b0a0a52835651cd0fe6 Mon Sep 17 00:00:00 2001 From: jesse1412 Date: Sun, 10 Feb 2019 18:26:56 +0000 Subject: [PATCH] tileindicators: Add server side current tile indicator --- .../tileindicators/TileIndicatorsConfig.java | 21 +++++++++++++++++++ .../tileindicators/TileIndicatorsOverlay.java | 18 ++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/tileindicators/TileIndicatorsConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/tileindicators/TileIndicatorsConfig.java index 9a5e0bad33..a03f07e5f7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/tileindicators/TileIndicatorsConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/tileindicators/TileIndicatorsConfig.java @@ -74,4 +74,25 @@ public interface TileIndicatorsConfig extends Config { return false; } + + @Alpha + @ConfigItem( + keyName = "highlightCurrentColor", + name = "Color of current true tile highlighting", + description = "Configures the highlight color of current true tile" + ) + default Color highlightCurrentColor() + { + return Color.CYAN; + } + + @ConfigItem( + keyName = "highlightCurrentTile", + name = "Highlight current true tile", + description = "Highlights true tile player is on as seen by server" + ) + default boolean highlightCurrentTile() + { + return false; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/tileindicators/TileIndicatorsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/tileindicators/TileIndicatorsOverlay.java index 00e89241c3..b592684849 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/tileindicators/TileIndicatorsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/tileindicators/TileIndicatorsOverlay.java @@ -32,6 +32,7 @@ import javax.inject.Inject; import net.runelite.api.Client; import net.runelite.api.Perspective; import net.runelite.api.coords.LocalPoint; +import net.runelite.api.coords.WorldPoint; import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayLayer; import net.runelite.client.ui.overlay.OverlayPosition; @@ -70,6 +71,23 @@ public class TileIndicatorsOverlay extends Overlay renderTile(graphics, client.getLocalDestinationLocation(), config.highlightDestinationColor()); } + if (config.highlightCurrentTile()) + { + final WorldPoint playerPos = client.getLocalPlayer().getWorldLocation(); + if (playerPos == null) + { + return null; + } + + final LocalPoint playerPosLocal = LocalPoint.fromWorld(client, playerPos); + if (playerPosLocal == null) + { + return null; + } + + renderTile(graphics, playerPosLocal, config.highlightCurrentColor()); + } + return null; }