From 7df795101b4f1a20a313c6233e35a5617748faa5 Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Fri, 19 Jul 2019 07:25:54 +0100 Subject: [PATCH] mixins: replace loadSprite mixin --- .../java/net/runelite/mixins/SpriteMixin.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/SpriteMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/SpriteMixin.java index 83e1cde163..78bf89adac 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/SpriteMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/SpriteMixin.java @@ -3,9 +3,14 @@ package net.runelite.mixins; import net.runelite.api.Sprite; import java.util.HashMap; import java.util.Map; + +import net.runelite.api.mixins.Copy; import net.runelite.api.mixins.Inject; import net.runelite.api.mixins.Mixin; +import net.runelite.api.mixins.Replace; +import net.runelite.rs.api.RSAbstractArchive; import net.runelite.rs.api.RSClient; +import net.runelite.rs.api.RSSprite; @Mixin(RSClient.class) public abstract class SpriteMixin implements RSClient @@ -29,4 +34,23 @@ public abstract class SpriteMixin implements RSClient { return widgetSpriteOverrides; } + + @Copy("loadSprite") + public static RSSprite rs$loadSprite(RSAbstractArchive var0, int var1, int var2) + { + throw new RuntimeException(); + } + + @Replace("loadSprite") + public static RSSprite rl$loadSprite(RSAbstractArchive var0, int var1, int var2) + { + Sprite sprite = spriteOverrides.get(var1); + + if (sprite != null) + { + return (RSSprite) sprite; + } + + return rs$loadSprite(var0, var1, var2); + } } \ No newline at end of file