Merge pull request #3166 from Owain94/mixins-misc-gpu
This commit is contained in:
@@ -48,7 +48,6 @@ import net.runelite.api.FriendContainer;
|
|||||||
import net.runelite.api.GameState;
|
import net.runelite.api.GameState;
|
||||||
import net.runelite.api.GrandExchangeOffer;
|
import net.runelite.api.GrandExchangeOffer;
|
||||||
import net.runelite.api.GraphicsObject;
|
import net.runelite.api.GraphicsObject;
|
||||||
import net.runelite.api.HashTable;
|
|
||||||
import net.runelite.api.HintArrowType;
|
import net.runelite.api.HintArrowType;
|
||||||
import net.runelite.api.Ignore;
|
import net.runelite.api.Ignore;
|
||||||
import net.runelite.api.IndexDataBase;
|
import net.runelite.api.IndexDataBase;
|
||||||
@@ -88,7 +87,6 @@ import net.runelite.api.StructComposition;
|
|||||||
import net.runelite.api.Tile;
|
import net.runelite.api.Tile;
|
||||||
import net.runelite.api.VarPlayer;
|
import net.runelite.api.VarPlayer;
|
||||||
import net.runelite.api.Varbits;
|
import net.runelite.api.Varbits;
|
||||||
import net.runelite.api.WidgetNode;
|
|
||||||
import net.runelite.api.WorldType;
|
import net.runelite.api.WorldType;
|
||||||
import net.runelite.api.clan.ClanChannel;
|
import net.runelite.api.clan.ClanChannel;
|
||||||
import net.runelite.api.clan.ClanRank;
|
import net.runelite.api.clan.ClanRank;
|
||||||
@@ -1934,21 +1932,14 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
@Inject
|
@Inject
|
||||||
public static void preRenderWidgetLayer(Widget[] widgets, int parentId, int minX, int minY, int maxX, int maxY, int x, int y, int var8)
|
public static void preRenderWidgetLayer(Widget[] widgets, int parentId, int minX, int minY, int maxX, int maxY, int x, int y, int var8)
|
||||||
{
|
{
|
||||||
@SuppressWarnings("unchecked") HashTable<WidgetNode> componentTable = client.getComponentTable();
|
for (Widget value : widgets)
|
||||||
|
|
||||||
for (int i = 0; i < widgets.length; i++)
|
|
||||||
{
|
{
|
||||||
RSWidget widget = (RSWidget) widgets[i];
|
RSWidget widget = (RSWidget) value;
|
||||||
if (widget == null || widget.getRSParentId() != parentId || widget.isSelfHidden())
|
if (widget == null || widget.getRSParentId() != parentId || widget.isSelfHidden())
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parentId != -1)
|
|
||||||
{
|
|
||||||
widget.setRenderParentId(parentId);
|
|
||||||
}
|
|
||||||
|
|
||||||
final int renderX = x + widget.getRelativeX();
|
final int renderX = x + widget.getRelativeX();
|
||||||
final int renderY = y + widget.getRelativeY();
|
final int renderY = y + widget.getRelativeY();
|
||||||
widget.setRenderX(renderX);
|
widget.setRenderX(renderX);
|
||||||
@@ -1969,24 +1960,6 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
widget.setHidden(true);
|
widget.setHidden(true);
|
||||||
hiddenWidgets.add(widget);
|
hiddenWidgets.add(widget);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
WidgetNode childNode = componentTable.get(widget.getId());
|
|
||||||
if (childNode != null)
|
|
||||||
{
|
|
||||||
int widgetId = widget.getId();
|
|
||||||
int groupId = childNode.getId();
|
|
||||||
RSWidget[] children = client.getWidgets()[groupId];
|
|
||||||
|
|
||||||
for (RSWidget child : children)
|
|
||||||
{
|
|
||||||
if (child.getRSParentId() == -1)
|
|
||||||
{
|
|
||||||
child.setRenderParentId(widgetId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -80,15 +80,19 @@ public abstract class RSGameEngineMixin implements RSGameEngine
|
|||||||
client.getCallbacks().post(focusChanged);
|
client.getCallbacks().post(focusChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Copy("post")
|
||||||
@MethodHook("post")
|
@Replace("post")
|
||||||
public void onPost(Object canvas)
|
public void copy$post(Object canvas)
|
||||||
{
|
{
|
||||||
|
if (!client.isGpu())
|
||||||
|
{
|
||||||
|
copy$post(canvas);
|
||||||
|
}
|
||||||
|
|
||||||
DrawCallbacks drawCallbacks = client.getDrawCallbacks();
|
DrawCallbacks drawCallbacks = client.getDrawCallbacks();
|
||||||
if (drawCallbacks != null)
|
if (drawCallbacks != null)
|
||||||
{
|
{
|
||||||
drawCallbacks.draw(viewportColor);
|
drawCallbacks.draw(viewportColor);
|
||||||
viewportColor = 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -45,11 +45,7 @@ public abstract class RSNanoClockMixin implements RSNanoClock
|
|||||||
@Replace("wait")
|
@Replace("wait")
|
||||||
public int copy$wait(int cycleDurationMillis, int var2)
|
public int copy$wait(int cycleDurationMillis, int var2)
|
||||||
{
|
{
|
||||||
if (!client.isUnlockedFps())
|
if (client.isUnlockedFps() && client.getRSGameState() >= 25)
|
||||||
{
|
|
||||||
return copy$wait(cycleDurationMillis, var2);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
long nanoTime = System.nanoTime();
|
long nanoTime = System.nanoTime();
|
||||||
|
|
||||||
@@ -108,5 +104,9 @@ public abstract class RSNanoClockMixin implements RSNanoClock
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return copy$wait(cycleDurationMillis, var2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,6 +78,9 @@ public abstract class RSSceneMixin implements RSScene
|
|||||||
@Shadow("skyboxColor")
|
@Shadow("skyboxColor")
|
||||||
static int skyboxColor;
|
static int skyboxColor;
|
||||||
|
|
||||||
|
@Shadow("viewportColor")
|
||||||
|
private static int viewportColor;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private static int[] tmpX = new int[6];
|
private static int[] tmpX = new int[6];
|
||||||
|
|
||||||
@@ -117,6 +120,7 @@ public abstract class RSSceneMixin implements RSScene
|
|||||||
final DrawCallbacks drawCallbacks = client.getDrawCallbacks();
|
final DrawCallbacks drawCallbacks = client.getDrawCallbacks();
|
||||||
if (drawCallbacks != null)
|
if (drawCallbacks != null)
|
||||||
{
|
{
|
||||||
|
viewportColor = 0;
|
||||||
drawCallbacks.drawScene(cameraX, cameraY, cameraZ, cameraPitch, cameraYaw, plane);
|
drawCallbacks.drawScene(cameraX, cameraY, cameraZ, cameraPitch, cameraYaw, plane);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user