project: loose ends -blue

This commit is contained in:
TheRealNull
2021-01-04 02:13:56 -05:00
parent c54d8374f8
commit 517878046d
5 changed files with 40 additions and 33 deletions

View File

@@ -234,6 +234,9 @@ public abstract class RSClientMixin implements RSClient
@Inject
private static boolean allWidgetsAreOpTargetable = false;
@Inject
public static int viewportColor;
@Inject
private static Set<String> unhiddenCasts = new HashSet<String>();
@@ -1557,27 +1560,27 @@ public abstract class RSClientMixin implements RSClient
if (widget.getContentType() == WidgetType.VIEWPORT)
{
client.setViewportColor(0);
viewportColor = 0;
}
else if (widget.getContentType() == WidgetType.RECTANGLE)
{
if (renderX == client.getViewportXOffset() && renderY == client.getViewportYOffset()
&& widget.getWidth() == client.getViewportWidth() && widget.getHeight() == client.getViewportHeight()
&& widget.getOpacity() > 0 && widget.isFilled() && client.isGpu())
{
int textColor = widget.getTextColor();
int alpha = widget.getOpacity() & 0xFF;
int inverseAlpha = 256 - alpha;
int viewportColor = client.getViewportColor();
int c1 = (alpha * (textColor & 0xff00ff) >> 8 & 0xFF00FF) + (alpha * (textColor & 0x00FF00) >> 8 & 0x00FF00);
int c2 = (inverseAlpha * (viewportColor & 0xff00ff) >> 8 & 0xFF00FF) + (inverseAlpha * (viewportColor & 0x00FF00) >> 8 & 0x00FF00);
int outAlpha = alpha + ((viewportColor >>> 24) * (255 - alpha) * 0x8081 >>> 23);
client.setViewportColor(outAlpha << 24 | c1 + c2);
widget.setHidden(true);
hiddenWidgets.add(widget);
continue;
&& widget.getWidth() == client.getViewportWidth() && widget.getHeight() == client.getViewportHeight()
&& widget.getOpacity() > 0 && widget.isFilled() && client.isGpu())
{
int tc = widget.getTextColor();
int alpha = widget.getOpacity() & 0xFF;
int inverseAlpha = 256 - alpha;
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);
viewportColor = outAlpha << 24 | c1 + c2;
widget.setHidden(true);
hiddenWidgets.add(widget);
continue;
}
}
}
WidgetNode childNode = componentTable.get(widget.getId());
@@ -1678,11 +1681,11 @@ public abstract class RSClientMixin implements RSClient
for (int i = hiddenWidgets.size() - 1; i >= 0; i--)
{
Widget widget = hiddenWidgets.get(i);
if (WidgetInfo.TO_GROUP(widget.getId()) == group)
{
widget.setHidden(false);
hiddenWidgets.remove(i);
}
if (WidgetInfo.TO_GROUP(widget.getId()) == group)
{
widget.setHidden(false);
hiddenWidgets.remove(i);
}
}
}
}
@@ -2072,7 +2075,9 @@ public abstract class RSClientMixin implements RSClient
public void setOutdatedScript(String outdatedScript)
{
if (!outdatedScripts.contains(outdatedScript))
{
outdatedScripts.add(outdatedScript);
}
}
@Inject
@@ -2107,5 +2112,12 @@ public abstract class RSClientMixin implements RSClient
{
return getVarbitDefinition(id);
}
@Inject
@Override
public int getViewportColor()
{
return viewportColor;
}
}