From 669865d8d4d0674651cccdb474487774b002fcf9 Mon Sep 17 00:00:00 2001 From: zeruth Date: Fri, 19 Feb 2021 03:11:35 -0500 Subject: [PATCH] mixins: use inverseAlpha, reset viewportColor --- .../src/main/java/net/runelite/mixins/RSClientMixin.java | 2 +- .../src/main/java/net/runelite/mixins/RSGameEngineMixin.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java index 9fb793edef..33f5f5e98d 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -1575,7 +1575,7 @@ public abstract class RSClientMixin implements RSClient int vpc = viewportColor; int c1 = (alpha * (tc & 0xff00ff) >> 8 & 0xFF00FF) + (alpha * (tc & 0x00FF00) >> 8 & 0x00FF00); int c2 = (inverseAlpha * (vpc & 0xff00ff) >> 8 & 0xFF00FF) + (inverseAlpha * (vpc & 0x00FF00) >> 8 & 0x00FF00); - int outAlpha = alpha + ((vpc >>> 24) * (255 - alpha) * 0x8081 >>> 23); + int outAlpha = inverseAlpha + ((vpc >>> 24) * (255 - alpha) * 0x8081 >>> 23); viewportColor = outAlpha << 24 | c1 + c2; widget.setHidden(true); hiddenWidgets.add(widget); diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSGameEngineMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSGameEngineMixin.java index 105b54cc0e..948cfd97c2 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSGameEngineMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSGameEngineMixin.java @@ -87,7 +87,8 @@ public abstract class RSGameEngineMixin implements RSGameEngine DrawCallbacks drawCallbacks = client.getDrawCallbacks(); if (drawCallbacks != null) { - drawCallbacks.draw(-viewportColor); + drawCallbacks.draw(viewportColor); + viewportColor = 0; } }