diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIcon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIcon.java index ac2765ba9..975878976 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIcon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIcon.java @@ -13,15 +13,27 @@ public class BuffIcon extends Image { private static TextureFilm largeFilm; private static final int LRG_SIZE = 16; + private final boolean large; + //TODO maybe roll fading behaviour into this too? public BuffIcon(Buff buff, boolean large){ - this(buff.icon(), large); - buff.tintIcon(this); + super( large ? Assets.Interfaces.BUFFS_LARGE : Assets.Interfaces.BUFFS_SMALL ); + this.large = large; + refresh(buff); } public BuffIcon(int icon, boolean large){ super( large ? Assets.Interfaces.BUFFS_LARGE : Assets.Interfaces.BUFFS_SMALL ); + this.large = large; + refresh(icon); + } + public void refresh(Buff buff){ + refresh(buff.icon()); + buff.tintIcon(this); + } + + public void refresh(int icon){ if (large){ if (largeFilm == null) largeFilm = new TextureFilm(texture, LRG_SIZE, LRG_SIZE); frame(largeFilm.get(icon)); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java index 23746bab3..d5b799d09 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java @@ -212,7 +212,7 @@ public class BuffIndicator extends Component { } public void updateIcon(){ - buff.tintIcon(icon); + ((BuffIcon)icon).refresh(buff); //round up to the nearest pixel if <50% faded, otherwise round down float fadeHeight = buff.iconFadePercent() * icon.height(); float zoom = (camera() != null) ? camera().zoom : 1;