diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSModelMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSModelMixin.java index 93e9961476..dfa641faec 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSModelMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSModelMixin.java @@ -192,24 +192,24 @@ public abstract class RSModelMixin implements RSModel int translateZ; if (type == 2) { - int deltaX = nextTranslateX - currentTranslateX & 0x3fff; - int deltaY = nextTranslateY - currentTranslateY & 0x3fff; - int deltaZ = nextTranslateZ - currentTranslateZ & 0x3fff; - if (deltaX >= 8192) + int deltaX = nextTranslateX - currentTranslateX & 0xFF; + int deltaY = nextTranslateY - currentTranslateY & 0xFF; + int deltaZ = nextTranslateZ - currentTranslateZ & 0xFF; + if (deltaX >= 128) { - deltaX -= 16384; + deltaX -= 256; } - if (deltaY >= 8192) + if (deltaY >= 128) { - deltaY -= 16384; + deltaY -= 256; } - if (deltaZ >= 8192) + if (deltaZ >= 128) { - deltaZ -= 16384; + deltaZ -= 256; } - translateX = currentTranslateX + deltaX * interval / intervalCount & 0x3fff; - translateY = currentTranslateY + deltaY * interval / intervalCount & 0x3fff; - translateZ = currentTranslateZ + deltaZ * interval / intervalCount & 0x3fff; + translateX = currentTranslateX + deltaX * interval / intervalCount & 0xFF; + translateY = currentTranslateY + deltaY * interval / intervalCount & 0xFF; + translateZ = currentTranslateZ + deltaZ * interval / intervalCount & 0xFF; } else if (type == 5) {