From 56f7d09c923751d1b41dae225946bb53c229d2ef Mon Sep 17 00:00:00 2001 From: Max Weber Date: Fri, 9 Aug 2019 08:06:59 -0600 Subject: [PATCH] runelite-client: Call scripts with the correct number of arguments --- .../main/java/net/runelite/api/ScriptID.java | 17 +++----- .../java/net/runelite/api/VarClientInt.java | 4 ++ .../game/chatbox/ChatboxPanelManager.java | 4 +- .../plugins/banktags/tabs/BankSearch.java | 43 ++++--------------- .../plugins/banktags/tabs/TabInterface.java | 2 +- .../ChatboxPerformancePlugin.java | 4 +- 6 files changed, 23 insertions(+), 51 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/ScriptID.java b/runelite-api/src/main/java/net/runelite/api/ScriptID.java index 671c0c4e23..657ec2dcb8 100644 --- a/runelite-api/src/main/java/net/runelite/api/ScriptID.java +++ b/runelite-api/src/main/java/net/runelite/api/ScriptID.java @@ -73,14 +73,6 @@ public final class ScriptID @ScriptArguments(string = 1) public static final int CHAT_TEXT_INPUT_REBUILD = 222; - /** - * Layouts the bank widgets - * - * Takes 13 widget ids of various parts of the bank interface - */ - @ScriptArguments(integer = 17) - public static final int BANK_LAYOUT = 277; - /** * Closes the chatbox input * */ @ScriptArguments(integer = 2) - public static final int RESET_CHATBOX_INPUT = 299; + public static final int MESSAGE_LAYER_CLOSE = 299; /** * Readies the chatbox panel for things like the chatbox input - * Inverse of RESET_CHATBOX_INPUT + * Inverse of MESSAGE_LAYER_CLOSE + * */ @ScriptArguments(integer = 1) - public static final int CLEAR_CHATBOX_PANEL = 677; + public static final int MESSAGE_LAYER_OPEN = 677; /** * Builds the chatbox input widget diff --git a/runelite-api/src/main/java/net/runelite/api/VarClientInt.java b/runelite-api/src/main/java/net/runelite/api/VarClientInt.java index 0652f3b0e0..09945a1137 100644 --- a/runelite-api/src/main/java/net/runelite/api/VarClientInt.java +++ b/runelite-api/src/main/java/net/runelite/api/VarClientInt.java @@ -42,6 +42,10 @@ public enum VarClientInt */ TOOLTIP_VISIBLE(2), + /** + * Current message layer mode + * @see net.runelite.api.vars.InputType + */ INPUT_TYPE(5), MEMBERSHIP_STATUS(103), diff --git a/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxPanelManager.java b/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxPanelManager.java index ff23bb2cda..e9d7c5641c 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxPanelManager.java +++ b/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxPanelManager.java @@ -89,7 +89,7 @@ public class ChatboxPanelManager private void unsafeCloseInput() { client.runScript( - ScriptID.RESET_CHATBOX_INPUT, + ScriptID.MESSAGE_LAYER_CLOSE, 0, 1 ); @@ -101,7 +101,7 @@ public class ChatboxPanelManager private void unsafeOpenInput(ChatboxInput input) { - client.runScript(ScriptID.CLEAR_CHATBOX_PANEL); + client.runScript(ScriptID.MESSAGE_LAYER_OPEN, 0); eventBus.register(input); if (input instanceof KeyListener) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/BankSearch.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/BankSearch.java index 73bfbc99a4..10a1ed2004 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/BankSearch.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/BankSearch.java @@ -37,20 +37,6 @@ import net.runelite.client.callback.ClientThread; public class BankSearch { - // Widget indexes for searching - private static final int INNER_CONTAINER_IDX = 2; - private static final int SETTINGS_IDX = 4; - private static final int ITEM_CONTAINER_IDX = 7; - private static final int SCROLLBAR_IDX = 8; - private static final int BOTTOM_BAR_IDX = 9; - private static final int SEARCH_BUTTON_BACKGROUND_IDX = 15; - private static final int TITLE_BAR_IDX = 16; - private static final int ITEM_COUNT_IDX = 17; - private static final int TAB_BAR_IDX = 18; - private static final int INCINERATOR_IDX = 19; - private static final int INCINERATOR_CONFIRM_IDX = 20; - private static final int HIDDEN_WIDGET_IDX = 21; - private final Client client; private final ClientThread clientThread; @@ -64,51 +50,38 @@ public class BankSearch this.clientThread = clientThread; } - public void search(InputType inputType, String search, Boolean closeInput) + public void search(InputType inputType, String search, boolean closeInput) { clientThread.invoke(() -> { - Widget bankContainer = client.getWidget(WidgetInfo.BANK_CONTAINER); + Widget bankContainer = client.getWidget(WidgetInfo.BANK_ITEM_CONTAINER); if (bankContainer == null || bankContainer.isHidden()) { return; } - Object[] widgetIds = bankContainer.getOnLoadListener(); + Object[] scriptArgs = bankContainer.getOnInvTransmitListener(); - // In case the widget ids array is incorrect, do not proceed - if (widgetIds == null || widgetIds.length < 21) + if (scriptArgs == null) { return; } + // This ensures that any chatbox input (e.g from search) will not remain visible when // selecting/changing tab if (closeInput) { - client.runScript(ScriptID.RESET_CHATBOX_INPUT, 0, 0); + client.runScript(ScriptID.MESSAGE_LAYER_CLOSE, 0, 0); } client.setVar(VarClientInt.INPUT_TYPE, inputType.getType()); client.setVar(VarClientStr.INPUT_TEXT, search); - client.runScript(ScriptID.BANK_LAYOUT, - WidgetInfo.BANK_CONTAINER.getId(), - widgetIds[INNER_CONTAINER_IDX], - widgetIds[SETTINGS_IDX], - widgetIds[ITEM_CONTAINER_IDX], - widgetIds[SCROLLBAR_IDX], - widgetIds[BOTTOM_BAR_IDX], - widgetIds[TITLE_BAR_IDX], - widgetIds[ITEM_COUNT_IDX], - widgetIds[SEARCH_BUTTON_BACKGROUND_IDX], - widgetIds[TAB_BAR_IDX], - widgetIds[INCINERATOR_IDX], - widgetIds[INCINERATOR_CONFIRM_IDX], - widgetIds[HIDDEN_WIDGET_IDX]); + client.runScript(scriptArgs); }); } - public void reset(Boolean closeChat) + public void reset(boolean closeChat) { search(InputType.NONE, "", closeChat); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java index 14b6ee9178..46b4eef567 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java @@ -336,7 +336,7 @@ public class TabInterface { bankSearch.reset(true); - clientThread.invokeLater(() -> client.runScript(ScriptID.RESET_CHATBOX_INPUT, 0, 0)); + clientThread.invokeLater(() -> client.runScript(ScriptID.MESSAGE_LAYER_CLOSE, 0, 0)); } else { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatboxperformance/ChatboxPerformancePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatboxperformance/ChatboxPerformancePlugin.java index a548bb44ff..da642e1d43 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatboxperformance/ChatboxPerformancePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatboxperformance/ChatboxPerformancePlugin.java @@ -56,7 +56,7 @@ public class ChatboxPerformancePlugin extends Plugin { if (client.getGameState() == GameState.LOGGED_IN) { - clientThread.invokeLater(() -> client.runScript(ScriptID.RESET_CHATBOX_INPUT)); + clientThread.invokeLater(() -> client.runScript(ScriptID.MESSAGE_LAYER_CLOSE, 0, 0)); } } @@ -65,7 +65,7 @@ public class ChatboxPerformancePlugin extends Plugin { if (client.getGameState() == GameState.LOGGED_IN) { - clientThread.invokeLater(() -> client.runScript(ScriptID.RESET_CHATBOX_INPUT)); + clientThread.invokeLater(() -> client.runScript(ScriptID.MESSAGE_LAYER_CLOSE, 0, 0)); } }