project: loose ends -blue
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user