From 940a404ec60cf1948325ed913d4e2970aa6b19ef Mon Sep 17 00:00:00 2001 From: Hydrox6 Date: Sat, 15 Jun 2019 14:40:38 +0100 Subject: [PATCH] api: implement resetHealthBarCaches and getHealthBarFrontSpriteId Remove getHealthBarCache --- runelite-api/src/main/java/net/runelite/api/Client.java | 2 +- .../src/main/java/net/runelite/api/HealthBar.java | 2 ++ .../plugins/interfacestyles/InterfaceStylesPlugin.java | 7 ++----- .../src/main/java/net/runelite/mixins/RSClientMixin.java | 8 ++++++++ .../src/main/java/net/runelite/rs/api/RSClient.java | 4 +++- .../src/main/java/net/runelite/rs/api/RSHealthBar.java | 4 ++++ 6 files changed, 20 insertions(+), 7 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java index cfc24df818..9930ccbed4 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -1639,5 +1639,5 @@ public interface Client extends GameEngine void draw2010Menu(); - NodeCache getHealthBarCache(); + void resetHealthBarCaches(); } diff --git a/runelite-api/src/main/java/net/runelite/api/HealthBar.java b/runelite-api/src/main/java/net/runelite/api/HealthBar.java index 2ffeedca28..5c15f71727 100644 --- a/runelite-api/src/main/java/net/runelite/api/HealthBar.java +++ b/runelite-api/src/main/java/net/runelite/api/HealthBar.java @@ -30,5 +30,7 @@ public interface HealthBar SpritePixels getHealthBarBackSprite(); + int getHealthBarFrontSpriteId(); + void setPadding(int padding); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java index de15266d70..f54404b8e1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/interfacestyles/InterfaceStylesPlugin.java @@ -33,7 +33,6 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.HealthBar; import net.runelite.api.HealthBarOverride; -import net.runelite.api.NodeCache; import net.runelite.api.SpriteID; import net.runelite.api.SpritePixels; import net.runelite.api.events.BeforeMenuRender; @@ -94,8 +93,7 @@ public class InterfaceStylesPlugin extends Plugin removeGameframe(); healthBarOverride = null; client.setHealthBarOverride(null); - NodeCache heathBarCache = client.getHealthBarCache(); - heathBarCache.reset(); // invalidate healthbar cache so padding resets + client.resetHealthBarCaches(); // invalidate healthbar cache so padding resets }); } @@ -273,8 +271,7 @@ public class InterfaceStylesPlugin extends Plugin private void overrideHealthBars() { // Reset health bar cache to reset applied padding - NodeCache healthBarCache = client.getHealthBarCache(); - healthBarCache.reset(); + client.resetHealthBarCaches(); if (config.hdHealthBars()) { diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java index 7c934a265d..b212ac9d82 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -1550,4 +1550,12 @@ public abstract class RSClientMixin implements RSClient enumCache.put(id, rsEnum); return rsEnum; } + + @Inject + @Override + public void resetHealthBarCaches() + { + getHealthBarCache().reset(); + getHealthBarSpriteCache().reset(); + } } \ No newline at end of file diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java index 96b3333df4..7fff3d232d 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java @@ -982,6 +982,8 @@ public interface RSClient extends RSGameEngine, Client void RasterizerDrawCircle(int x, int y, int r, int rgb); @Import("healthbarCache") - @Override RSNodeCache getHealthBarCache(); + + @Import("healthBarSpriteCache") + RSNodeCache getHealthBarSpriteCache(); } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSHealthBar.java b/runescape-api/src/main/java/net/runelite/rs/api/RSHealthBar.java index 758bf8cb83..ca9ff1419f 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSHealthBar.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSHealthBar.java @@ -32,6 +32,10 @@ public interface RSHealthBar extends RSCacheableNode, HealthBar @Import("healthScale") int getHealthScale(); + @Import("healthBarFrontSpriteId") + @Override + int getHealthBarFrontSpriteId(); + @Import("getHealthBarFrontSprite") @Override RSSpritePixels getHealthBarFrontSprite();