From 011027bc6958130a127f1a9ff49abe12f1c28621 Mon Sep 17 00:00:00 2001 From: Owain van Brakel Date: Fri, 29 Apr 2022 11:26:15 +0200 Subject: [PATCH] project(mixins): Update interpolation blacklist --- .../net/runelite/mixins/RSDynamicObjectMixin.java | 3 ++- .../main/java/net/runelite/mixins/RSNPCMixin.java | 12 ++++++++++-- .../main/java/net/runelite/mixins/RSPlayerMixin.java | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSDynamicObjectMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSDynamicObjectMixin.java index d69e951218..1e057fa4e5 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSDynamicObjectMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSDynamicObjectMixin.java @@ -25,6 +25,7 @@ package net.runelite.mixins; import net.runelite.api.DialogOption; +import net.runelite.api.ObjectID; import net.runelite.api.events.DialogProcessed; import net.runelite.api.events.DynamicObjectAnimationChanged; import net.runelite.api.mixins.Copy; @@ -75,7 +76,7 @@ public abstract class RSDynamicObjectMixin implements RSDynamicObject @Inject public void onAnimCycleCountChanged(int idx) { - if (client.isInterpolateObjectAnimations()) + if (client.isInterpolateObjectAnimations() && this.getId() != ObjectID.WATER_WHEEL_26671) { // sets the packed anim frame with the frame cycle int objectFrameCycle = client.getGameCycle() - getAnimCycleCount(); diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java index 1a2778ea5b..01f81d46ca 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java @@ -28,6 +28,7 @@ import java.awt.Polygon; import java.awt.Shape; import net.runelite.api.AnimationID; import net.runelite.api.NPCComposition; +import net.runelite.api.NpcID; import net.runelite.api.Perspective; import net.runelite.api.coords.LocalPoint; import net.runelite.api.events.NpcChanged; @@ -140,8 +141,15 @@ public abstract class RSNPCMixin implements RSNPC public RSModel copy$getModel() { if (!client.isInterpolateNpcAnimations() - || getAnimation() == AnimationID.HELLHOUND_DEFENCE) - { + || this.getAnimation() == AnimationID.HELLHOUND_DEFENCE + || this.getAnimation() == 8270 + || this.getAnimation() == 8271 + || this.getPoseAnimation() == 5583 + || this.getId() == NpcID.WYRM && this.getAnimation() == AnimationID.IDLE + || this.getId() == NpcID.TREE_SPIRIT && this.getAnimation() == AnimationID.IDLE + || this.getId() == NpcID.TREE_SPIRIT_6380 && this.getAnimation() == AnimationID.IDLE + || this.getId() == NpcID.TREE_SPIRIT_HARD && this.getAnimation() == AnimationID.IDLE + ) { return copy$getModel(); } int actionFrame = getActionFrame(); diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSPlayerMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSPlayerMixin.java index ed963a288d..5994bc53c2 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSPlayerMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSPlayerMixin.java @@ -231,7 +231,7 @@ public abstract class RSPlayerMixin implements RSPlayer @Replace("getModel") public RSModel copy$getModel() { - if (!client.isInterpolatePlayerAnimations()) + if (!client.isInterpolatePlayerAnimations() || this.getPoseAnimation() == 244) { return copy$getModel(); }