From 817a7dd871c87dcce1e66fd560d62dfa4f8a73be Mon Sep 17 00:00:00 2001 From: Jordan Atwood Date: Thu, 5 Jul 2018 15:57:16 -0700 Subject: [PATCH] xp drop plugin: Move text to use hidden icon's space Closes runelite/runelite#2265 --- .../src/main/java/net/runelite/api/Varbits.java | 5 +++++ .../plugins/experiencedrop/XpDropPlugin.java | 17 ++++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/Varbits.java b/runelite-api/src/main/java/net/runelite/api/Varbits.java index 41fdef2104..f9a378dbdc 100644 --- a/runelite-api/src/main/java/net/runelite/api/Varbits.java +++ b/runelite-api/src/main/java/net/runelite/api/Varbits.java @@ -220,6 +220,11 @@ public enum Varbits /** * Experience tracker + * + * EXPERIENCE_TRACKER_POSITION expected values: + * 0 = Right + * 1 = Middle + * 2 = Left */ EXPERIENCE_TRACKER_POSITION(4692), EXPERIENCE_TRACKER_COUNTER(4697), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java index b7a3ad197c..78549803bc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java @@ -47,6 +47,8 @@ import net.runelite.client.plugins.PluginDescriptor; ) public class XpDropPlugin extends Plugin { + private static final int EXPERIENCE_DROP_SPRITE_WIDTH = 16; + @Inject private Client client; @@ -76,10 +78,19 @@ public class XpDropPlugin extends Plugin return; } - if (config.hideSkillIcons() && widget.getSpriteId() > 0) + if (config.hideSkillIcons()) { - widget.setHidden(true); - return; + if (widget.getSpriteId() > 0) + { + widget.setHidden(true); + return; + } + else if (!widget.getText().isEmpty()) + { + // Align text left accordingly to take up hidden skill icon space + final int xpDropPosition = client.getVar(Varbits.EXPERIENCE_TRACKER_POSITION); + widget.setRelativeX(EXPERIENCE_DROP_SPRITE_WIDTH * xpDropPosition * -1 / 2); + } } PrayerType prayer = getActivePrayerType();