diff --git a/src/main/java/com/attacktimer/AttackBarStyle.java b/src/main/java/com/attacktimer/AttackBarStyle.java new file mode 100644 index 0000000..ffed85e --- /dev/null +++ b/src/main/java/com/attacktimer/AttackBarStyle.java @@ -0,0 +1,21 @@ +package com.attacktimer; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum AttackBarStyle +{ + AUTO("Auto"), + STANDARD("Standard"), + HIGH_DETAIL("High Detail"); + + private final String name; + + @Override + public String toString() + { + return name; + } +} diff --git a/src/main/java/com/attacktimer/AttackTimerBarOverlay.java b/src/main/java/com/attacktimer/AttackTimerBarOverlay.java index d193a7c..2bb1eb2 100644 --- a/src/main/java/com/attacktimer/AttackTimerBarOverlay.java +++ b/src/main/java/com/attacktimer/AttackTimerBarOverlay.java @@ -90,7 +90,11 @@ public Dimension render(Graphics2D graphics) ratio = (float)Math.max(1.0f - ratio, 0f); } - if (client.getSpriteOverrides().containsKey(SpriteID.HEALTHBAR_DEFAULT_FRONT_30PX)) { + AttackBarStyle barStyle = config.barStyle(); + boolean useHD = barStyle == AttackBarStyle.HIGH_DETAIL + || (barStyle == AttackBarStyle.AUTO && client.getSpriteOverrides().containsKey(SpriteID.HEALTHBAR_DEFAULT_FRONT_30PX)); + + if (useHD) { final int barWidth = HD_FRONT_BAR.getWidth(); final int barHeight = HD_FRONT_BAR.getHeight(); final int barX = canvasPoint.getX() - barWidth / 2; diff --git a/src/main/java/com/attacktimer/AttackTimerMetronomeConfig.java b/src/main/java/com/attacktimer/AttackTimerMetronomeConfig.java index dadc582..091e8de 100644 --- a/src/main/java/com/attacktimer/AttackTimerMetronomeConfig.java +++ b/src/main/java/com/attacktimer/AttackTimerMetronomeConfig.java @@ -224,6 +224,18 @@ default boolean barDirection() return true; } + @ConfigItem( + position = 6, + keyName = "attackBarStyle", + name = "Attack Bar Style", + description = "Auto matches HD/SD from Interface Styles plugin. Standard forces the basic bar. High Detail forces the HD bar.", + section = AttackBarSettings + ) + default AttackBarStyle barStyle() + { + return AttackBarStyle.AUTO; + } + @Getter @AllArgsConstructor enum TicksPosition