From 4abac738b4c24c970bfcebef50cabef8506cb199 Mon Sep 17 00:00:00 2001 From: Justin Date: Sat, 16 Apr 2022 21:29:11 +1000 Subject: [PATCH 1/2] Revert "devtools: remove inventory tool" This reverts commit 8b3f129c1edcaf66354d392a3523edd93720fdd9. --- .../plugins/devtools/DevToolsOverlay.java | 40 +++++++++++++++++++ .../plugins/devtools/DevToolsPanel.java | 1 + .../plugins/devtools/DevToolsPlugin.java | 2 + 3 files changed, 43 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java index b93d3f72d0..60d9635535 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java @@ -28,9 +28,12 @@ package net.runelite.client.plugins.devtools; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; +import java.awt.FontMetrics; import java.awt.Graphics2D; import java.awt.Polygon; +import java.awt.Rectangle; import java.awt.Shape; +import java.awt.geom.Rectangle2D; import java.util.List; import java.util.Set; import javax.inject.Inject; @@ -56,6 +59,9 @@ import net.runelite.api.TileItem; import net.runelite.api.TileObject; import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldPoint; +import net.runelite.api.widgets.Widget; +import net.runelite.api.widgets.WidgetInfo; +import net.runelite.api.widgets.WidgetItem; import net.runelite.client.ui.FontManager; import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayLayer; @@ -116,6 +122,11 @@ class DevToolsOverlay extends Overlay renderTileObjects(graphics); } + if (plugin.getInventory().isActive()) + { + renderInventory(graphics); + } + if (plugin.getProjectiles().isActive()) { renderProjectiles(graphics); @@ -401,6 +412,35 @@ class DevToolsOverlay extends Overlay } } + private void renderInventory(Graphics2D graphics) + { + Widget inventoryWidget = client.getWidget(WidgetInfo.INVENTORY); + if (inventoryWidget == null || inventoryWidget.isHidden()) + { + return; + } + + for (WidgetItem item : inventoryWidget.getWidgetItems()) + { + Rectangle slotBounds = item.getCanvasBounds(); + + String idText = "" + item.getId(); + FontMetrics fm = graphics.getFontMetrics(); + Rectangle2D textBounds = fm.getStringBounds(idText, graphics); + + int textX = (int) (slotBounds.getX() + (slotBounds.getWidth() / 2) - (textBounds.getWidth() / 2)); + int textY = (int) (slotBounds.getY() + (slotBounds.getHeight() / 2) + (textBounds.getHeight() / 2)); + + graphics.setColor(new Color(255, 255, 255, 65)); + graphics.fill(slotBounds); + + graphics.setColor(Color.BLACK); + graphics.drawString(idText, textX + 1, textY + 1); + graphics.setColor(YELLOW); + graphics.drawString(idText, textX, textY); + } + } + private void renderProjectiles(Graphics2D graphics) { for (Projectile projectile : client.getProjectiles()) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPanel.java index af9f866a83..34700e10cb 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPanel.java @@ -107,6 +107,7 @@ class DevToolsPanel extends PluginPanel container.add(plugin.getWalls()); container.add(plugin.getDecorations()); + container.add(plugin.getInventory()); container.add(plugin.getProjectiles()); container.add(plugin.getLocation()); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java index b2ff427997..792e648f63 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java @@ -125,6 +125,7 @@ public class DevToolsPlugin extends Plugin private DevToolsButton graphicsObjects; private DevToolsButton walls; private DevToolsButton decorations; + private DevToolsButton inventory; private DevToolsButton projectiles; private DevToolsButton location; private DevToolsButton chunkBorders; @@ -167,6 +168,7 @@ public class DevToolsPlugin extends Plugin walls = new DevToolsButton("Walls"); decorations = new DevToolsButton("Decorations"); + inventory = new DevToolsButton("Inventory"); projectiles = new DevToolsButton("Projectiles"); location = new DevToolsButton("Location"); From e7895d1c83834d3416385881c6c1b61660b03bda Mon Sep 17 00:00:00 2001 From: Ganom Date: Sun, 17 Apr 2022 18:39:30 -0400 Subject: [PATCH 2/2] rs-api: add missing setter mixins. --- .../java/net/runelite/rs/api/RSActor.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSActor.java b/runescape-api/src/main/java/net/runelite/rs/api/RSActor.java index dfa62b8662..f9889a34db 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSActor.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSActor.java @@ -175,30 +175,58 @@ public interface RSActor extends RSRenderable, Actor @Override int getIdleRotateLeft(); + @Import("turnLeftSequence") + @Override + void setIdleRotateLeft(int id); + @Import("turnRightSequence") @Override int getIdleRotateRight(); + @Import("turnRightSequence") + @Override + void setIdleRotateRight(int id); + @Import("walkSequence") @Override int getWalkAnimation(); + @Import("walkSequence") + @Override + void setWalkAnimation(int id); + @Import("walkBackSequence") @Override int getWalkRotate180(); + @Import("walkBackSequence") + @Override + void setWalkRotate180(int id); + @Import("walkLeftSequence") @Override int getWalkRotateLeft(); + @Import("walkLeftSequence") + @Override + void setWalkRotateLeft(int id); + @Import("walkRightSequence") @Override int getWalkRotateRight(); + @Import("walkRightSequence") + @Override + void setWalkRotateRight(int id); + @Import("runSequence") @Override int getRunAnimation(); + @Import("runSequence") + @Override + void setRunAnimation(int id); + void setDead(boolean dead); @Import("pathLength")