From de82f4ade2ef24ba609ff99645218e0345159d93 Mon Sep 17 00:00:00 2001 From: therealunull Date: Thu, 29 Oct 2020 13:09:29 -0400 Subject: [PATCH 1/4] runelite-client: script update / outdated rework (thanks TomC) --- .../main/java/net/runelite/api/Client.java | 4 + .../main/java/net/runelite/api/GameShell.java | 1 + runelite-client/runelite-client.gradle.kts | 1 + .../{ => resources}/scripts/BankBuildTab.hash | 0 .../scripts/BankBuildTab.rs2asm | 0 .../scripts/BankLayoutTabSeparator.hash | 0 .../scripts/BankLayoutTabSeparator.rs2asm | 0 .../scripts/BankSearchFilter.hash | 0 .../scripts/BankSearchFilter.rs2asm | 0 .../scripts/BankSearchLayout.hash | 0 .../scripts/BankSearchLayout.rs2asm | 2 - .../{ => resources}/scripts/ChatBuilder.hash | 0 .../scripts/ChatBuilder.rs2asm | 0 .../scripts/ChatSplitBuilder.hash | 0 .../scripts/ChatSplitBuilder.rs2asm | 0 .../{ => resources}/scripts/ChatboxInput.hash | 0 .../scripts/ChatboxInput.rs2asm | 0 .../scripts/ChatboxInputWidgetBuilder.hash | 1 + .../scripts/ChatboxInputWidgetBuilder.rs2asm | 122 ++++++++------ .../scripts/CombatInterfaceSP.hash | 0 .../scripts/CombatInterfaceSP.rs2asm | 0 .../scripts/CommandScript.hash | 0 .../scripts/CommandScript.rs2asm | 2 +- .../scripts/CustomJoinClan.rs2asm | 0 .../scripts/DestroyOnOpKey.hash | 0 .../scripts/DestroyOnOpKey.rs2asm | 0 .../{ => resources}/scripts/FakeXpDrop.hash | 0 .../{ => resources}/scripts/FakeXpDrop.rs2asm | 0 .../{ => resources}/scripts/FriendUpdate.hash | 0 .../scripts/FriendUpdate.rs2asm | 0 .../scripts/FriendsChatSendKick.hash | 0 .../scripts/FriendsChatSendKick.rs2asm | 0 .../{ => resources}/scripts/GELayout.hash | 0 .../{ => resources}/scripts/GELayout.rs2asm | 0 .../{ => resources}/scripts/IgnoreUpdate.hash | 0 .../scripts/IgnoreUpdate.rs2asm | 0 .../scripts/LayoutResizableStones.hash | 0 .../scripts/LayoutResizableStones.rs2asm | 0 .../scripts/MagicSpellBookRedraw.hash | 0 .../scripts/MagicSpellBookRedraw.rs2asm | 0 .../scripts/OpenBankSearchInput.hash | 0 .../scripts/OpenBankSearchInput.rs2asm | 0 .../scripts/OptionsPanelRebuilder.hash | 1 + .../scripts/OptionsPanelRebuilder.rs2asm | 64 ++++---- .../OptionsPanelZoomMouseListener.hash | 0 .../OptionsPanelZoomMouseListener.rs2asm | 0 .../scripts/OptionsPanelZoomUpdater.hash | 0 .../scripts/OptionsPanelZoomUpdater.rs2asm | 0 .../scripts/PrivateMessage.hash | 0 .../scripts/PrivateMessage.rs2asm | 0 .../scripts/ResetChatboxInput.hash | 0 .../scripts/ResetChatboxInput.rs2asm | 0 .../scripts/ScrollWheelZoomHandler.hash | 0 .../scripts/ScrollWheelZoomHandler.rs2asm | 16 +- .../scripts/SendPrivateMessage.rs2asm | 0 .../scripts/SendPublicMessage.rs2asm | 0 .../scripts/SkillTabBuilder.hash | 0 .../scripts/SkillTabBuilder.rs2asm | 0 .../scripts/SkillTabTotalLevel.hash | 0 .../scripts/SkillTabTotalLevel.rs2asm | 0 .../main/resources/scripts/SpecbarRedraw.hash | 1 + .../scripts/SpecbarRedraw.rs2asm | 150 ++++++++---------- .../scripts/ToplevelChatboxBackground.hash | 0 .../scripts/ToplevelChatboxBackground.rs2asm | 0 .../scripts/ToplevelCompassOp.hash | 0 .../scripts/ToplevelCompassOp.rs2asm | 0 .../scripts/TriggerBankLayout.hash | 0 .../scripts/TriggerBankLayout.rs2asm | 0 .../scripts/UpdateBankPin.hash | 0 .../scripts/UpdateBankPin.rs2asm | 0 .../scripts/XpDropChanged.hash | 0 .../scripts/XpDropChanged.rs2asm | 0 .../{ => resources}/scripts/ZoomHandler.hash | 0 .../scripts/ZoomHandler.rs2asm | 0 .../main/{ => resources}/scripts/null.rs2asm | 0 .../scripts/options_allsounds.hash | 0 .../scripts/options_allsounds.rs2asm | 0 .../scripts/ChatboxInputWidgetBuilder.hash | 1 - .../main/scripts/OptionsPanelRebuilder.hash | 1 - .../src/main/scripts/SpecbarRedraw.hash | 1 - runelite-mixins/runelite-mixins.gradle.kts | 1 + .../mixins/RSAbstractArchiveMixin.java | 51 +++++- .../net/runelite/mixins/RSClientMixin.java | 20 +++ ...unelite-script-assembler-plugin.gradle.kts | 2 +- 84 files changed, 261 insertions(+), 181 deletions(-) rename runelite-client/src/main/{ => resources}/scripts/BankBuildTab.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/BankBuildTab.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/BankLayoutTabSeparator.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/BankLayoutTabSeparator.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/BankSearchFilter.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/BankSearchFilter.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/BankSearchLayout.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/BankSearchLayout.rs2asm (99%) rename runelite-client/src/main/{ => resources}/scripts/ChatBuilder.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/ChatBuilder.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/ChatSplitBuilder.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/ChatSplitBuilder.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/ChatboxInput.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/ChatboxInput.rs2asm (100%) create mode 100644 runelite-client/src/main/resources/scripts/ChatboxInputWidgetBuilder.hash rename runelite-client/src/main/{ => resources}/scripts/ChatboxInputWidgetBuilder.rs2asm (76%) rename runelite-client/src/main/{ => resources}/scripts/CombatInterfaceSP.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/CombatInterfaceSP.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/CommandScript.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/CommandScript.rs2asm (99%) rename runelite-client/src/main/{ => resources}/scripts/CustomJoinClan.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/DestroyOnOpKey.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/DestroyOnOpKey.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/FakeXpDrop.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/FakeXpDrop.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/FriendUpdate.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/FriendUpdate.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/FriendsChatSendKick.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/FriendsChatSendKick.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/GELayout.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/GELayout.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/IgnoreUpdate.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/IgnoreUpdate.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/LayoutResizableStones.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/LayoutResizableStones.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/MagicSpellBookRedraw.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/MagicSpellBookRedraw.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/OpenBankSearchInput.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/OpenBankSearchInput.rs2asm (100%) create mode 100644 runelite-client/src/main/resources/scripts/OptionsPanelRebuilder.hash rename runelite-client/src/main/{ => resources}/scripts/OptionsPanelRebuilder.rs2asm (94%) rename runelite-client/src/main/{ => resources}/scripts/OptionsPanelZoomMouseListener.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/OptionsPanelZoomMouseListener.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/OptionsPanelZoomUpdater.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/OptionsPanelZoomUpdater.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/PrivateMessage.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/PrivateMessage.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/ResetChatboxInput.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/ResetChatboxInput.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/ScrollWheelZoomHandler.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/ScrollWheelZoomHandler.rs2asm (82%) rename runelite-client/src/main/{ => resources}/scripts/SendPrivateMessage.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/SendPublicMessage.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/SkillTabBuilder.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/SkillTabBuilder.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/SkillTabTotalLevel.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/SkillTabTotalLevel.rs2asm (100%) create mode 100644 runelite-client/src/main/resources/scripts/SpecbarRedraw.hash rename runelite-client/src/main/{ => resources}/scripts/SpecbarRedraw.rs2asm (70%) rename runelite-client/src/main/{ => resources}/scripts/ToplevelChatboxBackground.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/ToplevelChatboxBackground.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/ToplevelCompassOp.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/ToplevelCompassOp.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/TriggerBankLayout.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/TriggerBankLayout.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/UpdateBankPin.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/UpdateBankPin.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/XpDropChanged.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/XpDropChanged.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/ZoomHandler.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/ZoomHandler.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/null.rs2asm (100%) rename runelite-client/src/main/{ => resources}/scripts/options_allsounds.hash (100%) rename runelite-client/src/main/{ => resources}/scripts/options_allsounds.rs2asm (100%) delete mode 100644 runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.hash delete mode 100644 runelite-client/src/main/scripts/OptionsPanelRebuilder.hash delete mode 100644 runelite-client/src/main/scripts/SpecbarRedraw.hash diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java index d43b82c562..a4dd24eefa 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -2118,4 +2118,8 @@ public interface Client extends GameShell String getSelectedItemName(); Widget getMessageContinueWidget(); + + void setOutdatedScript(String outdatedScript); + + List getOutdatedScripts(); } diff --git a/runelite-api/src/main/java/net/runelite/api/GameShell.java b/runelite-api/src/main/java/net/runelite/api/GameShell.java index 4d54ec61cb..0360b52e7a 100644 --- a/runelite-api/src/main/java/net/runelite/api/GameShell.java +++ b/runelite-api/src/main/java/net/runelite/api/GameShell.java @@ -24,6 +24,7 @@ */ package net.runelite.api; +import java.util.List; import net.runelite.api.hooks.DrawCallbacks; import java.awt.Canvas; import net.runelite.api.hooks.DrawCallbacks; diff --git a/runelite-client/runelite-client.gradle.kts b/runelite-client/runelite-client.gradle.kts index 1f49decc94..95d0fcd902 100644 --- a/runelite-client/runelite-client.gradle.kts +++ b/runelite-client/runelite-client.gradle.kts @@ -62,6 +62,7 @@ dependencies { implementation(group = "org.pushing-pixels", name = "radiance-substance", version = "2.5.1") implementation(group = "net.sf.jopt-simple", name = "jopt-simple", version = "5.0.4") implementation(group = "org.apache.commons", name = "commons-text", version = "1.9") + implementation(group = "commons-io", name = "commons-io", version = "2.8.0") implementation(group = "org.jetbrains", name = "annotations", version = "20.1.0") implementation(group = "org.jooq", name = "jooq", version = "3.14.0") implementation(group = "org.jooq", name = "jooq-codegen", version = "3.14.0") diff --git a/runelite-client/src/main/scripts/BankBuildTab.hash b/runelite-client/src/main/resources/scripts/BankBuildTab.hash similarity index 100% rename from runelite-client/src/main/scripts/BankBuildTab.hash rename to runelite-client/src/main/resources/scripts/BankBuildTab.hash diff --git a/runelite-client/src/main/scripts/BankBuildTab.rs2asm b/runelite-client/src/main/resources/scripts/BankBuildTab.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/BankBuildTab.rs2asm rename to runelite-client/src/main/resources/scripts/BankBuildTab.rs2asm diff --git a/runelite-client/src/main/scripts/BankLayoutTabSeparator.hash b/runelite-client/src/main/resources/scripts/BankLayoutTabSeparator.hash similarity index 100% rename from runelite-client/src/main/scripts/BankLayoutTabSeparator.hash rename to runelite-client/src/main/resources/scripts/BankLayoutTabSeparator.hash diff --git a/runelite-client/src/main/scripts/BankLayoutTabSeparator.rs2asm b/runelite-client/src/main/resources/scripts/BankLayoutTabSeparator.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/BankLayoutTabSeparator.rs2asm rename to runelite-client/src/main/resources/scripts/BankLayoutTabSeparator.rs2asm diff --git a/runelite-client/src/main/scripts/BankSearchFilter.hash b/runelite-client/src/main/resources/scripts/BankSearchFilter.hash similarity index 100% rename from runelite-client/src/main/scripts/BankSearchFilter.hash rename to runelite-client/src/main/resources/scripts/BankSearchFilter.hash diff --git a/runelite-client/src/main/scripts/BankSearchFilter.rs2asm b/runelite-client/src/main/resources/scripts/BankSearchFilter.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/BankSearchFilter.rs2asm rename to runelite-client/src/main/resources/scripts/BankSearchFilter.rs2asm diff --git a/runelite-client/src/main/scripts/BankSearchLayout.hash b/runelite-client/src/main/resources/scripts/BankSearchLayout.hash similarity index 100% rename from runelite-client/src/main/scripts/BankSearchLayout.hash rename to runelite-client/src/main/resources/scripts/BankSearchLayout.hash diff --git a/runelite-client/src/main/scripts/BankSearchLayout.rs2asm b/runelite-client/src/main/resources/scripts/BankSearchLayout.rs2asm similarity index 99% rename from runelite-client/src/main/scripts/BankSearchLayout.rs2asm rename to runelite-client/src/main/resources/scripts/BankSearchLayout.rs2asm index 8a926db3d3..485a6d08e9 100644 --- a/runelite-client/src/main/scripts/BankSearchLayout.rs2asm +++ b/runelite-client/src/main/resources/scripts/BankSearchLayout.rs2asm @@ -836,8 +836,6 @@ LABEL729: iload 10 iload 11 iload 28 - sconst "addLastRow" - runelite_callback iload 29 iload 12 iload 13 diff --git a/runelite-client/src/main/scripts/ChatBuilder.hash b/runelite-client/src/main/resources/scripts/ChatBuilder.hash similarity index 100% rename from runelite-client/src/main/scripts/ChatBuilder.hash rename to runelite-client/src/main/resources/scripts/ChatBuilder.hash diff --git a/runelite-client/src/main/scripts/ChatBuilder.rs2asm b/runelite-client/src/main/resources/scripts/ChatBuilder.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/ChatBuilder.rs2asm rename to runelite-client/src/main/resources/scripts/ChatBuilder.rs2asm diff --git a/runelite-client/src/main/scripts/ChatSplitBuilder.hash b/runelite-client/src/main/resources/scripts/ChatSplitBuilder.hash similarity index 100% rename from runelite-client/src/main/scripts/ChatSplitBuilder.hash rename to runelite-client/src/main/resources/scripts/ChatSplitBuilder.hash diff --git a/runelite-client/src/main/scripts/ChatSplitBuilder.rs2asm b/runelite-client/src/main/resources/scripts/ChatSplitBuilder.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/ChatSplitBuilder.rs2asm rename to runelite-client/src/main/resources/scripts/ChatSplitBuilder.rs2asm diff --git a/runelite-client/src/main/scripts/ChatboxInput.hash b/runelite-client/src/main/resources/scripts/ChatboxInput.hash similarity index 100% rename from runelite-client/src/main/scripts/ChatboxInput.hash rename to runelite-client/src/main/resources/scripts/ChatboxInput.hash diff --git a/runelite-client/src/main/scripts/ChatboxInput.rs2asm b/runelite-client/src/main/resources/scripts/ChatboxInput.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/ChatboxInput.rs2asm rename to runelite-client/src/main/resources/scripts/ChatboxInput.rs2asm diff --git a/runelite-client/src/main/resources/scripts/ChatboxInputWidgetBuilder.hash b/runelite-client/src/main/resources/scripts/ChatboxInputWidgetBuilder.hash new file mode 100644 index 0000000000..a030722f69 --- /dev/null +++ b/runelite-client/src/main/resources/scripts/ChatboxInputWidgetBuilder.hash @@ -0,0 +1 @@ +7AA081A68C6157F9B74DDB6B04F00B1691113941EED8996A4DEABF643F45EA25 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.rs2asm b/runelite-client/src/main/resources/scripts/ChatboxInputWidgetBuilder.rs2asm similarity index 76% rename from runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.rs2asm rename to runelite-client/src/main/resources/scripts/ChatboxInputWidgetBuilder.rs2asm index e1ab66d206..fb1fedd62b 100644 --- a/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.rs2asm +++ b/runelite-client/src/main/resources/scripts/ChatboxInputWidgetBuilder.rs2asm @@ -47,165 +47,189 @@ LABEL23: get_varbit 8119 iconst 1 if_icmpeq LABEL42 - jump LABEL146 + jump LABEL155 LABEL42: + invoke 3160 + iconst 1 + if_icmpeq LABEL46 + jump LABEL51 +LABEL46: + sconst "" + chat_playername + join_string 2 + sstore 2 + jump LABEL59 +LABEL51: iconst 105 iconst 115 iconst 1894 get_varbit 1777 - enum - chat_playername + enum + chat_playername join_string 2 sstore 2 +LABEL59: iload 4 iconst 1 - if_icmpeq LABEL54 - jump LABEL58 -LABEL54: + if_icmpeq LABEL63 + jump LABEL67 +LABEL63: sload 2 sconst "" - append + append sstore 2 -LABEL58: +LABEL67: sload 2 sconst ": " sload 0 sload 1 sconst "" join_string 4 - append + append sstore 2 iload 2 iconst 80 - if_icmplt LABEL70 - jump LABEL77 -LABEL70: + if_icmplt LABEL79 + jump LABEL86 +LABEL79: sload 2 sload 0 sconst "*" sconst "" join_string 3 - append + append sstore 2 -LABEL77: +LABEL86: sload 2 iconst 2147483647 iconst 495 - parawidth + parawidth istore 3 iload 4 iconst 1 - if_icmpeq LABEL86 - jump LABEL103 -LABEL86: + if_icmpeq LABEL95 + jump LABEL112 +LABEL95: iconst 60 iconst 5 iload 3 - add + add invoke 1045 iconst 30 iconst 0 iconst 0 iconst 10616871 - if_setsize + if_setsize iconst 0 iconst 0 iconst 0 iconst 2 iconst 10616871 - if_setposition - jump LABEL115 -LABEL103: + if_setposition + jump LABEL124 +LABEL112: iconst 0 iconst 30 iconst 0 iconst 1 iconst 10616871 - if_setsize + if_setsize iconst 0 iconst 0 iconst 0 iconst 2 iconst 10616871 - if_setposition -LABEL115: + if_setposition +LABEL124: iload 3 iconst 10616890 - if_getwidth - if_icmpgt LABEL120 - jump LABEL126 -LABEL120: + if_getwidth + if_icmpgt LABEL129 + jump LABEL135 +LABEL129: iconst 2 iconst 2 iconst 0 iconst 10616890 - if_settextalign - jump LABEL131 -LABEL126: + if_settextalign + jump LABEL140 +LABEL135: iconst 0 iconst 2 iconst 0 iconst 10616890 - if_settextalign -LABEL131: + if_settextalign +LABEL140: iconst 10616890 - if_clearops + if_clearops iconst -1 sconst "" iconst 10616890 - if_setonmouserepeat + if_setonmouserepeat iconst -1 sconst "" iconst 10616890 - if_setonmouseleave + if_setonmouseleave iconst -1 sconst "" iconst 10616890 - if_setonop - jump LABEL187 -LABEL146: + if_setonop + jump LABEL205 +LABEL155: + invoke 3160 + iconst 1 + if_icmpeq LABEL159 + jump LABEL164 +LABEL159: + sconst "" + sconst " You must set a name before you can chat." + join_string 2 + sstore 2 + jump LABEL172 +LABEL164: iconst 105 iconst 115 iconst 1894 get_varbit 1777 - enum + enum sconst " You must set a name before you can chat." join_string 2 sstore 2 +LABEL172: iconst 1 iconst 2 iconst 0 iconst 10616890 - if_settextalign + if_settextalign iconst 10 sconst "Configure" iconst 10616890 - if_setop + if_setop sconst "" sconst "Display name" sconst "" join_string 3 iconst 10616890 - if_setopbase + if_setopbase iconst 45 iconst -2147483645 iload 1 sconst "Ii" iconst 10616890 - if_setonmouserepeat + if_setonmouserepeat iconst 45 iconst -2147483645 iload 0 sconst "Ii" iconst 10616890 - if_setonmouseleave + if_setonmouseleave iconst 489 iconst -2147483644 iconst 1024 sconst "ii" iconst 10616890 - if_setonop -LABEL187: + if_setonop +LABEL205: sload 2 iconst 10616890 if_settext diff --git a/runelite-client/src/main/scripts/CombatInterfaceSP.hash b/runelite-client/src/main/resources/scripts/CombatInterfaceSP.hash similarity index 100% rename from runelite-client/src/main/scripts/CombatInterfaceSP.hash rename to runelite-client/src/main/resources/scripts/CombatInterfaceSP.hash diff --git a/runelite-client/src/main/scripts/CombatInterfaceSP.rs2asm b/runelite-client/src/main/resources/scripts/CombatInterfaceSP.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/CombatInterfaceSP.rs2asm rename to runelite-client/src/main/resources/scripts/CombatInterfaceSP.rs2asm diff --git a/runelite-client/src/main/scripts/CommandScript.hash b/runelite-client/src/main/resources/scripts/CommandScript.hash similarity index 100% rename from runelite-client/src/main/scripts/CommandScript.hash rename to runelite-client/src/main/resources/scripts/CommandScript.hash diff --git a/runelite-client/src/main/scripts/CommandScript.rs2asm b/runelite-client/src/main/resources/scripts/CommandScript.rs2asm similarity index 99% rename from runelite-client/src/main/scripts/CommandScript.rs2asm rename to runelite-client/src/main/resources/scripts/CommandScript.rs2asm index 57cf201063..3e568fe0a2 100644 --- a/runelite-client/src/main/scripts/CommandScript.rs2asm +++ b/runelite-client/src/main/resources/scripts/CommandScript.rs2asm @@ -53,7 +53,7 @@ LABEL35: istore 4 LABEL37: staffmodlevel - iconst -1 + iconst 0 if_icmpgt LABEL41 jump LABEL43 LABEL41: diff --git a/runelite-client/src/main/scripts/CustomJoinClan.rs2asm b/runelite-client/src/main/resources/scripts/CustomJoinClan.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/CustomJoinClan.rs2asm rename to runelite-client/src/main/resources/scripts/CustomJoinClan.rs2asm diff --git a/runelite-client/src/main/scripts/DestroyOnOpKey.hash b/runelite-client/src/main/resources/scripts/DestroyOnOpKey.hash similarity index 100% rename from runelite-client/src/main/scripts/DestroyOnOpKey.hash rename to runelite-client/src/main/resources/scripts/DestroyOnOpKey.hash diff --git a/runelite-client/src/main/scripts/DestroyOnOpKey.rs2asm b/runelite-client/src/main/resources/scripts/DestroyOnOpKey.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/DestroyOnOpKey.rs2asm rename to runelite-client/src/main/resources/scripts/DestroyOnOpKey.rs2asm diff --git a/runelite-client/src/main/scripts/FakeXpDrop.hash b/runelite-client/src/main/resources/scripts/FakeXpDrop.hash similarity index 100% rename from runelite-client/src/main/scripts/FakeXpDrop.hash rename to runelite-client/src/main/resources/scripts/FakeXpDrop.hash diff --git a/runelite-client/src/main/scripts/FakeXpDrop.rs2asm b/runelite-client/src/main/resources/scripts/FakeXpDrop.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/FakeXpDrop.rs2asm rename to runelite-client/src/main/resources/scripts/FakeXpDrop.rs2asm diff --git a/runelite-client/src/main/scripts/FriendUpdate.hash b/runelite-client/src/main/resources/scripts/FriendUpdate.hash similarity index 100% rename from runelite-client/src/main/scripts/FriendUpdate.hash rename to runelite-client/src/main/resources/scripts/FriendUpdate.hash diff --git a/runelite-client/src/main/scripts/FriendUpdate.rs2asm b/runelite-client/src/main/resources/scripts/FriendUpdate.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/FriendUpdate.rs2asm rename to runelite-client/src/main/resources/scripts/FriendUpdate.rs2asm diff --git a/runelite-client/src/main/scripts/FriendsChatSendKick.hash b/runelite-client/src/main/resources/scripts/FriendsChatSendKick.hash similarity index 100% rename from runelite-client/src/main/scripts/FriendsChatSendKick.hash rename to runelite-client/src/main/resources/scripts/FriendsChatSendKick.hash diff --git a/runelite-client/src/main/scripts/FriendsChatSendKick.rs2asm b/runelite-client/src/main/resources/scripts/FriendsChatSendKick.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/FriendsChatSendKick.rs2asm rename to runelite-client/src/main/resources/scripts/FriendsChatSendKick.rs2asm diff --git a/runelite-client/src/main/scripts/GELayout.hash b/runelite-client/src/main/resources/scripts/GELayout.hash similarity index 100% rename from runelite-client/src/main/scripts/GELayout.hash rename to runelite-client/src/main/resources/scripts/GELayout.hash diff --git a/runelite-client/src/main/scripts/GELayout.rs2asm b/runelite-client/src/main/resources/scripts/GELayout.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/GELayout.rs2asm rename to runelite-client/src/main/resources/scripts/GELayout.rs2asm diff --git a/runelite-client/src/main/scripts/IgnoreUpdate.hash b/runelite-client/src/main/resources/scripts/IgnoreUpdate.hash similarity index 100% rename from runelite-client/src/main/scripts/IgnoreUpdate.hash rename to runelite-client/src/main/resources/scripts/IgnoreUpdate.hash diff --git a/runelite-client/src/main/scripts/IgnoreUpdate.rs2asm b/runelite-client/src/main/resources/scripts/IgnoreUpdate.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/IgnoreUpdate.rs2asm rename to runelite-client/src/main/resources/scripts/IgnoreUpdate.rs2asm diff --git a/runelite-client/src/main/scripts/LayoutResizableStones.hash b/runelite-client/src/main/resources/scripts/LayoutResizableStones.hash similarity index 100% rename from runelite-client/src/main/scripts/LayoutResizableStones.hash rename to runelite-client/src/main/resources/scripts/LayoutResizableStones.hash diff --git a/runelite-client/src/main/scripts/LayoutResizableStones.rs2asm b/runelite-client/src/main/resources/scripts/LayoutResizableStones.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/LayoutResizableStones.rs2asm rename to runelite-client/src/main/resources/scripts/LayoutResizableStones.rs2asm diff --git a/runelite-client/src/main/scripts/MagicSpellBookRedraw.hash b/runelite-client/src/main/resources/scripts/MagicSpellBookRedraw.hash similarity index 100% rename from runelite-client/src/main/scripts/MagicSpellBookRedraw.hash rename to runelite-client/src/main/resources/scripts/MagicSpellBookRedraw.hash diff --git a/runelite-client/src/main/scripts/MagicSpellBookRedraw.rs2asm b/runelite-client/src/main/resources/scripts/MagicSpellBookRedraw.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/MagicSpellBookRedraw.rs2asm rename to runelite-client/src/main/resources/scripts/MagicSpellBookRedraw.rs2asm diff --git a/runelite-client/src/main/scripts/OpenBankSearchInput.hash b/runelite-client/src/main/resources/scripts/OpenBankSearchInput.hash similarity index 100% rename from runelite-client/src/main/scripts/OpenBankSearchInput.hash rename to runelite-client/src/main/resources/scripts/OpenBankSearchInput.hash diff --git a/runelite-client/src/main/scripts/OpenBankSearchInput.rs2asm b/runelite-client/src/main/resources/scripts/OpenBankSearchInput.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/OpenBankSearchInput.rs2asm rename to runelite-client/src/main/resources/scripts/OpenBankSearchInput.rs2asm diff --git a/runelite-client/src/main/resources/scripts/OptionsPanelRebuilder.hash b/runelite-client/src/main/resources/scripts/OptionsPanelRebuilder.hash new file mode 100644 index 0000000000..381dd10c4f --- /dev/null +++ b/runelite-client/src/main/resources/scripts/OptionsPanelRebuilder.hash @@ -0,0 +1 @@ +1CCC672616971AEB7A1E4C00885367CEFC75A873DD22A37BE99652F2DA107653 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/OptionsPanelRebuilder.rs2asm b/runelite-client/src/main/resources/scripts/OptionsPanelRebuilder.rs2asm similarity index 94% rename from runelite-client/src/main/scripts/OptionsPanelRebuilder.rs2asm rename to runelite-client/src/main/resources/scripts/OptionsPanelRebuilder.rs2asm index 70847540be..c8c1b67c46 100644 --- a/runelite-client/src/main/scripts/OptionsPanelRebuilder.rs2asm +++ b/runelite-client/src/main/resources/scripts/OptionsPanelRebuilder.rs2asm @@ -277,28 +277,28 @@ LABEL253: get_varc_int 73 iconst 128 sconst "outerZoomLimit" - runelite_callback + runelite_callback if_icmpge LABEL262 jump LABEL278 LABEL262: get_varc_int 73 iconst 896 sconst "innerZoomLimit" - runelite_callback + runelite_callback if_icmple LABEL266 jump LABEL278 LABEL266: get_varc_int 74 iconst 128 sconst "outerZoomLimit" - runelite_callback + runelite_callback if_icmpge LABEL270 jump LABEL278 LABEL270: get_varc_int 74 iconst 896 sconst "innerZoomLimit" - runelite_callback + runelite_callback if_icmple LABEL274 jump LABEL278 LABEL274: @@ -329,17 +329,17 @@ LABEL292: iconst 0 iconst 0 iload 2 - if_setsize + if_setsize iload 10 iload 14 - sub + sub iload 11 iload 15 - sub + sub iconst 0 iconst 0 iload 3 - if_setsize + if_setsize iload 4 iconst -1 if_icmpne LABEL312 @@ -355,39 +355,39 @@ LABEL316: iconst 0 iconst 0 iload 4 - if_setposition + if_setposition iload 6 iload 7 iconst 0 iconst 0 iload 5 - if_setposition + if_setposition iload 6 iload 8 - add + add iload 7 iload 9 - add + add iconst 1 iconst 1 iload 4 - if_setsize + if_setsize iload 6 iload 8 - add + add iload 7 iload 9 - add + add iconst 1 iconst 1 iload 5 - if_setsize + if_setsize iload 1 iconst 73 iconst 73 iload 1 iconst 10551309 - enum + enum iload 5 iload 8 iload 9 @@ -399,7 +399,7 @@ LABEL359: iconst 73 iload 1 iconst 10551309 - enum + enum iload 3 iconst 0 iconst 0 @@ -409,7 +409,7 @@ LABEL369: iconst 73 iload 1 iconst 10551311 - enum + enum istore 18 iload 18 iconst -1 @@ -422,7 +422,7 @@ LABEL379: jump LABEL417 LABEL383: iload 18 - if_hassub + if_hassub iconst 1 if_icmpeq LABEL388 jump LABEL417 @@ -437,7 +437,7 @@ LABEL392: iconst 0 iconst 1 iload 18 - if_setsize + if_setsize jump LABEL416 LABEL399: get_varc_int 173 @@ -450,7 +450,7 @@ LABEL403: iconst 1 iconst 1 iload 18 - if_setsize + if_setsize jump LABEL416 LABEL410: iconst 512 @@ -458,7 +458,7 @@ LABEL410: iconst 0 iconst 0 iload 18 - if_setsize + if_setsize LABEL416: jump LABEL423 LABEL417: @@ -467,13 +467,13 @@ LABEL417: iconst 0 iconst 0 iload 18 - if_setsize + if_setsize LABEL423: iconst 73 iconst 73 iload 1 iconst 10551313 - enum + enum istore 18 iconst 0 istore 19 @@ -487,9 +487,9 @@ LABEL437: iconst 73 iconst 73 iload 1 - iconst 10551305 - enum - if_hassub + iconst 10551304 + enum + if_hassub iconst 1 if_icmpeq LABEL446 jump LABEL455 @@ -518,13 +518,13 @@ LABEL459: LABEL463: iconst 182 iconst 4 - add + add istore 19 jump LABEL472 LABEL468: iconst 120 iconst 4 - add + add istore 19 LABEL472: jump LABEL475 @@ -537,12 +537,12 @@ LABEL475: iconst 2 iconst 0 iload 18 - if_setposition + if_setposition LABEL481: iconst 73 iconst 73 iload 1 - iconst 10551305 + iconst 10551304 enum istore 18 iconst 0 diff --git a/runelite-client/src/main/scripts/OptionsPanelZoomMouseListener.hash b/runelite-client/src/main/resources/scripts/OptionsPanelZoomMouseListener.hash similarity index 100% rename from runelite-client/src/main/scripts/OptionsPanelZoomMouseListener.hash rename to runelite-client/src/main/resources/scripts/OptionsPanelZoomMouseListener.hash diff --git a/runelite-client/src/main/scripts/OptionsPanelZoomMouseListener.rs2asm b/runelite-client/src/main/resources/scripts/OptionsPanelZoomMouseListener.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/OptionsPanelZoomMouseListener.rs2asm rename to runelite-client/src/main/resources/scripts/OptionsPanelZoomMouseListener.rs2asm diff --git a/runelite-client/src/main/scripts/OptionsPanelZoomUpdater.hash b/runelite-client/src/main/resources/scripts/OptionsPanelZoomUpdater.hash similarity index 100% rename from runelite-client/src/main/scripts/OptionsPanelZoomUpdater.hash rename to runelite-client/src/main/resources/scripts/OptionsPanelZoomUpdater.hash diff --git a/runelite-client/src/main/scripts/OptionsPanelZoomUpdater.rs2asm b/runelite-client/src/main/resources/scripts/OptionsPanelZoomUpdater.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/OptionsPanelZoomUpdater.rs2asm rename to runelite-client/src/main/resources/scripts/OptionsPanelZoomUpdater.rs2asm diff --git a/runelite-client/src/main/scripts/PrivateMessage.hash b/runelite-client/src/main/resources/scripts/PrivateMessage.hash similarity index 100% rename from runelite-client/src/main/scripts/PrivateMessage.hash rename to runelite-client/src/main/resources/scripts/PrivateMessage.hash diff --git a/runelite-client/src/main/scripts/PrivateMessage.rs2asm b/runelite-client/src/main/resources/scripts/PrivateMessage.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/PrivateMessage.rs2asm rename to runelite-client/src/main/resources/scripts/PrivateMessage.rs2asm diff --git a/runelite-client/src/main/scripts/ResetChatboxInput.hash b/runelite-client/src/main/resources/scripts/ResetChatboxInput.hash similarity index 100% rename from runelite-client/src/main/scripts/ResetChatboxInput.hash rename to runelite-client/src/main/resources/scripts/ResetChatboxInput.hash diff --git a/runelite-client/src/main/scripts/ResetChatboxInput.rs2asm b/runelite-client/src/main/resources/scripts/ResetChatboxInput.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/ResetChatboxInput.rs2asm rename to runelite-client/src/main/resources/scripts/ResetChatboxInput.rs2asm diff --git a/runelite-client/src/main/scripts/ScrollWheelZoomHandler.hash b/runelite-client/src/main/resources/scripts/ScrollWheelZoomHandler.hash similarity index 100% rename from runelite-client/src/main/scripts/ScrollWheelZoomHandler.hash rename to runelite-client/src/main/resources/scripts/ScrollWheelZoomHandler.hash diff --git a/runelite-client/src/main/scripts/ScrollWheelZoomHandler.rs2asm b/runelite-client/src/main/resources/scripts/ScrollWheelZoomHandler.rs2asm similarity index 82% rename from runelite-client/src/main/scripts/ScrollWheelZoomHandler.rs2asm rename to runelite-client/src/main/resources/scripts/ScrollWheelZoomHandler.rs2asm index b5f275eab2..618f50abf9 100644 --- a/runelite-client/src/main/scripts/ScrollWheelZoomHandler.rs2asm +++ b/runelite-client/src/main/resources/scripts/ScrollWheelZoomHandler.rs2asm @@ -6,15 +6,15 @@ iconst 1 iconst 0 sconst "scrollWheelZoom" - runelite_callback + runelite_callback if_icmpeq LABEL18 iconst 0 iload 0 iconst 25 - sconst "scrollWheelZoomIncrement" + sconst "scrollWheelZoomIncrement" runelite_callback multiply - sub + sub istore 1 iconst 512 istore 2 @@ -30,21 +30,21 @@ LABEL14: if_icmpne LABEL18 jump LABEL19 LABEL18: - return + return LABEL19: - viewport_getfov + viewport_getfov istore 2 istore 3 iload 3 iload 1 - add + add istore 3 iload 2 iload 1 - add + add istore 2 iload 3 iload 2 invoke 42 LABEL33: - return + return diff --git a/runelite-client/src/main/scripts/SendPrivateMessage.rs2asm b/runelite-client/src/main/resources/scripts/SendPrivateMessage.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/SendPrivateMessage.rs2asm rename to runelite-client/src/main/resources/scripts/SendPrivateMessage.rs2asm diff --git a/runelite-client/src/main/scripts/SendPublicMessage.rs2asm b/runelite-client/src/main/resources/scripts/SendPublicMessage.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/SendPublicMessage.rs2asm rename to runelite-client/src/main/resources/scripts/SendPublicMessage.rs2asm diff --git a/runelite-client/src/main/scripts/SkillTabBuilder.hash b/runelite-client/src/main/resources/scripts/SkillTabBuilder.hash similarity index 100% rename from runelite-client/src/main/scripts/SkillTabBuilder.hash rename to runelite-client/src/main/resources/scripts/SkillTabBuilder.hash diff --git a/runelite-client/src/main/scripts/SkillTabBuilder.rs2asm b/runelite-client/src/main/resources/scripts/SkillTabBuilder.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/SkillTabBuilder.rs2asm rename to runelite-client/src/main/resources/scripts/SkillTabBuilder.rs2asm diff --git a/runelite-client/src/main/scripts/SkillTabTotalLevel.hash b/runelite-client/src/main/resources/scripts/SkillTabTotalLevel.hash similarity index 100% rename from runelite-client/src/main/scripts/SkillTabTotalLevel.hash rename to runelite-client/src/main/resources/scripts/SkillTabTotalLevel.hash diff --git a/runelite-client/src/main/scripts/SkillTabTotalLevel.rs2asm b/runelite-client/src/main/resources/scripts/SkillTabTotalLevel.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/SkillTabTotalLevel.rs2asm rename to runelite-client/src/main/resources/scripts/SkillTabTotalLevel.rs2asm diff --git a/runelite-client/src/main/resources/scripts/SpecbarRedraw.hash b/runelite-client/src/main/resources/scripts/SpecbarRedraw.hash new file mode 100644 index 0000000000..9715ca5575 --- /dev/null +++ b/runelite-client/src/main/resources/scripts/SpecbarRedraw.hash @@ -0,0 +1 @@ +1EDA8CA79506CC62A192A844B88AC924BAD3060D9E32150C43458E135908329B \ No newline at end of file diff --git a/runelite-client/src/main/scripts/SpecbarRedraw.rs2asm b/runelite-client/src/main/resources/scripts/SpecbarRedraw.rs2asm similarity index 70% rename from runelite-client/src/main/scripts/SpecbarRedraw.rs2asm rename to runelite-client/src/main/resources/scripts/SpecbarRedraw.rs2asm index cea353401a..d6f704d2e5 100644 --- a/runelite-client/src/main/scripts/SpecbarRedraw.rs2asm +++ b/runelite-client/src/main/resources/scripts/SpecbarRedraw.rs2asm @@ -11,27 +11,24 @@ get_varbit 5314 iconst 1 if_icmpeq LABEL9 - jump LABEL17 + jump LABEL14 LABEL9: - iconst 111 - iconst 105 - iconst 906 iconst 94 iconst 3 - inv_getobj - enum + inv_getobj + invoke 3648 istore 1 -LABEL17: +LABEL14: iload 1 iconst 0 - if_icmple LABEL21 - jump LABEL31 -LABEL21: + if_icmple LABEL18 + jump LABEL28 +LABEL18: iconst 1 ; What we compare the boolean with iconst 0 ; Boolean sconst "drawSpecbarAnyway" runelite_callback - if_icmpeq LABEL41 + if_icmpeq LABEL38 ; change this iconst 1 iconst 38862883 if_sethide @@ -42,57 +39,57 @@ LABEL21: iconst 38862850 if_setsize return -LABEL31: +LABEL28: invoke 1972 iconst 1 - if_icmpeq LABEL35 - jump LABEL41 -LABEL35: + if_icmpeq LABEL32 + jump LABEL38 +LABEL32: iconst 190 iconst 16 iconst 0 iconst 0 iconst 38862850 if_setsize -LABEL41: +LABEL38: iconst 0 istore 2 iconst 38862883 if_gethide iconst 1 - if_icmpeq LABEL48 - jump LABEL50 -LABEL48: + if_icmpeq LABEL45 + jump LABEL47 +LABEL45: iconst 1 istore 2 -LABEL50: +LABEL47: iconst 0 iconst 38862883 if_sethide get_varp 301 iconst 0 - if_icmpgt LABEL57 - jump LABEL61 -LABEL57: + if_icmpgt LABEL54 + jump LABEL58 +LABEL54: iconst 16776960 iconst 38862888 if_setcolour - jump LABEL64 -LABEL61: + jump LABEL61 +LABEL58: iconst 16 iconst 38862888 if_setcolour -LABEL64: +LABEL61: get_varp 300 istore 3 iload 3 iconst 0 - if_icmplt LABEL70 - jump LABEL72 -LABEL70: + if_icmplt LABEL67 + jump LABEL69 +LABEL67: iconst 0 istore 3 -LABEL72: +LABEL69: sconst "Special Attack: " iload 3 iconst 10 @@ -106,31 +103,24 @@ LABEL72: iload 3 iload 2 invoke 189 - iconst 38862884 - iconst 0 - invoke 835 - pop_int ; Specbar is fully built here - iload 1 - iconst 0 - if_icmple RETURN ; Return if the weapon isn't supposed to have a spec - jump CONTINUE ; Idk why I'm doing it like this but it's the jagex way - RETURN: - return - CONTINUE: iload 3 iload 1 - if_icmpge LABEL89 - jump LABEL93 -LABEL89: + if_icmpge LABEL86 + jump LABEL90 +LABEL86: iconst 3767611 iconst 38862887 if_setcolour - jump LABEL96 -LABEL93: + jump LABEL93 +LABEL90: iconst 12907 iconst 38862887 if_setcolour -LABEL96: +LABEL93: + iconst 38862884 + iconst 0 + invoke 835 + pop_int iconst 94 iconst 3 inv_getobj @@ -141,11 +131,8 @@ LABEL96: iload 4 enum sconst " (" - iconst 111 - iconst 105 - iconst 906 iload 4 - enum + invoke 3648 iconst 10 div tostring @@ -154,13 +141,13 @@ LABEL96: sstore 0 iload 4 switch - 22737: LABEL124 - 22740: LABEL124 - 22743: LABEL124 - 22731: LABEL124 - 22734: LABEL124 - jump LABEL132 -LABEL124: + 22737: LABEL118 + 22740: LABEL118 + 22743: LABEL118 + 22731: LABEL118 + 22734: LABEL118 + jump LABEL126 +LABEL118: iconst 111 iconst 115 iconst 1739 @@ -169,64 +156,61 @@ LABEL124: sconst " 5-100% " join_string 2 sstore 0 -LABEL132: +LABEL126: get_varbit 5712 iconst 0 - if_icmpeq LABEL136 - jump LABEL201 -LABEL136: + if_icmpeq LABEL130 + jump LABEL192 +LABEL130: iload 4 iconst 11235 - if_icmpeq LABEL152 + if_icmpeq LABEL146 iload 4 iconst 20408 - if_icmpeq LABEL152 + if_icmpeq LABEL146 iload 4 iconst 12765 - if_icmpeq LABEL152 + if_icmpeq LABEL146 iload 4 iconst 12768 - if_icmpeq LABEL152 + if_icmpeq LABEL146 iload 4 iconst 12767 - if_icmpeq LABEL152 - jump LABEL185 -LABEL152: + if_icmpeq LABEL146 + jump LABEL176 +LABEL146: iconst 94 iconst 13 inv_getobj iconst 11212 - if_icmpeq LABEL173 + if_icmpeq LABEL167 iconst 94 iconst 13 inv_getobj iconst 11227 - if_icmpeq LABEL173 + if_icmpeq LABEL167 iconst 94 iconst 13 inv_getobj iconst 11228 - if_icmpeq LABEL173 + if_icmpeq LABEL167 iconst 94 iconst 13 inv_getobj iconst 11229 - if_icmpeq LABEL173 - jump LABEL185 -LABEL173: + if_icmpeq LABEL167 + jump LABEL176 +LABEL167: sconst "Descent of Dragons: Deal a double attack with dragon arrows that inflicts up to 50% more damage (minimum damage of 8 per hit). (" - iconst 111 - iconst 105 - iconst 906 iload 4 - enum + invoke 3648 iconst 10 div tostring sconst "%)" join_string 3 sstore 0 -LABEL185: +LABEL176: iconst 526 iconst -2147483645 iconst -1 @@ -242,11 +226,11 @@ LABEL185: sconst "I" iconst 38862883 if_setonmouseleave - jump LABEL205 -LABEL201: + jump LABEL196 +LABEL192: iconst -1 sconst "" iconst 38862883 if_setonmouserepeat -LABEL205: +LABEL196: return diff --git a/runelite-client/src/main/scripts/ToplevelChatboxBackground.hash b/runelite-client/src/main/resources/scripts/ToplevelChatboxBackground.hash similarity index 100% rename from runelite-client/src/main/scripts/ToplevelChatboxBackground.hash rename to runelite-client/src/main/resources/scripts/ToplevelChatboxBackground.hash diff --git a/runelite-client/src/main/scripts/ToplevelChatboxBackground.rs2asm b/runelite-client/src/main/resources/scripts/ToplevelChatboxBackground.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/ToplevelChatboxBackground.rs2asm rename to runelite-client/src/main/resources/scripts/ToplevelChatboxBackground.rs2asm diff --git a/runelite-client/src/main/scripts/ToplevelCompassOp.hash b/runelite-client/src/main/resources/scripts/ToplevelCompassOp.hash similarity index 100% rename from runelite-client/src/main/scripts/ToplevelCompassOp.hash rename to runelite-client/src/main/resources/scripts/ToplevelCompassOp.hash diff --git a/runelite-client/src/main/scripts/ToplevelCompassOp.rs2asm b/runelite-client/src/main/resources/scripts/ToplevelCompassOp.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/ToplevelCompassOp.rs2asm rename to runelite-client/src/main/resources/scripts/ToplevelCompassOp.rs2asm diff --git a/runelite-client/src/main/scripts/TriggerBankLayout.hash b/runelite-client/src/main/resources/scripts/TriggerBankLayout.hash similarity index 100% rename from runelite-client/src/main/scripts/TriggerBankLayout.hash rename to runelite-client/src/main/resources/scripts/TriggerBankLayout.hash diff --git a/runelite-client/src/main/scripts/TriggerBankLayout.rs2asm b/runelite-client/src/main/resources/scripts/TriggerBankLayout.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/TriggerBankLayout.rs2asm rename to runelite-client/src/main/resources/scripts/TriggerBankLayout.rs2asm diff --git a/runelite-client/src/main/scripts/UpdateBankPin.hash b/runelite-client/src/main/resources/scripts/UpdateBankPin.hash similarity index 100% rename from runelite-client/src/main/scripts/UpdateBankPin.hash rename to runelite-client/src/main/resources/scripts/UpdateBankPin.hash diff --git a/runelite-client/src/main/scripts/UpdateBankPin.rs2asm b/runelite-client/src/main/resources/scripts/UpdateBankPin.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/UpdateBankPin.rs2asm rename to runelite-client/src/main/resources/scripts/UpdateBankPin.rs2asm diff --git a/runelite-client/src/main/scripts/XpDropChanged.hash b/runelite-client/src/main/resources/scripts/XpDropChanged.hash similarity index 100% rename from runelite-client/src/main/scripts/XpDropChanged.hash rename to runelite-client/src/main/resources/scripts/XpDropChanged.hash diff --git a/runelite-client/src/main/scripts/XpDropChanged.rs2asm b/runelite-client/src/main/resources/scripts/XpDropChanged.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/XpDropChanged.rs2asm rename to runelite-client/src/main/resources/scripts/XpDropChanged.rs2asm diff --git a/runelite-client/src/main/scripts/ZoomHandler.hash b/runelite-client/src/main/resources/scripts/ZoomHandler.hash similarity index 100% rename from runelite-client/src/main/scripts/ZoomHandler.hash rename to runelite-client/src/main/resources/scripts/ZoomHandler.hash diff --git a/runelite-client/src/main/scripts/ZoomHandler.rs2asm b/runelite-client/src/main/resources/scripts/ZoomHandler.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/ZoomHandler.rs2asm rename to runelite-client/src/main/resources/scripts/ZoomHandler.rs2asm diff --git a/runelite-client/src/main/scripts/null.rs2asm b/runelite-client/src/main/resources/scripts/null.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/null.rs2asm rename to runelite-client/src/main/resources/scripts/null.rs2asm diff --git a/runelite-client/src/main/scripts/options_allsounds.hash b/runelite-client/src/main/resources/scripts/options_allsounds.hash similarity index 100% rename from runelite-client/src/main/scripts/options_allsounds.hash rename to runelite-client/src/main/resources/scripts/options_allsounds.hash diff --git a/runelite-client/src/main/scripts/options_allsounds.rs2asm b/runelite-client/src/main/resources/scripts/options_allsounds.rs2asm similarity index 100% rename from runelite-client/src/main/scripts/options_allsounds.rs2asm rename to runelite-client/src/main/resources/scripts/options_allsounds.rs2asm diff --git a/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.hash b/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.hash deleted file mode 100644 index 9bc0c02495..0000000000 --- a/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.hash +++ /dev/null @@ -1 +0,0 @@ -B840A83E8560C8EB17205E2B98F1D9CD25FBC390562E8A5A437B692EEA6D8F15 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/OptionsPanelRebuilder.hash b/runelite-client/src/main/scripts/OptionsPanelRebuilder.hash deleted file mode 100644 index 325891a913..0000000000 --- a/runelite-client/src/main/scripts/OptionsPanelRebuilder.hash +++ /dev/null @@ -1 +0,0 @@ -70481539CCDB751DD4627EE8F4765D6D5BFD331E32E51B73946913C3CE17D942 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/SpecbarRedraw.hash b/runelite-client/src/main/scripts/SpecbarRedraw.hash deleted file mode 100644 index 7157165228..0000000000 --- a/runelite-client/src/main/scripts/SpecbarRedraw.hash +++ /dev/null @@ -1 +0,0 @@ -3444503072AEE70EEB53938C1FDC826A7530B62BB5FAB65402A22BAB08D7B76D \ No newline at end of file diff --git a/runelite-mixins/runelite-mixins.gradle.kts b/runelite-mixins/runelite-mixins.gradle.kts index d14e7d27d4..1fe26ca866 100644 --- a/runelite-mixins/runelite-mixins.gradle.kts +++ b/runelite-mixins/runelite-mixins.gradle.kts @@ -29,6 +29,7 @@ dependencies { compileOnly(group = "com.google.guava", name = "guava", version = "30.0-jre") compileOnly(group = "javax.inject", name = "javax.inject", version = "1") compileOnly(group = "org.slf4j", name = "slf4j-api", version = "1.7.30") + compileOnly(group = "commons-io", name = "commons-io", version = "2.8.0") compileOnly(project(":injection-annotations")) compileOnly(project(":runescape-api")) } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSAbstractArchiveMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSAbstractArchiveMixin.java index 97ab92c821..7b2550e24d 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSAbstractArchiveMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSAbstractArchiveMixin.java @@ -1,11 +1,15 @@ package net.runelite.mixins; +import com.google.common.base.Charsets; import com.google.common.hash.Hashing; import com.google.common.io.ByteStreams; import com.google.common.io.CharStreams; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import net.runelite.api.mixins.Copy; import net.runelite.api.mixins.Inject; import net.runelite.api.mixins.Mixin; @@ -15,6 +19,7 @@ import net.runelite.api.overlay.OverlayIndex; import net.runelite.rs.api.RSAbstractArchive; import net.runelite.rs.api.RSArchive; import net.runelite.rs.api.RSClient; +import org.apache.commons.io.IOUtils; import org.slf4j.Logger; @Mixin(RSAbstractArchive.class) @@ -26,6 +31,9 @@ public abstract class RSAbstractArchiveMixin implements RSAbstractArchive @Inject private boolean overlayOutdated; + @Inject + private Map scriptNames; + @Inject @Override public boolean isOverlayOutdated() @@ -33,6 +41,17 @@ public abstract class RSAbstractArchiveMixin implements RSAbstractArchive return overlayOutdated; } + private InputStream getResourceAsStream(String resource) { + final InputStream in + = getContextClassLoader().getResourceAsStream(resource); + + return in == null ? getClass().getResourceAsStream(resource) : in; + } + + private ClassLoader getContextClassLoader() { + return Thread.currentThread().getContextClassLoader(); + } + @SuppressWarnings("InfiniteRecursion") @Copy("takeFile") @Replace("takeFile") @@ -46,6 +65,34 @@ public abstract class RSAbstractArchiveMixin implements RSAbstractArchive return rsData; } + if (scriptNames == null) + try + { + scriptNames = new HashMap<>(); + InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("scripts/"); + if (is != null) + { + List files = IOUtils.readLines(is, Charsets.UTF_8); + for (String s : files) + { + if (s.endsWith(".rs2asm")) + continue; + + String scriptName = s.replace(".hash", ""); + InputStream hashStream = ClassLoader.getSystemClassLoader().getResourceAsStream("scripts/" + scriptName + ".hash"); + if (hashStream != null) + { + String scriptHash = (String) IOUtils.readLines(hashStream, Charsets.UTF_8).toArray()[0]; + scriptNames.put(scriptHash, scriptName); + } + } + } + } + catch (IOException e) + { + e.printStackTrace(); + } + final Logger log = client.getLogger(); final String path = String.format("/runelite/%s/%s", archiveId, groupId); @@ -68,8 +115,8 @@ public abstract class RSAbstractArchiveMixin implements RSAbstractArchive // Check if hash is correct first, so we don't have to load the overlay file if it doesn't match if (!overlayHash.equalsIgnoreCase(originalHash)) { - log.warn("Mismatch in overlaid cache archive hash for {}/{}: {} != {}", - archiveId, groupId, overlayHash, originalHash); + log.error("Script " + scriptNames.get(overlayHash) + " is invalid, and will not be overlaid. This will break plugin(s)!"); + client.setOutdatedScript(scriptNames.get(overlayHash)); overlayOutdated = true; return rsData; } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java index 2991c48d18..1048c86ae9 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -240,6 +240,9 @@ public abstract class RSClientMixin implements RSClient @Inject private boolean comparingAppearance = false; + @Inject + private List outdatedScripts = new ArrayList<>(); + @Inject @Override public void setPrintMenuActions(boolean yes) @@ -1973,5 +1976,22 @@ public abstract class RSClientMixin implements RSClient client.setMusicTrackBoolean(var5); client.setPcmSampleLength(var0); } + + // this exists because the original got inlined + @Inject + @Override + public void setOutdatedScript(String outdatedScript) + { + if (!outdatedScripts.contains(outdatedScript)) + outdatedScripts.add(outdatedScript); + } + + // this exists because the original got inlined + @Inject + @Override + public List getOutdatedScripts() + { + return this.outdatedScripts; + } } diff --git a/runelite-script-assembler-plugin/runelite-script-assembler-plugin.gradle.kts b/runelite-script-assembler-plugin/runelite-script-assembler-plugin.gradle.kts index 419858f7e8..6f92983453 100644 --- a/runelite-script-assembler-plugin/runelite-script-assembler-plugin.gradle.kts +++ b/runelite-script-assembler-plugin/runelite-script-assembler-plugin.gradle.kts @@ -42,7 +42,7 @@ dependencies { tasks { register("assembleMojo") { outputs.cacheIf { true } - val inp = "${project.extra["rootPath"]}/runelite-client/src/main/scripts" + val inp = "${project.extra["rootPath"]}/runelite-client/src/main/resources/scripts" val out = "${project.extra["rootPath"]}/runelite-client/build/scripts/runelite" inputs.dir(inp) outputs.dir(out) From c626769ca4a9de1fd4b570a9aeaf0e55a51d2e8b Mon Sep 17 00:00:00 2001 From: therealunull Date: Thu, 29 Oct 2020 13:17:09 -0400 Subject: [PATCH 2/4] mixins: remove 2 dead methods --- .../net/runelite/mixins/RSAbstractArchiveMixin.java | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSAbstractArchiveMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSAbstractArchiveMixin.java index 7b2550e24d..5849ec0a9f 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSAbstractArchiveMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSAbstractArchiveMixin.java @@ -41,17 +41,6 @@ public abstract class RSAbstractArchiveMixin implements RSAbstractArchive return overlayOutdated; } - private InputStream getResourceAsStream(String resource) { - final InputStream in - = getContextClassLoader().getResourceAsStream(resource); - - return in == null ? getClass().getResourceAsStream(resource) : in; - } - - private ClassLoader getContextClassLoader() { - return Thread.currentThread().getContextClassLoader(); - } - @SuppressWarnings("InfiniteRecursion") @Copy("takeFile") @Replace("takeFile") From a20bdb57cb4e2af70778e1847e880524c39e7d4f Mon Sep 17 00:00:00 2001 From: therealunull Date: Thu, 29 Oct 2020 13:24:36 -0400 Subject: [PATCH 3/4] runelite-client: remove remnant script dir --- runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.hash | 1 - runelite-client/src/main/scripts/OptionsPanelRebuilder.hash | 1 - runelite-client/src/main/scripts/SpecbarRedraw.hash | 1 - 3 files changed, 3 deletions(-) delete mode 100644 runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.hash delete mode 100644 runelite-client/src/main/scripts/OptionsPanelRebuilder.hash delete mode 100644 runelite-client/src/main/scripts/SpecbarRedraw.hash diff --git a/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.hash b/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.hash deleted file mode 100644 index a030722f69..0000000000 --- a/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.hash +++ /dev/null @@ -1 +0,0 @@ -7AA081A68C6157F9B74DDB6B04F00B1691113941EED8996A4DEABF643F45EA25 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/OptionsPanelRebuilder.hash b/runelite-client/src/main/scripts/OptionsPanelRebuilder.hash deleted file mode 100644 index 381dd10c4f..0000000000 --- a/runelite-client/src/main/scripts/OptionsPanelRebuilder.hash +++ /dev/null @@ -1 +0,0 @@ -1CCC672616971AEB7A1E4C00885367CEFC75A873DD22A37BE99652F2DA107653 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/SpecbarRedraw.hash b/runelite-client/src/main/scripts/SpecbarRedraw.hash deleted file mode 100644 index 9715ca5575..0000000000 --- a/runelite-client/src/main/scripts/SpecbarRedraw.hash +++ /dev/null @@ -1 +0,0 @@ -1EDA8CA79506CC62A192A844B88AC924BAD3060D9E32150C43458E135908329B \ No newline at end of file From 35b9ee3dede2460ecb9c226b748281074e8e00d1 Mon Sep 17 00:00:00 2001 From: therealunull Date: Thu, 29 Oct 2020 13:30:06 -0400 Subject: [PATCH 4/4] mixins: checkstyle --- runelite-api/src/main/java/net/runelite/api/GameShell.java | 2 -- .../src/main/java/net/runelite/mixins/RSClientMixin.java | 4 +--- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/GameShell.java b/runelite-api/src/main/java/net/runelite/api/GameShell.java index 0360b52e7a..aa69462bfd 100644 --- a/runelite-api/src/main/java/net/runelite/api/GameShell.java +++ b/runelite-api/src/main/java/net/runelite/api/GameShell.java @@ -24,10 +24,8 @@ */ package net.runelite.api; -import java.util.List; import net.runelite.api.hooks.DrawCallbacks; import java.awt.Canvas; -import net.runelite.api.hooks.DrawCallbacks; /** * Represents the client game engine. diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java index 1048c86ae9..c1352137d3 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -1977,7 +1977,6 @@ public abstract class RSClientMixin implements RSClient client.setPcmSampleLength(var0); } - // this exists because the original got inlined @Inject @Override public void setOutdatedScript(String outdatedScript) @@ -1985,8 +1984,7 @@ public abstract class RSClientMixin implements RSClient if (!outdatedScripts.contains(outdatedScript)) outdatedScripts.add(outdatedScript); } - - // this exists because the original got inlined + @Inject @Override public List getOutdatedScripts()