From 5e44a71054a052c964fbcfcc3bd822f62b2b1b11 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 8 Apr 2026 08:27:13 +0200 Subject: [PATCH] Added implementation for identifier as effect icon --- .../java/org/saturnclient/common/ref/game/EffectRef.java | 5 +++++ .../java/org/saturnclient/mod/mods/StatusEffectsMod.java | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/saturnclient/common/ref/game/EffectRef.java b/src/main/java/org/saturnclient/common/ref/game/EffectRef.java index d8f4ac1..d87333c 100644 --- a/src/main/java/org/saturnclient/common/ref/game/EffectRef.java +++ b/src/main/java/org/saturnclient/common/ref/game/EffectRef.java @@ -1,5 +1,6 @@ package org.saturnclient.common.ref.game; +import org.saturnclient.common.ref.asset.IdentifierRef; import org.saturnclient.common.ref.asset.SpriteRef; public interface EffectRef { @@ -7,6 +8,10 @@ public interface EffectRef { SpriteRef getIcon(); + default IdentifierRef getIconId() { + return null; + } + boolean isInfinite(); String getInfiniteText(); diff --git a/src/main/java/org/saturnclient/mod/mods/StatusEffectsMod.java b/src/main/java/org/saturnclient/mod/mods/StatusEffectsMod.java index ec12b59..1b014ec 100644 --- a/src/main/java/org/saturnclient/mod/mods/StatusEffectsMod.java +++ b/src/main/java/org/saturnclient/mod/mods/StatusEffectsMod.java @@ -4,6 +4,7 @@ import java.util.List; import org.saturnclient.common.provider.FeatureProvider; import org.saturnclient.common.provider.Providers; +import org.saturnclient.common.ref.asset.SpriteRef; import org.saturnclient.common.ref.game.EffectRef; import org.saturnclient.config.property.BoolProperty; import org.saturnclient.config.property.Property; @@ -63,7 +64,12 @@ public class StatusEffectsMod extends Mod implements HudMod { if (!effect.shouldShowIcon()) continue; - scope.drawSpriteStretched(effect.getIcon(), 0, 18 * row, 16, 16); + SpriteRef sprite = effect.getIcon(); + if (sprite == null) { + scope.drawTexture(effect.getIconId(), 0, 18 * row, 0, 0, 16, 16); + } else { + scope.drawSpriteStretched(sprite, 0, 18 * row, 16, 16); + } scope.drawText(0.5f, durationString(effect), 18, 18 * row + 3, layout.font.value, -1);