From 1dbf432377f4b0355117b25ecde66915456b0ff8 Mon Sep 17 00:00:00 2001 From: Jordan Atwood Date: Wed, 24 Jun 2020 14:56:35 -0700 Subject: [PATCH 001/189] slayer: Update initial amount if current amount is higher Prior to this commit it was possible to receive a change or update in task by playing on mobile or another client, log back in to RuneLite with incorrect task information saved to config and, once updated via checking a slayer gem or speaking with a slayer master, having a task amount greater than the saved initial task length. This updates the plugin to use the greater of these numbers so that case is no longer possible. --- .../runelite/client/plugins/slayer/SlayerPlugin.java | 2 +- .../client/plugins/slayer/SlayerPluginTest.java | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java index c8c02a8bf3..e343c29359 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java @@ -683,7 +683,7 @@ public class SlayerPlugin extends Plugin { taskName = name; amount = amt; - initialAmount = initAmt; + initialAmount = Math.max(amt, initAmt); taskLocation = location; save(); removeCounter(); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java index 1c0bbb67f9..4780fa6863 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java @@ -775,6 +775,17 @@ public class SlayerPluginTest assertEquals(30, slayerPlugin.getAmount()); } + @Test + public void updateInitialAmount() + { + Widget npcDialog = mock(Widget.class); + when(npcDialog.getText()).thenReturn(TASK_EXISTING); + when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog); + slayerPlugin.onGameTick(new GameTick()); + + assertEquals(222, slayerPlugin.getInitialAmount()); + } + @Test public void testTaskLookup() throws IOException { From 5ab04030b8010a31cd06972e2b7f5d2eec384c12 Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 27 Jun 2020 12:21:08 -0400 Subject: [PATCH 002/189] api: add high alch price to item composition --- .../src/main/java/net/runelite/api/ItemComposition.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/ItemComposition.java b/runelite-api/src/main/java/net/runelite/api/ItemComposition.java index 16d7876c67..72f955e5ba 100644 --- a/runelite-api/src/main/java/net/runelite/api/ItemComposition.java +++ b/runelite-api/src/main/java/net/runelite/api/ItemComposition.java @@ -91,9 +91,18 @@ public interface ItemComposition * @return the general store value of the item * * @see Constants#HIGH_ALCHEMY_MULTIPLIER + * @see ItemComposition#getHaPrice() */ int getPrice(); + /** + * Get the high alchemy price for this item. All items have a high alchemy price, + * but not all items can be alched. + * + * @return the high alch price + */ + int getHaPrice(); + /** * Checks whether the item is members only. * From 71d89af946b96921004282a76616435d481431cc Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 27 Jun 2020 12:21:21 -0400 Subject: [PATCH 003/189] client: use item composition high alch price The correct way to compute ha price is floor(storePrice * 0.6f). This was being computed incorrectly everywhere except for the bank plugin. THis is now being computed centrally via the api. --- .../runelite/client/plugins/bank/BankPlugin.java | 12 +++++------- .../plugins/chatcommands/ChatCommandsPlugin.java | 16 ++++++---------- .../client/plugins/examine/ExaminePlugin.java | 4 +--- .../plugins/grounditems/GroundItemsPlugin.java | 3 +-- .../plugins/itemprices/ItemPricesOverlay.java | 3 +-- .../plugins/loottracker/LootTrackerPlugin.java | 3 +-- .../client/plugins/bank/BankPluginTest.java | 8 ++++---- 7 files changed, 19 insertions(+), 30 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java index fbbd834ed8..c7c1540137 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java @@ -40,8 +40,6 @@ import javax.annotation.Nullable; import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; -import net.runelite.api.Constants; -import static net.runelite.api.Constants.HIGH_ALCHEMY_MULTIPLIER; import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemComposition; @@ -411,8 +409,9 @@ public class BankPlugin extends Plugin } final ItemComposition itemComposition = itemManager.getItemComposition(itemId); - long gePrice = (long) itemManager.getItemPrice(itemId) * (long) itemQuantities.count(itemId); - long haPrice = (long) (itemComposition.getPrice() * HIGH_ALCHEMY_MULTIPLIER) * (long) itemQuantities.count(itemId); + final int qty = itemQuantities.count(itemId); + final long gePrice = (long) itemManager.getItemPrice(itemId) * qty; + final long haPrice = (long) itemComposition.getHaPrice() * qty; long value = Math.max(gePrice, haPrice); @@ -522,9 +521,8 @@ public class BankPlugin extends Plugin alch += qty * 1000L; break; default: - final long storePrice = itemManager.getItemComposition(id).getPrice(); - final long alchPrice = (long) (storePrice * Constants.HIGH_ALCHEMY_MULTIPLIER); - alch += alchPrice * qty; + final int alchPrice = itemManager.getItemComposition(id).getHaPrice(); + alch += (long) alchPrice * qty; ge += (long) itemManager.getItemPrice(id) * qty; break; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java index bfe3e3479d..56b2435d02 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java @@ -39,7 +39,6 @@ import lombok.Value; import lombok.extern.slf4j.Slf4j; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; -import net.runelite.api.Constants; import net.runelite.api.Experience; import net.runelite.api.IconID; import net.runelite.api.ItemComposition; @@ -1018,15 +1017,12 @@ public class ChatCommandsPlugin extends Plugin .append(QuantityFormatter.formatNumber(itemPrice)); ItemComposition itemComposition = itemManager.getItemComposition(itemId); - if (itemComposition != null) - { - int alchPrice = Math.round(itemComposition.getPrice() * Constants.HIGH_ALCHEMY_MULTIPLIER); - builder - .append(ChatColorType.NORMAL) - .append(" HA value ") - .append(ChatColorType.HIGHLIGHT) - .append(QuantityFormatter.formatNumber(alchPrice)); - } + final int alchPrice = itemComposition.getHaPrice(); + builder + .append(ChatColorType.NORMAL) + .append(" HA value ") + .append(ChatColorType.HIGHLIGHT) + .append(QuantityFormatter.formatNumber(alchPrice)); String response = builder.build(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java index 5611ea656e..9bef7571d6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java @@ -34,7 +34,6 @@ import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; -import net.runelite.api.Constants; import net.runelite.api.ItemComposition; import net.runelite.api.ItemID; import net.runelite.api.events.ChatMessage; @@ -318,9 +317,8 @@ public class ExaminePlugin extends Plugin { // quantity is at least 1 quantity = Math.max(1, quantity); - int itemCompositionPrice = itemComposition.getPrice(); final long gePrice = itemManager.getItemPrice(id); - final long alchPrice = itemCompositionPrice <= 0 ? 0 : Math.round(itemCompositionPrice * Constants.HIGH_ALCHEMY_MULTIPLIER); + final int alchPrice = itemComposition.getHaPrice(); if (gePrice > 0 || alchPrice > 0) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsPlugin.java index 96e461ef48..4fb07c3b50 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsPlugin.java @@ -51,7 +51,6 @@ import lombok.Getter; import lombok.Setter; import lombok.Value; import net.runelite.api.Client; -import net.runelite.api.Constants; import net.runelite.api.GameState; import net.runelite.api.ItemComposition; import net.runelite.api.ItemID; @@ -380,7 +379,7 @@ public class GroundItemsPlugin extends Plugin final int itemId = item.getId(); final ItemComposition itemComposition = itemManager.getItemComposition(itemId); final int realItemId = itemComposition.getNote() != -1 ? itemComposition.getLinkedNoteId() : itemId; - final int alchPrice = Math.round(itemComposition.getPrice() * Constants.HIGH_ALCHEMY_MULTIPLIER); + final int alchPrice = itemComposition.getHaPrice(); final boolean dropped = tile.getWorldLocation().equals(client.getLocalPlayer().getWorldLocation()) && droppedItemQueue.remove(itemId); final GroundItem groundItem = GroundItem.builder() diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesOverlay.java index a4102f7996..c614665401 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesOverlay.java @@ -29,7 +29,6 @@ import java.awt.Dimension; import java.awt.Graphics2D; import javax.inject.Inject; import net.runelite.api.Client; -import net.runelite.api.Constants; import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemComposition; @@ -213,7 +212,7 @@ class ItemPricesOverlay extends Overlay int gePrice = 0; int haPrice = 0; int haProfit = 0; - final int itemHaPrice = Math.round(itemDef.getPrice() * Constants.HIGH_ALCHEMY_MULTIPLIER); + final int itemHaPrice = itemDef.getHaPrice(); if (config.showGEPrice()) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java index e20e250cea..d8da160419 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java @@ -61,7 +61,6 @@ import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; -import net.runelite.api.Constants; import net.runelite.api.GameState; import net.runelite.api.InventoryID; import net.runelite.api.ItemComposition; @@ -877,7 +876,7 @@ public class LootTrackerPlugin extends Plugin { final ItemComposition itemComposition = itemManager.getItemComposition(itemId); final int gePrice = itemManager.getItemPrice(itemId); - final int haPrice = Math.round(itemComposition.getPrice() * Constants.HIGH_ALCHEMY_MULTIPLIER); + final int haPrice = itemComposition.getHaPrice(); final boolean ignored = ignoredItems.contains(itemComposition.getName()); return new LootTrackerItem( diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/bank/BankPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/bank/BankPluginTest.java index 03424d7d01..ecc3c993c1 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/bank/BankPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/bank/BankPluginTest.java @@ -84,8 +84,8 @@ public class BankPluginTest ItemComposition comp = mock(ItemComposition.class); // 60k HA price * 30 = 1.8m - when(comp.getPrice()) - .thenReturn(100_000); + when(comp.getHaPrice()) + .thenReturn(60_000); // 400k GE Price * 30 = 12m when(itemManager.getItemPrice(itemId)) @@ -121,8 +121,8 @@ public class BankPluginTest ).toArray(new Item[0]); ItemComposition whipComp = mock(ItemComposition.class); - when(whipComp.getPrice()) - .thenReturn(7); // 7 * .6 = 4, 4 * 1m overflows + when(whipComp.getHaPrice()) + .thenReturn(4); // 4 * 1m overflows when(itemManager.getItemComposition(ItemID.ABYSSAL_WHIP)) .thenReturn(whipComp); when(itemManager.getItemPrice(ItemID.ABYSSAL_WHIP)) From f9aea0d9582c59548ae3405deef1a0982d50084c Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 27 Jun 2020 13:52:14 -0400 Subject: [PATCH 004/189] examine plugin: fix overflow in computing alch price --- .../client/plugins/examine/ExaminePlugin.java | 10 +++++---- .../plugins/examine/ExaminePluginTest.java | 22 +++++++++++++++++++ 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java index 9bef7571d6..d301bab699 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java @@ -24,6 +24,7 @@ */ package net.runelite.client.plugins.examine; +import com.google.common.annotations.VisibleForTesting; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import java.time.Instant; @@ -313,11 +314,12 @@ public class ExaminePlugin extends Plugin return null; } - private void getItemPrice(int id, ItemComposition itemComposition, int quantity) + @VisibleForTesting + void getItemPrice(int id, ItemComposition itemComposition, int quantity) { // quantity is at least 1 quantity = Math.max(1, quantity); - final long gePrice = itemManager.getItemPrice(id); + final int gePrice = itemManager.getItemPrice(id); final int alchPrice = itemComposition.getHaPrice(); if (gePrice > 0 || alchPrice > 0) @@ -345,7 +347,7 @@ public class ExaminePlugin extends Plugin .append(ChatColorType.NORMAL) .append(" GE average ") .append(ChatColorType.HIGHLIGHT) - .append(QuantityFormatter.formatNumber(gePrice * quantity)); + .append(QuantityFormatter.formatNumber((long) gePrice * quantity)); if (quantity > 1) { @@ -365,7 +367,7 @@ public class ExaminePlugin extends Plugin .append(ChatColorType.NORMAL) .append(" HA value ") .append(ChatColorType.HIGHLIGHT) - .append(QuantityFormatter.formatNumber(alchPrice * quantity)); + .append(QuantityFormatter.formatNumber((long) alchPrice * quantity)); if (quantity > 1) { diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/examine/ExaminePluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/examine/ExaminePluginTest.java index 093beec4f9..e13f926f8b 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/examine/ExaminePluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/examine/ExaminePluginTest.java @@ -37,11 +37,14 @@ import net.runelite.api.events.ChatMessage; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.widgets.Widget; import net.runelite.client.chat.ChatMessageManager; +import net.runelite.client.chat.QueuedMessage; import net.runelite.client.game.ItemManager; import net.runelite.http.api.examine.ExamineClient; +import static org.junit.Assert.assertEquals; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.ArgumentCaptor; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyString; import org.mockito.Mock; @@ -115,4 +118,23 @@ public class ExaminePluginTest verify(examineClient, never()).submitItem(anyInt(), anyString()); } + + @Test + public void testGetItemPrice() + { + ItemComposition itemComposition = mock(ItemComposition.class); + when(itemComposition.getName()).thenReturn("Abyssal whip"); + when(itemComposition.getHaPrice()).thenReturn(2); + when(itemManager.getItemPrice(ItemID.ABYSSAL_WHIP)).thenReturn(3); + examinePlugin.getItemPrice(ItemID.ABYSSAL_WHIP, itemComposition, 2_000_000_000); + + ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(QueuedMessage.class); + verify(chatMessageManager).queue(argumentCaptor.capture()); + + QueuedMessage queuedMessage = argumentCaptor.getValue(); + assertEquals( + "Price of 2,000,000,000 x Abyssal whip: GE average 6,000,000,000 (3ea) HA value 4,000,000,000 (2ea)", + queuedMessage.getRuneLiteFormattedMessage() + ); + } } \ No newline at end of file From 47c375cb035dfe72c0c6717cdc4b89ff0accf217 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 26 Jun 2020 13:44:14 -0400 Subject: [PATCH 005/189] client: use guice provided http client everywhere --- .../runelite/cache/util/XteaKeyManager.java | 3 +- http-api/pom.xml | 5 --- .../http/api/account/AccountClient.java | 32 ++++++++--------- .../runelite/http/api/chat/ChatClient.java | 33 +++++++++-------- .../http/api/config/ConfigClient.java | 35 +++++++++---------- .../http/api/examine/ExamineClient.java | 19 +++++----- .../runelite/http/api/feed/FeedClient.java | 19 ++++------ .../http/api/ge/GrandExchangeClient.java | 7 +++- .../http/api/hiscore/HiscoreClient.java | 8 +++-- .../runelite/http/api/item/ItemClient.java | 23 +++++------- .../api/loottracker/LootTrackerClient.java | 8 +++-- .../api/osbuddy/OSBGrandExchangeClient.java | 7 +++- .../runelite/http/api/worlds/WorldClient.java | 19 ++++------ .../net/runelite/http/api/xp/XpClient.java | 18 ++++++---- .../runelite/http/api/xtea/XteaClient.java | 21 ++++++----- .../http/service/hiscore/HiscoreService.java | 3 +- .../runelite/client/ClientSessionManager.java | 8 +++-- .../java/net/runelite/client/RuneLite.java | 13 ++++++- .../net/runelite/client/RuneLiteModule.java | 17 +++++---- .../net/runelite/client/SessionClient.java | 11 ++++-- .../client/account/SessionManager.java | 16 +++++---- .../runelite/client/config/ConfigManager.java | 20 ++++++----- .../ExternalPluginManager.java | 7 ++-- .../runelite/client/game/HiscoreManager.java | 8 ++--- .../net/runelite/client/game/ItemManager.java | 11 +++--- .../runelite/client/game/WorldService.java | 5 +-- .../chatcommands/ChatCommandsPlugin.java | 12 +++++-- .../client/plugins/discord/DiscordPlugin.java | 9 +++-- .../client/plugins/examine/ExaminePlugin.java | 8 +++++ .../client/plugins/feed/FeedPanel.java | 12 +++++-- .../client/plugins/feed/FeedPlugin.java | 24 +++++++++++-- .../grandexchange/GrandExchangePlugin.java | 19 ++++++++-- .../client/plugins/hiscore/HiscorePanel.java | 23 ++++++------ .../loottracker/LootTrackerPlugin.java | 8 +++-- .../client/plugins/raids/RaidsPlugin.java | 2 +- .../client/plugins/slayer/SlayerPlugin.java | 2 +- .../wiki/WikiSearchChatboxTextInput.java | 9 +++-- .../plugins/xptracker/XpTrackerPlugin.java | 11 +++++- .../plugins/xpupdater/XpUpdaterPlugin.java | 17 +++++---- .../client/plugins/xtea/XteaPlugin.java | 13 +++++-- .../client/rs/ClientConfigLoader.java | 12 +++---- .../net/runelite/client/rs/ClientLoader.java | 19 ++++++---- .../net/runelite/client/rs/WorldSupplier.java | 7 ++-- .../runelite/client/util/ImageCapture.java | 6 +++- .../java/net/runelite/client/ws/WSClient.java | 7 ++-- .../client/plugins/PluginManagerTest.java | 28 +++++++++------ .../chatcommands/ChatCommandsPluginTest.java | 5 +++ .../GrandExchangePluginTest.java | 5 +++ .../plugins/hiscore/HiscorePanelTest.java | 4 ++- .../client/plugins/raids/RaidsPluginTest.java | 5 +++ .../xptracker/XpTrackerPluginTest.java | 5 +++ .../client/rs/ClientConfigLoaderTest.java | 3 +- 52 files changed, 407 insertions(+), 244 deletions(-) diff --git a/cache/src/main/java/net/runelite/cache/util/XteaKeyManager.java b/cache/src/main/java/net/runelite/cache/util/XteaKeyManager.java index 80f8dbf981..38ba347d4b 100644 --- a/cache/src/main/java/net/runelite/cache/util/XteaKeyManager.java +++ b/cache/src/main/java/net/runelite/cache/util/XteaKeyManager.java @@ -27,6 +27,7 @@ package net.runelite.cache.util; import java.io.IOException; import java.util.HashMap; import java.util.Map; +import net.runelite.http.api.RuneLiteAPI; import net.runelite.http.api.xtea.XteaClient; import net.runelite.http.api.xtea.XteaKey; import org.slf4j.Logger; @@ -40,7 +41,7 @@ public class XteaKeyManager public void loadKeys() { - XteaClient xteaClient = new XteaClient(); + XteaClient xteaClient = new XteaClient(RuneLiteAPI.CLIENT); try { diff --git a/http-api/pom.xml b/http-api/pom.xml index 8a52a759ff..dcd491b4f1 100644 --- a/http-api/pom.xml +++ b/http-api/pom.xml @@ -63,11 +63,6 @@ commons-csv 1.4 - - javax.inject - javax.inject - 1 - junit diff --git a/http-api/src/main/java/net/runelite/http/api/account/AccountClient.java b/http-api/src/main/java/net/runelite/http/api/account/AccountClient.java index 0a286cd70e..625be00ad0 100644 --- a/http-api/src/main/java/net/runelite/http/api/account/AccountClient.java +++ b/http-api/src/main/java/net/runelite/http/api/account/AccountClient.java @@ -29,24 +29,22 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.UUID; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import net.runelite.http.api.RuneLiteAPI; import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +@Slf4j +@RequiredArgsConstructor public class AccountClient { - private static final Logger logger = LoggerFactory.getLogger(AccountClient.class); - + private final OkHttpClient client; private UUID uuid; - public AccountClient() - { - } - - public AccountClient(UUID uuid) + public void setUuid(UUID uuid) { this.uuid = uuid; } @@ -59,13 +57,13 @@ public class AccountClient .addQueryParameter("uuid", uuid.toString()) .build(); - logger.debug("Built URI: {}", url); + log.debug("Built URI: {}", url); Request request = new Request.Builder() .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { InputStream in = response.body().byteStream(); return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), OAuthResponse.class); @@ -83,16 +81,16 @@ public class AccountClient .addPathSegment("logout") .build(); - logger.debug("Built URI: {}", url); + log.debug("Built URI: {}", url); Request request = new Request.Builder() .header(RuneLiteAPI.RUNELITE_AUTH, uuid.toString()) .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { - logger.debug("Sent logout request"); + log.debug("Sent logout request"); } } @@ -103,20 +101,20 @@ public class AccountClient .addPathSegment("session-check") .build(); - logger.debug("Built URI: {}", url); + log.debug("Built URI: {}", url); Request request = new Request.Builder() .header(RuneLiteAPI.RUNELITE_AUTH, uuid.toString()) .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { return response.isSuccessful(); } catch (IOException ex) { - logger.debug("Unable to verify session", ex); + log.debug("Unable to verify session", ex); return true; // assume it is still valid if the server is unreachable } } diff --git a/http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java b/http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java index 3c1565effd..f3a0b41c30 100644 --- a/http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java +++ b/http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java @@ -28,14 +28,19 @@ import com.google.gson.JsonParseException; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import lombok.AllArgsConstructor; import net.runelite.http.api.RuneLiteAPI; import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; +@AllArgsConstructor public class ChatClient { + private final OkHttpClient client; + public boolean submitKc(String username, String boss, int kc) throws IOException { HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() @@ -51,7 +56,7 @@ public class ChatClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { return response.isSuccessful(); } @@ -70,7 +75,7 @@ public class ChatClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) { @@ -94,7 +99,7 @@ public class ChatClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { return response.isSuccessful(); } @@ -112,7 +117,7 @@ public class ChatClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) { @@ -139,7 +144,7 @@ public class ChatClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { return response.isSuccessful(); } @@ -157,7 +162,7 @@ public class ChatClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) { @@ -188,7 +193,7 @@ public class ChatClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { return response.isSuccessful(); } @@ -207,7 +212,7 @@ public class ChatClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) { @@ -231,7 +236,7 @@ public class ChatClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { return response.isSuccessful(); } @@ -249,7 +254,7 @@ public class ChatClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) { @@ -276,7 +281,7 @@ public class ChatClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { return response.isSuccessful(); } @@ -294,7 +299,7 @@ public class ChatClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) { @@ -323,7 +328,7 @@ public class ChatClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { return response.isSuccessful(); } @@ -341,7 +346,7 @@ public class ChatClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) { diff --git a/http-api/src/main/java/net/runelite/http/api/config/ConfigClient.java b/http-api/src/main/java/net/runelite/http/api/config/ConfigClient.java index c82c7d0f22..62704a8ff1 100644 --- a/http-api/src/main/java/net/runelite/http/api/config/ConfigClient.java +++ b/http-api/src/main/java/net/runelite/http/api/config/ConfigClient.java @@ -30,44 +30,41 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.util.UUID; import java.util.concurrent.CompletableFuture; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; import net.runelite.http.api.RuneLiteAPI; import okhttp3.Call; import okhttp3.Callback; import okhttp3.HttpUrl; import okhttp3.MediaType; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +@AllArgsConstructor +@Slf4j public class ConfigClient { - private static final Logger logger = LoggerFactory.getLogger(ConfigClient.class); - private static final MediaType TEXT_PLAIN = MediaType.parse("text/plain"); + private final OkHttpClient client; private final UUID uuid; - public ConfigClient(UUID uuid) - { - this.uuid = uuid; - } - public Configuration get() throws IOException { HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() .addPathSegment("config") .build(); - logger.debug("Built URI: {}", url); + log.debug("Built URI: {}", url); Request request = new Request.Builder() .header(RuneLiteAPI.RUNELITE_AUTH, uuid.toString()) .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { InputStream in = response.body().byteStream(); return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), Configuration.class); @@ -87,7 +84,7 @@ public class ConfigClient .addPathSegment(key) .build(); - logger.debug("Built URI: {}", url); + log.debug("Built URI: {}", url); Request request = new Request.Builder() .put(RequestBody.create(TEXT_PLAIN, value)) @@ -95,12 +92,12 @@ public class ConfigClient .url(url) .build(); - RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback() + client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { - logger.warn("Unable to synchronize configuration item", e); + log.warn("Unable to synchronize configuration item", e); future.completeExceptionally(e); } @@ -108,7 +105,7 @@ public class ConfigClient public void onResponse(Call call, Response response) { response.close(); - logger.debug("Synchronized configuration value '{}' to '{}'", key, value); + log.debug("Synchronized configuration value '{}' to '{}'", key, value); future.complete(null); } }); @@ -125,7 +122,7 @@ public class ConfigClient .addPathSegment(key) .build(); - logger.debug("Built URI: {}", url); + log.debug("Built URI: {}", url); Request request = new Request.Builder() .delete() @@ -133,12 +130,12 @@ public class ConfigClient .url(url) .build(); - RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback() + client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { - logger.warn("Unable to unset configuration item", e); + log.warn("Unable to unset configuration item", e); future.completeExceptionally(e); } @@ -146,7 +143,7 @@ public class ConfigClient public void onResponse(Call call, Response response) { response.close(); - logger.debug("Unset configuration value '{}'", key); + log.debug("Unset configuration value '{}'", key); future.complete(null); } }); diff --git a/http-api/src/main/java/net/runelite/http/api/examine/ExamineClient.java b/http-api/src/main/java/net/runelite/http/api/examine/ExamineClient.java index 5997799c2e..3271f9994e 100644 --- a/http-api/src/main/java/net/runelite/http/api/examine/ExamineClient.java +++ b/http-api/src/main/java/net/runelite/http/api/examine/ExamineClient.java @@ -25,23 +25,26 @@ package net.runelite.http.api.examine; import java.io.IOException; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import net.runelite.http.api.RuneLiteAPI; import okhttp3.Call; import okhttp3.Callback; import okhttp3.HttpUrl; import okhttp3.MediaType; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +@Slf4j +@RequiredArgsConstructor public class ExamineClient { - private static final Logger logger = LoggerFactory.getLogger(ExamineClient.class); - private static final MediaType TEXT = MediaType.parse("text"); + private final OkHttpClient client; + public void submitObject(int id, String text) { submit("object", id, text); @@ -65,26 +68,26 @@ public class ExamineClient .addPathSegment(Integer.toString(id)) .build(); - logger.debug("Built URI: {}", url); + log.debug("Built URI: {}", url); Request request = new Request.Builder() .url(url) .post(RequestBody.create(TEXT, text)) .build(); - RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback() + client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { - logger.warn("Error submitting examine", e); + log.warn("Error submitting examine", e); } @Override public void onResponse(Call call, Response response) { response.close(); - logger.debug("Submitted examine info for {} {}: {}", type, id, text); + log.debug("Submitted examine info for {} {}: {}", type, id, text); } }); } diff --git a/http-api/src/main/java/net/runelite/http/api/feed/FeedClient.java b/http-api/src/main/java/net/runelite/http/api/feed/FeedClient.java index bf4698315c..62cddfa599 100644 --- a/http-api/src/main/java/net/runelite/http/api/feed/FeedClient.java +++ b/http-api/src/main/java/net/runelite/http/api/feed/FeedClient.java @@ -28,34 +28,27 @@ import com.google.gson.JsonParseException; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; -import javax.inject.Inject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import net.runelite.http.api.RuneLiteAPI; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +@Slf4j +@RequiredArgsConstructor public class FeedClient { - private static final Logger logger = LoggerFactory.getLogger(FeedClient.class); - private final OkHttpClient client; - @Inject - public FeedClient(OkHttpClient client) - { - this.client = client; - } - public FeedResult lookupFeed() throws IOException { HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() .addPathSegment("feed.js") .build(); - logger.debug("Built URI: {}", url); + log.debug("Built URI: {}", url); Request request = new Request.Builder() .url(url) @@ -65,7 +58,7 @@ public class FeedClient { if (!response.isSuccessful()) { - logger.debug("Error looking up feed: {}", response); + log.debug("Error looking up feed: {}", response); return null; } diff --git a/http-api/src/main/java/net/runelite/http/api/ge/GrandExchangeClient.java b/http-api/src/main/java/net/runelite/http/api/ge/GrandExchangeClient.java index fd02f37ffc..1d898ccf27 100644 --- a/http-api/src/main/java/net/runelite/http/api/ge/GrandExchangeClient.java +++ b/http-api/src/main/java/net/runelite/http/api/ge/GrandExchangeClient.java @@ -27,6 +27,7 @@ package net.runelite.http.api.ge; import com.google.gson.Gson; import java.io.IOException; import java.util.UUID; +import lombok.RequiredArgsConstructor; import lombok.Setter; import lombok.extern.slf4j.Slf4j; import net.runelite.http.api.RuneLiteAPI; @@ -34,15 +35,19 @@ import static net.runelite.http.api.RuneLiteAPI.JSON; import okhttp3.Call; import okhttp3.Callback; import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; @Slf4j +@RequiredArgsConstructor public class GrandExchangeClient { private static final Gson GSON = RuneLiteAPI.GSON; + private final OkHttpClient client; + @Setter private UUID uuid; @Setter @@ -69,7 +74,7 @@ public class GrandExchangeClient .url(url) .build(); - RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback() + client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) diff --git a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreClient.java b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreClient.java index a725089de4..2807f8f411 100644 --- a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreClient.java +++ b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreClient.java @@ -25,9 +25,10 @@ package net.runelite.http.api.hiscore; import java.io.IOException; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import net.runelite.http.api.RuneLiteAPI; import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import org.apache.commons.csv.CSVFormat; @@ -35,8 +36,11 @@ import org.apache.commons.csv.CSVParser; import org.apache.commons.csv.CSVRecord; @Slf4j +@RequiredArgsConstructor public class HiscoreClient { + private final OkHttpClient client; + public HiscoreResult lookup(String username, HiscoreEndpoint endpoint) throws IOException { return lookup(username, endpoint.getHiscoreURL()); @@ -97,7 +101,7 @@ public class HiscoreClient String responseStr; - try (Response okresponse = RuneLiteAPI.CLIENT.newCall(okrequest).execute()) + try (Response okresponse = client.newCall(okrequest).execute()) { if (!okresponse.isSuccessful()) { diff --git a/http-api/src/main/java/net/runelite/http/api/item/ItemClient.java b/http-api/src/main/java/net/runelite/http/api/item/ItemClient.java index 0dea2d1eed..1b4df52de4 100644 --- a/http-api/src/main/java/net/runelite/http/api/item/ItemClient.java +++ b/http-api/src/main/java/net/runelite/http/api/item/ItemClient.java @@ -31,27 +31,20 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.lang.reflect.Type; import java.util.Map; -import javax.inject.Inject; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; import net.runelite.http.api.RuneLiteAPI; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +@Slf4j +@AllArgsConstructor public class ItemClient { - private static final Logger logger = LoggerFactory.getLogger(ItemClient.class); - private final OkHttpClient client; - @Inject - public ItemClient(OkHttpClient client) - { - this.client = client; - } - public ItemPrice[] getPrices() throws IOException { HttpUrl.Builder urlBuilder = RuneLiteAPI.getApiBase().newBuilder() @@ -60,7 +53,7 @@ public class ItemClient HttpUrl url = urlBuilder.build(); - logger.debug("Built URI: {}", url); + log.debug("Built URI: {}", url); Request request = new Request.Builder() .url(url) @@ -70,7 +63,7 @@ public class ItemClient { if (!response.isSuccessful()) { - logger.warn("Error looking up prices: {}", response); + log.warn("Error looking up prices: {}", response); return null; } @@ -92,7 +85,7 @@ public class ItemClient HttpUrl url = urlBuilder.build(); - logger.debug("Built URI: {}", url); + log.debug("Built URI: {}", url); Request request = new Request.Builder() .url(url) @@ -102,7 +95,7 @@ public class ItemClient { if (!response.isSuccessful()) { - logger.warn("Error looking up item stats: {}", response); + log.warn("Error looking up item stats: {}", response); return null; } diff --git a/http-api/src/main/java/net/runelite/http/api/loottracker/LootTrackerClient.java b/http-api/src/main/java/net/runelite/http/api/loottracker/LootTrackerClient.java index bc1b6de369..79351cfc90 100644 --- a/http-api/src/main/java/net/runelite/http/api/loottracker/LootTrackerClient.java +++ b/http-api/src/main/java/net/runelite/http/api/loottracker/LootTrackerClient.java @@ -41,6 +41,7 @@ import static net.runelite.http.api.RuneLiteAPI.JSON; import okhttp3.Call; import okhttp3.Callback; import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; @@ -51,6 +52,7 @@ public class LootTrackerClient { private static final Gson GSON = RuneLiteAPI.GSON; + private final OkHttpClient client; private final UUID uuid; public CompletableFuture submit(Collection lootRecords) @@ -67,7 +69,7 @@ public class LootTrackerClient .url(url) .build(); - RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback() + client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) @@ -99,7 +101,7 @@ public class LootTrackerClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) { @@ -134,7 +136,7 @@ public class LootTrackerClient .url(builder.build()) .build(); - RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback() + client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) diff --git a/http-api/src/main/java/net/runelite/http/api/osbuddy/OSBGrandExchangeClient.java b/http-api/src/main/java/net/runelite/http/api/osbuddy/OSBGrandExchangeClient.java index c01337fdc0..3a832c7ccb 100644 --- a/http-api/src/main/java/net/runelite/http/api/osbuddy/OSBGrandExchangeClient.java +++ b/http-api/src/main/java/net/runelite/http/api/osbuddy/OSBGrandExchangeClient.java @@ -28,15 +28,20 @@ import com.google.gson.JsonParseException; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import net.runelite.http.api.RuneLiteAPI; import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; @Slf4j +@AllArgsConstructor public class OSBGrandExchangeClient { + private final OkHttpClient client; + public OSBGrandExchangeResult lookupItem(int itemId) throws IOException { final HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() @@ -51,7 +56,7 @@ public class OSBGrandExchangeClient .url(url) .build(); - try (final Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (final Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) { diff --git a/http-api/src/main/java/net/runelite/http/api/worlds/WorldClient.java b/http-api/src/main/java/net/runelite/http/api/worlds/WorldClient.java index b9d84eefd9..97063b8c0d 100644 --- a/http-api/src/main/java/net/runelite/http/api/worlds/WorldClient.java +++ b/http-api/src/main/java/net/runelite/http/api/worlds/WorldClient.java @@ -29,34 +29,27 @@ import com.google.gson.JsonParseException; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; -import javax.inject.Inject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import net.runelite.http.api.RuneLiteAPI; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +@Slf4j +@RequiredArgsConstructor public class WorldClient { - private static final Logger logger = LoggerFactory.getLogger(WorldClient.class); - private final OkHttpClient client; - @Inject - public WorldClient(OkHttpClient client) - { - this.client = client; - } - public WorldResult lookupWorlds() throws IOException { HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() .addPathSegment("worlds.js") .build(); - logger.debug("Built URI: {}", url); + log.debug("Built URI: {}", url); Request request = new Request.Builder() .url(url) @@ -66,7 +59,7 @@ public class WorldClient { if (!response.isSuccessful()) { - logger.debug("Error looking up worlds: {}", response); + log.debug("Error looking up worlds: {}", response); throw new IOException("unsuccessful response looking up worlds"); } diff --git a/http-api/src/main/java/net/runelite/http/api/xp/XpClient.java b/http-api/src/main/java/net/runelite/http/api/xp/XpClient.java index c45fe2e209..76acf6ad63 100644 --- a/http-api/src/main/java/net/runelite/http/api/xp/XpClient.java +++ b/http-api/src/main/java/net/runelite/http/api/xp/XpClient.java @@ -25,18 +25,24 @@ package net.runelite.http.api.xp; import java.io.IOException; +import lombok.extern.slf4j.Slf4j; import net.runelite.http.api.RuneLiteAPI; import okhttp3.Call; import okhttp3.Callback; import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +@Slf4j public class XpClient { - private static final Logger logger = LoggerFactory.getLogger(XpClient.class); + private final OkHttpClient client; + + public XpClient(OkHttpClient client) + { + this.client = client; + } public void update(String username) { @@ -50,19 +56,19 @@ public class XpClient .url(url) .build(); - RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback() + client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { - logger.warn("Error submitting xp track", e); + log.warn("Error submitting xp track", e); } @Override public void onResponse(Call call, Response response) { response.close(); - logger.debug("Submitted xp track for {}", username); + log.debug("Submitted xp track for {}", username); } }); } diff --git a/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java b/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java index 42b10e3239..67a2e866ca 100644 --- a/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java +++ b/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java @@ -30,20 +30,23 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.List; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; import net.runelite.http.api.RuneLiteAPI; import static net.runelite.http.api.RuneLiteAPI.JSON; import okhttp3.Call; import okhttp3.Callback; import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +@Slf4j +@AllArgsConstructor public class XteaClient { - private static final Logger logger = LoggerFactory.getLogger(XteaClient.class); + private final OkHttpClient client; public void submit(XteaRequest xteaRequest) { @@ -53,19 +56,19 @@ public class XteaClient .addPathSegment("xtea") .build(); - logger.debug("Built URI: {}", url); + log.debug("Built URI: {}", url); Request request = new Request.Builder() .post(RequestBody.create(JSON, json)) .url(url) .build(); - RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback() + client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { - logger.warn("unable to submit xtea keys", e); + log.warn("unable to submit xtea keys", e); } @Override @@ -75,7 +78,7 @@ public class XteaClient { if (!response.isSuccessful()) { - logger.debug("unsuccessful xtea response"); + log.debug("unsuccessful xtea response"); } } finally @@ -96,7 +99,7 @@ public class XteaClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { InputStream in = response.body().byteStream(); // CHECKSTYLE:OFF @@ -120,7 +123,7 @@ public class XteaClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { InputStream in = response.body().byteStream(); return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), XteaKey.class); diff --git a/http-service/src/main/java/net/runelite/http/service/hiscore/HiscoreService.java b/http-service/src/main/java/net/runelite/http/service/hiscore/HiscoreService.java index cc565b4444..fd73e17359 100644 --- a/http-service/src/main/java/net/runelite/http/service/hiscore/HiscoreService.java +++ b/http-service/src/main/java/net/runelite/http/service/hiscore/HiscoreService.java @@ -31,6 +31,7 @@ import com.google.common.cache.LoadingCache; import java.io.IOException; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; +import net.runelite.http.api.RuneLiteAPI; import net.runelite.http.api.hiscore.HiscoreClient; import net.runelite.http.api.hiscore.HiscoreEndpoint; import net.runelite.http.api.hiscore.HiscoreResult; @@ -40,7 +41,7 @@ import org.springframework.stereotype.Service; @Service public class HiscoreService { - private final HiscoreClient hiscoreClient = new HiscoreClient(); + private final HiscoreClient hiscoreClient = new HiscoreClient(RuneLiteAPI.CLIENT); private final LoadingCache hiscoreCache = CacheBuilder.newBuilder() .maximumSize(128) .expireAfterWrite(1, TimeUnit.MINUTES) diff --git a/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java b/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java index 5009bd509d..588a1ad006 100644 --- a/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java +++ b/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java @@ -38,23 +38,27 @@ import net.runelite.api.GameState; import net.runelite.client.eventbus.Subscribe; import net.runelite.client.events.ClientShutdown; import net.runelite.client.util.RunnableExceptionLogger; +import okhttp3.OkHttpClient; @Singleton @Slf4j public class ClientSessionManager { - private final SessionClient sessionClient = new SessionClient(); private final ScheduledExecutorService executorService; private final Client client; + private final SessionClient sessionClient; private ScheduledFuture scheduledFuture; private UUID sessionId; @Inject - ClientSessionManager(ScheduledExecutorService executorService, @Nullable Client client) + ClientSessionManager(ScheduledExecutorService executorService, + @Nullable Client client, + OkHttpClient okHttpClient) { this.executorService = executorService; this.client = client; + this.sessionClient = new SessionClient(okHttpClient); } public void start() diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLite.java b/runelite-client/src/main/java/net/runelite/client/RuneLite.java index c8cd6f352f..e9d79d1b5f 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java @@ -76,6 +76,9 @@ import net.runelite.client.ui.overlay.infobox.InfoBoxOverlay; import net.runelite.client.ui.overlay.tooltip.TooltipOverlay; import net.runelite.client.ui.overlay.worldmap.WorldMapOverlay; import net.runelite.client.ws.PartyService; +import net.runelite.http.api.RuneLiteAPI; +import okhttp3.Cache; +import okhttp3.OkHttpClient; import org.slf4j.LoggerFactory; @Singleton @@ -91,6 +94,8 @@ public class RuneLite public static final File DEFAULT_SESSION_FILE = new File(RUNELITE_DIR, "session"); public static final File DEFAULT_CONFIG_FILE = new File(RUNELITE_DIR, "settings.properties"); + private static final int MAX_OKHTTP_CACHE_SIZE = 20 * 1024 * 1024; // 20mb + @Getter private static Injector injector; @@ -178,6 +183,7 @@ public class RuneLite parser.accepts("developer-mode", "Enable developer tools"); parser.accepts("debug", "Show extra debugging output"); parser.accepts("safe-mode", "Disables external plugins and the GPU plugin"); + parser.accepts("insecure-skip-tls-verification", "Disables TLS verification"); final ArgumentAcceptingOptionSpec sessionfile = parser.accepts("sessionfile", "Use a specified session file") .withRequiredArg() @@ -227,12 +233,16 @@ public class RuneLite } }); + final OkHttpClient okHttpClient = RuneLiteAPI.CLIENT.newBuilder() + .cache(new Cache(new File(CACHE_DIR, "okhttp"), MAX_OKHTTP_CACHE_SIZE)) + .build(); + SplashScreen.init(); SplashScreen.stage(0, "Retrieving client", ""); try { - final ClientLoader clientLoader = new ClientLoader(options.valueOf(updateMode)); + final ClientLoader clientLoader = new ClientLoader(okHttpClient, options.valueOf(updateMode)); new Thread(() -> { @@ -265,6 +275,7 @@ public class RuneLite final long start = System.currentTimeMillis(); injector = Guice.createInjector(new RuneLiteModule( + okHttpClient, clientLoader, developerMode, options.has("safe-mode"), diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java b/runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java index c1489de882..517a7f83e0 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java @@ -50,15 +50,13 @@ import net.runelite.client.plugins.PluginManager; import net.runelite.client.task.Scheduler; import net.runelite.client.util.DeferredEventBus; import net.runelite.client.util.ExecutorServiceExceptionLogger; -import net.runelite.http.api.RuneLiteAPI; -import okhttp3.Cache; +import net.runelite.http.api.chat.ChatClient; import okhttp3.OkHttpClient; @AllArgsConstructor public class RuneLiteModule extends AbstractModule { - private static final int MAX_OKHTTP_CACHE_SIZE = 20 * 1024 * 1024; // 20mb - + private final OkHttpClient okHttpClient; private final Supplier clientLoader; private final boolean developerMode; private final boolean safeMode; @@ -73,9 +71,7 @@ public class RuneLiteModule extends AbstractModule bind(File.class).annotatedWith(Names.named("sessionfile")).toInstance(sessionfile); bind(File.class).annotatedWith(Names.named("config")).toInstance(config); bind(ScheduledExecutorService.class).toInstance(new ExecutorServiceExceptionLogger(Executors.newSingleThreadScheduledExecutor())); - bind(OkHttpClient.class).toInstance(RuneLiteAPI.CLIENT.newBuilder() - .cache(new Cache(new File(RuneLite.CACHE_DIR, "okhttp"), MAX_OKHTTP_CACHE_SIZE)) - .build()); + bind(OkHttpClient.class).toInstance(okHttpClient); bind(MenuManager.class); bind(ChatMessageManager.class); bind(ItemManager.class); @@ -120,4 +116,11 @@ public class RuneLiteModule extends AbstractModule { return configManager.getConfig(ChatColorConfig.class); } + + @Provides + @Singleton + ChatClient provideChatClient(OkHttpClient okHttpClient) + { + return new ChatClient(okHttpClient); + } } diff --git a/runelite-client/src/main/java/net/runelite/client/SessionClient.java b/runelite-client/src/main/java/net/runelite/client/SessionClient.java index ecfa96bafe..2aa8c7c3e3 100644 --- a/runelite-client/src/main/java/net/runelite/client/SessionClient.java +++ b/runelite-client/src/main/java/net/runelite/client/SessionClient.java @@ -29,15 +29,20 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.UUID; +import lombok.AllArgsConstructor; import net.runelite.http.api.RuneLiteAPI; import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; import okhttp3.ResponseBody; +@AllArgsConstructor class SessionClient { + private final OkHttpClient okHttpClient; + UUID open() throws IOException { HttpUrl url = RuneLiteAPI.getSessionBase().newBuilder() @@ -48,7 +53,7 @@ class SessionClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = okHttpClient.newCall(request).execute()) { ResponseBody body = response.body(); @@ -74,7 +79,7 @@ class SessionClient .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = okHttpClient.newCall(request).execute()) { if (!response.isSuccessful()) { @@ -94,6 +99,6 @@ class SessionClient .url(url) .build(); - RuneLiteAPI.CLIENT.newCall(request).execute().close(); + okHttpClient.newCall(request).execute().close(); } } diff --git a/runelite-client/src/main/java/net/runelite/client/account/SessionManager.java b/runelite-client/src/main/java/net/runelite/client/account/SessionManager.java index a5c45f2591..3f754b5e40 100644 --- a/runelite-client/src/main/java/net/runelite/client/account/SessionManager.java +++ b/runelite-client/src/main/java/net/runelite/client/account/SessionManager.java @@ -47,6 +47,7 @@ import net.runelite.client.ws.WSClient; import net.runelite.http.api.account.AccountClient; import net.runelite.http.api.account.OAuthResponse; import net.runelite.http.api.ws.messages.LoginResponse; +import okhttp3.OkHttpClient; @Singleton @Slf4j @@ -59,18 +60,21 @@ public class SessionManager private final ConfigManager configManager; private final WSClient wsClient; private final File sessionFile; + private final AccountClient accountClient; @Inject private SessionManager( @Named("sessionfile") File sessionfile, ConfigManager configManager, EventBus eventBus, - WSClient wsClient) + WSClient wsClient, + OkHttpClient okHttpClient) { this.configManager = configManager; this.eventBus = eventBus; this.wsClient = wsClient; this.sessionFile = sessionfile; + this.accountClient = new AccountClient(okHttpClient); eventBus.register(this); } @@ -98,7 +102,7 @@ public class SessionManager } // Check if session is still valid - AccountClient accountClient = new AccountClient(session.getUuid()); + accountClient.setUuid(session.getUuid()); if (!accountClient.sessionCheck()) { log.debug("Loaded session {} is invalid", session.getUuid()); @@ -169,10 +173,10 @@ public class SessionManager log.debug("Logging out of account {}", accountSession.getUsername()); - AccountClient client = new AccountClient(accountSession.getUuid()); + accountClient.setUuid(accountSession.getUuid()); try { - client.logout(); + accountClient.logout(); } catch (IOException ex) { @@ -191,13 +195,13 @@ public class SessionManager { // If a session is already open, use that id. Otherwise generate a new id. UUID uuid = wsClient.getSessionId() != null ? wsClient.getSessionId() : UUID.randomUUID(); - AccountClient loginClient = new AccountClient(uuid); + accountClient.setUuid(uuid); final OAuthResponse login; try { - login = loginClient.login(); + login = accountClient.login(); } catch (IOException ex) { diff --git a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java index e4cbdcc5b1..3842fd96a5 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java +++ b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java @@ -78,6 +78,7 @@ import net.runelite.client.util.ColorUtil; import net.runelite.http.api.config.ConfigClient; import net.runelite.http.api.config.ConfigEntry; import net.runelite.http.api.config.Configuration; +import okhttp3.OkHttpClient; @Singleton @Slf4j @@ -85,10 +86,9 @@ public class ConfigManager { private static final DateFormat TIME_FORMAT = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss"); - @Inject - EventBus eventBus; - - private final ScheduledExecutorService executor; + private final File settingsFileInput; + private final EventBus eventBus; + private final OkHttpClient okHttpClient; private AccountSession session; private ConfigClient client; @@ -97,18 +97,20 @@ public class ConfigManager private final ConfigInvocationHandler handler = new ConfigInvocationHandler(this); private final Properties properties = new Properties(); private final Map pendingChanges = new HashMap<>(); - private final File settingsFileInput; @Inject public ConfigManager( @Named("config") File config, - ScheduledExecutorService scheduledExecutorService) + ScheduledExecutorService scheduledExecutorService, + EventBus eventBus, + OkHttpClient okHttpClient) { - this.executor = scheduledExecutorService; this.settingsFileInput = config; + this.eventBus = eventBus; + this.okHttpClient = okHttpClient; this.propertiesFile = getPropertiesFile(); - executor.scheduleWithFixedDelay(this::sendConfig, 30, 30, TimeUnit.SECONDS); + scheduledExecutorService.scheduleWithFixedDelay(this::sendConfig, 30, 30, TimeUnit.SECONDS); } public final void switchSession(AccountSession session) @@ -124,7 +126,7 @@ public class ConfigManager else { this.session = session; - this.client = new ConfigClient(session.getUuid()); + this.client = new ConfigClient(okHttpClient, session.getUuid()); } this.propertiesFile = getPropertiesFile(); diff --git a/runelite-client/src/main/java/net/runelite/client/externalplugins/ExternalPluginManager.java b/runelite-client/src/main/java/net/runelite/client/externalplugins/ExternalPluginManager.java index b2175f3973..bd6baf39ac 100644 --- a/runelite-client/src/main/java/net/runelite/client/externalplugins/ExternalPluginManager.java +++ b/runelite-client/src/main/java/net/runelite/client/externalplugins/ExternalPluginManager.java @@ -64,8 +64,8 @@ import net.runelite.client.ui.SplashScreen; import net.runelite.client.util.CountingInputStream; import net.runelite.client.util.Text; import net.runelite.client.util.VerificationException; -import net.runelite.http.api.RuneLiteAPI; import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; @@ -95,6 +95,9 @@ public class ExternalPluginManager @Inject private EventBus eventBus; + @Inject + private OkHttpClient okHttpClient; + public void loadExternalPlugins() throws PluginInstantiationException { refreshPlugins(); @@ -208,7 +211,7 @@ public class ExternalPluginManager .addPathSegment(manifest.getCommit() + ".jar") .build(); - try (Response res = RuneLiteAPI.CLIENT.newCall(new Request.Builder().url(url).build()).execute()) + try (Response res = okHttpClient.newCall(new Request.Builder().url(url).build()).execute()) { int fdownloaded = downloaded; downloaded += manifest.getSize(); diff --git a/runelite-client/src/main/java/net/runelite/client/game/HiscoreManager.java b/runelite-client/src/main/java/net/runelite/client/game/HiscoreManager.java index 060df7d785..9e05b20373 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/HiscoreManager.java +++ b/runelite-client/src/main/java/net/runelite/client/game/HiscoreManager.java @@ -33,11 +33,10 @@ import javax.inject.Inject; import javax.inject.Singleton; import lombok.AllArgsConstructor; import lombok.Data; -import net.runelite.api.Client; -import net.runelite.client.callback.ClientThread; import net.runelite.http.api.hiscore.HiscoreClient; import net.runelite.http.api.hiscore.HiscoreEndpoint; import net.runelite.http.api.hiscore.HiscoreResult; +import okhttp3.OkHttpClient; @Singleton public class HiscoreManager @@ -53,12 +52,13 @@ public class HiscoreManager static final HiscoreResult EMPTY = new HiscoreResult(); static final HiscoreResult NONE = new HiscoreResult(); - private final HiscoreClient hiscoreClient = new HiscoreClient(); private final LoadingCache hiscoreCache; + private final HiscoreClient hiscoreClient; @Inject - public HiscoreManager(Client client, ScheduledExecutorService executor, ClientThread clientThread) + public HiscoreManager(ScheduledExecutorService executor, OkHttpClient okHttpClient) { + hiscoreClient = new HiscoreClient(okHttpClient); hiscoreCache = CacheBuilder.newBuilder() .maximumSize(128L) .expireAfterWrite(1, TimeUnit.HOURS) diff --git a/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java b/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java index 015311a78b..9fcd1b4c98 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java +++ b/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java @@ -60,6 +60,7 @@ import net.runelite.client.util.AsyncBufferedImage; import net.runelite.http.api.item.ItemClient; import net.runelite.http.api.item.ItemPrice; import net.runelite.http.api.item.ItemStats; +import okhttp3.OkHttpClient; @Singleton @Slf4j @@ -82,10 +83,9 @@ public class ItemManager } private final Client client; - private final ScheduledExecutorService scheduledExecutorService; private final ClientThread clientThread; - private final ItemClient itemClient; + private Map itemPrices = Collections.emptyMap(); private Map itemStats = Collections.emptyMap(); private final LoadingCache itemImages; @@ -162,13 +162,12 @@ public class ItemManager build(); @Inject - public ItemManager(Client client, ScheduledExecutorService executor, ClientThread clientThread, - ItemClient itemClient) + public ItemManager(Client client, ScheduledExecutorService scheduledExecutorService, ClientThread clientThread, + OkHttpClient okHttpClient) { this.client = client; - this.scheduledExecutorService = executor; this.clientThread = clientThread; - this.itemClient = itemClient; + this.itemClient = new ItemClient(okHttpClient); scheduledExecutorService.scheduleWithFixedDelay(this::loadPrices, 0, 30, TimeUnit.MINUTES); scheduledExecutorService.submit(this::loadStats); diff --git a/runelite-client/src/main/java/net/runelite/client/game/WorldService.java b/runelite-client/src/main/java/net/runelite/client/game/WorldService.java index 263f712a25..4cc102016d 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/WorldService.java +++ b/runelite-client/src/main/java/net/runelite/client/game/WorldService.java @@ -43,6 +43,7 @@ import net.runelite.client.util.RunnableExceptionLogger; import net.runelite.http.api.worlds.World; import net.runelite.http.api.worlds.WorldClient; import net.runelite.http.api.worlds.WorldResult; +import okhttp3.OkHttpClient; @Singleton @Slf4j @@ -59,12 +60,12 @@ public class WorldService private WorldResult worlds; @Inject - private WorldService(Client client, ScheduledExecutorService scheduledExecutorService, WorldClient worldClient, + private WorldService(Client client, ScheduledExecutorService scheduledExecutorService, OkHttpClient okHttpClient, EventBus eventBus) { this.client = client; this.scheduledExecutorService = scheduledExecutorService; - this.worldClient = worldClient; + this.worldClient = new WorldClient(okHttpClient); this.eventBus = eventBus; scheduledExecutorService.scheduleWithFixedDelay(RunnableExceptionLogger.wrap(this::tick), 0, WORLD_FETCH_TIMER, TimeUnit.MINUTES); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java index 56b2435d02..4a8bbe2b13 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java @@ -80,6 +80,7 @@ import net.runelite.http.api.hiscore.HiscoreSkill; import net.runelite.http.api.hiscore.SingleHiscoreSkillResult; import net.runelite.http.api.hiscore.Skill; import net.runelite.http.api.item.ItemPrice; +import okhttp3.OkHttpClient; import org.apache.commons.text.WordUtils; @PluginDescriptor( @@ -128,8 +129,6 @@ public class ChatCommandsPlugin extends Plugin @VisibleForTesting static final int ADV_LOG_EXPLOITS_TEXT_INDEX = 1; - private final ChatClient chatClient = new ChatClient(); - private boolean bossLogLoaded; private boolean advLogLoaded; private boolean scrollInterfaceLoaded; @@ -168,6 +167,9 @@ public class ChatCommandsPlugin extends Plugin @Inject private HiscoreClient hiscoreClient; + @Inject + private ChatClient chatClient; + @Override public void startUp() { @@ -213,6 +215,12 @@ public class ChatCommandsPlugin extends Plugin return configManager.getConfig(ChatCommandsConfig.class); } + @Provides + HiscoreClient provideHiscoreClient(OkHttpClient okHttpClient) + { + return new HiscoreClient(okHttpClient); + } + private void setKc(String boss, int killcount) { configManager.setConfiguration("killcount." + client.getUsername().toLowerCase(), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java index 017f229dae..3593832fbb 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java @@ -43,7 +43,6 @@ import net.runelite.api.GameState; import net.runelite.api.Skill; import net.runelite.api.WorldType; import net.runelite.api.coords.WorldPoint; -import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.StatChanged; import net.runelite.api.events.VarbitChanged; @@ -54,6 +53,7 @@ import net.runelite.client.discord.events.DiscordJoinGame; import net.runelite.client.discord.events.DiscordJoinRequest; import net.runelite.client.discord.events.DiscordReady; import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.events.PartyChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -65,12 +65,12 @@ import net.runelite.client.util.LinkBrowser; import net.runelite.client.ws.PartyMember; import net.runelite.client.ws.PartyService; import net.runelite.client.ws.WSClient; -import net.runelite.http.api.RuneLiteAPI; import net.runelite.http.api.ws.messages.party.UserJoin; import net.runelite.http.api.ws.messages.party.UserPart; import net.runelite.http.api.ws.messages.party.UserSync; import okhttp3.Call; import okhttp3.Callback; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; @@ -103,6 +103,9 @@ public class DiscordPlugin extends Plugin @Inject private WSClient wsClient; + @Inject + private OkHttpClient okHttpClient; + private Map skillExp = new HashMap<>(); private NavigationButton discordButton; private boolean loginFlag; @@ -273,7 +276,7 @@ public class DiscordPlugin extends Plugin .url(url) .build(); - RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback() + okHttpClient.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java index d301bab699..9292359d99 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java @@ -27,6 +27,7 @@ package net.runelite.client.plugins.examine; import com.google.common.annotations.VisibleForTesting; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; +import com.google.inject.Provides; import java.time.Instant; import java.util.ArrayDeque; import java.util.Deque; @@ -58,6 +59,7 @@ import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.util.QuantityFormatter; import net.runelite.client.util.Text; import net.runelite.http.api.examine.ExamineClient; +import okhttp3.OkHttpClient; /** * Submits examine info to the api @@ -91,6 +93,12 @@ public class ExaminePlugin extends Plugin @Inject private ChatMessageManager chatMessageManager; + @Provides + ExamineClient provideExamineClient(OkHttpClient okHttpClient) + { + return new ExamineClient(okHttpClient); + } + @Subscribe public void onGameStateChanged(GameStateChanged event) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPanel.java index acace3fe33..7b1d987c4e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPanel.java @@ -41,6 +41,8 @@ import java.time.Instant; import java.util.Comparator; import java.util.function.Supplier; import javax.imageio.ImageIO; +import javax.inject.Inject; +import javax.inject.Singleton; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.ImageIcon; @@ -55,17 +57,18 @@ import net.runelite.client.ui.FontManager; import net.runelite.client.ui.PluginPanel; import net.runelite.client.util.ImageUtil; import net.runelite.client.util.LinkBrowser; -import net.runelite.http.api.RuneLiteAPI; import net.runelite.http.api.feed.FeedItem; import net.runelite.http.api.feed.FeedItemType; import net.runelite.http.api.feed.FeedResult; import okhttp3.Call; import okhttp3.Callback; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import okhttp3.ResponseBody; @Slf4j +@Singleton class FeedPanel extends PluginPanel { private static final ImageIcon RUNELITE_ICON; @@ -104,12 +107,15 @@ class FeedPanel extends PluginPanel private final FeedConfig config; private final Supplier feedSupplier; + private final OkHttpClient okHttpClient; - FeedPanel(FeedConfig config, Supplier feedSupplier) + @Inject + FeedPanel(FeedConfig config, Supplier feedSupplier, OkHttpClient okHttpClient) { super(true); this.config = config; this.feedSupplier = feedSupplier; + this.okHttpClient = okHttpClient; setBorder(new EmptyBorder(10, 10, 10, 10)); setBackground(ColorScheme.DARK_GRAY_COLOR); @@ -158,7 +164,7 @@ class FeedPanel extends PluginPanel .url(item.getAvatar()) .build(); - RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback() + okHttpClient.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java index df48cf3a56..5da8e4b4c5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java @@ -25,7 +25,9 @@ package net.runelite.client.plugins.feed; import com.google.common.base.Suppliers; +import com.google.inject.Binder; import com.google.inject.Provides; +import com.google.inject.TypeLiteral; import java.awt.image.BufferedImage; import java.io.IOException; import java.time.temporal.ChronoUnit; @@ -34,9 +36,9 @@ import java.util.concurrent.TimeUnit; import java.util.function.Supplier; import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; -import net.runelite.client.events.ConfigChanged; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.task.Schedule; @@ -45,6 +47,7 @@ import net.runelite.client.ui.NavigationButton; import net.runelite.client.util.ImageUtil; import net.runelite.http.api.feed.FeedClient; import net.runelite.http.api.feed.FeedResult; +import okhttp3.OkHttpClient; @PluginDescriptor( name = "News Feed", @@ -70,7 +73,7 @@ public class FeedPlugin extends Plugin private FeedPanel feedPanel; private NavigationButton navButton; - private Supplier feedSupplier = Suppliers.memoizeWithExpiration(() -> + private final Supplier feedSupplier = Suppliers.memoizeWithExpiration(() -> { try { @@ -83,10 +86,19 @@ public class FeedPlugin extends Plugin return null; }, 10, TimeUnit.MINUTES); + @Override + public void configure(Binder binder) + { + // CHECKSTYLE:OFF + binder.bind(new TypeLiteral>(){}) + .toInstance(feedSupplier); + // CHECKSTYLE:ON + } + @Override protected void startUp() throws Exception { - feedPanel = new FeedPanel(config, feedSupplier); + feedPanel = injector.getInstance(FeedPanel.class); final BufferedImage icon = ImageUtil.getResourceStreamFromClass(getClass(), "icon.png"); @@ -136,4 +148,10 @@ public class FeedPlugin extends Plugin { return configManager.getConfig(FeedConfig.class); } + + @Provides + FeedClient provideFeedClient(OkHttpClient okHttpClient) + { + return new FeedClient(okHttpClient); + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java index 47c3ef6480..8c3c04aea2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java @@ -105,6 +105,7 @@ import net.runelite.http.api.item.ItemStats; import net.runelite.http.api.osbuddy.OSBGrandExchangeClient; import net.runelite.http.api.osbuddy.OSBGrandExchangeResult; import net.runelite.http.api.worlds.WorldType; +import okhttp3.OkHttpClient; import org.apache.commons.lang3.time.DurationFormatUtils; import org.apache.commons.text.similarity.FuzzyScore; @@ -119,7 +120,6 @@ public class GrandExchangePlugin extends Plugin private static final int GE_SLOTS = 8; private static final int OFFER_CONTAINER_ITEM = 21; private static final int OFFER_DEFAULT_ITEM_ID = 6512; - private static final OSBGrandExchangeClient CLIENT = new OSBGrandExchangeClient(); private static final String OSB_GE_TEXT = "
OSBuddy Actively traded price: "; private static final String BUY_LIMIT_GE_TEXT = "
Buy limit: "; @@ -190,6 +190,9 @@ public class GrandExchangePlugin extends Plugin private boolean loginBurstGeUpdates; private static String machineUuid; + @Inject + private OSBGrandExchangeClient osbGrandExchangeClient; + private boolean wasFuzzySearch; static @@ -291,6 +294,18 @@ public class GrandExchangePlugin extends Plugin return configManager.getConfig(GrandExchangeConfig.class); } + @Provides + OSBGrandExchangeClient provideOsbGrandExchangeClient(OkHttpClient okHttpClient) + { + return new OSBGrandExchangeClient(okHttpClient); + } + + @Provides + GrandExchangeClient provideGrandExchangeClient(OkHttpClient okHttpClient) + { + return new GrandExchangeClient(okHttpClient); + } + @Override protected void startUp() { @@ -902,7 +917,7 @@ public class GrandExchangePlugin extends Plugin { try { - final OSBGrandExchangeResult result = CLIENT.lookupItem(itemId); + final OSBGrandExchangeResult result = osbGrandExchangeClient.lookupItem(itemId); if (result != null && result.getOverall_average() > 0) { osbGrandExchangeResult = result; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java index 1a7333ecb1..1843e50c7b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java @@ -70,6 +70,7 @@ import net.runelite.http.api.hiscore.HiscoreSkill; import static net.runelite.http.api.hiscore.HiscoreSkill.*; import net.runelite.http.api.hiscore.HiscoreSkillType; import net.runelite.http.api.hiscore.Skill; +import okhttp3.OkHttpClient; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; @@ -118,15 +119,11 @@ public class HiscorePanel extends PluginPanel HiscoreEndpoint.NORMAL, HiscoreEndpoint.IRONMAN, HiscoreEndpoint.HARDCORE_IRONMAN, HiscoreEndpoint.ULTIMATE_IRONMAN, HiscoreEndpoint.DEADMAN, HiscoreEndpoint.TOURNAMENT }; - @Inject - ScheduledExecutorService executor; - - @Inject - @Nullable - private Client client; - + private final ScheduledExecutorService executor; + private final Client client; private final HiscoreConfig config; private final NameAutocompleter nameAutocompleter; + private final HiscoreClient hiscoreClient; private final IconTextField searchBar; @@ -136,10 +133,6 @@ public class HiscorePanel extends PluginPanel /* Container of all the selectable endpoints (ironman, deadman, etc) */ private final MaterialTabGroup tabGroup; - private final HiscoreClient hiscoreClient = new HiscoreClient(); - - private HiscoreResult result; - /* The currently selected endpoint */ private HiscoreEndpoint selectedEndPoint; @@ -147,11 +140,14 @@ public class HiscorePanel extends PluginPanel private boolean loading = false; @Inject - public HiscorePanel(HiscoreConfig config, NameAutocompleter nameAutocompleter) + public HiscorePanel(ScheduledExecutorService scheduledExecutorService, @Nullable Client client, + HiscoreConfig config, NameAutocompleter nameAutocompleter, OkHttpClient okHttpClient) { - super(); + this.executor = scheduledExecutorService; + this.client = client; this.config = config; this.nameAutocompleter = nameAutocompleter; + this.hiscoreClient = new HiscoreClient(okHttpClient); // The layout seems to be ignoring the top margin and only gives it // a 2-3 pixel margin, so I set the value to 18 to compensate @@ -405,6 +401,7 @@ public class HiscorePanel extends PluginPanel selectedEndPoint = HiscoreEndpoint.NORMAL; } + HiscoreResult result; try { log.debug("Hiscore endpoint " + selectedEndPoint.name() + " selected"); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java index d8da160419..6707251dd7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java @@ -111,6 +111,7 @@ import net.runelite.http.api.loottracker.LootAggregate; import net.runelite.http.api.loottracker.LootRecord; import net.runelite.http.api.loottracker.LootRecordType; import net.runelite.http.api.loottracker.LootTrackerClient; +import okhttp3.OkHttpClient; import org.apache.commons.text.WordUtils; @PluginDescriptor( @@ -234,6 +235,9 @@ public class LootTrackerPlugin extends Plugin @Inject private LootManager lootManager; + @Inject + private OkHttpClient okHttpClient; + private LootTrackerPanel panel; private NavigationButton navButton; @VisibleForTesting @@ -293,7 +297,7 @@ public class LootTrackerPlugin extends Plugin AccountSession accountSession = sessionManager.getAccountSession(); if (accountSession.getUuid() != null) { - lootTrackerClient = new LootTrackerClient(accountSession.getUuid()); + lootTrackerClient = new LootTrackerClient(okHttpClient, accountSession.getUuid()); } else { @@ -341,7 +345,7 @@ public class LootTrackerPlugin extends Plugin AccountSession accountSession = sessionManager.getAccountSession(); if (accountSession != null) { - lootTrackerClient = new LootTrackerClient(accountSession.getUuid()); + lootTrackerClient = new LootTrackerClient(okHttpClient, accountSession.getUuid()); clientThread.invokeLater(() -> { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java index fb6b67450c..7fbae8fc3b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java @@ -90,9 +90,9 @@ import net.runelite.client.plugins.raids.solver.Layout; import net.runelite.client.plugins.raids.solver.LayoutSolver; import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager; -import net.runelite.client.util.QuantityFormatter; import net.runelite.client.util.HotkeyListener; import net.runelite.client.util.ImageCapture; +import net.runelite.client.util.QuantityFormatter; import net.runelite.client.util.Text; import static net.runelite.client.util.Text.sanitize; import net.runelite.client.ws.PartyMember; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java index c8c02a8bf3..6b8ade7b65 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java @@ -243,7 +243,7 @@ public class SlayerPlugin extends Plugin } @Provides - SlayerConfig getConfig(ConfigManager configManager) + SlayerConfig provideSlayerConfig(ConfigManager configManager) { return configManager.getConfig(SlayerConfig.class); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiSearchChatboxTextInput.java b/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiSearchChatboxTextInput.java index ef3b91f9a0..c4eee8374f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiSearchChatboxTextInput.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiSearchChatboxTextInput.java @@ -49,10 +49,10 @@ import net.runelite.client.callback.ClientThread; import net.runelite.client.game.chatbox.ChatboxPanelManager; import net.runelite.client.game.chatbox.ChatboxTextInput; import net.runelite.client.util.LinkBrowser; -import net.runelite.http.api.RuneLiteAPI; import okhttp3.Call; import okhttp3.Callback; import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; @@ -66,6 +66,7 @@ public class WikiSearchChatboxTextInput extends ChatboxTextInput private static final int PREDICTION_DEBOUNCE_DELAY_MS = 200; private final ChatboxPanelManager chatboxPanelManager; + private final OkHttpClient okHttpClient; private final Gson gson = new Gson(); private Future runningRequest = null; @@ -76,10 +77,12 @@ public class WikiSearchChatboxTextInput extends ChatboxTextInput @Inject public WikiSearchChatboxTextInput(ChatboxPanelManager chatboxPanelManager, ClientThread clientThread, - ScheduledExecutorService scheduledExecutorService, @Named("developerMode") final boolean developerMode) + ScheduledExecutorService scheduledExecutorService, @Named("developerMode") final boolean developerMode, + OkHttpClient okHttpClient) { super(chatboxPanelManager, clientThread); this.chatboxPanelManager = chatboxPanelManager; + this.okHttpClient = okHttpClient; lines(1); prompt("OSRS Wiki Search"); @@ -122,7 +125,7 @@ public class WikiSearchChatboxTextInput extends ChatboxTextInput .url(url) .build(); - RuneLiteAPI.CLIENT.newCall(req).enqueue(new Callback() + okHttpClient.newCall(req).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java index 9431eaf5a1..a13fba8575 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java @@ -73,6 +73,7 @@ import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.util.ImageUtil; import net.runelite.client.util.Text; import net.runelite.http.api.xp.XpClient; +import okhttp3.OkHttpClient; @PluginDescriptor( name = "XP Tracker", @@ -116,6 +117,9 @@ public class XpTrackerPlugin extends Plugin @Inject private OverlayManager overlayManager; + @Inject + private XpClient xpClient; + private NavigationButton navButton; @Setter(AccessLevel.PACKAGE) @VisibleForTesting @@ -127,7 +131,6 @@ public class XpTrackerPlugin extends Plugin private long lastXp = 0; private boolean initializeTracker; - private final XpClient xpClient = new XpClient(); private final XpState xpState = new XpState(); private final XpPauseState xpPauseState = new XpPauseState(); @@ -137,6 +140,12 @@ public class XpTrackerPlugin extends Plugin return configManager.getConfig(XpTrackerConfig.class); } + @Provides + XpClient provideXpClient(OkHttpClient okHttpClient) + { + return new XpClient(okHttpClient); + } + @Override public void configure(Binder binder) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xpupdater/XpUpdaterPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xpupdater/XpUpdaterPlugin.java index 30b2c12dc1..6f86e0006e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xpupdater/XpUpdaterPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xpupdater/XpUpdaterPlugin.java @@ -26,10 +26,10 @@ */ package net.runelite.client.plugins.xpupdater; +import com.google.inject.Provides; import java.io.IOException; import java.util.Objects; import javax.inject.Inject; -import com.google.inject.Provides; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.GameState; @@ -40,11 +40,11 @@ import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.Subscribe; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.http.api.RuneLiteAPI; import okhttp3.Call; import okhttp3.Callback; import okhttp3.FormBody; import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; @@ -66,13 +66,16 @@ public class XpUpdaterPlugin extends Plugin @Inject private Client client; + @Inject + private XpUpdaterConfig config; + + @Inject + private OkHttpClient okHttpClient; + private String lastUsername; private boolean fetchXp; private long lastXp; - @Inject - private XpUpdaterConfig config; - @Provides XpUpdaterConfig getConfig(ConfigManager configManager) { @@ -191,9 +194,9 @@ public class XpUpdaterPlugin extends Plugin } } - private static void sendRequest(String platform, Request request) + private void sendRequest(String platform, Request request) { - RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback() + okHttpClient.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java index 3393974613..4eae636114 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java @@ -24,6 +24,7 @@ */ package net.runelite.client.plugins.xtea; +import com.google.inject.Provides; import java.util.HashSet; import java.util.Set; import javax.inject.Inject; @@ -37,6 +38,7 @@ import net.runelite.client.plugins.PluginDescriptor; import net.runelite.http.api.xtea.XteaClient; import net.runelite.http.api.xtea.XteaKey; import net.runelite.http.api.xtea.XteaRequest; +import okhttp3.OkHttpClient; @PluginDescriptor( name = "Xtea", @@ -45,13 +47,20 @@ import net.runelite.http.api.xtea.XteaRequest; @Slf4j public class XteaPlugin extends Plugin { - private final XteaClient xteaClient = new XteaClient(); - private final Set sentRegions = new HashSet<>(); @Inject private Client client; + @Inject + private XteaClient xteaClient; + + @Provides + XteaClient provideXteaClient(OkHttpClient okHttpClient) + { + return new XteaClient(okHttpClient); + } + @Subscribe public void onGameStateChanged(GameStateChanged gameStateChanged) { diff --git a/runelite-client/src/main/java/net/runelite/client/rs/ClientConfigLoader.java b/runelite-client/src/main/java/net/runelite/client/rs/ClientConfigLoader.java index 19c612bd0e..0dbf77b87e 100644 --- a/runelite-client/src/main/java/net/runelite/client/rs/ClientConfigLoader.java +++ b/runelite-client/src/main/java/net/runelite/client/rs/ClientConfigLoader.java @@ -28,18 +28,18 @@ package net.runelite.client.rs; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; -import net.runelite.http.api.RuneLiteAPI; +import lombok.AllArgsConstructor; import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; +@AllArgsConstructor class ClientConfigLoader { - private ClientConfigLoader() - { - } + private final OkHttpClient okHttpClient; - static RSConfig fetch(HttpUrl url) throws IOException + RSConfig fetch(HttpUrl url) throws IOException { final Request request = new Request.Builder() .url(url) @@ -47,7 +47,7 @@ class ClientConfigLoader final RSConfig config = new RSConfig(); - try (final Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (final Response response = okHttpClient.newCall(request).execute()) { if (!response.isSuccessful()) { diff --git a/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java b/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java index d06a55a499..6128c4474b 100644 --- a/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java +++ b/runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java @@ -68,9 +68,9 @@ import net.runelite.client.ui.FatalErrorDialog; import net.runelite.client.ui.SplashScreen; import net.runelite.client.util.CountingInputStream; import net.runelite.client.util.VerificationException; -import net.runelite.http.api.RuneLiteAPI; import net.runelite.http.api.worlds.World; import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; @@ -83,14 +83,19 @@ public class ClientLoader implements Supplier private static File VANILLA_CACHE = new File(RuneLite.CACHE_DIR, "vanilla.cache"); private static File PATCHED_CACHE = new File(RuneLite.CACHE_DIR, "patched.cache"); + private final OkHttpClient okHttpClient; + private final ClientConfigLoader clientConfigLoader; private ClientUpdateCheckMode updateCheckMode; - private Object client = null; + private final WorldSupplier worldSupplier; - private WorldSupplier worldSupplier = new WorldSupplier(); + private Object client; - public ClientLoader(ClientUpdateCheckMode updateCheckMode) + public ClientLoader(OkHttpClient okHttpClient, ClientUpdateCheckMode updateCheckMode) { + this.okHttpClient = okHttpClient; + this.clientConfigLoader = new ClientConfigLoader(okHttpClient); this.updateCheckMode = updateCheckMode; + this.worldSupplier = new WorldSupplier(okHttpClient); } @Override @@ -187,7 +192,7 @@ public class ClientLoader implements Supplier { try { - RSConfig config = ClientConfigLoader.fetch(url); + RSConfig config = clientConfigLoader.fetch(url); if (Strings.isNullOrEmpty(config.getCodeBase()) || Strings.isNullOrEmpty(config.getInitialJar()) || Strings.isNullOrEmpty(config.getInitialClass())) { @@ -221,7 +226,7 @@ public class ClientLoader implements Supplier @Nonnull private RSConfig downloadFallbackConfig() throws IOException { - RSConfig backupConfig = ClientConfigLoader.fetch(HttpUrl.parse(RuneLiteProperties.getJavConfigBackup())); + RSConfig backupConfig = clientConfigLoader.fetch(HttpUrl.parse(RuneLiteProperties.getJavConfigBackup())); if (Strings.isNullOrEmpty(backupConfig.getCodeBase()) || Strings.isNullOrEmpty(backupConfig.getInitialJar()) || Strings.isNullOrEmpty(backupConfig.getInitialClass())) { @@ -298,7 +303,7 @@ public class ClientLoader implements Supplier .url(url) .build(); - try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + try (Response response = okHttpClient.newCall(request).execute()) { // Its important to not close the response manually - this should be the only close or // try-with-resources on this stream or it's children diff --git a/runelite-client/src/main/java/net/runelite/client/rs/WorldSupplier.java b/runelite-client/src/main/java/net/runelite/client/rs/WorldSupplier.java index 6e143b1326..16cf8141ad 100644 --- a/runelite-client/src/main/java/net/runelite/client/rs/WorldSupplier.java +++ b/runelite-client/src/main/java/net/runelite/client/rs/WorldSupplier.java @@ -33,15 +33,18 @@ import java.util.Queue; import java.util.Random; import java.util.function.Supplier; import java.util.stream.Collectors; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import net.runelite.http.api.RuneLiteAPI; import net.runelite.http.api.worlds.World; import net.runelite.http.api.worlds.WorldClient; import net.runelite.http.api.worlds.WorldType; +import okhttp3.OkHttpClient; @Slf4j +@RequiredArgsConstructor class WorldSupplier implements Supplier { + private final OkHttpClient okHttpClient; private final Random random = new Random(System.nanoTime()); private Queue worlds = new ArrayDeque<>(); @@ -55,7 +58,7 @@ class WorldSupplier implements Supplier try { - List newWorlds = new WorldClient(RuneLiteAPI.CLIENT) + List newWorlds = new WorldClient(okHttpClient) .lookupWorlds() .getWorlds() .stream() diff --git a/runelite-client/src/main/java/net/runelite/client/util/ImageCapture.java b/runelite-client/src/main/java/net/runelite/client/util/ImageCapture.java index a07e0240bb..1823ca734c 100644 --- a/runelite-client/src/main/java/net/runelite/client/util/ImageCapture.java +++ b/runelite-client/src/main/java/net/runelite/client/util/ImageCapture.java @@ -58,6 +58,7 @@ import okhttp3.Call; import okhttp3.Callback; import okhttp3.HttpUrl; import okhttp3.MediaType; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; @@ -76,6 +77,9 @@ public class ImageCapture @Inject private Notifier notifier; + @Inject + private OkHttpClient okHttpClient; + /** * Saves a screenshot of the client window to the screenshot folder as a PNG, * and optionally uploads it to an image-hosting service. @@ -197,7 +201,7 @@ public class ImageCapture .post(RequestBody.create(JSON, json)) .build(); - RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback() + okHttpClient.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException ex) diff --git a/runelite-client/src/main/java/net/runelite/client/ws/WSClient.java b/runelite-client/src/main/java/net/runelite/client/ws/WSClient.java index 5b92f5c533..a2f5f7b9e0 100644 --- a/runelite-client/src/main/java/net/runelite/client/ws/WSClient.java +++ b/runelite-client/src/main/java/net/runelite/client/ws/WSClient.java @@ -40,6 +40,7 @@ import net.runelite.http.api.ws.WebsocketGsonFactory; import net.runelite.http.api.ws.WebsocketMessage; import net.runelite.http.api.ws.messages.Handshake; import net.runelite.http.api.ws.messages.party.PartyMessage; +import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import okhttp3.WebSocket; @@ -50,6 +51,7 @@ import okhttp3.WebSocketListener; public class WSClient extends WebSocketListener implements AutoCloseable { private final EventBus eventBus; + private final OkHttpClient okHttpClient; private final Collection> messages = new HashSet<>(); private volatile Gson gson; @@ -58,9 +60,10 @@ public class WSClient extends WebSocketListener implements AutoCloseable private WebSocket webSocket; @Inject - private WSClient(EventBus eventBus) + private WSClient(EventBus eventBus, OkHttpClient okHttpClient) { this.eventBus = eventBus; + this.okHttpClient = okHttpClient; this.gson = WebsocketGsonFactory.build(WebsocketGsonFactory.factory(messages)); } @@ -101,7 +104,7 @@ public class WSClient extends WebSocketListener implements AutoCloseable .url(RuneLiteAPI.getWsEndpoint()) .build(); - webSocket = RuneLiteAPI.CLIENT.newWebSocket(request, this); + webSocket = okHttpClient.newWebSocket(request, this); Handshake handshake = new Handshake(); handshake.setSession(sessionId); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/PluginManagerTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/PluginManagerTest.java index 003e43361d..2ca7409b8d 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/PluginManagerTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/PluginManagerTest.java @@ -51,13 +51,18 @@ import net.runelite.client.RuneLiteModule; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigItem; import net.runelite.client.eventbus.EventBus; +import okhttp3.OkHttpClient; +import okhttp3.Request; import static org.junit.Assert.assertEquals; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; import org.junit.runner.RunWith; +import static org.mockito.ArgumentMatchers.any; import org.mockito.Mock; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; import org.mockito.junit.MockitoJUnitRunner; @RunWith(MockitoJUnitRunner.class) @@ -76,14 +81,18 @@ public class PluginManagerTest @Bind public Client client; - private Set pluginClasses; - private Set configClasses; + private Set> pluginClasses; + private Set> configClasses; @Before public void before() throws IOException { + OkHttpClient okHttpClient = mock(OkHttpClient.class); + when(okHttpClient.newCall(any(Request.class))) + .thenThrow(new RuntimeException("in plugin manager test")); + Injector injector = Guice.createInjector(Modules - .override(new RuneLiteModule(() -> null, true, false, + .override(new RuneLiteModule(okHttpClient, () -> null, true, false, RuneLite.DEFAULT_SESSION_FILE, RuneLite.DEFAULT_CONFIG_FILE)) .with(BoundFieldModule.of(this))); @@ -119,7 +128,7 @@ public class PluginManagerTest pluginManager.loadCorePlugins(); Collection plugins = pluginManager.getPlugins(); long expected = pluginClasses.stream() - .map(cl -> (PluginDescriptor) cl.getAnnotation(PluginDescriptor.class)) + .map(cl -> cl.getAnnotation(PluginDescriptor.class)) .filter(Objects::nonNull) .filter(PluginDescriptor::loadWhenOutdated) .count(); @@ -134,7 +143,7 @@ public class PluginManagerTest plugins.forEach(eventBus::register); expected = pluginClasses.stream() - .map(cl -> (PluginDescriptor) cl.getAnnotation(PluginDescriptor.class)) + .map(cl -> cl.getAnnotation(PluginDescriptor.class)) .filter(Objects::nonNull) .filter(pd -> !pd.developerPlugin()) .count(); @@ -146,16 +155,13 @@ public class PluginManagerTest { List modules = new ArrayList<>(); modules.add(new GraphvizModule()); - modules.add(new RuneLiteModule(() -> null, true, false, + modules.add(new RuneLiteModule(mock(OkHttpClient.class), () -> null, true, false, RuneLite.DEFAULT_SESSION_FILE, RuneLite.DEFAULT_CONFIG_FILE)); PluginManager pluginManager = new PluginManager(true, false, null, null, null, null, null); pluginManager.loadCorePlugins(); - for (Plugin p : pluginManager.getPlugins()) - { - modules.add(p); - } + modules.addAll(pluginManager.getPlugins()); File file = folder.newFile(); try (PrintWriter out = new PrintWriter(file, "UTF-8")) @@ -171,7 +177,7 @@ public class PluginManagerTest @Test public void ensureNoDuplicateConfigKeyNames() { - for (final Class clazz : configClasses) + for (final Class clazz : configClasses) { final Set configKeyNames = new HashSet<>(); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java index 97c40c0cc3..c2fab2bd0e 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java @@ -49,6 +49,7 @@ import net.runelite.client.chat.ChatCommandManager; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.config.ChatColorConfig; import net.runelite.client.config.ConfigManager; +import net.runelite.http.api.chat.ChatClient; import net.runelite.http.api.hiscore.HiscoreClient; import net.runelite.http.api.hiscore.HiscoreSkill; import net.runelite.http.api.hiscore.SingleHiscoreSkillResult; @@ -103,6 +104,10 @@ public class ChatCommandsPluginTest @Bind ChatMessageManager chatMessageManager; + @Mock + @Bind + ChatClient chatClient; + @Mock @Bind ChatCommandsConfig chatCommandsConfig; diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/grandexchange/GrandExchangePluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/grandexchange/GrandExchangePluginTest.java index 0c3dc00d04..9eb1f22342 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/grandexchange/GrandExchangePluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/grandexchange/GrandExchangePluginTest.java @@ -50,6 +50,7 @@ import static net.runelite.client.plugins.grandexchange.GrandExchangePlugin.find import static net.runelite.http.api.RuneLiteAPI.GSON; import net.runelite.http.api.ge.GrandExchangeClient; import net.runelite.http.api.ge.GrandExchangeTrade; +import net.runelite.http.api.osbuddy.OSBGrandExchangeClient; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import org.junit.Before; @@ -108,6 +109,10 @@ public class GrandExchangePluginTest @Bind private GrandExchangeClient grandExchangeClient; + @Mock + @Bind + private OSBGrandExchangeClient osbGrandExchangeClient; + @Mock @Bind private Client client; diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/hiscore/HiscorePanelTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/hiscore/HiscorePanelTest.java index dfee0deeba..ae2f63144b 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/hiscore/HiscorePanelTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/hiscore/HiscorePanelTest.java @@ -24,7 +24,9 @@ */ package net.runelite.client.plugins.hiscore; +import java.util.concurrent.ScheduledExecutorService; import static net.runelite.client.plugins.hiscore.HiscorePanel.formatLevel; +import okhttp3.OkHttpClient; import static org.junit.Assert.assertEquals; import org.junit.Test; import static org.mockito.Mockito.mock; @@ -34,7 +36,7 @@ public class HiscorePanelTest @Test public void testConstructor() { - new HiscorePanel(mock(HiscoreConfig.class), mock(NameAutocompleter.class)); + new HiscorePanel(mock(ScheduledExecutorService.class), null, mock(HiscoreConfig.class), mock(NameAutocompleter.class), mock(OkHttpClient.class)); } @Test diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/raids/RaidsPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/raids/RaidsPluginTest.java index dc03a3e556..3bb07bf9a3 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/raids/RaidsPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/raids/RaidsPluginTest.java @@ -45,6 +45,7 @@ import net.runelite.client.game.ItemManager; import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.util.ImageCapture; import net.runelite.client.ws.PartyService; +import net.runelite.http.api.chat.ChatClient; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -93,6 +94,10 @@ public class RaidsPluginTest @Bind Notifier notifier; + @Mock + @Bind + ChatClient chatClient; + @Mock @Bind RaidsConfig raidsConfig; diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/xptracker/XpTrackerPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/xptracker/XpTrackerPluginTest.java index ca3375bbf4..64a1cec8e6 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/xptracker/XpTrackerPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/xptracker/XpTrackerPluginTest.java @@ -39,6 +39,7 @@ import net.runelite.client.game.NPCManager; import net.runelite.client.game.SkillIconManager; import net.runelite.client.ui.ClientToolbar; import net.runelite.client.ui.overlay.OverlayManager; +import net.runelite.http.api.xp.XpClient; import static org.junit.Assert.assertEquals; import org.junit.Before; import org.junit.Test; @@ -70,6 +71,10 @@ public class XpTrackerPluginTest @Bind private XpTrackerConfig xpTrackerConfig; + @Mock + @Bind + private XpClient xpClient; + @Mock @Bind private NPCManager npcManager; diff --git a/runelite-client/src/test/java/net/runelite/client/rs/ClientConfigLoaderTest.java b/runelite-client/src/test/java/net/runelite/client/rs/ClientConfigLoaderTest.java index c2c3d3a87e..6ee1ecdf33 100644 --- a/runelite-client/src/test/java/net/runelite/client/rs/ClientConfigLoaderTest.java +++ b/runelite-client/src/test/java/net/runelite/client/rs/ClientConfigLoaderTest.java @@ -29,6 +29,7 @@ import com.google.common.io.CharStreams; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import okhttp3.OkHttpClient; import okhttp3.mockwebserver.MockResponse; import okhttp3.mockwebserver.MockWebServer; import org.junit.After; @@ -63,7 +64,7 @@ public class ClientConfigLoaderTest @Test public void testFetch() throws IOException { - final RSConfig config = ClientConfigLoader.fetch(server.url("/")); + final RSConfig config = new ClientConfigLoader(new OkHttpClient()).fetch(server.url("/")); assertEquals("http://oldschool1.runescape.com/", config.getCodeBase()); } From 14ecc93286599a788b3881cb78ed7b323c684d9b Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 26 Jun 2020 18:12:45 -0400 Subject: [PATCH 006/189] client: add --insecure-skip-tls-verification option Additionally this checks if the launcher property is set too which happens if the launcher is passed this flag. --- .../java/net/runelite/client/RuneLite.java | 53 +++++++++++++++++-- .../runelite/client/RuneLiteProperties.java | 6 +++ 2 files changed, 56 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLite.java b/runelite-client/src/main/java/net/runelite/client/RuneLite.java index e9d79d1b5f..29d7fc32c0 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java @@ -34,10 +34,17 @@ import java.io.File; import java.lang.management.ManagementFactory; import java.lang.management.RuntimeMXBean; import java.nio.file.Paths; +import java.security.KeyManagementException; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; +import java.security.cert.X509Certificate; import java.util.Locale; import javax.annotation.Nullable; import javax.inject.Provider; import javax.inject.Singleton; +import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; import javax.swing.SwingUtilities; import joptsimple.ArgumentAcceptingOptionSpec; import joptsimple.OptionParser; @@ -233,9 +240,16 @@ public class RuneLite } }); - final OkHttpClient okHttpClient = RuneLiteAPI.CLIENT.newBuilder() - .cache(new Cache(new File(CACHE_DIR, "okhttp"), MAX_OKHTTP_CACHE_SIZE)) - .build(); + OkHttpClient.Builder okHttpClientBuilder = RuneLiteAPI.CLIENT.newBuilder() + .cache(new Cache(new File(CACHE_DIR, "okhttp"), MAX_OKHTTP_CACHE_SIZE)); + + final boolean insecureSkipTlsVerification = options.has("insecure-skip-tls-verification"); + if (insecureSkipTlsVerification || RuneLiteProperties.isInsecureSkipTlsVerification()) + { + setupInsecureTrustManager(okHttpClientBuilder); + } + + final OkHttpClient okHttpClient = okHttpClientBuilder.build(); SplashScreen.init(); SplashScreen.stage(0, "Retrieving client", ""); @@ -433,4 +447,37 @@ public class RuneLite return null; } } + + private static void setupInsecureTrustManager(OkHttpClient.Builder okHttpClientBuilder) + { + try + { + X509TrustManager trustManager = new X509TrustManager() + { + @Override + public void checkClientTrusted(X509Certificate[] chain, String authType) + { + } + + @Override + public void checkServerTrusted(X509Certificate[] chain, String authType) + { + } + + @Override + public X509Certificate[] getAcceptedIssuers() + { + return new X509Certificate[0]; + } + }; + + SSLContext sc = SSLContext.getInstance("SSL"); + sc.init(null, new TrustManager[]{trustManager}, new SecureRandom()); + okHttpClientBuilder.sslSocketFactory(sc.getSocketFactory(), trustManager); + } + catch (NoSuchAlgorithmException | KeyManagementException ex) + { + log.warn("unable to setup insecure trust manager", ex); + } + } } diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLiteProperties.java b/runelite-client/src/main/java/net/runelite/client/RuneLiteProperties.java index 83e30cbfc7..ab0911c1f4 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLiteProperties.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLiteProperties.java @@ -41,6 +41,7 @@ public class RuneLiteProperties private static final String WIKI_LINK = "runelite.wiki.link"; private static final String PATREON_LINK = "runelite.patreon.link"; private static final String LAUNCHER_VERSION_PROPERTY = "runelite.launcher.version"; + private static final String INSECURE_SKIP_TLS_VERIFICATION_PROPERTY = "runelite.insecure-skip-tls-verification"; private static final String TROUBLESHOOTING_LINK = "runelite.wiki.troubleshooting.link"; private static final String BUILDING_LINK = "runelite.wiki.building.link"; private static final String DNS_CHANGE_LINK = "runelite.dnschange.link"; @@ -110,6 +111,11 @@ public class RuneLiteProperties return System.getProperty(LAUNCHER_VERSION_PROPERTY); } + public static boolean isInsecureSkipTlsVerification() + { + return Boolean.getBoolean(INSECURE_SKIP_TLS_VERIFICATION_PROPERTY); + } + public static String getTroubleshootingLink() { return properties.getProperty(TROUBLESHOOTING_LINK); From eb39e9176c9f82ba7a671de5929f61204b4ec294 Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Sun, 28 Jun 2020 07:24:37 +0200 Subject: [PATCH 007/189] update injector version --- build.gradle.kts | 2 +- injected-client/injected-client.gradle.kts | 7 ------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 98dbb3cc0b..28a081ce2a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -35,7 +35,7 @@ buildscript { dependencies { classpath("org.ajoberstar.grgit:grgit-core:4.0.2") classpath("com.github.ben-manes:gradle-versions-plugin:0.28.0") - classpath("com.openosrs:injector-plugin:1.1.2") + classpath("com.openosrs:injector-plugin:1.1.3") } } diff --git a/injected-client/injected-client.gradle.kts b/injected-client/injected-client.gradle.kts index ce8883caec..c4df055ab7 100644 --- a/injected-client/injected-client.gradle.kts +++ b/injected-client/injected-client.gradle.kts @@ -62,10 +62,6 @@ injector { vanilla.set(vanillaDep.singleFile) } -artifacts { - runtimeElements(tasks.inject.get().output) -} - // keep the sourcesets etc but remove useless tasks tasks { inject { @@ -86,7 +82,4 @@ tasks { processResources { enabled = false } - assemble { - finalizedBy("inject") - } } From 99dffc1f3bfeb7a67d973dd9218469c7dae303d4 Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Sun, 28 Jun 2020 09:32:04 +0200 Subject: [PATCH 008/189] Normalize jars --- build.gradle.kts | 7 +++++++ injected-client/injected-client.gradle.kts | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 28a081ce2a..e0f2a98d5b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -169,6 +169,13 @@ subprojects { withSourcesJar() } + withType { + isPreserveFileTimestamps = false + isReproducibleFileOrder = true + dirMode = 493 + fileMode = 420 + } + withType { options.encoding = "UTF-8" } diff --git a/injected-client/injected-client.gradle.kts b/injected-client/injected-client.gradle.kts index c4df055ab7..4544988097 100644 --- a/injected-client/injected-client.gradle.kts +++ b/injected-client/injected-client.gradle.kts @@ -65,7 +65,7 @@ injector { // keep the sourcesets etc but remove useless tasks tasks { inject { - dependsOn(configurations["combined"]) + dependsOn(combined) } classes { enabled = false From 577732c7fe8a31827e707b2b50bb9b3dd5480a63 Mon Sep 17 00:00:00 2001 From: Dutta64 <38548565+dutta64@users.noreply.github.com> Date: Sun, 28 Jun 2020 06:48:24 -0600 Subject: [PATCH 009/189] overlayutil: pepega --- .../main/java/net/runelite/client/ui/overlay/OverlayUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayUtil.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayUtil.java index 87a39ae465..041b6be392 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayUtil.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayUtil.java @@ -358,7 +358,7 @@ public class OverlayUtil canvasPoint.getY() + yOffset); final Point canvasCenterPoint_shadow = new Point( canvasPoint.getX() + 1, - canvasPoint.getY() + 1); + canvasPoint.getY() + 1 + yOffset); if (shadows) { renderTextLocation(graphics, canvasCenterPoint_shadow, txtString, Color.BLACK); From 9b06cbb192942601510629a4591c4660a6243764 Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Wed, 17 Jun 2020 16:52:32 +0100 Subject: [PATCH 010/189] revert scriptvmmixin changes for pre/post fired --- .../net/runelite/mixins/ScriptVMMixin.java | 85 +------------------ 1 file changed, 1 insertion(+), 84 deletions(-) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java index 20b713e16b..636bd5d027 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java @@ -25,17 +25,11 @@ */ package net.runelite.mixins; -import java.util.ArrayList; -import java.util.Stack; import java.util.regex.Matcher; import java.util.regex.Pattern; import net.runelite.api.Client; -import static net.runelite.api.Opcodes.INVOKE; -import static net.runelite.api.Opcodes.RETURN; import static net.runelite.api.Opcodes.RUNELITE_EXECUTE; import net.runelite.api.events.ScriptCallbackEvent; -import net.runelite.api.events.ScriptPostFired; -import net.runelite.api.events.ScriptPreFired; import net.runelite.api.mixins.Copy; import net.runelite.api.mixins.Inject; import net.runelite.api.mixins.Mixin; @@ -60,21 +54,10 @@ public abstract class ScriptVMMixin implements RSClient @Inject private static int currentScriptPC; - @Inject - private static ScriptPostFired deferredEvent = null; - - @Inject - private static Stack scriptIds = new Stack<>(); - // Call is injected into runScript by the ScriptVM raw injector @Inject static boolean vmExecuteOpcode(int opcode) { - if (deferredEvent != null) - { - client.getCallbacks().post(ScriptPostFired.class, deferredEvent); - deferredEvent = null; - } if (opcode == RUNELITE_EXECUTE) { assert currentScript.getInstructions()[currentScriptPC] == RUNELITE_EXECUTE; @@ -121,21 +104,6 @@ public abstract class ScriptVMMixin implements RSClient client.getCallbacks().post(ScriptCallbackEvent.class, event); return true; } - else if (opcode == INVOKE) - { - int id = currentScript.getIntOperands()[currentScriptPC]; - scriptIds.push(id); - ScriptPreFired event = new ScriptPreFired(id); - event.setScriptEvent(null); - client.getCallbacks().post(ScriptPreFired.class, event); - } - else if (opcode == RETURN) - { - if (scriptIds.size() > 1) // let the runScript method handle the final script - { - deferredEvent = new ScriptPostFired(scriptIds.pop()); // fire the event when we've left the script - } - } return false; } @@ -153,16 +121,9 @@ public abstract class ScriptVMMixin implements RSClient { try { - ScriptPreFired preFired = new ScriptPreFired(-1); - preFired.setScriptEvent(event); - client.getCallbacks().post(ScriptPreFired.class, preFired); - ((JavaScriptCallback) arguments[0]).run(event); - - ScriptPostFired postFired = new ScriptPostFired(-1); - client.getCallbacks().post(ScriptPostFired.class, postFired); } - catch (Exception e) // wont catch assertions + catch (Exception e) { client.getLogger().error("Error in JavaScriptCallback", e); } @@ -171,34 +132,11 @@ public abstract class ScriptVMMixin implements RSClient { try { - try - { - scriptIds.push((Integer) event.getArguments()[0]); // this is safe because it will always be the script id - - ScriptPreFired preFired = new ScriptPreFired(scriptIds.peek()); // peek doesn't remove the top item - preFired.setScriptEvent(event); - client.getCallbacks().post(ScriptPreFired.class, preFired); - } - catch (ClassCastException ignored) - { - } - rs$runScript(event, maxExecutionTime); - - if (!scriptIds.empty()) - { - ScriptPostFired postFired = new ScriptPostFired(scriptIds.pop()); // hopefully the stack should be dry at this point - assert scriptIds.empty() : "Script ID stack should be empty! Contains: " + getAllScriptIds(); - client.getCallbacks().post(ScriptPostFired.class, postFired); - } } finally { currentScript = null; - while (!scriptIds.empty()) - { - scriptIds.pop(); // make sure the stack is empty, something disastrous happened - } } } } @@ -214,25 +152,4 @@ public abstract class ScriptVMMixin implements RSClient se.setArguments(args); runScript(se, 5000000); } - - @Inject - private static String getAllScriptIds() - { - ArrayList ids = new ArrayList<>(scriptIds); - StringBuilder sb = new StringBuilder(); - boolean first = true; - for (Object item : ids) - { - if (first) - { - first = false; - } - else - { - sb.append(", "); - } - sb.append(item); - } - return sb.toString(); - } } \ No newline at end of file From c314b42744e4eba6740f8ef7a5ff7b51b33adc72 Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Thu, 18 Jun 2020 13:36:44 +0100 Subject: [PATCH 011/189] scriptvmmixin: change event firing order --- .../runelite/api/events/ScriptPreFired.java | 8 +- .../net/runelite/mixins/ScriptVMMixin.java | 107 +++++++++++------- 2 files changed, 67 insertions(+), 48 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/events/ScriptPreFired.java b/runelite-api/src/main/java/net/runelite/api/events/ScriptPreFired.java index a338145e4f..55c58ac4a3 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/ScriptPreFired.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ScriptPreFired.java @@ -24,22 +24,22 @@ */ package net.runelite.api.events; -import lombok.Data; +import lombok.Value; import net.runelite.api.ScriptEvent; /** * An event that is fired before the designated script is ran */ -@Data +@Value public class ScriptPreFired implements Event { /** * The script id of the invoked script */ - private final int scriptId; + int scriptId; /** * The input of the script invoke, this will be null unless it is the root script */ - private ScriptEvent scriptEvent; + ScriptEvent scriptEvent; } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java index 636bd5d027..08b559a8c8 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java @@ -28,8 +28,9 @@ package net.runelite.mixins; import java.util.regex.Matcher; import java.util.regex.Pattern; import net.runelite.api.Client; -import static net.runelite.api.Opcodes.RUNELITE_EXECUTE; import net.runelite.api.events.ScriptCallbackEvent; +import net.runelite.api.events.ScriptPostFired; +import net.runelite.api.events.ScriptPreFired; import net.runelite.api.mixins.Copy; import net.runelite.api.mixins.Inject; import net.runelite.api.mixins.Mixin; @@ -39,6 +40,7 @@ import net.runelite.api.widgets.JavaScriptCallback; import net.runelite.rs.api.RSClient; import net.runelite.rs.api.RSScript; import net.runelite.rs.api.RSScriptEvent; +import static net.runelite.api.Opcodes.*; @Mixin(RSClient.class) public abstract class ScriptVMMixin implements RSClient @@ -46,7 +48,6 @@ public abstract class ScriptVMMixin implements RSClient @Shadow("client") private static Client client; - // This field is set by the ScriptVM raw injector @Inject private static RSScript currentScript; @@ -54,55 +55,70 @@ public abstract class ScriptVMMixin implements RSClient @Inject private static int currentScriptPC; + // Call is injected by the raw injector + @Inject + static void setCurrentScript(RSScript script) + { + currentScript = script; + } + // Call is injected into runScript by the ScriptVM raw injector @Inject static boolean vmExecuteOpcode(int opcode) { - if (opcode == RUNELITE_EXECUTE) + switch (opcode) { - assert currentScript.getInstructions()[currentScriptPC] == RUNELITE_EXECUTE; - - int stringStackSize = client.getStringStackSize(); - String stringOp = client.getStringStack()[--stringStackSize]; - client.setStringStackSize(stringStackSize); - - if ("debug".equals(stringOp)) - { - int intStackSize = client.getIntStackSize(); - - String fmt = client.getStringStack()[--stringStackSize]; - StringBuffer out = new StringBuffer(); - Matcher m = Pattern.compile("%(.)").matcher(fmt); - for (; m.find(); ) - { - m.appendReplacement(out, ""); - switch (m.group(1).charAt(0)) - { - case 'i': - case 'd': - out.append(client.getIntStack()[--intStackSize]); - break; - case 's': - out.append(client.getStringStack()[--stringStackSize]); - break; - default: - out.append(m.group(0)).append("=unknown"); - } - } - m.appendTail(out); - - client.getLogger().debug(out.toString()); + case RUNELITE_EXECUTE: + assert currentScript.getInstructions()[currentScriptPC] == RUNELITE_EXECUTE; + int stringStackSize = client.getStringStackSize(); + String stringOp = client.getStringStack()[--stringStackSize]; client.setStringStackSize(stringStackSize); - client.setIntStackSize(intStackSize); - return true; - } - ScriptCallbackEvent event = new ScriptCallbackEvent(); - event.setScript(currentScript); - event.setEventName(stringOp); - client.getCallbacks().post(ScriptCallbackEvent.class, event); - return true; + if ("debug".equals(stringOp)) + { + int intStackSize = client.getIntStackSize(); + + String fmt = client.getStringStack()[--stringStackSize]; + StringBuffer out = new StringBuffer(); + Matcher m = Pattern.compile("%(.)").matcher(fmt); + while (m.find()) + { + m.appendReplacement(out, ""); + switch (m.group(1).charAt(0)) + { + case 'i': + case 'd': + out.append(client.getIntStack()[--intStackSize]); + break; + case 's': + out.append(client.getStringStack()[--stringStackSize]); + break; + default: + out.append(m.group(0)).append("=unknown"); + } + } + m.appendTail(out); + + client.getLogger().debug(out.toString()); + + client.setStringStackSize(stringStackSize); + client.setIntStackSize(intStackSize); + return true; + } + + ScriptCallbackEvent event = new ScriptCallbackEvent(); + event.setScript(currentScript); + event.setEventName(stringOp); + client.getCallbacks().post(ScriptCallbackEvent.class, event); + return true; + case INVOKE: + int scriptId = currentScript.getIntOperands()[currentScriptPC]; + client.getCallbacks().post(ScriptPreFired.class, new ScriptPreFired(scriptId, null)); + return false; + case RETURN: + client.getCallbacks().post(ScriptPostFired.class, new ScriptPostFired((int) currentScript.getHash())); + return false; } return false; } @@ -117,7 +133,8 @@ public abstract class ScriptVMMixin implements RSClient static void rl$runScript(RSScriptEvent event, int maxExecutionTime) { Object[] arguments = event.getArguments(); - if (arguments != null && arguments.length > 0 && arguments[0] instanceof JavaScriptCallback) + assert arguments != null && arguments.length > 0; + if (arguments[0] instanceof JavaScriptCallback) { try { @@ -132,6 +149,8 @@ public abstract class ScriptVMMixin implements RSClient { try { + final ScriptPreFired pre = new ScriptPreFired((int) arguments[0], event); + client.getCallbacks().post(ScriptPreFired.class, pre); rs$runScript(event, maxExecutionTime); } finally From 934fad63b551533c2f528a25022f59b6e559cc4b Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Sun, 28 Jun 2020 17:02:21 +0200 Subject: [PATCH 012/189] add maven repo and increment injector dep version --- build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index e0f2a98d5b..d883b23595 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -29,13 +29,13 @@ import org.ajoberstar.grgit.Grgit buildscript { repositories { gradlePluginPortal() - mavenLocal() + maven(url = "https://repo.openosrs.com/repository/maven/") maven(url = "https://raw.githubusercontent.com/open-osrs/hosting/master") } dependencies { classpath("org.ajoberstar.grgit:grgit-core:4.0.2") classpath("com.github.ben-manes:gradle-versions-plugin:0.28.0") - classpath("com.openosrs:injector-plugin:1.1.3") + classpath("com.openosrs:injector-plugin:1.1.4") } } From 570fdfaeba2b80dee7e8d8991b0f88270b7bc24b Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Sun, 28 Jun 2020 19:40:53 +0100 Subject: [PATCH 013/189] Create manualrun.yml --- .github/workflows/manualrun.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .github/workflows/manualrun.yml diff --git a/.github/workflows/manualrun.yml b/.github/workflows/manualrun.yml new file mode 100644 index 0000000000..974de01a30 --- /dev/null +++ b/.github/workflows/manualrun.yml @@ -0,0 +1,12 @@ +name: Release Drafter + +on: repository_dispatch + +jobs: + update_draft_release: + runs-on: ubuntu-latest + + steps: + - uses: ThatGamerBlue/release-drafter@v5.7.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 2d9c26387a41cb519438182f7d877f821476b378 Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Mon, 29 Jun 2020 02:08:26 +0200 Subject: [PATCH 014/189] add getVarbitCount and warn instead of throw when varb doesnt exist --- .../src/main/java/net/runelite/api/Client.java | 5 +++++ .../main/java/net/runelite/mixins/VarbitMixin.java | 12 +++++++++++- .../java/net/runelite/rs/api/RSAbstractArchive.java | 3 +++ .../src/main/java/net/runelite/rs/api/RSClient.java | 3 +++ 4 files changed, 22 insertions(+), 1 deletion(-) 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 8b03591b67..6efbd4f892 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -809,6 +809,11 @@ public interface Client extends GameShell */ void setVarbitValue(int[] varps, int varbit, int value); + /** + * @return the total number of VarbitDefinition + */ + int getVarbitCount(); + /** * Gets the widget flags table. * diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/VarbitMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/VarbitMixin.java index 68b193e97b..ab0998a537 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/VarbitMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/VarbitMixin.java @@ -16,6 +16,8 @@ import net.runelite.rs.api.RSVarbitDefinition; @Mixin(RSClient.class) public abstract class VarbitMixin implements RSClient { + private static final int VARBITS_GROUP = 14; + @Shadow("client") private static RSClient client; @@ -69,7 +71,8 @@ public abstract class VarbitMixin implements RSClient if (v.getIndex() == 0 && v.getLeastSignificantBit() == 0 && v.getMostSignificantBit() == 0) { - throw new IndexOutOfBoundsException("Varbit " + varbitId + " does not exist"); + getLogger().debug("Varbit {} doesn't exist!", varbitId); + return 0; } int value = varps[v.getIndex()]; @@ -152,4 +155,11 @@ public abstract class VarbitMixin implements RSClient { return getVarcs().getVarcMap(); } + + @Inject + @Override + public int getVarbitCount() + { + return getConfigArchive().getGroupFileCount(VARBITS_GROUP); + } } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSAbstractArchive.java b/runescape-api/src/main/java/net/runelite/rs/api/RSAbstractArchive.java index 052bc4ee74..653bd83962 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSAbstractArchive.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSAbstractArchive.java @@ -7,4 +7,7 @@ public interface RSAbstractArchive extends IndexDataBase { @Import("takeFile") byte[] getConfigData(int archiveId, int fileId); + + @Import("getGroupFileCount") + int getGroupFileCount(int group); } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java index df02ac9afa..597b93e4f1 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java @@ -457,6 +457,9 @@ public interface RSClient extends RSGameShell, Client @Import("SpriteBuffer_spritePalette") void setIndexedSpritePalette(int[] indexedSpritePalette); + @Import("archive2") + RSArchive getConfigArchive(); + @Import("archive6") RSArchive getMusicTracks(); From 9c05215c432044888eaadc9f69e6b99d2d101e4e Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Mon, 29 Jun 2020 02:25:22 +0200 Subject: [PATCH 015/189] check script argument type --- .../src/main/java/net/runelite/mixins/ScriptVMMixin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java index 08b559a8c8..32552f97bf 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java @@ -145,7 +145,7 @@ public abstract class ScriptVMMixin implements RSClient client.getLogger().error("Error in JavaScriptCallback", e); } } - else + else if (arguments[0] instanceof Integer) { try { From 62bbf35baf6061fcb1736c470208507d1d09b800 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 29 Jun 2020 10:27:06 -0400 Subject: [PATCH 016/189] api: add VarbitComposition, config index, and index fileids --- .../main/java/net/runelite/api/Client.java | 15 ++++++ .../java/net/runelite/api/IndexDataBase.java | 7 +++ .../net/runelite/api/VarbitComposition.java | 49 +++++++++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 runelite-api/src/main/java/net/runelite/api/VarbitComposition.java 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 94c7174325..cb5fee5e71 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -400,6 +400,11 @@ public interface Client extends GameEngine */ IndexDataBase getIndexScripts(); + /** + * Gets the config index. + */ + IndexDataBase getIndexConfig(); + /** * Returns the x-axis base coordinate. *

@@ -745,6 +750,16 @@ public interface Client extends GameEngine */ void setVarbit(Varbits varbit, int value); + /** + * Gets the varbit composition for a given varbit id + * + * @param id + * @return + */ + @VisibleForDevtools + @Nullable + VarbitComposition getVarbit(int id); + /** * Gets the value of a given variable. * diff --git a/runelite-api/src/main/java/net/runelite/api/IndexDataBase.java b/runelite-api/src/main/java/net/runelite/api/IndexDataBase.java index 67de31469e..ba8042c480 100644 --- a/runelite-api/src/main/java/net/runelite/api/IndexDataBase.java +++ b/runelite-api/src/main/java/net/runelite/api/IndexDataBase.java @@ -33,4 +33,11 @@ public interface IndexDataBase * Returns true if any cache overlay in this index is outdated due to hash mismatch */ boolean isOverlayOutdated(); + + /** + * Get the child file ids for a given archive + * @param archiveId + * @return + */ + int[] getFileIds(int archiveId); } diff --git a/runelite-api/src/main/java/net/runelite/api/VarbitComposition.java b/runelite-api/src/main/java/net/runelite/api/VarbitComposition.java new file mode 100644 index 0000000000..1e46fd4d76 --- /dev/null +++ b/runelite-api/src/main/java/net/runelite/api/VarbitComposition.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2020, Adam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.api; + +public interface VarbitComposition +{ + /** + * The varp index for this varbit + * + * @return + */ + int getIndex(); + + /** + * The least significant bit of the varbit + * + * @return + */ + int getLeastSignificantBit(); + + /** + * The most significant bit of the varbit (inclusive) + * + * @return + */ + int getMostSignificantBit(); +} From 53c8593929c89290530f18f52eed8117b3ef8a21 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 29 Jun 2020 10:27:51 -0400 Subject: [PATCH 017/189] var inspector: optimize var checking This fixes the inspector incorrectly only checking the first ~2k varbits due to there being some holes now in the varbit ids --- .../client/plugins/devtools/VarInspector.java | 98 +++++++++++-------- 1 file changed, 55 insertions(+), 43 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/VarInspector.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/VarInspector.java index ef8454b712..e39a0bcba2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/VarInspector.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/VarInspector.java @@ -24,6 +24,8 @@ */ package net.runelite.client.plugins.devtools; +import com.google.common.collect.HashMultimap; +import com.google.common.collect.Multimap; import com.google.inject.Inject; import java.awt.BorderLayout; import java.awt.Dimension; @@ -48,13 +50,16 @@ import javax.swing.border.CompoundBorder; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; +import net.runelite.api.IndexDataBase; import net.runelite.api.VarClientInt; import net.runelite.api.VarClientStr; import net.runelite.api.VarPlayer; +import net.runelite.api.VarbitComposition; import net.runelite.api.Varbits; import net.runelite.api.events.VarClientIntChanged; import net.runelite.api.events.VarClientStrChanged; import net.runelite.api.events.VarbitChanged; +import net.runelite.client.callback.ClientThread; import net.runelite.client.eventbus.EventBus; import net.runelite.client.eventbus.Subscribe; import net.runelite.client.ui.ClientUI; @@ -84,9 +89,10 @@ class VarInspector extends JFrame } private final static int MAX_LOG_ENTRIES = 10_000; + private static final int VARBITS_ARCHIVE_ID = 14; private final Client client; - private final DevToolsPlugin plugin; + private final ClientThread clientThread; private final EventBus eventBus; private final JPanel tracker = new JPanel(); @@ -95,16 +101,16 @@ class VarInspector extends JFrame private int[] oldVarps = null; private int[] oldVarps2 = null; - private int numVarbits = 10000; + private Multimap varbits; private Map varcs = null; @Inject - VarInspector(Client client, EventBus eventBus, DevToolsPlugin plugin) + VarInspector(Client client, ClientThread clientThread, EventBus eventBus, DevToolsPlugin plugin) { - this.eventBus = eventBus; this.client = client; - this.plugin = plugin; + this.clientThread = clientThread; + this.eventBus = eventBus; setTitle("RuneLite Var Inspector"); setIconImage(ClientUI.ICON); @@ -213,63 +219,51 @@ class VarInspector extends JFrame } @Subscribe - public void onVarbitChanged(VarbitChanged ev) + public void onVarbitChanged(VarbitChanged varbitChanged) { + int index = varbitChanged.getIndex(); int[] varps = client.getVarps(); // Check varbits - for (int i = 0; i < numVarbits; i++) + for (int i : varbits.get(index)) { - try + int old = client.getVarbitValue(oldVarps, i); + int neew = client.getVarbitValue(varps, i); + if (old != neew) { - int old = client.getVarbitValue(oldVarps, i); - int neew = client.getVarbitValue(varps, i); - if (old != neew) - { - // Set the varbit so it doesn't show in the varp changes - // However, some varbits share common bits, so we only do it in oldVarps2 - // Example: 4101 collides with 4104-4129 - client.setVarbitValue(oldVarps2, i, neew); + // Set the varbit so it doesn't show in the varp changes + // However, some varbits share common bits, so we only do it in oldVarps2 + // Example: 4101 collides with 4104-4129 + client.setVarbitValue(oldVarps2, i, neew); - String name = String.format("%d", i); - for (Varbits varbit : Varbits.values()) + String name = Integer.toString(i); + for (Varbits varbit : Varbits.values()) + { + if (varbit.getId() == i) { - if (varbit.getId() == i) - { - name = String.format("%s(%d)", varbit.name(), i); - break; - } + name = String.format("%s(%d)", varbit.name(), i); + break; } - addVarLog(VarType.VARBIT, name, old, neew); } - } - catch (IndexOutOfBoundsException e) - { - // We don't know what the last varbit is, so we just hit the end, then set it for future iterations - log.debug("Hit OOB at varbit {}", i); - numVarbits = i; - break; + addVarLog(VarType.VARBIT, name, old, neew); } } // Check varps - for (int i = 0; i < varps.length; i++) + int old = oldVarps2[index]; + int neew = varps[index]; + if (old != neew) { - int old = oldVarps2[i]; - int neew = varps[i]; - if (old != neew) + String name = Integer.toString(index); + for (VarPlayer varp : VarPlayer.values()) { - String name = String.format("%d", i); - for (VarPlayer varp : VarPlayer.values()) + if (varp.getId() == index) { - if (varp.getId() == i) - { - name = String.format("%s(%d)", varp.name(), i); - break; - } + name = String.format("%s(%d)", varp.name(), index); + break; } - addVarLog(VarType.VARP, name, old, neew); } + addVarLog(VarType.VARP, name, old, neew); } System.arraycopy(client.getVarps(), 0, oldVarps, 0, oldVarps.length); @@ -349,6 +343,22 @@ class VarInspector extends JFrame System.arraycopy(client.getVarps(), 0, oldVarps, 0, oldVarps.length); System.arraycopy(client.getVarps(), 0, oldVarps2, 0, oldVarps2.length); varcs = new HashMap<>(client.getVarcMap()); + varbits = HashMultimap.create(); + + clientThread.invoke(() -> + { + // Build varp index -> varbit id map + IndexDataBase indexVarbits = client.getIndexConfig(); + final int[] varbitIds = indexVarbits.getFileIds(VARBITS_ARCHIVE_ID); + for (int id : varbitIds) + { + VarbitComposition varbit = client.getVarbit(id); + if (varbit != null) + { + varbits.put(varbit.getIndex(), id); + } + } + }); eventBus.register(this); setVisible(true); @@ -361,5 +371,7 @@ class VarInspector extends JFrame tracker.removeAll(); eventBus.unregister(this); setVisible(false); + varcs = null; + varbits = null; } } From e508d2f883fd242bf96fc89ac193025f3564c96e Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 29 Jun 2020 10:27:06 -0400 Subject: [PATCH 018/189] api: add VarbitComposition, config index, and index fileids (cherry picked from commit 62bbf35baf6061fcb1736c470208507d1d09b800) --- .../main/java/net/runelite/api/Client.java | 15 ++++++ .../java/net/runelite/api/IndexDataBase.java | 7 +++ .../net/runelite/api/VarbitComposition.java | 49 +++++++++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 runelite-api/src/main/java/net/runelite/api/VarbitComposition.java 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 6efbd4f892..0fc76067ce 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -407,6 +407,11 @@ public interface Client extends GameShell */ IndexDataBase getIndexScripts(); + /** + * Gets the config index. + */ + IndexDataBase getIndexConfig(); + /** * Returns the x-axis base coordinate. *

@@ -769,6 +774,16 @@ public interface Client extends GameShell */ void setVarbit(Varbits varbit, int value); + /** + * Gets the varbit composition for a given varbit id + * + * @param id + * @return + */ + @VisibleForDevtools + @Nullable + VarbitComposition getVarbit(int id); + /** * Gets the value of a given variable. * diff --git a/runelite-api/src/main/java/net/runelite/api/IndexDataBase.java b/runelite-api/src/main/java/net/runelite/api/IndexDataBase.java index 58fb7d498a..bb96b6801d 100644 --- a/runelite-api/src/main/java/net/runelite/api/IndexDataBase.java +++ b/runelite-api/src/main/java/net/runelite/api/IndexDataBase.java @@ -9,4 +9,11 @@ public interface IndexDataBase * Returns true if any cache overlay in this index is outdated due to hash mismatch */ boolean isOverlayOutdated(); + + /** + * Get the child file ids for a given archive + * @param archiveId + * @return + */ + int[] getFileIds(int archiveId); } diff --git a/runelite-api/src/main/java/net/runelite/api/VarbitComposition.java b/runelite-api/src/main/java/net/runelite/api/VarbitComposition.java new file mode 100644 index 0000000000..1e46fd4d76 --- /dev/null +++ b/runelite-api/src/main/java/net/runelite/api/VarbitComposition.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2020, Adam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.api; + +public interface VarbitComposition +{ + /** + * The varp index for this varbit + * + * @return + */ + int getIndex(); + + /** + * The least significant bit of the varbit + * + * @return + */ + int getLeastSignificantBit(); + + /** + * The most significant bit of the varbit (inclusive) + * + * @return + */ + int getMostSignificantBit(); +} From 74dd4e71e85332b7c92e05ba591f3211d0b4d2d7 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 29 Jun 2020 10:27:51 -0400 Subject: [PATCH 019/189] Change api for dev tools var inspector --- .../main/java/net/runelite/api/Client.java | 20 +++---- .../java/net/runelite/api/IndexDataBase.java | 6 +- ...Composition.java => VarbitDefinition.java} | 10 +--- .../java/net/runelite/mixins/VarbitMixin.java | 56 +++++++++++-------- .../runelite/rs/api/RSAbstractArchive.java | 5 +- .../java/net/runelite/rs/api/RSClient.java | 7 +++ .../runelite/rs/api/RSVarbitDefinition.java | 6 +- 7 files changed, 59 insertions(+), 51 deletions(-) rename runelite-api/src/main/java/net/runelite/api/{VarbitComposition.java => VarbitDefinition.java} (95%) 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 0fc76067ce..ab21709a62 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -407,6 +407,11 @@ public interface Client extends GameShell */ IndexDataBase getIndexScripts(); + /** + * Gets the config archive, containing Varplayer and Varbit definitions + */ + IndexDataBase getConfigArchive(); + /** * Gets the config index. */ @@ -774,16 +779,6 @@ public interface Client extends GameShell */ void setVarbit(Varbits varbit, int value); - /** - * Gets the varbit composition for a given varbit id - * - * @param id - * @return - */ - @VisibleForDevtools - @Nullable - VarbitComposition getVarbit(int id); - /** * Gets the value of a given variable. * @@ -825,9 +820,10 @@ public interface Client extends GameShell void setVarbitValue(int[] varps, int varbit, int value); /** - * @return the total number of VarbitDefinition + * Gets the varbit composition for a given varbit id */ - int getVarbitCount(); + @Nullable + VarbitDefinition getVarbitDefinition(int id); /** * Gets the widget flags table. diff --git a/runelite-api/src/main/java/net/runelite/api/IndexDataBase.java b/runelite-api/src/main/java/net/runelite/api/IndexDataBase.java index bb96b6801d..4aea415d86 100644 --- a/runelite-api/src/main/java/net/runelite/api/IndexDataBase.java +++ b/runelite-api/src/main/java/net/runelite/api/IndexDataBase.java @@ -11,9 +11,7 @@ public interface IndexDataBase boolean isOverlayOutdated(); /** - * Get the child file ids for a given archive - * @param archiveId - * @return + * Get the child file ids for a given group */ - int[] getFileIds(int archiveId); + int[] getFileIds(int group); } diff --git a/runelite-api/src/main/java/net/runelite/api/VarbitComposition.java b/runelite-api/src/main/java/net/runelite/api/VarbitDefinition.java similarity index 95% rename from runelite-api/src/main/java/net/runelite/api/VarbitComposition.java rename to runelite-api/src/main/java/net/runelite/api/VarbitDefinition.java index 1e46fd4d76..b0fbf7266b 100644 --- a/runelite-api/src/main/java/net/runelite/api/VarbitComposition.java +++ b/runelite-api/src/main/java/net/runelite/api/VarbitDefinition.java @@ -24,26 +24,20 @@ */ package net.runelite.api; -public interface VarbitComposition +public interface VarbitDefinition { /** * The varp index for this varbit - * - * @return */ int getIndex(); /** * The least significant bit of the varbit - * - * @return */ int getLeastSignificantBit(); /** * The most significant bit of the varbit (inclusive) - * - * @return */ int getMostSignificantBit(); -} +} \ No newline at end of file diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/VarbitMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/VarbitMixin.java index ab0998a537..30932ffa1e 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/VarbitMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/VarbitMixin.java @@ -10,7 +10,6 @@ import net.runelite.api.mixins.Inject; import net.runelite.api.mixins.Mixin; import net.runelite.api.mixins.Shadow; import net.runelite.rs.api.RSClient; -import net.runelite.rs.api.RSEvictingDualNodeHashTable; import net.runelite.rs.api.RSVarbitDefinition; @Mixin(RSClient.class) @@ -54,25 +53,44 @@ public abstract class VarbitMixin implements RSClient setVarbitValue(getVarps(), varbitId, value); } + @Inject + @Override + public RSVarbitDefinition getVarbitDefinition(int id) + { + assert isClientThread(); + + RSVarbitDefinition varbit; + varbit = varbitCache.getIfPresent(id); + if (varbit != null) + { + return varbit; + } + varbit = (RSVarbitDefinition) getVarbitCache().get(id); + if (varbit != null && !(varbit.getIndex() == 0 && varbit.getMostSignificantBit() == 0 && varbit.getLeastSignificantBit() == 0)) + { + return varbit; + } + + byte[] fileData = getConfigArchive().getConfigData(VARBITS_GROUP, id); + if (fileData == null) + { + return null; + } + varbit = newVarbitDefinition(); + varbit.decode(newBuffer(fileData)); + return varbit; + } + @Inject @Override public int getVarbitValue(int[] varps, int varbitId) { assert client.isClientThread(); - RSVarbitDefinition v = varbitCache.getIfPresent(varbitId); + RSVarbitDefinition v = getVarbitDefinition(varbitId); if (v == null) { - client.getVarbit(varbitId); // load varbit into cache - RSEvictingDualNodeHashTable varbits = client.getVarbitCache(); - v = (RSVarbitDefinition) varbits.get(varbitId); // get from cache - varbitCache.put(varbitId, v); - } - - if (v.getIndex() == 0 && v.getLeastSignificantBit() == 0 && v.getMostSignificantBit() == 0) - { - getLogger().debug("Varbit {} doesn't exist!", varbitId); - return 0; + throw new IndexOutOfBoundsException(String.format("Varbit %d does not exist!", varbitId)); // oob for "backwards compatibility lol" } int value = varps[v.getIndex()]; @@ -86,13 +104,10 @@ public abstract class VarbitMixin implements RSClient @Override public void setVarbitValue(int[] varps, int varbitId, int value) { - RSVarbitDefinition v = varbitCache.getIfPresent(varbitId); + RSVarbitDefinition v = getVarbitDefinition(varbitId); if (v == null) { - client.getVarbit(varbitId); // load varbit into cache - RSEvictingDualNodeHashTable varbits = client.getVarbitCache(); - v = (RSVarbitDefinition) varbits.get(varbitId); // get from cache - varbitCache.put(varbitId, v); + throw new IndexOutOfBoundsException(String.format("Varbit %d does not exist!", varbitId)); // oob for "backwards compatibility lol" } int lsb = v.getLeastSignificantBit(); @@ -155,11 +170,4 @@ public abstract class VarbitMixin implements RSClient { return getVarcs().getVarcMap(); } - - @Inject - @Override - public int getVarbitCount() - { - return getConfigArchive().getGroupFileCount(VARBITS_GROUP); - } } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSAbstractArchive.java b/runescape-api/src/main/java/net/runelite/rs/api/RSAbstractArchive.java index 653bd83962..fe3f6c7003 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSAbstractArchive.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSAbstractArchive.java @@ -8,6 +8,7 @@ public interface RSAbstractArchive extends IndexDataBase @Import("takeFile") byte[] getConfigData(int archiveId, int fileId); - @Import("getGroupFileCount") - int getGroupFileCount(int group); + @Import("getGroupFileIds") + @Override + int[] getFileIds(int group); } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java index 597b93e4f1..8a74bb104f 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java @@ -458,6 +458,7 @@ public interface RSClient extends RSGameShell, Client void setIndexedSpritePalette(int[] indexedSpritePalette); @Import("archive2") + @Override RSArchive getConfigArchive(); @Import("archive6") @@ -1275,4 +1276,10 @@ public interface RSClient extends RSGameShell, Client @Import("rightTitleSprite") void setRightTitleSprite(Sprite background); + + @Construct + RSBuffer newBuffer(byte[] bytes); + + @Construct + RSVarbitDefinition newVarbitDefinition(); } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSVarbitDefinition.java b/runescape-api/src/main/java/net/runelite/rs/api/RSVarbitDefinition.java index 947106c183..4e6850e27d 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSVarbitDefinition.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSVarbitDefinition.java @@ -1,8 +1,9 @@ package net.runelite.rs.api; +import net.runelite.api.VarbitDefinition; import net.runelite.mapping.Import; -public interface RSVarbitDefinition extends RSDualNode +public interface RSVarbitDefinition extends VarbitDefinition, RSDualNode { @Import("baseVar") int getIndex(); @@ -12,4 +13,7 @@ public interface RSVarbitDefinition extends RSDualNode @Import("endBit") int getMostSignificantBit(); + + @Import("decode") + void decode(RSBuffer buffer); } From f21367d30cae350e0ba7e564ab48c3c733803b45 Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Tue, 30 Jun 2020 20:06:45 +0200 Subject: [PATCH 020/189] Stop pf4j spam --- runelite-client/src/main/resources/logback.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/resources/logback.xml b/runelite-client/src/main/resources/logback.xml index 87ea8ef5a9..1d5dfa9355 100644 --- a/runelite-client/src/main/resources/logback.xml +++ b/runelite-client/src/main/resources/logback.xml @@ -68,6 +68,6 @@ - + \ No newline at end of file From 05fcf73745c7f4c232f021455e33a0860171e042 Mon Sep 17 00:00:00 2001 From: OpenOSRS Date: Wed, 1 Jul 2020 00:03:28 +0000 Subject: [PATCH 021/189] project: Update gradle wrapper --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 186b71557c..ac33e9944a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From ceb7c5ff9f5d5a30b01d30250f22af1b63c431bb Mon Sep 17 00:00:00 2001 From: OpenOSRS Date: Wed, 1 Jul 2020 00:03:41 +0000 Subject: [PATCH 022/189] project: Update gradle dependencies --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index d883b23595..ada7c143c8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -40,7 +40,7 @@ buildscript { } plugins { - id("com.adarshr.test-logger") version "2.0.0" apply false + id("com.adarshr.test-logger") version "2.1.0" apply false id("com.github.ben-manes.versions") version "0.28.0" id("se.patrikerdes.use-latest-versions") version "0.2.14" id("org.ajoberstar.grgit") version "4.0.2" From b0d8092d7deb386e9080577a97db4906ba065fa9 Mon Sep 17 00:00:00 2001 From: Joe Zeffiro Date: Mon, 29 Jun 2020 08:12:12 -0700 Subject: [PATCH 023/189] npc indicators: add (un)tag-all option This modifies the tagged npc list allowing all npcs of a certain name to be tagged Co-authored-by: Adam --- .../npchighlight/NpcIndicatorsConfig.java | 7 ++ .../npchighlight/NpcIndicatorsPlugin.java | 88 +++++++++++++++---- 2 files changed, 80 insertions(+), 15 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsConfig.java index 3511f7c2f9..739ad7b59f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsConfig.java @@ -87,6 +87,13 @@ public interface NpcIndicatorsConfig extends Config return ""; } + @ConfigItem( + keyName = "npcToHighlight", + name = "", + description = "" + ) + void setNpcToHighlight(String npcsToHighlight); + @ConfigItem( position = 4, keyName = "npcColor", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java index 107bb58cbd..780375dcdf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java @@ -85,6 +85,9 @@ public class NpcIndicatorsPlugin extends Plugin private static final String TAG = "Tag"; private static final String UNTAG = "Un-tag"; + private static final String TAG_ALL = "Tag-All"; + private static final String UNTAG_ALL = "Un-tag-All"; + private static final Set NPC_MENU_ACTIONS = ImmutableSet.of(MenuAction.NPC_FIRST_OPTION, MenuAction.NPC_SECOND_OPTION, MenuAction.NPC_THIRD_OPTION, MenuAction.NPC_FOURTH_OPTION, MenuAction.NPC_FIFTH_OPTION, MenuAction.SPELL_CAST_ON_NPC, MenuAction.ITEM_USE_ON_NPC); @@ -270,16 +273,48 @@ public class NpcIndicatorsPlugin extends Plugin } else if (menuAction == MenuAction.EXAMINE_NPC && client.isKeyPressed(KeyCode.KC_SHIFT)) { - // Add tag option + // Add tag and tag-all options + final int id = event.getIdentifier(); + final NPC[] cachedNPCs = client.getCachedNPCs(); + final NPC npc = cachedNPCs[id]; + + if (npc == null || npc.getName() == null) + { + return; + } + + final String npcName = npc.getName(); + boolean matchesList = highlights.stream() + .filter(highlight -> !highlight.equalsIgnoreCase(npcName)) + .anyMatch(highlight -> WildcardMatcher.matches(highlight, npcName)); + MenuEntry[] menuEntries = client.getMenuEntries(); - menuEntries = Arrays.copyOf(menuEntries, menuEntries.length + 1); + + // Only add Untag-All option to npcs not highlighted by a wildcard entry, because untag-all will not remove wildcards + if (!matchesList) + { + menuEntries = Arrays.copyOf(menuEntries, menuEntries.length + 2); + final MenuEntry tagAllEntry = menuEntries[menuEntries.length - 2] = new MenuEntry(); + tagAllEntry.setOption(highlights.stream().anyMatch(npcName::equalsIgnoreCase) ? UNTAG_ALL : TAG_ALL); + tagAllEntry.setTarget(event.getTarget()); + tagAllEntry.setParam0(event.getActionParam0()); + tagAllEntry.setParam1(event.getActionParam1()); + tagAllEntry.setIdentifier(event.getIdentifier()); + tagAllEntry.setType(MenuAction.RUNELITE.getId()); + } + else + { + menuEntries = Arrays.copyOf(menuEntries, menuEntries.length + 1); + } + final MenuEntry tagEntry = menuEntries[menuEntries.length - 1] = new MenuEntry(); - tagEntry.setOption(highlightedNpcs.stream().anyMatch(npc -> npc.getIndex() == event.getIdentifier()) ? UNTAG : TAG); + tagEntry.setOption(highlightedNpcs.contains(npc) ? UNTAG : TAG); tagEntry.setTarget(event.getTarget()); tagEntry.setParam0(event.getActionParam0()); tagEntry.setParam1(event.getActionParam1()); tagEntry.setIdentifier(event.getIdentifier()); tagEntry.setType(MenuAction.RUNELITE.getId()); + client.setMenuEntries(menuEntries); } } @@ -288,13 +323,13 @@ public class NpcIndicatorsPlugin extends Plugin public void onMenuOptionClicked(MenuOptionClicked click) { if (click.getMenuAction() != MenuAction.RUNELITE || - !(click.getMenuOption().equals(TAG) || click.getMenuOption().equals(UNTAG))) + !(click.getMenuOption().equals(TAG) || click.getMenuOption().equals(UNTAG) || + click.getMenuOption().equals(TAG_ALL) || click.getMenuOption().equals(UNTAG_ALL))) { return; } final int id = click.getId(); - final boolean removed = npcTags.remove(id); final NPC[] cachedNPCs = client.getCachedNPCs(); final NPC npc = cachedNPCs[id]; @@ -303,19 +338,29 @@ public class NpcIndicatorsPlugin extends Plugin return; } - if (removed) + if (click.getMenuOption().equals(TAG) || click.getMenuOption().equals(UNTAG)) { - highlightedNpcs.remove(npc); - memorizedNpcs.remove(npc.getIndex()); + final boolean removed = npcTags.remove(id); + + if (removed) + { + highlightedNpcs.remove(npc); + memorizedNpcs.remove(npc.getIndex()); + } + else + { + if (!client.isInInstancedRegion()) + { + memorizeNpc(npc); + npcTags.add(id); + } + highlightedNpcs.add(npc); + } } else { - if (!client.isInInstancedRegion()) - { - memorizeNpc(npc); - npcTags.add(id); - } - highlightedNpcs.add(npc); + final String name = npc.getName(); + updateNpcsToHighlight(name); } click.consume(); @@ -388,6 +433,19 @@ public class NpcIndicatorsPlugin extends Plugin lastPlayerLocation = client.getLocalPlayer().getWorldLocation(); } + private void updateNpcsToHighlight(String npc) + { + final List highlightedNpcs = new ArrayList<>(highlights); + + if (!highlightedNpcs.removeIf(npc::equalsIgnoreCase)) + { + highlightedNpcs.add(npc); + } + + // this triggers the config change event and rebuilds npcs + config.setNpcToHighlight(Text.toCSV(highlightedNpcs)); + } + private static boolean isInViewRange(WorldPoint wp1, WorldPoint wp2) { int distance = wp1.distanceTo(wp2); @@ -449,7 +507,7 @@ public class NpcIndicatorsPlugin extends Plugin @VisibleForTesting List getHighlights() { - final String configNpcs = config.getNpcToHighlight().toLowerCase(); + final String configNpcs = config.getNpcToHighlight(); if (configNpcs.isEmpty()) { From ac30c8dc3f1d5d4de152bf2e61e6f953d3fb6265 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 1 Jul 2020 11:32:46 -0400 Subject: [PATCH 024/189] npc indicators: fix tag/untag option name selection logic When pressed tag/untag will first check if the npc id is tagged via npcTags, so the menu option should be based off of that, and not whether or not the npc is highlighted generally --- .../client/plugins/npchighlight/NpcIndicatorsPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java index 780375dcdf..0990ff39a7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java @@ -308,7 +308,7 @@ public class NpcIndicatorsPlugin extends Plugin } final MenuEntry tagEntry = menuEntries[menuEntries.length - 1] = new MenuEntry(); - tagEntry.setOption(highlightedNpcs.contains(npc) ? UNTAG : TAG); + tagEntry.setOption(npcTags.contains(npc.getIndex()) ? UNTAG : TAG); tagEntry.setTarget(event.getTarget()); tagEntry.setParam0(event.getActionParam0()); tagEntry.setParam1(event.getActionParam1()); From 8f320cb9edc815a5c606d1c2b4060cefe8b69d83 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 1 Jul 2020 14:26:52 -0400 Subject: [PATCH 025/189] api: add ActorDeath event, remove PlayerDeath --- .../api/events/{PlayerDeath.java => ActorDeath.java} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename runelite-api/src/main/java/net/runelite/api/events/{PlayerDeath.java => ActorDeath.java} (92%) diff --git a/runelite-api/src/main/java/net/runelite/api/events/PlayerDeath.java b/runelite-api/src/main/java/net/runelite/api/events/ActorDeath.java similarity index 92% rename from runelite-api/src/main/java/net/runelite/api/events/PlayerDeath.java rename to runelite-api/src/main/java/net/runelite/api/events/ActorDeath.java index 0b048818c8..e721be6eab 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/PlayerDeath.java +++ b/runelite-api/src/main/java/net/runelite/api/events/ActorDeath.java @@ -25,13 +25,13 @@ package net.runelite.api.events; import lombok.Value; -import net.runelite.api.Player; +import net.runelite.api.Actor; /** - * An event fired when a player dies. + * An event fired when an actor dies. */ @Value -public class PlayerDeath +public class ActorDeath { - private final Player player; + private final Actor actor; } From 6dc6e78f51473c9372306d5995541d1c39a9a6c4 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 1 Jul 2020 14:27:57 -0400 Subject: [PATCH 026/189] plugins: update to use ActorDeath --- .../plugins/screenshot/ScreenshotPlugin.java | 25 +++++++++++-------- .../client/plugins/timers/TimersPlugin.java | 6 ++--- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java index 8ce1ec7839..7d0c3d18a2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java @@ -43,15 +43,17 @@ import javax.swing.SwingUtilities; import lombok.AccessLevel; import lombok.Getter; import lombok.extern.slf4j.Slf4j; +import net.runelite.api.Actor; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.Player; import net.runelite.api.Point; import net.runelite.api.SpriteID; +import net.runelite.api.events.ActorDeath; import net.runelite.api.events.ChatMessage; import net.runelite.api.events.GameTick; -import net.runelite.api.events.PlayerDeath; +import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.events.WidgetLoaded; import net.runelite.api.widgets.Widget; import static net.runelite.api.widgets.WidgetID.BARROWS_REWARD_GROUP_ID; @@ -63,7 +65,6 @@ import static net.runelite.api.widgets.WidgetID.LEVEL_UP_GROUP_ID; import static net.runelite.api.widgets.WidgetID.QUEST_COMPLETED_GROUP_ID; import static net.runelite.api.widgets.WidgetID.THEATRE_OF_BLOOD_REWARD_GROUP_ID; import net.runelite.api.widgets.WidgetInfo; -import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.client.Notifier; import static net.runelite.client.RuneLite.SCREENSHOT_DIR; import net.runelite.client.config.ConfigManager; @@ -254,16 +255,20 @@ public class ScreenshotPlugin extends Plugin } @Subscribe - public void onPlayerDeath(PlayerDeath playerDeath) + public void onActorDeath(ActorDeath actorDeath) { - Player player = playerDeath.getPlayer(); - if (player == client.getLocalPlayer() && config.screenshotPlayerDeath()) + Actor actor = actorDeath.getActor(); + if (actor instanceof Player) { - takeScreenshot("Death", "Deaths"); - } - else if (player != client.getLocalPlayer() && (player.isFriendsChatMember() || player.isFriend()) && config.screenshotFriendDeath() && player.getCanvasTilePoly() != null) - { - takeScreenshot("Death " + player.getName(), "Deaths"); + Player player = (Player) actor; + if (player == client.getLocalPlayer() && config.screenshotPlayerDeath()) + { + takeScreenshot("Death", "Deaths"); + } + else if (player != client.getLocalPlayer() && (player.isFriendsChatMember() || player.isFriend()) && config.screenshotFriendDeath() && player.getCanvasTilePoly() != null) + { + takeScreenshot("Death " + player.getName(), "Deaths"); + } } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java index 24f9d5297c..fe2b8a6184 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java @@ -50,6 +50,7 @@ import net.runelite.api.VarPlayer; import net.runelite.api.Varbits; import net.runelite.api.WorldType; import net.runelite.api.coords.WorldPoint; +import net.runelite.api.events.ActorDeath; import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.ChatMessage; import net.runelite.api.events.GameStateChanged; @@ -58,7 +59,6 @@ import net.runelite.api.events.GraphicChanged; import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.NpcDespawned; -import net.runelite.api.events.PlayerDeath; import net.runelite.api.events.VarbitChanged; import net.runelite.api.events.WidgetHiddenChanged; import net.runelite.api.widgets.Widget; @@ -876,9 +876,9 @@ public class TimersPlugin extends Plugin } @Subscribe - public void onPlayerDeath(PlayerDeath playerDeath) + public void onActorDeath(ActorDeath actorDeath) { - if (playerDeath.getPlayer() == client.getLocalPlayer()) + if (actorDeath.getActor() == client.getLocalPlayer()) { infoBoxManager.removeIf(t -> t instanceof TimerTimer && ((TimerTimer) t).getTimer().isRemovedOnDeath()); } From 67030e38a44f355a0131cff5250ed45c7b01dc53 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 1 Jul 2020 14:30:03 -0400 Subject: [PATCH 027/189] slayer plugin: better support multikills This observes deaths of tagged npcs each tick and will use those if available instead of assuming one kill per xpdrop --- .../client/plugins/slayer/SlayerPlugin.java | 77 +++++++++++++++---- .../plugins/slayer/SlayerPluginTest.java | 71 ++++++++++++++++- 2 files changed, 132 insertions(+), 16 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java index 6b8ade7b65..4148822fc6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java @@ -30,11 +30,14 @@ import com.google.inject.Provides; import java.awt.Color; import java.awt.image.BufferedImage; import java.io.IOException; +import static java.lang.Integer.max; import java.time.Duration; import java.time.Instant; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashSet; import java.util.List; +import java.util.Set; import java.util.concurrent.ScheduledExecutorService; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -44,18 +47,22 @@ import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; +import net.runelite.api.Actor; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.GameState; +import net.runelite.api.Hitsplat; import net.runelite.api.ItemID; import net.runelite.api.MessageNode; import net.runelite.api.NPC; import net.runelite.api.NPCComposition; import static net.runelite.api.Skill.SLAYER; import net.runelite.api.coords.WorldPoint; +import net.runelite.api.events.ActorDeath; import net.runelite.api.events.ChatMessage; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; +import net.runelite.api.events.HitsplatApplied; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.NpcSpawned; import net.runelite.api.events.StatChanged; @@ -174,6 +181,10 @@ public class SlayerPlugin extends Plugin @Getter(AccessLevel.PACKAGE) private List highlightedTargets = new ArrayList<>(); + private final Set taggedNpcs = new HashSet<>(); + private int taggedNpcsDiedPrevTick; + private int taggedNpcsDiedThisTick; + @Getter(AccessLevel.PACKAGE) @Setter(AccessLevel.PACKAGE) private int amount; @@ -237,6 +248,7 @@ public class SlayerPlugin extends Plugin overlayManager.remove(targetMinimapOverlay); removeCounter(); highlightedTargets.clear(); + taggedNpcs.clear(); cachedXp = -1; chatCommandManager.unregisterCommand(TASK_COMMAND_STRING); @@ -260,6 +272,7 @@ public class SlayerPlugin extends Plugin amount = 0; loginFlag = true; highlightedTargets.clear(); + taggedNpcs.clear(); break; case LOGGED_IN: if (config.amount() != -1 @@ -299,6 +312,7 @@ public class SlayerPlugin extends Plugin public void onNpcDespawned(NpcDespawned npcDespawned) { NPC npc = npcDespawned.getNpc(); + taggedNpcs.remove(npc); highlightedTargets.remove(npc); } @@ -391,6 +405,9 @@ public class SlayerPlugin extends Plugin removeCounter(); } } + + taggedNpcsDiedPrevTick = taggedNpcsDiedThisTick; + taggedNpcsDiedThisTick = 0; } @Subscribe @@ -541,20 +558,49 @@ public class SlayerPlugin extends Plugin return; } - final Task task = Task.getTask(taskName); - - // null tasks are technically valid, it only means they arent explicitly defined in the Task enum - // allow them through so that if there is a task capture failure the counter will still work - final int taskKillExp = task != null ? task.getExpectedKillExp() : 0; - - // Only count exp gain as a kill if the task either has no expected exp for a kill, or if the exp gain is equal - // to the expected exp gain for the task. - if (taskKillExp == 0 || taskKillExp == slayerExp - cachedXp) - { - killedOne(); - } - + final int delta = slayerExp - cachedXp; cachedXp = slayerExp; + + log.debug("Slayer xp change delta: {}, killed npcs: {}", delta, taggedNpcsDiedPrevTick); + + final Task task = Task.getTask(taskName); + if (task != null && task.getExpectedKillExp() > 0) + { + // Only decrement a kill if the xp drop matches the expected drop. This is just for Tzhaar tasks. + if (task.getExpectedKillExp() == delta) + { + killed(1); + } + } + else + { + // This is at least one kill, but if we observe multiple tagged NPCs dieing on the previous tick, count them + // instead. + killed(max(taggedNpcsDiedPrevTick, 1)); + } + } + + @Subscribe + public void onHitsplatApplied(HitsplatApplied hitsplatApplied) + { + Actor actor = hitsplatApplied.getActor(); + Hitsplat hitsplat = hitsplatApplied.getHitsplat(); + if (hitsplat.getHitsplatType() == Hitsplat.HitsplatType.DAMAGE_ME && highlightedTargets.contains(actor)) + { + // If the actor is in highlightedTargets it must be an NPC and also a task assignment + taggedNpcs.add((NPC) actor); + } + } + + @Subscribe + public void onActorDeath(ActorDeath actorDeath) + { + Actor actor = actorDeath.getActor(); + if (taggedNpcs.contains(actor)) + { + log.debug("Tagged NPC {} has died", actor.getName()); + ++taggedNpcsDiedThisTick; + } } @Subscribe @@ -576,16 +622,17 @@ public class SlayerPlugin extends Plugin } @VisibleForTesting - void killedOne() + void killed(int amt) { if (amount == 0) { return; } - amount--; + amount -= amt; if (doubleTroubleExtraKill()) { + assert amt == 1; amount--; } diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java index 1c0bbb67f9..4cd9bec315 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java @@ -28,19 +28,25 @@ import com.google.inject.Guice; import com.google.inject.testing.fieldbinder.Bind; import com.google.inject.testing.fieldbinder.BoundFieldModule; import java.io.IOException; +import java.util.Arrays; import java.util.concurrent.ScheduledExecutorService; import javax.inject.Inject; import net.runelite.api.ChatMessageType; import static net.runelite.api.ChatMessageType.GAMEMESSAGE; import net.runelite.api.Client; import net.runelite.api.GameState; +import net.runelite.api.Hitsplat; import net.runelite.api.MessageNode; +import net.runelite.api.NPC; +import net.runelite.api.NPCComposition; import net.runelite.api.Player; import net.runelite.api.Skill; import net.runelite.api.coords.LocalPoint; +import net.runelite.api.events.ActorDeath; import net.runelite.api.events.ChatMessage; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; +import net.runelite.api.events.HitsplatApplied; import net.runelite.api.events.StatChanged; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; @@ -771,7 +777,7 @@ public class SlayerPluginTest slayerPlugin.onChatMessage(chatMessage); assertEquals("Suqahs", slayerPlugin.getTaskName()); - slayerPlugin.killedOne(); + slayerPlugin.killed(1); assertEquals(30, slayerPlugin.getAmount()); } @@ -863,4 +869,67 @@ public class SlayerPluginTest verify(infoBoxManager, never()).addInfoBox(any()); } + + @Test + public void testMultikill() + { + final Player player = mock(Player.class); + when(player.getLocalLocation()).thenReturn(new LocalPoint(0, 0)); + when(client.getLocalPlayer()).thenReturn(player); + + // Setup xp cache + StatChanged statChanged = new StatChanged( + Skill.SLAYER, + 0, + 1, + 1 + ); + slayerPlugin.onStatChanged(statChanged); + + NPCComposition npcComposition = mock(NPCComposition.class); + when(npcComposition.getActions()).thenReturn(new String[]{"Attack"}); + + NPC npc1 = mock(NPC.class); + when(npc1.getName()).thenReturn("Suqah"); + when(npc1.getTransformedComposition()).thenReturn(npcComposition); + + NPC npc2 = mock(NPC.class); + when(npc2.getName()).thenReturn("Suqah"); + when(npc2.getTransformedComposition()).thenReturn(npcComposition); + + when(client.getNpcs()).thenReturn(Arrays.asList(npc1, npc2)); + + // Set task + Widget npcDialog = mock(Widget.class); + when(npcDialog.getText()).thenReturn(TASK_NEW); + when(client.getWidget(WidgetInfo.DIALOG_NPC_TEXT)).thenReturn(npcDialog); + slayerPlugin.onGameTick(new GameTick()); + + // Damage both npcs + Hitsplat hitsplat = new Hitsplat(Hitsplat.HitsplatType.DAMAGE_ME, 1, 1); + HitsplatApplied hitsplatApplied = new HitsplatApplied(); + hitsplatApplied.setHitsplat(hitsplat); + hitsplatApplied.setActor(npc1); + slayerPlugin.onHitsplatApplied(hitsplatApplied); + + hitsplatApplied.setActor(npc2); + slayerPlugin.onHitsplatApplied(hitsplatApplied); + + // Kill both npcs + slayerPlugin.onActorDeath(new ActorDeath(npc1)); + slayerPlugin.onActorDeath(new ActorDeath(npc2)); + + slayerPlugin.onGameTick(new GameTick()); + + statChanged = new StatChanged( + Skill.SLAYER, + 105, + 2, + 2 + ); + slayerPlugin.onStatChanged(statChanged); + + assertEquals("Suqahs", slayerPlugin.getTaskName()); + assertEquals(229, slayerPlugin.getAmount()); // 2 kills + } } From 83607f1335ef2d3d658606a5073561fc4e49a4e4 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 1 Jul 2020 19:18:30 -0400 Subject: [PATCH 028/189] infobox manager: keep infoboxes in order of insertion Collections.binarySearch() does not guarantee which element is found if there are multiple that compare equal, leaving the order of infoboxes not necessarily in insertion order. This was an unintended side effect of ba9ffb1d600d314100a128db503d10b97a6cbef5 and 406c2bc7dbb8b9db70e8e525fb51aad5f3f56e0d. --- .../ui/overlay/infobox/InfoBoxManager.java | 39 ++++++++++++++++++- .../overlay/infobox/InfoBoxManagerTest.java | 3 ++ 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java index 766b34c57c..efda12a992 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxManager.java @@ -29,6 +29,7 @@ import com.google.common.collect.ComparisonChain; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.util.Collections; +import java.util.Comparator; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Predicate; @@ -71,12 +72,12 @@ public class InfoBoxManager synchronized (this) { - int idx = Collections.binarySearch(infoBoxes, infoBox, (b1, b2) -> ComparisonChain + int idx = findInsertionIndex(infoBoxes, infoBox, (b1, b2) -> ComparisonChain .start() .compare(b1.getPriority(), b2.getPriority()) .compare(b1.getPlugin().getName(), b2.getPlugin().getName()) .result()); - infoBoxes.add(idx < 0 ? -idx - 1 : idx, infoBox); + infoBoxes.add(idx, infoBox); } BufferedImage image = infoBox.getImage(); @@ -150,4 +151,38 @@ public class InfoBoxManager infoBox.setScaledImage(resultImage); } + + /** + * Find insertion point for the given key into the given sorted list. If key already exists in the list, + * return the index after the last occurrence. + * @param list + * @param key + * @param c + * @param + * @return + */ + private static int findInsertionIndex(List list, T key, Comparator c) + { + int idx = Collections.binarySearch(list, key, c); + + if (idx < 0) + { + // key isn't found in the list + return -idx - 1; + } + + // list(idx) is equal to key, so it is not necessary to recheck it + for (int i = idx + 1; i < list.size(); ++i) + { + T cur = list.get(i); + int cmp = c.compare(cur, key); + if (cmp > 0) + { + // this is the first element which is greater + return i; + } + } + + return list.size(); + } } diff --git a/runelite-client/src/test/java/net/runelite/client/ui/overlay/infobox/InfoBoxManagerTest.java b/runelite-client/src/test/java/net/runelite/client/ui/overlay/infobox/InfoBoxManagerTest.java index e0ce1e6a6e..49c9c2c484 100644 --- a/runelite-client/src/test/java/net/runelite/client/ui/overlay/infobox/InfoBoxManagerTest.java +++ b/runelite-client/src/test/java/net/runelite/client/ui/overlay/infobox/InfoBoxManagerTest.java @@ -114,5 +114,8 @@ public class InfoBoxManagerTest infoBoxManager.addInfoBox(new TestInfobox(InfoBoxPriority.MED, "three")); assertEquals(3, infoBoxManager.getInfoBoxes().size()); + assertEquals("one", infoBoxManager.getInfoBoxes().get(0).getText()); + assertEquals("two", infoBoxManager.getInfoBoxes().get(1).getText()); + assertEquals("three", infoBoxManager.getInfoBoxes().get(2).getText()); } } \ No newline at end of file From c5f8b88146ac5ef4c191a87c2d57f5e65a41d9d9 Mon Sep 17 00:00:00 2001 From: Trevor Date: Wed, 1 Jul 2020 18:24:35 -0400 Subject: [PATCH 029/189] cache: add default values to HealthBarDefinition --- .../cache/definitions/HealthBarDefinition.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/cache/src/main/java/net/runelite/cache/definitions/HealthBarDefinition.java b/cache/src/main/java/net/runelite/cache/definitions/HealthBarDefinition.java index 970d9e8745..3d37861ecf 100644 --- a/cache/src/main/java/net/runelite/cache/definitions/HealthBarDefinition.java +++ b/cache/src/main/java/net/runelite/cache/definitions/HealthBarDefinition.java @@ -31,13 +31,13 @@ public class HealthBarDefinition { public int id; public int field3276; - public int field3277; - public int field3278; - public int field3283; - public int field3272; - public int field3275; - public int healthBarFrontSpriteId; - public int healthBarBackSpriteId; - public int healthScale; - public int healthBarPadding; + public int field3277 = 255; + public int field3278 = 255; + public int field3283 = -1; + public int field3272 = 1; + public int field3275 = 70; + public int healthBarFrontSpriteId = -1; + public int healthBarBackSpriteId = -1; + public int healthScale = 30; + public int healthBarPadding = 0; } From 0fce0f75e297ab5e268a08798a675a60986d82f0 Mon Sep 17 00:00:00 2001 From: Shawn Shadrix Date: Wed, 10 Jun 2020 22:20:16 -0400 Subject: [PATCH 030/189] randomevents: Cleanup and alphabetize code --- .../randomevents/RandomEventConfig.java | 36 +++++++------------ .../randomevents/RandomEventPlugin.java | 22 ++++++------ 2 files changed, 24 insertions(+), 34 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventConfig.java index 5d7fff13e8..14f6673f75 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventConfig.java @@ -44,18 +44,29 @@ public interface RandomEventConfig extends Config keyName = "removeMenuOptions", name = "Remove others' menu options", description = "Remove menu options from random events for other players.", - position = 0 + position = -3 ) default boolean removeMenuOptions() { return true; } + @ConfigItem( + keyName = "notifyAll", + name = "Notify for all events", + description = "", + position = -2, + section = notificationSection + ) + default boolean notifyAllEvents() + { + return false; + } + @ConfigItem( keyName = "notifyDunce", name = "Notify on Surprise Exam", description = "", - position = 1, section = notificationSection ) default boolean notifyDunce() @@ -67,7 +78,6 @@ public interface RandomEventConfig extends Config keyName = "notifyGenie", name = "Notify on Genie", description = "", - position = 2, section = notificationSection ) default boolean notifyGenie() @@ -79,7 +89,6 @@ public interface RandomEventConfig extends Config keyName = "notifyDemon", name = "Notify on Drill Demon", description = "", - position = 3, section = notificationSection ) default boolean notifyDemon() @@ -91,7 +100,6 @@ public interface RandomEventConfig extends Config keyName = "notifyForester", name = "Notify on Freaky Forester", description = "", - position = 4, section = notificationSection ) default boolean notifyForester() @@ -103,7 +111,6 @@ public interface RandomEventConfig extends Config keyName = "notifyFrog", name = "Notify on Kiss the Frog", description = "", - position = 5, section = notificationSection ) default boolean notifyFrog() @@ -115,7 +122,6 @@ public interface RandomEventConfig extends Config keyName = "notifyGravedigger", name = "Notify on Gravedigger", description = "", - position = 6, section = notificationSection ) default boolean notifyGravedigger() @@ -127,7 +133,6 @@ public interface RandomEventConfig extends Config keyName = "notifyMoM", name = "Notify on Mysterious Old Man", description = "", - position = 7, section = notificationSection ) default boolean notifyMoM() @@ -139,7 +144,6 @@ public interface RandomEventConfig extends Config keyName = "notifyBob", name = "Notify on Evil Bob", description = "", - position = 8, section = notificationSection ) default boolean notifyBob() @@ -151,24 +155,10 @@ public interface RandomEventConfig extends Config keyName = "notifyQuiz", name = "Notify on Quiz Master", description = "", - position = 9, section = notificationSection ) default boolean notifyQuiz() { return false; } - - @ConfigItem( - keyName = "notifyAll", - name = "Notify for all events", - description = "", - position = 10, - section = notificationSection - ) - default boolean notifyAllEvents() - { - return false; - } } - diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventPlugin.java index 85aace2e7c..20c9f8fdac 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventPlugin.java @@ -55,28 +55,28 @@ import net.runelite.client.plugins.PluginDescriptor; public class RandomEventPlugin extends Plugin { private static final Set EVENT_NPCS = ImmutableSet.of( - NpcID.DR_JEKYLL, NpcID.DR_JEKYLL_314, NpcID.BEE_KEEPER_6747, NpcID.CAPT_ARNAV, - NpcID.SERGEANT_DAMIEN_6743, + NpcID.DR_JEKYLL, NpcID.DR_JEKYLL_314, NpcID.DRUNKEN_DWARF, - NpcID.FREAKY_FORESTER_6748, - NpcID.GENIE, NpcID.GENIE_327, + NpcID.DUNCE_6749, NpcID.EVIL_BOB, NpcID.EVIL_BOB_6754, - NpcID.POSTIE_PETE_6738, + NpcID.FLIPPA_6744, + NpcID.FREAKY_FORESTER_6748, + NpcID.FROG_5429, + NpcID.GENIE, NpcID.GENIE_327, + NpcID.GILES, NpcID.GILES_5441, NpcID.LEO_6746, + NpcID.MILES, NpcID.MILES_5440, NpcID.MYSTERIOUS_OLD_MAN_6750, NpcID.MYSTERIOUS_OLD_MAN_6751, NpcID.MYSTERIOUS_OLD_MAN_6752, NpcID.MYSTERIOUS_OLD_MAN_6753, + NpcID.NILES, NpcID.NILES_5439, NpcID.PILLORY_GUARD, - NpcID.FLIPPA_6744, + NpcID.POSTIE_PETE_6738, NpcID.QUIZ_MASTER_6755, NpcID.RICK_TURPENTINE, NpcID.RICK_TURPENTINE_376, NpcID.SANDWICH_LADY, - NpcID.DUNCE_6749, - NpcID.NILES, NpcID.NILES_5439, - NpcID.MILES, NpcID.MILES_5440, - NpcID.GILES, NpcID.GILES_5441, - NpcID.FROG_5429 + NpcID.SERGEANT_DAMIEN_6743 ); private static final Set EVENT_OPTIONS = ImmutableSet.of( "Talk-to", From f9ef48584b0373d65702a45189dac2a4643b5b1d Mon Sep 17 00:00:00 2001 From: Shawn Shadrix Date: Wed, 10 Jun 2020 22:23:56 -0400 Subject: [PATCH 031/189] randomevents: Add missing events This commit adds options and handling for the Beekeeper, Sandwich Lady, and Jekyll & Hyde random events. --- .../randomevents/RandomEventConfig.java | 33 +++++++++++++++++++ .../randomevents/RandomEventPlugin.java | 7 ++++ 2 files changed, 40 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventConfig.java index 14f6673f75..537387138f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventConfig.java @@ -161,4 +161,37 @@ public interface RandomEventConfig extends Config { return false; } + + @ConfigItem( + keyName = "notifyJekyll", + name = "Notify on Jekyll & Hyde", + description = "", + section = notificationSection + ) + default boolean notifyJekyll() + { + return false; + } + + @ConfigItem( + keyName = "notifyBeekeeper", + name = "Notify on Beekeeper", + description = "", + section = notificationSection + ) + default boolean notifyBeekeeper() + { + return false; + } + + @ConfigItem( + keyName = "notifySandwich", + name = "Notify on Sandwich Lady", + description = "", + section = notificationSection + ) + default boolean notifySandwich() + { + return false; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventPlugin.java index 20c9f8fdac..2dad55c9bf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventPlugin.java @@ -177,6 +177,8 @@ public class RandomEventPlugin extends Plugin switch (id) { + case NpcID.BEE_KEEPER_6747: + return config.notifyBeekeeper(); case NpcID.SERGEANT_DAMIEN_6743: return config.notifyDemon(); case NpcID.FREAKY_FORESTER_6748: @@ -186,6 +188,9 @@ public class RandomEventPlugin extends Plugin case NpcID.GENIE: case NpcID.GENIE_327: return config.notifyGenie(); + case NpcID.DR_JEKYLL: + case NpcID.DR_JEKYLL_314: + return config.notifyJekyll(); case NpcID.EVIL_BOB: case NpcID.EVIL_BOB_6754: return config.notifyBob(); @@ -200,6 +205,8 @@ public class RandomEventPlugin extends Plugin return config.notifyQuiz(); case NpcID.DUNCE_6749: return config.notifyDunce(); + case NpcID.SANDWICH_LADY: + return config.notifySandwich(); default: return false; } From 6111a4b790bc77e2a343029dd42eec0adbc8be75 Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Thu, 2 Jul 2020 00:36:38 -0400 Subject: [PATCH 032/189] chatnotifications: Only notify on name in player messages (#11874) This commit changes the behavior of notifyOnOwnName so that it only notifies the user when their name is mentioned in a chat message sent by another player to prevent notification spam during PVM and other activities. --- .../chatnotifications/ChatNotificationsConfig.java | 2 +- .../chatnotifications/ChatNotificationsPlugin.java | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsConfig.java index 8ef956df8d..80044fc340 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsConfig.java @@ -58,7 +58,7 @@ public interface ChatNotificationsConfig extends Config position = 2, keyName = "notifyOnOwnName", name = "Notify on own name", - description = "Notifies you whenever your name is mentioned" + description = "Notifies you whenever someone mentions you by name" ) default boolean notifyOnOwnName() { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java index dc663ca462..a412756fa1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java @@ -34,6 +34,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; import javax.inject.Inject; +import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.MessageNode; import net.runelite.api.events.ChatMessage; @@ -186,8 +187,11 @@ public class ChatNotificationsPlugin extends Plugin { messageNode.setValue(matcher.replaceAll(usernameReplacer)); update = true; - - if (config.notifyOnOwnName()) + if (config.notifyOnOwnName() && (chatMessage.getType() == ChatMessageType.PUBLICCHAT + || chatMessage.getType() == ChatMessageType.PRIVATECHAT + || chatMessage.getType() == ChatMessageType.FRIENDSCHAT + || chatMessage.getType() == ChatMessageType.MODCHAT + || chatMessage.getType() == ChatMessageType.MODPRIVATECHAT)) { sendNotification(chatMessage); } From d999b5f84653d8e7e3491954af320d108c253f26 Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Thu, 2 Jul 2020 01:44:57 -0400 Subject: [PATCH 033/189] SkillChallengeClue: Add Varrock armour 4 to prospector outfit (#12024) --- .../client/plugins/cluescrolls/clues/SkillChallengeClue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java index de66057d6a..a8d0987357 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java @@ -169,7 +169,7 @@ public class SkillChallengeClue extends ClueScroll implements NpcClueScroll, Nam any("", item(ItemID.GRACEFUL_GLOVES), item(ItemID.GRACEFUL_GLOVES_11859), item(ItemID.GRACEFUL_GLOVES_13587), item(ItemID.GRACEFUL_GLOVES_13588), item(ItemID.GRACEFUL_GLOVES_13599), item(ItemID.GRACEFUL_GLOVES_13600), item(ItemID.GRACEFUL_GLOVES_13611), item(ItemID.GRACEFUL_GLOVES_13612), item(ItemID.GRACEFUL_GLOVES_13623), item(ItemID.GRACEFUL_GLOVES_13624), item(ItemID.GRACEFUL_GLOVES_13635), item(ItemID.GRACEFUL_GLOVES_13636), item(ItemID.GRACEFUL_GLOVES_13675), item(ItemID.GRACEFUL_GLOVES_13676), item(ItemID.GRACEFUL_GLOVES_21073), item(ItemID.GRACEFUL_GLOVES_21075), item(ItemID.GRACEFUL_GLOVES_24755), item(ItemID.GRACEFUL_GLOVES_24757)), any("", item(ItemID.GRACEFUL_BOOTS), item(ItemID.GRACEFUL_BOOTS_11861), item(ItemID.GRACEFUL_BOOTS_13589), item(ItemID.GRACEFUL_BOOTS_13590), item(ItemID.GRACEFUL_BOOTS_13601), item(ItemID.GRACEFUL_BOOTS_13602), item(ItemID.GRACEFUL_BOOTS_13613), item(ItemID.GRACEFUL_BOOTS_13614), item(ItemID.GRACEFUL_BOOTS_13625), item(ItemID.GRACEFUL_BOOTS_13626), item(ItemID.GRACEFUL_BOOTS_13637), item(ItemID.GRACEFUL_BOOTS_13638), item(ItemID.GRACEFUL_BOOTS_13677), item(ItemID.GRACEFUL_BOOTS_13678), item(ItemID.GRACEFUL_BOOTS_21076), item(ItemID.GRACEFUL_BOOTS_21078), item(ItemID.GRACEFUL_BOOTS_24758), item(ItemID.GRACEFUL_BOOTS_24760)))), new SkillChallengeClue("Mix an anti-venom potion.", item(ItemID.ANTIDOTE4_5952), xOfItem(ItemID.ZULRAHS_SCALES, 20)), - new SkillChallengeClue("Mine a piece of Runite ore", "mine a piece of runite ore whilst sporting the finest mining gear.", true, ANY_PICKAXE, all("Prospector kit", item(ItemID.PROSPECTOR_HELMET), item(ItemID.PROSPECTOR_JACKET), item(ItemID.PROSPECTOR_LEGS), item(ItemID.PROSPECTOR_BOOTS))), + new SkillChallengeClue("Mine a piece of Runite ore", "mine a piece of runite ore whilst sporting the finest mining gear.", true, ANY_PICKAXE, all("Prospector kit", item(ItemID.PROSPECTOR_HELMET), any("", item(ItemID.PROSPECTOR_JACKET), item(ItemID.VARROCK_ARMOUR_4)), item(ItemID.PROSPECTOR_LEGS), item(ItemID.PROSPECTOR_BOOTS))), new SkillChallengeClue("Steal a gem from the Ardougne market."), new SkillChallengeClue("Pickpocket an elf."), new SkillChallengeClue("Bind a blood rune at the blood altar.", item(ItemID.DARK_ESSENCE_FRAGMENTS)), From 2240d555819eabd11052590509c0167dd14b4a14 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Thu, 2 Jul 2020 10:32:37 +0000 Subject: [PATCH 034/189] Update Item IDs to 2020-07-02-rev190 --- runelite-api/src/main/java/net/runelite/api/ItemID.java | 5 +++++ runelite-api/src/main/java/net/runelite/api/NullItemID.java | 2 ++ 2 files changed, 7 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/ItemID.java b/runelite-api/src/main/java/net/runelite/api/ItemID.java index 3ed8668b67..83d3d27994 100644 --- a/runelite-api/src/main/java/net/runelite/api/ItemID.java +++ b/runelite-api/src/main/java/net/runelite/api/ItemID.java @@ -11576,5 +11576,10 @@ public final class ItemID public static final int ZIGGY = 24849; public static final int SOFT_CLAY_PACK_24851 = 24851; public static final int BAG_FULL_OF_GEMS_24853 = 24853; + public static final int MYTHICAL_MAX_CAPE = 24855; + public static final int MYTHICAL_MAX_HOOD = 24857; + public static final int WARRIOR_PATH_STARTER_KIT = 24859; + public static final int WIZARD_PATH_STARTER_KIT = 24860; + public static final int RANGER_PATH_STARTER_KIT = 24861; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/NullItemID.java b/runelite-api/src/main/java/net/runelite/api/NullItemID.java index 66cfc9b1df..ec4e73815d 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullItemID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullItemID.java @@ -13068,5 +13068,7 @@ public final class NullItemID public static final int NULL_24850 = 24850; public static final int NULL_24852 = 24852; public static final int NULL_24854 = 24854; + public static final int NULL_24856 = 24856; + public static final int NULL_24858 = 24858; /* This file is automatically generated. Do not edit. */ } From 07cee7070916d23ef78a8ae99fedabcfed829e72 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Thu, 2 Jul 2020 10:32:38 +0000 Subject: [PATCH 035/189] Update Object IDs to 2020-07-02-rev190 --- runelite-api/src/main/java/net/runelite/api/ObjectID.java | 1 + 1 file changed, 1 insertion(+) diff --git a/runelite-api/src/main/java/net/runelite/api/ObjectID.java b/runelite-api/src/main/java/net/runelite/api/ObjectID.java index d050738b5f..6200b65794 100644 --- a/runelite-api/src/main/java/net/runelite/api/ObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/ObjectID.java @@ -20090,5 +20090,6 @@ public final class ObjectID public static final int STAIRS_39609 = 39609; public static final int CRYPT = 39617; public static final int COFFIN_39620 = 39620; + public static final int MOUNTED_MAX_CAPE_39621 = 39621; /* This file is automatically generated. Do not edit. */ } From 33992efac709654b91d3850e1e9499316ec40790 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Thu, 2 Jul 2020 04:44:21 -0600 Subject: [PATCH 036/189] runelite-client: remove removed scripts --- .../main/java/net/runelite/api/ScriptID.java | 17 ----------------- 1 file changed, 17 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 58d7b9f0d0..039d2c0f48 100644 --- a/runelite-api/src/main/java/net/runelite/api/ScriptID.java +++ b/runelite-api/src/main/java/net/runelite/api/ScriptID.java @@ -109,17 +109,6 @@ public final class ScriptID @ScriptArguments() public static final int CHAT_PROMPT_INIT = 223; - /** - * Displays the game messages when clicking on an item inside the Items Kept on Death interface - *

    - *
  • int (boolean) Item kept on death
  • - *
  • int Item Quantity
  • - *
  • String Item Name
  • - *
- */ - @ScriptArguments(integer = 2, string = 1) - public static final int DEATH_KEEP_ITEM_EXAMINE = 1603; - /** * Checks the state of the given stash unit. *
    @@ -204,12 +193,6 @@ public final class ScriptID @ScriptArguments(string = 1) public static final int FRIENDS_CHAT_SEND_KICK = 215; - /** - * Builds the items kept on death widget - */ - @ScriptArguments(integer = 4, string = 2) - public static final int DEATH_KEEP_BUILD = 1601; - /** * Builds the widget that holds all of the players inside a friends chat */ From 9e9f428fe7b3cc580d94d25c472c0b166fa04a03 Mon Sep 17 00:00:00 2001 From: Trevor Date: Wed, 24 Jun 2020 18:29:14 -0400 Subject: [PATCH 037/189] raid plugin: add raid scouted/reset events --- .../runelite/client/plugins/raids/Raid.java | 2 +- .../client/plugins/raids/RaidRoom.java | 2 +- .../client/plugins/raids/RaidsPlugin.java | 9 ++++ .../client/plugins/raids/RoomType.java | 2 +- .../plugins/raids/events/RaidReset.java | 34 +++++++++++++++ .../plugins/raids/events/RaidScouted.java | 42 +++++++++++++++++++ 6 files changed, 88 insertions(+), 3 deletions(-) create mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/raids/events/RaidReset.java create mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/raids/events/RaidScouted.java diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java index d881351cbd..662aac5981 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java @@ -31,7 +31,7 @@ import net.runelite.api.coords.WorldPoint; import net.runelite.client.plugins.raids.solver.Layout; import net.runelite.client.plugins.raids.solver.Room; -class Raid +public class Raid { @Getter private final RaidRoom[] rooms = new RaidRoom[16]; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidRoom.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidRoom.java index 06101d6e08..df71695898 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidRoom.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidRoom.java @@ -29,7 +29,7 @@ import lombok.RequiredArgsConstructor; @RequiredArgsConstructor @Getter -enum RaidRoom +public enum RaidRoom { START("Start", RoomType.START), END("End", RoomType.END), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java index 7fbae8fc3b..57b74bd469 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java @@ -77,10 +77,13 @@ import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ConfigManager; import net.runelite.client.config.RuneLiteConfig; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.eventbus.Subscribe; import net.runelite.client.events.ChatInput; import net.runelite.client.events.ConfigChanged; import net.runelite.client.events.OverlayMenuClicked; +import net.runelite.client.plugins.raids.events.RaidReset; +import net.runelite.client.plugins.raids.events.RaidScouted; import net.runelite.client.game.ItemManager; import net.runelite.client.game.SpriteManager; import net.runelite.client.input.KeyManager; @@ -179,6 +182,9 @@ public class RaidsPlugin extends Plugin @Inject private ImageCapture imageCapture; + @Inject + private EventBus eventBus; + @Getter private final Set roomWhitelist = new HashSet(); @@ -506,6 +512,8 @@ public class RaidsPlugin extends Plugin { sendRaidLayoutMessage(); } + + eventBus.post(new RaidScouted(raid, firstSolve)); } private void sendRaidLayoutMessage() @@ -1008,5 +1016,6 @@ public class RaidsPlugin extends Plugin raid = null; chestOpened = false; updateInfoBoxState(); + eventBus.post(new RaidReset()); } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RoomType.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RoomType.java index 686391e563..0ddb2085fe 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RoomType.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RoomType.java @@ -30,7 +30,7 @@ import lombok.Getter; @AllArgsConstructor @Getter -enum RoomType +public enum RoomType { START("Start", '#'), END("End", '¤'), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/events/RaidReset.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/events/RaidReset.java new file mode 100644 index 0000000000..e1d6f9aa83 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/events/RaidReset.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2020, Trevor + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.raids.events; + +/** + * An event that fires when the raid plugin resets + * + * This happens when the player leaves a raid and when the raid plugin turns off + */ +public class RaidReset +{ +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/events/RaidScouted.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/events/RaidScouted.java new file mode 100644 index 0000000000..b57152d975 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/events/RaidScouted.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2020, Trevor + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.raids.events; + +import lombok.Value; +import net.runelite.client.plugins.raids.Raid; + +/** + * An event that fires when the player scouts a raid + * + * This will fire every time the raid plugin successfully scouts a raid but mostly fires at LOGGED_IN gamestate changes + * This event only fires in scoutable raids (not challenge mode) + * The raid object is not guaranteed to change in between events + */ +@Value +public class RaidScouted +{ + private Raid raid; + private boolean firstScout; +} From c2a33e2b9797b1d752ac1f0aef3626f5232f5644 Mon Sep 17 00:00:00 2001 From: CopyPastaOSRS <66518222+CopyPastaOSRS@users.noreply.github.com> Date: Sat, 4 Jul 2020 00:50:35 +0200 Subject: [PATCH 038/189] WidgetOverlay: Make encounter health bar moveable (#11938) --- .../src/main/java/net/runelite/api/widgets/WidgetID.java | 6 ++++++ .../src/main/java/net/runelite/api/widgets/WidgetInfo.java | 4 +++- .../java/net/runelite/client/ui/overlay/WidgetOverlay.java | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index 1e6a4229d1..be4e856996 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -154,6 +154,7 @@ public class WidgetID public static final int GENERIC_SCROLL_GROUP_ID = 625; public static final int GAUNTLET_TIMER_GROUP_ID = 637; public static final int BANK_PIN_GROUP_ID = 213; + public static final int HEALTH_OVERLAY_BAR_GROUP_ID = 303; static class WorldMap { @@ -916,4 +917,9 @@ public class WidgetID { static final int CONTAINER = 0; } + + static class EncounterHealthBar + { + static final int CONTAINER = 6; + } } diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java index 46f7f96b1f..a8ba4b369e 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java @@ -537,7 +537,9 @@ public enum WidgetInfo SKILLS_CONTAINER(WidgetID.SKILLS_GROUP_ID, WidgetID.Skills.CONTAINER), - GAUNTLET_TIMER_CONTAINER(WidgetID.GAUNTLET_TIMER_GROUP_ID, WidgetID.GauntletTimer.CONTAINER); + GAUNTLET_TIMER_CONTAINER(WidgetID.GAUNTLET_TIMER_GROUP_ID, WidgetID.GauntletTimer.CONTAINER), + + HEALTH_OVERLAY_BAR(WidgetID.HEALTH_OVERLAY_BAR_GROUP_ID, WidgetID.EncounterHealthBar.CONTAINER); private final int groupId; private final int childId; diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java index 4ab0ebe31c..1f2da4539b 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java @@ -59,6 +59,7 @@ public class WidgetOverlay extends Overlay .put(WidgetInfo.LMS_INFO, OverlayPosition.TOP_RIGHT) .put(WidgetInfo.LMS_KDA, OverlayPosition.TOP_RIGHT) .put(WidgetInfo.GAUNTLET_TIMER_CONTAINER, OverlayPosition.TOP_LEFT) + .put(WidgetInfo.HEALTH_OVERLAY_BAR, OverlayPosition.TOP_CENTER) .build(); public static Collection createOverlays(final Client client) From e3163c80ae7f34ca95b34973bc7c79a60b95600d Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 3 Jul 2020 17:51:08 -0400 Subject: [PATCH 039/189] plugin manager: remove extra injectMembers() call This has been here a long time, but as far as we can tell is no longer necessary. It is causing double instantiation of classes which are only injected a single place. --- .../src/main/java/net/runelite/client/plugins/PluginManager.java | 1 - 1 file changed, 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java b/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java index d3f430259b..4aeb37b213 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/PluginManager.java @@ -525,7 +525,6 @@ public class PluginManager binder.install(plugin); }; Injector pluginInjector = parent.createChildInjector(pluginModule); - pluginInjector.injectMembers(plugin); plugin.injector = pluginInjector; } catch (CreationException ex) From 6d39bc8e2c6ef193861c35aa117e5e59b5903152 Mon Sep 17 00:00:00 2001 From: melkypie <5113962+melkypie@users.noreply.github.com> Date: Sat, 4 Jul 2020 14:07:03 +0300 Subject: [PATCH 040/189] tooltips: make overlay color background option affect tooltips --- .../runelite/client/ui/overlay/tooltip/TooltipOverlay.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/tooltip/TooltipOverlay.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/tooltip/TooltipOverlay.java index f808fa49f2..1f68a348f4 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/tooltip/TooltipOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/tooltip/TooltipOverlay.java @@ -39,6 +39,7 @@ import net.runelite.client.ui.overlay.OverlayLayer; import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.OverlayPriority; import net.runelite.client.ui.overlay.components.LayoutableRenderableEntity; +import net.runelite.client.ui.overlay.components.PanelComponent; import net.runelite.client.ui.overlay.components.TooltipComponent; @Singleton @@ -103,12 +104,17 @@ public class TooltipOverlay extends Overlay if (tooltip.getComponent() != null) { entity = tooltip.getComponent(); + if (entity instanceof PanelComponent) + { + ((PanelComponent) entity).setBackgroundColor(runeLiteConfig.overlayBackgroundColor()); + } } else { final TooltipComponent tooltipComponent = new TooltipComponent(); tooltipComponent.setModIcons(client.getModIcons()); tooltipComponent.setText(tooltip.getText()); + tooltipComponent.setBackgroundColor(runeLiteConfig.overlayBackgroundColor()); entity = tooltipComponent; } From 1087c193bd78a1e9f9367e9f34caf02c50bb61a1 Mon Sep 17 00:00:00 2001 From: MMagicala <36617521+MMagicala@users.noreply.github.com> Date: Sat, 4 Jul 2020 13:15:03 -0700 Subject: [PATCH 041/189] skillcalculator: Fix Maple longbow (u) xp (#12064) --- .../client/plugins/skillcalculator/skill_fletching.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_fletching.json b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_fletching.json index 13c04e5a1c..60214cc263 100644 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_fletching.json +++ b/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_fletching.json @@ -328,7 +328,7 @@ "level": 55, "icon": 62, "name": "Maple Longbow (U)", - "xp": 58.5 + "xp": 58.3 }, { "level": 55, From 7b1414d0c064e2b436cad196b00c5e8fcfa55489 Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Sun, 5 Jul 2020 01:43:32 -0400 Subject: [PATCH 042/189] discord: Fix Hosidius/Tithe Farm regionIDs --- .../runelite/client/plugins/discord/DiscordGameEventType.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordGameEventType.java b/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordGameEventType.java index 21a474776b..cc18573c4d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordGameEventType.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordGameEventType.java @@ -113,7 +113,7 @@ enum DiscordGameEventType CITY_GOBLIN_VILLAGE("Goblin Village" , DiscordAreaType.CITIES, 11830), CITY_GUTANOTH("Gu'Tanoth" , DiscordAreaType.CITIES, 10031), CITY_GWENITH("Gwenith", DiscordAreaType.CITIES, 8501, 8757, 9013), - CITY_HOSIDIUS_HOUSE("Hosidius" , DiscordAreaType.CITIES, 6713, 6712, 6455, 6711, 6710, 6965, 6966, 7222, 7223, 6967), + CITY_HOSIDIUS_HOUSE("Hosidius" , DiscordAreaType.CITIES, 6710, 6711, 6712, 6713, 6455, 6456, 6965, 6966, 6967, 6968, 7221, 7223, 7224, 7478, 7479), CITY_JATISZO("Jatizso" , DiscordAreaType.CITIES, 9531), CITY_JIGGIG("Jiggig" , DiscordAreaType.CITIES, 9775), CITY_KARAMJA("Karamja" , DiscordAreaType.CITIES, 11569, 11568, 11567, 11566, 11313, 11312, 11311), @@ -253,7 +253,7 @@ enum DiscordGameEventType MG_ROGUES_DEN("Rogues' Den", DiscordAreaType.MINIGAMES, 11855, 11854, 12111, 12110), MG_SORCERESS_GARDEN("Sorceress's Garden", DiscordAreaType.MINIGAMES, 11605), MG_TEMPLE_TREKKING("Temple Trekking", DiscordAreaType.MINIGAMES, 8014, 8270, 8256, 8782, 9038, 9294, 9550, 9806), - MG_TITHE_FARM("Tithe Farm", DiscordAreaType.MINIGAMES, 6968), + MG_TITHE_FARM("Tithe Farm", DiscordAreaType.MINIGAMES, 7222), MG_TROUBLE_BREWING("Trouble Brewing", DiscordAreaType.MINIGAMES, 15150), MG_TZHAAR_FIGHT_CAVES("Tzhaar Fight Caves", DiscordAreaType.MINIGAMES, 9551), MG_TZHAAR_FIGHT_PITS("Tzhaar Fight Pits", DiscordAreaType.MINIGAMES, 9552), From 11cd19c2ce3fcae20aaa8b75f3b3c32f2ed48a64 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 5 Jul 2020 17:34:04 -0400 Subject: [PATCH 043/189] player composition: add isFemale --- .../src/main/java/net/runelite/api/PlayerComposition.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/PlayerComposition.java b/runelite-api/src/main/java/net/runelite/api/PlayerComposition.java index 20ac41b6cb..7920c36eed 100644 --- a/runelite-api/src/main/java/net/runelite/api/PlayerComposition.java +++ b/runelite-api/src/main/java/net/runelite/api/PlayerComposition.java @@ -32,6 +32,13 @@ import net.runelite.api.kit.KitType; */ public interface PlayerComposition { + /** + * Checks if the player is female. + * + * @return true if the player is female + */ + boolean isFemale(); + /** * Gets an array of IDs related to equipment slots. *

    From e4e64b01c017311994c93799d71355ab214696d2 Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Sun, 5 Jul 2020 23:07:28 +0100 Subject: [PATCH 044/189] mixins: fix bug with soundeffectplayed --- .../src/main/java/net/runelite/mixins/SoundEffectMixin.java | 1 + 1 file changed, 1 insertion(+) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/SoundEffectMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/SoundEffectMixin.java index 62bea2ffd0..0df70607b9 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/SoundEffectMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/SoundEffectMixin.java @@ -162,6 +162,7 @@ public abstract class SoundEffectMixin implements RSClient soundLocations[queuedSoundEffectCount] = position; setQueuedSoundEffectCount(queuedSoundEffectCount + 1); + lastSoundEffectCount = queuedSoundEffectCount + 1; } @Inject From 277eee79dab5a6befe5dd8efeab420ddd144a27a Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Sat, 4 Jul 2020 02:50:33 -0400 Subject: [PATCH 045/189] agility: add missing Meiyerditch obstacle highlights --- .../java/net/runelite/client/plugins/agility/Obstacles.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/Obstacles.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/Obstacles.java index bda6037a6c..b1b58b5f17 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/Obstacles.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/Obstacles.java @@ -88,7 +88,8 @@ class Obstacles SHELF_18096, FLOORBOARDS_18097, FLOORBOARDS_18098, WASHING_LINE_18099, WASHING_LINE_18100, NULL_18135, NULL_18136, SHELF_18105, SHELF_18106, SHELF_18107, SHELF_18108, FLOORBOARDS_18109, FLOORBOARDS_18110, FLOORBOARDS_18112, FLOORBOARDS_18111, FLOORBOARDS_18114, FLOORBOARDS_18113, - NULL_18116, FLOORBOARDS_18117, FLOORBOARDS_18118, STAIRS_DOWN, WALL_17980, + NULL_18116, FLOORBOARDS_18117, FLOORBOARDS_18118, STAIRS_DOWN, WALL_17980, BARRICADE_18054, LADDER_17999, + LADDER_18000, LADDER_18001, LADDER_18002, ROCKY_SURFACE, WALL_39172, WALL_39173, // Werewolf STEPPING_STONE_11643, HURDLE, HURDLE_11639, HURDLE_11640, PIPE_11657, SKULL_SLOPE, ZIP_LINE, ZIP_LINE_11645, ZIP_LINE_11646, From 3988ef0a4ea0cc0aac9f995eb07d3422f6f118ec Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Mon, 6 Jul 2020 23:08:30 -0400 Subject: [PATCH 046/189] discord: Fix Prifddinas area region IDs (#12059) --- .../client/plugins/discord/DiscordGameEventType.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordGameEventType.java b/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordGameEventType.java index cc18573c4d..2df8d6bd60 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordGameEventType.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordGameEventType.java @@ -86,7 +86,7 @@ enum DiscordGameEventType BOSS_SMOKE_DEVIL("Thermonuclear smoke devil", DiscordAreaType.BOSSES, 9363, 9619), BOSS_VORKATH("Vorkath", DiscordAreaType.BOSSES, 9023), BOSS_WINTERTODT("Wintertodt", DiscordAreaType.BOSSES, 6462), - BOSS_ZALCANO("Zalcano", DiscordAreaType.BOSSES, 13250), + BOSS_ZALCANO("Zalcano", DiscordAreaType.BOSSES, 12126), BOSS_ZULRAH("Zulrah", DiscordAreaType.BOSSES, 9007), BOSS_NIGHTMARE("Nightmare of Ashihama", DiscordAreaType.BOSSES, 15515), @@ -112,7 +112,7 @@ enum DiscordGameEventType CITY_FALADOR("Falador" , DiscordAreaType.CITIES, 11828, 11572, 11571, 11827, 12084), CITY_GOBLIN_VILLAGE("Goblin Village" , DiscordAreaType.CITIES, 11830), CITY_GUTANOTH("Gu'Tanoth" , DiscordAreaType.CITIES, 10031), - CITY_GWENITH("Gwenith", DiscordAreaType.CITIES, 8501, 8757, 9013), + CITY_GWENITH("Gwenith", DiscordAreaType.CITIES, 8757), CITY_HOSIDIUS_HOUSE("Hosidius" , DiscordAreaType.CITIES, 6710, 6711, 6712, 6713, 6455, 6456, 6965, 6966, 6967, 6968, 7221, 7223, 7224, 7478, 7479), CITY_JATISZO("Jatizso" , DiscordAreaType.CITIES, 9531), CITY_JIGGIG("Jiggig" , DiscordAreaType.CITIES, 9775), @@ -128,6 +128,7 @@ enum DiscordGameEventType CITY_MORTTON("Mort'ton" , DiscordAreaType.CITIES, 13875), CITY_MOR_UI_REK("Mor UI Rek" , DiscordAreaType.CITIES, 9808, 9807, 10064, 10063), CITY_MOUNT_KARUULM("Mount Karuulm", DiscordAreaType.CITIES, 5179, 4923, 5180), + CITY_MYNYDD("Mynydd", DiscordAreaType.CITIES, 8501), CITY_NARDAH("Nardah" , DiscordAreaType.CITIES, 13613), CITY_NEITIZNOT("Neitiznot" , DiscordAreaType.CITIES, 9275), CITY_PISCATORIS("Piscatoris" , DiscordAreaType.CITIES, 9273), @@ -136,7 +137,7 @@ enum DiscordGameEventType CITY_PORT_PHASMATYS("Port Phasmatys" , DiscordAreaType.CITIES, 14646), CITY_PORT_SARIM("Port Sarim" , DiscordAreaType.CITIES, 12082), CITY_PISCARILIUS_HOUSE("Port Piscarilius" , DiscordAreaType.CITIES, 6971, 7227, 6970, 7226), - CITY_PRIFDDINAS("Prifddinas", DiscordAreaType.CITIES, 12894, 12895, 13150, 13151), + CITY_PRIFDDINAS("Prifddinas", DiscordAreaType.CITIES, 8499, 8500, 8755, 8756, 9011, 9012, 9013, 12894, 12895, 13150, 13151), CITY_RELLEKKA("Rellekka" , DiscordAreaType.CITIES, 10553), CITY_RIMMINGTON("Rimmington" , DiscordAreaType.CITIES, 11826, 11570), CITY_SEERS_VILLAGE("Seers' Village" , DiscordAreaType.CITIES, 10806), @@ -219,7 +220,7 @@ enum DiscordGameEventType DUNGEON_THE_WARRENS("The Warrens", DiscordAreaType.DUNGEONS, 7070, 7326), DUNGEON_TOLNA("Dungeon of Tolna", DiscordAreaType.DUNGEONS, 13209), DUNGEON_TOWER_OF_LIFE("Tower of Life Basement", DiscordAreaType.DUNGEONS, 12100), - DUNGEON_TRAHAEARN_MINE("Trahaearn Mine", DiscordAreaType.DUNGEONS, 13249), + DUNGEON_TRAHAEARN_MINE("Trahaearn Mine", DiscordAreaType.DUNGEONS, 13250), DUNGEON_TUNNEL_OF_CHAOS("Tunnel of Chaos", DiscordAreaType.DUNGEONS, 12625), DUNGEON_UNDERGROUND_PASS("Underground Pass", DiscordAreaType.DUNGEONS, 9369, 9370), DUNGEON_VARROCKSEWERS("Varrock Sewers", DiscordAreaType.DUNGEONS, 12954, 13210), @@ -242,7 +243,7 @@ enum DiscordGameEventType MG_CLAN_WARS("Clan Wars", DiscordAreaType.MINIGAMES, 13135, 13134, 13133, 13131, 13130, 13387, 13386), MG_DUEL_ARENA("Duel Arena", DiscordAreaType.MINIGAMES, 13362), MG_FISHING_TRAWLER("Fishing Trawler", DiscordAreaType.MINIGAMES, 7499), - MG_GAUNTLET("Gauntlet", DiscordAreaType.MINIGAMES, 12995), + MG_GAUNTLET("The Gauntlet", DiscordAreaType.MINIGAMES, 12127, 7512, 7768), MG_INFERNO("The Inferno", DiscordAreaType.MINIGAMES, 9043), MG_LAST_MAN_STANDING("Last Man Standing", DiscordAreaType.MINIGAMES, 13660, 13659, 13658, 13916, 13915, 13914), MG_HALLOWED_SEPULCHRE("Hallowed Sepulchre", DiscordAreaType.MINIGAMES, 8797, 9051, 9052, 9053, 9054, 9309, 9563, 9565, 9821, 10074, 10075, 10077), From a3bd5e50fa94cedf824b853c437636e9784b80fe Mon Sep 17 00:00:00 2001 From: Joe Zeffiro Date: Wed, 1 Jul 2020 06:14:56 -0700 Subject: [PATCH 047/189] KeyManager: Block remaps on authenticator game state Similar to 01bdbe5aabf4a14aa52b32acd2abc3f1270a2d34, we do not want to block input when the user is inputting their authenticator code at the login screen. --- .../src/main/java/net/runelite/client/input/KeyManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/input/KeyManager.java b/runelite-client/src/main/java/net/runelite/client/input/KeyManager.java index 066f8089c8..762e8efb86 100644 --- a/runelite-client/src/main/java/net/runelite/client/input/KeyManager.java +++ b/runelite-client/src/main/java/net/runelite/client/input/KeyManager.java @@ -145,6 +145,6 @@ public class KeyManager return true; } - return client.getGameState() != GameState.LOGIN_SCREEN; + return client.getGameState() != GameState.LOGIN_SCREEN && client.getGameState() != GameState.LOGIN_SCREEN_AUTHENTICATOR; } } From 349efebd58f0725988a9d290e1d0399189c286d8 Mon Sep 17 00:00:00 2001 From: Jordan Atwood Date: Mon, 6 Jul 2020 21:56:09 -0700 Subject: [PATCH 048/189] keyremapping: Remove vestigial LOGIN_SCREEN guard clause Key remaps have been blocked at the KeyManager level as of commit 01bdbe5aabf4a14aa52b32acd2abc3f1270a2d34, so a LOGIN_SCREEN game state check is no longer needed within individual KeyListeners. --- .../client/plugins/keyremapping/KeyRemappingListener.java | 3 +-- .../client/plugins/keyremapping/KeyRemappingListenerTest.java | 3 --- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingListener.java b/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingListener.java index f07ccbf553..25c0da9576 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingListener.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingListener.java @@ -33,7 +33,6 @@ import java.util.Map; import java.util.Set; import javax.inject.Inject; import net.runelite.api.Client; -import net.runelite.api.GameState; import net.runelite.api.VarClientStr; import net.runelite.client.callback.ClientThread; import net.runelite.client.input.KeyListener; @@ -68,7 +67,7 @@ class KeyRemappingListener implements KeyListener @Override public void keyPressed(KeyEvent e) { - if (client.getGameState() == GameState.LOGIN_SCREEN || !plugin.chatboxFocused()) + if (!plugin.chatboxFocused()) { return; } diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/keyremapping/KeyRemappingListenerTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/keyremapping/KeyRemappingListenerTest.java index cbaefc875f..4d3b3b3005 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/keyremapping/KeyRemappingListenerTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/keyremapping/KeyRemappingListenerTest.java @@ -30,7 +30,6 @@ import com.google.inject.testing.fieldbinder.BoundFieldModule; import java.awt.event.KeyEvent; import javax.inject.Inject; import net.runelite.api.Client; -import net.runelite.api.GameState; import net.runelite.client.config.ModifierlessKeybind; import org.junit.Before; import org.junit.Test; @@ -64,8 +63,6 @@ public class KeyRemappingListenerTest public void setUp() { Guice.createInjector(BoundFieldModule.of(this)).injectMembers(this); - - when(client.getGameState()).thenReturn(GameState.LOGGED_IN); } @Test From 3e8427b5d85ae04afbb1666c5e5ec034f5f79956 Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Wed, 8 Jul 2020 01:20:35 +0100 Subject: [PATCH 049/189] scriptvmmixin: fix consuming WorldMapEvents and potentially others without running them --- .../net/runelite/mixins/ScriptVMMixin.java | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java index 32552f97bf..4205b6a7e4 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java @@ -1,6 +1,6 @@ /* * Copyright (c) 2018 Abex - * Copyright (c) 2020 ThatGamerBlue + * Copyright (c) 2020, ThatGamerBlue * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -51,6 +51,9 @@ public abstract class ScriptVMMixin implements RSClient @Inject private static RSScript currentScript; + @Inject + private static RSScriptEvent rootScriptEvent; + // This field is set by the ScriptVM raw injector @Inject private static int currentScriptPC; @@ -59,6 +62,17 @@ public abstract class ScriptVMMixin implements RSClient @Inject static void setCurrentScript(RSScript script) { + if (rootScriptEvent != null) + { + if (script != null) + { + ScriptPreFired event = new ScriptPreFired((int) script.getHash(), rootScriptEvent); + client.getCallbacks().post(ScriptPreFired.class, event); + } + + rootScriptEvent = null; + } + currentScript = script; } @@ -145,12 +159,11 @@ public abstract class ScriptVMMixin implements RSClient client.getLogger().error("Error in JavaScriptCallback", e); } } - else if (arguments[0] instanceof Integer) + else { try { - final ScriptPreFired pre = new ScriptPreFired((int) arguments[0], event); - client.getCallbacks().post(ScriptPreFired.class, pre); + rootScriptEvent = event; rs$runScript(event, maxExecutionTime); } finally From 395fd1f5193e35b70fba0c08c0ebbac69e9655b9 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 8 Jul 2020 17:44:51 -0400 Subject: [PATCH 050/189] config: minor plugin panel cleanup --- .../client/plugins/config/PluginListItem.java | 2 -- .../client/plugins/config/PluginListPanel.java | 18 +++++++++--------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/config/PluginListItem.java b/runelite-client/src/main/java/net/runelite/client/plugins/config/PluginListItem.java index 2c5cfe5bbd..0569944009 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/config/PluginListItem.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/config/PluginListItem.java @@ -100,8 +100,6 @@ class PluginListItem extends JPanel keywords.add(mf.getInternalName()); } - final List popupMenuItems = new ArrayList<>(); - setLayout(new BorderLayout(3, 0)); setPreferredSize(new Dimension(PluginPanel.PANEL_WIDTH, 20)); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/config/PluginListPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/config/PluginListPanel.java index 72d5d4cf36..c27cc2c800 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/config/PluginListPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/config/PluginListPanel.java @@ -87,7 +87,6 @@ class PluginListPanel extends PluginPanel private final ConfigManager configManager; private final PluginManager pluginManager; - private final ScheduledExecutorService executorService; private final Provider configPanelProvider; private final List fakePlugins = new ArrayList<>(); @@ -117,7 +116,6 @@ class PluginListPanel extends PluginPanel this.configManager = configManager; this.pluginManager = pluginManager; this.externalPluginManager = externalPluginManager; - this.executorService = executorService; this.configPanelProvider = configPanelProvider; muxer = new MultiplexingPluginPanel(this) @@ -214,14 +212,16 @@ class PluginListPanel extends PluginPanel config, configDescriptor); }) - ).map(desc -> - { - PluginListItem listItem = new PluginListItem(this, desc); - listItem.setPinned(pinnedPlugins.contains(desc.getName())); - return listItem; - }).collect(Collectors.toList()); + ) + .map(desc -> + { + PluginListItem listItem = new PluginListItem(this, desc); + listItem.setPinned(pinnedPlugins.contains(desc.getName())); + return listItem; + }) + .sorted(Comparator.comparing(p -> p.getPluginConfig().getName())) + .collect(Collectors.toList()); - pluginList.sort(Comparator.comparing(p -> p.getPluginConfig().getName())); mainPanel.removeAll(); refresh(); } From 9b65de74ee0ad4472f51e33e57c8a7d6fd78f9d9 Mon Sep 17 00:00:00 2001 From: Su-Shing Chen Date: Sat, 20 Jun 2020 15:41:25 +1200 Subject: [PATCH 051/189] ge plugin: add GE links to the offers panel This allows looking up GE prices for items already on offer, without the need to manually search for the item on the Search tab. Accessed via a new popup menu. --- .../grandexchange/GrandExchangeItemPanel.java | 17 +++-------------- .../grandexchange/GrandExchangeOfferSlot.java | 19 +++++++++++++++---- .../grandexchange/GrandExchangePlugin.java | 10 ++++++++++ 3 files changed, 28 insertions(+), 18 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeItemPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeItemPanel.java index 8b43715150..b833c4ab41 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeItemPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeItemPanel.java @@ -39,9 +39,8 @@ import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.border.CompoundBorder; import javax.swing.border.EmptyBorder; -import net.runelite.client.util.AsyncBufferedImage; import net.runelite.client.ui.ColorScheme; -import net.runelite.client.util.LinkBrowser; +import net.runelite.client.util.AsyncBufferedImage; import net.runelite.client.util.QuantityFormatter; /** @@ -90,7 +89,7 @@ class GrandExchangeItemPanel extends JPanel @Override public void mouseReleased(MouseEvent e) { - geLink(name, itemID); + GrandExchangePlugin.openGeLink(name, itemID); } }; @@ -164,14 +163,4 @@ class GrandExchangeItemPanel extends JPanel c.setBackground(color); } } - - private static void geLink(String name, int itemID) - { - final String url = "http://services.runescape.com/m=itemdb_oldschool/" - + name.replaceAll(" ", "_") - + "/viewitem?obj=" - + itemID; - - LinkBrowser.browse(url); - } -} \ No newline at end of file +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeOfferSlot.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeOfferSlot.java index f2a35d47d8..b4495ad90a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeOfferSlot.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeOfferSlot.java @@ -39,7 +39,10 @@ import java.awt.image.BufferedImage; import javax.annotation.Nullable; import javax.swing.ImageIcon; import javax.swing.JLabel; +import javax.swing.JMenuItem; import javax.swing.JPanel; +import javax.swing.JPopupMenu; +import javax.swing.SwingUtilities; import javax.swing.border.EmptyBorder; import net.runelite.api.GrandExchangeOffer; import net.runelite.api.GrandExchangeOfferState; @@ -98,21 +101,21 @@ public class GrandExchangeOfferSlot extends JPanel @Override public void mousePressed(MouseEvent mouseEvent) { - super.mousePressed(mouseEvent); - switchPanel(); + if (SwingUtilities.isLeftMouseButton(mouseEvent)) + { + switchPanel(); + } } @Override public void mouseEntered(MouseEvent mouseEvent) { - super.mouseEntered(mouseEvent); container.setBackground(ColorScheme.DARKER_GRAY_HOVER_COLOR); } @Override public void mouseExited(MouseEvent mouseEvent) { - super.mouseExited(mouseEvent); container.setBackground(ColorScheme.DARKER_GRAY_COLOR); } }; @@ -227,6 +230,13 @@ public class GrandExchangeOfferSlot extends JPanel progressBar.setMaximumValue(newOffer.getTotalQuantity()); progressBar.setValue(newOffer.getQuantitySold()); + final JPopupMenu popupMenu = new JPopupMenu(); + popupMenu.setBorder(new EmptyBorder(5, 5, 5, 5)); + + final JMenuItem openGeLink = new JMenuItem("Open Grand Exchange website"); + openGeLink.addActionListener(e -> GrandExchangePlugin.openGeLink(offerItem.getName(), offerItem.getId())); + popupMenu.add(openGeLink); + /* Couldn't set the tooltip for the container panel as the children override it, so I'm setting * the tooltips on the children instead. */ for (Component c : container.getComponents()) @@ -235,6 +245,7 @@ public class GrandExchangeOfferSlot extends JPanel { JPanel panel = (JPanel) c; panel.setToolTipText(htmlTooltip(((int) progressBar.getPercentage()) + "%")); + panel.setComponentPopupMenu(popupMenu); } } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java index 8c3c04aea2..be52533acc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java @@ -96,6 +96,7 @@ import net.runelite.client.ui.ClientToolbar; import net.runelite.client.ui.NavigationButton; import net.runelite.client.util.ColorUtil; import net.runelite.client.util.ImageUtil; +import net.runelite.client.util.LinkBrowser; import net.runelite.client.util.OSType; import net.runelite.client.util.QuantityFormatter; import net.runelite.client.util.Text; @@ -932,4 +933,13 @@ public class GrandExchangePlugin extends Plugin } }); } + + static void openGeLink(String name, int itemId) + { + final String url = "https://services.runescape.com/m=itemdb_oldschool/" + + name.replaceAll(" ", "+") + + "/viewitem?obj=" + + itemId; + LinkBrowser.browse(url); + } } From 9fd36a600c3d2ee7075892ed68f459d4c56e8aa8 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 9 Jul 2020 13:04:48 -0400 Subject: [PATCH 052/189] xpdrop plugin: use script events instead of widget hidden This also uses the default color enum to assign default xpdrop colors instead of using our hardcoded enum. --- .../main/java/net/runelite/api/EnumID.java | 1 + .../main/java/net/runelite/api/ScriptID.java | 9 ++ .../plugins/experiencedrop/DefaultColors.java | 45 ------ .../plugins/experiencedrop/XpDropPlugin.java | 152 +++++++----------- 4 files changed, 69 insertions(+), 138 deletions(-) delete mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/DefaultColors.java diff --git a/runelite-api/src/main/java/net/runelite/api/EnumID.java b/runelite-api/src/main/java/net/runelite/api/EnumID.java index 0b2d477a84..7d836dc613 100644 --- a/runelite-api/src/main/java/net/runelite/api/EnumID.java +++ b/runelite-api/src/main/java/net/runelite/api/EnumID.java @@ -33,4 +33,5 @@ public final class EnumID { public static final int MUSIC_TRACK_NAMES = 812; public static final int MUSIC_TRACK_IDS = 819; + public static final int XPDROP_COLORS = 1169; } 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 039d2c0f48..af79f87a2f 100644 --- a/runelite-api/src/main/java/net/runelite/api/ScriptID.java +++ b/runelite-api/src/main/java/net/runelite/api/ScriptID.java @@ -275,4 +275,13 @@ public final class ScriptID */ @ScriptArguments(integer = 2) public static final int TOPLEVEL_REDRAW = 907; + + /** + * Called to set position of an xpdrop text and sprite(s) + *

      + *
    • XP drop parent component
    • + *
    + */ + @ScriptArguments(integer = 4, string = 1) + public static final int XPDROPS_SETDROPSIZE = 996; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/DefaultColors.java b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/DefaultColors.java deleted file mode 100644 index 227d82b3ee..0000000000 --- a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/DefaultColors.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2018, Cameron - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -package net.runelite.client.plugins.experiencedrop; - -import java.awt.Color; -import lombok.AllArgsConstructor; -import lombok.Getter; - -@AllArgsConstructor -enum DefaultColors -{ - WHITE(new Color(0xFF, 0xFF, 0xFF)), - LILAC(new Color(0xC8, 0xC8, 0xFF)), - CYAN(new Color(0x00, 0xFF, 0xFF)), - JADE(new Color(0xC8, 0xFF, 0xC8)), - LIME(new Color(0x64, 0xFF, 0x64)), - YELLOW(new Color(0xFF, 0xFF, 0x40)), - ORANGE(new Color(0xFF, 0x98, 0x1F)), - PINK(new Color(0xFF, 0xC8, 0xC8)); - - @Getter - private final Color color; -} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java index 3a62513b8a..ffbd13a067 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java @@ -31,16 +31,19 @@ import java.util.Map; import java.util.stream.IntStream; import javax.inject.Inject; import net.runelite.api.Client; +import net.runelite.api.EnumComposition; +import net.runelite.api.EnumID; +import static net.runelite.api.ScriptID.XPDROPS_SETDROPSIZE; import static net.runelite.api.ScriptID.XPDROP_DISABLED; import net.runelite.api.Skill; import net.runelite.api.SpriteID; import net.runelite.api.Varbits; import net.runelite.api.events.GameTick; +import net.runelite.api.events.ScriptPreFired; import net.runelite.api.events.StatChanged; -import net.runelite.api.events.WidgetHiddenChanged; import net.runelite.api.widgets.Widget; -import net.runelite.api.widgets.WidgetID; -import net.runelite.api.widgets.WidgetInfo; +import static net.runelite.api.widgets.WidgetInfo.TO_CHILD; +import static net.runelite.api.widgets.WidgetInfo.TO_GROUP; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.Subscribe; import net.runelite.client.plugins.Plugin; @@ -49,12 +52,10 @@ import net.runelite.client.plugins.PluginDescriptor; @PluginDescriptor( name = "XP Drop", description = "Enable customization of the way XP drops are displayed", - tags = {"experience", "levels", "tick", "prayer"} + tags = {"experience", "levels", "tick", "prayer", "xpdrop"} ) public class XpDropPlugin extends Plugin { - private static final int XPDROP_PADDING = 2; // space between xp drop icons - @Inject private Client client; @@ -76,116 +77,81 @@ public class XpDropPlugin extends Plugin } @Subscribe - public void onWidgetHiddenChanged(WidgetHiddenChanged event) + public void onScriptPreFired(ScriptPreFired scriptPreFired) { - Widget widget = event.getWidget(); - - int group = WidgetInfo.TO_GROUP(widget.getId()); - - if (group != WidgetID.EXPERIENCE_DROP_GROUP_ID) + if (scriptPreFired.getScriptId() == XPDROPS_SETDROPSIZE) { - return; + final int[] intStack = client.getIntStack(); + final int intStackSize = client.getIntStackSize(); + // This runs prior to the proc being invoked, so the arguments are still on the stack. + // Grab the first argument to the script. + final int widgetId = intStack[intStackSize - 4]; + processXpDrop(widgetId); } + } - if (widget.isHidden()) - { - return; - } + private void processXpDrop(int widgetId) + { + final Widget xpdrop = client.getWidget(TO_GROUP(widgetId), TO_CHILD(widgetId)); + final Widget[] children = xpdrop.getDynamicChildren(); + // child 0 is the xpdrop text, everything else are sprite ids for skills + final Widget text = children[0]; if (config.hideSkillIcons()) { - if (widget.getSpriteId() > 0) - { - widget.setHidden(true); - return; - } - else if (!widget.getText().isEmpty()) - { - // Align text accordingly to take up hidden skill icon space - int width = 0; - for (Widget w : widget.getParent().getDynamicChildren()) - { - if (w.getSpriteId() != -1) - { - if (width > 0) - { - // Add in space between sprites - width += XPDROP_PADDING; - } - width += w.getWidth(); // width of sprite - } - } - - final int xpDropPosition = client.getVar(Varbits.EXPERIENCE_TRACKER_POSITION); - switch (xpDropPosition) - { - case 2: // left - int cur = widget.getRelativeX(); - cur -= width; - widget.setRelativeX(cur); - break; - case 0: // right - break; - case 1: // center - cur = widget.getRelativeX(); - cur -= width / 2; - widget.setRelativeX(cur); - break; - } - } + // keep only text + xpdrop.setChildren(Arrays.copyOf(children, 1)); } PrayerType prayer = currentTickPrayer; if (prayer == null) { - resetTextColor(widget); + resetTextColor(text); return; } - String text = widget.getText(); final IntStream spriteIDs = - Arrays.stream(widget.getParent().getDynamicChildren()).mapToInt(Widget::getSpriteId); + Arrays.stream(children) + .skip(1) // skip text + .mapToInt(Widget::getSpriteId); - if (text != null) + int color = text.getTextColor(); + + switch (prayer) { - int color = widget.getTextColor(); - - switch (prayer) - { - case MELEE: - if (spriteIDs.anyMatch(id -> - id == SpriteID.SKILL_ATTACK || id == SpriteID.SKILL_STRENGTH || id == SpriteID.SKILL_DEFENCE - || correctPrayer)) - { - color = config.getMeleePrayerColor().getRGB(); - correctPrayer = true; - } - break; - case RANGE: - if (spriteIDs.anyMatch(id -> id == SpriteID.SKILL_RANGED || correctPrayer)) - { - color = config.getRangePrayerColor().getRGB(); - correctPrayer = true; - } - break; - case MAGIC: - if (spriteIDs.anyMatch(id -> id == SpriteID.SKILL_MAGIC || correctPrayer)) - { - color = config.getMagePrayerColor().getRGB(); - correctPrayer = true; - } - break; - } - - widget.setTextColor(color); + case MELEE: + if (correctPrayer || spriteIDs.anyMatch(id -> + id == SpriteID.SKILL_ATTACK || id == SpriteID.SKILL_STRENGTH || id == SpriteID.SKILL_DEFENCE)) + { + color = config.getMeleePrayerColor().getRGB(); + correctPrayer = true; + } + break; + case RANGE: + if (correctPrayer || spriteIDs.anyMatch(id -> id == SpriteID.SKILL_RANGED)) + { + color = config.getRangePrayerColor().getRGB(); + correctPrayer = true; + } + break; + case MAGIC: + if (correctPrayer || spriteIDs.anyMatch(id -> id == SpriteID.SKILL_MAGIC)) + { + color = config.getMagePrayerColor().getRGB(); + correctPrayer = true; + } + break; } + + text.setTextColor(color); } private void resetTextColor(Widget widget) { - int defaultColorIdx = client.getVar(Varbits.EXPERIENCE_DROP_COLOR); - int defaultColor = DefaultColors.values()[defaultColorIdx].getColor().getRGB(); - widget.setTextColor(defaultColor); + EnumComposition colorEnum = client.getEnum(EnumID.XPDROP_COLORS); + int defaultColorId = client.getVar(Varbits.EXPERIENCE_DROP_COLOR); + int color = colorEnum.getIntValue(defaultColorId); + widget.setTextColor(color); } private PrayerType getActivePrayerType() From 623de6326908ebcbab2e4a2f05bb7a1706a3fbc5 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 10 Jul 2020 00:07:46 -0400 Subject: [PATCH 053/189] xpdrops: reset xpdrop color on wrong prayer --- .../client/plugins/experiencedrop/XpDropPlugin.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java index ffbd13a067..987f5fffb2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java @@ -115,7 +115,7 @@ public class XpDropPlugin extends Plugin .skip(1) // skip text .mapToInt(Widget::getSpriteId); - int color = text.getTextColor(); + int color = -1; switch (prayer) { @@ -143,7 +143,14 @@ public class XpDropPlugin extends Plugin break; } - text.setTextColor(color); + if (color != -1) + { + text.setTextColor(color); + } + else + { + resetTextColor(text); + } } private void resetTextColor(Widget widget) From 122f74ae80200bc3ad81954366c97457d06a1bed Mon Sep 17 00:00:00 2001 From: Max Weber Date: Fri, 10 Jul 2020 03:51:47 -0600 Subject: [PATCH 054/189] npchighlight: Allow transparency on npc colors For parity with ground markers --- .../client/plugins/npchighlight/NpcIndicatorsConfig.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsConfig.java index 739ad7b59f..375d919aa5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsConfig.java @@ -25,6 +25,7 @@ package net.runelite.client.plugins.npchighlight; import java.awt.Color; +import net.runelite.client.config.Alpha; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; @@ -100,6 +101,7 @@ public interface NpcIndicatorsConfig extends Config name = "Highlight Color", description = "Color of the NPC highlight" ) + @Alpha default Color getHighlightColor() { return Color.CYAN; From a2118a57d8b65571750417d24a941e55b02ecaf5 Mon Sep 17 00:00:00 2001 From: Paulo Cabral Sanz Date: Thu, 9 Jul 2020 23:32:58 -0300 Subject: [PATCH 055/189] Add Nullable decorator to widget getter api --- runelite-api/src/main/java/net/runelite/api/Client.java | 2 ++ 1 file changed, 2 insertions(+) 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 cb5fee5e71..881cb4696e 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -486,6 +486,7 @@ public interface Client extends GameEngine * @param widget the widget info * @return the widget */ + @Nullable Widget getWidget(WidgetInfo widget); /** @@ -498,6 +499,7 @@ public interface Client extends GameEngine * @param childId the child widget ID * @return the widget corresponding to the group and child pair */ + @Nullable Widget getWidget(int groupId, int childId); /** From cb4b7d42ea9a85b0efacbbfb7c0b37909edc9a2a Mon Sep 17 00:00:00 2001 From: Jordan Atwood Date: Thu, 9 Jul 2020 14:56:46 -0700 Subject: [PATCH 056/189] KeyListener: Add isEnabledOnLoginScreen() method This commit moves login screen handling out of the KeyManager into the KeyListener interface so it does not need any knowledge of HotkeyListener's implementation. --- .../net/runelite/client/input/KeyListener.java | 4 ++++ .../net/runelite/client/input/KeyManager.java | 16 +++++----------- .../plugins/loginscreen/LoginScreenPlugin.java | 6 ++++++ .../java/net/runelite/client/ui/ClientUI.java | 4 ++-- .../net/runelite/client/util/HotkeyListener.java | 10 +++++++--- 5 files changed, 24 insertions(+), 16 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/input/KeyListener.java b/runelite-client/src/main/java/net/runelite/client/input/KeyListener.java index d8b72f4a04..06526149d3 100644 --- a/runelite-client/src/main/java/net/runelite/client/input/KeyListener.java +++ b/runelite-client/src/main/java/net/runelite/client/input/KeyListener.java @@ -26,4 +26,8 @@ package net.runelite.client.input; public interface KeyListener extends java.awt.event.KeyListener { + default boolean isEnabledOnLoginScreen() + { + return false; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/input/KeyManager.java b/runelite-client/src/main/java/net/runelite/client/input/KeyManager.java index 762e8efb86..b464e2fc84 100644 --- a/runelite-client/src/main/java/net/runelite/client/input/KeyManager.java +++ b/runelite-client/src/main/java/net/runelite/client/input/KeyManager.java @@ -32,7 +32,6 @@ import javax.inject.Inject; import javax.inject.Singleton; import net.runelite.api.Client; import net.runelite.api.GameState; -import net.runelite.client.util.HotkeyListener; @Singleton public class KeyManager @@ -133,18 +132,13 @@ public class KeyManager return true; } - if (!(keyListener instanceof HotkeyListener)) + final GameState gameState = client.getGameState(); + + if (gameState == GameState.LOGIN_SCREEN || gameState == GameState.LOGIN_SCREEN_AUTHENTICATOR) { - return true; + return keyListener.isEnabledOnLoginScreen(); } - final HotkeyListener hotkeyListener = (HotkeyListener) keyListener; - - if (hotkeyListener.isEnabledOnLogin()) - { - return true; - } - - return client.getGameState() != GameState.LOGIN_SCREEN && client.getGameState() != GameState.LOGIN_SCREEN_AUTHENTICATOR; + return true; } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenPlugin.java index b1b4303434..e338af7fe6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenPlugin.java @@ -183,6 +183,12 @@ public class LoginScreenPlugin extends Plugin implements KeyListener } } + @Override + public boolean isEnabledOnLoginScreen() + { + return true; + } + @Override public void keyTyped(KeyEvent e) { diff --git a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java index a5d85c577b..13c13c7c68 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java @@ -382,7 +382,7 @@ public class ClientUI toggleSidebar(); } }; - sidebarListener.setEnabledOnLogin(true); + sidebarListener.setEnabledOnLoginScreen(true); keyManager.registerKeyListener(sidebarListener); final HotkeyListener pluginPanelListener = new HotkeyListener(config::panelToggleKey) @@ -393,7 +393,7 @@ public class ClientUI togglePluginPanel(); } }; - pluginPanelListener.setEnabledOnLogin(true); + pluginPanelListener.setEnabledOnLoginScreen(true); keyManager.registerKeyListener(pluginPanelListener); // Add mouse listener diff --git a/runelite-client/src/main/java/net/runelite/client/util/HotkeyListener.java b/runelite-client/src/main/java/net/runelite/client/util/HotkeyListener.java index 6dd2d88aba..2099564846 100644 --- a/runelite-client/src/main/java/net/runelite/client/util/HotkeyListener.java +++ b/runelite-client/src/main/java/net/runelite/client/util/HotkeyListener.java @@ -26,7 +26,6 @@ package net.runelite.client.util; import java.awt.event.KeyEvent; import java.util.function.Supplier; -import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.Setter; import net.runelite.client.config.Keybind; @@ -42,8 +41,13 @@ public abstract class HotkeyListener implements KeyListener private boolean isConsumingTyped = false; @Setter - @Getter - private boolean isEnabledOnLogin = false; + private boolean enabledOnLoginScreen; + + @Override + public boolean isEnabledOnLoginScreen() + { + return enabledOnLoginScreen; + } @Override public void keyTyped(KeyEvent e) From e086a1155b426f0fa38ca784314e739c9ee3e6c6 Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 11 Jul 2020 11:46:22 -0400 Subject: [PATCH 057/189] xpdrops: fix recoloring xpdrops when prayer is flicked on the previous tick Previously the widget hidden event would not run until the next client tick, due to it being on a timer, and the game tick event being deferred until the next frame. Now that we are hooking to the script being executed it fires prior to the game tick event being fired. --- .../runelite/client/plugins/experiencedrop/XpDropPlugin.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java index 987f5fffb2..4d2bac8f29 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java @@ -68,7 +68,6 @@ public class XpDropPlugin extends Plugin private boolean correctPrayer; private Skill lastSkill = null; private Map previousSkillExpTable = new EnumMap<>(Skill.class); - private PrayerType currentTickPrayer; @Provides XpDropConfig provideConfig(ConfigManager configManager) @@ -103,7 +102,7 @@ public class XpDropPlugin extends Plugin xpdrop.setChildren(Arrays.copyOf(children, 1)); } - PrayerType prayer = currentTickPrayer; + PrayerType prayer = getActivePrayerType(); if (prayer == null) { resetTextColor(text); @@ -176,7 +175,6 @@ public class XpDropPlugin extends Plugin @Subscribe public void onGameTick(GameTick tick) { - currentTickPrayer = getActivePrayerType(); correctPrayer = false; final int fakeTickDelay = config.fakeXpDropDelay(); From 35381c41834924c0b15041a2868cfe884a72f891 Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 11 Jul 2020 12:12:13 -0400 Subject: [PATCH 058/189] xpdrops: fix hide skill icons We need to have the underlaying child array to make and assign back a copy to remove skill icons --- .../runelite/client/plugins/experiencedrop/XpDropPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java index 4d2bac8f29..6dc402012d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java @@ -92,7 +92,7 @@ public class XpDropPlugin extends Plugin private void processXpDrop(int widgetId) { final Widget xpdrop = client.getWidget(TO_GROUP(widgetId), TO_CHILD(widgetId)); - final Widget[] children = xpdrop.getDynamicChildren(); + final Widget[] children = xpdrop.getChildren(); // child 0 is the xpdrop text, everything else are sprite ids for skills final Widget text = children[0]; From 40c71a18c59b5f583b6872d8f22f39658f2da9c0 Mon Sep 17 00:00:00 2001 From: Kyle <48519776+xKylee@users.noreply.github.com> Date: Sat, 11 Jul 2020 18:42:49 +0100 Subject: [PATCH 059/189] WeaponMap: add missing LMS Items WeaponMap: add missing LMS Items --- .../net/runelite/client/util/WeaponMap.java | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/util/WeaponMap.java b/runelite-client/src/main/java/net/runelite/client/util/WeaponMap.java index 3e2836db29..7fcd8d26f4 100644 --- a/runelite-client/src/main/java/net/runelite/client/util/WeaponMap.java +++ b/runelite-client/src/main/java/net/runelite/client/util/WeaponMap.java @@ -9,7 +9,7 @@ public class WeaponMap static { - //Melee + //Melee StyleMap.put(ItemID._3RD_AGE_AXE, WeaponStyle.MELEE); StyleMap.put(ItemID._3RD_AGE_LONGSWORD, WeaponStyle.MELEE); StyleMap.put(ItemID._3RD_AGE_PICKAXE, WeaponStyle.MELEE); @@ -20,6 +20,7 @@ public class WeaponMap StyleMap.put(ItemID.ABYSSAL_DAGGER_P_13271, WeaponStyle.MELEE); StyleMap.put(ItemID.ABYSSAL_TENTACLE, WeaponStyle.MELEE); StyleMap.put(ItemID.ABYSSAL_WHIP, WeaponStyle.MELEE); + StyleMap.put(ItemID.ABYSSAL_WHIP_20405, WeaponStyle.MELEE); StyleMap.put(ItemID.ADAMANT_2H_SWORD, WeaponStyle.MELEE); StyleMap.put(ItemID.ADAMANT_AXE, WeaponStyle.MELEE); StyleMap.put(ItemID.ADAMANT_BATTLEAXE, WeaponStyle.MELEE); @@ -166,6 +167,7 @@ public class WeaponMap StyleMap.put(ItemID.DRAGON_CLAWS, WeaponStyle.MELEE); StyleMap.put(ItemID.DRAGON_CLAWS_20784, WeaponStyle.MELEE); StyleMap.put(ItemID.DRAGON_DAGGER, WeaponStyle.MELEE); + StyleMap.put(ItemID.DRAGON_DAGGER_20407, WeaponStyle.MELEE); StyleMap.put(ItemID.DRAGON_DAGGERP, WeaponStyle.MELEE); StyleMap.put(ItemID.DRAGON_DAGGERP_5680, WeaponStyle.MELEE); StyleMap.put(ItemID.DRAGON_DAGGERP_5698, WeaponStyle.MELEE); @@ -208,6 +210,7 @@ public class WeaponMap StyleMap.put(ItemID.FROZEN_ABYSSAL_WHIP, WeaponStyle.MELEE); StyleMap.put(ItemID.GADDERHAMMER, WeaponStyle.MELEE); StyleMap.put(ItemID.GHRAZI_RAPIER, WeaponStyle.MELEE); + StyleMap.put(ItemID.GHRAZI_RAPIER_23628, WeaponStyle.MELEE); StyleMap.put(ItemID.GILDED_2H_SWORD, WeaponStyle.MELEE); StyleMap.put(ItemID.GILDED_HASTA, WeaponStyle.MELEE); StyleMap.put(ItemID.GILDED_SCIMITAR, WeaponStyle.MELEE); @@ -219,6 +222,8 @@ public class WeaponMap StyleMap.put(ItemID.GRANITE_MAUL, WeaponStyle.MELEE); StyleMap.put(ItemID.GRANITE_MAUL_12848, WeaponStyle.MELEE); StyleMap.put(ItemID.GRANITE_MAUL_20557, WeaponStyle.MELEE); + StyleMap.put(ItemID.GRANITE_MAUL_24225, WeaponStyle.MELEE); + StyleMap.put(ItemID.GRANITE_MAUL_24227, WeaponStyle.MELEE); StyleMap.put(ItemID.GREEN_BANNER, WeaponStyle.MELEE); StyleMap.put(ItemID.GUTHANS_WARSPEAR, WeaponStyle.MELEE); StyleMap.put(ItemID.GUTHANS_WARSPEAR_0, WeaponStyle.MELEE); @@ -378,6 +383,8 @@ public class WeaponMap StyleMap.put(ItemID.SNOWBALL, WeaponStyle.MELEE); StyleMap.put(ItemID.SPEAR, WeaponStyle.MELEE); StyleMap.put(ItemID.STALE_BAGUETTE, WeaponStyle.MELEE); + StyleMap.put(ItemID.STATIUSS_WARHAMMER, WeaponStyle.MELEE); + StyleMap.put(ItemID.STATIUSS_WARHAMMER_23620, WeaponStyle.MELEE); StyleMap.put(ItemID.STEEL_2H_SWORD, WeaponStyle.MELEE); StyleMap.put(ItemID.STEEL_AXE, WeaponStyle.MELEE); StyleMap.put(ItemID.STEEL_BATTLEAXE, WeaponStyle.MELEE); @@ -421,6 +428,9 @@ public class WeaponMap StyleMap.put(ItemID.VERACS_FLAIL_75, WeaponStyle.MELEE); StyleMap.put(ItemID.VESTAS_BLIGHTED_LONGSWORD, WeaponStyle.MELEE); StyleMap.put(ItemID.VESTAS_LONGSWORD_INACTIVE, WeaponStyle.MELEE); + StyleMap.put(ItemID.VESTAS_LONGSWORD, WeaponStyle.MELEE); + StyleMap.put(ItemID.VESTAS_LONGSWORD_23615, WeaponStyle.MELEE); + StyleMap.put(ItemID.VESTAS_SPEAR, WeaponStyle.MELEE); StyleMap.put(ItemID.VIGGORAS_CHAINMACE, WeaponStyle.MELEE); StyleMap.put(ItemID.VIGGORAS_CHAINMACE_U, WeaponStyle.MELEE); StyleMap.put(ItemID.VOLCANIC_ABYSSAL_WHIP, WeaponStyle.MELEE); @@ -459,7 +469,7 @@ public class WeaponMap StyleMap.put(ItemID.ZAMORAK_GODSWORD_OR, WeaponStyle.MELEE); StyleMap.put(ItemID.ZOMBIE_HEAD, WeaponStyle.MELEE); - //Ranged + //Ranged StyleMap.put(ItemID._3RD_AGE_BOW, WeaponStyle.RANGE); StyleMap.put(ItemID.ADAMANT_CROSSBOW, WeaponStyle.RANGE); StyleMap.put(ItemID.ADAMANT_DART, WeaponStyle.RANGE); @@ -472,6 +482,7 @@ public class WeaponMap StyleMap.put(ItemID.ADAMANT_KNIFEP_5666, WeaponStyle.RANGE); StyleMap.put(ItemID.ADAMANT_THROWNAXE, WeaponStyle.RANGE); StyleMap.put(ItemID.ARMADYL_CROSSBOW, WeaponStyle.RANGE); + StyleMap.put(ItemID.ARMADYL_CROSSBOW_23611, WeaponStyle.RANGE); StyleMap.put(ItemID.BLACK_CHINCHOMPA, WeaponStyle.RANGE); StyleMap.put(ItemID.BLACK_DART, WeaponStyle.RANGE); StyleMap.put(ItemID.BLACK_DARTP, WeaponStyle.RANGE); @@ -539,6 +550,7 @@ public class WeaponMap StyleMap.put(ItemID.DRAGON_KNIFEP_22810, WeaponStyle.RANGE); StyleMap.put(ItemID.DRAGON_THROWNAXE, WeaponStyle.RANGE); StyleMap.put(ItemID.HEAVY_BALLISTA, WeaponStyle.RANGE); + StyleMap.put(ItemID.HEAVY_BALLISTA_23630, WeaponStyle.RANGE); StyleMap.put(ItemID.HOLY_WATER, WeaponStyle.RANGE); StyleMap.put(ItemID.HUNTERS_CROSSBOW, WeaponStyle.RANGE); StyleMap.put(ItemID.IRON_CROSSBOW, WeaponStyle.RANGE); @@ -578,6 +590,7 @@ public class WeaponMap StyleMap.put(ItemID.MITH_CROSSBOW, WeaponStyle.RANGE); StyleMap.put(ItemID.MONKEY_TALISMAN, WeaponStyle.RANGE); StyleMap.put(ItemID.MORRIGANS_JAVELIN, WeaponStyle.RANGE); + StyleMap.put(ItemID.MORRIGANS_JAVELIN_23619, WeaponStyle.RANGE); StyleMap.put(ItemID.MORRIGANS_THROWING_AXE, WeaponStyle.RANGE); StyleMap.put(ItemID.MUD_PIE, WeaponStyle.RANGE); StyleMap.put(ItemID.NEW_CRYSTAL_BOW, WeaponStyle.RANGE); @@ -589,6 +602,7 @@ public class WeaponMap StyleMap.put(ItemID.RED_CHINCHOMPA, WeaponStyle.RANGE); StyleMap.put(ItemID.RED_CHINCHOMPA_10034, WeaponStyle.RANGE); StyleMap.put(ItemID.RUNE_CROSSBOW, WeaponStyle.RANGE); + StyleMap.put(ItemID.RUNE_CROSSBOW_23601, WeaponStyle.RANGE); StyleMap.put(ItemID.RUNE_DART, WeaponStyle.RANGE); StyleMap.put(ItemID.RUNE_DARTP, WeaponStyle.RANGE); StyleMap.put(ItemID.RUNE_DARTP_5634, WeaponStyle.RANGE); @@ -624,7 +638,7 @@ public class WeaponMap StyleMap.put(ItemID.YEW_LONGBOW, WeaponStyle.RANGE); StyleMap.put(ItemID.YEW_SHORTBOW, WeaponStyle.RANGE); - //Magic + //Magic StyleMap.put(ItemID._3RD_AGE_WAND, WeaponStyle.MAGIC); StyleMap.put(ItemID.AHRIMS_STAFF, WeaponStyle.MAGIC); StyleMap.put(ItemID.AHRIMS_STAFF_0, WeaponStyle.MAGIC); @@ -632,6 +646,7 @@ public class WeaponMap StyleMap.put(ItemID.AHRIMS_STAFF_25, WeaponStyle.MAGIC); StyleMap.put(ItemID.AHRIMS_STAFF_50, WeaponStyle.MAGIC); StyleMap.put(ItemID.AHRIMS_STAFF_75, WeaponStyle.MAGIC); + StyleMap.put(ItemID.AHRIMS_STAFF_23653, WeaponStyle.MAGIC); StyleMap.put(ItemID.AIR_BATTLESTAFF, WeaponStyle.MAGIC); StyleMap.put(ItemID.ANCIENT_CROZIER, WeaponStyle.MAGIC); StyleMap.put(ItemID.ANCIENT_STAFF, WeaponStyle.MAGIC); @@ -659,6 +674,7 @@ public class WeaponMap StyleMap.put(ItemID.IBANS_STAFF_U, WeaponStyle.MAGIC); StyleMap.put(ItemID.IVANDIS_FLAIL, WeaponStyle.MAGIC); StyleMap.put(ItemID.KODAI_WAND, WeaponStyle.MAGIC); + StyleMap.put(ItemID.KODAI_WAND_23626, WeaponStyle.MAGIC); StyleMap.put(ItemID.LAVA_BATTLESTAFF, WeaponStyle.MAGIC); StyleMap.put(ItemID.LAVA_BATTLESTAFF_21198, WeaponStyle.MAGIC); StyleMap.put(ItemID.LUNAR_STAFF, WeaponStyle.MAGIC); @@ -714,6 +730,7 @@ public class WeaponMap StyleMap.put(ItemID.STAFF_OF_FIRE, WeaponStyle.MAGIC); StyleMap.put(ItemID.STAFF_OF_LIGHT, WeaponStyle.MAGIC); StyleMap.put(ItemID.STAFF_OF_THE_DEAD, WeaponStyle.MAGIC); + StyleMap.put(ItemID.STAFF_OF_THE_DEAD_23613, WeaponStyle.MAGIC); StyleMap.put(ItemID.STAFF_OF_WATER, WeaponStyle.MAGIC); StyleMap.put(ItemID.STARTER_STAFF, WeaponStyle.MAGIC); StyleMap.put(ItemID.STEAM_BATTLESTAFF, WeaponStyle.MAGIC); @@ -742,7 +759,8 @@ public class WeaponMap StyleMap.put(ItemID.ZAMORAK_CROZIER, WeaponStyle.MAGIC); StyleMap.put(ItemID.ZAMORAK_STAFF, WeaponStyle.MAGIC); StyleMap.put(ItemID.ZURIELS_STAFF, WeaponStyle.MAGIC); - //what the fuck... + StyleMap.put(ItemID.ZURIELS_STAFF_23617, WeaponStyle.MAGIC); + //what the fuck... StyleMap.put(ItemID.GNOMEBALL, WeaponStyle.MAGIC); } } From 16c78630fb431a8b0f9d0cffd02bfc1b5df9c39c Mon Sep 17 00:00:00 2001 From: Jordan Atwood Date: Sat, 11 Jul 2020 15:26:49 -0700 Subject: [PATCH 060/189] xpdrops: Fix white xp drop text recolors Selecting #FFFFFF as a prayer color yields an RGB value of -1. Since all values will be negative numbers, 0 should be used as an "unset" value instead. --- .../runelite/client/plugins/experiencedrop/XpDropPlugin.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java index 6dc402012d..b2198a6dfd 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java @@ -114,7 +114,7 @@ public class XpDropPlugin extends Plugin .skip(1) // skip text .mapToInt(Widget::getSpriteId); - int color = -1; + int color = 0; switch (prayer) { @@ -142,7 +142,7 @@ public class XpDropPlugin extends Plugin break; } - if (color != -1) + if (color != 0) { text.setTextColor(color); } From 236215b616505d35ec975203af1bc6c51ae88ccd Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Mon, 13 Jul 2020 00:43:52 +0100 Subject: [PATCH 061/189] client: re-add xtea keys --- .../net/runelite/http/api/RuneLiteAPI.java | 6 + .../runelite/http/api/xtea/XteaClient.java | 110 ++++++++++++++++++ .../client/plugins/xtea/XteaPlugin.java | 108 +++++++++++++++++ 3 files changed, 224 insertions(+) create mode 100644 http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java create mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java diff --git a/http-api/src/main/java/net/runelite/http/api/RuneLiteAPI.java b/http-api/src/main/java/net/runelite/http/api/RuneLiteAPI.java index c6452700e9..a92cd5bb59 100644 --- a/http-api/src/main/java/net/runelite/http/api/RuneLiteAPI.java +++ b/http-api/src/main/java/net/runelite/http/api/RuneLiteAPI.java @@ -66,6 +66,7 @@ public class RuneLiteAPI private static final String STATICBASE = "https://static.runelite.net"; private static final String OPENOSRS_SESSION = "http://session.openosrs.dev"; + private static final String OPENOSRS_XTEA = "http://xtea.openosrs.dev"; private static final String MAVEN_METADATA = "https://repo.runelite.net/net/runelite/runelite-parent/maven-metadata.xml"; private static final Properties properties = new Properties(); @@ -121,6 +122,11 @@ public class RuneLiteAPI return HttpUrl.parse(OPENOSRS_SESSION); } + public static HttpUrl getXteaBase() + { + return HttpUrl.parse(OPENOSRS_XTEA); + } + public static HttpUrl getApiBase() { final String prop = System.getProperty("runelite.http-service.url"); diff --git a/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java b/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java new file mode 100644 index 0000000000..7fb1d7ed3a --- /dev/null +++ b/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java @@ -0,0 +1,110 @@ +/* + * Copyright (c) 2017, Adam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.http.api.xtea; + +import com.google.gson.JsonParseException; +import com.google.gson.reflect.TypeToken; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.HashMap; +import net.runelite.http.api.RuneLiteAPI; +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.HttpUrl; +import okhttp3.Request; +import okhttp3.Response; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class XteaClient +{ + private static final Logger logger = LoggerFactory.getLogger(XteaClient.class); + + public void submit(int region, int[] keys) + { + + HttpUrl url = RuneLiteAPI.getXteaBase().newBuilder() + .addPathSegment("submit") + .addQueryParameter("region", String.valueOf(region)) + .addQueryParameter("key1", String.valueOf(keys[0])) + .addQueryParameter("key2", String.valueOf(keys[1])) + .addQueryParameter("key3", String.valueOf(keys[2])) + .addQueryParameter("key4", String.valueOf(keys[3])) + .build(); + + Request request = new Request.Builder() + .url(url) + .build(); + + RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback() + { + @Override + public void onFailure(Call call, IOException e) + { + logger.warn("unable to submit xtea keys", e); + } + + @Override + public void onResponse(Call call, Response response) + { + try + { + if (!response.isSuccessful()) + { + logger.debug("unsuccessful xtea response"); + } + } + finally + { + response.close(); + } + } + }); + } + + public HashMap get() throws IOException + { + HttpUrl url = RuneLiteAPI.getXteaBase().newBuilder() + .addPathSegment("get") + .build(); + + Request request = new Request.Builder() + .url(url) + .build(); + + try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + { + InputStream in = response.body().byteStream(); + // CHECKSTYLE:OFF + return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), new TypeToken>() {}.getType()); + // CHECKSTYLE:ON + } + catch (JsonParseException ex) + { + throw new IOException(ex); + } + } +} \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java new file mode 100644 index 0000000000..42bd53f440 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2017, Adam + * Copyright (c) 2020, ThatGamerBlue + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.plugins.xtea; + +import java.io.IOException; +import java.util.HashMap; +import javax.inject.Inject; +import lombok.extern.slf4j.Slf4j; +import net.runelite.api.Client; +import net.runelite.api.GameState; +import net.runelite.api.events.GameStateChanged; +import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.plugins.Plugin; +import net.runelite.client.plugins.PluginDescriptor; +import net.runelite.http.api.xtea.XteaClient; +import org.apache.commons.lang3.ArrayUtils; + +@PluginDescriptor( + name = "Xtea", + hidden = true +) +@Slf4j +public class XteaPlugin extends Plugin +{ + private final XteaClient xteaClient = new XteaClient(); + + @Inject + private Client client; + + private HashMap xteas; + + { + try + { + xteas = xteaClient.get(); + } + catch (IOException e) + { + e.printStackTrace(); + } + } + + @Subscribe + private void onGameStateChanged(GameStateChanged gameStateChanged) + { + if (gameStateChanged.getGameState() != GameState.LOGGED_IN) + { + return; + } + + int[] regions = client.getMapRegions(); + int[][] xteaKeys = client.getXteaKeys(); + + for (int idx = 0; idx < regions.length; ++idx) + { + int region = regions[idx]; + int[] keys = xteaKeys[idx]; + + if (xteas.get(region) != null && areKeysEqual(xteas.get(region), keys)) + { + continue; + } + + xteas.put(region, ArrayUtils.toObject(keys)); + + log.info("Submitting region {} keys {}, {}, {}, {}", region, keys[0], keys[1], keys[2], keys[3]); + + //Don't post non encrypted regions + if (keys[0] == 0 && keys[1] == 0 && keys[2] == 0 && keys[3] == 0) + { + continue; + } + + xteaClient.submit(region, keys); + } + } + + private boolean areKeysEqual(Integer[] existingKeys, int[] newKeys) + { + return existingKeys[0] == newKeys[0] && + existingKeys[1] == newKeys[1] && + existingKeys[2] == newKeys[2] && + existingKeys[3] == newKeys[3]; + } +} \ No newline at end of file From 703ab49c3651c6f9661a9b33b41127c1c930f73b Mon Sep 17 00:00:00 2001 From: Henry Darnell Date: Sun, 12 Jul 2020 21:44:43 -0500 Subject: [PATCH 062/189] ThinProgressBar: Further darken background color (#11916) Most colors will not be of a sufficient (3:1) contrast ratio when being darkened only once. This commit darkens the background color to reach that threshold to be more clearly differentiated from the foreground color. --- .../java/net/runelite/client/ui/components/ThinProgressBar.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/components/ThinProgressBar.java b/runelite-client/src/main/java/net/runelite/client/ui/components/ThinProgressBar.java index f80ff5b740..4b9b798c81 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/components/ThinProgressBar.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/components/ThinProgressBar.java @@ -61,7 +61,7 @@ public class ThinProgressBar extends JPanel public void setForeground(Color color) { super.setForeground(color); - setBackground(color.darker()); + setBackground(color.darker().darker()); } public void setMaximumValue(int maximumValue) From ef0124813617aa41a5b50b49bf0f9f6f1689fb80 Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Sun, 12 Jul 2020 22:55:01 -0400 Subject: [PATCH 063/189] ItemChargeConfig: Improve grammar and wording (#11881) --- .../plugins/itemcharges/ItemChargeConfig.java | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargeConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargeConfig.java index 81e527ca66..5bc0e9e167 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargeConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargeConfig.java @@ -51,7 +51,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "veryLowWarningColor", name = "Very Low Warning Color", - description = "Configure the color of the overlay when charges are very low", + description = "The color of the overlay when charges are very low", position = 1 ) default Color veryLowWarningColor() @@ -62,7 +62,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "lowWarningColor", name = "Low Warning Color", - description = "Configure the color of the overlay when charges are low", + description = "The color of the overlay when charges are low", position = 2 ) default Color lowWarningolor() @@ -73,7 +73,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "veryLowWarning", name = "Very Low Warning", - description = "Configure the charge count for the very low warning color", + description = "The charge count for the very low warning color", position = 3 ) default int veryLowWarning() @@ -84,7 +84,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "lowWarning", name = "Low Warning", - description = "Configure the charge count for the low warning color", + description = "The charge count for the low warning color", position = 4 ) default int lowWarning() @@ -95,7 +95,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "showTeleportCharges", name = "Show Teleport Charges", - description = "Configures if teleport item count is shown", + description = "Show teleport item charge counts", position = 5, section = chargesSection ) @@ -107,7 +107,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "showDodgyCount", name = "Dodgy Necklace Count", - description = "Configures if Dodgy Necklace charge count is shown", + description = "Show Dodgy necklace charges", position = 6, section = chargesSection ) @@ -119,7 +119,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "dodgyNotification", name = "Dodgy Necklace Notification", - description = "Configures if the dodgy necklace breaking notification is shown", + description = "Send a notification when a Dodgy necklace breaks", position = 7, section = notificationSection ) @@ -149,7 +149,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "showImpCharges", name = "Show Imp-in-a-box charges", - description = "Configures if imp-in-a-box item charges is shown", + description = "Show Imp-in-a-box item charges", position = 8, section = chargesSection ) @@ -161,7 +161,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "showFungicideCharges", name = "Show Fungicide Charges", - description = "Configures if fungicide item charges is shown", + description = "Show Fungicide item charges", position = 9, section = chargesSection ) @@ -173,7 +173,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "showWateringCanCharges", name = "Show Watering Can Charges", - description = "Configures if watering can item charge is shown", + description = "Show Watering can item charges", position = 10, section = chargesSection ) @@ -185,7 +185,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "showWaterskinCharges", name = "Show Waterskin Charges", - description = "Configures if waterskin item charge is shown", + description = "Show Waterskin dose counts", position = 11, section = chargesSection ) @@ -196,8 +196,8 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "showBellowCharges", - name = "Show Bellow Charges", - description = "Configures if ogre bellow item charge is shown", + name = "Show Bellows Charges", + description = "Show Ogre bellows item charges", position = 12, section = chargesSection ) @@ -209,7 +209,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "showBasketCharges", name = "Show Basket Charges", - description = "Configures if fruit basket item charge is shown", + description = "Show Fruit basket item counts", position = 13, section = chargesSection ) @@ -221,7 +221,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "showSackCharges", name = "Show Sack Charges", - description = "Configures if sack item charge is shown", + description = "Show Sack item counts", position = 14, section = chargesSection ) @@ -233,7 +233,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "showAbyssalBraceletCharges", name = "Show Abyssal Bracelet Charges", - description = "Configures if abyssal bracelet item charge is shown", + description = "Show Abyssal bracelet item charges", position = 15, section = chargesSection ) @@ -245,7 +245,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "showAmuletOfChemistryCharges", name = "Show Amulet of Chemistry Charges", - description = "Configures if amulet of chemistry item charge is shown", + description = "Show Amulet of chemistry item charges", position = 16, section = chargesSection ) @@ -275,7 +275,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "showAmuletOfBountyCharges", name = "Show Amulet of Bounty Charges", - description = "Configures if amulet of bounty item charge is shown", + description = "Show Amulet of bounty item charges", position = 17, section = chargesSection ) @@ -305,7 +305,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "recoilNotification", name = "Ring of Recoil Notification", - description = "Configures if the ring of recoil breaking notification is shown", + description = "Send a notification when a Ring of recoil breaks", position = 18, section = notificationSection ) @@ -317,7 +317,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "showBindingNecklaceCharges", name = "Show Binding Necklace Charges", - description = "Configures if binding necklace item charge is shown", + description = "Show Binding necklace item charges", position = 19, section = chargesSection ) @@ -347,7 +347,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "bindingNotification", name = "Binding Necklace Notification", - description = "Configures if the binding necklace breaking notification is shown", + description = "Send a notification when a Binding necklace breaks", position = 20, section = notificationSection ) @@ -359,7 +359,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "showExplorerRingCharges", name = "Show Explorer's Ring Alch Charges", - description = "Configures if explorer's ring alchemy charges are shown", + description = "Show Explorer's ring alchemy charges", position = 21, section = chargesSection ) @@ -389,7 +389,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "showRingOfForgingCount", name = "Show Ring of Forging Charges", - description = "Configures if the Ring of Forging charge count is shown", + description = "Show Ring of forging item charges", position = 22, section = chargesSection ) @@ -419,7 +419,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "ringOfForgingNotification", name = "Ring of Forging Notification", - description = "Configures if the Ring of Forging breaking notification is enabled", + description = "Send a notification when a Ring of forging breaks", position = 23, section = notificationSection ) @@ -431,7 +431,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "showInfoboxes", name = "Show Infoboxes", - description = "Configures whether to show an infobox equipped charge items", + description = "Show an infobox with remaining charges for equipped items", position = 24 ) default boolean showInfoboxes() @@ -442,7 +442,7 @@ public interface ItemChargeConfig extends Config @ConfigItem( keyName = "showPotionDoseCount", name = "Show Potion Doses", - description = "Configures if potion doses are shown", + description = "Show remaining potion doses", position = 25, section = chargesSection ) From d6302702a9355032b7ea770ea5e5dc36a9e24617 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 13 Jul 2020 13:40:54 -0400 Subject: [PATCH 064/189] clues: correct spelling of Burthorpe --- .../client/plugins/cluescrolls/clues/CrypticClue.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java index 47f02029b4..f9ff8a6ec1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java @@ -231,7 +231,7 @@ public class CrypticClue extends ClueScroll implements TextClueScroll, NpcClueSc new CrypticClue("Talk to Cassie in Falador.", "Cassie", new WorldPoint(2975, 3383, 0), "Cassie is found just south-east of the northern Falador gate."), new CrypticClue("Faint sounds of 'Arr', fire giants found deep, the eastern tip of a lake, are the rewards you could reap.", new WorldPoint(3055, 10338, 0), "Dig south of the pillar in the Deep Wilderness Dungeon in the room with the fire giants."), new CrypticClue("If you're feeling brave, dig beneath the dragon's eye.", new WorldPoint(2410, 4714, 0), "Dig below the mossy rock under the Viyeldi caves (Legend's Quest). Items needed: Pickaxe, unpowered orb, lockpick, spade, any charge orb spell, and either 79 agility or an axe and machete."), - new CrypticClue("Search the tents in the Imperial Guard camp in Burthorpe for some boxes.", BOXES_3686, new WorldPoint(2885, 3540, 0), "Search in the tents in the northwest corner of the soldiers' camp in Burthrope."), + new CrypticClue("Search the tents in the Imperial Guard camp in Burthorpe for some boxes.", BOXES_3686, new WorldPoint(2885, 3540, 0), "Search in the tents in the northwest corner of the soldiers' camp in Burthorpe."), new CrypticClue("A dwarf, approaching death, but very much in the light.", "Thorgel", new WorldPoint(1863, 4639, 0), "Speak to Thorgel at the entrance to the Death altar."), new CrypticClue("You must be 100 to play with me.", "Squire (Veteran)", new WorldPoint(2638, 2656, 0), "Speak to the Veteran boat squire at Pest Control."), new CrypticClue("Three rule below and three sit at top. Come dig at my entrance.", new WorldPoint(2523, 3739, 0), "Dig in front of the entrance to the Waterbirth Island Dungeon."), @@ -319,7 +319,7 @@ public class CrypticClue extends ClueScroll implements TextClueScroll, NpcClueSc new CrypticClue("Search the crates in Falador General store.", CRATES_24088, new WorldPoint(2955, 3390, 0), "The Falador General Store can be found by the northern entrance to the city."), new CrypticClue("Talk to Wayne at Wayne's Chains in Falador.", "Wayne", new WorldPoint(2972, 3312, 0), "Wayne's shop is found directly south of the White Knights' Castle."), new CrypticClue("Search the boxes next to a chest that needs a crystal key.", BOXES_360, new WorldPoint(2915, 3452, 0), "The Crystal chest can be found in the house directly south of the Witch's house in Taverley."), - new CrypticClue("Talk to Turael in Burthorpe.", "Turael", new WorldPoint(2930, 3536, 0), "Turael is located in the small house east of the Toad and Chicken inn in Burthrope."), + new CrypticClue("Talk to Turael in Burthorpe.", "Turael", new WorldPoint(2930, 3536, 0), "Turael is located in the small house east of the Toad and Chicken inn in Burthorpe."), new CrypticClue("More resources than I can handle, but in a very dangerous area. Can't wait to strike gold!", new WorldPoint(3183, 3941, 0), "Dig between the three gold ores in the Wilderness Resource Area."), new CrypticClue("Observing someone in a swamp, under the telescope lies treasure.", new WorldPoint(2221, 3091, 0), "Dig next to the telescope on Broken Handz's island in the poison wastes. (Accessible only through fairy ring DLR)"), new CrypticClue("A general who sets a 'shining' example.", "General Hining", new WorldPoint(2186, 3148, 0), "Talk to General Hining in Tyras Camp."), From ed5868b5269616254e469d6e4b50cf0d535299ec Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Thu, 9 Jul 2020 13:15:49 -0400 Subject: [PATCH 065/189] chat commands: add ape atoll agility to longBossName --- .../client/plugins/chatcommands/ChatCommandsPlugin.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java index 4a8bbe2b13..0c67b12c94 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java @@ -1696,6 +1696,11 @@ public class ChatCommandsPlugin extends Plugin case "hs 5": return "Hallowed Sepulchre Floor 5"; + // Ape Atoll Agility + case "aa": + case "ape atoll": + return "Ape Atoll Agility"; + default: return WordUtils.capitalize(boss); } From 6c6238d60f41c98aee2bb8b08ded040351e7ef27 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Sat, 11 Jul 2020 01:39:58 -0600 Subject: [PATCH 066/189] runelite-client: avoid Widget::getDynamicChildren where trivial --- .../runelite/client/plugins/bank/BankPlugin.java | 5 ++--- .../plugins/banktags/tabs/TabInterface.java | 2 +- .../client/plugins/examine/ExaminePlugin.java | 15 ++++++--------- .../plugins/experiencedrop/XpDropPlugin.java | 2 +- .../grandexchange/GrandExchangePlugin.java | 2 +- 5 files changed, 11 insertions(+), 15 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java index c7c1540137..5b0524888e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java @@ -363,8 +363,8 @@ public class BankPlugin extends Plugin return; } - final Widget[] children = titleContainer.getDynamicChildren(); - if (children == null || children.length < 2) + final Widget title = titleContainer.getChild(1); + if (title == null) { return; } @@ -377,7 +377,6 @@ public class BankPlugin extends Plugin final String titleText = createValueText(prices); - final Widget title = children[1]; title.setText(SEED_VAULT_TITLE + titleText); } 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 a9c930258f..561f71a81f 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 @@ -1113,7 +1113,7 @@ public class TabInterface incinerator.setOriginalWidth(INCINERATOR_WIDTH); incinerator.setOriginalY(INCINERATOR_HEIGHT); - Widget child = incinerator.getDynamicChildren()[0]; + Widget child = incinerator.getChild(0); child.setOriginalHeight(INCINERATOR_HEIGHT); child.setOriginalWidth(INCINERATOR_WIDTH); child.setWidthMode(WidgetSizeMode.ABSOLUTE); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java index 9292359d99..b2a6db3028 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java @@ -293,28 +293,25 @@ public class ExaminePlugin extends Plugin || WidgetID.PLAYER_TRADE_SCREEN_GROUP_ID == widgetGroup || WidgetID.PLAYER_TRADE_INVENTORY_GROUP_ID == widgetGroup) { - Widget[] children = widget.getDynamicChildren(); - if (actionParam < children.length) + Widget widgetItem = widget.getChild(actionParam); + if (widgetItem != null) { - Widget widgetItem = children[actionParam]; return new int[]{widgetItem.getItemQuantity(), widgetItem.getItemId()}; } } else if (WidgetInfo.SHOP_ITEMS_CONTAINER.getGroupId() == widgetGroup) { - Widget[] children = widget.getDynamicChildren(); - if (actionParam < children.length) + Widget widgetItem = widget.getChild(actionParam); + if (widgetItem != null) { - Widget widgetItem = children[actionParam]; return new int[]{1, widgetItem.getItemId()}; } } else if (WidgetID.SEED_VAULT_GROUP_ID == widgetGroup) { - Widget[] children = client.getWidget(SEED_VAULT_ITEM_CONTAINER).getDynamicChildren(); - if (actionParam < children.length) + Widget widgetItem = client.getWidget(SEED_VAULT_ITEM_CONTAINER).getChild(actionParam); + if (widgetItem != null) { - Widget widgetItem = children[actionParam]; return new int[]{widgetItem.getItemQuantity(), widgetItem.getItemId()}; } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java index b2198a6dfd..b5ddf8bb22 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java @@ -99,7 +99,7 @@ public class XpDropPlugin extends Plugin if (config.hideSkillIcons()) { // keep only text - xpdrop.setChildren(Arrays.copyOf(children, 1)); + Arrays.fill(children, 1, children.length, null); } PrayerType prayer = getActivePrayerType(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java index be52533acc..ef944b4516 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java @@ -618,7 +618,7 @@ public class GrandExchangePlugin extends Plugin case WidgetID.GRAND_EXCHANGE_GROUP_ID: Widget grandExchangeOffer = client.getWidget(WidgetInfo.GRAND_EXCHANGE_OFFER_CONTAINER); grandExchangeText = client.getWidget(WidgetInfo.GRAND_EXCHANGE_OFFER_TEXT); - grandExchangeItem = grandExchangeOffer.getDynamicChildren()[OFFER_CONTAINER_ITEM]; + grandExchangeItem = grandExchangeOffer.getChild(OFFER_CONTAINER_ITEM); break; // Grand exchange was closed (if it was open before). case WidgetID.INVENTORY_GROUP_ID: From f0b7be68ba2a6d47f5102dffbc92bd5953d209c5 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Fri, 10 Jul 2020 17:20:43 -0600 Subject: [PATCH 067/189] npchighlight: factor out npc name tag checking --- .../npchighlight/NpcIndicatorsPlugin.java | 41 +++++++++++-------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java index 0990ff39a7..5a6c0a746c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java @@ -385,17 +385,13 @@ public class NpcIndicatorsPlugin extends Plugin return; } - for (String highlight : highlights) + if (highlightMatchesNPCName(npcName)) { - if (WildcardMatcher.matches(highlight, npcName)) + highlightedNpcs.add(npc); + if (!client.isInInstancedRegion()) { - highlightedNpcs.add(npc); - if (!client.isInInstancedRegion()) - { - memorizeNpc(npc); - spawnedNpcsThisTick.add(npc); - } - break; + memorizeNpc(npc); + spawnedNpcsThisTick.add(npc); } } } @@ -529,7 +525,6 @@ public class NpcIndicatorsPlugin extends Plugin return; } - outer: for (NPC npc : client.getNpcs()) { final String npcName = npc.getName(); @@ -545,17 +540,14 @@ public class NpcIndicatorsPlugin extends Plugin continue; } - for (String highlight : highlights) + if (highlightMatchesNPCName(npcName)) { - if (WildcardMatcher.matches(highlight, npcName)) + if (!client.isInInstancedRegion()) { - if (!client.isInInstancedRegion()) - { - memorizeNpc(npc); - } - highlightedNpcs.add(npc); - continue outer; + memorizeNpc(npc); } + highlightedNpcs.add(npc); + continue; } // NPC is not highlighted @@ -563,6 +555,19 @@ public class NpcIndicatorsPlugin extends Plugin } } + private boolean highlightMatchesNPCName(String npcName) + { + for (String highlight : highlights) + { + if (WildcardMatcher.matches(highlight, npcName)) + { + return true; + } + } + + return false; + } + private void validateSpawnedNpcs() { if (skipNextSpawnCheck) From f0a8b678204c7edc1b9854fca1a14fe2ad20bd2a Mon Sep 17 00:00:00 2001 From: Max Weber Date: Fri, 10 Jul 2020 17:21:33 -0600 Subject: [PATCH 068/189] npchighlight: don't unhighlight name tagged npcs if unindex-tagging them --- .../client/plugins/npchighlight/NpcIndicatorsPlugin.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java index 5a6c0a746c..4b9ad27bcf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java @@ -344,8 +344,11 @@ public class NpcIndicatorsPlugin extends Plugin if (removed) { - highlightedNpcs.remove(npc); - memorizedNpcs.remove(npc.getIndex()); + if (!highlightMatchesNPCName(npc.getName())) + { + highlightedNpcs.remove(npc); + memorizedNpcs.remove(npc.getIndex()); + } } else { From 4308d433a27f5eaf8adde36ef8e55fd85cf51456 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Fri, 10 Jul 2020 19:29:59 -0600 Subject: [PATCH 069/189] npchighlight: Don't iterate npcs off the client thread --- .../npchighlight/NpcIndicatorsPlugin.java | 25 +++++++++++-------- .../npchighlight/NpcIndicatorsPluginTest.java | 9 ++----- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java index 4b9ad27bcf..24e5bbf9a5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java @@ -187,7 +187,6 @@ public class NpcIndicatorsPlugin extends Plugin { overlayManager.add(npcSceneOverlay); overlayManager.add(npcMinimapOverlay); - highlights = getHighlights(); clientThread.invoke(() -> { skipNextSpawnCheck = true; @@ -200,13 +199,16 @@ public class NpcIndicatorsPlugin extends Plugin { overlayManager.remove(npcSceneOverlay); overlayManager.remove(npcMinimapOverlay); - deadNpcsToDisplay.clear(); - memorizedNpcs.clear(); - spawnedNpcsThisTick.clear(); - despawnedNpcsThisTick.clear(); - teleportGraphicsObjectSpawnedThisTick.clear(); - npcTags.clear(); - highlightedNpcs.clear(); + clientThread.invoke(() -> + { + deadNpcsToDisplay.clear(); + memorizedNpcs.clear(); + spawnedNpcsThisTick.clear(); + despawnedNpcsThisTick.clear(); + teleportGraphicsObjectSpawnedThisTick.clear(); + npcTags.clear(); + highlightedNpcs.clear(); + }); } @Subscribe @@ -231,8 +233,7 @@ public class NpcIndicatorsPlugin extends Plugin return; } - highlights = getHighlights(); - rebuildAllNpcs(); + clientThread.invoke(this::rebuildAllNpcs); } @Subscribe @@ -516,8 +517,10 @@ public class NpcIndicatorsPlugin extends Plugin return Text.fromCSV(configNpcs); } - private void rebuildAllNpcs() + @VisibleForTesting + void rebuildAllNpcs() { + highlights = getHighlights(); highlightedNpcs.clear(); if (client.getGameState() != GameState.LOGGED_IN && diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPluginTest.java index 7884a7c81b..1260c5df0d 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPluginTest.java @@ -38,7 +38,6 @@ import net.runelite.api.MenuEntry; import net.runelite.api.NPC; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.NpcSpawned; -import net.runelite.client.events.ConfigChanged; import net.runelite.client.ui.overlay.OverlayManager; import static org.junit.Assert.assertEquals; import org.junit.Before; @@ -97,9 +96,7 @@ public class NpcIndicatorsPluginTest when(npcIndicatorsConfig.getNpcToHighlight()).thenReturn("goblin"); when(npcIndicatorsConfig.deadNpcMenuColor()).thenReturn(Color.RED); - ConfigChanged configChanged = new ConfigChanged(); - configChanged.setGroup("npcindicators"); - npcIndicatorsPlugin.onConfigChanged(configChanged); + npcIndicatorsPlugin.rebuildAllNpcs(); NPC npc = mock(NPC.class); when(npc.getName()).thenReturn("Goblin"); @@ -124,9 +121,7 @@ public class NpcIndicatorsPluginTest when(npcIndicatorsConfig.highlightMenuNames()).thenReturn(true); when(npcIndicatorsConfig.getHighlightColor()).thenReturn(Color.BLUE); - ConfigChanged configChanged = new ConfigChanged(); - configChanged.setGroup("npcindicators"); - npcIndicatorsPlugin.onConfigChanged(configChanged); + npcIndicatorsPlugin.rebuildAllNpcs(); NPC npc = mock(NPC.class); when(npc.getName()).thenReturn("Goblin"); From eb251a7e852e4a99f033dc3cd4c8cca6795b0396 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Fri, 26 Jun 2020 22:52:19 -0600 Subject: [PATCH 070/189] rl-client: Prevent chat inputs from taking keys from the worldmap search KeyRemapping has this check too, and [proc,keypress_permit] has similar, though not identical one. --- .../client/game/chatbox/ChatboxItemSearch.java | 5 +++++ .../client/game/chatbox/ChatboxPanelManager.java | 8 ++++++++ .../runelite/client/game/chatbox/ChatboxTextInput.java | 10 ++++++++++ .../client/game/chatbox/ChatboxTextMenuInput.java | 10 ++++++++++ .../plugins/wiki/WikiSearchChatboxTextInput.java | 5 +++++ 5 files changed, 38 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxItemSearch.java b/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxItemSearch.java index 3796b8f2c3..2599e55dc7 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxItemSearch.java +++ b/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxItemSearch.java @@ -184,6 +184,11 @@ public class ChatboxItemSearch extends ChatboxTextInput @Override public void keyPressed(KeyEvent ev) { + if (!chatboxPanelManager.shouldTakeInput()) + { + return; + } + switch (ev.getKeyCode()) { case KeyEvent.VK_ENTER: 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 e9d7c5641c..38bb623b95 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 @@ -199,4 +199,12 @@ public class ChatboxPanelManager { return client.getWidget(WidgetInfo.CHATBOX_CONTAINER); } + + public boolean shouldTakeInput() + { + // the search box on the world map can be focused, and chat input goes there, even + // though the chatbox still has its key listener. + Widget worldMapSearch = client.getWidget(WidgetInfo.WORLD_MAP_SEARCH); + return worldMapSearch == null || client.getVar(VarClientInt.WORLD_MAP_SEARCH_FOCUSED) != 1; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxTextInput.java b/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxTextInput.java index 4d2bfe8170..a11aad1e1c 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxTextInput.java +++ b/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxTextInput.java @@ -609,6 +609,11 @@ public class ChatboxTextInput extends ChatboxInput implements KeyListener, Mouse @Override public void keyTyped(KeyEvent e) { + if (!chatboxPanelManager.shouldTakeInput()) + { + return; + } + char c = e.getKeyChar(); if (charValidator.test(c)) { @@ -628,6 +633,11 @@ public class ChatboxTextInput extends ChatboxInput implements KeyListener, Mouse @Override public void keyPressed(KeyEvent ev) { + if (!chatboxPanelManager.shouldTakeInput()) + { + return; + } + int code = ev.getKeyCode(); if (ev.isControlDown()) { diff --git a/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxTextMenuInput.java b/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxTextMenuInput.java index 94f3c10dcc..bc637a6528 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxTextMenuInput.java +++ b/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxTextMenuInput.java @@ -178,6 +178,11 @@ public class ChatboxTextMenuInput extends ChatboxInput implements KeyListener @Override public void keyTyped(KeyEvent e) { + if (!chatboxPanelManager.shouldTakeInput()) + { + return; + } + char c = e.getKeyChar(); if (c == '\033') @@ -198,6 +203,11 @@ public class ChatboxTextMenuInput extends ChatboxInput implements KeyListener @Override public void keyPressed(KeyEvent e) { + if (!chatboxPanelManager.shouldTakeInput()) + { + return; + } + if (e.getKeyCode() == KeyEvent.VK_ESCAPE) { e.consume(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiSearchChatboxTextInput.java b/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiSearchChatboxTextInput.java index c4eee8374f..17607d6149 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiSearchChatboxTextInput.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiSearchChatboxTextInput.java @@ -256,6 +256,11 @@ public class WikiSearchChatboxTextInput extends ChatboxTextInput @Override public void keyPressed(KeyEvent ev) { + if (!chatboxPanelManager.shouldTakeInput()) + { + return; + } + switch (ev.getKeyCode()) { case KeyEvent.VK_UP: From 1ee41dba5abf57c79ce582ca55c27bc323ee7f25 Mon Sep 17 00:00:00 2001 From: melkypie <5113962+melkypie@users.noreply.github.com> Date: Sun, 28 Jun 2020 17:24:06 +0300 Subject: [PATCH 071/189] loot tracker: move cox loot value message from raids to loot tracker Reverts commit bf0ff69e07eaebd12ada127ae55113456c19209d. Fixes the bug of double loot messages and adds the ability to use HA for loot value messages. --- .../loottracker/LootTrackerConfig.java | 10 ++++ .../loottracker/LootTrackerPlugin.java | 24 +++++++++ .../client/plugins/raids/RaidsConfig.java | 13 +---- .../client/plugins/raids/RaidsPlugin.java | 51 ------------------- .../loottracker/LootTrackerPluginTest.java | 41 +++++++++++++++ .../client/plugins/raids/RaidsPluginTest.java | 46 ----------------- 6 files changed, 76 insertions(+), 109 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerConfig.java index a33534d975..368d06fa4c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerConfig.java @@ -138,4 +138,14 @@ public interface LootTrackerConfig extends Config { return false; } + + @ConfigItem( + keyName = "showRaidsLootValue", + name = "Show chat message for raids loot", + description = "Adds a chat message that displays the value of your loot at the end of the raid." + ) + default boolean showRaidsLootValue() + { + return true; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java index 6707251dd7..6d31251008 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java @@ -547,6 +547,30 @@ public class LootTrackerPlugin extends Plugin .map(item -> new ItemStack(item.getId(), item.getQuantity(), client.getLocalPlayer().getLocalLocation())) .collect(Collectors.toList()); + if (config.showRaidsLootValue() && event.equals("Chambers of Xeric")) + { + long totalValue = items.stream() + .filter(item -> item.getId() > -1) + .mapToLong(item -> (long) (config.priceType() == LootTrackerPriceType.GRAND_EXCHANGE ? + itemManager.getItemPrice(item.getId()) * item.getQuantity() : + itemManager.getItemComposition(item.getId()).getHaPrice() * item.getQuantity())) + .sum(); + + String chatMessage = new ChatMessageBuilder() + .append(ChatColorType.NORMAL) + .append("Your loot is worth around ") + .append(ChatColorType.HIGHLIGHT) + .append(QuantityFormatter.formatNumber(totalValue)) + .append(ChatColorType.NORMAL) + .append(" coins.") + .build(); + + chatMessageManager.queue(QueuedMessage.builder() + .type(ChatMessageType.FRIENDSCHATNOTIFICATION) + .runeLiteFormattedMessage(chatMessage) + .build()); + } + if (items.isEmpty()) { log.debug("No items to find for Event: {} | Container: {}", event, container); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsConfig.java index 25f8062fd8..5a1a81bf7e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsConfig.java @@ -178,17 +178,6 @@ public interface RaidsConfig extends Config @ConfigItem( position = 13, - keyName = "showLootValue", - name = "Show Loot Value", - description = "Shows the value of your loot at the end of a raid" - ) - default boolean showLootValue() - { - return true; - } - - @ConfigItem( - position = 14, keyName = "screenshotHotkey", name = "Scouter screenshot hotkey", description = "Hotkey used to screenshot the scouting overlay" @@ -199,7 +188,7 @@ public interface RaidsConfig extends Config } @ConfigItem( - position = 15, + position = 14, keyName = "uploadScreenshot", name = "Upload scouting screenshot", description = "Uploads the scouting screenshot to Imgur or the clipboard" diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java index 57b74bd469..e251d701f6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java @@ -51,8 +51,6 @@ import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.InstanceTemplates; -import net.runelite.api.InventoryID; -import net.runelite.api.ItemContainer; import net.runelite.api.MenuAction; import net.runelite.api.MessageNode; import net.runelite.api.NullObjectID; @@ -67,8 +65,6 @@ import net.runelite.api.events.ChatMessage; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.VarbitChanged; -import net.runelite.api.events.WidgetLoaded; -import net.runelite.api.widgets.WidgetID; import net.runelite.client.callback.ClientThread; import net.runelite.client.chat.ChatColorType; import net.runelite.client.chat.ChatCommandManager; @@ -84,7 +80,6 @@ import net.runelite.client.events.ConfigChanged; import net.runelite.client.events.OverlayMenuClicked; import net.runelite.client.plugins.raids.events.RaidReset; import net.runelite.client.plugins.raids.events.RaidScouted; -import net.runelite.client.game.ItemManager; import net.runelite.client.game.SpriteManager; import net.runelite.client.input.KeyManager; import net.runelite.client.plugins.Plugin; @@ -95,7 +90,6 @@ import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager; import net.runelite.client.util.HotkeyListener; import net.runelite.client.util.ImageCapture; -import net.runelite.client.util.QuantityFormatter; import net.runelite.client.util.Text; import static net.runelite.client.util.Text.sanitize; import net.runelite.client.ws.PartyMember; @@ -173,9 +167,6 @@ public class RaidsPlugin extends Plugin @Inject private ScheduledExecutorService scheduledExecutorService; - @Inject - private ItemManager itemManager; - @Inject private KeyManager keyManager; @@ -213,8 +204,6 @@ public class RaidsPlugin extends Plugin */ @Getter private int raidPartyID; - - private boolean chestOpened; private RaidsTimer timer; boolean checkInRaid; private boolean loggedIn; @@ -269,44 +258,6 @@ public class RaidsPlugin extends Plugin updateLists(); } - @Subscribe - public void onWidgetLoaded(WidgetLoaded event) - { - if (event.getGroupId() != WidgetID.CHAMBERS_OF_XERIC_REWARD_GROUP_ID || - !config.showLootValue() || - chestOpened) - { - return; - } - - chestOpened = true; - - ItemContainer rewardItemContainer = client.getItemContainer(InventoryID.CHAMBERS_OF_XERIC_CHEST); - if (rewardItemContainer == null) - { - return; - } - - long totalValue = Arrays.stream(rewardItemContainer.getItems()) - .filter(item -> item.getId() > -1) - .mapToLong(item -> (long) itemManager.getItemPrice(item.getId()) * item.getQuantity()) - .sum(); - - String chatMessage = new ChatMessageBuilder() - .append(ChatColorType.NORMAL) - .append("Your loot is worth around ") - .append(ChatColorType.HIGHLIGHT) - .append(QuantityFormatter.formatNumber(totalValue)) - .append(ChatColorType.NORMAL) - .append(" coins.") - .build(); - - chatMessageManager.queue(QueuedMessage.builder() - .type(ChatMessageType.FRIENDSCHATNOTIFICATION) - .runeLiteFormattedMessage(chatMessage) - .build()); - } - @Subscribe public void onVarbitChanged(VarbitChanged event) { @@ -482,7 +433,6 @@ public class RaidsPlugin extends Plugin updateInfoBoxState(); boolean firstSolve = (raid == null); raid = buildRaid(raid); - chestOpened = false; if (raid == null) { @@ -1014,7 +964,6 @@ public class RaidsPlugin extends Plugin private void reset() { raid = null; - chestOpened = false; updateInfoBoxState(); eventBus.post(new RaidReset()); } diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/loottracker/LootTrackerPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/loottracker/LootTrackerPluginTest.java index c6f54cb2b6..43d554ea3e 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/loottracker/LootTrackerPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/loottracker/LootTrackerPluginTest.java @@ -37,15 +37,21 @@ import java.util.concurrent.ScheduledExecutorService; import javax.inject.Inject; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; +import net.runelite.api.InventoryID; +import net.runelite.api.Item; import net.runelite.api.ItemComposition; +import net.runelite.api.ItemContainer; import net.runelite.api.ItemID; import net.runelite.api.IterableHashTable; import net.runelite.api.MessageNode; import net.runelite.api.Player; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.ChatMessage; +import net.runelite.api.events.WidgetLoaded; +import net.runelite.api.widgets.WidgetID; import net.runelite.client.account.SessionManager; import net.runelite.client.chat.ChatMessageManager; +import net.runelite.client.chat.QueuedMessage; import net.runelite.client.game.ItemManager; import net.runelite.client.game.ItemStack; import net.runelite.client.game.SpriteManager; @@ -57,9 +63,13 @@ import static org.junit.Assert.assertNull; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.ArgumentCaptor; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyCollection; import static org.mockito.ArgumentMatchers.anyInt; +import static org.mockito.ArgumentMatchers.anyString; import org.mockito.Mock; +import org.mockito.Mockito; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; @@ -202,4 +212,35 @@ public class LootTrackerPluginTest assertNull(lootTrackerPlugin.eventType); } } + + @Test + public void testCoXRaidsLootValue() + { + when(lootTrackerConfig.showRaidsLootValue()).thenReturn(true); + when(lootTrackerConfig.priceType()).thenReturn(LootTrackerPriceType.GRAND_EXCHANGE); + + LootTrackerPlugin spyPlugin = Mockito.spy(lootTrackerPlugin); + // Make sure we don't execute addLoot, so we don't have to mock LootTrackerPanel and everything else also + doNothing().when(spyPlugin).addLoot(anyString(), anyInt(), any(LootRecordType.class), anyCollection()); + + ItemContainer itemContainer = mock(ItemContainer.class); + when(itemContainer.getItems()).thenReturn(new Item[]{ + new Item(ItemID.TWISTED_BOW, 1), + new Item(ItemID.PURE_ESSENCE, 42) + }); + when(client.getItemContainer(InventoryID.CHAMBERS_OF_XERIC_CHEST)).thenReturn(itemContainer); + + when(itemManager.getItemPrice(ItemID.TWISTED_BOW)).thenReturn(1_100_000_000); + when(itemManager.getItemPrice(ItemID.PURE_ESSENCE)).thenReturn(6); + + WidgetLoaded widgetLoaded = new WidgetLoaded(); + widgetLoaded.setGroupId(WidgetID.CHAMBERS_OF_XERIC_REWARD_GROUP_ID); + spyPlugin.onWidgetLoaded(widgetLoaded); + + ArgumentCaptor captor = ArgumentCaptor.forClass(QueuedMessage.class); + verify(chatMessageManager).queue(captor.capture()); + + QueuedMessage queuedMessage = captor.getValue(); + assertEquals("Your loot is worth around 1,100,000,252 coins.", queuedMessage.getRuneLiteFormattedMessage()); + } } diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/raids/RaidsPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/raids/RaidsPluginTest.java index 3bb07bf9a3..d687d98e5b 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/raids/RaidsPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/raids/RaidsPluginTest.java @@ -30,32 +30,20 @@ import com.google.inject.testing.fieldbinder.Bind; import com.google.inject.testing.fieldbinder.BoundFieldModule; import java.util.concurrent.ScheduledExecutorService; import net.runelite.api.Client; -import net.runelite.api.InventoryID; -import net.runelite.api.Item; -import net.runelite.api.ItemContainer; -import net.runelite.api.ItemID; -import net.runelite.api.events.WidgetLoaded; -import net.runelite.api.widgets.WidgetID; import net.runelite.client.Notifier; -import net.runelite.client.chat.ChatMessageManager; -import net.runelite.client.chat.QueuedMessage; import net.runelite.client.config.ChatColorConfig; import net.runelite.client.config.RuneLiteConfig; -import net.runelite.client.game.ItemManager; import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.util.ImageCapture; import net.runelite.client.ws.PartyService; import net.runelite.http.api.chat.ChatClient; -import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; import org.mockito.Mock; import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import org.mockito.junit.MockitoJUnitRunner; @@ -78,14 +66,6 @@ public class RaidsPluginTest @Bind RuneLiteConfig runeliteConfig; - @Mock - @Bind - ItemManager itemManager; - - @Mock - @Bind - ChatMessageManager chatMessageManager; - @Mock @Bind ImageCapture imageCapture; @@ -164,30 +144,4 @@ public class RaidsPluginTest assertFalse(raidsPlugin.getRotationMatches()); } - - @Test - public void testLootValue() - { - when(raidsConfig.showLootValue()).thenReturn(true); - - ItemContainer itemContainer = mock(ItemContainer.class); - when(itemContainer.getItems()).thenReturn(new Item[]{ - new Item(ItemID.TWISTED_BOW, 1), - new Item(ItemID.PURE_ESSENCE, 42) - }); - when(client.getItemContainer(InventoryID.CHAMBERS_OF_XERIC_CHEST)).thenReturn(itemContainer); - - when(itemManager.getItemPrice(ItemID.TWISTED_BOW)).thenReturn(1_100_000_000); - when(itemManager.getItemPrice(ItemID.PURE_ESSENCE)).thenReturn(6); - - WidgetLoaded widgetLoaded = new WidgetLoaded(); - widgetLoaded.setGroupId(WidgetID.CHAMBERS_OF_XERIC_REWARD_GROUP_ID); - raidsPlugin.onWidgetLoaded(widgetLoaded); - - ArgumentCaptor captor = ArgumentCaptor.forClass(QueuedMessage.class); - verify(chatMessageManager).queue(captor.capture()); - - QueuedMessage queuedMessage = captor.getValue(); - assertEquals("Your loot is worth around 1,100,000,252 coins.", queuedMessage.getRuneLiteFormattedMessage()); - } } From ffafa3a91a64158c8620d08dfcf7eb7b6d5b30d8 Mon Sep 17 00:00:00 2001 From: melkypie <5113962+melkypie@users.noreply.github.com> Date: Sun, 28 Jun 2020 17:17:09 +0300 Subject: [PATCH 072/189] loot tracker: add ability to have end of raid tob chest loot value in a chatmessage --- .../loottracker/LootTrackerPlugin.java | 2 +- .../loottracker/LootTrackerPluginTest.java | 42 +++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java index 6d31251008..de4f6c1ed7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java @@ -547,7 +547,7 @@ public class LootTrackerPlugin extends Plugin .map(item -> new ItemStack(item.getId(), item.getQuantity(), client.getLocalPlayer().getLocalLocation())) .collect(Collectors.toList()); - if (config.showRaidsLootValue() && event.equals("Chambers of Xeric")) + if (config.showRaidsLootValue() && (event.equals("Theatre of Blood") || event.equals("Chambers of Xeric"))) { long totalValue = items.stream() .filter(item -> item.getId() > -1) diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/loottracker/LootTrackerPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/loottracker/LootTrackerPluginTest.java index 43d554ea3e..4b74201060 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/loottracker/LootTrackerPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/loottracker/LootTrackerPluginTest.java @@ -45,6 +45,7 @@ import net.runelite.api.ItemID; import net.runelite.api.IterableHashTable; import net.runelite.api.MessageNode; import net.runelite.api.Player; +import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.ChatMessage; import net.runelite.api.events.WidgetLoaded; @@ -243,4 +244,45 @@ public class LootTrackerPluginTest QueuedMessage queuedMessage = captor.getValue(); assertEquals("Your loot is worth around 1,100,000,252 coins.", queuedMessage.getRuneLiteFormattedMessage()); } + + @Test + public void testToBRaidsLootValue() + { + when(lootTrackerConfig.priceType()).thenReturn(LootTrackerPriceType.HIGH_ALCHEMY); + when(lootTrackerConfig.showRaidsLootValue()).thenReturn(true); + + LootTrackerPlugin spyPlugin = Mockito.spy(lootTrackerPlugin); + // Make sure we don't execute addLoot, so we don't have to mock LootTrackerPanel and everything else also + doNothing().when(spyPlugin).addLoot(anyString(), anyInt(), any(LootRecordType.class), anyCollection()); + + ItemContainer itemContainer = mock(ItemContainer.class); + when(itemContainer.getItems()).thenReturn(new Item[]{ + new Item(ItemID.SCYTHE_OF_VITUR, 1), + new Item(ItemID.MAHOGANY_SEED, 10) + }); + when(client.getItemContainer(InventoryID.THEATRE_OF_BLOOD_CHEST)).thenReturn(itemContainer); + + ItemComposition compScythe = mock(ItemComposition.class); + when(itemManager.getItemComposition(ItemID.SCYTHE_OF_VITUR)).thenReturn(compScythe); + when(compScythe.getHaPrice()).thenReturn(60_000_000); + + ItemComposition compSeed = mock(ItemComposition.class); + when(itemManager.getItemComposition(ItemID.MAHOGANY_SEED)).thenReturn(compSeed); + when(compSeed.getHaPrice()).thenReturn(2_102); + + when(client.getBaseX()).thenReturn(3232); + when(client.getBaseY()).thenReturn(4320); + LocalPoint localPoint = new LocalPoint(0, 0); + when(client.getLocalPlayer().getLocalLocation()).thenReturn(localPoint); + + WidgetLoaded widgetLoaded = new WidgetLoaded(); + widgetLoaded.setGroupId(WidgetID.THEATRE_OF_BLOOD_GROUP_ID); + spyPlugin.onWidgetLoaded(widgetLoaded); + + ArgumentCaptor captor = ArgumentCaptor.forClass(QueuedMessage.class); + verify(chatMessageManager).queue(captor.capture()); + + QueuedMessage queuedMessage = captor.getValue(); + assertEquals("Your loot is worth around 60,021,020 coins.", queuedMessage.getRuneLiteFormattedMessage()); + } } From 25255c2053de59e467967501794187df9f0ad9fc Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Wed, 15 Jul 2020 00:13:47 -0400 Subject: [PATCH 073/189] chatfilter: Add config section for filter lists (#11900) --- .../plugins/chatfilter/ChatFilterConfig.java | 36 ++++++++++++------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/ChatFilterConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/ChatFilterConfig.java index c1c2378934..b5d7cf3f77 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/ChatFilterConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/ChatFilterConfig.java @@ -28,26 +28,25 @@ package net.runelite.client.plugins.chatfilter; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; +import net.runelite.client.config.ConfigSection; @ConfigGroup("chatfilter") public interface ChatFilterConfig extends Config { - @ConfigItem( - keyName = "filterType", - name = "Filter type", - description = "Configures how the messages are filtered", - position = 1 + @ConfigSection( + name = "Filter Lists", + description = "Custom Word, Regex, and Username filter lists", + position = 0, + closedByDefault = true ) - default ChatFilterType filterType() - { - return ChatFilterType.CENSOR_WORDS; - } + String filterLists = "filterLists"; @ConfigItem( keyName = "filteredWords", name = "Filtered Words", description = "List of filtered words, separated by commas", - position = 2 + position = 1, + section = filterLists ) default String filteredWords() { @@ -58,7 +57,8 @@ public interface ChatFilterConfig extends Config keyName = "filteredRegex", name = "Filtered Regex", description = "List of regular expressions to filter, one per line", - position = 3 + position = 2, + section = filterLists ) default String filteredRegex() { @@ -69,13 +69,25 @@ public interface ChatFilterConfig extends Config keyName = "filteredNames", name = "Filtered Names", description = "List of filtered names, one per line. Accepts regular expressions", - position = 4 + position = 3, + section = filterLists ) default String filteredNames() { return ""; } + @ConfigItem( + keyName = "filterType", + name = "Filter type", + description = "Configures how the messages are filtered", + position = 4 + ) + default ChatFilterType filterType() + { + return ChatFilterType.CENSOR_WORDS; + } + @ConfigItem( keyName = "filterFriends", name = "Filter Friends", From 8b20626a3b71b24f949e2118e0d763df52f6ae48 Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Mon, 15 Jun 2020 13:47:54 -0400 Subject: [PATCH 074/189] agility: Add config for Sepulchre obstacles and skill obstacles This commit moves Sepulchre obstacle IDs into a separate set so their highlighting can be toggled separately. It also adds a toggle to highlight Sepulchre skill obstacles. --- .../client/plugins/agility/AgilityConfig.java | 26 +++++++++++++++++-- .../plugins/agility/AgilityOverlay.java | 4 ++- .../client/plugins/agility/AgilityPlugin.java | 4 ++- .../client/plugins/agility/Obstacles.java | 21 ++++++++++----- 4 files changed, 45 insertions(+), 10 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityConfig.java index 5ecdda516b..2771e6ad5b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityConfig.java @@ -225,7 +225,7 @@ public interface AgilityConfig extends Config keyName = "highlightSepulchreNpcs", name = "Highlight Sepulchre Projectiles", description = "Highlights arrows and swords in the Sepulchre", - position = 15 + position = 17 ) default boolean highlightSepulchreNpcs() { @@ -236,10 +236,32 @@ public interface AgilityConfig extends Config keyName = "sepulchreHighlightColor", name = "Sepulchre Highlight", description = "Overlay color for arrows and swords", - position = 16 + position = 18 ) default Color sepulchreHighlightColor() { return Color.GREEN; } + + @ConfigItem( + keyName = "highlightSepulchreObstacles", + name = "Highlight Sepulchre Obstacles", + description = "Highlights pillars and stairs in the Sepulchre", + position = 19 + ) + default boolean highlightSepulchreObstacles() + { + return true; + } + + @ConfigItem( + keyName = "highlightSepulchreSkilling", + name = "Highlight Sepulchre Skill Challenges", + description = "Highlights skilling challenges in the Sepulchre", + position = 20 + ) + default boolean highlightSepulchreSkilling() + { + return true; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityOverlay.java index a7118cc1ab..96e52d22f8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityOverlay.java @@ -78,7 +78,9 @@ class AgilityOverlay extends Overlay { if (Obstacles.SHORTCUT_OBSTACLE_IDS.containsKey(object.getId()) && !config.highlightShortcuts() || Obstacles.TRAP_OBSTACLE_IDS.contains(object.getId()) && !config.showTrapOverlay() || - Obstacles.COURSE_OBSTACLE_IDS.contains(object.getId()) && !config.showClickboxes()) + Obstacles.COURSE_OBSTACLE_IDS.contains(object.getId()) && !config.showClickboxes() || + Obstacles.SEPULCHRE_OBSTACLE_IDS.contains(object.getId()) && !config.highlightSepulchreObstacles() || + Obstacles.SEPULCHRE_SKILL_OBSTACLE_IDS.contains(object.getId()) && !config.highlightSepulchreSkilling()) { return; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java index a430c0e6d7..a13d9b3689 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java @@ -438,7 +438,9 @@ public class AgilityPlugin extends Plugin if (Obstacles.COURSE_OBSTACLE_IDS.contains(newObject.getId()) || Obstacles.PORTAL_OBSTACLE_IDS.contains(newObject.getId()) || (Obstacles.TRAP_OBSTACLE_IDS.contains(newObject.getId()) - && Obstacles.TRAP_OBSTACLE_REGIONS.contains(newObject.getWorldLocation().getRegionID()))) + && Obstacles.TRAP_OBSTACLE_REGIONS.contains(newObject.getWorldLocation().getRegionID())) || + Obstacles.SEPULCHRE_OBSTACLE_IDS.contains(newObject.getId()) || + Obstacles.SEPULCHRE_SKILL_OBSTACLE_IDS.contains(newObject.getId())) { obstacles.put(newObject, new Obstacle(tile, null)); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/Obstacles.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/Obstacles.java index b1b58b5f17..dd8809820b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/Obstacles.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/Obstacles.java @@ -95,12 +95,7 @@ class Obstacles ZIP_LINE_11645, ZIP_LINE_11646, // Prifddinas LADDER_36221, TIGHTROPE_36225, CHIMNEY_36227, ROOF_EDGE, DARK_HOLE_36229, LADDER_36231, LADDER_36232, - ROPE_BRIDGE_36233, TIGHTROPE_36234, ROPE_BRIDGE_36235, TIGHTROPE_36236, TIGHTROPE_36237, DARK_HOLE_36238, - // Hallowed Sepulchre - GATE_38460, PLATFORM_38455, PLATFORM_38456, PLATFORM_38457, PLATFORM_38458, PLATFORM_38459, - PLATFORM_38470, PLATFORM_38477, STAIRS_38462, STAIRS_38463, STAIRS_38464, STAIRS_38465, - STAIRS_38466, STAIRS_38467, STAIRS_38468, STAIRS_38469, STAIRS_38471, STAIRS_38472, - STAIRS_38473, STAIRS_38474, STAIRS_38475, STAIRS_38476 + ROPE_BRIDGE_36233, TIGHTROPE_36234, ROPE_BRIDGE_36235, TIGHTROPE_36236, TIGHTROPE_36237, DARK_HOLE_36238 ); static final Set PORTAL_OBSTACLE_IDS = ImmutableSet.of( @@ -129,4 +124,18 @@ class Obstacles } SHORTCUT_OBSTACLE_IDS = builder.build(); } + + static final Set SEPULCHRE_OBSTACLE_IDS = ImmutableSet.of( + // Stairs and Platforms (and one Gate) + GATE_38460, PLATFORM_38455, PLATFORM_38456, PLATFORM_38457, PLATFORM_38458, PLATFORM_38459, + PLATFORM_38470, PLATFORM_38477, STAIRS_38462, STAIRS_38463, STAIRS_38464, STAIRS_38465, + STAIRS_38466, STAIRS_38467, STAIRS_38468, STAIRS_38469, STAIRS_38471, STAIRS_38472, + STAIRS_38473, STAIRS_38474, STAIRS_38475, STAIRS_38476 + ); + + static final Set SEPULCHRE_SKILL_OBSTACLE_IDS = ImmutableSet.of( + // Grapple, Portal, and Bridge skill obstacles + // They are multilocs, thus we use the NullObjectID + NULL_39524, NULL_39525, NULL_39526, NULL_39527, NULL_39528, NULL_39533 + ); } From bc417d587d2ce2ba904809a3a02f84c3369d49c9 Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Tue, 7 Jul 2020 13:46:39 -0400 Subject: [PATCH 075/189] agility: Add Hallowed Sepulchre config section --- .../client/plugins/agility/AgilityConfig.java | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityConfig.java index 2771e6ad5b..de9962d678 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityConfig.java @@ -28,11 +28,19 @@ import java.awt.Color; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; +import net.runelite.client.config.ConfigSection; import net.runelite.client.config.Units; @ConfigGroup("agility") public interface AgilityConfig extends Config { + @ConfigSection( + name = "Hallowed Sepulchre", + description = "Settings for Hallowed Sepulchre highlights", + position = 17 + ) + String sepulchreSection = "Hallowed Sepulchre"; + @ConfigItem( keyName = "showClickboxes", name = "Show Clickboxes", @@ -223,9 +231,10 @@ public interface AgilityConfig extends Config @ConfigItem( keyName = "highlightSepulchreNpcs", - name = "Highlight Sepulchre Projectiles", + name = "Highlight Projectiles", description = "Highlights arrows and swords in the Sepulchre", - position = 17 + position = 17, + section = sepulchreSection ) default boolean highlightSepulchreNpcs() { @@ -234,9 +243,10 @@ public interface AgilityConfig extends Config @ConfigItem( keyName = "sepulchreHighlightColor", - name = "Sepulchre Highlight", + name = "Projectile Color", description = "Overlay color for arrows and swords", - position = 18 + position = 18, + section = sepulchreSection ) default Color sepulchreHighlightColor() { @@ -245,9 +255,10 @@ public interface AgilityConfig extends Config @ConfigItem( keyName = "highlightSepulchreObstacles", - name = "Highlight Sepulchre Obstacles", + name = "Highlight Obstacles", description = "Highlights pillars and stairs in the Sepulchre", - position = 19 + position = 19, + section = sepulchreSection ) default boolean highlightSepulchreObstacles() { @@ -256,9 +267,10 @@ public interface AgilityConfig extends Config @ConfigItem( keyName = "highlightSepulchreSkilling", - name = "Highlight Sepulchre Skill Challenges", + name = "Highlight Skill Challenges", description = "Highlights skilling challenges in the Sepulchre", - position = 20 + position = 20, + section = sepulchreSection ) default boolean highlightSepulchreSkilling() { From 82a99a2b2be5df8d53b8b28b73416c6850df6c41 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 15 Jul 2020 14:51:31 -0400 Subject: [PATCH 076/189] inventoryid: add trade inventories --- .../src/main/java/net/runelite/api/InventoryID.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/InventoryID.java b/runelite-api/src/main/java/net/runelite/api/InventoryID.java index dfe25ff2ed..e4795cbf31 100644 --- a/runelite-api/src/main/java/net/runelite/api/InventoryID.java +++ b/runelite-api/src/main/java/net/runelite/api/InventoryID.java @@ -33,6 +33,14 @@ public enum InventoryID * Reward from fishing trawler */ FISHING_TRAWLER_REWARD(0), + /** + * The trade inventory. + */ + TRADE(90), + /** + * The other trade inventory. + */ + TRADEOTHER(90 | 0x8000), /** * Standard player inventory. */ From 69534cc3cf54bb4853e116994a2daf1e39cfd19a Mon Sep 17 00:00:00 2001 From: Cyborger1 <45152844+Cyborger1@users.noreply.github.com> Date: Wed, 15 Jul 2020 16:20:27 -0400 Subject: [PATCH 077/189] notifier: make flash cancelling more responsive Currently the cancel check is only performed when the flash is on, and not off, making it perform one last flash when you provide input to the client when the flash is off. --- .../java/net/runelite/client/Notifier.java | 45 +++++++++---------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/Notifier.java b/runelite-client/src/main/java/net/runelite/client/Notifier.java index ce5db852c1..fc3083c997 100644 --- a/runelite-client/src/main/java/net/runelite/client/Notifier.java +++ b/runelite-client/src/main/java/net/runelite/client/Notifier.java @@ -217,6 +217,28 @@ public class Notifier FlashNotification flashNotification = runeLiteConfig.flashNotification(); + if (Instant.now().minusMillis(MINIMUM_FLASH_DURATION_MILLIS).isAfter(flashStart)) + { + switch (flashNotification) + { + case FLASH_TWO_SECONDS: + case SOLID_TWO_SECONDS: + flashStart = null; + return; + case SOLID_UNTIL_CANCELLED: + case FLASH_UNTIL_CANCELLED: + // Any interaction with the client since the notification started will cancel it after the minimum duration + if ((client.getMouseIdleTicks() < MINIMUM_FLASH_DURATION_TICKS + || client.getKeyboardIdleTicks() < MINIMUM_FLASH_DURATION_TICKS + || client.getMouseLastPressedMillis() > mouseLastPressedMillis) && clientUI.isFocused()) + { + flashStart = null; + return; + } + break; + } + } + if (client.getGameCycle() % 40 >= 20 // For solid colour, fall through every time. && (flashNotification == FlashNotification.FLASH_TWO_SECONDS @@ -229,29 +251,6 @@ public class Notifier graphics.setColor(FLASH_COLOR); graphics.fill(new Rectangle(client.getCanvas().getSize())); graphics.setColor(color); - - if (!Instant.now().minusMillis(MINIMUM_FLASH_DURATION_MILLIS).isAfter(flashStart)) - { - return; - } - - switch (flashNotification) - { - case FLASH_TWO_SECONDS: - case SOLID_TWO_SECONDS: - flashStart = null; - break; - case SOLID_UNTIL_CANCELLED: - case FLASH_UNTIL_CANCELLED: - // Any interaction with the client since the notification started will cancel it after the minimum duration - if ((client.getMouseIdleTicks() < MINIMUM_FLASH_DURATION_TICKS - || client.getKeyboardIdleTicks() < MINIMUM_FLASH_DURATION_TICKS - || client.getMouseLastPressedMillis() > mouseLastPressedMillis) && clientUI.isFocused()) - { - flashStart = null; - } - break; - } } private void sendNotification( From b407e4b567e685e8fd66b63bb01dc7a9d9c6f245 Mon Sep 17 00:00:00 2001 From: Kyle <48519776+xKylee@users.noreply.github.com> Date: Wed, 15 Jul 2020 21:47:45 +0100 Subject: [PATCH 078/189] Update RSItemContainerMixin.java --- .../net/runelite/mixins/RSItemContainerMixin.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSItemContainerMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSItemContainerMixin.java index 3b67f70a73..66b9149184 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSItemContainerMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSItemContainerMixin.java @@ -33,6 +33,7 @@ import net.runelite.api.mixins.Mixin; import net.runelite.api.mixins.Shadow; import net.runelite.rs.api.RSClient; import net.runelite.rs.api.RSItemContainer; +import net.runelite.rs.api.RSNodeHashTable; @Mixin(RSItemContainer.class) public abstract class RSItemContainerMixin implements RSItemContainer @@ -129,13 +130,22 @@ public abstract class RSItemContainerMixin implements RSItemContainer int changedId = idx - 1 & 31; int containerId = changedItemContainers[changedId]; - RSItemContainer changedContainer = (RSItemContainer) client.getItemContainers().get(containerId); + RSNodeHashTable itemContainers = client.getItemContainers(); + + RSItemContainer changedContainer = (RSItemContainer) itemContainers.get(containerId); + RSItemContainer changedContainerInvOther = (RSItemContainer) itemContainers.get(containerId | 0x8000); if (changedContainer != null) { ItemContainerChanged event = new ItemContainerChanged(containerId, changedContainer); client.getCallbacks().postDeferred(ItemContainerChanged.class, event); } + + if (changedContainerInvOther != null) + { + ItemContainerChanged event = new ItemContainerChanged(containerId | 0x8000, changedContainerInvOther); + client.getCallbacks().postDeferred(ItemContainerChanged.class, event); + } } } -} \ No newline at end of file +} From 468d0a79677529460852abf0f7d7e13be5aed54f Mon Sep 17 00:00:00 2001 From: Jordan Atwood Date: Thu, 16 Jul 2020 00:35:52 -0700 Subject: [PATCH 079/189] EmoteClue: Specify uncharged glory amulet when needed --- .../runelite/client/plugins/cluescrolls/clues/EmoteClue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java index c1413c3c48..bb60754b7a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java @@ -137,7 +137,7 @@ public class EmoteClue extends ClueScroll implements TextClueScroll, LocationClu new EmoteClue("Panic by the mausoleum in Morytania. Wave before you speak to me. Equip a mithril plate skirt, a maple longbow and no boots.", "Morytania mausoleum, access via the experiments cave", MAUSOLEUM_OFF_THE_MORYTANIA_COAST, new WorldPoint(3504, 3576, 0), PANIC, WAVE, item(MITHRIL_PLATESKIRT), item(MAPLE_LONGBOW), emptySlot("No boots", BOOTS)), new EmoteClue("Panic on the Wilderness volcano bridge. Beware of double agents! Equip any headband and crozier.", "Wilderness volcano", VOLCANO_IN_THE_NORTHEASTERN_WILDERNESS, new WorldPoint(3368, 3935, 0), DOUBLE_AGENT_65, PANIC, any("Any headband", range(RED_HEADBAND, BROWN_HEADBAND), range(WHITE_HEADBAND, GREEN_HEADBAND)), any("Any crozier", item(ANCIENT_CROZIER), item(ARMADYL_CROZIER), item(BANDOS_CROZIER), range(SARADOMIN_CROZIER, ZAMORAK_CROZIER))), new EmoteClue("Panic by the pilot on White Wolf Mountain. Beware of double agents! Equip mithril platelegs, a ring of life and a rune axe.", "White Wolf Mountain", GNOME_GLIDER_ON_WHITE_WOLF_MOUNTAIN, new WorldPoint(2847, 3499, 0), DOUBLE_AGENT_108, PANIC, item(MITHRIL_PLATELEGS), item(RING_OF_LIFE), item(RUNE_AXE)), - new EmoteClue("Panic by the big egg where no one dare goes and the ground is burnt. Beware of double agents! Equip a dragon med helm, a TokTz-Ket-Xil, a brine sabre, rune platebody and an uncharged amulet of glory.", "Lava dragon isle", SOUTHEAST_CORNER_OF_LAVA_DRAGON_ISLE, new WorldPoint(3227, 3831, 0), DOUBLE_AGENT_141, PANIC, item(DRAGON_MED_HELM), item(TOKTZKETXIL), item(BRINE_SABRE), item(RUNE_PLATEBODY), item(AMULET_OF_GLORY)), + new EmoteClue("Panic by the big egg where no one dare goes and the ground is burnt. Beware of double agents! Equip a dragon med helm, a TokTz-Ket-Xil, a brine sabre, rune platebody and an uncharged amulet of glory.", "Lava dragon isle", SOUTHEAST_CORNER_OF_LAVA_DRAGON_ISLE, new WorldPoint(3227, 3831, 0), DOUBLE_AGENT_141, PANIC, item(DRAGON_MED_HELM), item(TOKTZKETXIL), item(BRINE_SABRE), item(RUNE_PLATEBODY), any("Uncharged Amulet of glory", item(AMULET_OF_GLORY))), new EmoteClue("Panic at the area flowers meet snow. Equip Blue D'hide vambraces, a dragon spear and a rune plateskirt.", "Trollweiss mountain", HALFWAY_DOWN_TROLLWEISS_MOUNTAIN, new WorldPoint(2776, 3781, 0), PANIC, item(BLUE_DHIDE_VAMBRACES), item(DRAGON_SPEAR), item(RUNE_PLATESKIRT), item(SLED_4084)), new EmoteClue("Do a push up at the bank of the Warrior's guild. Beware of double agents! Equip a dragon battleaxe, a dragon defender and a slayer helm of any kind.", "Warriors' guild", WARRIORS_GUILD_BANK_29047, new WorldPoint(2843, 3543, 0), DOUBLE_AGENT_141, PUSH_UP, item(DRAGON_BATTLEAXE), any("Dragon defender", item(DRAGON_DEFENDER), item(DRAGON_DEFENDER_T)), any("Any slayer helmet", item(SLAYER_HELMET), item(BLACK_SLAYER_HELMET), item(GREEN_SLAYER_HELMET), item(PURPLE_SLAYER_HELMET), item(RED_SLAYER_HELMET), item(TURQUOISE_SLAYER_HELMET), item(SLAYER_HELMET_I), item(BLACK_SLAYER_HELMET_I), item(GREEN_SLAYER_HELMET_I), item(PURPLE_SLAYER_HELMET_I), item(RED_SLAYER_HELMET_I), item(TURQUOISE_SLAYER_HELMET_I), item(HYDRA_SLAYER_HELMET), item(HYDRA_SLAYER_HELMET_I), item(TWISTED_SLAYER_HELMET), item(TWISTED_SLAYER_HELMET_I))), new EmoteClue("Blow a raspberry in the bank of the Warriors' Guild. Beware of double agents! Equip a dragon battleaxe, a slayer helm of any kind and a dragon defender or avernic defender.", "Warriors' guild", WARRIORS_GUILD_BANK_29047, new WorldPoint(2843, 3543, 0), DOUBLE_AGENT_141, RASPBERRY, item(DRAGON_BATTLEAXE), any("Dragon defender or Avernic defender", item(DRAGON_DEFENDER), item(DRAGON_DEFENDER_T), item(AVERNIC_DEFENDER)), any("Any slayer helmet", item(SLAYER_HELMET), item(BLACK_SLAYER_HELMET), item(GREEN_SLAYER_HELMET), item(PURPLE_SLAYER_HELMET), item(RED_SLAYER_HELMET), item(TURQUOISE_SLAYER_HELMET), item(SLAYER_HELMET_I), item(BLACK_SLAYER_HELMET_I), item(GREEN_SLAYER_HELMET_I), item(PURPLE_SLAYER_HELMET_I), item(RED_SLAYER_HELMET_I), item(TURQUOISE_SLAYER_HELMET_I), item(HYDRA_SLAYER_HELMET), item(HYDRA_SLAYER_HELMET_I), item(TWISTED_SLAYER_HELMET), item(TWISTED_SLAYER_HELMET_I))), From 41a8d4605eda25d18caff2fea7e40c2d02a66940 Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Thu, 16 Jul 2020 09:04:59 -0400 Subject: [PATCH 080/189] worldmap: Update minigame locations for Ferox Enclave --- .../runelite/client/plugins/worldmap/MinigameLocation.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/MinigameLocation.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/MinigameLocation.java index 6524dee2d8..a7145c8ee9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/MinigameLocation.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/MinigameLocation.java @@ -34,6 +34,7 @@ enum MinigameLocation BARBARIAN_ASSAULT("Barbarian Assault", new WorldPoint(2531, 3569, 0)), BURGH_DE_ROTT_RAMBLE("Burgh de Rott Ramble", new WorldPoint(3434, 3487, 0)), CASTLE_WARS("Castle Wars", new WorldPoint(2439, 3092, 0)), + CASTLE_WARS_PORTAL("Castle Wars Portal", new WorldPoint(3140, 3626, 0)), DUEL_ARENA("Duel Arena", new WorldPoint(3313, 3238, 0)), MAGE_ARENA("Mage Arena", new WorldPoint(3095, 3957, 0)), NIGHTMARE_ZONE("Nightmare Zone", new WorldPoint(2606, 3115, 0)), @@ -43,7 +44,7 @@ enum MinigameLocation TEMPLE_TREKKING("Temple Trekking", new WorldPoint(3479, 3240, 0)), TZHAAR_FIGHT_CAVE("TzHaar Fight Cave", new WorldPoint(2437, 5168, 0)), TZHAAR_FIGHT_PIT("TzHaar Fight Pit", new WorldPoint(2398, 5177, 0)), - LAST_MAN_STANDING("Last Man Standing", new WorldPoint(3403, 3177, 0)), + LAST_MAN_STANDING("Last Man Standing", new WorldPoint(3138, 3635, 0)), INFERNO("Inferno", new WorldPoint(2495, 5118, 0)), BRIMHAVEN_AGILITY_ARENA("Brimhaven Agility Arena", new WorldPoint(2809, 3191, 0)), FISHING_TRAWLER("Fishing Trawler", new WorldPoint(2667, 3163, 0)), @@ -64,9 +65,7 @@ enum MinigameLocation RAT_PITS_ARDOUGNE("Rat Pits", new WorldPoint(2561, 3318, 0)), RAT_PITS_KELDAGRIM("Rat Pits", new WorldPoint(2913, 10188, 0)), TEARS_OF_GUTHIX("Tears of Guthix", new WorldPoint(3257, 9517, 0)), - CLAN_WARS_1("Clan Wars", new WorldPoint(3349, 3164, 0)), - CLAN_WARS_2("Clan Wars", new WorldPoint(3365, 3175, 0)), - CLAN_WARS_3("Clan Wars", new WorldPoint(3374, 3159, 0)), + CLAN_WARS("Clan Wars", new WorldPoint(3133, 3621, 0)), ANIMATION_ROOM("Animation Room", new WorldPoint(2853, 3537, 0)), DUMMY_ROOM("Dummy Room", new WorldPoint(2857, 3551, 0)), CATAPULT_ROOM("Catapult Room", new WorldPoint(2842, 3545, 0)), From 5873b01fc7368eb6ca621dafe5016f93e895fa81 Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Thu, 16 Jul 2020 09:06:16 -0400 Subject: [PATCH 081/189] worldmap: Add Citharede Abbey and Eagles Outpost mining spots --- .../runelite/client/plugins/worldmap/MiningSiteLocation.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/MiningSiteLocation.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/MiningSiteLocation.java index e1d0653209..21358d1e0f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/MiningSiteLocation.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/MiningSiteLocation.java @@ -59,6 +59,7 @@ enum MiningSiteLocation BRIMHAVEN_NORTH(new WorldPoint(2732, 3225, 0), new Rock(10, Ore.GOLD)), BRIMHAVEN_SOUTH_(new WorldPoint(2743, 3150, 0), new Rock(6, Ore.GOLD)), CENTRAL_FREMENIK_ISLES(new WorldPoint(2374, 3850, 0), new Rock(7, Ore.COAL), new Rock(1, Ore.RUNITE)), + CITHAREDE_ABBEY(new WorldPoint(3400, 3170, 0), new Rock(3, Ore.IRON), new Rock (3, Ore.COAL)), COAL_TRUCKS(new WorldPoint(2580, 3484, 0), new Rock(18, Ore.COAL)), CRAFTING_GUILD(new WorldPoint(2939, 3283, 0), new Rock(6, Ore.CLAY), new Rock(6, Ore.SILVER), new Rock(7, Ore.GOLD)), CRANDOR_NORTH_EAST(new WorldPoint(2860, 3287, 0), new Rock(3, Ore.GOLD)), @@ -80,6 +81,7 @@ enum MiningSiteLocation DWARVEN_WEST_BOTTOM(new WorldPoint(3028, 9809, 0), new Rock(3, Ore.CLAY), new Rock(4, Ore.COPPER)), DWARVEN_WEST_TOP(new WorldPoint(3031, 9828, 0), new Rock(3, Ore.COPPER), new Rock(2, Ore.TIN), new Rock(2, Ore.IRON)), FREMENIK_ISLES_EAST(new WorldPoint(2405, 3867, 0), new Rock(3, Ore.COPPER), new Rock(3, Ore.TIN), new Rock(4, Ore.COAL)), + EAGLES_OUTPOST(new WorldPoint(3424, 3164, 0), new Rock(7, Ore.CLAY)), EDGEVILLE_DUNGEON(new WorldPoint(3138, 9874, 0), new Rock(2, Ore.COPPER), new Rock(2, Ore.TIN), new Rock(3, Ore.IRON), new Rock(3, Ore.SILVER), new Rock(6, Ore.COAL), new Rock(1, Ore.MITHRIL), new Rock(2, Ore.ADAMANTITE)), From 564510417eee0d853f2bca7079f109efe3ba4bf1 Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Thu, 16 Jul 2020 09:07:14 -0400 Subject: [PATCH 082/189] =?UTF-8?q?worldmap:=20Add=20Ferox=20Enclave?= =?UTF-8?q?=E2=80=94Ring=20of=20dueling=20teleport=20location?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../runelite/client/plugins/worldmap/TeleportLocationData.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TeleportLocationData.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TeleportLocationData.java index 87eee1b1bb..d2753e8010 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TeleportLocationData.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TeleportLocationData.java @@ -78,7 +78,7 @@ enum TeleportLocationData CORPOREAL_BEAST(TeleportType.JEWELLERY, "Games Necklace" , "Corporeal Beast", new WorldPoint(2967, 4384, 0), "games_necklace_teleport_icon.png"), WINTERTODT_CAMP(TeleportType.JEWELLERY, "Games Necklace" , "Wintertodt Camp", new WorldPoint(1624, 3938, 0), "games_necklace_teleport_icon.png"), DUEL_ARENA(TeleportType.JEWELLERY, "Ring of Dueling" , "Duel Arena", new WorldPoint(3315, 3235, 0), "ring_of_dueling_teleport_icon.png"), - CLAN_WARS(TeleportType.JEWELLERY, "Ring of Dueling" , "Clan Wars", new WorldPoint(3387, 3158, 0), "ring_of_dueling_teleport_icon.png"), + FEROX_ENCLAVE(TeleportType.JEWELLERY, "Ring of Dueling" , "Ferox Enclave", new WorldPoint(3151, 3636, 0), "ring_of_dueling_teleport_icon.png"), CASTLE_WARS(TeleportType.JEWELLERY, "Ring of Dueling" , "Castle Wars", new WorldPoint(2441, 3091, 0), "ring_of_dueling_teleport_icon.png"), WARRIORS_GUILD(TeleportType.JEWELLERY, "Combat Bracelet" , "Warriors' Guild", new WorldPoint(2883, 3549, 0), "combat_bracelet_teleport_icon.png"), CHAMPIONS_GUILD(TeleportType.JEWELLERY, "Combat Bracelet" , "Champions' Guild", new WorldPoint(3189, 3368, 0), "combat_bracelet_teleport_icon.png"), From 1f4cb2ae2d470b8b3a1c281cfb029f93b29d2d79 Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Mon, 6 Jul 2020 04:15:10 -0400 Subject: [PATCH 083/189] agility: fix Sara GWD obstacle highlights --- .../main/java/net/runelite/client/game/AgilityShortcut.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/game/AgilityShortcut.java b/runelite-client/src/main/java/net/runelite/client/game/AgilityShortcut.java index abee41698c..79dd39a293 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/AgilityShortcut.java +++ b/runelite-client/src/main/java/net/runelite/client/game/AgilityShortcut.java @@ -184,8 +184,8 @@ public enum AgilityShortcut FOSSIL_ISLAND_HARDWOOD_NORTH(70, "Hole" , new WorldPoint(3712, 3828, 0), HOLE_31481, HOLE_31482), FOSSIL_ISLAND_HARDWOOD_SOUTH(70, "Hole" , new WorldPoint(3714, 3816, 0), HOLE_31481, HOLE_31482), AL_KHARID_WINDOW(70, "Window", new WorldPoint(3293, 3158, 0), BROKEN_WALL_33344, BIG_WINDOW), - GWD_SARADOMIN_ROPE_NORTH(70, "Rope Descent", new WorldPoint(2912, 5300, 0), NULL_26371), - GWD_SARADOMIN_ROPE_SOUTH(70, "Rope Descent", new WorldPoint(2951, 5267, 0), NULL_26375), + GWD_SARADOMIN_ROPE_NORTH(70, "Rope Descent", new WorldPoint(2912, 5300, 0), NULL_26371, NULL_26561), + GWD_SARADOMIN_ROPE_SOUTH(70, "Rope Descent", new WorldPoint(2951, 5267, 0), NULL_26375, NULL_26562), SLAYER_TOWER_ADVANCED_CHAIN_FIRST(71, "Spiked Chain (Floor 2)", new WorldPoint(3447, 3578, 0), SPIKEY_CHAIN ), SLAYER_TOWER_ADVANCED_CHAIN_SECOND(71, "Spiked Chain (Floor 3)", new WorldPoint(3446, 3576, 0), SPIKEY_CHAIN_16538), STRONGHOLD_SLAYER_CAVE_TUNNEL(72, "Tunnel", new WorldPoint(2431, 9806, 0), TUNNEL_30174, TUNNEL_30175), From 2884f3043eeeb70e738366ce7e271a234c4aa969 Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Mon, 6 Jul 2020 04:40:52 -0400 Subject: [PATCH 084/189] agility: add GWD crack obstacle highlight --- .../src/main/java/net/runelite/client/game/AgilityShortcut.java | 1 + 1 file changed, 1 insertion(+) diff --git a/runelite-client/src/main/java/net/runelite/client/game/AgilityShortcut.java b/runelite-client/src/main/java/net/runelite/client/game/AgilityShortcut.java index 79dd39a293..4c946ae24b 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/AgilityShortcut.java +++ b/runelite-client/src/main/java/net/runelite/client/game/AgilityShortcut.java @@ -159,6 +159,7 @@ public enum AgilityShortcut MOS_LEHARMLESS_STEPPING_STONE(60, "Stepping Stone", new WorldPoint(3710, 2970, 0), STEPPING_STONE_19042), WINTERTODT_GAP(60, "Gap", new WorldPoint(1629, 4023, 0), GAP_29326), UNGAEL_ICE(60, "Ice Chunks", null, NULL_25337, NULL_29868, NULL_29869, NULL_29870, ICE_CHUNKS_31822, NULL_31823, ICE_CHUNKS_31990), + GWD_LITTLE_CRACK(60, "Little Crack", new WorldPoint(2900, 3712, 0), LITTLE_CRACK), SLAYER_TOWER_MEDIUM_CHAIN_FIRST(61, "Spiked Chain (Floor 1)", new WorldPoint(3421, 3550, 0), SPIKEY_CHAIN), SLAYER_TOWER_MEDIUM_CHAIN_SECOND(61, "Spiked Chain (Floor 2)", new WorldPoint(3420, 3551, 0), SPIKEY_CHAIN_16538), SLAYER_DUNGEON_CREVICE(62, "Narrow Crevice", new WorldPoint(2729, 10008, 0), CREVICE_16539), From b3fa285d1a9c45c322e9aade2c819caeccaa9ee9 Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Thu, 16 Jul 2020 09:49:43 -0400 Subject: [PATCH 085/189] worldmap: Add Ferox Enclave canoe location --- .../client/plugins/worldmap/TransportationPointLocation.java | 1 + 1 file changed, 1 insertion(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TransportationPointLocation.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TransportationPointLocation.java index 9c67107d27..d7a683076e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TransportationPointLocation.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TransportationPointLocation.java @@ -139,6 +139,7 @@ enum TransportationPointLocation CANOE_CHAMPIONSGUILD("Canoe", new WorldPoint(3202, 3344, 0)), CANOE_EDGEVILLE("Canoe", new WorldPoint(3130, 3509, 0)), CANOE_LUMBRIDGE("Canoe", new WorldPoint(3241, 3238, 0)), + CANOE_FEROXENCLAVE("Canoe", new WorldPoint(3155, 3630, 0)), //Gnome Gliders GNOME_GLIDER_KHARID("Gnome Glider", new WorldPoint(3278, 3213, 0)), From 72ae9a20ae8de6c08982b7dfea4f43517a548bed Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Thu, 16 Jul 2020 10:04:41 -0400 Subject: [PATCH 086/189] clues: Update text and description for clan cup clue --- .../runelite/client/plugins/cluescrolls/clues/CrypticClue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java index f9ff8a6ec1..da9d600fe9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java @@ -179,7 +179,7 @@ public class CrypticClue extends ClueScroll implements TextClueScroll, NpcClueSc new CrypticClue("Leader of the Yak City.", "Mawnis Burowgar", new WorldPoint(2336, 3799, 0), "Talk to Mawnis Burowgar in Neitiznot."), new CrypticClue("Speak to Arhein in Catherby.", "Arhein", new WorldPoint(2803, 3430, 0), "Arhein is just south of the Catherby bank."), new CrypticClue("Speak to Doric, who lives north of Falador.", "Doric", new WorldPoint(2951, 3451, 0), "Doric is found north of Falador and east of the Taverley gate."), - new CrypticClue("Between where the best are commemorated for a year, and a celebratory cup, not just for beer.", new WorldPoint(3388, 3152, 0), "Dig at the Clan Cup Trophy at Clan Wars."), + new CrypticClue("Where the best are commemorated, and a celebratory cup, not just for beer.", new WorldPoint(3388, 3152, 0), "Dig at the Clan Cup Trophy south-west of Citharede Abbey."), new CrypticClue("'See you in your dreams' said the vegetable man.", "Dominic Onion", new WorldPoint(2608, 3116, 0), "Speak to Dominic Onion at the Nightmare Zone teleport spot."), new CrypticClue("Try not to step on any aquatic nasties while searching this crate.", CRATE_18204, new WorldPoint(2764, 3273, 0), "Search the crate in Bailey's house on the Fishing Platform."), new CrypticClue("The cheapest water for miles around, but they react badly to religious icons.", CRATE_354, new WorldPoint(3178, 2987, 0), "Search the crates in the General Store tent in the Desert Bandit Camp."), From bd190d87ba18a38d408d1029f383359a6bf7baa8 Mon Sep 17 00:00:00 2001 From: Runelite auto updater Date: Thu, 16 Jul 2020 16:24:36 +0000 Subject: [PATCH 087/189] Release 1.6.22 --- cache-client/pom.xml | 2 +- cache-updater/pom.xml | 2 +- cache/pom.xml | 2 +- http-api/pom.xml | 2 +- http-service/pom.xml | 2 +- pom.xml | 4 ++-- runelite-api/pom.xml | 2 +- runelite-client/pom.xml | 2 +- runelite-script-assembler-plugin/pom.xml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cache-client/pom.xml b/cache-client/pom.xml index e4ad9c110e..35e0cc8d34 100644 --- a/cache-client/pom.xml +++ b/cache-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.22-SNAPSHOT + 1.6.22 cache-client diff --git a/cache-updater/pom.xml b/cache-updater/pom.xml index 4ef55c6c0c..8db61eb2c3 100644 --- a/cache-updater/pom.xml +++ b/cache-updater/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.22-SNAPSHOT + 1.6.22 Cache Updater diff --git a/cache/pom.xml b/cache/pom.xml index 1858764382..75610afdb7 100644 --- a/cache/pom.xml +++ b/cache/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.22-SNAPSHOT + 1.6.22 cache diff --git a/http-api/pom.xml b/http-api/pom.xml index dcd491b4f1..e565a73e30 100644 --- a/http-api/pom.xml +++ b/http-api/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.22-SNAPSHOT + 1.6.22 Web API diff --git a/http-service/pom.xml b/http-service/pom.xml index f9b9b2ef1c..c120a0ac54 100644 --- a/http-service/pom.xml +++ b/http-service/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.22-SNAPSHOT + 1.6.22 Web Service diff --git a/pom.xml b/pom.xml index abd5bdceab..609d71dd8b 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.22-SNAPSHOT + 1.6.22 pom RuneLite @@ -61,7 +61,7 @@ https://github.com/runelite/runelite scm:git:git://github.com/runelite/runelite scm:git:git@github.com:runelite/runelite - HEAD + runelite-parent-1.6.22 diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml index 762eda5697..fdf46e9110 100644 --- a/runelite-api/pom.xml +++ b/runelite-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.22-SNAPSHOT + 1.6.22 runelite-api diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index d37b581c7f..affbd53bdd 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.22-SNAPSHOT + 1.6.22 client diff --git a/runelite-script-assembler-plugin/pom.xml b/runelite-script-assembler-plugin/pom.xml index 76342015d2..7ce9775e4a 100644 --- a/runelite-script-assembler-plugin/pom.xml +++ b/runelite-script-assembler-plugin/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.22-SNAPSHOT + 1.6.22 script-assembler-plugin From 7f354ca5e4779174d5adee0bc02922750e6f152d Mon Sep 17 00:00:00 2001 From: Runelite auto updater Date: Thu, 16 Jul 2020 16:24:47 +0000 Subject: [PATCH 088/189] Bump for 1.6.23-SNAPSHOT --- cache-client/pom.xml | 2 +- cache-updater/pom.xml | 2 +- cache/pom.xml | 2 +- http-api/pom.xml | 2 +- http-service/pom.xml | 2 +- pom.xml | 4 ++-- runelite-api/pom.xml | 2 +- runelite-client/pom.xml | 2 +- runelite-script-assembler-plugin/pom.xml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cache-client/pom.xml b/cache-client/pom.xml index 35e0cc8d34..8a5c9b82a3 100644 --- a/cache-client/pom.xml +++ b/cache-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.22 + 1.6.23-SNAPSHOT cache-client diff --git a/cache-updater/pom.xml b/cache-updater/pom.xml index 8db61eb2c3..9b8003b5d5 100644 --- a/cache-updater/pom.xml +++ b/cache-updater/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.22 + 1.6.23-SNAPSHOT Cache Updater diff --git a/cache/pom.xml b/cache/pom.xml index 75610afdb7..b24221c227 100644 --- a/cache/pom.xml +++ b/cache/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.22 + 1.6.23-SNAPSHOT cache diff --git a/http-api/pom.xml b/http-api/pom.xml index e565a73e30..7ad2668968 100644 --- a/http-api/pom.xml +++ b/http-api/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.22 + 1.6.23-SNAPSHOT Web API diff --git a/http-service/pom.xml b/http-service/pom.xml index c120a0ac54..23f9aa3a80 100644 --- a/http-service/pom.xml +++ b/http-service/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.22 + 1.6.23-SNAPSHOT Web Service diff --git a/pom.xml b/pom.xml index 609d71dd8b..61afa59c2f 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.22 + 1.6.23-SNAPSHOT pom RuneLite @@ -61,7 +61,7 @@ https://github.com/runelite/runelite scm:git:git://github.com/runelite/runelite scm:git:git@github.com:runelite/runelite - runelite-parent-1.6.22 + HEAD diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml index fdf46e9110..844c748a98 100644 --- a/runelite-api/pom.xml +++ b/runelite-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.22 + 1.6.23-SNAPSHOT runelite-api diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index affbd53bdd..0415d4f7bd 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.22 + 1.6.23-SNAPSHOT client diff --git a/runelite-script-assembler-plugin/pom.xml b/runelite-script-assembler-plugin/pom.xml index 7ce9775e4a..91b30d050d 100644 --- a/runelite-script-assembler-plugin/pom.xml +++ b/runelite-script-assembler-plugin/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.22 + 1.6.23-SNAPSHOT script-assembler-plugin From 5a3992b5c4ab9fc09d1faa914d537bf261036ab3 Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Thu, 16 Jul 2020 19:31:09 +0100 Subject: [PATCH 089/189] implement api changes --- .../java/net/runelite/api/ItemDefinition.java | 8 +++ .../net/runelite/api/PlayerAppearance.java | 7 +++ .../java/net/runelite/client/RuneLite.java | 53 +++++++++++++++++-- .../net/runelite/client/game/ItemManager.java | 5 +- .../mixins/RSItemDefinitionMixin.java | 8 +++ 5 files changed, 75 insertions(+), 6 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/ItemDefinition.java b/runelite-api/src/main/java/net/runelite/api/ItemDefinition.java index d215589a07..3bfd527493 100644 --- a/runelite-api/src/main/java/net/runelite/api/ItemDefinition.java +++ b/runelite-api/src/main/java/net/runelite/api/ItemDefinition.java @@ -75,6 +75,14 @@ public interface ItemDefinition */ int getPrice(); + /** + * Get the high alchemy price for this item. All items have a high alchemy price, + * but not all items can be alched. + * + * @return the high alch price + */ + int getHaPrice(); + /** * Checks whether the item is members only. * diff --git a/runelite-api/src/main/java/net/runelite/api/PlayerAppearance.java b/runelite-api/src/main/java/net/runelite/api/PlayerAppearance.java index 2348968eda..c700ee8c3f 100644 --- a/runelite-api/src/main/java/net/runelite/api/PlayerAppearance.java +++ b/runelite-api/src/main/java/net/runelite/api/PlayerAppearance.java @@ -31,6 +31,13 @@ import net.runelite.api.kit.KitType; */ public interface PlayerAppearance { + /** + * Checks if the player is female. + * + * @return true if the player is female + */ + boolean isFemale(); + /** * Gets an array of IDs related to equipment slots. *

    diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLite.java b/runelite-client/src/main/java/net/runelite/client/RuneLite.java index 3cdaf570e4..c3ba022e05 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java @@ -44,6 +44,10 @@ import java.net.Authenticator; import java.net.PasswordAuthentication; import java.nio.charset.StandardCharsets; import java.nio.file.Paths; +import java.security.KeyManagementException; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; +import java.security.cert.X509Certificate; import java.util.Locale; import java.util.Map; import java.util.Optional; @@ -52,6 +56,9 @@ import java.util.UUID; import javax.annotation.Nullable; import javax.inject.Provider; import javax.inject.Singleton; +import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; import joptsimple.ArgumentAcceptingOptionSpec; import joptsimple.OptionException; import joptsimple.OptionParser; @@ -372,9 +379,16 @@ public class RuneLite log.error("Unable to load settings", ex); } - final OkHttpClient okHttpClient = RuneLiteAPI.CLIENT.newBuilder() - .cache(new Cache(new File(CACHE_DIR, "okhttp"), MAX_OKHTTP_CACHE_SIZE)) - .build(); + final OkHttpClient.Builder okHttpClientBuilder = RuneLiteAPI.CLIENT.newBuilder() + .cache(new Cache(new File(CACHE_DIR, "okhttp"), MAX_OKHTTP_CACHE_SIZE)); + + final boolean insecureSkipTlsVerification = options.has("insecure-skip-tls-verification"); + if (insecureSkipTlsVerification) + { + setupInsecureTrustManager(okHttpClientBuilder); + } + + final OkHttpClient okHttpClient = okHttpClientBuilder.build(); final ClientLoader clientLoader = new ClientLoader(okHttpClient, options.valueOf(updateMode)); Completable.fromAction(clientLoader::get) @@ -668,4 +682,37 @@ public class RuneLite return f; } } + + private static void setupInsecureTrustManager(OkHttpClient.Builder okHttpClientBuilder) + { + try + { + X509TrustManager trustManager = new X509TrustManager() + { + @Override + public void checkClientTrusted(X509Certificate[] chain, String authType) + { + } + + @Override + public void checkServerTrusted(X509Certificate[] chain, String authType) + { + } + + @Override + public X509Certificate[] getAcceptedIssuers() + { + return new X509Certificate[0]; + } + }; + + SSLContext sc = SSLContext.getInstance("SSL"); + sc.init(null, new TrustManager[]{trustManager}, new SecureRandom()); + okHttpClientBuilder.sslSocketFactory(sc.getSocketFactory(), trustManager); + } + catch (NoSuchAlgorithmException | KeyManagementException ex) + { + log.warn("unable to setup insecure trust manager", ex); + } + } } diff --git a/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java b/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java index 24ece9a377..888531ed6f 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java +++ b/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java @@ -48,7 +48,6 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.Constants; import static net.runelite.api.Constants.CLIENT_DEFAULT_ZOOM; -import static net.runelite.api.Constants.HIGH_ALCHEMY_MULTIPLIER; import net.runelite.api.GameState; import net.runelite.api.ItemDefinition; import net.runelite.api.ItemID; @@ -340,7 +339,7 @@ public class ItemManager return 1000; } - return (int) Math.max(1, composition.getPrice() * HIGH_ALCHEMY_MULTIPLIER); + return Math.max(1, composition.getHaPrice()); } public int getAlchValue(int itemID) @@ -354,7 +353,7 @@ public class ItemManager return 1000; } - return (int) Math.max(1, getItemDefinition(itemID).getPrice() * HIGH_ALCHEMY_MULTIPLIER); + return Math.max(1, getItemDefinition(itemID).getHaPrice()); } public int getRepairValue(int itemId) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSItemDefinitionMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSItemDefinitionMixin.java index b0d67ee943..fc1d84f24d 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSItemDefinitionMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSItemDefinitionMixin.java @@ -89,4 +89,12 @@ public abstract class RSItemDefinitionMixin implements RSItemDefinition return client.getRSItemDefinition(modelOverride).getModel(quantity); } + + @Inject + @Override + public int getHaPrice() + { + int price = getPrice(); + return (int) ((float) price * 0.6f); + } } From 3ca8b4031004ae9ac6da312e6c5eb4a42e8c2473 Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Thu, 16 Jul 2020 21:23:05 +0100 Subject: [PATCH 090/189] bump version number --- buildSrc/src/main/kotlin/Dependencies.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index 30add58c17..2af65a27e7 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -27,7 +27,7 @@ object ProjectVersions { const val launcherVersion = "2.2.0" const val rlVersion = "1.6.22" - const val openosrsVersion = "3.3.9" + const val openosrsVersion = "3.4.0" const val rsversion = 190 const val cacheversion = 165 From 402c4c2eb55eccfb587496a16ad33654aa03db0a Mon Sep 17 00:00:00 2001 From: OpenOSRS Date: Fri, 17 Jul 2020 00:03:51 +0000 Subject: [PATCH 091/189] project: Update gradle dependencies --- build.gradle.kts | 2 +- deobfuscator/deobfuscator.gradle.kts | 2 +- http-api/http-api.gradle.kts | 4 ++-- runelite-client/runelite-client.gradle.kts | 8 ++++---- wiki-scraper/wiki-scraper.gradle.kts | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index ada7c143c8..8de8e9feed 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -34,7 +34,7 @@ buildscript { } dependencies { classpath("org.ajoberstar.grgit:grgit-core:4.0.2") - classpath("com.github.ben-manes:gradle-versions-plugin:0.28.0") + classpath("com.github.ben-manes:gradle-versions-plugin:0.29.0") classpath("com.openosrs:injector-plugin:1.1.4") } } diff --git a/deobfuscator/deobfuscator.gradle.kts b/deobfuscator/deobfuscator.gradle.kts index d19897359f..2675255bea 100644 --- a/deobfuscator/deobfuscator.gradle.kts +++ b/deobfuscator/deobfuscator.gradle.kts @@ -49,7 +49,7 @@ dependencies { testImplementation(deobjars) testImplementation(group = "junit", name = "junit", version = "4.13") - testImplementation(group = "org.mockito", name = "mockito-core", version = "3.3.3") + testImplementation(group = "org.mockito", name = "mockito-core", version = "3.4.2") } tasks { diff --git a/http-api/http-api.gradle.kts b/http-api/http-api.gradle.kts index 19b587c39d..857c1a6f7d 100644 --- a/http-api/http-api.gradle.kts +++ b/http-api/http-api.gradle.kts @@ -35,13 +35,13 @@ dependencies { implementation(group = "com.google.code.gson", name = "gson", version = "2.8.6") implementation(group = "com.google.guava", name = "guava", version = "29.0-jre") - implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.7.2") + implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.8.0") implementation(group = "io.reactivex.rxjava3", name = "rxjava", version = "3.0.4") implementation(group = "org.apache.commons", name = "commons-csv", version = "1.8") implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.30") implementation(project(":runelite-api")) - testImplementation(group = "com.squareup.okhttp3", name = "mockwebserver", version = "4.7.2") + testImplementation(group = "com.squareup.okhttp3", name = "mockwebserver", version = "4.8.0") testImplementation(group = "junit", name = "junit", version = "4.13") testImplementation(group = "org.slf4j", name = "slf4j-simple", version = "1.7.30") } diff --git a/runelite-client/runelite-client.gradle.kts b/runelite-client/runelite-client.gradle.kts index baf582c674..b31a24ce21 100644 --- a/runelite-client/runelite-client.gradle.kts +++ b/runelite-client/runelite-client.gradle.kts @@ -53,7 +53,7 @@ dependencies { implementation(group = "com.google.inject", name = "guice", version = "4.2.3", classifier = "no_aop") implementation(group = "com.h2database", name = "h2", version = "1.4.200") implementation(group = "com.jakewharton.rxrelay3", name = "rxrelay", version = "3.0.0") - implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.7.2") + implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.8.0") implementation(group = "io.reactivex.rxjava3", name = "rxjava", version = "3.0.4") implementation(group = "net.java.dev.jna", name = "jna", version = "5.5.0") implementation(group = "org.jgroups", name = "jgroups", version = "4.2.4.Final") @@ -87,9 +87,9 @@ dependencies { testImplementation(group = "com.google.inject.extensions", name = "guice-testlib", version = "4.2.3") testImplementation(group = "org.hamcrest", name = "hamcrest-library", version = "2.2") testImplementation(group = "junit", name = "junit", version = "4.13") - testImplementation(group = "org.mockito", name = "mockito-core", version = "3.3.3") - testImplementation(group = "org.mockito", name = "mockito-inline", version = "3.3.3") - testImplementation(group = "com.squareup.okhttp3", name = "mockwebserver", version = "4.7.2") + testImplementation(group = "org.mockito", name = "mockito-core", version = "3.4.2") + testImplementation(group = "org.mockito", name = "mockito-inline", version = "3.4.2") + testImplementation(group = "com.squareup.okhttp3", name = "mockwebserver", version = "4.8.0") testImplementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.30") } diff --git a/wiki-scraper/wiki-scraper.gradle.kts b/wiki-scraper/wiki-scraper.gradle.kts index d3266f756c..55deec40f9 100644 --- a/wiki-scraper/wiki-scraper.gradle.kts +++ b/wiki-scraper/wiki-scraper.gradle.kts @@ -36,7 +36,7 @@ dependencies { implementation(group = "com.google.code.gson", name = "gson", version = "2.8.6") implementation(group = "com.google.guava", name = "guava", version = "29.0-jre") implementation(group = "com.github.petitparser", name = "java-petitparser", version = "2.3.1") - implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.7.2") + implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.8.0") implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.30") implementation(group = "org.slf4j", name = "slf4j-simple", version = "1.7.30") From c36b5e4f0341a6a37c6af477722f2731a9a00c61 Mon Sep 17 00:00:00 2001 From: Owain van Brakel Date: Fri, 17 Jul 2020 07:19:44 +0200 Subject: [PATCH 092/189] externalpluginmanager: Catch all throwables --- .../net/runelite/client/plugins/ExternalPluginManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/ExternalPluginManager.java b/runelite-client/src/main/java/net/runelite/client/plugins/ExternalPluginManager.java index 2f4c368b8c..74e1b1937b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/ExternalPluginManager.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/ExternalPluginManager.java @@ -760,9 +760,9 @@ public class ExternalPluginManager scannedPlugins.add(plugin); } } - catch (NoClassDefFoundError ex) + catch (Throwable ex) { - log.error("plugin {} is outdated", pluginId); + log.error("plugin {} could not be loaded. {} {}", pluginId, ex.toString(), ex.getMessage()); } return scannedPlugins; From 3fad382843f2ba3e11063d36842e9c99fc59a4b0 Mon Sep 17 00:00:00 2001 From: Owain van Brakel Date: Fri, 17 Jul 2020 07:51:48 +0200 Subject: [PATCH 093/189] bootstrap: Fix client not being copied over --- buildSrc/src/main/kotlin/BootstrapPlugin.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/buildSrc/src/main/kotlin/BootstrapPlugin.kt b/buildSrc/src/main/kotlin/BootstrapPlugin.kt index c704cddb30..33509f96e5 100644 --- a/buildSrc/src/main/kotlin/BootstrapPlugin.kt +++ b/buildSrc/src/main/kotlin/BootstrapPlugin.kt @@ -15,6 +15,7 @@ class BootstrapPlugin : Plugin { bootstrapDependencies(project(":runescape-api")) bootstrapDependencies(project(":http-api")) bootstrapDependencies(project(":injected-client")) + bootstrapDependencies(project(":runelite-client")) } tasks.register("bootstrapStaging", "staging") From abbff79294dba5fd8516bcb5adc713293174483e Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 17 Jul 2020 21:17:39 -0400 Subject: [PATCH 094/189] xpdrops: fix recoloring xpdrops with hide skill icons on The widget child array is filled with nulls to hide the sprites. It is also valid for the child array to have null entries in it in general, but that does not happen otherwise. --- .../runelite/client/plugins/experiencedrop/XpDropPlugin.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java index b5ddf8bb22..cca138a93d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java @@ -28,6 +28,7 @@ import com.google.inject.Provides; import java.util.Arrays; import java.util.EnumMap; import java.util.Map; +import java.util.Objects; import java.util.stream.IntStream; import javax.inject.Inject; import net.runelite.api.Client; @@ -112,6 +113,7 @@ public class XpDropPlugin extends Plugin final IntStream spriteIDs = Arrays.stream(children) .skip(1) // skip text + .filter(Objects::nonNull) .mapToInt(Widget::getSpriteId); int color = 0; From 11d244bd065121ac5c314a0fdba7f32b9772e94d Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 17 Jul 2020 21:33:46 -0400 Subject: [PATCH 095/189] Revert "xpdrops: fix recoloring xpdrops with hide skill icons on" This reverts commit abbff79294dba5fd8516bcb5adc713293174483e. --- .../runelite/client/plugins/experiencedrop/XpDropPlugin.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java index cca138a93d..b5ddf8bb22 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java @@ -28,7 +28,6 @@ import com.google.inject.Provides; import java.util.Arrays; import java.util.EnumMap; import java.util.Map; -import java.util.Objects; import java.util.stream.IntStream; import javax.inject.Inject; import net.runelite.api.Client; @@ -113,7 +112,6 @@ public class XpDropPlugin extends Plugin final IntStream spriteIDs = Arrays.stream(children) .skip(1) // skip text - .filter(Objects::nonNull) .mapToInt(Widget::getSpriteId); int color = 0; From 4e3c887e878012949019ebcb2747b32e07bb9bdf Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Sat, 18 Jul 2020 02:25:36 +0100 Subject: [PATCH 096/189] xpdrop: fix recoloring xp drops with hide skill icons enabled --- .../plugins/experiencedrop/XpDropPlugin.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java index b5ddf8bb22..51498bd9f9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java @@ -96,15 +96,10 @@ public class XpDropPlugin extends Plugin // child 0 is the xpdrop text, everything else are sprite ids for skills final Widget text = children[0]; - if (config.hideSkillIcons()) - { - // keep only text - Arrays.fill(children, 1, children.length, null); - } - PrayerType prayer = getActivePrayerType(); if (prayer == null) { + hideSkillIcons(xpdrop); resetTextColor(text); return; } @@ -150,6 +145,8 @@ public class XpDropPlugin extends Plugin { resetTextColor(text); } + + hideSkillIcons(xpdrop); } private void resetTextColor(Widget widget) @@ -160,6 +157,16 @@ public class XpDropPlugin extends Plugin widget.setTextColor(color); } + private void hideSkillIcons(Widget xpdrop) + { + if (config.hideSkillIcons()) + { + Widget[] children = xpdrop.getChildren(); + // keep only text + Arrays.fill(children, 1, children.length, null); + } + } + private PrayerType getActivePrayerType() { for (XpPrayer prayer : XpPrayer.values()) From b75695475d29cf64aa406db58d772c3734ba204c Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Fri, 3 Jul 2020 11:37:55 +0200 Subject: [PATCH 097/189] Deob control flow housekeeping --- deobfuscator/deobfuscator.gradle.kts | 1 + .../net/runelite/asm/execution/Execution.java | 12 ++ .../deob/deobfuscators/cfg/Block.java | 67 ++++--- .../cfg/ControlFlowDeobfuscator.java | 168 +++-------------- .../deobfuscators/cfg/ControlFlowGraph.java | 174 +++++++++--------- 5 files changed, 163 insertions(+), 259 deletions(-) diff --git a/deobfuscator/deobfuscator.gradle.kts b/deobfuscator/deobfuscator.gradle.kts index 2675255bea..bf699e9d5a 100644 --- a/deobfuscator/deobfuscator.gradle.kts +++ b/deobfuscator/deobfuscator.gradle.kts @@ -103,6 +103,7 @@ tasks { classpath = project.sourceSets.main.get().runtimeClasspath main = "net.runelite.deob.Deob" + args = listOf(tokens["vanilla.jar"], "$buildDir/libs/deobfuscated-$version.jar") } register("UpdateMappings.main()") { diff --git a/deobfuscator/src/main/java/net/runelite/asm/execution/Execution.java b/deobfuscator/src/main/java/net/runelite/asm/execution/Execution.java index 6e19232d51..5c6f2f9e7f 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/execution/Execution.java +++ b/deobfuscator/src/main/java/net/runelite/asm/execution/Execution.java @@ -204,6 +204,18 @@ public class Execution this.addFrame(f); } + public void addMethods(Iterable methods) + { + for (Method m : methods) + { + if (m.getCode() == null) + continue; + Frame f = new Frame(this, m); + f.initialize(); + this.addFrame(f); + } + } + public void run() { assert !paused; diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/Block.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/Block.java index 8acc41a172..eb36e6037d 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/Block.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/Block.java @@ -27,6 +27,7 @@ package net.runelite.deob.deobfuscators.cfg; import java.util.ArrayList; import java.util.List; import net.runelite.asm.attributes.code.Instruction; +import net.runelite.asm.attributes.code.Label; public class Block { @@ -36,22 +37,22 @@ public class Block /** * blocks which jump here */ - private final List prev = new ArrayList<>(); + private final List pred = new ArrayList<>(); /** * blocks which this jumps to */ - private final List next = new ArrayList<>(); + private final List succ = new ArrayList<>(); /** * block which flows directly into this block */ - private Block flowsFrom; + private Block from; /** * block which this directly flows into */ - private Block flowsInto; + private Block into; /** * instructions in this block @@ -83,17 +84,17 @@ public class Block { StringBuilder sb = new StringBuilder(); sb.append("Block ID ").append(id).append("\n"); - if (flowsFrom != null) + if (from != null) { - sb.append(" flows from ").append(flowsFrom.id).append("\n"); + sb.append(" flows from ").append(from.id).append("\n"); } for (Instruction i : instructions) { sb.append(" ").append(i.toString()).append("\n"); } - if (flowsInto != null) + if (into != null) { - sb.append(" flows into ").append(flowsInto.id).append("\n"); + sb.append(" flows into ").append(into.id).append("\n"); } sb.append("\n"); return sb.toString(); @@ -118,47 +119,65 @@ public class Block public void addPrev(Block block) { - if (!prev.contains(block)) + if (!pred.contains(block)) { - prev.add(block); + pred.add(block); } } - public List getPrev() + public List getPred() { - return prev; + return pred; } public void addNext(Block block) { - if (!next.contains(block)) + if (!succ.contains(block)) { - next.add(block); + succ.add(block); } } - public List getNext() + public List getSucc() { - return next; + return succ; } - public Block getFlowsFrom() + public Block getFrom() { - return flowsFrom; + return from; } - public void setFlowsFrom(Block flowsFrom) + public void setFrom(Block from) { - this.flowsFrom = flowsFrom; + this.from = from; } - public Block getFlowsInto() + public Block getInto() { - return flowsInto; + return into; } - public void setFlowsInto(Block flowsInto) + public void setInto(Block into) { - this.flowsInto = flowsInto; + this.into = into; + } + + static int compare(Block a, Block b) + { + final int l1 = a.getLineNumber(); + final int l2 = b.getLineNumber(); + if (l1 == l2 || l1 == -1 || l2 == -1) + return 0; + return Integer.compare(l1, l2); + } + + private int getLineNumber() + { + for (Instruction i : instructions) + if (i instanceof Label) + if (((Label) i).getLineNumber() != null) + return ((Label) i).getLineNumber(); + return -1; } } diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/ControlFlowDeobfuscator.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/ControlFlowDeobfuscator.java index 337205400a..e544c6bbf1 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/ControlFlowDeobfuscator.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/ControlFlowDeobfuscator.java @@ -24,16 +24,11 @@ */ package net.runelite.deob.deobfuscators.cfg; -import java.util.ArrayList; import java.util.List; -import java.util.PriorityQueue; -import java.util.Queue; import net.runelite.asm.ClassFile; import net.runelite.asm.ClassGroup; import net.runelite.asm.Method; import net.runelite.asm.attributes.Code; -import net.runelite.asm.attributes.code.Exception; -import net.runelite.asm.attributes.code.Exceptions; import net.runelite.asm.attributes.code.Instruction; import net.runelite.asm.attributes.code.Instructions; import net.runelite.asm.attributes.code.Label; @@ -64,7 +59,6 @@ public class ControlFlowDeobfuscator implements Deobfuscator continue; } - split(code); run(code); runJumpLabel(code); } @@ -74,167 +68,49 @@ public class ControlFlowDeobfuscator implements Deobfuscator insertedJump, placedBlocks, removedJumps, insertedJump - removedJumps); } - /** - * Add gotos at the end of blocks without terminal instructions - * - * @param code - */ - private void split(Code code) - { - Instructions ins = code.getInstructions(); - Exceptions exceptions = code.getExceptions(); - - ControlFlowGraph graph = new ControlFlowGraph.Builder().build(code); - - List exc = new ArrayList<>(exceptions.getExceptions()); - - exceptions.clear(); // Must clear this before ins.clear() runs - ins.clear(); - - // insert jumps where blocks flow into others - for (Block block : graph.getBlocks()) - { - if (block.getFlowsInto() == null) - { - continue; - } - - Block into = block.getFlowsInto(); - assert into.getFlowsFrom() == block; - - Instruction first = into.getInstructions().get(0); - Label label; - if (!(first instanceof Label)) - { - label = new Label(null); - into.addInstruction(0, label); - } - else - { - label = (Label) first; - } - - Goto g = new Goto(null, label); - block.addInstruction(g); - - block.setFlowsInto(null); - into.setFlowsFrom(null); - - ++insertedJump; - } - - // Readd instructions from modified blocks - for (Block block : graph.getBlocks()) - { - for (Instruction i : block.getInstructions()) - { - assert i.getInstructions() == null; - i.setInstructions(ins); // I shouldn't have to do this here - ins.addInstruction(i); - } - } - - // Readd exceptions - for (Exception ex : exc) - { - exceptions.add(ex); - } - } - - private int compareBlock(Block o1, Block o2) - { - // higher numbers have the lowest priority - if (o1.isJumptarget() && !o2.isJumptarget()) - { - return -1; - } - if (o2.isJumptarget() && !o1.isJumptarget()) - { - return 1; - } - - return 0; - } - private void run(Code code) { Instructions ins = code.getInstructions(); - Exceptions exceptions = code.getExceptions(); - ControlFlowGraph graph = new ControlFlowGraph.Builder().build(code); - - for (Block block : graph.getBlocks()) - { - assert block.getFlowsFrom() == null; - assert block.getFlowsInto() == null; - } + ControlFlowGraph graph = new ControlFlowGraph(code); if (logger.isDebugEnabled()) // graph.toString() is expensive { logger.debug(graph.toString()); } - List originalExceptions = new ArrayList<>(exceptions.getExceptions()); - - // Clear existing exceptions and instructions as we are going to - // rebuild them - exceptions.clear(); + // Clear existing instructions as we are going to rebuild them ins.clear(); - - List done = new ArrayList<>(); - Queue queue = new PriorityQueue<>(this::compareBlock); - - // add initial code block - queue.add(graph.getHead()); - - while (!queue.isEmpty()) + final List sorted = graph.topologicalSort(); + for (Block b : sorted) { - Block block = queue.remove(); - - if (done.contains(block)) - { - continue; - } - - done.add(block); ++placedBlocks; - - logger.debug("Placed block {}", block.getId()); - - List next = block.getNext(); - - if (next.isEmpty() == false) + for (Instruction i : b.getInstructions()) { - // jumps are added in order their instructions are reached by ControlFlowGraph, - // so the last jump is the goto. - // - // removing this line causes the priority queue (due to implementation detail on how - // it handles objects with equal priority) to try to optimize for block closeness - // (how close blocks which are neighbors are to each other in bytecode). - // I get a jump delta of ~+14k with this on 143, vs ~-47k when priotiziing optimizing - // out jumps. I can't tell which is better. - next.get(next.size() - 1).setJumptarget(true); - } - - // add next reachable blocks - for (Block bl : next) - { - queue.add(bl); - } - - for (Instruction i : block.getInstructions()) - { - assert i.getInstructions() == null; - i.setInstructions(ins); // I shouldn't have to do this here ins.addInstruction(i); + i.setInstructions(ins); + } + if (b.getInto() != null && b.getInstructions().size() > 0) + { + final var i = b.getInstructions().get(b.getInstructions().size() - 1); + if (!i.isTerminal()) + { + final var next = b.getInto(); + var maybeLabel = next.getInstructions().get(0); + if (!(maybeLabel instanceof Label)) + { + maybeLabel = new Label(ins); + next.getInstructions().add(0, maybeLabel); + } + ins.addInstruction(new Goto(ins, (Label) maybeLabel)); + ++insertedJump; + } } } } /** * remove jumps followed immediately by the label they are jumping to - * - * @param code */ private void runJumpLabel(Code code) { diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/ControlFlowGraph.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/ControlFlowGraph.java index 9347e520ad..c6597f2083 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/ControlFlowGraph.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/ControlFlowGraph.java @@ -26,9 +26,12 @@ package net.runelite.deob.deobfuscators.cfg; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import net.runelite.asm.attributes.Code; import net.runelite.asm.attributes.code.Instruction; import net.runelite.asm.attributes.code.Label; @@ -36,10 +39,90 @@ import net.runelite.asm.attributes.code.instruction.types.JumpingInstruction; public class ControlFlowGraph { - private Map blocks = new HashMap<>(); - private List allBlocks = new ArrayList<>(); + private final Map blocks = new HashMap<>(); + private final List allBlocks = new ArrayList<>(); private final Block head; + public ControlFlowGraph(Code code) + { + int id = 0; + this.head = new Block(); + for (Instruction i : code.getInstructions()) + if (i instanceof Label) + blocks.computeIfAbsent((Label) i, lbl -> { + var b = new Block(); + allBlocks.add(b); + return b; + }); + + allBlocks.add(0, head); + Block cur = head; + for (Instruction i : code.getInstructions()) + { + if (i instanceof Label) + { + Block next = blocks.get(i); + if (next.getId() == -1) + { + next.setId(id++); + } + if (next != cur) + { + Instruction last = cur.getInstructions().isEmpty() + ? null + : cur.getInstructions().get(cur.getInstructions().size() - 1); + if (last == null || !last.isTerminal()) + { + assert next.getFrom() == null; + assert cur.getInto() == null; + // previous block flows directly into next + next.setFrom(cur); + cur.setInto(next); + } + cur = next; + } + } + cur.addInstruction(i); + if (i instanceof JumpingInstruction) + { + JumpingInstruction ji = (JumpingInstruction) i; + for (Label l : ji.getJumps()) + { + Block next = blocks.get(l); + if (next.getId() == -1) + { + next.setId(id++); + } + cur.addNext(next); + next.addPrev(cur); + } + } + } + + assert head.getFrom() == null; + } + + List topologicalSort() + { + final List ret = new ArrayList<>(); + walk(head, ret, new HashSet<>()); + Collections.reverse(ret); + return ret; + } + + private static void walk(Block cur, List order, Set done) + { + Block dirsucc = cur.getInto(); + if (dirsucc != null && done.add(dirsucc)) + walk(cur.getInto(), order, done); + List succs = cur.getSucc(); + succs.sort(Block::compare); + for (Block succ : succs) + if (done.add(succ)) + walk(succ, order, done); + order.add(cur); + } + public ControlFlowGraph(Block head) { this.head = head; @@ -70,91 +153,4 @@ public class ControlFlowGraph { return head; } - - public static class Builder - { - private final Map blocks = new HashMap<>(); - private final List allBlocks = new ArrayList<>(); - - public ControlFlowGraph build(Code code) - { - int id = 0; - - Block head = new Block(), - cur = head; - allBlocks.add(head); - - for (Instruction i : code.getInstructions().getInstructions()) - { - if (i instanceof Label) - { - // blocks always begin at labels, so create initial blocks - Block block = new Block(); - blocks.put((Label) i, block); - allBlocks.add(block); - } - } - - for (Instruction i : code.getInstructions().getInstructions()) - { - if (i instanceof Label) - { - Block next = blocks.get((Label) i); - assert next != null; - - if (next.getId() == -1) - { - next.setId(id++); - } - - if (next != cur) - { - Instruction last = cur.getInstructions().isEmpty() - ? null - : cur.getInstructions().get(cur.getInstructions().size() - 1); - - if (last == null || !last.isTerminal()) - { - assert next.getFlowsFrom() == null; - assert cur.getFlowsInto() == null; - - // previous block flows directly into next - next.setFlowsFrom(cur); - cur.setFlowsInto(next); - } - - cur = next; - } - } - - cur.addInstruction(i); - - if (i instanceof JumpingInstruction) - { - JumpingInstruction ji = (JumpingInstruction) i; - - for (Label l : ji.getJumps()) - { - Block next = blocks.get(l); - - if (next.getId() == -1) - { - next.setId(id++); - } - - cur.addNext(next); - next.addPrev(cur); - } - } - } - - assert head != null : "no instructions in code"; - assert head.getFlowsFrom() == null; - - ControlFlowGraph cfg = new ControlFlowGraph(head); - cfg.blocks = blocks; - cfg.allBlocks = allBlocks; - return cfg; - } - } } From eb1d6bbd74528e30fe2999615520e54a8fa3f3a9 Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Fri, 3 Jul 2020 12:30:32 +0200 Subject: [PATCH 098/189] Make jars saved by JarUtil reproducible --- .../src/main/java/net/runelite/deob/util/JarUtil.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deobfuscator/src/main/java/net/runelite/deob/util/JarUtil.java b/deobfuscator/src/main/java/net/runelite/deob/util/JarUtil.java index 67364468c0..8cd73d50ef 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/util/JarUtil.java +++ b/deobfuscator/src/main/java/net/runelite/deob/util/JarUtil.java @@ -34,7 +34,6 @@ import java.util.Enumeration; import java.util.jar.JarEntry; import java.util.jar.JarFile; import java.util.jar.JarOutputStream; -import java.util.jar.Manifest; import net.runelite.asm.ClassFile; import net.runelite.asm.ClassGroup; import net.runelite.asm.objectwebasm.NonloadingClassWriter; @@ -118,11 +117,12 @@ public class JarUtil public static void saveJar(ClassGroup group, File jarfile) throws IOException { - try (JarOutputStream jout = new JarOutputStream(new FileOutputStream(jarfile), new Manifest())) + try (JarOutputStream jout = new JarOutputStream(new FileOutputStream(jarfile))) { for (ClassFile cf : group.getClasses()) { JarEntry entry = new JarEntry(cf.getName() + ".class"); + entry.setTime(-1); jout.putNextEntry(entry); byte[] data = writeClass(group, cf); From 29105c950111e68e6d9265b87d9ba6116130a2e3 Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Thu, 16 Jul 2020 02:01:33 +0200 Subject: [PATCH 099/189] asm: Use a more sensible approach for annotations --- build.gradle.kts | 2 + deobfuscator/deobfuscator.gradle.kts | 4 +- .../main/java/net/runelite/asm/Annotated.java | 17 -- .../java/net/runelite/asm/Annotation.java | 195 ++++++++++++++++++ .../main/java/net/runelite/asm/ClassFile.java | 20 +- .../java/net/runelite/asm/ClassGroup.java | 2 +- .../src/main/java/net/runelite/asm/Field.java | 21 +- .../java/net/runelite/asm/Interfaces.java | 2 +- .../main/java/net/runelite/asm/Method.java | 22 +- .../runelite/asm/attributes/Annotated.java | 51 +++++ .../runelite/asm/attributes/Annotations.java | 91 -------- .../asm/attributes/annotation/Annotation.java | 99 --------- .../attributes/annotation/ArrayElement.java | 42 ---- .../asm/attributes/annotation/Element.java | 91 -------- .../attributes/annotation/SimpleElement.java | 15 -- .../net/runelite/asm/signature/Signature.java | 53 +++-- .../visitors/AnnotationElementVisitor.java | 83 -------- .../asm/visitors/ClassFieldVisitor.java | 8 +- .../asm/visitors/ClassFileVisitor.java | 7 +- .../runelite/asm/visitors/CodeVisitor.java | 8 +- .../src/main/java/net/runelite/deob/Deob.java | 3 - .../net/runelite/deob/DeobAnnotations.java | 105 ++++------ .../runelite/deob/deobfuscators/Order.java | 50 ++--- .../deobfuscators/PacketHandlerOrder.java | 16 +- .../deob/deobfuscators/RenameUnique.java | 34 +-- .../runelite/deob/deobfuscators/Renamer.java | 57 +++-- .../deobfuscators/StaticShouldBeInstance.java | 171 --------------- .../deob/deobfuscators/UnusedParameters.java | 62 +++--- .../deobfuscators/arithmetic/ModArith.java | 2 +- .../constparam/ConstantParameter.java | 26 +-- .../mapping/AnnotationIntegrityChecker.java | 81 ++------ .../mapping/AnnotationMapper.java | 44 ++-- .../mapping/StaticMethodSignatureMapper.java | 2 +- .../packetwrite/PacketWriteDeobfuscator.java | 2 +- .../deob/updater/AnnotationAdder.java | 93 +++------ .../deob/updater/AnnotationCopier.java | 51 ++--- .../deob/updater/AnnotationRenamer.java | 16 +- .../updater/mappingdumper/MappedClass.java | 5 +- .../updater/mappingdumper/MappedField.java | 4 +- .../updater/mappingdumper/MappedMethod.java | 9 +- .../net/runelite/deob/util/NameMappings.java | 8 +- .../asm/annotations/AnnotationTest.java | 25 +-- .../deobfuscators/mapping/MappingDumper.java | 20 +- .../deob/updater/AnnotationCleaner.java | 15 +- .../deob/updater/UpdateMappingsTest.java | 14 +- .../java/net/runelite/osb/HookImporter.java | 60 ++---- .../runelite/runeloader/MappingImporter.java | 50 ++--- .../net/runelite/runesuite/HookImporter.java | 36 ++-- runelite-client/runelite-client.gradle.kts | 2 +- 49 files changed, 625 insertions(+), 1271 deletions(-) delete mode 100644 deobfuscator/src/main/java/net/runelite/asm/Annotated.java create mode 100644 deobfuscator/src/main/java/net/runelite/asm/Annotation.java create mode 100644 deobfuscator/src/main/java/net/runelite/asm/attributes/Annotated.java delete mode 100644 deobfuscator/src/main/java/net/runelite/asm/attributes/Annotations.java delete mode 100644 deobfuscator/src/main/java/net/runelite/asm/attributes/annotation/Annotation.java delete mode 100644 deobfuscator/src/main/java/net/runelite/asm/attributes/annotation/ArrayElement.java delete mode 100644 deobfuscator/src/main/java/net/runelite/asm/attributes/annotation/Element.java delete mode 100644 deobfuscator/src/main/java/net/runelite/asm/attributes/annotation/SimpleElement.java delete mode 100644 deobfuscator/src/main/java/net/runelite/asm/visitors/AnnotationElementVisitor.java delete mode 100644 deobfuscator/src/main/java/net/runelite/deob/deobfuscators/StaticShouldBeInstance.java diff --git a/build.gradle.kts b/build.gradle.kts index 8de8e9feed..0c1eb010fb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -202,6 +202,8 @@ subprojects { } } } + + configurations["compileOnly"].extendsFrom(configurations["annotationProcessor"]) } application { diff --git a/deobfuscator/deobfuscator.gradle.kts b/deobfuscator/deobfuscator.gradle.kts index bf699e9d5a..8ba8ba9ca9 100644 --- a/deobfuscator/deobfuscator.gradle.kts +++ b/deobfuscator/deobfuscator.gradle.kts @@ -35,6 +35,8 @@ dependencies { deobjars(group = "net.runelite.rs", name = "vanilla", version = ProjectVersions.rsversion.toString()) deobjars(project(":runescape-client")) + annotationProcessor(group = "org.projectlombok", name = "lombok", version = "1.18.12") + implementation(group = "org.jetbrains", name = "annotations", version = "19.0.0") implementation(group = "org.ow2.asm", name = "asm", version = "8.0.1") implementation(group = "org.ow2.asm", name = "asm-util", version = "8.0.1") @@ -90,7 +92,7 @@ tasks { filter(ReplaceTokens::class, "tokens" to tokens) filteringCharset = "UTF-8" } - + // TODO: Enable assertions on all 3 register("Downloader.main()") { group = "gamepack" diff --git a/deobfuscator/src/main/java/net/runelite/asm/Annotated.java b/deobfuscator/src/main/java/net/runelite/asm/Annotated.java deleted file mode 100644 index 4645fa23a2..0000000000 --- a/deobfuscator/src/main/java/net/runelite/asm/Annotated.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.runelite.asm; - -import java.util.Iterator; -import net.runelite.asm.attributes.Annotations; -import net.runelite.asm.attributes.annotation.Annotation; -import org.jetbrains.annotations.NotNull; - -public interface Annotated extends Iterable -{ - Annotations getAnnotations(); - - @NotNull - default Iterator iterator() - { - return getAnnotations().iterator(); - } -} diff --git a/deobfuscator/src/main/java/net/runelite/asm/Annotation.java b/deobfuscator/src/main/java/net/runelite/asm/Annotation.java new file mode 100644 index 0000000000..1797502fbf --- /dev/null +++ b/deobfuscator/src/main/java/net/runelite/asm/Annotation.java @@ -0,0 +1,195 @@ +/* + * Copyright (c) 2020, Lucas + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.asm; + +import java.util.ArrayList; +import java.util.List; +import java.util.TreeMap; +import org.jetbrains.annotations.NotNull; +import org.objectweb.asm.AnnotationVisitor; +import org.objectweb.asm.Opcodes; + +/** + * Note: this class has a natural ordering that is inconsistent with equals. + */ +public class Annotation extends AnnotationVisitor implements Comparable +{ + /** + * Name:Value pairs in this annotation. Uses a tree map to make order reproducible. + * + * Data can be any of the following: + * - Primitive values + * - Strings + * - Class objects + * - Enum constants (not implemented) + * - Arrays of any of the above (use {@link ArrayList} + * - Other Annotations + */ + private final TreeMap data = new TreeMap<>(); + private final Type type; + /** + * Unused for now but here for easy implementation later if anyone wants to + */ + private final boolean visible; + + public Annotation(Type type) + { + this(type, true); + } + + public Annotation(Type type, boolean visible) + { + super(Opcodes.ASM5); + this.type = type; + this.visible = visible; + } + + public Type getType() + { + return type; + } + + public void addElement(String name, Object value) + { + if (data.put(name, value) != null) + throw new IllegalStateException("The annotation already contains a value mapped to " + name); + } + + public void addElement(Object value) + { + addElement("value", value); + } + + public void setElement(String name, Object value) + { + data.put(name, value); + } + + public void setElement(Object value) + { + setElement("value", value); + } + + public Object get(String name) + { + return data.get(name); + } + + public Object getValue() + { + return data.get("value"); + } + + public String getValueString() + { + return (String) getValue(); + } + + public int size() + { + return data.size(); + } + + @Override + public void visit(String name, Object value) + { + data.put(name, value); + } + + @Override + public AnnotationVisitor visitAnnotation(String name, String descriptor) + { + final var annotation = new Annotation(new Type(descriptor)); + data.put(name, annotation); + return annotation; + } + + @Override + public AnnotationVisitor visitArray(String name) + { + final var lst = new ArrayList<>(); + data.put(name, lst); + return new AnnotationVisitor(Opcodes.ASM5) + { + @Override + public void visit(String name, Object value) + { + lst.add(value); + } + @Override + public AnnotationVisitor visitAnnotation(String name, String descriptor) + { + Annotation annotation = new Annotation(new Type(descriptor)); + lst.add(annotation); + return annotation; + } + }; + } + + public void accept(AnnotationVisitor visitor) + { + if (visitor == null) + return; + + for (var entry : data.entrySet()) + accept(visitor, entry.getKey(), entry.getValue()); + + visitor.visitEnd(); + } + + private static void accept(AnnotationVisitor visitor, final String name, final Object value) + { + if (visitor == null) + return; + + if (value instanceof Annotation) + { + Annotation annotation = (Annotation) value; + annotation.accept(visitor.visitAnnotation(name, annotation.getType().toString())); + } + else if (value instanceof List) + { + AnnotationVisitor arr = visitor.visitArray(name); + List arrayValue = (List) value; + + for (Object o : arrayValue) + { + accept(arr, null, o); + } + + arr.visitEnd(); + } + else + { + visitor.visit(name, value); + } + } + + @Override + public int compareTo(@NotNull Annotation that) + { + return this.type.toString().compareTo(that.type.toString()); + } +} diff --git a/deobfuscator/src/main/java/net/runelite/asm/ClassFile.java b/deobfuscator/src/main/java/net/runelite/asm/ClassFile.java index fd2ba5a40a..9014dd73e2 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/ClassFile.java +++ b/deobfuscator/src/main/java/net/runelite/asm/ClassFile.java @@ -25,9 +25,12 @@ package net.runelite.asm; import java.util.ArrayList; +import java.util.Comparator; import java.util.List; -import net.runelite.asm.attributes.Annotations; -import net.runelite.asm.attributes.annotation.Annotation; +import java.util.Map; +import java.util.TreeMap; +import lombok.Getter; +import net.runelite.asm.attributes.Annotated; import net.runelite.asm.pool.Class; import net.runelite.asm.signature.Signature; import static net.runelite.deob.DeobAnnotations.*; @@ -51,14 +54,14 @@ public class ClassFile implements Annotated, Named private final Interfaces interfaces; private final List fields = new ArrayList<>(); private final List methods = new ArrayList<>(); - private final Annotations annotations; + @Getter + private final Map annotations = new TreeMap<>(Comparator.comparing(Type::toString)); public ClassFile(ClassGroup group) { this.group = group; interfaces = new Interfaces(this); - annotations = new Annotations(); } public ClassFile() @@ -99,7 +102,7 @@ public class ClassFile implements Annotated, Named visitor.visit(version, access, name.getName(), null, super_class.getName(), ints); visitor.visitSource(source, null); - for (Annotation annotation : annotations) + for (Annotation annotation : annotations.values()) { annotation.accept(visitor.visitAnnotation(annotation.getType().toString(), true)); } @@ -170,11 +173,6 @@ public class ClassFile implements Annotated, Named methods.remove(method); } - public Annotations getAnnotations() - { - return annotations; - } - public String getName() { return name.getName(); @@ -312,7 +310,7 @@ public class ClassFile implements Annotated, Named for (Method m : methods) { if (m.isStatic() && - name.equals(getObfuscatedName(m.getAnnotations())) && + name.equals(getObfuscatedName(m)) && type.equals(getObfuscatedSignature(m))) { return m; diff --git a/deobfuscator/src/main/java/net/runelite/asm/ClassGroup.java b/deobfuscator/src/main/java/net/runelite/asm/ClassGroup.java index fabde88742..3b29c295b6 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/ClassGroup.java +++ b/deobfuscator/src/main/java/net/runelite/asm/ClassGroup.java @@ -151,7 +151,7 @@ public class ClassGroup implements Iterable { for (ClassFile cf : classes) { - if (name.equals(getObfuscatedName(cf.getAnnotations()))) + if (name.equals(getObfuscatedName(cf))) { return cf; } diff --git a/deobfuscator/src/main/java/net/runelite/asm/Field.java b/deobfuscator/src/main/java/net/runelite/asm/Field.java index 1a9fd7a776..d02f28c582 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/Field.java +++ b/deobfuscator/src/main/java/net/runelite/asm/Field.java @@ -24,8 +24,11 @@ */ package net.runelite.asm; -import net.runelite.asm.attributes.Annotations; -import net.runelite.asm.attributes.annotation.Annotation; +import java.util.Comparator; +import java.util.Map; +import java.util.TreeMap; +import lombok.Getter; +import net.runelite.asm.attributes.Annotated; import net.runelite.deob.DeobAnnotations; import org.objectweb.asm.FieldVisitor; import org.objectweb.asm.Opcodes; @@ -43,20 +46,19 @@ public class Field implements Annotated, Named private String name; private Type type; private Object value; // ConstantValue - private final Annotations annotations; + @Getter + private final Map annotations = new TreeMap<>(Comparator.comparing(Type::toString)); public Field(ClassFile classFile, String name, Type type) { this.classFile = classFile; this.name = name; this.type = type; - - this.annotations = new Annotations(); } public void accept(FieldVisitor visitor) { - for (Annotation annotation : annotations.getAnnotations()) + for (Annotation annotation : annotations.values()) { annotation.accept(visitor.visitAnnotation(annotation.getType().toString(), true)); } @@ -150,15 +152,10 @@ public class Field implements Annotated, Named this.value = value; } - public Annotations getAnnotations() - { - return annotations; - } - public net.runelite.asm.pool.Field getPoolField() { return new net.runelite.asm.pool.Field( - new net.runelite.asm.pool.Class(classFile.getName()), + classFile.getPoolClass(), this.getName(), this.getType() ); diff --git a/deobfuscator/src/main/java/net/runelite/asm/Interfaces.java b/deobfuscator/src/main/java/net/runelite/asm/Interfaces.java index 9bc15d5100..180417b3f6 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/Interfaces.java +++ b/deobfuscator/src/main/java/net/runelite/asm/Interfaces.java @@ -98,7 +98,7 @@ public class Interfaces implements Iterable final List names = new ArrayList<>(); for (ClassFile c : getMyInterfaces()) { - String name = DeobAnnotations.getObfuscatedName(c.getAnnotations()); + String name = DeobAnnotations.getObfuscatedName(c); if (name == null) { continue; diff --git a/deobfuscator/src/main/java/net/runelite/asm/Method.java b/deobfuscator/src/main/java/net/runelite/asm/Method.java index b13e98aa3f..1637298dff 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/Method.java +++ b/deobfuscator/src/main/java/net/runelite/asm/Method.java @@ -25,11 +25,14 @@ package net.runelite.asm; import java.util.ArrayList; +import java.util.Comparator; import java.util.List; -import net.runelite.asm.attributes.Annotations; +import java.util.Map; +import java.util.TreeMap; +import lombok.Getter; +import net.runelite.asm.attributes.Annotated; import net.runelite.asm.attributes.Code; import net.runelite.asm.attributes.Exceptions; -import net.runelite.asm.attributes.annotation.Annotation; import net.runelite.asm.attributes.code.Instruction; import net.runelite.asm.attributes.code.LocalVariable; import net.runelite.asm.attributes.code.Parameter; @@ -55,8 +58,9 @@ public class Method implements Annotated, Named private int accessFlags; private String name; private Signature arguments; - private Exceptions exceptions; - private Annotations annotations; + private final Exceptions exceptions; + @Getter + private final Map annotations = new TreeMap<>(Comparator.comparing(Type::toString)); private List parameters; private Code code; @@ -66,7 +70,6 @@ public class Method implements Annotated, Named this.name = name; this.arguments = signature; exceptions = new Exceptions(); - annotations = new Annotations(); parameters = new ArrayList<>(); } @@ -89,7 +92,7 @@ public class Method implements Annotated, Named visitor.visitParameter(p.getName(), p.getAccess()); } - for (Annotation annotation : annotations.getAnnotations()) + for (Annotation annotation : annotations.values()) { annotation.accept(visitor.visitAnnotation(annotation.getType().toString(), true)); } @@ -277,11 +280,6 @@ public class Method implements Annotated, Named this.code = code; } - public Annotations getAnnotations() - { - return annotations; - } - @SuppressWarnings("unchecked") public List findLVTInstructionsForVariable(int index) { @@ -313,7 +311,7 @@ public class Method implements Annotated, Named public net.runelite.asm.pool.Method getPoolMethod() { return new net.runelite.asm.pool.Method( - new net.runelite.asm.pool.Class(classFile.getName()), + classFile.getPoolClass(), name, arguments ); diff --git a/deobfuscator/src/main/java/net/runelite/asm/attributes/Annotated.java b/deobfuscator/src/main/java/net/runelite/asm/attributes/Annotated.java new file mode 100644 index 0000000000..edffbfd459 --- /dev/null +++ b/deobfuscator/src/main/java/net/runelite/asm/attributes/Annotated.java @@ -0,0 +1,51 @@ +package net.runelite.asm.attributes; + +import java.util.Map; +import net.runelite.asm.Annotation; +import net.runelite.asm.Type; + +/** + * Objects implementing this only have to implement getAnnotations. + */ +public interface Annotated +{ + Map getAnnotations(); + + default Annotation findAnnotation(Type type, boolean createNew) + { + if (createNew) + return getAnnotations().computeIfAbsent(type, Annotation::new); + else + return getAnnotations().get(type); + } + + default Annotation findAnnotation(Type type) + { + return findAnnotation(type, false); + } + + default void addAnnotation(Annotation annotation) + { + if (getAnnotations().put(annotation.getType(), annotation) != null) + throw new IllegalStateException("Annotation with type " + annotation.getType() + " already exists"); + } + + default void addAnnotation(Type type) + { + if (getAnnotations().put(type, new Annotation(type)) != null) + throw new IllegalStateException("Annotation with type " + type + " already exists"); + } + + default void addAnnotation(Type type, Object val) + { + addAnnotation(type, val); + } + + default void addAnnotation(Type type, String key, Object val) + { + final var a = new Annotation(type); + a.setElement(key, val); + if (getAnnotations().put(type, a) != null) + throw new IllegalStateException("Annotation with type " + type + " already exists"); + } +} diff --git a/deobfuscator/src/main/java/net/runelite/asm/attributes/Annotations.java b/deobfuscator/src/main/java/net/runelite/asm/attributes/Annotations.java deleted file mode 100644 index 6e184a89ec..0000000000 --- a/deobfuscator/src/main/java/net/runelite/asm/attributes/Annotations.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) 2016-2017, Adam - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package net.runelite.asm.attributes; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import net.runelite.asm.Type; -import net.runelite.asm.attributes.annotation.Annotation; -import net.runelite.asm.attributes.annotation.Element; -import net.runelite.asm.attributes.annotation.SimpleElement; -import org.jetbrains.annotations.NotNull; - -public class Annotations implements Iterable -{ - private final List annotations = new ArrayList<>(); - - public List getAnnotations() - { - return annotations; - } - - public void addAnnotation(Annotation annotation) - { - annotations.add(annotation); - } - - public void removeAnnotation(Annotation annotation) - { - annotations.remove(annotation); - } - - public void clearAnnotations() - { - annotations.clear(); - } - - public Annotation find(Type type) - { - for (Annotation a : annotations) - if (a.getType().equals(type)) - return a; - return null; - } - - public int size() - { - return annotations.size(); - } - - public Annotation addAnnotation(Type type, String name, Object value) - { - Annotation annotation = new Annotation(type); - addAnnotation(annotation); - - Element element = new SimpleElement(name, value); - annotation.addElement(element); - - return annotation; - } - - @NotNull - @Override - public Iterator iterator() - { - return this.annotations.iterator(); - } -} diff --git a/deobfuscator/src/main/java/net/runelite/asm/attributes/annotation/Annotation.java b/deobfuscator/src/main/java/net/runelite/asm/attributes/annotation/Annotation.java deleted file mode 100644 index 6f3a459eb3..0000000000 --- a/deobfuscator/src/main/java/net/runelite/asm/attributes/annotation/Annotation.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright (c) 2016-2017, Adam - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package net.runelite.asm.attributes.annotation; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import net.runelite.asm.Type; -import org.jetbrains.annotations.NotNull; -import org.objectweb.asm.AnnotationVisitor; - -public class Annotation extends Element> implements Iterable -{ - private final Type type; - - public Annotation(Type type) - { - this.value = new ArrayList<>(); - this.type = type; - } - - public Annotation(String name, Type type) - { - this.value = new ArrayList<>(); - this.name = name; - this.type = type; - } - - public Type getType() - { - return type; - } - - public List getElements() - { - return value; - } - - public Element getElement() - { - return value.get(0); - } - - public void addElement(Element element) - { - value.add(element); - } - - @Override - public final void setValue(List value) - { - throw new UnsupportedOperationException(); - } - - public void accept(AnnotationVisitor visitor) - { - if (visitor == null) - { - return; - } - - for (Element element : this) - { - accept(visitor, element.name, element.value); - } - - visitor.visitEnd(); - } - - @NotNull - @Override - public Iterator iterator() - { - return this.value.iterator(); - } -} diff --git a/deobfuscator/src/main/java/net/runelite/asm/attributes/annotation/ArrayElement.java b/deobfuscator/src/main/java/net/runelite/asm/attributes/annotation/ArrayElement.java deleted file mode 100644 index b7e2b7ef84..0000000000 --- a/deobfuscator/src/main/java/net/runelite/asm/attributes/annotation/ArrayElement.java +++ /dev/null @@ -1,42 +0,0 @@ -package net.runelite.asm.attributes.annotation; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.stream.Stream; -import org.jetbrains.annotations.NotNull; - -public class ArrayElement extends Element implements Iterable -{ - public ArrayElement(String name) - { - this.name = name; - this.value = new ArrayList<>(); - } - - @SuppressWarnings("unchecked") - public void addValue(Object value) - { - this.value.add(value); - } - - @Override - public final void setValue(List value) - { - throw new UnsupportedOperationException(); - } - - @NotNull - @Override - @SuppressWarnings("unchecked") - public Iterator iterator() - { - return this.value.iterator(); - } - - @SuppressWarnings("unchecked") - public Stream stream() - { - return this.value.stream(); - } -} diff --git a/deobfuscator/src/main/java/net/runelite/asm/attributes/annotation/Element.java b/deobfuscator/src/main/java/net/runelite/asm/attributes/annotation/Element.java deleted file mode 100644 index 10b59b5b27..0000000000 --- a/deobfuscator/src/main/java/net/runelite/asm/attributes/annotation/Element.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) 2016-2017, Adam - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package net.runelite.asm.attributes.annotation; - -import java.util.List; -import org.objectweb.asm.AnnotationVisitor; - -public abstract class Element -{ - String name = "value"; - - T value; - - public String getName() - { - return name; - } - - public void setName(String name) - { - this.name = name; - } - - public T getValue() - { - return value; - } - - public void setValue(T value) - { - this.value = value; - } - - public String getString() - { - return value.toString(); - } - - public static void accept(AnnotationVisitor visitor, final String name, final Object value) - { - if (visitor == null) - { - return; - } - - if (value instanceof Annotation) - { - Annotation annotation = (Annotation) value; - annotation.accept(visitor.visitAnnotation(name, annotation.getType().toString())); - } - else if (value instanceof List) - { - AnnotationVisitor arr = visitor.visitArray(name); - List arrayValue = (List) value; - - for (Object o : arrayValue) - { - accept(arr, null, o); - } - - arr.visitEnd(); - } - else - { - visitor.visit(name, value); - } - } -} diff --git a/deobfuscator/src/main/java/net/runelite/asm/attributes/annotation/SimpleElement.java b/deobfuscator/src/main/java/net/runelite/asm/attributes/annotation/SimpleElement.java deleted file mode 100644 index 52e25e295c..0000000000 --- a/deobfuscator/src/main/java/net/runelite/asm/attributes/annotation/SimpleElement.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.runelite.asm.attributes.annotation; - -public class SimpleElement extends Element -{ - public SimpleElement(Object value) - { - this.value = value; - } - - public SimpleElement(String name, Object value) - { - this.name = name; - this.value = value; - } -} diff --git a/deobfuscator/src/main/java/net/runelite/asm/signature/Signature.java b/deobfuscator/src/main/java/net/runelite/asm/signature/Signature.java index 58b56deb2f..9c346dd36e 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/signature/Signature.java +++ b/deobfuscator/src/main/java/net/runelite/asm/signature/Signature.java @@ -28,20 +28,17 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.Objects; -import java.util.regex.Matcher; import java.util.regex.Pattern; import net.runelite.asm.Type; public class Signature { - private static Pattern paramRetPattern = Pattern.compile("\\((.*)\\)(.*)"), - paramsPattern = Pattern.compile("(\\[*(?:B|C|Z|S|I|J|F|D|(?:L[^;]*;)))"); + private static final Pattern RLAPITORSAPI = Pattern.compile("net/runelite/(rs/)?api/(RS)?"); private final List arguments; private final Type rv; - private Signature(List arguments, Type rv) + public Signature(List arguments, Type rv) { this.arguments = new ArrayList<>(arguments); this.rv = rv; @@ -49,23 +46,12 @@ public class Signature public Signature(String str) { - Matcher m = paramRetPattern.matcher(str); - if (!m.find()) - { - throw new IllegalArgumentException("Signature has no arguments"); - } + final int rvStart = str.indexOf(')'); + if (rvStart == -1) + throw new IllegalArgumentException("Signature has no return value!"); - String args = m.group(1), ret = m.group(2); - - m = paramsPattern.matcher(args); - arguments = new ArrayList<>(); - while (m.find()) - { - String arg = m.group(1); - arguments.add(new Type(arg)); - } - - rv = new Type(ret); + rv = new Type(str.substring(rvStart + 1)); + arguments = findArgs(str, new ArrayList<>(), str.indexOf('(') + 1, rvStart); } public Signature(Signature other) @@ -74,6 +60,21 @@ public class Signature rv = other.rv; } + private static List findArgs(final String str, final List ret, final int from, final int to) + { + if (from >= to) return ret; + + int i = from; + while (str.charAt(i) == '[') ++i; + + if (str.charAt(i) == 'L') + i = str.indexOf(';', i); + + ret.add(new Type(str.substring(from, ++i))); + + return findArgs(str, ret, i, to); + } + @Override public boolean equals(Object other) { @@ -82,17 +83,13 @@ public class Signature return false; } - Signature a = (Signature) other; - return arguments.equals(a.arguments) && rv.equals(a.rv); + return this.toString().equals(other.toString()); } @Override public int hashCode() { - int hash = 5; - hash = 97 * hash + Objects.hashCode(this.arguments); - hash = 97 * hash + Objects.hashCode(this.rv); - return hash; + return this.toString().hashCode(); } @Override @@ -176,6 +173,6 @@ public class Signature public Signature rsApiToRsClient() { - return new Signature(this.toString().replaceAll("net/runelite/(rs/)?api/(RS)?", "")); + return new Signature(RLAPITORSAPI.matcher(this.toString()).replaceAll("")); } } diff --git a/deobfuscator/src/main/java/net/runelite/asm/visitors/AnnotationElementVisitor.java b/deobfuscator/src/main/java/net/runelite/asm/visitors/AnnotationElementVisitor.java deleted file mode 100644 index 7bd5811813..0000000000 --- a/deobfuscator/src/main/java/net/runelite/asm/visitors/AnnotationElementVisitor.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (c) 2016-2017, Adam - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package net.runelite.asm.visitors; - -import net.runelite.asm.Type; -import net.runelite.asm.attributes.annotation.Annotation; -import net.runelite.asm.attributes.annotation.ArrayElement; -import net.runelite.asm.attributes.annotation.SimpleElement; -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.Opcodes; - -public class AnnotationElementVisitor extends AnnotationVisitor -{ - private final Annotation annotation; - - AnnotationElementVisitor(Annotation annotation) - { - super(Opcodes.ASM5); - - this.annotation = annotation; - } - - @Override - public void visit(String name, Object value) - { - SimpleElement element = new SimpleElement(name, value); - annotation.addElement(element); - } - - @Override - public AnnotationVisitor visitArray(String name) - { - ArrayElement element = new ArrayElement(name); - this.annotation.addElement(element); - return new AnnotationVisitor(Opcodes.ASM5) - { - @Override - public void visit(String name, Object value) - { - element.addValue(value); - } - - @Override - public AnnotationVisitor visitAnnotation(String name, String descriptor) - { - Annotation annotation = new Annotation(name, new Type(descriptor)); - element.addValue(annotation); - return new AnnotationElementVisitor(annotation); - } - }; - } - - @Override - public AnnotationVisitor visitAnnotation(String name, String descriptor) - { - Annotation annotation = new Annotation(name, new Type(descriptor)); - this.annotation.addElement(annotation); - return new AnnotationElementVisitor(annotation); - } -} diff --git a/deobfuscator/src/main/java/net/runelite/asm/visitors/ClassFieldVisitor.java b/deobfuscator/src/main/java/net/runelite/asm/visitors/ClassFieldVisitor.java index c9012b162c..b84c4b1090 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/visitors/ClassFieldVisitor.java +++ b/deobfuscator/src/main/java/net/runelite/asm/visitors/ClassFieldVisitor.java @@ -27,7 +27,7 @@ package net.runelite.asm.visitors; import net.runelite.asm.ClassFile; import net.runelite.asm.Field; import net.runelite.asm.Type; -import net.runelite.asm.attributes.annotation.Annotation; +import net.runelite.asm.Annotation; import org.objectweb.asm.AnnotationVisitor; import org.objectweb.asm.Attribute; import org.objectweb.asm.FieldVisitor; @@ -51,9 +51,9 @@ public class ClassFieldVisitor extends FieldVisitor @Override public AnnotationVisitor visitAnnotation(String desc, boolean visible) { - Annotation element = new Annotation(new Type(desc)); - this.field.getAnnotations().addAnnotation(element); - return new AnnotationElementVisitor(element); + Annotation annotation = new Annotation(new Type(desc), visible); + this.field.addAnnotation(annotation); + return annotation; } @Override diff --git a/deobfuscator/src/main/java/net/runelite/asm/visitors/ClassFileVisitor.java b/deobfuscator/src/main/java/net/runelite/asm/visitors/ClassFileVisitor.java index d96ec550b1..a7efe37fb9 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/visitors/ClassFileVisitor.java +++ b/deobfuscator/src/main/java/net/runelite/asm/visitors/ClassFileVisitor.java @@ -27,7 +27,7 @@ package net.runelite.asm.visitors; import net.runelite.asm.ClassFile; import net.runelite.asm.Type; -import net.runelite.asm.attributes.annotation.Annotation; +import net.runelite.asm.Annotation; import net.runelite.asm.signature.Signature; import org.objectweb.asm.AnnotationVisitor; import org.objectweb.asm.ClassVisitor; @@ -71,9 +71,8 @@ public class ClassFileVisitor extends ClassVisitor public AnnotationVisitor visitAnnotation(String desc, boolean visible) { Annotation annotation = new Annotation(new Type(desc)); - classFile.getAnnotations().addAnnotation(annotation); - - return new AnnotationElementVisitor(annotation); + classFile.addAnnotation(annotation); + return annotation; } @Override diff --git a/deobfuscator/src/main/java/net/runelite/asm/visitors/CodeVisitor.java b/deobfuscator/src/main/java/net/runelite/asm/visitors/CodeVisitor.java index 7746cd7a7a..f4846facf2 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/visitors/CodeVisitor.java +++ b/deobfuscator/src/main/java/net/runelite/asm/visitors/CodeVisitor.java @@ -32,7 +32,7 @@ import net.runelite.asm.ClassFile; import net.runelite.asm.Method; import net.runelite.asm.Type; import net.runelite.asm.attributes.Code; -import net.runelite.asm.attributes.annotation.Annotation; +import net.runelite.asm.Annotation; import net.runelite.asm.attributes.code.Exceptions; import net.runelite.asm.attributes.code.Instruction; import net.runelite.asm.attributes.code.InstructionType; @@ -108,9 +108,9 @@ public class CodeVisitor extends MethodVisitor @Override public AnnotationVisitor visitAnnotation(String desc, boolean visible) { - Annotation element = new Annotation(new Type(desc)); - this.method.getAnnotations().addAnnotation(element); - return new AnnotationElementVisitor(element); + Annotation annotation = new Annotation(new Type(desc), visible); + this.method.addAnnotation(annotation); + return annotation; } @Override diff --git a/deobfuscator/src/main/java/net/runelite/deob/Deob.java b/deobfuscator/src/main/java/net/runelite/deob/Deob.java index 70a5ec7d88..a8e7dc3644 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/Deob.java +++ b/deobfuscator/src/main/java/net/runelite/deob/Deob.java @@ -37,7 +37,6 @@ import net.runelite.deob.deobfuscators.Lvt; import net.runelite.deob.deobfuscators.Order; import net.runelite.deob.deobfuscators.RenameUnique; import net.runelite.deob.deobfuscators.RuntimeExceptions; -import net.runelite.deob.deobfuscators.StaticShouldBeInstance; import net.runelite.deob.deobfuscators.UnreachedCode; import net.runelite.deob.deobfuscators.UnusedClass; import net.runelite.deob.deobfuscators.UnusedFields; @@ -80,8 +79,6 @@ public class Deob ClassGroup group = JarUtil.loadJar(new File(args[0])); - run(group, new StaticShouldBeInstance()); - if (args.length <= 2 || !args[2].equals("rl")) { // remove except RuntimeException diff --git a/deobfuscator/src/main/java/net/runelite/deob/DeobAnnotations.java b/deobfuscator/src/main/java/net/runelite/deob/DeobAnnotations.java index d5e83313da..77e8945f73 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/DeobAnnotations.java +++ b/deobfuscator/src/main/java/net/runelite/deob/DeobAnnotations.java @@ -24,15 +24,15 @@ */ package net.runelite.deob; -import java.util.List; +import javax.annotation.Nullable; +import net.runelite.asm.attributes.Annotated; import net.runelite.asm.ClassFile; import net.runelite.asm.Field; import net.runelite.asm.Method; import net.runelite.asm.Type; -import net.runelite.asm.attributes.Annotations; -import net.runelite.asm.attributes.annotation.Annotation; -import net.runelite.asm.attributes.annotation.Element; +import net.runelite.asm.Annotation; import net.runelite.asm.signature.Signature; +import org.jetbrains.annotations.NotNull; public class DeobAnnotations { @@ -45,94 +45,71 @@ public class DeobAnnotations public static Signature getObfuscatedSignature(Method m) { - String str = getAnnotationValue(m.getAnnotations(), OBFUSCATED_SIGNATURE); + String str = getStringValue(m, OBFUSCATED_SIGNATURE); if (str == null) - { return null; - } return new Signature(str); } public static Type getObfuscatedType(Field f) { - String str = getAnnotationValue(f.getAnnotations(), OBFUSCATED_SIGNATURE); + String str = getStringValue(f, OBFUSCATED_SIGNATURE); if (str == null) - { return null; - } return new Type(str); } - public static String getObfuscatedName(Annotations an) + @Nullable + public static String getObfuscatedName(@NotNull Annotated an) { - return getAnnotationValue(an, OBFUSCATED_NAME); + return getStringValue(an, OBFUSCATED_NAME); } - public static String getExportedName(Annotations an) + @Nullable + public static String getExportedName(@NotNull Annotated an) { - return getAnnotationValue(an, EXPORT); + return getStringValue(an, EXPORT); } - public static String getImplements(ClassFile cf) + @Nullable + public static String getImplements(@NotNull ClassFile cf) { - return getAnnotationValue(cf.getAnnotations(), IMPLEMENTS); + return getStringValue(cf, IMPLEMENTS); } - public static Number getObfuscatedGetter(Field field) + @Nullable + public static Number getObfuscatedGetter(@NotNull Field field) { - if (field == null || field.getAnnotations() == null) - { - return null; - } - - Annotation an = field.getAnnotations().find(OBFUSCATED_GETTER); - if (an == null) - { - return null; - } - - return (Number) an.getElement().getValue(); - } - - public static String getDecoder(Method method) - { - if (method == null || method.getAnnotations() == null) - { - return null; - } - - Annotation an = method.getAnnotations().find(OBFUSCATED_SIGNATURE); - if (an == null) - { - return null; - } - - List elements = an.getElements(); - if (elements == null || elements.size() < 2) - { - return null; - } - - return (String) elements.get(1).getValue(); - } - - public static String getAnnotationValue(Annotations an, Type type) - { - if (an == null) - { - return null; - } - - Annotation a = an.find(type); + final var a = field.findAnnotation(OBFUSCATED_GETTER); if (a == null) - { return null; - } - return a.getElement().getString(); + Object v = a.getValue(); + if (v == null) + return null; + + if (field.getType().equals(Type.INT)) + return (Integer) v; + else if (field.getType().equals(Type.LONG)) + return (Long) v; // very long v + throw new IllegalArgumentException("Field with getter but not a long or an int?"); + } + + @Nullable + public static String getDecoder(@NotNull Method method) + { + Annotation a = method.findAnnotation(OBFUSCATED_SIGNATURE); + return a == null ? null : (String) a.get("garbageValue"); + } + + @Nullable + public static String getStringValue(Annotated an, Type type) + { + final var a = an.findAnnotation(type); + return a == null ? null : a.getValueString(); } } diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/Order.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/Order.java index 093fb705c6..70573d2630 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/Order.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/Order.java @@ -24,7 +24,6 @@ */ package net.runelite.deob.deobfuscators; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -32,7 +31,7 @@ import net.runelite.asm.ClassFile; import net.runelite.asm.ClassGroup; import net.runelite.asm.Field; import net.runelite.asm.Method; -import net.runelite.asm.attributes.Annotations; +import net.runelite.asm.attributes.Annotated; import net.runelite.asm.execution.Execution; import net.runelite.deob.DeobAnnotations; import net.runelite.deob.Deobfuscator; @@ -64,7 +63,7 @@ public class Order implements Deobfuscator for (int i = 0; i < group.getClasses().size(); i++) { ClassFile cf = group.getClasses().get(i); - String className = DeobAnnotations.getObfuscatedName(cf.getAnnotations()); + String className = DeobAnnotations.getObfuscatedName(cf); nameIndices.put(className, i); } @@ -73,7 +72,7 @@ public class Order implements Deobfuscator for (ClassFile cf : group.getClasses()) { List m = cf.getMethods(); - Collections.sort(m, this::compareMethod); + m.sort(this::compare); sortedMethods += m.size(); @@ -81,7 +80,7 @@ public class Order implements Deobfuscator if (!cf.isEnum()) { List f = cf.getFields(); - Collections.sort(f, this::compareFields); + f.sort(this::compare); sortedFields += f.size(); } @@ -91,47 +90,27 @@ public class Order implements Deobfuscator } // static fields, member fields, clinit, init, methods, static methods - private int compareMethod(Method m1, Method m2) + private int compare(Annotated a, Annotated b) { - int i1 = getType(m1), i2 = getType(m2); + int i1 = getType(a), i2 = getType(b); if (i1 != i2) { return Integer.compare(i1, i2); } - int nameIdx1 = getNameIdx(m1.getAnnotations()); - int nameIdx2 = getNameIdx(m2.getAnnotations()); + int nameIdx1 = getNameIdx(a); + int nameIdx2 = getNameIdx(b); if (nameIdx1 != nameIdx2) { return Integer.compare(nameIdx1, nameIdx2); } - return compareOrder(m1, m2); + return compareOrder(a, b); } - private int compareFields(Field f1, Field f2) - { - int i1 = getType(f1), i2 = getType(f2); - - if (i1 != i2) - { - return Integer.compare(i1, i2); - } - - int nameIdx1 = getNameIdx(f1.getAnnotations()); - int nameIdx2 = getNameIdx(f2.getAnnotations()); - - if (nameIdx1 != nameIdx2) - { - return Integer.compare(nameIdx1, nameIdx2); - } - - return compareOrder(f1, f2); - } - - private int getNameIdx(Annotations annotations) + private int getNameIdx(Annotated annotations) { String name = DeobAnnotations.getObfuscatedName(annotations); @@ -140,6 +119,15 @@ public class Order implements Deobfuscator return nameIdx != null ? nameIdx : -1; } + private int getType(Annotated a) + { + if (a instanceof Method) + return getType((Method) a); + else if (a instanceof Field) + return getType((Field) a); + throw new RuntimeException("kys"); + } + private int getType(Method m) { if (m.getName().equals("")) diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/PacketHandlerOrder.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/PacketHandlerOrder.java index 694c59edf6..56b74051d8 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/PacketHandlerOrder.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/PacketHandlerOrder.java @@ -151,7 +151,7 @@ public class PacketHandlerOrder implements Deobfuscator // check if the invoke is on buffer/packetbuffer classes boolean matches = ii.getMethods().stream() .filter(m -> m.getDescriptor().size() == 0) - .map(method -> method.getClassFile()) + .map(Method::getClassFile) .anyMatch(cf -> cf == bf.getBuffer() || cf == bf.getPacketBuffer()); if (matches) { @@ -269,7 +269,7 @@ public class PacketHandlerOrder implements Deobfuscator logger.warn("Unable to differentiate {} from {}", p1, p2); return 0; }) - .map(s -> s.clone()) + .map(PacketHandler::clone) .collect(Collectors.toList()); assert sortedHandlers.size() == handlers.getHandlers().size(); @@ -277,7 +277,7 @@ public class PacketHandlerOrder implements Deobfuscator for (PacketHandler handler : sortedHandlers) { handler.sortedReads = new ArrayList<>(handler.reads); - Collections.sort(handler.sortedReads, (PacketRead p1, PacketRead p2) -> + handler.sortedReads.sort((PacketRead p1, PacketRead p2) -> { LVTInstruction l1 = (LVTInstruction) p1.getStore(); LVTInstruction l2 = (LVTInstruction) p2.getStore(); @@ -350,7 +350,7 @@ public class PacketHandlerOrder implements Deobfuscator // Find unique methods List methods = unsortedHandlers.stream() - .map(ph -> ph.getMethod()) + .map(PacketHandler::getMethod) .distinct() .collect(Collectors.toList()); @@ -439,10 +439,6 @@ public class PacketHandlerOrder implements Deobfuscator } List follow = follow(instructions, handler.getStart(), afterRead); - if (follow == null) - { - continue; - } for (Instruction i : follow) { @@ -559,11 +555,11 @@ public class PacketHandlerOrder implements Deobfuscator private int compareReads(List r1, List r2) { List t1 = r1.stream() - .map(pr -> pr.getType()) + .map(PacketRead::getType) .sorted(this::compareType) .collect(Collectors.toList()); List t2 = r2.stream() - .map(pr -> pr.getType()) + .map(PacketRead::getType) .sorted(this::compareType) .collect(Collectors.toList()); if (t1.size() != t2.size()) diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/RenameUnique.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/RenameUnique.java index 06c6e905ea..ad792c5570 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/RenameUnique.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/RenameUnique.java @@ -38,50 +38,33 @@ import net.runelite.deob.util.NameMappings; public class RenameUnique implements Deobfuscator { - private Renamer renamer; - private void generateClassNames(NameMappings map, ClassGroup group) { int i = 0; - for (ClassFile cf : group.getClasses()) - { - if (cf.getName().length() > Deob.OBFUSCATED_NAME_MAX_LEN) - { - continue; - } - - map.map(cf.getPoolClass(), "class" + i++); - } + if (cf.getName().length() <= Deob.OBFUSCATED_NAME_MAX_LEN) + map.map(cf.getPoolClass(), "class" + i++); + map.setClasses(i); } private void generateFieldNames(NameMappings map, ClassGroup group) { int i = 0; - for (ClassFile cf : group.getClasses()) for (Field field : cf.getFields()) - { - if (!Deob.isObfuscated(field.getName()) || field.getName().equals(DeobAnnotations.getExportedName(field.getAnnotations()))) - { - continue; - } - - map.map(field.getPoolField(), "field" + i++); - } + if (Deob.isObfuscated(field.getName()) && !field.getName().equals(DeobAnnotations.getExportedName(field))) + map.map(field.getPoolField(), "field" + i++); + map.setFields(i); } private void generateMethodNames(NameMappings map, ClassGroup group) { int i = 0; - for (ClassFile cf : group.getClasses()) for (Method method : cf.getMethods()) { - if (!Deob.isObfuscated(method.getName()) || method.getName().equals(DeobAnnotations.getExportedName(method.getAnnotations()))) - { + if (!Deob.isObfuscated(method.getName()) || method.getName().equals(DeobAnnotations.getExportedName(method))) continue; - } List virtualMethods = VirtualMethods.getVirtualMethods(method); assert !virtualMethods.isEmpty(); @@ -95,6 +78,7 @@ public class RenameUnique implements Deobfuscator for (Method m : virtualMethods) map.map(m.getPoolMethod(), name); } + map.setMethods(i); } @Override @@ -109,7 +93,7 @@ public class RenameUnique implements Deobfuscator this.generateFieldNames(mappings, group); this.generateMethodNames(mappings, group); - renamer = new Renamer(mappings); + Renamer renamer = new Renamer(mappings); renamer.run(group); } } diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/Renamer.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/Renamer.java index 588b840918..a3c89be27e 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/Renamer.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/Renamer.java @@ -31,9 +31,11 @@ import net.runelite.asm.ClassGroup; import net.runelite.asm.Field; import net.runelite.asm.Interfaces; import net.runelite.asm.Method; +import net.runelite.asm.Named; import net.runelite.asm.Type; +import net.runelite.asm.attributes.Annotated; import net.runelite.asm.attributes.Code; -import net.runelite.asm.attributes.annotation.Annotation; +import net.runelite.asm.Annotation; import net.runelite.asm.attributes.code.Exceptions; import net.runelite.asm.attributes.code.Instruction; import net.runelite.asm.attributes.code.LocalVariable; @@ -45,6 +47,8 @@ import net.runelite.deob.Deobfuscator; import net.runelite.deob.util.NameMappings; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static net.runelite.deob.DeobAnnotations.OBFUSCATED_NAME; +import static net.runelite.deob.DeobAnnotations.OBFUSCATED_SIGNATURE; public class Renamer implements Deobfuscator { @@ -135,10 +139,10 @@ public class Renamer implements Deobfuscator if (!method.getDescriptor().equals(newSignature)) { //Signature was updated. Annotate it - if (method.getAnnotations().find(DeobAnnotations.OBFUSCATED_SIGNATURE) == null) + if (method.findAnnotation(OBFUSCATED_SIGNATURE) == null) { //Signature was not previously renamed - method.getAnnotations().addAnnotation(DeobAnnotations.OBFUSCATED_SIGNATURE, "signature", method.getDescriptor().toString()); + method.addAnnotation(OBFUSCATED_SIGNATURE, "signature", method.getDescriptor().toString()); } } @@ -156,10 +160,10 @@ public class Renamer implements Deobfuscator { if (field.getType().getInternalName().equals(cf.getName())) { - if (field.getAnnotations().find(DeobAnnotations.OBFUSCATED_SIGNATURE) == null) + if (field.findAnnotation(OBFUSCATED_SIGNATURE) == null) { //Signature was updated. Annotate it - field.getAnnotations().addAnnotation(DeobAnnotations.OBFUSCATED_SIGNATURE, "signature", field.getType().toString()); + field.addAnnotation(OBFUSCATED_SIGNATURE, "signature", field.getType().toString()); } field.setType(Type.getType("L" + name + ";", field.getType().getDimensions())); @@ -167,10 +171,7 @@ public class Renamer implements Deobfuscator } } - if (cf.getAnnotations().find(DeobAnnotations.OBFUSCATED_NAME) == null) - { - cf.getAnnotations().addAnnotation(DeobAnnotations.OBFUSCATED_NAME, "value", cf.getName()); - } + addObfuscatedName(cf); group.renameClass(cf, name); } @@ -178,22 +179,13 @@ public class Renamer implements Deobfuscator private void regeneratePool(ClassGroup group) { for (ClassFile cf : group.getClasses()) - { for (Method m : cf.getMethods()) - { - Code c = m.getCode(); - if (c == null) - { - continue; - } - - c.getInstructions().regeneratePool(); - } - } + if (m.getCode() != null) + m.getCode().getInstructions() + .regeneratePool(); } @Override - @SuppressWarnings("unchecked") public void run(ClassGroup group) { group.buildClassGraph(); @@ -212,12 +204,9 @@ public class Renamer implements Deobfuscator continue; } - if (field.getAnnotations().find(DeobAnnotations.OBFUSCATED_NAME) == null) - { - field.getAnnotations().addAnnotation(DeobAnnotations.OBFUSCATED_NAME, "value", field.getName()); - } + addObfuscatedName(field); - assert DeobAnnotations.getExportedName(field.getAnnotations()) == null || DeobAnnotations.getExportedName(field.getAnnotations()).equals(newName) : "Tried changing field name to something other than the exported name!"; + assert DeobAnnotations.getExportedName(field) == null || DeobAnnotations.getExportedName(field).equals(newName) : "Tried changing field name to something other than the exported name!"; field.setName(newName); ++fields; @@ -233,12 +222,10 @@ public class Renamer implements Deobfuscator String[] newParams = mappings.getP(method.getPoolMethod()); // rename on obfuscated signature - Annotation an = method.getAnnotations().find(DeobAnnotations.OBFUSCATED_SIGNATURE); + Annotation an = method.findAnnotation(OBFUSCATED_SIGNATURE); if (an != null) { - Signature obfuscatedSig = new Signature(an.getElement().getString()); - Signature updatedSig = renameSignature(obfuscatedSig); - an.getElement().setValue(updatedSig.toString()); + an.setElement(renameSignature(new Signature(an.getValueString())).toString()); } if (newName == null) @@ -279,10 +266,7 @@ public class Renamer implements Deobfuscator ++parameters; } - if (m.getAnnotations().find(DeobAnnotations.OBFUSCATED_NAME) == null) - { - m.getAnnotations().addAnnotation(DeobAnnotations.OBFUSCATED_NAME, "value", m.getName()); - } + addObfuscatedName(m); m.setName(newName); } @@ -339,4 +323,9 @@ public class Renamer implements Deobfuscator } return builder.build(); } + + private static void addObfuscatedName(T object) + { + object.findAnnotation(OBFUSCATED_NAME, true).setElement(object.getName()); + } } diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/StaticShouldBeInstance.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/StaticShouldBeInstance.java deleted file mode 100644 index 1cae903698..0000000000 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/StaticShouldBeInstance.java +++ /dev/null @@ -1,171 +0,0 @@ -package net.runelite.deob.deobfuscators; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.ListIterator; -import java.util.Map; -import net.runelite.asm.ClassFile; -import net.runelite.asm.ClassGroup; -import net.runelite.asm.Field; -import net.runelite.asm.Type; -import net.runelite.asm.attributes.Annotations; -import net.runelite.asm.attributes.Code; -import net.runelite.asm.attributes.code.Instruction; -import net.runelite.asm.attributes.code.Instructions; -import net.runelite.asm.attributes.code.instruction.types.ReturnInstruction; -import net.runelite.asm.attributes.code.instructions.InvokeStatic; -import net.runelite.asm.attributes.code.instructions.InvokeVirtual; -import net.runelite.asm.pool.Method; -import net.runelite.asm.signature.Signature; -import net.runelite.deob.Deobfuscator; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class StaticShouldBeInstance implements Deobfuscator -{ - private static final Logger logger = LoggerFactory.getLogger(StaticShouldBeInstance.class); - private static Map methods = new HashMap<>(); - - public void run(ClassGroup group) - { - int replacedCalls = 0; - int removedInstructions = 0; - int removedMethods = 0; - int removedAnnotations = 0; - List obfuscatedMethods = new ArrayList<>(); - - for (ClassFile cf : group.getClasses()) - { - // Remove unused annotations - Annotations a = cf.getAnnotations(); - removedAnnotations += a.getAnnotations().size(); - a.clearAnnotations(); - - Type type = new Type('L' + cf.getClassName() + ';'); - obfuscatedMethods.clear(); - - for (net.runelite.asm.Method m : cf.getMethods()) - { - // Remove unused annotations - a = m.getAnnotations(); - removedAnnotations += a.size(); - a.clearAnnotations(); - - if (m.isStatic() && m.getCode() != null) - { - if (checkIfObf(m, type, cf)) - { - removedMethods++; - obfuscatedMethods.add(m); - } - } - } - - - for (net.runelite.asm.Method m : obfuscatedMethods) - { - Signature sig = m.getDescriptor(); - Signature.Builder builder = new Signature.Builder(); - builder.setReturnType(sig.getReturnValue()); - if (sig.getArguments().size() > 1) - { - builder.addArguments(sig.getArguments().subList(1, sig.getArguments().size())); - } - - Signature toFind = builder.build(); - - net.runelite.asm.Method notStatic = cf.findMethod(m.getName(), toFind); - net.runelite.asm.pool.Method oldPool = m.getPoolMethod(); - cf.removeMethod(notStatic); - - m.setDescriptor(toFind); - m.setStatic(false); - Code c = m.getCode(); - Instructions ins = c.getInstructions(); - int startLength = ins.getInstructions().size(); - ListIterator it = ins.getInstructions().listIterator(); - assert it.hasNext(); - Instruction i = it.next(); - while (!(i instanceof ReturnInstruction)) - { - it.remove(); - i = it.next(); - } - it.remove(); - net.runelite.asm.pool.Method newPool = m.getPoolMethod(); - - methods.put(oldPool, newPool); - - removedInstructions += startLength - ins.getInstructions().size(); - } - - for (Field fi : cf.getFields()) - { - a = fi.getAnnotations(); - if (a.find(new Type("Ljavax/inject/Inject;")) == null) - { - removedAnnotations += a.size(); - a.clearAnnotations(); - } - else - { - logger.info("Class {}, field {} has inject", cf.getClassName(), fi.getName()); - } - } - } - - for (ClassFile cf : group.getClasses()) - { - for (net.runelite.asm.Method m : cf.getMethods()) - { - if (m.getCode() == null) - { - continue; - } - - Instructions ins = m.getCode().getInstructions(); - List instructions = ins.getInstructions(); - for (int i1 = 0, instructionsSize = instructions.size(); i1 < instructionsSize; i1++) - { - Instruction i = instructions.get(i1); - if (!(i instanceof InvokeStatic)) - { - continue; - } - - if (methods.containsKey(((InvokeStatic) i).getMethod())) - { - InvokeVirtual invoke = new InvokeVirtual(ins, methods.get(((InvokeStatic) i).getMethod())); - ins.replace(i, invoke); - replacedCalls++; - } - } - } - } - - logger.info("Made {} methods not static, removed {} instructions, replaced {} invokes, and removed {} annotations", removedMethods, removedInstructions, replacedCalls, removedAnnotations); - } - - private static boolean checkIfObf(net.runelite.asm.Method m, Type type, ClassFile cf) - { - Signature sig = m.getDescriptor(); - if (sig.getArguments().size() < 1 || !sig.getTypeOfArg(0).equals(type)) - { - return false; - } - - Signature.Builder builder = new Signature.Builder(); - builder.setReturnType(sig.getReturnValue()); - if (sig.getArguments().size() > 1) - { - builder.addArguments(sig.getArguments().subList(1, sig.getArguments().size())); - } - - Signature toFind = builder.build(); - - net.runelite.asm.Method notStatic = cf.findMethod(m.getName(), toFind); - - return notStatic != null; - } -} diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/UnusedParameters.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/UnusedParameters.java index ed9f086bc5..2881d8414d 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/UnusedParameters.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/UnusedParameters.java @@ -97,22 +97,22 @@ public class UnusedParameters implements Deobfuscator private boolean shouldRemove(Method m, int parameter) { - Signature obSig = DeobAnnotations.getObfuscatedSignature(m); - if (obSig == null) - { + final var a = m.findAnnotation(DeobAnnotations.OBFUSCATED_SIGNATURE); + if (a == null) return false; - } + final var str = a.get("signature"); - return parameter + 1 == obSig.size(); + return parameter + 1 == new Signature((String) str).size(); } private int processUnused(Execution execution, ClassGroup group) { int count = 0; - for (List m : unused.keySet()) + for (Map.Entry, Collection> entry : unused.entrySet()) { - Collection u = unused.get(m); + List m = entry.getKey(); + Collection u = entry.getValue(); int offset = m.size() == 1 && m.get(0).isStatic() ? 0 : 1; @@ -188,7 +188,7 @@ public class UnusedParameters implements Deobfuscator } } - List l = new ArrayList<>(list); + List l = new ArrayList<>(list != null ? list : new ArrayList<>()); // i know Collections.sort(l); Collections.reverse(l); return l; @@ -218,7 +218,7 @@ public class UnusedParameters implements Deobfuscator InvokeInstruction ii = (InvokeInstruction) i; - if (!ii.getMethods().stream().anyMatch(me -> methods.contains(me))) + if (ii.getMethods().stream().noneMatch(methods::contains)) { continue; } @@ -227,20 +227,17 @@ public class UnusedParameters implements Deobfuscator Collection ics = invokes.get(i); assert ics != null; - if (ics != null) + for (InstructionContext ins : ics) { - for (InstructionContext ins : ics) + int pops = signature.size() - paramIndex - 1; // index from top of stack of parameter. 0 is the last parameter + + StackContext sctx = ins.getPops().get(pops); + if (sctx.getPushed().getInstruction().getInstructions() == null) { - int pops = signature.size() - paramIndex - 1; // index from top of stack of parameter. 0 is the last parameter - - StackContext sctx = ins.getPops().get(pops); - if (sctx.getPushed().getInstruction().getInstructions() == null) - { - continue; - } - - ins.removeStack(pops); // remove parameter from stack + continue; } + + ins.removeStack(pops); // remove parameter from stack } } } @@ -286,25 +283,20 @@ public class UnusedParameters implements Deobfuscator public void run(ClassGroup group) { int i; - int pnum = 1; - do - { - group.buildClassGraph(); - invokes.clear(); - this.buildUnused(group); + group.buildClassGraph(); - Execution execution = new Execution(group); - execution.addExecutionVisitor(ictx -> visit(ictx)); - execution.populateInitialMethods(); - execution.run(); + invokes.clear(); + this.buildUnused(group); - i = this.processUnused(execution, group); + Execution execution = new Execution(group); + execution.addExecutionVisitor(this::visit); + execution.populateInitialMethods(); + execution.run(); - count += i; - break; - } - while (i > 0); + i = this.processUnused(execution, group); + + count += i; logger.info("Removed {} unused parameters", count); } diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/arithmetic/ModArith.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/arithmetic/ModArith.java index f9d99a380e..17e9b8c974 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/arithmetic/ModArith.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/arithmetic/ModArith.java @@ -783,7 +783,7 @@ public class ModArith implements Deobfuscator String ename = pair.getType() == Long.class ? "longValue" : "intValue"; - f.getAnnotations().addAnnotation(DeobAnnotations.OBFUSCATED_GETTER, ename, pair.getter); + f.addAnnotation(DeobAnnotations.OBFUSCATED_GETTER, ename, pair.getter); } } } diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/constparam/ConstantParameter.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/constparam/ConstantParameter.java index b2a0c369b3..3e2d8d7205 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/constparam/ConstantParameter.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/constparam/ConstantParameter.java @@ -34,10 +34,7 @@ import java.util.List; import java.util.Map; import net.runelite.asm.ClassGroup; import net.runelite.asm.Method; -import net.runelite.asm.attributes.Annotations; -import net.runelite.asm.attributes.annotation.Annotation; -import net.runelite.asm.attributes.annotation.Element; -import net.runelite.asm.attributes.annotation.SimpleElement; +import net.runelite.asm.Annotation; import net.runelite.asm.attributes.code.Instruction; import net.runelite.asm.attributes.code.InstructionType; import net.runelite.asm.attributes.code.Instructions; @@ -62,8 +59,8 @@ public class ConstantParameter implements Deobfuscator { private static final Logger logger = LoggerFactory.getLogger(ConstantParameter.class); - private Map parameters = new HashMap<>(); - private Multimap mparams = HashMultimap.create(); + private final Map parameters = new HashMap<>(); + private final Multimap mparams = HashMultimap.create(); private void checkMethodsAreConsistent(List methods) { @@ -436,23 +433,14 @@ public class ConstantParameter implements Deobfuscator { Object value = parameter.values.get(0); - Annotations annotations = m.getAnnotations(); - - Annotation obfuscatedSignature = annotations.find(DeobAnnotations.OBFUSCATED_SIGNATURE); - if (obfuscatedSignature != null && obfuscatedSignature.getElements().size() == 2) + Annotation obfuscatedSignature = m.findAnnotation(DeobAnnotations.OBFUSCATED_SIGNATURE, true); + if (obfuscatedSignature.size() == 2) { // already annotated continue; } - - if (obfuscatedSignature == null) - { - obfuscatedSignature = annotations.addAnnotation(DeobAnnotations.OBFUSCATED_SIGNATURE, "signature", m.getDescriptor().toString()); - } - - // Add garbage value - Element element = new SimpleElement("garbageValue", value.toString()); - obfuscatedSignature.addElement(element); + obfuscatedSignature.setElement("signature", m.getDescriptor().toString()); + obfuscatedSignature.setElement("garbageValue", value); } } diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/mapping/AnnotationIntegrityChecker.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/mapping/AnnotationIntegrityChecker.java index c837f178ea..c86b66e34e 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/mapping/AnnotationIntegrityChecker.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/mapping/AnnotationIntegrityChecker.java @@ -30,8 +30,6 @@ import net.runelite.asm.ClassFile; import net.runelite.asm.ClassGroup; import net.runelite.asm.Field; import net.runelite.asm.Method; -import net.runelite.asm.attributes.Annotations; -import net.runelite.asm.attributes.annotation.Annotation; import net.runelite.deob.DeobAnnotations; import net.runelite.mapping.Import; import net.runelite.rs.api.RSClient; @@ -65,11 +63,6 @@ public class AnnotationIntegrityChecker return errors; } - public int getWarnings() - { - return warnings; - } - public void run() { for (ClassFile cf : one.getClasses()) @@ -97,11 +90,11 @@ public class AnnotationIntegrityChecker if (f1.isStatic()) { - f2 = findExportedFieldStatic(two, DeobAnnotations.getExportedName(f1.getAnnotations())); + f2 = findExportedFieldStatic(two, DeobAnnotations.getExportedName(f1)); } else { - f2 = findExportedField(other, DeobAnnotations.getExportedName(f1.getAnnotations())); + f2 = findExportedField(other, DeobAnnotations.getExportedName(f1)); } if (f2 == null) @@ -110,7 +103,7 @@ public class AnnotationIntegrityChecker { logger.error("Missing IMPORTED field on {} named {}", other, - DeobAnnotations.getExportedName(f1.getAnnotations())); + DeobAnnotations.getExportedName(f1)); ++errors; } @@ -118,7 +111,7 @@ public class AnnotationIntegrityChecker { logger.warn("Missing exported field on {} named {}", other, - DeobAnnotations.getExportedName(f1.getAnnotations())); + DeobAnnotations.getExportedName(f1)); ++warnings; } @@ -143,11 +136,11 @@ public class AnnotationIntegrityChecker if (m1.isStatic()) { - m2 = findExportedMethodStatic(two, DeobAnnotations.getExportedName(m1.getAnnotations())); + m2 = findExportedMethodStatic(two, DeobAnnotations.getExportedName(m1)); } else { - m2 = findExportedMethod(other, DeobAnnotations.getExportedName(m1.getAnnotations())); + m2 = findExportedMethod(other, DeobAnnotations.getExportedName(m1)); } if (m2 == null) @@ -156,7 +149,7 @@ public class AnnotationIntegrityChecker { logger.error("Missing IMPORTED method on {} named {} ({})", other, - DeobAnnotations.getExportedName(m1.getAnnotations()), + DeobAnnotations.getExportedName(m1), m1); ++errors; @@ -165,7 +158,7 @@ public class AnnotationIntegrityChecker { logger.warn("Missing exported method on {} named {} ({})", other, - DeobAnnotations.getExportedName(m1.getAnnotations()), + DeobAnnotations.getExportedName(m1), m1); ++warnings; @@ -173,36 +166,6 @@ public class AnnotationIntegrityChecker } } } - - checkAnnotationCounts(); - } - - private void checkAnnotationCounts() - { - for (ClassFile cf : two.getClasses()) - { - for (Field f : cf.getFields()) - { - int num = this.getNumberOfExports(f.getAnnotations()); - - if (num > 1) - { - logger.warn("Field {} has more than 1 export", f); - ++errors; - } - } - - for (Method m : cf.getMethods()) - { - int num = this.getNumberOfExports(m.getAnnotations()); - - if (num > 1) - { - logger.warn("Method {} has more than 1 export", m); - ++errors; - } - } - } } /** @@ -212,7 +175,6 @@ public class AnnotationIntegrityChecker * @param cf Class file field/method is on * @param name Exported name of field/method * @param isStatic Whether or not field/method is static - * @return */ private boolean isImported(ClassFile cf, String name, boolean isStatic) { @@ -259,7 +221,7 @@ public class AnnotationIntegrityChecker List list = new ArrayList<>(); for (Field f : clazz.getFields()) { - if (DeobAnnotations.getExportedName(f.getAnnotations()) != null) + if (DeobAnnotations.getExportedName(f) != null) { list.add(f); } @@ -272,7 +234,7 @@ public class AnnotationIntegrityChecker List list = new ArrayList<>(); for (Method m : clazz.getMethods()) { - if (DeobAnnotations.getExportedName(m.getAnnotations()) != null) + if (DeobAnnotations.getExportedName(m) != null) { list.add(m); } @@ -280,26 +242,11 @@ public class AnnotationIntegrityChecker return list; } - private int getNumberOfExports(Annotations an) - { - int count = 0; - - for (Annotation a : an.getAnnotations()) - { - if (a.getType().equals(DeobAnnotations.EXPORT)) - { - ++count; - } - } - - return count; - } - private Field findExportedField(ClassFile clazz, String name) { for (Field f : getExportedFields(clazz)) { - if (DeobAnnotations.getExportedName(f.getAnnotations()).equals(name)) + if (name.equals(DeobAnnotations.getExportedName(f))) { return f; } @@ -315,7 +262,7 @@ public class AnnotationIntegrityChecker { if (f.isStatic()) { - if (name.equals(DeobAnnotations.getExportedName(f.getAnnotations()))) + if (name.equals(DeobAnnotations.getExportedName(f))) { return f; } @@ -333,7 +280,7 @@ public class AnnotationIntegrityChecker { if (m.isStatic()) { - if (name.equals(DeobAnnotations.getExportedName(m.getAnnotations()))) + if (name.equals(DeobAnnotations.getExportedName(m))) { return m; } @@ -347,7 +294,7 @@ public class AnnotationIntegrityChecker { for (Method m : getExportedMethods(clazz)) { - if (DeobAnnotations.getExportedName(m.getAnnotations()).equals(name)) + if (name.equals(DeobAnnotations.getExportedName(m))) { return m; } diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/mapping/AnnotationMapper.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/mapping/AnnotationMapper.java index bd60ec165e..7cbe4c9862 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/mapping/AnnotationMapper.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/mapping/AnnotationMapper.java @@ -29,10 +29,8 @@ import net.runelite.asm.ClassFile; import net.runelite.asm.ClassGroup; import net.runelite.asm.Field; import net.runelite.asm.Method; -import net.runelite.asm.attributes.Annotations; -import net.runelite.asm.attributes.annotation.Annotation; -import net.runelite.asm.attributes.annotation.Element; -import net.runelite.asm.attributes.annotation.SimpleElement; +import net.runelite.asm.Annotation; +import net.runelite.asm.attributes.Annotated; import net.runelite.deob.DeobAnnotations; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -69,11 +67,11 @@ public class AnnotationMapper { int count = 0; - if (hasCopyableAnnotation(from.getAnnotations())) + if (hasCopyableAnnotation(from)) { if (to != null) { - count += copyAnnotations(from.getAnnotations(), to.getAnnotations()); + count += copyAnnotations(from, to); } else { @@ -83,57 +81,49 @@ public class AnnotationMapper for (Field f : from.getFields()) { - if (!hasCopyableAnnotation(f.getAnnotations())) + if (!hasCopyableAnnotation(f)) continue; Field other = (Field) mapping.get(f); if (other == null) { - logger.warn("Unable to map annotated field {} named {}", f, DeobAnnotations.getExportedName(f.getAnnotations())); + logger.warn("Unable to map annotated field {} named {}", f, DeobAnnotations.getExportedName(f)); continue; } - count += copyAnnotations(f.getAnnotations(), other.getAnnotations()); + count += copyAnnotations(f, other); } for (Method m : from.getMethods()) { - if (!hasCopyableAnnotation(m.getAnnotations())) + if (!hasCopyableAnnotation(m)) continue; Method other = (Method) mapping.get(m); if (other == null) { - logger.warn("Unable to map annotated method {} named {}", m, DeobAnnotations.getExportedName(m.getAnnotations())); + logger.warn("Unable to map annotated method {} named {}", m, DeobAnnotations.getExportedName(m)); continue; } - count += copyAnnotations(m.getAnnotations(), other.getAnnotations()); + count += copyAnnotations(m, other); } return count; } - private int copyAnnotations(Annotations from, Annotations to) + private int copyAnnotations(Annotated from, Annotated to) { int count = 0; if (from.getAnnotations() == null) return count; - for (Annotation a : from.getAnnotations()) + for (Annotation a : from.getAnnotations().values()) { if (isCopyable(a)) { - Annotation annotation = new Annotation(a.getType()); - to.addAnnotation(annotation); - - for (Element e : a.getElements()) - { - Element element = new SimpleElement(e.getName(), e.getValue()); - annotation.addElement(element); - } - + to.addAnnotation(a.getType(), a); ++count; } } @@ -141,13 +131,9 @@ public class AnnotationMapper return count; } - private boolean hasCopyableAnnotation(Annotations a) + private boolean hasCopyableAnnotation(Annotated a) { - for (Annotation an : a.getAnnotations()) - if (isCopyable(an)) - return true; - - return false; + return a.findAnnotation(DeobAnnotations.EXPORT) != null || a.findAnnotation(DeobAnnotations.IMPLEMENTS) != null; } private boolean isCopyable(Annotation a) diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/mapping/StaticMethodSignatureMapper.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/mapping/StaticMethodSignatureMapper.java index 9f2a55df26..4ec9aaec8e 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/mapping/StaticMethodSignatureMapper.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/mapping/StaticMethodSignatureMapper.java @@ -36,7 +36,7 @@ import net.runelite.asm.signature.Signature; public class StaticMethodSignatureMapper { - private Multimap map = LinkedHashMultimap.create(); + private final Multimap map = LinkedHashMultimap.create(); private List getStaticMethods(ClassGroup group) { diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/packetwrite/PacketWriteDeobfuscator.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/packetwrite/PacketWriteDeobfuscator.java index 2f7deecfe3..0cbd411952 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/packetwrite/PacketWriteDeobfuscator.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/packetwrite/PacketWriteDeobfuscator.java @@ -33,7 +33,6 @@ import net.runelite.asm.ClassFile; import net.runelite.asm.ClassGroup; import net.runelite.asm.Type; import net.runelite.asm.attributes.code.Instruction; -import static net.runelite.asm.attributes.code.InstructionType.INVOKEVIRTUAL; import net.runelite.asm.attributes.code.Instructions; import net.runelite.asm.attributes.code.Label; import net.runelite.asm.attributes.code.instruction.types.InvokeInstruction; @@ -55,6 +54,7 @@ import net.runelite.deob.Deobfuscator; import net.runelite.deob.c2s.RWOpcodeFinder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static net.runelite.asm.attributes.code.InstructionType.INVOKEVIRTUAL; public class PacketWriteDeobfuscator implements Deobfuscator { diff --git a/deobfuscator/src/main/java/net/runelite/deob/updater/AnnotationAdder.java b/deobfuscator/src/main/java/net/runelite/deob/updater/AnnotationAdder.java index d2c3d62034..3d5463bdd1 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/updater/AnnotationAdder.java +++ b/deobfuscator/src/main/java/net/runelite/deob/updater/AnnotationAdder.java @@ -5,10 +5,8 @@ import net.runelite.asm.ClassFile; import net.runelite.asm.ClassGroup; import net.runelite.asm.Field; import net.runelite.asm.Method; -import net.runelite.asm.attributes.Annotations; -import net.runelite.asm.attributes.annotation.Annotation; -import net.runelite.asm.attributes.annotation.Element; -import net.runelite.asm.attributes.annotation.SimpleElement; +import net.runelite.asm.Named; +import net.runelite.asm.attributes.Annotated; import net.runelite.deob.Deob; import net.runelite.deob.DeobAnnotations; import org.slf4j.Logger; @@ -24,7 +22,6 @@ public class AnnotationAdder private final ClassGroup group; private final Logger log = LoggerFactory.getLogger(AnnotationAdder.class); - @SuppressWarnings("unchecked") public void run() { int impl = 0; @@ -46,83 +43,43 @@ public class AnnotationAdder // Still error here cause I don't wanna call classes dumb shit assert implementingName.equals(c.getClassName()) : c + " implements " + implementingName + " but is called " + c.getClassName(); } - else + else if (!Deob.isObfuscated(c.getClassName())) { - if (!Deob.isObfuscated(c.getClassName())) - { - Annotations an = c.getAnnotations(); - - Annotation implAn = new Annotation(DeobAnnotations.IMPLEMENTS); - - Element value = new SimpleElement(c.getClassName()); - - implAn.addElement(value); - an.addAnnotation(implAn); - impl++; - } + c.addAnnotation(DeobAnnotations.IMPLEMENTS, c.getClassName()); + impl++; } for (Field f : c.getFields()) { - Annotations an = f.getAnnotations(); - - String fieldName = f.getName(); - String exportedName = DeobAnnotations.getExportedName(an); - - if (exportedName == null && Deob.isObfuscated(fieldName) || fieldName.equals(DeobAnnotations.getObfuscatedName(an)) || DeobAnnotations.getObfuscatedName(an) == null) - { - continue; - } - - if (!fieldName.equals(exportedName)) - { - log.info("Changed export from {} to {}", exportedName, fieldName); - Annotation a = an.find(DeobAnnotations.EXPORT); - if (a == null) - { - a = new Annotation(DeobAnnotations.EXPORT); - - Element value = new SimpleElement(fieldName); - a.addElement(value); - an.addAnnotation(a); - - } - a.getElement().setValue(fieldName); + if (addExport(f)) field++; - } } for (Method m : c.getMethods()) { - Annotations an = m.getAnnotations(); - - String methodName = m.getName(); - String exportedName = DeobAnnotations.getExportedName(an); - - if (exportedName == null && Deob.isObfuscated(methodName) || methodName.equals(DeobAnnotations.getObfuscatedName(an)) || DeobAnnotations.getObfuscatedName(an) == null) - { - continue; - } - - if (!methodName.equals(exportedName)) - { - log.info("Changed export from {} to {}", exportedName, methodName); - Annotation a = an.find(DeobAnnotations.EXPORT); - if (a == null) - { - a = new Annotation(DeobAnnotations.EXPORT); - - Element value = new SimpleElement(methodName); - a.addElement(value); - an.addAnnotation(a); - - } - a.getElement().setValue(methodName); + if (addExport(m)) meth++; - } } } log.info("Changed {} classes, {} methods, {} fields", impl, meth, field); } + + private boolean addExport(T m) + { + String methodName = m.getName(); + String exportedName = DeobAnnotations.getExportedName(m); + + if (exportedName == null && Deob.isObfuscated(methodName) + || methodName.equals(DeobAnnotations.getObfuscatedName(m)) + || DeobAnnotations.getObfuscatedName(m) == null + || methodName.equals(exportedName)) + { + return false; + } + + log.info("Changed export from {} to {}", exportedName, methodName); + m.findAnnotation(DeobAnnotations.EXPORT, true).setElement(methodName); + return true; + } } diff --git a/deobfuscator/src/main/java/net/runelite/deob/updater/AnnotationCopier.java b/deobfuscator/src/main/java/net/runelite/deob/updater/AnnotationCopier.java index 5d495b9029..857610b271 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/updater/AnnotationCopier.java +++ b/deobfuscator/src/main/java/net/runelite/deob/updater/AnnotationCopier.java @@ -26,26 +26,26 @@ package net.runelite.deob.updater; import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; import net.runelite.asm.ClassFile; import net.runelite.asm.ClassGroup; import net.runelite.asm.Field; import net.runelite.asm.Method; import net.runelite.asm.Type; -import net.runelite.asm.attributes.Annotations; -import net.runelite.asm.attributes.annotation.Annotation; -import net.runelite.asm.attributes.annotation.Element; -import net.runelite.asm.attributes.annotation.SimpleElement; +import net.runelite.asm.Annotation; +import net.runelite.asm.attributes.Annotated; public class AnnotationCopier { private final ClassGroup group1, group2; - private final Type[] types; + private final Set types; public AnnotationCopier(ClassGroup group1, ClassGroup group2, Type... types) { this.group1 = group1; this.group2 = group2; - this.types = types; + this.types = new HashSet<>(Arrays.asList(types)); } public void copy() @@ -56,63 +56,46 @@ public class AnnotationCopier assert cf2 != null; - copy(cf1.getAnnotations(), cf2.getAnnotations()); + copy(cf1, cf2); for (Field f : cf1.getFields()) { Field f2 = cf2.findField(f.getName(), f.getType()); - assert f2 != null || f.getAnnotations() == null; + assert f2 != null || f.getAnnotations().isEmpty(); if (f2 == null) continue; - copy(f.getAnnotations(), f2.getAnnotations()); + copy(f, f2); } for (Method m : cf1.getMethods()) { Method m2 = cf2.findMethod(m.getName(), m.getDescriptor()); - assert m2 != null || m.getAnnotations() == null; + assert m2 != null || m == null; if (m2 == null) continue; - copy(m.getAnnotations(), m2.getAnnotations()); + copy(m, m2); } } } - private void copy(Annotations an, Annotations an2) + private void copy(Annotated an, Annotated an2) { - for (Annotation a : an2.getAnnotations()) + for (Annotation a : an.getAnnotations().values()) { - if (isType(a.getType())) - { - an2.removeAnnotation(a); - } - } - - for (Annotation a : an.getAnnotations()) - { - if (!isType(a.getType())) - continue; - - Annotation a2 = new Annotation(a.getType()); - - for (Element element : a.getElements()) - { - Element element2 = new SimpleElement(element.getName(), element.getValue()); - a2.addElement(element2); - } - - an2.addAnnotation(a2); + final var t = a.getType(); + if (isType(t)) + an2.getAnnotations().replace(t, a); } } private boolean isType(Type type) { - return Arrays.asList(types).contains(type); + return types.contains(type); } } diff --git a/deobfuscator/src/main/java/net/runelite/deob/updater/AnnotationRenamer.java b/deobfuscator/src/main/java/net/runelite/deob/updater/AnnotationRenamer.java index da920899bc..263a850fa9 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/updater/AnnotationRenamer.java +++ b/deobfuscator/src/main/java/net/runelite/deob/updater/AnnotationRenamer.java @@ -29,8 +29,8 @@ import net.runelite.asm.ClassFile; import net.runelite.asm.ClassGroup; import net.runelite.asm.Field; import net.runelite.asm.Method; -import net.runelite.asm.attributes.Annotations; -import net.runelite.asm.attributes.annotation.Annotation; +import net.runelite.asm.Annotation; +import net.runelite.asm.attributes.Annotated; import net.runelite.deob.DeobAnnotations; import net.runelite.deob.deobfuscators.Renamer; import net.runelite.deob.util.NameMappings; @@ -58,20 +58,20 @@ public class AnnotationRenamer for (ClassFile cf : group.getClasses()) { - String name = getImplements(cf.getAnnotations()); + String name = getImplements(cf); if (name != null) mappings.map(cf.getPoolClass(), name); for (Field f : cf.getFields()) { - name = DeobAnnotations.getExportedName(f.getAnnotations()); + name = DeobAnnotations.getExportedName(f); if (name != null) mappings.map(f.getPoolField(), name); } for (Method m : cf.getMethods()) { - name = DeobAnnotations.getExportedName(m.getAnnotations()); + name = DeobAnnotations.getExportedName(m); if (name != null) mappings.map(m.getPoolMethod(), name); } @@ -80,9 +80,9 @@ public class AnnotationRenamer return mappings; } - private String getImplements(Annotations annotations) + private String getImplements(Annotated cf) { - Annotation an = annotations.find(DeobAnnotations.IMPLEMENTS); - return an != null ? an.getElement().getString() : null; + Annotation an = cf.findAnnotation(DeobAnnotations.IMPLEMENTS); + return an == null ? null : an.getValueString(); } } diff --git a/deobfuscator/src/main/java/net/runelite/deob/updater/mappingdumper/MappedClass.java b/deobfuscator/src/main/java/net/runelite/deob/updater/mappingdumper/MappedClass.java index 9a0a6e7511..97dfc60d1c 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/updater/mappingdumper/MappedClass.java +++ b/deobfuscator/src/main/java/net/runelite/deob/updater/mappingdumper/MappedClass.java @@ -27,7 +27,7 @@ public class MappedClass implementingName = DeobAnnotations.getImplements(c); - obfuscatedName = DeobAnnotations.getObfuscatedName(c.getAnnotations()); + obfuscatedName = DeobAnnotations.getObfuscatedName(c); if (obfuscatedName == null) { obfuscatedName = c.getName(); @@ -36,7 +36,7 @@ public class MappedClass ClassFile parent = c.getParent(); if (parent != null) { - superClass = DeobAnnotations.getObfuscatedName(parent.getAnnotations()); + superClass = DeobAnnotations.getObfuscatedName(parent); } access = c.getAccess(); @@ -44,7 +44,6 @@ public class MappedClass interfaces = c.getInterfaces() .getMyInterfaces() .stream() - .map(ClassFile::getAnnotations) .map(DeobAnnotations::getObfuscatedName) .collect(Collectors.toList()); diff --git a/deobfuscator/src/main/java/net/runelite/deob/updater/mappingdumper/MappedField.java b/deobfuscator/src/main/java/net/runelite/deob/updater/mappingdumper/MappedField.java index dc2b7a7242..ba4ae28f54 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/updater/mappingdumper/MappedField.java +++ b/deobfuscator/src/main/java/net/runelite/deob/updater/mappingdumper/MappedField.java @@ -26,11 +26,11 @@ public class MappedField { MappingDumper.putMap(f.getPoolField(), this); - exportedName = DeobAnnotations.getExportedName(f.getAnnotations()); + exportedName = DeobAnnotations.getExportedName(f); owner = MappingDumper.getMap(f.getClassFile()).obfuscatedName; - obfuscatedName = DeobAnnotations.getObfuscatedName(f.getAnnotations()); + obfuscatedName = DeobAnnotations.getObfuscatedName(f); if (obfuscatedName == null) { obfuscatedName = f.getName(); diff --git a/deobfuscator/src/main/java/net/runelite/deob/updater/mappingdumper/MappedMethod.java b/deobfuscator/src/main/java/net/runelite/deob/updater/mappingdumper/MappedMethod.java index 8131ecd1f6..f2eb549770 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/updater/mappingdumper/MappedMethod.java +++ b/deobfuscator/src/main/java/net/runelite/deob/updater/mappingdumper/MappedMethod.java @@ -4,6 +4,7 @@ import com.google.gson.annotations.SerializedName; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; import net.runelite.asm.Method; import net.runelite.asm.attributes.Code; @@ -37,11 +38,11 @@ public class MappedMethod public MappedMethod visitMethod(final Method m, final MappingDump dump) { MappingDumper.putMap(m.getPoolMethod(), this); - exportedName = DeobAnnotations.getExportedName(m.getAnnotations()); + exportedName = DeobAnnotations.getExportedName(m); owner = MappingDumper.getMap(m.getClassFile()).obfuscatedName; - obfuscatedName = DeobAnnotations.getObfuscatedName(m.getAnnotations()); + obfuscatedName = DeobAnnotations.getObfuscatedName(m); if (obfuscatedName == null) { obfuscatedName = m.getName(); @@ -94,8 +95,8 @@ public class MappedMethod { Method mme = met.get(0); k = new net.runelite.asm.pool.Method( - new Class(DeobAnnotations.getObfuscatedName(mme.getClassFile().getAnnotations())), - DeobAnnotations.getObfuscatedName(mme.getAnnotations()), + new Class(Objects.requireNonNull(DeobAnnotations.getObfuscatedName(mme.getClassFile()))), + DeobAnnotations.getObfuscatedName(mme), mme.getObfuscatedSignature() != null ? mme.getObfuscatedSignature() : mme.getDescriptor() ); } diff --git a/deobfuscator/src/main/java/net/runelite/deob/util/NameMappings.java b/deobfuscator/src/main/java/net/runelite/deob/util/NameMappings.java index 36c1b52c92..b1dea2b93b 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/util/NameMappings.java +++ b/deobfuscator/src/main/java/net/runelite/deob/util/NameMappings.java @@ -27,6 +27,8 @@ package net.runelite.deob.util; import java.util.HashMap; import java.util.Map; +import lombok.Getter; +import lombok.Setter; import net.runelite.asm.pool.Class; import net.runelite.asm.pool.Field; import net.runelite.asm.pool.Method; @@ -36,7 +38,11 @@ public class NameMappings private final Map map = new HashMap<>(); private final Map paramMap = new HashMap<>(); - + + @Getter + @Setter + private int fields, methods, classes; + public void map(Class cf, String name) { map.put(cf, name); diff --git a/deobfuscator/src/test/java/net/runelite/asm/annotations/AnnotationTest.java b/deobfuscator/src/test/java/net/runelite/asm/annotations/AnnotationTest.java index 642dbf076f..8967d2319f 100644 --- a/deobfuscator/src/test/java/net/runelite/asm/annotations/AnnotationTest.java +++ b/deobfuscator/src/test/java/net/runelite/asm/annotations/AnnotationTest.java @@ -27,16 +27,11 @@ package net.runelite.asm.annotations; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; -import java.util.List; -import java.util.Optional; import net.runelite.asm.ClassFile; import net.runelite.asm.ClassGroup; import net.runelite.asm.ClassUtil; import net.runelite.asm.Method; import net.runelite.asm.Type; -import net.runelite.asm.attributes.Annotations; -import net.runelite.asm.attributes.annotation.Annotation; -import net.runelite.asm.attributes.annotation.Element; import net.runelite.deob.util.JarUtil; import org.junit.Assert; import org.junit.Test; @@ -62,20 +57,14 @@ public class AnnotationTest Method method = cf.getMethods().get(1); Assert.assertEquals("method1", method.getName()); - Annotations annotations = method.getAnnotations(); - Assert.assertNotNull(annotations); + var annotation = method.findAnnotation(new Type("Lnet/runelite/asm/annotations/MyAnnotation;")); + Assert.assertNotNull(annotation); - Optional annotation = annotations.getAnnotations().stream().filter(a -> a.getType().equals(new Type("Lnet/runelite/asm/annotations/MyAnnotation;"))).findFirst(); - Assert.assertTrue(annotation.isPresent()); + Assert.assertEquals(1, annotation.size()); - Annotation an = annotation.get(); - List elements = an.getElements(); - - Assert.assertEquals(1, elements.size()); - - Element element = elements.get(0); - - Assert.assertEquals("value", element.getName()); - Assert.assertEquals("method1", element.getValue()); + Object element = annotation.getValue(); + Object also = annotation.get("value"); + Assert.assertEquals(also, element); + Assert.assertEquals("method1", element); } } diff --git a/deobfuscator/src/test/java/net/runelite/deob/deobfuscators/mapping/MappingDumper.java b/deobfuscator/src/test/java/net/runelite/deob/deobfuscators/mapping/MappingDumper.java index 53481982c5..97a496a983 100644 --- a/deobfuscator/src/test/java/net/runelite/deob/deobfuscators/mapping/MappingDumper.java +++ b/deobfuscator/src/test/java/net/runelite/deob/deobfuscators/mapping/MappingDumper.java @@ -82,7 +82,7 @@ public class MappingDumper for (ClassFile cf : group.getClasses()) { String implName = cf.getName(); - String className = DeobAnnotations.getObfuscatedName(cf.getAnnotations()); + String className = DeobAnnotations.getObfuscatedName(cf); if (implName != null) { @@ -92,7 +92,7 @@ public class MappingDumper for (Field f : cf.getFields()) { - String exportName = DeobAnnotations.getExportedName(f.getAnnotations()); + String exportName = DeobAnnotations.getExportedName(f); if (exportName == null) { @@ -101,7 +101,7 @@ public class MappingDumper ++fields; - String fieldName = DeobAnnotations.getObfuscatedName(f.getAnnotations()); + String fieldName = DeobAnnotations.getObfuscatedName(f); Type type = f.getType(); Number getter = DeobAnnotations.getObfuscatedGetter(f); @@ -171,7 +171,7 @@ public class MappingDumper for (Method m : cf.getMethods()) { - String exportName = DeobAnnotations.getExportedName(m.getAnnotations()); + String exportName = DeobAnnotations.getExportedName(m); if (exportName == null) { @@ -180,7 +180,7 @@ public class MappingDumper methods++; - String methodName = DeobAnnotations.getObfuscatedName(m.getAnnotations()); + String methodName = DeobAnnotations.getObfuscatedName(m); Signature signature = DeobAnnotations.getObfuscatedSignature(m); String garbageValue = DeobAnnotations.getDecoder(m); @@ -329,18 +329,18 @@ public class MappingDumper for (ClassFile cf : group.getClasses()) { String implName = DeobAnnotations.getImplements(cf); - String className = DeobAnnotations.getObfuscatedName(cf.getAnnotations()); + String className = DeobAnnotations.getObfuscatedName(cf); for (Field f : cf.getFields()) { - String exportName = DeobAnnotations.getExportedName(f.getAnnotations()); + String exportName = DeobAnnotations.getExportedName(f); if (exportName == null) { continue; } - String fieldName = DeobAnnotations.getObfuscatedName(f.getAnnotations()); + String fieldName = DeobAnnotations.getObfuscatedName(f); Type obfType = DeobAnnotations.getObfuscatedType(f); Number getter = DeobAnnotations.getObfuscatedGetter(f); @@ -361,14 +361,14 @@ public class MappingDumper for (Method m : cf.getMethods()) { - String exportName = DeobAnnotations.getExportedName(m.getAnnotations()); + String exportName = DeobAnnotations.getExportedName(m); if (exportName == null) { continue; } - String methodName = DeobAnnotations.getObfuscatedName(m.getAnnotations()); + String methodName = DeobAnnotations.getObfuscatedName(m); Signature obfSignature = DeobAnnotations.getObfuscatedSignature(m); String predicate = DeobAnnotations.getDecoder(m); diff --git a/deobfuscator/src/test/java/net/runelite/deob/updater/AnnotationCleaner.java b/deobfuscator/src/test/java/net/runelite/deob/updater/AnnotationCleaner.java index 97c82e6734..0f7b3eaf01 100644 --- a/deobfuscator/src/test/java/net/runelite/deob/updater/AnnotationCleaner.java +++ b/deobfuscator/src/test/java/net/runelite/deob/updater/AnnotationCleaner.java @@ -8,7 +8,6 @@ import net.runelite.asm.ClassFile; import net.runelite.asm.ClassGroup; import net.runelite.asm.Field; import net.runelite.asm.Method; -import net.runelite.asm.attributes.Annotations; import net.runelite.deob.Deob; import net.runelite.deob.DeobAnnotations; import net.runelite.deob.DeobTestProperties; @@ -58,14 +57,12 @@ public class AnnotationCleaner for (Field f : c.getFields()) { - Annotations an = f.getAnnotations(); - String fieldName = f.getName(); - String exportedName = DeobAnnotations.getExportedName(an); + String exportedName = DeobAnnotations.getExportedName(f); if (exportedName == null) { - if (!Deob.isObfuscated(fieldName) && DeobAnnotations.getObfuscatedName(an) != null) + if (!Deob.isObfuscated(fieldName) && DeobAnnotations.getObfuscatedName(f) != null) { missing.add("Export: (field) " + className + '.' + fieldName + " == missing"); } @@ -78,14 +75,12 @@ public class AnnotationCleaner for (Method m : c.getMethods()) { - Annotations an = m.getAnnotations(); - String methodName = m.getName(); - String exportedName = DeobAnnotations.getExportedName(an); + String exportedName = DeobAnnotations.getExportedName(m); if (exportedName == null) { - if (!Deob.isObfuscated(methodName) && DeobAnnotations.getObfuscatedName(an) != null) + if (!Deob.isObfuscated(methodName) && DeobAnnotations.getObfuscatedName(m) != null) { missing.add("Export: (method) " + className + '.' + methodName + " == missing"); } @@ -124,7 +119,7 @@ public class AnnotationCleaner JarUtil.saveJar(group, new File("C:/Users/Lucas/Desktop/niec.jar")); } - private class OhNoException extends Exception + private static class OhNoException extends Exception { private OhNoException() { diff --git a/deobfuscator/src/test/java/net/runelite/deob/updater/UpdateMappingsTest.java b/deobfuscator/src/test/java/net/runelite/deob/updater/UpdateMappingsTest.java index bb34282e22..eea6cea7ab 100644 --- a/deobfuscator/src/test/java/net/runelite/deob/updater/UpdateMappingsTest.java +++ b/deobfuscator/src/test/java/net/runelite/deob/updater/UpdateMappingsTest.java @@ -105,16 +105,16 @@ public class UpdateMappingsTest { for (ClassFile cf : group.getClasses()) { - cf.getAnnotations().clearAnnotations(); + cf.getAnnotations().clear(); for (Field f : cf.getFields()) { - f.getAnnotations().clearAnnotations(); + f.getAnnotations().clear(); } for (Method m : cf.getMethods()) { - m.getAnnotations().clearAnnotations(); + m.getAnnotations().clear(); } } } @@ -136,8 +136,8 @@ public class UpdateMappingsTest assert otherf != null : "unable to find " + f; - String name = DeobAnnotations.getExportedName(f.getAnnotations()); - String otherName = DeobAnnotations.getExportedName(otherf.getAnnotations()); + String name = DeobAnnotations.getExportedName(f); + String otherName = DeobAnnotations.getExportedName(otherf); Assert.assertEquals(name + " <-> " + otherName, name, otherName); } @@ -148,8 +148,8 @@ public class UpdateMappingsTest assert otherm != null : "unable to find " + m; - String name = DeobAnnotations.getExportedName(m.getAnnotations()); - String otherName = DeobAnnotations.getExportedName(otherm.getAnnotations()); + String name = DeobAnnotations.getExportedName(m); + String otherName = DeobAnnotations.getExportedName(otherm); Assert.assertEquals(name + " <-> " + otherName, name, otherName); } diff --git a/deobfuscator/src/test/java/net/runelite/osb/HookImporter.java b/deobfuscator/src/test/java/net/runelite/osb/HookImporter.java index ac178bfa7b..5475b69558 100644 --- a/deobfuscator/src/test/java/net/runelite/osb/HookImporter.java +++ b/deobfuscator/src/test/java/net/runelite/osb/HookImporter.java @@ -36,10 +36,9 @@ import net.runelite.asm.ClassGroup; import net.runelite.asm.Field; import net.runelite.asm.Method; import net.runelite.asm.Type; -import net.runelite.asm.attributes.Annotations; -import net.runelite.asm.attributes.annotation.Annotation; -import net.runelite.asm.attributes.annotation.Element; +import net.runelite.asm.attributes.Annotated; import net.runelite.asm.signature.Signature; +import net.runelite.deob.DeobAnnotations; import net.runelite.deob.util.JarUtil; import net.runelite.osb.inject.ClassHook; import net.runelite.osb.inject.FieldHook; @@ -88,17 +87,17 @@ public class HookImporter { int classes = 0, fields = 0, methods = 0, callbacks = 0; - for (String deobfuscatedClassName : hooks.keySet()) + for (Map.Entry entry : hooks.entrySet()) { - ClassHook ch = hooks.get(deobfuscatedClassName); + ClassHook ch = entry.getValue(); ClassFile cf = this.findClassWithObfuscatedName(ch.getClazz()); assert cf != null; - String implementsName = getAnnotation(cf.getAnnotations(), IMPLEMENTS); + String implementsName = getAnnotation(cf, IMPLEMENTS); if (implementsName.isEmpty()) { - cf.getAnnotations().addAnnotation(IMPLEMENTS, "value", deobfuscatedClassName); + cf.addAnnotation(IMPLEMENTS, entry.getKey()); ++classes; } @@ -127,10 +126,10 @@ public class HookImporter assert f != null; - String exportedName = getAnnotation(f.getAnnotations(), EXPORT); + String exportedName = getAnnotation(f, EXPORT); if (exportedName.isEmpty()) { - f.getAnnotations().addAnnotation(EXPORT, "value", deobfuscatedFieldName); + f.addAnnotation(EXPORT, deobfuscatedFieldName); ++fields; } } @@ -160,10 +159,10 @@ public class HookImporter assert m != null; - String exportedName = getAnnotation(m.getAnnotations(), EXPORT); + String exportedName = getAnnotation(m, EXPORT); if (exportedName.isEmpty()) { - m.getAnnotations().addAnnotation(EXPORT, "value", deobfuscatedMethodName); + m.addAnnotation(EXPORT, deobfuscatedMethodName); ++methods; } } @@ -193,10 +192,10 @@ public class HookImporter assert m != null; - String exportedName = getAnnotation(m.getAnnotations(), EXPORT); + String exportedName = getAnnotation(m, EXPORT); if (exportedName.isEmpty()) { - m.getAnnotations().addAnnotation(EXPORT, "value", deobfuscatedMethodName); + m.addAnnotation(EXPORT, deobfuscatedMethodName); ++callbacks; } } @@ -214,8 +213,7 @@ public class HookImporter return c; } - Annotations an = c.getAnnotations(); - if (getAnnotation(an, OBFUSCATED_NAME).equals(name)) + if (getAnnotation(c, OBFUSCATED_NAME).equals(name)) { return c; } @@ -227,8 +225,7 @@ public class HookImporter { for (Field f : c.getFields()) { - Annotations an = f.getAnnotations(); - if (getAnnotation(an, OBFUSCATED_NAME).equals(name)) + if (name.equals(DeobAnnotations.getObfuscatedName(f))) { return f; } @@ -242,8 +239,7 @@ public class HookImporter for (Method m : c.getMethods()) { - Annotations an = m.getAnnotations(); - if (getAnnotation(an, OBFUSCATED_NAME).equals(name)) + if (getAnnotation(m, OBFUSCATED_NAME).equals(name)) { Signature methodSig = getObfuscatedMethodSignature(m); @@ -261,30 +257,15 @@ public class HookImporter return null; } - private String getAnnotation(Annotations an, Type type) + private String getAnnotation(Annotated an, Type type) { - if (an == null) - { - return ""; - } - - for (Annotation a : an.getAnnotations()) - { - if (a.getType().equals(type)) - { - for (Element e : a.getElements()) - { - return (String) e.getValue(); - } - } - } - - return ""; + final var s = DeobAnnotations.getStringValue(an, type); + return s == null ? "" : s; } private Signature getObfuscatedMethodSignature(Method method) { - String sig = getAnnotation(method.getAnnotations(), OBFUSCATED_SIGNATURE); + String sig = getAnnotation(method, OBFUSCATED_SIGNATURE); if (!sig.isEmpty()) { return toObSignature(new Signature(sig)); // if it is annoted, use that @@ -310,8 +291,7 @@ public class HookImporter ClassFile cf = group.findClass(t.getInternalName()); assert cf != null; - Annotations an = cf.getAnnotations(); - String obfuscatedName = an.find(OBFUSCATED_NAME).getElement().getString(); + String obfuscatedName = (String) cf.findAnnotation(OBFUSCATED_NAME).getValue(); return Type.getType("L" + obfuscatedName + ";", t.getDimensions()); } diff --git a/deobfuscator/src/test/java/net/runelite/runeloader/MappingImporter.java b/deobfuscator/src/test/java/net/runelite/runeloader/MappingImporter.java index 6e8cbd8c72..62c23e3651 100644 --- a/deobfuscator/src/test/java/net/runelite/runeloader/MappingImporter.java +++ b/deobfuscator/src/test/java/net/runelite/runeloader/MappingImporter.java @@ -30,9 +30,9 @@ import net.runelite.asm.ClassFile; import net.runelite.asm.ClassGroup; import net.runelite.asm.Field; import net.runelite.asm.Type; -import net.runelite.asm.attributes.Annotations; -import net.runelite.asm.attributes.annotation.Annotation; -import net.runelite.asm.attributes.annotation.Element; +import net.runelite.asm.Annotation; +import net.runelite.asm.attributes.Annotated; +import net.runelite.deob.DeobAnnotations; import net.runelite.deob.util.JarUtil; import net.runelite.runeloader.inject.AddInterfaceInstruction; import net.runelite.runeloader.inject.GetterInjectInstruction; @@ -73,29 +73,13 @@ public class MappingImporter JarUtil.saveJar(group, OUT); } - private boolean hasObfuscatedName(Annotations an, String name) + private boolean hasObfuscatedName(Annotated an, String name) { if (an == null) { return false; } - - for (Annotation a : an.getAnnotations()) - { - if (a.getType().equals(OBFUSCATED_NAME)) - { - for (Element e : a.getElements()) - { - String str = (String) e.getValue(); - if (str.equals(name)) - { - return true; - } - } - } - } - - return false; + return name.equals(DeobAnnotations.getStringValue(an, OBFUSCATED_NAME)); } private ClassFile findClassWithObfuscatedName(String name) @@ -107,8 +91,7 @@ public class MappingImporter return c; } - Annotations an = c.getAnnotations(); - if (this.hasObfuscatedName(an, name)) + if (this.hasObfuscatedName(c, name)) { return c; } @@ -120,8 +103,7 @@ public class MappingImporter { for (Field f : c.getFields()) { - Annotations an = f.getAnnotations(); - if (this.hasObfuscatedName(an, name)) + if (this.hasObfuscatedName(f, name)) { return f; } @@ -131,7 +113,7 @@ public class MappingImporter @Test @Ignore - public void makeMappings() throws IOException + public void makeMappings() { InjectionModscript mod = Injection.load(MappingImporter.class.getResourceAsStream(RL_INJECTION)); int fields = 0, classes = 0; @@ -154,12 +136,10 @@ public class MappingImporter String attrName = gii.getGetterName(); attrName = Utils.toExportedName(attrName); - Annotations an = f.getAnnotations(); - - Annotation a = an.find(EXPORT); + Annotation a = f.findAnnotation(EXPORT); if (a != null) { - String exportedName = a.getElement().getString(); + String exportedName = a.getValueString(); if (!attrName.equals(exportedName)) { @@ -168,7 +148,7 @@ public class MappingImporter } else { - an.addAnnotation(EXPORT, "value", attrName); + f.addAnnotation(EXPORT, attrName); logger.info("Exporting field " + f + " with name " + attrName); ++fields; @@ -184,12 +164,10 @@ public class MappingImporter iface = iface.replace("com/runeloader/api/bridge/os/accessor/", ""); - Annotations an = cf.getAnnotations(); - - Annotation a = an.find(IMPLEMENTS); + Annotation a = cf.findAnnotation(IMPLEMENTS); if (a != null) { - String implementsName = a.getElement().getString(); + String implementsName = a.getValueString(); if (!iface.equals(implementsName)) { @@ -198,7 +176,7 @@ public class MappingImporter } else { - an.addAnnotation(IMPLEMENTS, "value", iface); + cf.addAnnotation(IMPLEMENTS, iface); logger.info("Exporting class " + cf.getName() + " with name " + iface); ++classes; diff --git a/deobfuscator/src/test/java/net/runelite/runesuite/HookImporter.java b/deobfuscator/src/test/java/net/runelite/runesuite/HookImporter.java index d72e2ea46c..0c661b69df 100644 --- a/deobfuscator/src/test/java/net/runelite/runesuite/HookImporter.java +++ b/deobfuscator/src/test/java/net/runelite/runesuite/HookImporter.java @@ -36,9 +36,7 @@ import net.runelite.asm.ClassGroup; import net.runelite.asm.Field; import net.runelite.asm.Method; import net.runelite.asm.Type; -import net.runelite.asm.attributes.Annotations; -import net.runelite.asm.attributes.annotation.Annotation; -import net.runelite.asm.attributes.annotation.Element; +import net.runelite.asm.attributes.Annotated; import net.runelite.asm.attributes.code.LocalVariable; import net.runelite.asm.attributes.code.Parameter; import net.runelite.asm.signature.Signature; @@ -107,11 +105,11 @@ public class HookImporter assert cf != null; - String implementsName = getAnnotation(cf.getAnnotations(), IMPLEMENTS); + String implementsName = getAnnotation(cf, IMPLEMENTS); if (implementsName.isEmpty()) { String deobfuscatedClassName = hc.clazz; - cf.getAnnotations().addAnnotation(IMPLEMENTS, "value", deobfuscatedClassName); + cf.addAnnotation(IMPLEMENTS, deobfuscatedClassName); mappings.map(cf.getPoolClass(), deobfuscatedClassName); ++classes; } @@ -138,7 +136,7 @@ public class HookImporter continue; } - String exportedName = getAnnotation(f.getAnnotations(), EXPORT); + String exportedName = getAnnotation(f, EXPORT); if (exportedName.isEmpty()) { String deobfuscatedFieldName = fh.field; @@ -150,7 +148,7 @@ public class HookImporter continue; } - f.getAnnotations().addAnnotation(EXPORT, "value", deobfuscatedFieldName); + f.addAnnotation(EXPORT, deobfuscatedFieldName); mappings.map(f.getPoolField(), deobfuscatedFieldName); ++fields; } @@ -219,7 +217,7 @@ public class HookImporter List virtualMethods = VirtualMethods.getVirtualMethods(m); for (Method method : virtualMethods) { - String exportedName = getAnnotation(method.getAnnotations(), EXPORT); + String exportedName = getAnnotation(method, EXPORT); if (!exportedName.isEmpty()) { if (!exportedName.equals(hm.method)) @@ -231,7 +229,7 @@ public class HookImporter } String deobfuscatedMethodName = hm.method; - m.getAnnotations().addAnnotation(EXPORT, "value", deobfuscatedMethodName); + m.addAnnotation(EXPORT, deobfuscatedMethodName); mappings.map(m.getPoolMethod(), deobfuscatedMethodName); ++methods; } @@ -252,8 +250,7 @@ public class HookImporter return c; } - Annotations an = c.getAnnotations(); - if (getAnnotation(an, OBFUSCATED_NAME).equals(name)) + if (getAnnotation(c, OBFUSCATED_NAME).equals(name)) { return c; } @@ -265,8 +262,7 @@ public class HookImporter { for (Field f : c.getFields()) { - Annotations an = f.getAnnotations(); - if (getAnnotation(an, OBFUSCATED_NAME).equals(name)) + if (getAnnotation(f, OBFUSCATED_NAME).equals(name)) { return f; } @@ -280,8 +276,7 @@ public class HookImporter for (Method m : c.getMethods()) { - Annotations an = m.getAnnotations(); - if (m.getName().equals(name) || getAnnotation(an, OBFUSCATED_NAME).equals(name)) + if (m.getName().equals(name) || getAnnotation(m, OBFUSCATED_NAME).equals(name)) { Signature methodSig = getObfuscatedMethodSignature(m); @@ -294,15 +289,12 @@ public class HookImporter return null; } - private String getAnnotation(Annotations an, Type type) + private String getAnnotation(Annotated an, Type type) { - Annotation a = an.find(type); + final var a = an.findAnnotation(type); if (a != null) { - for (Element e : a.getElements()) - { - return (String) e.getValue(); - } + return a.getValueString(); } return ""; @@ -310,7 +302,7 @@ public class HookImporter private Signature getObfuscatedMethodSignature(Method method) { - String sig = getAnnotation(method.getAnnotations(), OBFUSCATED_SIGNATURE); + String sig = getAnnotation(method, OBFUSCATED_SIGNATURE); if (sig.isEmpty()) { return method.getDescriptor(); diff --git a/runelite-client/runelite-client.gradle.kts b/runelite-client/runelite-client.gradle.kts index b31a24ce21..6de03245ea 100644 --- a/runelite-client/runelite-client.gradle.kts +++ b/runelite-client/runelite-client.gradle.kts @@ -155,7 +155,7 @@ tasks { register("RuneLite.main()") { group = "openosrs" - classpath = project.sourceSets.main.get().runtimeClasspath + classpath = sourceSets["main"].runtimeClasspath enableAssertions = true main = "net.runelite.client.RuneLite" } From 42affee0f040a21ee7ab68ba6c434aaadee288bd Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Thu, 16 Jul 2020 03:48:05 +0200 Subject: [PATCH 100/189] Use more descriptive names in Block (+lombok) --- .../java/net/runelite/asm/Annotation.java | 2 +- .../deob/deobfuscators/cfg/Block.java | 83 ++++--------------- .../cfg/ControlFlowDeobfuscator.java | 4 +- .../deobfuscators/cfg/ControlFlowGraph.java | 16 ++-- 4 files changed, 27 insertions(+), 78 deletions(-) diff --git a/deobfuscator/src/main/java/net/runelite/asm/Annotation.java b/deobfuscator/src/main/java/net/runelite/asm/Annotation.java index 1797502fbf..efcb4203c1 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/Annotation.java +++ b/deobfuscator/src/main/java/net/runelite/asm/Annotation.java @@ -99,7 +99,7 @@ public class Annotation extends AnnotationVisitor implements Comparable pred = new ArrayList<>(); + private final List preds = new ArrayList<>(); /** * blocks which this jumps to */ - private final List succ = new ArrayList<>(); + private final List succs = new ArrayList<>(); /** * block which flows directly into this block */ - private Block from; + private Block pred; /** * block which this directly flows into */ - private Block into; + private Block succ; /** * instructions in this block */ private final List instructions = new ArrayList<>(); - public int getId() - { - return id; - } - - public void setId(int id) - { - this.id = id; - } - - public boolean isJumptarget() - { - return jumptarget; - } - - public void setJumptarget(boolean jumptarget) - { - this.jumptarget = jumptarget; - } - @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("Block ID ").append(id).append("\n"); - if (from != null) + if (pred != null) { - sb.append(" flows from ").append(from.id).append("\n"); + sb.append(" flows from ").append(pred.id).append("\n"); } for (Instruction i : instructions) { sb.append(" ").append(i.toString()).append("\n"); } - if (into != null) + if (succ != null) { - sb.append(" flows into ").append(into.id).append("\n"); + sb.append(" flows into ").append(succ.id).append("\n"); } sb.append("\n"); return sb.toString(); @@ -112,57 +96,22 @@ public class Block instructions.add(i); } - public List getInstructions() - { - return instructions; - } - public void addPrev(Block block) { - if (!pred.contains(block)) + if (!preds.contains(block)) { - pred.add(block); + preds.add(block); } } - public List getPred() - { - return pred; - } - public void addNext(Block block) { - if (!succ.contains(block)) + if (!succs.contains(block)) { - succ.add(block); + succs.add(block); } } - public List getSucc() - { - return succ; - } - - public Block getFrom() - { - return from; - } - - public void setFrom(Block from) - { - this.from = from; - } - - public Block getInto() - { - return into; - } - - public void setInto(Block into) - { - this.into = into; - } - static int compare(Block a, Block b) { final int l1 = a.getLineNumber(); diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/ControlFlowDeobfuscator.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/ControlFlowDeobfuscator.java index e544c6bbf1..285d81d277 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/ControlFlowDeobfuscator.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/ControlFlowDeobfuscator.java @@ -90,12 +90,12 @@ public class ControlFlowDeobfuscator implements Deobfuscator ins.addInstruction(i); i.setInstructions(ins); } - if (b.getInto() != null && b.getInstructions().size() > 0) + if (b.getSucc() != null && b.getInstructions().size() > 0) { final var i = b.getInstructions().get(b.getInstructions().size() - 1); if (!i.isTerminal()) { - final var next = b.getInto(); + final var next = b.getSucc(); var maybeLabel = next.getInstructions().get(0); if (!(maybeLabel instanceof Label)) { diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/ControlFlowGraph.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/ControlFlowGraph.java index c6597f2083..a7456a29b1 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/ControlFlowGraph.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/cfg/ControlFlowGraph.java @@ -73,11 +73,11 @@ public class ControlFlowGraph : cur.getInstructions().get(cur.getInstructions().size() - 1); if (last == null || !last.isTerminal()) { - assert next.getFrom() == null; - assert cur.getInto() == null; + assert next.getPred() == null; + assert cur.getSucc() == null; // previous block flows directly into next - next.setFrom(cur); - cur.setInto(next); + next.setPred(cur); + cur.setSucc(next); } cur = next; } @@ -99,7 +99,7 @@ public class ControlFlowGraph } } - assert head.getFrom() == null; + assert head.getPred() == null; } List topologicalSort() @@ -112,10 +112,10 @@ public class ControlFlowGraph private static void walk(Block cur, List order, Set done) { - Block dirsucc = cur.getInto(); + Block dirsucc = cur.getSucc(); if (dirsucc != null && done.add(dirsucc)) - walk(cur.getInto(), order, done); - List succs = cur.getSucc(); + walk(cur.getSucc(), order, done); + List succs = cur.getSuccs(); succs.sort(Block::compare); for (Block succ : succs) if (done.add(succ)) From 663bbc80dbaf2ac171dd0c1bcf72ba313d89db2c Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Thu, 16 Jul 2020 22:23:44 +0200 Subject: [PATCH 101/189] Annotations: signature -> descriptor; use linkedhashmap --- .../main/java/net/runelite/asm/ClassFile.java | 5 +- .../src/main/java/net/runelite/asm/Field.java | 5 +- .../main/java/net/runelite/asm/Method.java | 5 +- .../net/runelite/asm/signature/Signature.java | 2 +- .../src/main/java/net/runelite/deob/Deob.java | 79 ++++--- .../runelite/deob/deobfuscators/Renamer.java | 56 +---- .../deob/deobfuscators/UnusedParameters.java | 2 +- .../constparam/ConstantParameter.java | 8 +- .../deobfuscators/mapping/MappingDumper.java | 4 +- .../runelite/mapping/ObfuscatedSignature.java | 2 +- .../client/plugins/ExternalPluginManager.java | 5 + .../src/main/java/AbstractArchive.java | 66 +++--- .../main/java/AbstractByteArrayCopier.java | 4 +- .../src/main/java/AbstractFont.java | 2 +- .../src/main/java/AbstractRasterProvider.java | 6 +- .../src/main/java/AbstractSocket.java | 12 +- .../src/main/java/AbstractUserComparator.java | 4 +- .../src/main/java/AbstractWorldMapData.java | 26 +-- .../src/main/java/AbstractWorldMapIcon.java | 28 +-- .../src/main/java/AccessFile.java | 10 +- runescape-client/src/main/java/Actor.java | 16 +- runescape-client/src/main/java/Animation.java | 4 +- .../main/java/ApproximateRouteStrategy.java | 8 +- runescape-client/src/main/java/Archive.java | 30 +-- .../src/main/java/ArchiveDisk.java | 12 +- .../src/main/java/ArchiveDiskAction.java | 8 +- .../main/java/ArchiveDiskActionHandler.java | 10 +- .../src/main/java/ArchiveLoader.java | 14 +- .../src/main/java/AttackOption.java | 22 +- .../src/main/java/AudioFilter.java | 2 +- .../src/main/java/BZip2Decompressor.java | 14 +- .../src/main/java/BZip2State.java | 2 +- .../src/main/java/BoundaryObject.java | 8 +- runescape-client/src/main/java/Bounds.java | 14 +- runescape-client/src/main/java/Buddy.java | 12 +- .../src/main/java/BuddyRankComparator.java | 4 +- runescape-client/src/main/java/Buffer.java | 138 ++++++------ .../src/main/java/BufferedFile.java | 18 +- .../src/main/java/BufferedNetSocket.java | 16 +- .../src/main/java/BufferedSink.java | 6 +- .../src/main/java/BufferedSource.java | 10 +- .../src/main/java/ByteArrayPool.java | 4 +- runescape-client/src/main/java/Canvas.java | 12 +- .../src/main/java/ChatChannel.java | 8 +- runescape-client/src/main/java/ClanChat.java | 28 +-- runescape-client/src/main/java/ClanMate.java | 16 +- runescape-client/src/main/java/Client.java | 114 +++++----- .../src/main/java/ClientPacket.java | 204 +++++++++--------- .../src/main/java/ClientPreferences.java | 14 +- runescape-client/src/main/java/Clock.java | 10 +- .../src/main/java/CollisionMap.java | 26 +-- runescape-client/src/main/java/Coord.java | 12 +- runescape-client/src/main/java/Decimator.java | 8 +- .../src/main/java/DefaultsGroup.java | 2 +- .../src/main/java/DemotingHashTable.java | 8 +- .../java/DesktopPlatformInfoProvider.java | 10 +- .../src/main/java/DevicePcmPlayer.java | 10 +- .../main/java/DevicePcmPlayerProvider.java | 12 +- .../src/main/java/DirectByteArrayCopier.java | 6 +- runescape-client/src/main/java/DualNode.java | 4 +- .../src/main/java/DualNodeDeque.java | 8 +- .../src/main/java/DynamicObject.java | 12 +- runescape-client/src/main/java/Entity.java | 8 +- .../src/main/java/EnumDefinition.java | 8 +- .../src/main/java/Enumerated.java | 2 +- .../main/java/EvictingDualNodeHashTable.java | 10 +- .../src/main/java/FaceNormal.java | 4 +- .../src/main/java/FloorDecoration.java | 2 +- .../src/main/java/FloorOverlayDefinition.java | 14 +- .../main/java/FloorUnderlayDefinition.java | 24 +-- runescape-client/src/main/java/FontName.java | 20 +- runescape-client/src/main/java/Fonts.java | 10 +- runescape-client/src/main/java/Frames.java | 14 +- runescape-client/src/main/java/Friend.java | 6 +- .../src/main/java/FriendLoginUpdate.java | 8 +- .../src/main/java/FriendSystem.java | 38 ++-- .../src/main/java/FriendsList.java | 14 +- .../src/main/java/GZipDecompressor.java | 4 +- runescape-client/src/main/java/GameBuild.java | 14 +- .../src/main/java/GameObject.java | 6 +- runescape-client/src/main/java/GameShell.java | 70 +++--- .../src/main/java/GrandExchangeEvent.java | 24 +-- .../src/main/java/GrandExchangeEvents.java | 6 +- .../src/main/java/GrandExchangeOffer.java | 30 +-- .../java/GrandExchangeOfferAgeComparator.java | 6 +- .../GrandExchangeOfferNameComparator.java | 14 +- .../GrandExchangeOfferOwnWorldComparator.java | 6 +- ...dExchangeOfferTotalQuantityComparator.java | 4 +- ...GrandExchangeOfferUnitPriceComparator.java | 10 +- .../GrandExchangeOfferWorldComparator.java | 6 +- .../src/main/java/GraphicsDefaults.java | 2 +- .../src/main/java/GraphicsObject.java | 8 +- runescape-client/src/main/java/HealthBar.java | 24 +-- .../src/main/java/HealthBarDefinition.java | 20 +- .../src/main/java/HealthBarUpdate.java | 4 +- .../src/main/java/HitSplatDefinition.java | 32 +-- .../src/main/java/HorizontalAlignment.java | 8 +- runescape-client/src/main/java/Huffman.java | 8 +- .../src/main/java/IgnoreList.java | 10 +- runescape-client/src/main/java/Ignored.java | 4 +- .../src/main/java/Instrument.java | 22 +- .../src/main/java/IntHashTable.java | 2 +- .../src/main/java/InterfaceParent.java | 4 +- .../src/main/java/Interpreter.java | 4 +- .../src/main/java/InvDefinition.java | 12 +- .../src/main/java/IsaacCipher.java | 8 +- .../src/main/java/ItemContainer.java | 14 +- .../src/main/java/ItemDefinition.java | 42 ++-- .../src/main/java/IterableDualNodeQueue.java | 16 +- .../java/IterableDualNodeQueueIterator.java | 8 +- .../src/main/java/IterableNodeDeque.java | 20 +- .../IterableNodeDequeDescendingIterator.java | 10 +- .../src/main/java/IterableNodeHashTable.java | 14 +- .../java/IterableNodeHashTableIterator.java | 8 +- .../src/main/java/JagexCache.java | 10 +- .../src/main/java/KeyHandler.java | 12 +- .../src/main/java/KitDefinition.java | 24 +-- runescape-client/src/main/java/Language.java | 36 ++-- runescape-client/src/main/java/Link.java | 4 +- runescape-client/src/main/java/LinkDeque.java | 10 +- runescape-client/src/main/java/Login.java | 14 +- .../src/main/java/LoginPacket.java | 18 +- .../src/main/java/LoginScreenAnimation.java | 30 +-- runescape-client/src/main/java/LoginType.java | 20 +- .../src/main/java/MenuAction.java | 6 +- runescape-client/src/main/java/Message.java | 28 +-- runescape-client/src/main/java/Messages.java | 6 +- .../src/main/java/MidiFileReader.java | 2 +- .../src/main/java/MidiPcmStream.java | 82 +++---- .../src/main/java/MilliClock.java | 10 +- runescape-client/src/main/java/ModeWhere.java | 36 ++-- runescape-client/src/main/java/Model.java | 18 +- runescape-client/src/main/java/ModelData.java | 22 +- .../src/main/java/ModelData0.java | 4 +- .../src/main/java/MouseHandler.java | 6 +- .../src/main/java/MouseRecorder.java | 10 +- .../src/main/java/MouseWheel.java | 2 +- .../src/main/java/MouseWheelHandler.java | 6 +- .../src/main/java/MusicPatch.java | 12 +- .../src/main/java/MusicPatchNode.java | 22 +- .../src/main/java/MusicPatchNode2.java | 6 +- .../src/main/java/MusicPatchPcmStream.java | 18 +- .../src/main/java/MusicTrack.java | 6 +- runescape-client/src/main/java/NPC.java | 18 +- .../src/main/java/NPCDefinition.java | 30 +-- runescape-client/src/main/java/NanoClock.java | 4 +- runescape-client/src/main/java/NetCache.java | 16 +- .../src/main/java/NetFileRequest.java | 6 +- runescape-client/src/main/java/NetSocket.java | 30 +-- runescape-client/src/main/java/Node.java | 4 +- runescape-client/src/main/java/NodeDeque.java | 22 +- .../src/main/java/NodeHashTable.java | 14 +- .../src/main/java/ObjectDefinition.java | 42 ++-- .../src/main/java/ObjectSound.java | 18 +- .../src/main/java/PacketBuffer.java | 24 +-- .../src/main/java/PacketBufferNode.java | 10 +- .../src/main/java/PacketWriter.java | 32 +-- .../src/main/java/ParamDefinition.java | 10 +- runescape-client/src/main/java/PcmPlayer.java | 32 +-- runescape-client/src/main/java/PcmStream.java | 8 +- .../src/main/java/PcmStreamMixer.java | 16 +- .../src/main/java/PcmStreamMixerListener.java | 2 +- .../src/main/java/PendingSpawn.java | 6 +- .../src/main/java/PlatformInfo.java | 4 +- .../src/main/java/PlatformInfoProvider.java | 2 +- runescape-client/src/main/java/Player.java | 42 ++-- .../src/main/java/PlayerAppearance.java | 22 +- .../src/main/java/PlayerProvider.java | 2 +- .../src/main/java/PlayerType.java | 20 +- runescape-client/src/main/java/Players.java | 8 +- .../src/main/java/PrivateChatMode.java | 6 +- .../src/main/java/Projectile.java | 14 +- .../src/main/java/RasterProvider.java | 10 +- .../src/main/java/Rasterizer2D.java | 2 +- .../src/main/java/Rasterizer3D.java | 4 +- .../src/main/java/RawPcmStream.java | 46 ++-- runescape-client/src/main/java/RawSound.java | 2 +- .../src/main/java/ReflectionCheck.java | 2 +- .../src/main/java/RouteStrategy.java | 2 +- runescape-client/src/main/java/Scene.java | 48 ++--- runescape-client/src/main/java/Script.java | 6 +- .../src/main/java/ScriptEvent.java | 14 +- .../src/main/java/ScriptFrame.java | 4 +- .../src/main/java/SecureRandomCallable.java | 12 +- .../src/main/java/SecureRandomFuture.java | 14 +- .../src/main/java/SequenceDefinition.java | 28 +-- .../src/main/java/ServerPacket.java | 172 +++++++-------- runescape-client/src/main/java/Skeleton.java | 4 +- runescape-client/src/main/java/Skills.java | 4 +- .../src/main/java/SoundCache.java | 22 +- .../src/main/java/SoundEffect.java | 8 +- .../src/main/java/SoundEnvelope.java | 4 +- .../src/main/java/SoundSystem.java | 10 +- .../main/java/SpotAnimationDefinition.java | 14 +- runescape-client/src/main/java/Sprite.java | 4 +- .../src/main/java/SpriteMask.java | 6 +- .../src/main/java/StructDefinition.java | 22 +- .../src/main/java/StudioGame.java | 18 +- runescape-client/src/main/java/Task.java | 2 +- .../src/main/java/TaskHandler.java | 18 +- runescape-client/src/main/java/Texture.java | 4 +- .../src/main/java/TextureLoader.java | 8 +- .../src/main/java/TextureProvider.java | 28 +-- runescape-client/src/main/java/Tile.java | 20 +- runescape-client/src/main/java/TileItem.java | 14 +- .../src/main/java/TileItemPile.java | 14 +- runescape-client/src/main/java/TilePaint.java | 6 +- runescape-client/src/main/java/Tiles.java | 12 +- runescape-client/src/main/java/Timer.java | 20 +- runescape-client/src/main/java/TriBool.java | 8 +- .../src/main/java/UrlRequest.java | 8 +- .../src/main/java/UrlRequester.java | 10 +- runescape-client/src/main/java/User.java | 18 +- .../src/main/java/UserComparator1.java | 2 +- .../src/main/java/UserComparator10.java | 6 +- .../src/main/java/UserComparator2.java | 4 +- .../src/main/java/UserComparator3.java | 12 +- .../src/main/java/UserComparator4.java | 10 +- .../src/main/java/UserComparator5.java | 6 +- .../src/main/java/UserComparator6.java | 8 +- .../src/main/java/UserComparator7.java | 6 +- .../src/main/java/UserComparator8.java | 4 +- .../src/main/java/UserComparator9.java | 14 +- runescape-client/src/main/java/UserList.java | 50 ++--- runescape-client/src/main/java/Username.java | 10 +- runescape-client/src/main/java/Usernamed.java | 2 +- .../src/main/java/VarbitDefinition.java | 14 +- runescape-client/src/main/java/VarcInt.java | 14 +- runescape-client/src/main/java/Varcs.java | 24 +-- .../src/main/java/VarpDefinition.java | 8 +- runescape-client/src/main/java/Varps.java | 2 +- .../src/main/java/VertexNormal.java | 4 +- .../src/main/java/VerticalAlignment.java | 12 +- .../src/main/java/ViewportMouse.java | 4 +- .../src/main/java/VorbisSample.java | 14 +- .../src/main/java/WallDecoration.java | 8 +- runescape-client/src/main/java/Widget.java | 42 ++-- runescape-client/src/main/java/World.java | 20 +- runescape-client/src/main/java/WorldMap.java | 146 ++++++------- .../src/main/java/WorldMapArchiveLoader.java | 12 +- .../src/main/java/WorldMapArea.java | 46 ++-- .../src/main/java/WorldMapAreaData.java | 12 +- .../src/main/java/WorldMapCacheName.java | 12 +- .../src/main/java/WorldMapData_0.java | 10 +- .../src/main/java/WorldMapData_1.java | 16 +- .../src/main/java/WorldMapDecoration.java | 6 +- .../src/main/java/WorldMapDecorationType.java | 50 ++--- .../src/main/java/WorldMapElement.java | 26 +-- .../src/main/java/WorldMapEvent.java | 16 +- .../src/main/java/WorldMapID.java | 10 +- .../src/main/java/WorldMapIcon_0.java | 22 +- .../src/main/java/WorldMapIcon_1.java | 24 +-- .../src/main/java/WorldMapLabel.java | 24 +-- .../src/main/java/WorldMapLabelSize.java | 18 +- .../src/main/java/WorldMapManager.java | 40 ++-- .../src/main/java/WorldMapRectangle.java | 14 +- .../src/main/java/WorldMapRegion.java | 82 +++---- .../src/main/java/WorldMapScaleHandler.java | 28 +-- .../src/main/java/WorldMapSection.java | 12 +- .../src/main/java/WorldMapSection0.java | 26 +-- .../src/main/java/WorldMapSection1.java | 24 +-- .../src/main/java/WorldMapSection2.java | 18 +- .../src/main/java/WorldMapSection3.java | 26 +-- .../src/main/java/WorldMapSectionType.java | 18 +- .../src/main/java/WorldMapSprite.java | 12 +- runescape-client/src/main/java/class0.java | 4 +- runescape-client/src/main/java/class1.java | 20 +- runescape-client/src/main/java/class10.java | 2 +- runescape-client/src/main/java/class105.java | 6 +- runescape-client/src/main/java/class12.java | 2 +- runescape-client/src/main/java/class13.java | 6 +- runescape-client/src/main/java/class169.java | 12 +- runescape-client/src/main/java/class171.java | 2 +- runescape-client/src/main/java/class194.java | 24 +-- runescape-client/src/main/java/class195.java | 8 +- runescape-client/src/main/java/class197.java | 6 +- runescape-client/src/main/java/class198.java | 4 +- runescape-client/src/main/java/class2.java | 12 +- runescape-client/src/main/java/class200.java | 8 +- runescape-client/src/main/java/class204.java | 2 +- runescape-client/src/main/java/class206.java | 8 +- runescape-client/src/main/java/class217.java | 4 +- runescape-client/src/main/java/class219.java | 10 +- runescape-client/src/main/java/class22.java | 6 +- runescape-client/src/main/java/class224.java | 2 +- runescape-client/src/main/java/class225.java | 2 +- runescape-client/src/main/java/class228.java | 6 +- runescape-client/src/main/java/class23.java | 4 +- runescape-client/src/main/java/class231.java | 4 +- runescape-client/src/main/java/class232.java | 2 +- runescape-client/src/main/java/class234.java | 4 +- runescape-client/src/main/java/class235.java | 2 +- runescape-client/src/main/java/class236.java | 4 +- runescape-client/src/main/java/class247.java | 20 +- runescape-client/src/main/java/class25.java | 4 +- runescape-client/src/main/java/class257.java | 4 +- runescape-client/src/main/java/class277.java | 2 +- runescape-client/src/main/java/class278.java | 4 +- runescape-client/src/main/java/class280.java | 2 +- runescape-client/src/main/java/class296.java | 6 +- runescape-client/src/main/java/class298.java | 2 +- runescape-client/src/main/java/class3.java | 26 +-- runescape-client/src/main/java/class303.java | 4 +- runescape-client/src/main/java/class307.java | 4 +- runescape-client/src/main/java/class322.java | 14 +- runescape-client/src/main/java/class329.java | 2 +- runescape-client/src/main/java/class332.java | 10 +- runescape-client/src/main/java/class336.java | 2 +- runescape-client/src/main/java/class349.java | 4 +- runescape-client/src/main/java/class39.java | 8 +- runescape-client/src/main/java/class4.java | 22 +- runescape-client/src/main/java/class41.java | 8 +- runescape-client/src/main/java/class5.java | 4 +- runescape-client/src/main/java/class52.java | 4 +- runescape-client/src/main/java/class56.java | 2 +- runescape-client/src/main/java/class58.java | 4 +- runescape-client/src/main/java/class6.java | 2 +- runescape-client/src/main/java/class60.java | 10 +- runescape-client/src/main/java/class7.java | 18 +- runescape-client/src/main/java/class8.java | 16 +- runescape-client/src/main/java/class89.java | 4 +- runescape-client/src/main/java/class9.java | 22 +- runescape-client/src/main/java/class90.java | 10 +- runescape-client/src/main/java/class92.java | 2 +- .../main/java/net/runelite/rs/Reflection.java | 2 +- 325 files changed, 2478 insertions(+), 2525 deletions(-) diff --git a/deobfuscator/src/main/java/net/runelite/asm/ClassFile.java b/deobfuscator/src/main/java/net/runelite/asm/ClassFile.java index 9014dd73e2..2ab59c53bf 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/ClassFile.java +++ b/deobfuscator/src/main/java/net/runelite/asm/ClassFile.java @@ -25,10 +25,9 @@ package net.runelite.asm; import java.util.ArrayList; -import java.util.Comparator; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.TreeMap; import lombok.Getter; import net.runelite.asm.attributes.Annotated; import net.runelite.asm.pool.Class; @@ -55,7 +54,7 @@ public class ClassFile implements Annotated, Named private final List fields = new ArrayList<>(); private final List methods = new ArrayList<>(); @Getter - private final Map annotations = new TreeMap<>(Comparator.comparing(Type::toString)); + private final Map annotations = new LinkedHashMap<>(); public ClassFile(ClassGroup group) { diff --git a/deobfuscator/src/main/java/net/runelite/asm/Field.java b/deobfuscator/src/main/java/net/runelite/asm/Field.java index d02f28c582..33c4f84488 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/Field.java +++ b/deobfuscator/src/main/java/net/runelite/asm/Field.java @@ -24,9 +24,8 @@ */ package net.runelite.asm; -import java.util.Comparator; +import java.util.LinkedHashMap; import java.util.Map; -import java.util.TreeMap; import lombok.Getter; import net.runelite.asm.attributes.Annotated; import net.runelite.deob.DeobAnnotations; @@ -47,7 +46,7 @@ public class Field implements Annotated, Named private Type type; private Object value; // ConstantValue @Getter - private final Map annotations = new TreeMap<>(Comparator.comparing(Type::toString)); + private final Map annotations = new LinkedHashMap<>(); public Field(ClassFile classFile, String name, Type type) { diff --git a/deobfuscator/src/main/java/net/runelite/asm/Method.java b/deobfuscator/src/main/java/net/runelite/asm/Method.java index 1637298dff..e1c711fdf9 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/Method.java +++ b/deobfuscator/src/main/java/net/runelite/asm/Method.java @@ -25,10 +25,9 @@ package net.runelite.asm; import java.util.ArrayList; -import java.util.Comparator; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.TreeMap; import lombok.Getter; import net.runelite.asm.attributes.Annotated; import net.runelite.asm.attributes.Code; @@ -60,7 +59,7 @@ public class Method implements Annotated, Named private Signature arguments; private final Exceptions exceptions; @Getter - private final Map annotations = new TreeMap<>(Comparator.comparing(Type::toString)); + private final Map annotations = new LinkedHashMap<>(); private List parameters; private Code code; diff --git a/deobfuscator/src/main/java/net/runelite/asm/signature/Signature.java b/deobfuscator/src/main/java/net/runelite/asm/signature/Signature.java index 9c346dd36e..8fd9e88252 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/signature/Signature.java +++ b/deobfuscator/src/main/java/net/runelite/asm/signature/Signature.java @@ -48,7 +48,7 @@ public class Signature { final int rvStart = str.indexOf(')'); if (rvStart == -1) - throw new IllegalArgumentException("Signature has no return value!"); + throw new IllegalArgumentException("Descriptor has no return value!"); rv = new Type(str.substring(rvStart + 1)); arguments = findArgs(str, new ArrayList<>(), str.indexOf('(') + 1, rvStart); diff --git a/deobfuscator/src/main/java/net/runelite/deob/Deob.java b/deobfuscator/src/main/java/net/runelite/deob/Deob.java index a8e7dc3644..ebe8aca6df 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/Deob.java +++ b/deobfuscator/src/main/java/net/runelite/deob/Deob.java @@ -79,66 +79,63 @@ public class Deob ClassGroup group = JarUtil.loadJar(new File(args[0])); - if (args.length <= 2 || !args[2].equals("rl")) - { - // remove except RuntimeException - run(group, new RuntimeExceptions()); + // remove except RuntimeException + run(group, new RuntimeExceptions()); - run(group, new ControlFlowDeobfuscator()); + run(group, new ControlFlowDeobfuscator()); - run(group, new RenameUnique()); + run(group, new RenameUnique()); - // remove unused methods - this leaves Code with no instructions, - // which is not valid, so unused methods is run after - run(group, new UnreachedCode()); - run(group, new UnusedMethods()); + // remove unused methods - this leaves Code with no instructions, + // which is not valid, so unused methods is run after + run(group, new UnreachedCode()); + run(group, new UnusedMethods()); - // remove illegal state exceptions, frees up some parameters - run(group, new IllegalStateExceptions()); + // remove illegal state exceptions, frees up some parameters + run(group, new IllegalStateExceptions()); - // remove constant logically dead parameters - run(group, new ConstantParameter()); + // remove constant logically dead parameters + run(group, new ConstantParameter()); - // remove unhit blocks - run(group, new UnreachedCode()); - run(group, new UnusedMethods()); + // remove unhit blocks + run(group, new UnreachedCode()); + run(group, new UnusedMethods()); - // remove unused parameters - run(group, new UnusedParameters()); + // remove unused parameters + run(group, new UnusedParameters()); - // remove unused fields - run(group, new UnusedFields()); + // remove unused fields + run(group, new UnusedFields()); - run(group, new FieldInliner()); + run(group, new FieldInliner()); - // order uses class name order for sorting fields/methods, - // so run it before removing classes below - run(group, new Order()); + // order uses class name order for sorting fields/methods, + // so run it before removing classes below + run(group, new Order()); - run(group, new UnusedClass()); + run(group, new UnusedClass()); - runMath(group); + runMath(group); - run(group, new ExprArgOrder()); + run(group, new ExprArgOrder()); - run(group, new Lvt()); + run(group, new Lvt()); - run(group, new CastNull()); + run(group, new CastNull()); - run(group, new EnumDeobfuscator()); + run(group, new EnumDeobfuscator()); - new OpcodesTransformer().transform(group); - //run(group, new PacketHandlerOrder()); - //run(group, new PacketWriteDeobfuscator()); + new OpcodesTransformer().transform(group); + //run(group, new PacketHandlerOrder()); + //run(group, new PacketWriteDeobfuscator()); - run(group, new MenuActionDeobfuscator()); + run(group, new MenuActionDeobfuscator()); - new GetPathTransformer().transform(group); - new ClientErrorTransformer().transform(group); - new ReflectionTransformer().transform(group); - //new MaxMemoryTransformer().transform(group); - //new RuneliteBufferTransformer().transform(group); - } + new GetPathTransformer().transform(group); + new ClientErrorTransformer().transform(group); + new ReflectionTransformer().transform(group); + //new MaxMemoryTransformer().transform(group); + //new RuneliteBufferTransformer().transform(group); JarUtil.saveJar(group, new File(args[1])); diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/Renamer.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/Renamer.java index a3c89be27e..94e858745e 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/Renamer.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/Renamer.java @@ -35,7 +35,6 @@ import net.runelite.asm.Named; import net.runelite.asm.Type; import net.runelite.asm.attributes.Annotated; import net.runelite.asm.attributes.Code; -import net.runelite.asm.Annotation; import net.runelite.asm.attributes.code.Exceptions; import net.runelite.asm.attributes.code.Instruction; import net.runelite.asm.attributes.code.LocalVariable; @@ -138,12 +137,7 @@ public class Renamer implements Deobfuscator if (!method.getDescriptor().equals(newSignature)) { - //Signature was updated. Annotate it - if (method.findAnnotation(OBFUSCATED_SIGNATURE) == null) - { - //Signature was not previously renamed - method.addAnnotation(OBFUSCATED_SIGNATURE, "signature", method.getDescriptor().toString()); - } + method.findAnnotation(OBFUSCATED_SIGNATURE, true).setElement( "descriptor", method.getDescriptor().toString()); } method.setDescriptor(newSignature); @@ -160,12 +154,7 @@ public class Renamer implements Deobfuscator { if (field.getType().getInternalName().equals(cf.getName())) { - if (field.findAnnotation(OBFUSCATED_SIGNATURE) == null) - { - //Signature was updated. Annotate it - field.addAnnotation(OBFUSCATED_SIGNATURE, "signature", field.getType().toString()); - } - + field.findAnnotation(OBFUSCATED_SIGNATURE, true).setElement("descriptor", field.getType().toString()); field.setType(Type.getType("L" + name + ";", field.getType().getDimensions())); } } @@ -206,7 +195,7 @@ public class Renamer implements Deobfuscator addObfuscatedName(field); - assert DeobAnnotations.getExportedName(field) == null || DeobAnnotations.getExportedName(field).equals(newName) : "Tried changing field name to something other than the exported name!"; + assert DeobAnnotations.getExportedName(field) == null || newName.equals(DeobAnnotations.getExportedName(field)) : "Tried changing field name to something other than the exported name!"; field.setName(newName); ++fields; @@ -221,13 +210,6 @@ public class Renamer implements Deobfuscator String newName = mappings.get(method.getPoolMethod()); String[] newParams = mappings.getP(method.getPoolMethod()); - // rename on obfuscated signature - Annotation an = method.findAnnotation(OBFUSCATED_SIGNATURE); - if (an != null) - { - an.setElement(renameSignature(new Signature(an.getValueString())).toString()); - } - if (newName == null) { continue; @@ -292,38 +274,6 @@ public class Renamer implements Deobfuscator logger.info("Renamed {} classes, {} fields, {} methods, and {} parameters", classes, fields, methods, parameters); } - private Type renameType(Type t) - { - if (t.isPrimitive()) - { - return t; - } - - String className = t.getInternalName(); - String newName = mappings.get(new net.runelite.asm.pool.Class(className)); - if (newName == null) - { - return t; - } - - Type type = Type.getType("L" + newName + ";", t.getDimensions()); - - logger.debug("Renamed {} -> {}", t, type); - - return type; - } - - private Signature renameSignature(Signature s) - { - Signature.Builder builder = new Signature.Builder() - .setReturnType(renameType(s.getReturnValue())); - for (Type t : s.getArguments()) - { - builder.addArgument(renameType(t)); - } - return builder.build(); - } - private static void addObfuscatedName(T object) { object.findAnnotation(OBFUSCATED_NAME, true).setElement(object.getName()); diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/UnusedParameters.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/UnusedParameters.java index 2881d8414d..8f34cc4b6b 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/UnusedParameters.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/UnusedParameters.java @@ -100,7 +100,7 @@ public class UnusedParameters implements Deobfuscator final var a = m.findAnnotation(DeobAnnotations.OBFUSCATED_SIGNATURE); if (a == null) return false; - final var str = a.get("signature"); + final var str = a.get("descriptor"); return parameter + 1 == new Signature((String) str).size(); } diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/constparam/ConstantParameter.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/constparam/ConstantParameter.java index 3e2d8d7205..c994d37c5d 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/constparam/ConstantParameter.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/constparam/ConstantParameter.java @@ -439,8 +439,12 @@ public class ConstantParameter implements Deobfuscator // already annotated continue; } - obfuscatedSignature.setElement("signature", m.getDescriptor().toString()); - obfuscatedSignature.setElement("garbageValue", value); + else if (obfuscatedSignature.size() == 0) + { + obfuscatedSignature.setElement("descriptor", m.getDescriptor().toString()); + } + + obfuscatedSignature.setElement("garbageValue", String.valueOf(value)); } } diff --git a/deobfuscator/src/test/java/net/runelite/deob/deobfuscators/mapping/MappingDumper.java b/deobfuscator/src/test/java/net/runelite/deob/deobfuscators/mapping/MappingDumper.java index 97a496a983..4e0ee82add 100644 --- a/deobfuscator/src/test/java/net/runelite/deob/deobfuscators/mapping/MappingDumper.java +++ b/deobfuscator/src/test/java/net/runelite/deob/deobfuscators/mapping/MappingDumper.java @@ -351,7 +351,7 @@ public class MappingDumper jField.addProperty("class", className); jField.addProperty("field", fieldName); jField.addProperty("obfSignature", (obfType != null ? obfType.toString() : "")); - jField.addProperty("signature", f.getType().toString()); + jField.addProperty("descriptor", f.getType().toString()); jField.addProperty("multiplier", (getter != null ? getter : 0)); jField.addProperty("static", f.isStatic()); @@ -379,7 +379,7 @@ public class MappingDumper jMethod.addProperty("class", className); jMethod.addProperty("field", methodName); jMethod.addProperty("obfSignature", (obfSignature != null ? obfSignature.toString() : "")); - jMethod.addProperty("signature", m.getDescriptor().toString()); + jMethod.addProperty("descriptor", m.getDescriptor().toString()); jMethod.addProperty("predicate", (predicate != null ? predicate : "")); jMethod.addProperty("static", m.isStatic()); diff --git a/injection-annotations/src/main/java/net/runelite/mapping/ObfuscatedSignature.java b/injection-annotations/src/main/java/net/runelite/mapping/ObfuscatedSignature.java index 1c0bf31b35..09b2585257 100644 --- a/injection-annotations/src/main/java/net/runelite/mapping/ObfuscatedSignature.java +++ b/injection-annotations/src/main/java/net/runelite/mapping/ObfuscatedSignature.java @@ -36,7 +36,7 @@ import java.lang.annotation.Target; }) public @interface ObfuscatedSignature { - String signature(); + String descriptor(); String garbageValue() default ""; // valid garbage value for last parameter. can't be an Object because Java. } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/ExternalPluginManager.java b/runelite-client/src/main/java/net/runelite/client/plugins/ExternalPluginManager.java index 74e1b1937b..4d23069d1c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/ExternalPluginManager.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/ExternalPluginManager.java @@ -930,6 +930,11 @@ public class ExternalPluginManager log.info("Not updating external plugins since there is more than 1 client open"); return; } + else if (developmentMode) + { + log.info("Not updating because we're running in developer mode"); + return; + } RuneLiteSplashScreen.stage(.59, "Updating external plugins"); diff --git a/runescape-client/src/main/java/AbstractArchive.java b/runescape-client/src/main/java/AbstractArchive.java index 6420592024..4c51dfbfba 100644 --- a/runescape-client/src/main/java/AbstractArchive.java +++ b/runescape-client/src/main/java/AbstractArchive.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public abstract class AbstractArchive { @ObfuscatedName("h") @ObfuscatedSignature( - signature = "Lmu;" + descriptor = "Lmu;" ) @Export("gzipDecompressor") static GZipDecompressor gzipDecompressor; @@ -32,7 +32,7 @@ public abstract class AbstractArchive { int[] groupNameHashes; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lmh;" + descriptor = "Lmh;" ) @Export("groupNameHashTable") IntHashTable groupNameHashTable; @@ -53,7 +53,7 @@ public abstract class AbstractArchive { int[][] fileNameHashes; @ObfuscatedName("w") @ObfuscatedSignature( - signature = "[Lmh;" + descriptor = "[Lmh;" ) @Export("fileNameHashTables") IntHashTable[] fileNameHashTables; @@ -88,7 +88,7 @@ public abstract class AbstractArchive { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "([BB)V", + descriptor = "([BB)V", garbageValue = "-101" ) @Export("decodeIndex") @@ -221,7 +221,7 @@ public abstract class AbstractArchive { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "479482423" ) @Export("loadRegionFromGroup") @@ -230,7 +230,7 @@ public abstract class AbstractArchive { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(III)[B", + descriptor = "(III)[B", garbageValue = "1860640327" ) @Export("takeFile") @@ -240,7 +240,7 @@ public abstract class AbstractArchive { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(II[II)[B", + descriptor = "(II[II)[B", garbageValue = "-1226634846" ) @Export("takeFileEncrypted") @@ -270,7 +270,7 @@ public abstract class AbstractArchive { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(III)Z", + descriptor = "(III)Z", garbageValue = "1957538709" ) @Export("tryLoadFile") @@ -291,7 +291,7 @@ public abstract class AbstractArchive { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(II)Z", + descriptor = "(II)Z", garbageValue = "-2058273834" ) public boolean method4359(int var1) { @@ -306,7 +306,7 @@ public abstract class AbstractArchive { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(II)Z", + descriptor = "(II)Z", garbageValue = "1896348837" ) @Export("tryLoadGroup") @@ -321,7 +321,7 @@ public abstract class AbstractArchive { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(B)Z", + descriptor = "(B)Z", garbageValue = "0" ) @Export("isFullyLoaded") @@ -343,7 +343,7 @@ public abstract class AbstractArchive { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(II)I", + descriptor = "(II)I", garbageValue = "-1350822089" ) @Export("groupLoadPercent") @@ -353,7 +353,7 @@ public abstract class AbstractArchive { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(II)[B", + descriptor = "(II)[B", garbageValue = "1718789334" ) @Export("takeFileFlat") @@ -369,7 +369,7 @@ public abstract class AbstractArchive { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(III)[B", + descriptor = "(III)[B", garbageValue = "490044156" ) @Export("getFile") @@ -395,7 +395,7 @@ public abstract class AbstractArchive { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(II)[B", + descriptor = "(II)[B", garbageValue = "1362853135" ) @Export("getFileFlat") @@ -411,7 +411,7 @@ public abstract class AbstractArchive { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-1560066319" ) @Export("loadGroup") @@ -420,7 +420,7 @@ public abstract class AbstractArchive { @ObfuscatedName("h") @ObfuscatedSignature( - signature = "(IB)[I", + descriptor = "(IB)[I", garbageValue = "-56" ) @Export("getGroupFileIds") @@ -430,7 +430,7 @@ public abstract class AbstractArchive { @ObfuscatedName("k") @ObfuscatedSignature( - signature = "(II)I", + descriptor = "(II)I", garbageValue = "-888140327" ) @Export("getGroupFileCount") @@ -440,7 +440,7 @@ public abstract class AbstractArchive { @ObfuscatedName("r") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-763058439" ) @Export("getGroupCount") @@ -450,7 +450,7 @@ public abstract class AbstractArchive { @ObfuscatedName("d") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1760033757" ) @Export("clearGroups") @@ -463,7 +463,7 @@ public abstract class AbstractArchive { @ObfuscatedName("e") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-546235261" ) @Export("clearFilesGroup") @@ -476,7 +476,7 @@ public abstract class AbstractArchive { @ObfuscatedName("l") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "1" ) @Export("clearFiles") @@ -493,7 +493,7 @@ public abstract class AbstractArchive { @ObfuscatedName("t") @ObfuscatedSignature( - signature = "(I[II)Z", + descriptor = "(I[II)Z", garbageValue = "-1692394825" ) @Export("buildFiles") @@ -618,7 +618,7 @@ public abstract class AbstractArchive { @ObfuscatedName("x") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)I", + descriptor = "(Ljava/lang/String;I)I", garbageValue = "-1113782685" ) @Export("getGroupId") @@ -629,7 +629,7 @@ public abstract class AbstractArchive { @ObfuscatedName("ah") @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)I", + descriptor = "(ILjava/lang/String;I)I", garbageValue = "1362853135" ) @Export("getFileId") @@ -640,7 +640,7 @@ public abstract class AbstractArchive { @ObfuscatedName("ai") @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;I)Z", + descriptor = "(Ljava/lang/String;Ljava/lang/String;I)Z", garbageValue = "-1310066556" ) @Export("isValidFileName") @@ -658,7 +658,7 @@ public abstract class AbstractArchive { @ObfuscatedName("ao") @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;I)[B", + descriptor = "(Ljava/lang/String;Ljava/lang/String;I)[B", garbageValue = "-222408314" ) @Export("takeFileByNames") @@ -672,7 +672,7 @@ public abstract class AbstractArchive { @ObfuscatedName("ae") @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;I)Z", + descriptor = "(Ljava/lang/String;Ljava/lang/String;I)Z", garbageValue = "-778364429" ) @Export("tryLoadFileByNames") @@ -686,7 +686,7 @@ public abstract class AbstractArchive { @ObfuscatedName("ax") @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)Z", + descriptor = "(Ljava/lang/String;B)Z", garbageValue = "-81" ) @Export("tryLoadGroupByName") @@ -698,7 +698,7 @@ public abstract class AbstractArchive { @ObfuscatedName("ag") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", + descriptor = "(Ljava/lang/String;I)V", garbageValue = "-1143877885" ) @Export("loadRegionFromName") @@ -712,7 +712,7 @@ public abstract class AbstractArchive { @ObfuscatedName("ab") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)I", + descriptor = "(Ljava/lang/String;I)I", garbageValue = "-252379742" ) @Export("groupLoadPercentByName") @@ -724,7 +724,7 @@ public abstract class AbstractArchive { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Lkn;IIIIIII)V", + descriptor = "(Lkn;IIIIIII)V", garbageValue = "-1571118584" ) @Export("loadTerrain") @@ -790,7 +790,7 @@ public abstract class AbstractArchive { @ObfuscatedName("gr") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "682759182" ) static final int method4411() { diff --git a/runescape-client/src/main/java/AbstractByteArrayCopier.java b/runescape-client/src/main/java/AbstractByteArrayCopier.java index 48516bc317..bcc0b5596c 100644 --- a/runescape-client/src/main/java/AbstractByteArrayCopier.java +++ b/runescape-client/src/main/java/AbstractByteArrayCopier.java @@ -11,7 +11,7 @@ public abstract class AbstractByteArrayCopier { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)[B", + descriptor = "(I)[B", garbageValue = "300747627" ) @Export("get") @@ -19,7 +19,7 @@ public abstract class AbstractByteArrayCopier { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "([BB)V", + descriptor = "([BB)V", garbageValue = "92" ) @Export("set") diff --git a/runescape-client/src/main/java/AbstractFont.java b/runescape-client/src/main/java/AbstractFont.java index 39d5f18f12..22d3ee7d1c 100644 --- a/runescape-client/src/main/java/AbstractFont.java +++ b/runescape-client/src/main/java/AbstractFont.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public abstract class AbstractFont extends Rasterizer2D { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "[Llh;" + descriptor = "[Llh;" ) @Export("AbstractFont_modIconSprites") public static IndexedSprite[] AbstractFont_modIconSprites; diff --git a/runescape-client/src/main/java/AbstractRasterProvider.java b/runescape-client/src/main/java/AbstractRasterProvider.java index fd53cae232..3a128a923f 100644 --- a/runescape-client/src/main/java/AbstractRasterProvider.java +++ b/runescape-client/src/main/java/AbstractRasterProvider.java @@ -28,7 +28,7 @@ public abstract class AbstractRasterProvider { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IIB)V", + descriptor = "(IIB)V", garbageValue = "-5" ) @Export("drawFull") @@ -36,7 +36,7 @@ public abstract class AbstractRasterProvider { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(IIIII)V", + descriptor = "(IIIII)V", garbageValue = "-1334771637" ) @Export("draw") @@ -44,7 +44,7 @@ public abstract class AbstractRasterProvider { @ObfuscatedName("k") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "25855118" ) @Export("apply") diff --git a/runescape-client/src/main/java/AbstractSocket.java b/runescape-client/src/main/java/AbstractSocket.java index 40b7d650f2..d0bcc7a67e 100644 --- a/runescape-client/src/main/java/AbstractSocket.java +++ b/runescape-client/src/main/java/AbstractSocket.java @@ -12,7 +12,7 @@ public abstract class AbstractSocket { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-768493590" ) @Export("close") @@ -20,7 +20,7 @@ public abstract class AbstractSocket { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "-8" ) @Export("readUnsignedByte") @@ -28,7 +28,7 @@ public abstract class AbstractSocket { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1942767880" ) @Export("available") @@ -36,7 +36,7 @@ public abstract class AbstractSocket { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(II)Z", + descriptor = "(II)Z", garbageValue = "1355091335" ) @Export("isAvailable") @@ -44,7 +44,7 @@ public abstract class AbstractSocket { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "([BIIB)I", + descriptor = "([BIIB)I", garbageValue = "37" ) @Export("read") @@ -52,7 +52,7 @@ public abstract class AbstractSocket { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "([BIIB)V", + descriptor = "([BIIB)V", garbageValue = "-105" ) @Export("write") diff --git a/runescape-client/src/main/java/AbstractUserComparator.java b/runescape-client/src/main/java/AbstractUserComparator.java index a42cc6e53f..63a520a6b5 100644 --- a/runescape-client/src/main/java/AbstractUserComparator.java +++ b/runescape-client/src/main/java/AbstractUserComparator.java @@ -23,7 +23,7 @@ public abstract class AbstractUserComparator implements Comparator { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(Ljava/util/Comparator;S)V", + descriptor = "(Ljava/util/Comparator;S)V", garbageValue = "-28900" ) @Export("addComparator") @@ -38,7 +38,7 @@ public abstract class AbstractUserComparator implements Comparator { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(Ljf;Ljf;I)I", + descriptor = "(Ljf;Ljf;I)I", garbageValue = "864234218" ) @Export("compareUser") diff --git a/runescape-client/src/main/java/AbstractWorldMapData.java b/runescape-client/src/main/java/AbstractWorldMapData.java index 5b2abd5753..ad79114d82 100644 --- a/runescape-client/src/main/java/AbstractWorldMapData.java +++ b/runescape-client/src/main/java/AbstractWorldMapData.java @@ -69,7 +69,7 @@ public abstract class AbstractWorldMapData { byte[][][] field175; @ObfuscatedName("c") @ObfuscatedSignature( - signature = "[[[[Lak;" + descriptor = "[[[[Lak;" ) @Export("decorations") WorldMapDecoration[][][][] decorations; @@ -88,7 +88,7 @@ public abstract class AbstractWorldMapData { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "-1774414997" ) @Export("readGeography") @@ -96,7 +96,7 @@ public abstract class AbstractWorldMapData { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "923610125" ) @Export("isFullyLoaded") @@ -106,7 +106,7 @@ public abstract class AbstractWorldMapData { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(Lic;S)V", + descriptor = "(Lic;S)V", garbageValue = "19318" ) @Export("loadGeography") @@ -124,7 +124,7 @@ public abstract class AbstractWorldMapData { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1097959131" ) @Export("reset") @@ -140,7 +140,7 @@ public abstract class AbstractWorldMapData { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(IILkn;I)V", + descriptor = "(IILkn;I)V", garbageValue = "929230318" ) @Export("readTile") @@ -158,7 +158,7 @@ public abstract class AbstractWorldMapData { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(IILkn;II)V", + descriptor = "(IILkn;II)V", garbageValue = "1830113999" ) void method319(int var1, int var2, Buffer var3, int var4) { @@ -172,7 +172,7 @@ public abstract class AbstractWorldMapData { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(IILkn;IB)V", + descriptor = "(IILkn;IB)V", garbageValue = "73" ) void method320(int var1, int var2, Buffer var3, int var4) { @@ -216,7 +216,7 @@ public abstract class AbstractWorldMapData { @ObfuscatedName("h") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "3" ) @Export("getRegionX") @@ -226,7 +226,7 @@ public abstract class AbstractWorldMapData { @ObfuscatedName("k") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "-4" ) @Export("getRegionY") @@ -236,7 +236,7 @@ public abstract class AbstractWorldMapData { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ljava/awt/Component;I)V", + descriptor = "(Ljava/awt/Component;I)V", garbageValue = "-1541126292" ) static void method342(Component var0) { @@ -247,7 +247,7 @@ public abstract class AbstractWorldMapData { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "2015859206" ) public static void method343() { @@ -257,7 +257,7 @@ public abstract class AbstractWorldMapData { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "324919704" ) static final void method328() { diff --git a/runescape-client/src/main/java/AbstractWorldMapIcon.java b/runescape-client/src/main/java/AbstractWorldMapIcon.java index ffd647d076..8da4b580a0 100644 --- a/runescape-client/src/main/java/AbstractWorldMapIcon.java +++ b/runescape-client/src/main/java/AbstractWorldMapIcon.java @@ -9,19 +9,19 @@ import net.runelite.mapping.ObfuscatedSignature; public abstract class AbstractWorldMapIcon { @ObfuscatedName("es") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive17") static Archive archive17; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Lhg;" + descriptor = "Lhg;" ) @Export("coord2") public final Coord coord2; @ObfuscatedName("u") @ObfuscatedSignature( - signature = "Lhg;" + descriptor = "Lhg;" ) @Export("coord1") public final Coord coord1; @@ -39,7 +39,7 @@ public abstract class AbstractWorldMapIcon { int screenY; @ObfuscatedSignature( - signature = "(Lhg;Lhg;)V" + descriptor = "(Lhg;Lhg;)V" ) AbstractWorldMapIcon(Coord var1, Coord var2) { this.coord1 = var1; @@ -48,7 +48,7 @@ public abstract class AbstractWorldMapIcon { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "0" ) @Export("getElement") @@ -56,7 +56,7 @@ public abstract class AbstractWorldMapIcon { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(B)Lar;", + descriptor = "(B)Lar;", garbageValue = "35" ) @Export("getLabel") @@ -64,7 +64,7 @@ public abstract class AbstractWorldMapIcon { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "1804331962" ) @Export("getSubWidth") @@ -72,7 +72,7 @@ public abstract class AbstractWorldMapIcon { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1265869629" ) @Export("getSubHeight") @@ -80,7 +80,7 @@ public abstract class AbstractWorldMapIcon { @ObfuscatedName("t") @ObfuscatedSignature( - signature = "(III)Z", + descriptor = "(III)Z", garbageValue = "422348755" ) @Export("fitsScreen") @@ -94,7 +94,7 @@ public abstract class AbstractWorldMapIcon { @ObfuscatedName("x") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "807957820" ) @Export("hasValidElement") @@ -104,7 +104,7 @@ public abstract class AbstractWorldMapIcon { @ObfuscatedName("ah") @ObfuscatedSignature( - signature = "(III)Z", + descriptor = "(III)Z", garbageValue = "872444562" ) @Export("elementFitsScreen") @@ -158,7 +158,7 @@ public abstract class AbstractWorldMapIcon { @ObfuscatedName("ai") @ObfuscatedSignature( - signature = "(IIB)Z", + descriptor = "(IIB)Z", garbageValue = "1" ) @Export("labelFitsScreen") @@ -175,7 +175,7 @@ public abstract class AbstractWorldMapIcon { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-288699605" ) public static void method687() { @@ -194,7 +194,7 @@ public abstract class AbstractWorldMapIcon { @ObfuscatedName("fk") @ObfuscatedSignature( - signature = "(IIII)V", + descriptor = "(IIII)V", garbageValue = "-886030498" ) @Export("queueSoundEffect") diff --git a/runescape-client/src/main/java/AccessFile.java b/runescape-client/src/main/java/AccessFile.java index f2e7fba8e4..862346b38c 100644 --- a/runescape-client/src/main/java/AccessFile.java +++ b/runescape-client/src/main/java/AccessFile.java @@ -58,7 +58,7 @@ public final class AccessFile { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "([BIII)V", + descriptor = "([BIII)V", garbageValue = "239881906" ) @Export("write") @@ -75,7 +75,7 @@ public final class AccessFile { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1767391731" ) @Export("close") @@ -85,7 +85,7 @@ public final class AccessFile { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(ZB)V", + descriptor = "(ZB)V", garbageValue = "-19" ) @Export("closeSync") @@ -106,7 +106,7 @@ public final class AccessFile { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(I)J", + descriptor = "(I)J", garbageValue = "997596889" ) @Export("length") @@ -116,7 +116,7 @@ public final class AccessFile { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "([BIII)I", + descriptor = "([BIII)I", garbageValue = "-1991806699" ) @Export("read") diff --git a/runescape-client/src/main/java/Actor.java b/runescape-client/src/main/java/Actor.java index 841b1e2cf6..83a7831ec7 100644 --- a/runescape-client/src/main/java/Actor.java +++ b/runescape-client/src/main/java/Actor.java @@ -133,7 +133,7 @@ public abstract class Actor extends Entity { int[] hitSplatValues2; @ObfuscatedName("bf") @ObfuscatedSignature( - signature = "Ljx;" + descriptor = "Ljx;" ) @Export("healthBars") IterableNodeDeque healthBars; @@ -366,7 +366,7 @@ public abstract class Actor extends Entity { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(B)Z", + descriptor = "(B)Z", garbageValue = "1" ) @Export("isVisible") @@ -376,7 +376,7 @@ public abstract class Actor extends Entity { @ObfuscatedName("bg") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "78" ) final void method1810() { @@ -386,7 +386,7 @@ public abstract class Actor extends Entity { @ObfuscatedName("be") @ObfuscatedSignature( - signature = "(IIIIIII)V", + descriptor = "(IIIIIII)V", garbageValue = "-1007174032" ) @Export("addHitSplat") @@ -481,7 +481,7 @@ public abstract class Actor extends Entity { @ObfuscatedName("bf") @ObfuscatedSignature( - signature = "(IIIIIII)V", + descriptor = "(IIIIIII)V", garbageValue = "-680285813" ) @Export("addHealthBar") @@ -543,7 +543,7 @@ public abstract class Actor extends Entity { @ObfuscatedName("ba") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "43" ) @Export("removeHealthBar") @@ -561,7 +561,7 @@ public abstract class Actor extends Entity { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(Lch;Lch;IZI)I", + descriptor = "(Lch;Lch;IZI)I", garbageValue = "-1172543926" ) @Export("compareWorlds") @@ -609,7 +609,7 @@ public abstract class Actor extends Entity { @ObfuscatedName("aj") @ObfuscatedSignature( - signature = "([BIIB)I", + descriptor = "([BIIB)I", garbageValue = "46" ) static int method1822(byte[] var0, int var1, int var2) { diff --git a/runescape-client/src/main/java/Animation.java b/runescape-client/src/main/java/Animation.java index e4f0d384c5..05bd56c3fc 100644 --- a/runescape-client/src/main/java/Animation.java +++ b/runescape-client/src/main/java/Animation.java @@ -16,7 +16,7 @@ public class Animation { static int[] field1663; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Ler;" + descriptor = "Ler;" ) @Export("skeleton") Skeleton skeleton; @@ -47,7 +47,7 @@ public class Animation { } @ObfuscatedSignature( - signature = "([BLer;)V" + descriptor = "([BLer;)V" ) Animation(byte[] var1, Skeleton var2) { this.skeleton = null; diff --git a/runescape-client/src/main/java/ApproximateRouteStrategy.java b/runescape-client/src/main/java/ApproximateRouteStrategy.java index d49052b0c5..047b2620ab 100644 --- a/runescape-client/src/main/java/ApproximateRouteStrategy.java +++ b/runescape-client/src/main/java/ApproximateRouteStrategy.java @@ -24,7 +24,7 @@ public class ApproximateRouteStrategy extends RouteStrategy { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(IIILfz;I)Z", + descriptor = "(IIILfz;I)Z", garbageValue = "-1966963917" ) @Export("hasArrived") @@ -34,7 +34,7 @@ public class ApproximateRouteStrategy extends RouteStrategy { @ObfuscatedName("ha") @ObfuscatedSignature( - signature = "(Lby;IIBI)V", + descriptor = "(Lby;IIBI)V", garbageValue = "-549376931" ) static final void method1284(Player var0, int var1, int var2, byte var3) { @@ -56,7 +56,7 @@ public class ApproximateRouteStrategy extends RouteStrategy { @ObfuscatedName("hc") @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;IIIIZB)V", + descriptor = "(Ljava/lang/String;Ljava/lang/String;IIIIZB)V", garbageValue = "-63" ) @Export("insertMenuItem") @@ -78,7 +78,7 @@ public class ApproximateRouteStrategy extends RouteStrategy { @ObfuscatedName("id") @ObfuscatedSignature( - signature = "(Ljz;IIII)V", + descriptor = "(Ljz;IIII)V", garbageValue = "1974138271" ) @Export("addNpcToMenu") diff --git a/runescape-client/src/main/java/Archive.java b/runescape-client/src/main/java/Archive.java index 0a5ed6a4cf..8fdbd4d3cd 100644 --- a/runescape-client/src/main/java/Archive.java +++ b/runescape-client/src/main/java/Archive.java @@ -13,13 +13,13 @@ public class Archive extends AbstractArchive { static CRC32 Archive_crc; @ObfuscatedName("x") @ObfuscatedSignature( - signature = "Llp;" + descriptor = "Llp;" ) @Export("archiveDisk") ArchiveDisk archiveDisk; @ObfuscatedName("b") @ObfuscatedSignature( - signature = "Llp;" + descriptor = "Llp;" ) @Export("masterDisk") ArchiveDisk masterDisk; @@ -59,7 +59,7 @@ public class Archive extends AbstractArchive { } @ObfuscatedSignature( - signature = "(Llp;Llp;IZZZ)V" + descriptor = "(Llp;Llp;IZZZ)V" ) public Archive(ArchiveDisk var1, ArchiveDisk var2, int var3, boolean var4, boolean var5, boolean var6) { super(var4, var5); @@ -75,7 +75,7 @@ public class Archive extends AbstractArchive { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "479482423" ) @Export("loadRegionFromGroup") @@ -91,7 +91,7 @@ public class Archive extends AbstractArchive { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(II)I", + descriptor = "(II)I", garbageValue = "-1350822089" ) @Export("groupLoadPercent") @@ -116,7 +116,7 @@ public class Archive extends AbstractArchive { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-1560066319" ) @Export("loadGroup") @@ -131,7 +131,7 @@ public class Archive extends AbstractArchive { @ObfuscatedName("dr") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "6460755" ) public boolean method4456() { @@ -140,7 +140,7 @@ public class Archive extends AbstractArchive { @ObfuscatedName("di") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "1538719165" ) @Export("percentage") @@ -170,7 +170,7 @@ public class Archive extends AbstractArchive { @ObfuscatedName("dp") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "-1870441691" ) @Export("loadIndex") @@ -187,7 +187,7 @@ public class Archive extends AbstractArchive { @ObfuscatedName("dc") @ObfuscatedSignature( - signature = "(I[BZZI)V", + descriptor = "(I[BZZI)V", garbageValue = "-1362503762" ) @Export("write") @@ -220,7 +220,7 @@ public class Archive extends AbstractArchive { @ObfuscatedName("dt") @ObfuscatedSignature( - signature = "(Llp;I[BZI)V", + descriptor = "(Llp;I[BZI)V", garbageValue = "416222280" ) @Export("load") @@ -311,7 +311,7 @@ public class Archive extends AbstractArchive { @ObfuscatedName("ds") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1106038504" ) @Export("loadAllLocal") @@ -344,7 +344,7 @@ public class Archive extends AbstractArchive { @ObfuscatedName("dg") @ObfuscatedSignature( - signature = "(II)Z", + descriptor = "(II)Z", garbageValue = "1634778176" ) public boolean method4460(int var1) { @@ -353,7 +353,7 @@ public class Archive extends AbstractArchive { @ObfuscatedName("do") @ObfuscatedSignature( - signature = "(II)Z", + descriptor = "(II)Z", garbageValue = "-587516749" ) public boolean method4452(int var1) { @@ -362,7 +362,7 @@ public class Archive extends AbstractArchive { @ObfuscatedName("dn") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1037828577" ) @Export("loadPercent") diff --git a/runescape-client/src/main/java/ArchiveDisk.java b/runescape-client/src/main/java/ArchiveDisk.java index 14b496068c..64cee0d812 100644 --- a/runescape-client/src/main/java/ArchiveDisk.java +++ b/runescape-client/src/main/java/ArchiveDisk.java @@ -14,13 +14,13 @@ public final class ArchiveDisk { static byte[] ArchiveDisk_buffer; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lmn;" + descriptor = "Lmn;" ) @Export("datFile") BufferedFile datFile; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lmn;" + descriptor = "Lmn;" ) @Export("idxFile") BufferedFile idxFile; @@ -42,7 +42,7 @@ public final class ArchiveDisk { } @ObfuscatedSignature( - signature = "(ILmn;Lmn;I)V" + descriptor = "(ILmn;Lmn;I)V" ) public ArchiveDisk(int var1, BufferedFile var2, BufferedFile var3, int var4) { this.datFile = null; @@ -56,7 +56,7 @@ public final class ArchiveDisk { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(II)[B", + descriptor = "(II)[B", garbageValue = "475820078" ) @Export("read") @@ -153,7 +153,7 @@ public final class ArchiveDisk { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I[BIB)Z", + descriptor = "(I[BIB)Z", garbageValue = "3" ) @Export("write") @@ -174,7 +174,7 @@ public final class ArchiveDisk { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I[BIZS)Z", + descriptor = "(I[BIZS)Z", garbageValue = "21116" ) @Export("write0") diff --git a/runescape-client/src/main/java/ArchiveDiskAction.java b/runescape-client/src/main/java/ArchiveDiskAction.java index f7b0c1515a..8da6094a02 100644 --- a/runescape-client/src/main/java/ArchiveDiskAction.java +++ b/runescape-client/src/main/java/ArchiveDiskAction.java @@ -18,13 +18,13 @@ public class ArchiveDiskAction extends Node { byte[] data; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Llp;" + descriptor = "Llp;" ) @Export("archiveDisk") ArchiveDisk archiveDisk; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive") Archive archive; @@ -34,7 +34,7 @@ public class ArchiveDiskAction extends Node { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Lkb;II)Z", + descriptor = "(Lkb;II)Z", garbageValue = "-1045128194" ) @Export("updateExternalPlayer") @@ -150,7 +150,7 @@ public class ArchiveDiskAction extends Node { @ObfuscatedName("js") @ObfuscatedSignature( - signature = "(II)Z", + descriptor = "(II)Z", garbageValue = "-418956614" ) static boolean method4302(int var0) { diff --git a/runescape-client/src/main/java/ArchiveDiskActionHandler.java b/runescape-client/src/main/java/ArchiveDiskActionHandler.java index 0d71840747..9c25cc3e40 100644 --- a/runescape-client/src/main/java/ArchiveDiskActionHandler.java +++ b/runescape-client/src/main/java/ArchiveDiskActionHandler.java @@ -9,13 +9,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class ArchiveDiskActionHandler implements Runnable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Ljp;" + descriptor = "Ljp;" ) @Export("ArchiveDiskActionHandler_requestQueue") static NodeDeque ArchiveDiskActionHandler_requestQueue; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Ljp;" + descriptor = "Ljp;" ) @Export("ArchiveDiskActionHandler_responseQueue") static NodeDeque ArchiveDiskActionHandler_responseQueue; @@ -92,7 +92,7 @@ public class ArchiveDiskActionHandler implements Runnable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lic;Lic;I)I", + descriptor = "(Lic;Lic;I)I", garbageValue = "-1395527740" ) static int method4429(AbstractArchive var0, AbstractArchive var1) { @@ -155,7 +155,7 @@ public class ArchiveDiskActionHandler implements Runnable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(IB)Z", + descriptor = "(IB)Z", garbageValue = "8" ) @Export("isWorldMapEvent") @@ -165,7 +165,7 @@ public class ArchiveDiskActionHandler implements Runnable { @ObfuscatedName("fh") @ObfuscatedSignature( - signature = "(Ljava/lang/String;ZB)V", + descriptor = "(Ljava/lang/String;ZB)V", garbageValue = "-20" ) @Export("drawLoadingMessage") diff --git a/runescape-client/src/main/java/ArchiveLoader.java b/runescape-client/src/main/java/ArchiveLoader.java index 9920a3b2ad..36d8b74be6 100644 --- a/runescape-client/src/main/java/ArchiveLoader.java +++ b/runescape-client/src/main/java/ArchiveLoader.java @@ -19,7 +19,7 @@ public class ArchiveLoader { static String userHomeDirectory; @ObfuscatedName("an") @ObfuscatedSignature( - signature = "Llo;" + descriptor = "Llo;" ) @Export("rasterProvider") public static AbstractRasterProvider rasterProvider; @@ -28,13 +28,13 @@ public class ArchiveLoader { static boolean mouseCam; @ObfuscatedName("fy") @ObfuscatedSignature( - signature = "Lfa;" + descriptor = "Lfa;" ) @Export("socketTask") static Task socketTask; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive") final Archive archive; @@ -52,7 +52,7 @@ public class ArchiveLoader { int loadedCount; @ObfuscatedSignature( - signature = "(Lig;Ljava/lang/String;)V" + descriptor = "(Lig;Ljava/lang/String;)V" ) ArchiveLoader(Archive var1, String var2) { this.loadedCount = 0; @@ -62,7 +62,7 @@ public class ArchiveLoader { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "-1314527591" ) @Export("isLoaded") @@ -80,7 +80,7 @@ public class ArchiveLoader { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(III)I", + descriptor = "(III)I", garbageValue = "1299326622" ) static int method1212(int var0, int var1) { @@ -104,7 +104,7 @@ public class ArchiveLoader { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "677134031" ) static int method1213(int var0, Script var1, boolean var2) { diff --git a/runescape-client/src/main/java/AttackOption.java b/runescape-client/src/main/java/AttackOption.java index 03755320ed..bfc5cad5e7 100644 --- a/runescape-client/src/main/java/AttackOption.java +++ b/runescape-client/src/main/java/AttackOption.java @@ -10,38 +10,38 @@ import net.runelite.rs.ScriptOpcodes; public enum AttackOption implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lco;" + descriptor = "Lco;" ) @Export("AttackOption_dependsOnCombatLevels") AttackOption_dependsOnCombatLevels(0), @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lco;" + descriptor = "Lco;" ) @Export("AttackOption_alwaysRightClick") AttackOption_alwaysRightClick(1), @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lco;" + descriptor = "Lco;" ) @Export("AttackOption_leftClickWhereAvailable") AttackOption_leftClickWhereAvailable(2), @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lco;" + descriptor = "Lco;" ) @Export("AttackOption_hidden") AttackOption_hidden(3); @ObfuscatedName("of") @ObfuscatedSignature( - signature = "Lcy;" + descriptor = "Lcy;" ) @Export("varcs") static Varcs varcs; @ObfuscatedName("hj") @ObfuscatedSignature( - signature = "[Llz;" + descriptor = "[Llz;" ) @Export("mapDotSprites") static Sprite[] mapDotSprites; @@ -58,7 +58,7 @@ public enum AttackOption implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-995092303" ) @Export("rsOrdinal") @@ -68,7 +68,7 @@ public enum AttackOption implements Enumerated { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(I)Llh;", + descriptor = "(I)Llh;", garbageValue = "-1275433341" ) public static IndexedSprite method2173() { @@ -87,7 +87,7 @@ public enum AttackOption implements Enumerated { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-37" ) public static void method2181() { @@ -97,7 +97,7 @@ public enum AttackOption implements Enumerated { @ObfuscatedName("ac") @ObfuscatedSignature( - signature = "(ILcs;ZB)I", + descriptor = "(ILcs;ZB)I", garbageValue = "-99" ) static int method2180(int var0, Script var1, boolean var2) { @@ -192,7 +192,7 @@ public enum AttackOption implements Enumerated { @ObfuscatedName("ho") @ObfuscatedSignature( - signature = "(IIIIB)V", + descriptor = "(IIIIB)V", garbageValue = "-113" ) @Export("selectSpell") diff --git a/runescape-client/src/main/java/AudioFilter.java b/runescape-client/src/main/java/AudioFilter.java index 86dafa255f..64b1499ede 100644 --- a/runescape-client/src/main/java/AudioFilter.java +++ b/runescape-client/src/main/java/AudioFilter.java @@ -107,7 +107,7 @@ public class AudioFilter { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Lkn;Lds;)V" + descriptor = "(Lkn;Lds;)V" ) final void method2829(Buffer var1, SoundEnvelope var2) { int var3 = var1.readUnsignedByte(); diff --git a/runescape-client/src/main/java/BZip2Decompressor.java b/runescape-client/src/main/java/BZip2Decompressor.java index 48d1dabe62..16883750cf 100644 --- a/runescape-client/src/main/java/BZip2Decompressor.java +++ b/runescape-client/src/main/java/BZip2Decompressor.java @@ -8,7 +8,7 @@ import net.runelite.mapping.ObfuscatedSignature; public final class BZip2Decompressor { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "Llk;" + descriptor = "Llk;" ) @Export("BZip2Decompressor_state") static BZip2State BZip2Decompressor_state; @@ -40,7 +40,7 @@ public final class BZip2Decompressor { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Llk;)V" + descriptor = "(Llk;)V" ) static void method6004(BZip2State var0) { byte var2 = var0.out_char; @@ -166,7 +166,7 @@ public final class BZip2Decompressor { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Llk;)V" + descriptor = "(Llk;)V" ) @Export("BZip2Decompressor_decompress") static void BZip2Decompressor_decompress(BZip2State var0) { @@ -540,7 +540,7 @@ public final class BZip2Decompressor { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Llk;)B" + descriptor = "(Llk;)B" ) @Export("BZip2Decompressor_readNextByte") static byte BZip2Decompressor_readNextByte(BZip2State var0) { @@ -549,7 +549,7 @@ public final class BZip2Decompressor { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Llk;)B" + descriptor = "(Llk;)B" ) @Export("BZip2Decompressor_readNextBit") static byte BZip2Decompressor_readNextBit(BZip2State var0) { @@ -558,7 +558,7 @@ public final class BZip2Decompressor { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(ILlk;)I" + descriptor = "(ILlk;)I" ) @Export("BZip2Decompressor_readBits") static int BZip2Decompressor_readBits(int var0, BZip2State var1) { @@ -578,7 +578,7 @@ public final class BZip2Decompressor { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(Llk;)V" + descriptor = "(Llk;)V" ) @Export("makeMaps") static void makeMaps(BZip2State var0) { diff --git a/runescape-client/src/main/java/BZip2State.java b/runescape-client/src/main/java/BZip2State.java index 04471e9a7b..2539cdd831 100644 --- a/runescape-client/src/main/java/BZip2State.java +++ b/runescape-client/src/main/java/BZip2State.java @@ -182,7 +182,7 @@ public final class BZip2State { @ObfuscatedName("iq") @ObfuscatedSignature( - signature = "(Ljava/lang/String;Lhd;I)Ljava/lang/String;", + descriptor = "(Ljava/lang/String;Lhd;I)Ljava/lang/String;", garbageValue = "-1638627143" ) static String method6001(String var0, Widget var1) { diff --git a/runescape-client/src/main/java/BoundaryObject.java b/runescape-client/src/main/java/BoundaryObject.java index 6f9b8f06a1..4b5549197e 100644 --- a/runescape-client/src/main/java/BoundaryObject.java +++ b/runescape-client/src/main/java/BoundaryObject.java @@ -39,13 +39,13 @@ public final class BoundaryObject { int orientationB; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lel;" + descriptor = "Lel;" ) @Export("entity1") public Entity entity1; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Lel;" + descriptor = "Lel;" ) @Export("entity2") public Entity entity2; @@ -69,7 +69,7 @@ public final class BoundaryObject { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1351583068" ) static void method3390() { @@ -89,7 +89,7 @@ public final class BoundaryObject { @ObfuscatedName("hz") @ObfuscatedSignature( - signature = "(Lkb;I)V", + descriptor = "(Lkb;I)V", garbageValue = "-1547224129" ) static final void method3389(PacketBuffer var0) { diff --git a/runescape-client/src/main/java/Bounds.java b/runescape-client/src/main/java/Bounds.java index 752bec4380..bc982a7cbd 100644 --- a/runescape-client/src/main/java/Bounds.java +++ b/runescape-client/src/main/java/Bounds.java @@ -43,7 +43,7 @@ public class Bounds { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "-2102954293" ) @Export("setLow") @@ -54,7 +54,7 @@ public class Bounds { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IIB)V", + descriptor = "(IIB)V", garbageValue = "-40" ) @Export("setHigh") @@ -65,7 +65,7 @@ public class Bounds { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Llv;Llv;I)V", + descriptor = "(Llv;Llv;I)V", garbageValue = "1555379366" ) public void method6202(Bounds var1, Bounds var2) { @@ -75,7 +75,7 @@ public class Bounds { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Llv;Llv;B)V", + descriptor = "(Llv;Llv;B)V", garbageValue = "58" ) void method6199(Bounds var1, Bounds var2) { @@ -98,7 +98,7 @@ public class Bounds { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Llv;Llv;I)V", + descriptor = "(Llv;Llv;I)V", garbageValue = "-810970943" ) void method6194(Bounds var1, Bounds var2) { @@ -121,7 +121,7 @@ public class Bounds { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "515582700" ) int method6193() { @@ -130,7 +130,7 @@ public class Bounds { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-500619811" ) int method6196() { diff --git a/runescape-client/src/main/java/Buddy.java b/runescape-client/src/main/java/Buddy.java index 0932f863b1..768c4048dc 100644 --- a/runescape-client/src/main/java/Buddy.java +++ b/runescape-client/src/main/java/Buddy.java @@ -32,7 +32,7 @@ public class Buddy extends User { @ObfuscatedName("aw") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "-820539853" ) @Export("set") @@ -43,7 +43,7 @@ public class Buddy extends User { @ObfuscatedName("az") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "1724193250" ) @Export("getWorld") @@ -53,7 +53,7 @@ public class Buddy extends User { @ObfuscatedName("aq") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "-279238296" ) @Export("hasWorld") @@ -63,7 +63,7 @@ public class Buddy extends User { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(III)I", + descriptor = "(III)I", garbageValue = "562871414" ) static int method5363(int var0, int var1) { @@ -152,7 +152,7 @@ public class Buddy extends User { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lic;III)Llh;", + descriptor = "(Lic;III)Llh;", garbageValue = "214880487" ) static IndexedSprite method5355(AbstractArchive var0, int var1, int var2) { @@ -170,7 +170,7 @@ public class Buddy extends User { @ObfuscatedName("k") @ObfuscatedSignature( - signature = "(IS)V", + descriptor = "(IS)V", garbageValue = "1714" ) static void method5349(int var0) { diff --git a/runescape-client/src/main/java/BuddyRankComparator.java b/runescape-client/src/main/java/BuddyRankComparator.java index ce6bc0620c..1f853bbd80 100644 --- a/runescape-client/src/main/java/BuddyRankComparator.java +++ b/runescape-client/src/main/java/BuddyRankComparator.java @@ -19,7 +19,7 @@ public class BuddyRankComparator extends AbstractUserComparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkx;Lkx;I)I", + descriptor = "(Lkx;Lkx;I)I", garbageValue = "1665981134" ) @Export("compareBuddy") @@ -37,7 +37,7 @@ public class BuddyRankComparator extends AbstractUserComparator { @ObfuscatedName("ka") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)Ljava/lang/String;", + descriptor = "(Ljava/lang/String;I)Ljava/lang/String;", garbageValue = "-1830826767" ) static String method3556(String var0) { diff --git a/runescape-client/src/main/java/Buffer.java b/runescape-client/src/main/java/Buffer.java index 1a3a090863..0d4379c2c1 100644 --- a/runescape-client/src/main/java/Buffer.java +++ b/runescape-client/src/main/java/Buffer.java @@ -72,7 +72,7 @@ public class Buffer extends Node { @ObfuscatedName("bh") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1332846958" ) @Export("releaseArray") @@ -86,7 +86,7 @@ public class Buffer extends Node { @ObfuscatedName("bg") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-238244279" ) @Export("writeByte") @@ -96,7 +96,7 @@ public class Buffer extends Node { @ObfuscatedName("be") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-2062616020" ) @Export("writeShort") @@ -107,7 +107,7 @@ public class Buffer extends Node { @ObfuscatedName("bf") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-1322343150" ) @Export("writeMedium") @@ -119,7 +119,7 @@ public class Buffer extends Node { @ObfuscatedName("ba") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "1526300467" ) @Export("writeInt") @@ -156,7 +156,7 @@ public class Buffer extends Node { @ObfuscatedName("bw") @ObfuscatedSignature( - signature = "(ZI)V", + descriptor = "(ZI)V", garbageValue = "1754555155" ) @Export("writeBoolean") @@ -166,7 +166,7 @@ public class Buffer extends Node { @ObfuscatedName("bn") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", + descriptor = "(Ljava/lang/String;I)V", garbageValue = "914637380" ) @Export("writeStringCp1252NullTerminated") @@ -182,7 +182,7 @@ public class Buffer extends Node { @ObfuscatedName("bo") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", + descriptor = "(Ljava/lang/String;I)V", garbageValue = "2130981128" ) @Export("writeStringCp1252NullCircumfixed") @@ -199,7 +199,7 @@ public class Buffer extends Node { @ObfuscatedName("bp") @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;I)V", + descriptor = "(Ljava/lang/CharSequence;I)V", garbageValue = "1273602380" ) @Export("writeCESU8") @@ -247,7 +247,7 @@ public class Buffer extends Node { @ObfuscatedName("bm") @ObfuscatedSignature( - signature = "([BIIB)V", + descriptor = "([BIIB)V", garbageValue = "96" ) @Export("writeBytes") @@ -260,7 +260,7 @@ public class Buffer extends Node { @ObfuscatedName("bl") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "-914578816" ) public void method5711(Buffer var1) { @@ -269,7 +269,7 @@ public class Buffer extends Node { @ObfuscatedName("bv") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "1697969107" ) @Export("writeLengthInt") @@ -286,7 +286,7 @@ public class Buffer extends Node { @ObfuscatedName("bi") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-510969382" ) @Export("writeLengthShort") @@ -301,7 +301,7 @@ public class Buffer extends Node { @ObfuscatedName("bz") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-767264169" ) @Export("writeLengthByte") @@ -315,7 +315,7 @@ public class Buffer extends Node { @ObfuscatedName("bu") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "416798651" ) @Export("writeSmartByteShort") @@ -331,7 +331,7 @@ public class Buffer extends Node { @ObfuscatedName("bx") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "18" ) @Export("writeVarInt") @@ -357,7 +357,7 @@ public class Buffer extends Node { @ObfuscatedName("br") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "124" ) @Export("readUnsignedByte") @@ -367,7 +367,7 @@ public class Buffer extends Node { @ObfuscatedName("bs") @ObfuscatedSignature( - signature = "(B)B", + descriptor = "(B)B", garbageValue = "81" ) @Export("readByte") @@ -377,7 +377,7 @@ public class Buffer extends Node { @ObfuscatedName("by") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "471084162" ) @Export("readUnsignedShort") @@ -388,7 +388,7 @@ public class Buffer extends Node { @ObfuscatedName("bj") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "87414619" ) @Export("readShort") @@ -404,7 +404,7 @@ public class Buffer extends Node { @ObfuscatedName("bt") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "1982311791" ) @Export("readMedium") @@ -415,7 +415,7 @@ public class Buffer extends Node { @ObfuscatedName("cc") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "94863796" ) @Export("readInt") @@ -426,7 +426,7 @@ public class Buffer extends Node { @ObfuscatedName("cb") @ObfuscatedSignature( - signature = "(I)J", + descriptor = "(I)J", garbageValue = "-497792504" ) @Export("readLong") @@ -438,7 +438,7 @@ public class Buffer extends Node { @ObfuscatedName("ch") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "364318278" ) @Export("readBoolean") @@ -448,7 +448,7 @@ public class Buffer extends Node { @ObfuscatedName("cw") @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", + descriptor = "(I)Ljava/lang/String;", garbageValue = "1669124168" ) @Export("readStringCp1252NullTerminatedOrNull") @@ -463,7 +463,7 @@ public class Buffer extends Node { @ObfuscatedName("cz") @ObfuscatedSignature( - signature = "(B)Ljava/lang/String;", + descriptor = "(B)Ljava/lang/String;", garbageValue = "60" ) @Export("readStringCp1252NullTerminated") @@ -479,7 +479,7 @@ public class Buffer extends Node { @ObfuscatedName("cg") @ObfuscatedSignature( - signature = "(B)Ljava/lang/String;", + descriptor = "(B)Ljava/lang/String;", garbageValue = "-10" ) @Export("readStringCp1252NullCircumfixed") @@ -500,7 +500,7 @@ public class Buffer extends Node { @ObfuscatedName("cn") @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", + descriptor = "(I)Ljava/lang/String;", garbageValue = "-1123161230" ) @Export("readCESU8") @@ -522,7 +522,7 @@ public class Buffer extends Node { @ObfuscatedName("ce") @ObfuscatedSignature( - signature = "([BIII)V", + descriptor = "([BIII)V", garbageValue = "2094233778" ) @Export("readBytes") @@ -535,7 +535,7 @@ public class Buffer extends Node { @ObfuscatedName("cj") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "1710018513" ) @Export("readShortSmart") @@ -546,7 +546,7 @@ public class Buffer extends Node { @ObfuscatedName("ck") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "-96" ) @Export("readUShortSmart") @@ -557,7 +557,7 @@ public class Buffer extends Node { @ObfuscatedName("cv") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "715402244" ) public int method5732() { @@ -574,7 +574,7 @@ public class Buffer extends Node { @ObfuscatedName("cp") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "81140995" ) public int method5733() { @@ -583,7 +583,7 @@ public class Buffer extends Node { @ObfuscatedName("ci") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "11" ) public int method5843() { @@ -597,7 +597,7 @@ public class Buffer extends Node { @ObfuscatedName("cu") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "841550272" ) @Export("readVarInt") @@ -614,7 +614,7 @@ public class Buffer extends Node { @ObfuscatedName("cq") @ObfuscatedSignature( - signature = "([II)V", + descriptor = "([II)V", garbageValue = "-1857698855" ) @Export("xteaEncryptAll") @@ -642,7 +642,7 @@ public class Buffer extends Node { @ObfuscatedName("co") @ObfuscatedSignature( - signature = "([II)V", + descriptor = "([II)V", garbageValue = "-1432585027" ) @Export("xteaDecryptAll") @@ -670,7 +670,7 @@ public class Buffer extends Node { @ObfuscatedName("ca") @ObfuscatedSignature( - signature = "([IIII)V", + descriptor = "([IIII)V", garbageValue = "-230257638" ) @Export("xteaEncrypt") @@ -700,7 +700,7 @@ public class Buffer extends Node { @ObfuscatedName("cm") @ObfuscatedSignature( - signature = "([IIII)V", + descriptor = "([IIII)V", garbageValue = "1537225216" ) @Export("xteaDecrypt") @@ -730,7 +730,7 @@ public class Buffer extends Node { @ObfuscatedName("cf") @ObfuscatedSignature( - signature = "(Ljava/math/BigInteger;Ljava/math/BigInteger;I)V", + descriptor = "(Ljava/math/BigInteger;Ljava/math/BigInteger;I)V", garbageValue = "-859977936" ) @Export("encryptRsa") @@ -749,7 +749,7 @@ public class Buffer extends Node { @ObfuscatedName("ct") @ObfuscatedSignature( - signature = "(II)I", + descriptor = "(II)I", garbageValue = "-693896153" ) @Export("writeCrc") @@ -761,7 +761,7 @@ public class Buffer extends Node { @ObfuscatedName("cd") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "1948165259" ) @Export("checkCrc") @@ -774,7 +774,7 @@ public class Buffer extends Node { @ObfuscatedName("cy") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "2052645276" ) @Export("writeIntME") @@ -784,7 +784,7 @@ public class Buffer extends Node { @ObfuscatedName("cx") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "0" ) public void method5744(int var1) { @@ -793,7 +793,7 @@ public class Buffer extends Node { @ObfuscatedName("cs") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-394267159" ) public void method5837(int var1) { @@ -802,7 +802,7 @@ public class Buffer extends Node { @ObfuscatedName("cr") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "851416829" ) public int method5746() { @@ -811,7 +811,7 @@ public class Buffer extends Node { @ObfuscatedName("cl") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "2135245803" ) public int method5936() { @@ -820,7 +820,7 @@ public class Buffer extends Node { @ObfuscatedName("dx") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1231018339" ) public int method5748() { @@ -829,7 +829,7 @@ public class Buffer extends Node { @ObfuscatedName("dw") @ObfuscatedSignature( - signature = "(I)B", + descriptor = "(I)B", garbageValue = "-209851904" ) public byte method5730() { @@ -838,7 +838,7 @@ public class Buffer extends Node { @ObfuscatedName("dm") @ObfuscatedSignature( - signature = "(I)B", + descriptor = "(I)B", garbageValue = "1146670320" ) public byte method5750() { @@ -847,7 +847,7 @@ public class Buffer extends Node { @ObfuscatedName("dd") @ObfuscatedSignature( - signature = "(I)B", + descriptor = "(I)B", garbageValue = "-658631883" ) public byte method5751() { @@ -856,7 +856,7 @@ public class Buffer extends Node { @ObfuscatedName("dh") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "118" ) public void method5752(int var1) { @@ -866,7 +866,7 @@ public class Buffer extends Node { @ObfuscatedName("dl") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-327298658" ) public void method5753(int var1) { @@ -876,7 +876,7 @@ public class Buffer extends Node { @ObfuscatedName("dr") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "137731710" ) public void method5898(int var1) { @@ -886,7 +886,7 @@ public class Buffer extends Node { @ObfuscatedName("di") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1619364591" ) public int method5755() { @@ -896,7 +896,7 @@ public class Buffer extends Node { @ObfuscatedName("dp") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "-31" ) public int method5867() { @@ -906,7 +906,7 @@ public class Buffer extends Node { @ObfuscatedName("dc") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "713390854" ) public int method5757() { @@ -916,7 +916,7 @@ public class Buffer extends Node { @ObfuscatedName("dt") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "1572434954" ) public int method5758() { @@ -931,7 +931,7 @@ public class Buffer extends Node { @ObfuscatedName("ds") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "89596822" ) public int method5759() { @@ -946,7 +946,7 @@ public class Buffer extends Node { @ObfuscatedName("dg") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "95" ) public void method5798(int var1) { @@ -957,7 +957,7 @@ public class Buffer extends Node { @ObfuscatedName("do") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "1" ) public int method5761() { @@ -967,7 +967,7 @@ public class Buffer extends Node { @ObfuscatedName("dn") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-68115848" ) public void method5762(int var1) { @@ -979,7 +979,7 @@ public class Buffer extends Node { @ObfuscatedName("db") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "-95" ) @Export("writeShortLE") @@ -992,7 +992,7 @@ public class Buffer extends Node { @ObfuscatedName("de") @ObfuscatedSignature( - signature = "(IS)V", + descriptor = "(IS)V", garbageValue = "-18106" ) public void method5764(int var1) { @@ -1004,7 +1004,7 @@ public class Buffer extends Node { @ObfuscatedName("dv") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "1451471311" ) public int method5765() { @@ -1014,7 +1014,7 @@ public class Buffer extends Node { @ObfuscatedName("dk") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-684888758" ) public int method5766() { @@ -1024,7 +1024,7 @@ public class Buffer extends Node { @ObfuscatedName("da") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-2146396815" ) public int method5767() { @@ -1034,7 +1034,7 @@ public class Buffer extends Node { @ObfuscatedName("df") @ObfuscatedSignature( - signature = "([BIII)V", + descriptor = "([BIII)V", garbageValue = "-2049590377" ) public void method5821(byte[] var1, int var2, int var3) { @@ -1046,7 +1046,7 @@ public class Buffer extends Node { @ObfuscatedName("jx") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-801005893" ) static void method5950() { diff --git a/runescape-client/src/main/java/BufferedFile.java b/runescape-client/src/main/java/BufferedFile.java index 9eccb5f737..5850db04c2 100644 --- a/runescape-client/src/main/java/BufferedFile.java +++ b/runescape-client/src/main/java/BufferedFile.java @@ -11,7 +11,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class BufferedFile { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lmy;" + descriptor = "Lmy;" ) @Export("accessFile") AccessFile accessFile; @@ -71,7 +71,7 @@ public class BufferedFile { long fileOffset; @ObfuscatedSignature( - signature = "(Lmy;II)V" + descriptor = "(Lmy;II)V" ) public BufferedFile(AccessFile var1, int var2, int var3) throws IOException { this.readBufferOffset = -1L; @@ -86,7 +86,7 @@ public class BufferedFile { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "159388731" ) @Export("close") @@ -107,7 +107,7 @@ public class BufferedFile { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)J", + descriptor = "(I)J", garbageValue = "243378114" ) @Export("length") @@ -117,7 +117,7 @@ public class BufferedFile { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "([BI)V", + descriptor = "([BI)V", garbageValue = "1810550632" ) @Export("readFully") @@ -127,7 +127,7 @@ public class BufferedFile { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "([BIIB)V", + descriptor = "([BIIB)V", garbageValue = "-4" ) @Export("read") @@ -233,7 +233,7 @@ public class BufferedFile { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1659142795" ) @Export("load") @@ -263,7 +263,7 @@ public class BufferedFile { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "([BIII)V", + descriptor = "([BIII)V", garbageValue = "1917244707" ) @Export("write") @@ -341,7 +341,7 @@ public class BufferedFile { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1996252506" ) @Export("flush") diff --git a/runescape-client/src/main/java/BufferedNetSocket.java b/runescape-client/src/main/java/BufferedNetSocket.java index 113e699c8d..2f9629c278 100644 --- a/runescape-client/src/main/java/BufferedNetSocket.java +++ b/runescape-client/src/main/java/BufferedNetSocket.java @@ -13,13 +13,13 @@ public class BufferedNetSocket extends AbstractSocket { Socket socket; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lli;" + descriptor = "Lli;" ) @Export("source") BufferedSource source; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Llu;" + descriptor = "Llu;" ) @Export("sink") BufferedSink sink; @@ -36,7 +36,7 @@ public class BufferedNetSocket extends AbstractSocket { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-768493590" ) @Export("close") @@ -53,7 +53,7 @@ public class BufferedNetSocket extends AbstractSocket { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "-8" ) @Export("readUnsignedByte") @@ -63,7 +63,7 @@ public class BufferedNetSocket extends AbstractSocket { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1942767880" ) @Export("available") @@ -73,7 +73,7 @@ public class BufferedNetSocket extends AbstractSocket { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(II)Z", + descriptor = "(II)Z", garbageValue = "1355091335" ) @Export("isAvailable") @@ -83,7 +83,7 @@ public class BufferedNetSocket extends AbstractSocket { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "([BIIB)I", + descriptor = "([BIIB)I", garbageValue = "37" ) @Export("read") @@ -93,7 +93,7 @@ public class BufferedNetSocket extends AbstractSocket { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "([BIIB)V", + descriptor = "([BIIB)V", garbageValue = "-105" ) @Export("write") diff --git a/runescape-client/src/main/java/BufferedSink.java b/runescape-client/src/main/java/BufferedSink.java index 582c2ae507..fbe83c5a76 100644 --- a/runescape-client/src/main/java/BufferedSink.java +++ b/runescape-client/src/main/java/BufferedSink.java @@ -56,7 +56,7 @@ public class BufferedSink implements Runnable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(B)Z", + descriptor = "(B)Z", garbageValue = "49" ) @Export("isClosed") @@ -81,7 +81,7 @@ public class BufferedSink implements Runnable { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "([BIII)V", + descriptor = "([BIII)V", garbageValue = "2083374722" ) @Export("write") @@ -121,7 +121,7 @@ public class BufferedSink implements Runnable { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(S)V", + descriptor = "(S)V", garbageValue = "7072" ) @Export("close") diff --git a/runescape-client/src/main/java/BufferedSource.java b/runescape-client/src/main/java/BufferedSource.java index d90d218193..66eca3943d 100644 --- a/runescape-client/src/main/java/BufferedSource.java +++ b/runescape-client/src/main/java/BufferedSource.java @@ -54,7 +54,7 @@ public class BufferedSource implements Runnable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(II)Z", + descriptor = "(II)Z", garbageValue = "733897471" ) @Export("isAvailable") @@ -88,7 +88,7 @@ public class BufferedSource implements Runnable { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "122" ) @Export("available") @@ -112,7 +112,7 @@ public class BufferedSource implements Runnable { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "400008412" ) @Export("readUnsignedByte") @@ -135,7 +135,7 @@ public class BufferedSource implements Runnable { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "([BIIB)I", + descriptor = "([BIIB)I", garbageValue = "24" ) @Export("read") @@ -176,7 +176,7 @@ public class BufferedSource implements Runnable { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-1" ) @Export("close") diff --git a/runescape-client/src/main/java/ByteArrayPool.java b/runescape-client/src/main/java/ByteArrayPool.java index 395114295b..a96e19dc28 100644 --- a/runescape-client/src/main/java/ByteArrayPool.java +++ b/runescape-client/src/main/java/ByteArrayPool.java @@ -47,7 +47,7 @@ public class ByteArrayPool { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IZI)[B", + descriptor = "(IZI)[B", garbageValue = "1801183295" ) @Export("ByteArrayPool_getArrayBool") @@ -98,7 +98,7 @@ public class ByteArrayPool { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)Ljava/lang/Class;", + descriptor = "(Ljava/lang/String;B)Ljava/lang/Class;", garbageValue = "28" ) @Export("loadClassFromDescriptor") diff --git a/runescape-client/src/main/java/Canvas.java b/runescape-client/src/main/java/Canvas.java index 698700a41f..ddac007925 100644 --- a/runescape-client/src/main/java/Canvas.java +++ b/runescape-client/src/main/java/Canvas.java @@ -33,7 +33,7 @@ public final class Canvas extends java.awt.Canvas { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(II)Ljg;", + descriptor = "(II)Ljg;", garbageValue = "83996779" ) @Export("getObjectDefinition") @@ -62,7 +62,7 @@ public final class Canvas extends java.awt.Canvas { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", + descriptor = "(Ljava/lang/String;I)V", garbageValue = "1398023724" ) static final void method927(String var0) { @@ -74,7 +74,7 @@ public final class Canvas extends java.awt.Canvas { @ObfuscatedName("ga") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "411559133" ) static void method925() { @@ -86,7 +86,7 @@ public final class Canvas extends java.awt.Canvas { @ObfuscatedName("is") @ObfuscatedSignature( - signature = "(III)Ljava/lang/String;", + descriptor = "(III)Ljava/lang/String;", garbageValue = "-266618010" ) static final String method924(int var0, int var1) { @@ -112,7 +112,7 @@ public final class Canvas extends java.awt.Canvas { @ObfuscatedName("iw") @ObfuscatedSignature( - signature = "(Lhd;II)I", + descriptor = "(Lhd;II)I", garbageValue = "623604092" ) static final int method923(Widget var0, int var1) { @@ -275,7 +275,7 @@ public final class Canvas extends java.awt.Canvas { @ObfuscatedName("kx") @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)V", + descriptor = "(Ljava/lang/String;B)V", garbageValue = "-83" ) @Export("Clan_joinChat") diff --git a/runescape-client/src/main/java/ChatChannel.java b/runescape-client/src/main/java/ChatChannel.java index bd591e5d16..283c3fc8b1 100644 --- a/runescape-client/src/main/java/ChatChannel.java +++ b/runescape-client/src/main/java/ChatChannel.java @@ -13,7 +13,7 @@ public class ChatChannel { static SecureRandom secureRandom; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "[Lbr;" + descriptor = "[Lbr;" ) @Export("messages") Message[] messages; @@ -30,7 +30,7 @@ public class ChatChannel { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;B)Lbr;", + descriptor = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;B)Lbr;", garbageValue = "-1" ) @Export("addMessage") @@ -61,7 +61,7 @@ public class ChatChannel { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(II)Lbr;", + descriptor = "(II)Lbr;", garbageValue = "-317582349" ) @Export("getMessage") @@ -71,7 +71,7 @@ public class ChatChannel { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1472365930" ) @Export("size") diff --git a/runescape-client/src/main/java/ClanChat.java b/runescape-client/src/main/java/ClanChat.java index 6279996d33..c5ecdf1098 100644 --- a/runescape-client/src/main/java/ClanChat.java +++ b/runescape-client/src/main/java/ClanChat.java @@ -11,13 +11,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class ClanChat extends UserList { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lmo;" + descriptor = "Lmo;" ) @Export("loginType") final LoginType loginType; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lkp;" + descriptor = "Lkp;" ) @Export("localUser") final Usernamed localUser; @@ -43,7 +43,7 @@ public class ClanChat extends UserList { int field3663; @ObfuscatedSignature( - signature = "(Lmo;Lkp;)V" + descriptor = "(Lmo;Lkp;)V" ) public ClanChat(LoginType var1, Usernamed var2) { super(100); @@ -56,7 +56,7 @@ public class ClanChat extends UserList { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)Ljf;", + descriptor = "(I)Ljf;", garbageValue = "551595115" ) @Export("newInstance") @@ -66,7 +66,7 @@ public class ClanChat extends UserList { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(II)[Ljf;", + descriptor = "(II)[Ljf;", garbageValue = "1959965595" ) @Export("newTypedArray") @@ -76,7 +76,7 @@ public class ClanChat extends UserList { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)V", + descriptor = "(Ljava/lang/String;B)V", garbageValue = "-85" ) @Export("readName") @@ -114,7 +114,7 @@ public class ClanChat extends UserList { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", + descriptor = "(Ljava/lang/String;I)V", garbageValue = "-1810188467" ) @Export("setOwner") @@ -152,7 +152,7 @@ public class ClanChat extends UserList { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "585042716" ) @Export("readUpdate") @@ -179,7 +179,7 @@ public class ClanChat extends UserList { @ObfuscatedName("ci") @ObfuscatedSignature( - signature = "(Lkn;B)V", + descriptor = "(Lkn;B)V", garbageValue = "-100" ) public final void method5421(Buffer var1) { @@ -221,7 +221,7 @@ public class ClanChat extends UserList { @ObfuscatedName("cu") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-117" ) @Export("clearFriends") @@ -234,7 +234,7 @@ public class ClanChat extends UserList { @ObfuscatedName("cq") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-23" ) @Export("invalidateIgnoreds") @@ -247,7 +247,7 @@ public class ClanChat extends UserList { @ObfuscatedName("co") @ObfuscatedSignature( - signature = "(Lji;I)V", + descriptor = "(Lji;I)V", garbageValue = "244481619" ) @Export("isLocalPlayer") @@ -260,7 +260,7 @@ public class ClanChat extends UserList { @ObfuscatedName("ag") @ObfuscatedSignature( - signature = "(Ljava/net/Socket;III)Llj;", + descriptor = "(Ljava/net/Socket;III)Llj;", garbageValue = "-1116942702" ) public static AbstractSocket method5441(Socket var0, int var1, int var2) throws IOException { @@ -269,7 +269,7 @@ public class ClanChat extends UserList { @ObfuscatedName("el") @ObfuscatedSignature( - signature = "(B)Lma;", + descriptor = "(B)Lma;", garbageValue = "-90" ) @Export("getWorldMap") diff --git a/runescape-client/src/main/java/ClanMate.java b/runescape-client/src/main/java/ClanMate.java index dd79fe50a5..afc989fd28 100644 --- a/runescape-client/src/main/java/ClanMate.java +++ b/runescape-client/src/main/java/ClanMate.java @@ -11,13 +11,13 @@ public class ClanMate extends Buddy { static String otp; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lkf;" + descriptor = "Lkf;" ) @Export("friend") TriBool friend; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lkf;" + descriptor = "Lkf;" ) @Export("ignored") TriBool ignored; @@ -29,7 +29,7 @@ public class ClanMate extends Buddy { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "55" ) @Export("clearIsFriend") @@ -39,7 +39,7 @@ public class ClanMate extends Buddy { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "1504738052" ) @Export("isFriend") @@ -53,7 +53,7 @@ public class ClanMate extends Buddy { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-2080180390" ) @Export("fillIsFriend") @@ -63,7 +63,7 @@ public class ClanMate extends Buddy { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "0" ) @Export("clearIsIgnored") @@ -73,7 +73,7 @@ public class ClanMate extends Buddy { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(B)Z", + descriptor = "(B)Z", garbageValue = "10" ) @Export("isIgnored") @@ -87,7 +87,7 @@ public class ClanMate extends Buddy { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1156765322" ) @Export("fillIsIgnored") diff --git a/runescape-client/src/main/java/Client.java b/runescape-client/src/main/java/Client.java index 0f8d2ba45c..a6aae0b34e 100644 --- a/runescape-client/src/main/java/Client.java +++ b/runescape-client/src/main/java/Client.java @@ -16,7 +16,7 @@ import netscape.javascript.JSObject; public final class Client extends GameShell implements Usernamed { @ObfuscatedName("na") @ObfuscatedSignature( - signature = "Lhd;" + descriptor = "Lhd;" ) @Export("clickedWidget") static Widget clickedWidget; @@ -86,13 +86,13 @@ public final class Client extends GameShell implements Usernamed { static int field852; @ObfuscatedName("ng") @ObfuscatedSignature( - signature = "Lhd;" + descriptor = "Lhd;" ) @Export("clickedWidgetParent") static Widget clickedWidgetParent; @ObfuscatedName("oi") @ObfuscatedSignature( - signature = "Lle;" + descriptor = "Lle;" ) @Export("widgetClickMasks") static NodeHashTable widgetClickMasks; @@ -103,7 +103,7 @@ public final class Client extends GameShell implements Usernamed { static int field853; @ObfuscatedName("nk") @ObfuscatedSignature( - signature = "Lhd;" + descriptor = "Lhd;" ) @Export("viewportWidget") static Widget viewportWidget; @@ -137,7 +137,7 @@ public final class Client extends GameShell implements Usernamed { static int field855; @ObfuscatedName("tt") @ObfuscatedSignature( - signature = "Lbs;" + descriptor = "Lbs;" ) static final ApproximateRouteStrategy field905; @ObfuscatedName("nv") @@ -150,7 +150,7 @@ public final class Client extends GameShell implements Usernamed { static int[] rootWidgetYs; @ObfuscatedName("ow") @ObfuscatedSignature( - signature = "Ljp;" + descriptor = "Ljp;" ) @Export("scriptEvents") static NodeDeque scriptEvents; @@ -219,7 +219,7 @@ public final class Client extends GameShell implements Usernamed { static int field870; @ObfuscatedName("ni") @ObfuscatedSignature( - signature = "Lhd;" + descriptor = "Lhd;" ) @Export("draggedOnWidget") static Widget draggedOnWidget; @@ -235,7 +235,7 @@ public final class Client extends GameShell implements Usernamed { static ArrayList archiveLoaders; @ObfuscatedName("sk") @ObfuscatedSignature( - signature = "Lhv;" + descriptor = "Lhv;" ) @Export("playerAppearance") static PlayerAppearance playerAppearance; @@ -283,7 +283,7 @@ public final class Client extends GameShell implements Usernamed { static int destinationX; @ObfuscatedName("sd") @ObfuscatedSignature( - signature = "[Ld;" + descriptor = "[Ld;" ) @Export("grandExchangeOffers") static GrandExchangeOffer[] grandExchangeOffers; @@ -309,7 +309,7 @@ public final class Client extends GameShell implements Usernamed { static int[] changedItemContainers; @ObfuscatedName("sf") @ObfuscatedSignature( - signature = "Lmk;" + descriptor = "Lmk;" ) @Export("platformInfoProvider") static PlatformInfoProvider platformInfoProvider; @@ -320,7 +320,7 @@ public final class Client extends GameShell implements Usernamed { static int field878; @ObfuscatedName("mq") @ObfuscatedSignature( - signature = "Lhd;" + descriptor = "Lhd;" ) @Export("meslayerContinueWidget") static Widget meslayerContinueWidget; @@ -376,7 +376,7 @@ public final class Client extends GameShell implements Usernamed { static short field685; @ObfuscatedName("qm") @ObfuscatedSignature( - signature = "[Ldr;" + descriptor = "[Ldr;" ) @Export("soundEffects") static SoundEffect[] soundEffects; @@ -433,7 +433,7 @@ public final class Client extends GameShell implements Usernamed { static int viewportOffsetX; @ObfuscatedName("pw") @ObfuscatedSignature( - signature = "[Llz;" + descriptor = "[Llz;" ) @Export("mapIcons") static Sprite[] mapIcons; @@ -486,12 +486,12 @@ public final class Client extends GameShell implements Usernamed { static boolean playerMod; @ObfuscatedName("oj") @ObfuscatedSignature( - signature = "Ljp;" + descriptor = "Ljp;" ) static NodeDeque field891; @ObfuscatedName("ot") @ObfuscatedSignature( - signature = "Ljp;" + descriptor = "Ljp;" ) static NodeDeque field691; @ObfuscatedName("or") @@ -515,13 +515,13 @@ public final class Client extends GameShell implements Usernamed { static String field755; @ObfuscatedName("sx") @ObfuscatedSignature( - signature = "Lbj;" + descriptor = "Lbj;" ) @Export("GrandExchangeEvents_worldComparator") static GrandExchangeOfferOwnWorldComparator GrandExchangeEvents_worldComparator; @ObfuscatedName("w") @ObfuscatedSignature( - signature = "[Lfz;" + descriptor = "[Lfz;" ) @Export("collisionMaps") static CollisionMap[] collisionMaps; @@ -660,13 +660,13 @@ public final class Client extends GameShell implements Usernamed { static int hintArrowSubY; @ObfuscatedName("dm") @ObfuscatedSignature( - signature = "Lco;" + descriptor = "Lco;" ) @Export("playerAttackOption") static AttackOption playerAttackOption; @ObfuscatedName("dd") @ObfuscatedSignature( - signature = "Lco;" + descriptor = "Lco;" ) @Export("npcAttackOption") static AttackOption npcAttackOption; @@ -678,7 +678,7 @@ public final class Client extends GameShell implements Usernamed { static int titleLoadingStage; @ObfuscatedName("dr") @ObfuscatedSignature( - signature = "Lfa;" + descriptor = "Lfa;" ) @Export("js5SocketTask") static Task js5SocketTask; @@ -722,7 +722,7 @@ public final class Client extends GameShell implements Usernamed { static int field675; @ObfuscatedName("er") @ObfuscatedSignature( - signature = "Lfg;" + descriptor = "Lfg;" ) static class169 field708; @ObfuscatedName("el") @@ -736,7 +736,7 @@ public final class Client extends GameShell implements Usernamed { static boolean Login_isUsernameRemembered; @ObfuscatedName("ev") @ObfuscatedSignature( - signature = "Lct;" + descriptor = "Lct;" ) @Export("secureRandomFuture") static SecureRandomFuture secureRandomFuture; @@ -745,7 +745,7 @@ public final class Client extends GameShell implements Usernamed { static byte[] randomDatData; @ObfuscatedName("fc") @ObfuscatedSignature( - signature = "[Lcv;" + descriptor = "[Lcv;" ) @Export("npcs") static NPC[] npcs; @@ -767,7 +767,7 @@ public final class Client extends GameShell implements Usernamed { static int[] field719; @ObfuscatedName("fn") @ObfuscatedSignature( - signature = "Ldx;" + descriptor = "Ldx;" ) @Export("packetWriter") public static final PacketWriter packetWriter; @@ -784,7 +784,7 @@ public final class Client extends GameShell implements Usernamed { static boolean useBufferedSocket; @ObfuscatedName("fs") @ObfuscatedSignature( - signature = "Ljy;" + descriptor = "Ljy;" ) @Export("timer") static Timer timer; @@ -1090,7 +1090,7 @@ public final class Client extends GameShell implements Usernamed { static boolean showLoadingMessages; @ObfuscatedName("ku") @ObfuscatedSignature( - signature = "[Lby;" + descriptor = "[Lby;" ) @Export("players") static Player[] players; @@ -1141,25 +1141,25 @@ public final class Client extends GameShell implements Usernamed { static int combatTargetPlayerIndex; @ObfuscatedName("ka") @ObfuscatedSignature( - signature = "[[[Ljp;" + descriptor = "[[[Ljp;" ) @Export("groundItems") static NodeDeque[][][] groundItems; @ObfuscatedName("kg") @ObfuscatedSignature( - signature = "Ljp;" + descriptor = "Ljp;" ) @Export("pendingSpawns") static NodeDeque pendingSpawns; @ObfuscatedName("ky") @ObfuscatedSignature( - signature = "Ljp;" + descriptor = "Ljp;" ) @Export("projectiles") static NodeDeque projectiles; @ObfuscatedName("kb") @ObfuscatedSignature( - signature = "Ljp;" + descriptor = "Ljp;" ) @Export("graphicsObjects") static NodeDeque graphicsObjects; @@ -1276,18 +1276,18 @@ public final class Client extends GameShell implements Usernamed { static int rootInterface; @ObfuscatedName("md") @ObfuscatedSignature( - signature = "Lle;" + descriptor = "Lle;" ) @Export("interfaceParents") static NodeHashTable interfaceParents; @ObfuscatedName("ec") @ObfuscatedSignature( - signature = "Lkn;" + descriptor = "Lkn;" ) Buffer field929; @ObfuscatedName("ee") @ObfuscatedSignature( - signature = "Lz;" + descriptor = "Lz;" ) class9 field851; @@ -1570,7 +1570,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1805213007" ) @Export("resizeGame") @@ -1585,7 +1585,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("ag") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "108465933" ) @Export("setUp") @@ -1642,7 +1642,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("ab") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "202919973" ) @Export("doCycle") @@ -1741,7 +1741,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("am") @ObfuscatedSignature( - signature = "(ZS)V", + descriptor = "(ZS)V", garbageValue = "255" ) @Export("draw") @@ -1856,7 +1856,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("ak") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1432958229" ) @Export("kill0") @@ -1894,7 +1894,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("av") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-453140820" ) protected final void vmethod1570() { @@ -2010,7 +2010,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("eg") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-61" ) @Export("doCycleJs5") @@ -2241,7 +2241,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("ey") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "20" ) @Export("doCycleJs5Connect") @@ -2383,7 +2383,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("ew") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "35" ) @Export("js5Error") @@ -2421,7 +2421,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("ee") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "599725078" ) @Export("doCycleLoggedOut") @@ -3064,7 +3064,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("ft") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-873982601" ) @Export("doCycleLoggedIn") @@ -3852,7 +3852,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("fl") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1501968527" ) @Export("resizeJS") @@ -3880,7 +3880,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("fb") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1953660969" ) @Export("drawLoggedIn") @@ -3973,7 +3973,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("gt") @ObfuscatedSignature( - signature = "(Ldx;B)Z", + descriptor = "(Ldx;B)Z", garbageValue = "-15" ) final boolean method1768(PacketWriter var1) { @@ -5347,7 +5347,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("hr") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-302072154" ) @Export("menu") @@ -5494,7 +5494,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("hh") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "-1243315480" ) @Export("shouldLeftClickOpenMenu") @@ -5505,7 +5505,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("ht") @ObfuscatedSignature( - signature = "(IIB)V", + descriptor = "(IIB)V", garbageValue = "4" ) @Export("openMenu") @@ -5517,7 +5517,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("ip") @ObfuscatedSignature( - signature = "(ZI)V", + descriptor = "(ZI)V", garbageValue = "-558702165" ) @Export("resizeRoot") @@ -5533,7 +5533,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("ig") @ObfuscatedSignature( - signature = "(Lhd;I)V", + descriptor = "(Lhd;I)V", garbageValue = "-985582804" ) @Export("alignWidget") @@ -5555,7 +5555,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("jz") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1745197570" ) final void method1372() { @@ -5642,7 +5642,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("kr") @ObfuscatedSignature( - signature = "(B)Lkq;", + descriptor = "(B)Lkq;", garbageValue = "-76" ) @Export("username") @@ -5652,7 +5652,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(II)Lih;", + descriptor = "(II)Lih;", garbageValue = "1222368622" ) @Export("WorldMapElement_get") @@ -5662,7 +5662,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Ljava/io/File;Ljava/io/File;I)V", + descriptor = "(Ljava/io/File;Ljava/io/File;I)V", garbageValue = "1015952997" ) static void method1803(File var0, File var1) { @@ -5686,7 +5686,7 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(Lbn;B)V", + descriptor = "(Lbn;B)V", garbageValue = "2" ) static void method1522(GameShell var0) { diff --git a/runescape-client/src/main/java/ClientPacket.java b/runescape-client/src/main/java/ClientPacket.java index 91b5fbc4a6..07a6b02a39 100644 --- a/runescape-client/src/main/java/ClientPacket.java +++ b/runescape-client/src/main/java/ClientPacket.java @@ -9,512 +9,512 @@ import net.runelite.mapping.ObfuscatedSignature; public class ClientPacket implements class190 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2270; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2242; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2243; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2244; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2250; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2298; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2247; @ObfuscatedName("u") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2248; @ObfuscatedName("a") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2249; @ObfuscatedName("z") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2257; @ObfuscatedName("w") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2251; @ObfuscatedName("y") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2252; @ObfuscatedName("c") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2273; @ObfuscatedName("h") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2254; @ObfuscatedName("k") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2292; @ObfuscatedName("r") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2256; @ObfuscatedName("s") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2253; @ObfuscatedName("v") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2258; @ObfuscatedName("d") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2259; @ObfuscatedName("e") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2260; @ObfuscatedName("l") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2291; @ObfuscatedName("t") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2261; @ObfuscatedName("x") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2263; @ObfuscatedName("b") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2264; @ObfuscatedName("i") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2265; @ObfuscatedName("f") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2283; @ObfuscatedName("ah") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2267; @ObfuscatedName("ai") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2268; @ObfuscatedName("ao") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2269; @ObfuscatedName("ae") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2262; @ObfuscatedName("ax") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2340; @ObfuscatedName("ag") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2255; @ObfuscatedName("ab") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2241; @ObfuscatedName("am") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2274; @ObfuscatedName("ak") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2275; @ObfuscatedName("ad") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2290; @ObfuscatedName("as") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2344; @ObfuscatedName("ar") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2278; @ObfuscatedName("ap") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2295; @ObfuscatedName("al") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2280; @ObfuscatedName("an") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2281; @ObfuscatedName("ac") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2282; @ObfuscatedName("av") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2296; @ObfuscatedName("af") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2284; @ObfuscatedName("at") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2285; @ObfuscatedName("aa") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2286; @ObfuscatedName("aw") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2279; @ObfuscatedName("az") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) static final ClientPacket field2321; @ObfuscatedName("aq") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2289; @ObfuscatedName("ay") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2277; @ObfuscatedName("au") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2329; @ObfuscatedName("aj") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2287; @ObfuscatedName("bk") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2293; @ObfuscatedName("bh") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2294; @ObfuscatedName("bg") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2266; @ObfuscatedName("be") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2327; @ObfuscatedName("bf") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2297; @ObfuscatedName("ba") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2301; @ObfuscatedName("bd") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2299; @ObfuscatedName("bb") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2300; @ObfuscatedName("bw") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2276; @ObfuscatedName("bq") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2328; @ObfuscatedName("bn") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2303; @ObfuscatedName("bc") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2335; @ObfuscatedName("bo") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2305; @ObfuscatedName("bp") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2306; @ObfuscatedName("bm") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2311; @ObfuscatedName("bl") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2308; @ObfuscatedName("bv") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2309; @ObfuscatedName("bi") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2310; @ObfuscatedName("bz") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2288; @ObfuscatedName("bu") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2312; @ObfuscatedName("bx") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2313; @ObfuscatedName("br") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) static final ClientPacket field2314; @ObfuscatedName("bs") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2315; @ObfuscatedName("by") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2316; @ObfuscatedName("bj") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2245; @ObfuscatedName("bt") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2318; @ObfuscatedName("cc") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2337; @ObfuscatedName("cb") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2320; @ObfuscatedName("ch") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2304; @ObfuscatedName("cw") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2271; @ObfuscatedName("cz") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2323; @ObfuscatedName("cg") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2324; @ObfuscatedName("cn") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2325; @ObfuscatedName("ce") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2326; @ObfuscatedName("cj") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2319; @ObfuscatedName("ck") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2338; @ObfuscatedName("cv") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2307; @ObfuscatedName("cp") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2330; @ObfuscatedName("ci") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) static final ClientPacket field2331; @ObfuscatedName("cu") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2332; @ObfuscatedName("cq") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2333; @ObfuscatedName("co") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2334; @ObfuscatedName("ca") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2272; @ObfuscatedName("cm") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2336; @ObfuscatedName("cf") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2302; @ObfuscatedName("ct") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2317; @ObfuscatedName("cd") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2339; @ObfuscatedName("cy") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2322; @ObfuscatedName("cx") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) public static final ClientPacket field2341; @ObfuscatedName("eo") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive20") static Archive archive20; diff --git a/runescape-client/src/main/java/ClientPreferences.java b/runescape-client/src/main/java/ClientPreferences.java index 6b93edfb63..9c9b015200 100644 --- a/runescape-client/src/main/java/ClientPreferences.java +++ b/runescape-client/src/main/java/ClientPreferences.java @@ -12,7 +12,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class ClientPreferences { @ObfuscatedName("pv") @ObfuscatedSignature( - signature = "Lkk;" + descriptor = "Lkk;" ) @Export("clanChat") static ClanChat clanChat; @@ -24,7 +24,7 @@ public class ClientPreferences { static int ClientPreferences_optionCount; @ObfuscatedName("bp") @ObfuscatedSignature( - signature = "Llh;" + descriptor = "Llh;" ) @Export("worldSelectRightSprite") static IndexedSprite worldSelectRightSprite; @@ -63,7 +63,7 @@ public class ClientPreferences { } @ObfuscatedSignature( - signature = "(Lkn;)V" + descriptor = "(Lkn;)V" ) ClientPreferences(Buffer var1) { this.windowMode = 1; @@ -113,7 +113,7 @@ public class ClientPreferences { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(ZI)V", + descriptor = "(ZI)V", garbageValue = "-943142768" ) void method1911(boolean var1) { @@ -121,7 +121,7 @@ public class ClientPreferences { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(S)Lkn;", + descriptor = "(S)Lkn;", garbageValue = "128" ) @Export("toBuffer") @@ -147,7 +147,7 @@ public class ClientPreferences { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(IIB)I", + descriptor = "(IIB)I", garbageValue = "116" ) static final int method1914(int var0, int var1) { @@ -159,7 +159,7 @@ public class ClientPreferences { @ObfuscatedName("ed") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "-82" ) @Export("updateGameState") diff --git a/runescape-client/src/main/java/Clock.java b/runescape-client/src/main/java/Clock.java index 2cffa887ad..57efb598ff 100644 --- a/runescape-client/src/main/java/Clock.java +++ b/runescape-client/src/main/java/Clock.java @@ -15,7 +15,7 @@ public abstract class Clock { static int field2092; @ObfuscatedName("c") @ObfuscatedSignature( - signature = "Ldo;" + descriptor = "Ldo;" ) @Export("soundCache") public static SoundCache soundCache; @@ -27,7 +27,7 @@ public abstract class Clock { static int clientTickTimeIdx; @ObfuscatedName("do") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive2") static Archive archive2; @@ -37,7 +37,7 @@ public abstract class Clock { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1017447827" ) @Export("mark") @@ -45,7 +45,7 @@ public abstract class Clock { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(III)I", + descriptor = "(III)I", garbageValue = "-1786752641" ) @Export("wait") @@ -53,7 +53,7 @@ public abstract class Clock { @ObfuscatedName("l") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "1957582234" ) static int method3641(int var0, Script var1, boolean var2) { diff --git a/runescape-client/src/main/java/CollisionMap.java b/runescape-client/src/main/java/CollisionMap.java index 131523f42c..94899cd015 100644 --- a/runescape-client/src/main/java/CollisionMap.java +++ b/runescape-client/src/main/java/CollisionMap.java @@ -9,13 +9,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class CollisionMap { @ObfuscatedName("r") @ObfuscatedSignature( - signature = "Lkn;" + descriptor = "Lkn;" ) @Export("NetCache_responseArchiveBuffer") public static Buffer NetCache_responseArchiveBuffer; @ObfuscatedName("gs") @ObfuscatedSignature( - signature = "[Llz;" + descriptor = "[Llz;" ) @Export("headIconPkSprites") static Sprite[] headIconPkSprites; @@ -58,7 +58,7 @@ public class CollisionMap { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "0" ) @Export("clear") @@ -77,7 +77,7 @@ public class CollisionMap { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IIIIZI)V", + descriptor = "(IIIIZI)V", garbageValue = "1939344506" ) public void method3680(int var1, int var2, int var3, int var4, boolean var5) { @@ -229,7 +229,7 @@ public class CollisionMap { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(IIIIZI)V", + descriptor = "(IIIIZI)V", garbageValue = "-2000199056" ) @Export("addGameObject") @@ -256,7 +256,7 @@ public class CollisionMap { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(IIB)V", + descriptor = "(IIB)V", garbageValue = "14" ) @Export("setBlockedByFloor") @@ -269,7 +269,7 @@ public class CollisionMap { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "1576549082" ) @Export("setBlockedByFloorDec") @@ -282,7 +282,7 @@ public class CollisionMap { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(IIII)V", + descriptor = "(IIII)V", garbageValue = "-1405991942" ) @Export("setFlag") @@ -293,7 +293,7 @@ public class CollisionMap { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(IIIIZI)V", + descriptor = "(IIIIZI)V", garbageValue = "2079202664" ) public void method3702(int var1, int var2, int var3, int var4, boolean var5) { @@ -445,7 +445,7 @@ public class CollisionMap { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(IIIIIZB)V", + descriptor = "(IIIIIZB)V", garbageValue = "-35" ) @Export("setFlagOffNonSquare") @@ -478,7 +478,7 @@ public class CollisionMap { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(IIII)V", + descriptor = "(IIII)V", garbageValue = "-299380257" ) @Export("setFlagOff") @@ -489,7 +489,7 @@ public class CollisionMap { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(IIB)V", + descriptor = "(IIB)V", garbageValue = "1" ) public void method3689(int var1, int var2) { @@ -501,7 +501,7 @@ public class CollisionMap { @ObfuscatedName("fd") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1042513280" ) static final void method3707() { diff --git a/runescape-client/src/main/java/Coord.java b/runescape-client/src/main/java/Coord.java index 019608e041..7b40242508 100644 --- a/runescape-client/src/main/java/Coord.java +++ b/runescape-client/src/main/java/Coord.java @@ -27,7 +27,7 @@ public class Coord { public int y; @ObfuscatedSignature( - signature = "(Lhg;)V" + descriptor = "(Lhg;)V" ) public Coord(Coord var1) { this.plane = var1.plane; @@ -54,7 +54,7 @@ public class Coord { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "57" ) @Export("packed") @@ -64,7 +64,7 @@ public class Coord { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lhg;I)Z", + descriptor = "(Lhg;I)Z", garbageValue = "1413568323" ) @Export("equalsCoord") @@ -80,7 +80,7 @@ public class Coord { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Ljava/lang/String;S)Ljava/lang/String;", + descriptor = "(Ljava/lang/String;S)Ljava/lang/String;", garbageValue = "-17265" ) @Export("toString") @@ -106,7 +106,7 @@ public class Coord { @ObfuscatedName("am") @ObfuscatedSignature( - signature = "([BB)[B", + descriptor = "([BB)[B", garbageValue = "113" ) @Export("decompressBytes") @@ -139,7 +139,7 @@ public class Coord { @ObfuscatedName("iy") @ObfuscatedSignature( - signature = "(Lhd;IIIIIIB)V", + descriptor = "(Lhd;IIIIIIB)V", garbageValue = "-69" ) static final void method4135(Widget var0, int var1, int var2, int var3, int var4, int var5, int var6) { diff --git a/runescape-client/src/main/java/Decimator.java b/runescape-client/src/main/java/Decimator.java index 92be3a278d..281dd5956f 100644 --- a/runescape-client/src/main/java/Decimator.java +++ b/runescape-client/src/main/java/Decimator.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class Decimator { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "[Llh;" + descriptor = "[Llh;" ) @Export("title_muteSprite") static IndexedSprite[] title_muteSprite; @@ -68,7 +68,7 @@ public class Decimator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "([BI)[B", + descriptor = "([BI)[B", garbageValue = "880157357" ) @Export("resample") @@ -114,7 +114,7 @@ public class Decimator { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IB)I", + descriptor = "(IB)I", garbageValue = "124" ) @Export("scaleRate") @@ -128,7 +128,7 @@ public class Decimator { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(IB)I", + descriptor = "(IB)I", garbageValue = "70" ) @Export("scalePosition") diff --git a/runescape-client/src/main/java/DefaultsGroup.java b/runescape-client/src/main/java/DefaultsGroup.java index aca31065ee..096710feed 100644 --- a/runescape-client/src/main/java/DefaultsGroup.java +++ b/runescape-client/src/main/java/DefaultsGroup.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class DefaultsGroup { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Llm;" + descriptor = "Llm;" ) static final DefaultsGroup field3822; @ObfuscatedName("o") diff --git a/runescape-client/src/main/java/DemotingHashTable.java b/runescape-client/src/main/java/DemotingHashTable.java index aaad5f63c6..f12bbeef79 100644 --- a/runescape-client/src/main/java/DemotingHashTable.java +++ b/runescape-client/src/main/java/DemotingHashTable.java @@ -14,19 +14,19 @@ public final class DemotingHashTable { int remaining; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Llf;" + descriptor = "Llf;" ) @Export("hashTable") IterableNodeHashTable hashTable; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Ljq;" + descriptor = "Ljq;" ) @Export("queue") IterableDualNodeQueue queue; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lee;" + descriptor = "Lee;" ) class155 field1987; @@ -82,7 +82,7 @@ public final class DemotingHashTable { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lfi;)V" + descriptor = "(Lfi;)V" ) @Export("removeWrapper") void removeWrapper(Wrapper var1) { diff --git a/runescape-client/src/main/java/DesktopPlatformInfoProvider.java b/runescape-client/src/main/java/DesktopPlatformInfoProvider.java index 8c6144c099..0813cdb07e 100644 --- a/runescape-client/src/main/java/DesktopPlatformInfoProvider.java +++ b/runescape-client/src/main/java/DesktopPlatformInfoProvider.java @@ -25,7 +25,7 @@ public class DesktopPlatformInfoProvider implements PlatformInfoProvider { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)Lmc;", + descriptor = "(I)Lmc;", garbageValue = "-1826697521" ) @Export("get") @@ -155,7 +155,7 @@ public class DesktopPlatformInfoProvider implements PlatformInfoProvider { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", + descriptor = "(Ljava/lang/String;I)V", garbageValue = "-1686875071" ) void method6495(String var1) { @@ -169,7 +169,7 @@ public class DesktopPlatformInfoProvider implements PlatformInfoProvider { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", + descriptor = "(Ljava/lang/String;I)V", garbageValue = "-1385366754" ) void method6484(String var1) { @@ -187,7 +187,7 @@ public class DesktopPlatformInfoProvider implements PlatformInfoProvider { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)V", + descriptor = "(Ljava/lang/String;B)V", garbageValue = "1" ) void method6485(String var1) { @@ -204,7 +204,7 @@ public class DesktopPlatformInfoProvider implements PlatformInfoProvider { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(CI)Z", + descriptor = "(CI)Z", garbageValue = "2111177426" ) static final boolean method6481(char var0) { diff --git a/runescape-client/src/main/java/DevicePcmPlayer.java b/runescape-client/src/main/java/DevicePcmPlayer.java index e3776aa6bd..78def42818 100644 --- a/runescape-client/src/main/java/DevicePcmPlayer.java +++ b/runescape-client/src/main/java/DevicePcmPlayer.java @@ -33,7 +33,7 @@ public class DevicePcmPlayer extends PcmPlayer { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "2128910021" ) @Export("init") @@ -44,7 +44,7 @@ public class DevicePcmPlayer extends PcmPlayer { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "-14" ) @Export("open") @@ -74,7 +74,7 @@ public class DevicePcmPlayer extends PcmPlayer { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "1868944096" ) @Export("position") @@ -105,7 +105,7 @@ public class DevicePcmPlayer extends PcmPlayer { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1900446281" ) @Export("close") @@ -119,7 +119,7 @@ public class DevicePcmPlayer extends PcmPlayer { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "630637593" ) @Export("discard") diff --git a/runescape-client/src/main/java/DevicePcmPlayerProvider.java b/runescape-client/src/main/java/DevicePcmPlayerProvider.java index 89d5af0d68..03983ae9d5 100644 --- a/runescape-client/src/main/java/DevicePcmPlayerProvider.java +++ b/runescape-client/src/main/java/DevicePcmPlayerProvider.java @@ -14,7 +14,7 @@ public class DevicePcmPlayerProvider implements PlayerProvider { static int field435; @ObfuscatedName("y") @ObfuscatedSignature( - signature = "Lhz;" + descriptor = "Lhz;" ) @Export("musicTrack") public static MusicTrack musicTrack; @@ -24,7 +24,7 @@ public class DevicePcmPlayerProvider implements PlayerProvider { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)Ldt;", + descriptor = "(I)Ldt;", garbageValue = "-1371983171" ) @Export("player") @@ -34,7 +34,7 @@ public class DevicePcmPlayerProvider implements PlayerProvider { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkn;Ljava/lang/String;I)I", + descriptor = "(Lkn;Ljava/lang/String;I)I", garbageValue = "-420633495" ) public static int method917(Buffer var0, String var1) { @@ -112,7 +112,7 @@ public class DevicePcmPlayerProvider implements PlayerProvider { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(Lkn;IB)V", + descriptor = "(Lkn;IB)V", garbageValue = "-128" ) public static void method914(Buffer var0, int var1) { @@ -128,7 +128,7 @@ public class DevicePcmPlayerProvider implements PlayerProvider { @ObfuscatedName("k") @ObfuscatedSignature( - signature = "(IIII)I", + descriptor = "(IIII)I", garbageValue = "-422462480" ) @Export("hslToRgb") @@ -155,7 +155,7 @@ public class DevicePcmPlayerProvider implements PlayerProvider { @ObfuscatedName("ie") @ObfuscatedSignature( - signature = "(Lhd;B)Z", + descriptor = "(Lhd;B)Z", garbageValue = "-86" ) @Export("runCs1") diff --git a/runescape-client/src/main/java/DirectByteArrayCopier.java b/runescape-client/src/main/java/DirectByteArrayCopier.java index b664d96452..ac316ba938 100644 --- a/runescape-client/src/main/java/DirectByteArrayCopier.java +++ b/runescape-client/src/main/java/DirectByteArrayCopier.java @@ -13,7 +13,7 @@ public class DirectByteArrayCopier extends AbstractByteArrayCopier { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)[B", + descriptor = "(I)[B", garbageValue = "300747627" ) @Export("get") @@ -26,7 +26,7 @@ public class DirectByteArrayCopier extends AbstractByteArrayCopier { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "([BB)V", + descriptor = "([BB)V", garbageValue = "92" ) @Export("set") @@ -38,7 +38,7 @@ public class DirectByteArrayCopier extends AbstractByteArrayCopier { @ObfuscatedName("gl") @ObfuscatedSignature( - signature = "(Lcc;II)V", + descriptor = "(Lcc;II)V", garbageValue = "1934042219" ) static final void method4090(Actor var0, int var1) { diff --git a/runescape-client/src/main/java/DualNode.java b/runescape-client/src/main/java/DualNode.java index 770721fb1a..e122e529a6 100644 --- a/runescape-client/src/main/java/DualNode.java +++ b/runescape-client/src/main/java/DualNode.java @@ -11,13 +11,13 @@ public class DualNode extends Node { public long keyDual; @ObfuscatedName("co") @ObfuscatedSignature( - signature = "Lgf;" + descriptor = "Lgf;" ) @Export("previousDual") public DualNode previousDual; @ObfuscatedName("ca") @ObfuscatedSignature( - signature = "Lgf;" + descriptor = "Lgf;" ) @Export("nextDual") public DualNode nextDual; diff --git a/runescape-client/src/main/java/DualNodeDeque.java b/runescape-client/src/main/java/DualNodeDeque.java index 363987d789..d51d67e695 100644 --- a/runescape-client/src/main/java/DualNodeDeque.java +++ b/runescape-client/src/main/java/DualNodeDeque.java @@ -8,7 +8,7 @@ import net.runelite.mapping.ObfuscatedSignature; public final class DualNodeDeque { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lgf;" + descriptor = "Lgf;" ) @Export("sentinel") DualNode sentinel; @@ -21,7 +21,7 @@ public final class DualNodeDeque { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lgf;)V" + descriptor = "(Lgf;)V" ) @Export("addFirst") public void addFirst(DualNode var1) { @@ -37,7 +37,7 @@ public final class DualNodeDeque { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lgf;)V" + descriptor = "(Lgf;)V" ) @Export("addLast") public void addLast(DualNode var1) { @@ -53,7 +53,7 @@ public final class DualNodeDeque { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "()Lgf;" + descriptor = "()Lgf;" ) @Export("removeLast") public DualNode removeLast() { diff --git a/runescape-client/src/main/java/DynamicObject.java b/runescape-client/src/main/java/DynamicObject.java index 3757bdd34f..faa39a5eb3 100644 --- a/runescape-client/src/main/java/DynamicObject.java +++ b/runescape-client/src/main/java/DynamicObject.java @@ -45,7 +45,7 @@ public class DynamicObject extends Entity { int y; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Ljm;" + descriptor = "Ljm;" ) @Export("sequenceDefinition") SequenceDefinition sequenceDefinition; @@ -63,7 +63,7 @@ public class DynamicObject extends Entity { int cycleStart; @ObfuscatedSignature( - signature = "(IIIIIIIZLel;)V" + descriptor = "(IIIIIIIZLel;)V" ) DynamicObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean var8, Entity var9) { this.id = var1; @@ -95,7 +95,7 @@ public class DynamicObject extends Entity { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(I)Lef;", + descriptor = "(I)Lef;", garbageValue = "1832696685" ) @Export("getModel") @@ -158,7 +158,7 @@ public class DynamicObject extends Entity { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(II)I", + descriptor = "(II)I", garbageValue = "1062154046" ) public static int method2375(int var0) { @@ -172,7 +172,7 @@ public class DynamicObject extends Entity { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkb;I)V", + descriptor = "(Lkb;I)V", garbageValue = "1312322364" ) static final void method2373(PacketBuffer var0) { @@ -355,7 +355,7 @@ public class DynamicObject extends Entity { @ObfuscatedName("bq") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)I", + descriptor = "(Ljava/lang/String;I)I", garbageValue = "-627685416" ) @Export("stringCp1252NullTerminatedByteSize") diff --git a/runescape-client/src/main/java/Entity.java b/runescape-client/src/main/java/Entity.java index 4c5312883a..2a09e7983c 100644 --- a/runescape-client/src/main/java/Entity.java +++ b/runescape-client/src/main/java/Entity.java @@ -21,7 +21,7 @@ public abstract class Entity extends DualNode { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(I)Lef;", + descriptor = "(I)Lef;", garbageValue = "1832696685" ) @Export("getModel") @@ -42,7 +42,7 @@ public abstract class Entity extends DualNode { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "67" ) public static void method3387() { @@ -51,7 +51,7 @@ public abstract class Entity extends DualNode { @ObfuscatedName("ad") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "-1309600698" ) static int method3376(int var0, Script var1, boolean var2) { @@ -328,7 +328,7 @@ public abstract class Entity extends DualNode { @ObfuscatedName("kl") @ObfuscatedSignature( - signature = "(Lhd;I)Z", + descriptor = "(Lhd;I)Z", garbageValue = "-36347772" ) @Export("isComponentHidden") diff --git a/runescape-client/src/main/java/EnumDefinition.java b/runescape-client/src/main/java/EnumDefinition.java index fb5ab51db0..81a93cba62 100644 --- a/runescape-client/src/main/java/EnumDefinition.java +++ b/runescape-client/src/main/java/EnumDefinition.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class EnumDefinition extends DualNode { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("EnumDefinition_cached") static EvictingDualNodeHashTable EnumDefinition_cached; @@ -55,7 +55,7 @@ public class EnumDefinition extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "1372956041" ) @Export("decode") @@ -72,7 +72,7 @@ public class EnumDefinition extends DualNode { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Lkn;IB)V", + descriptor = "(Lkn;IB)V", garbageValue = "63" ) @Export("decodeNext") @@ -112,7 +112,7 @@ public class EnumDefinition extends DualNode { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(S)I", + descriptor = "(S)I", garbageValue = "-24655" ) @Export("size") diff --git a/runescape-client/src/main/java/Enumerated.java b/runescape-client/src/main/java/Enumerated.java index aa6f4ed469..07483677ae 100644 --- a/runescape-client/src/main/java/Enumerated.java +++ b/runescape-client/src/main/java/Enumerated.java @@ -8,7 +8,7 @@ import net.runelite.mapping.ObfuscatedSignature; public interface Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-995092303" ) @Export("rsOrdinal") diff --git a/runescape-client/src/main/java/EvictingDualNodeHashTable.java b/runescape-client/src/main/java/EvictingDualNodeHashTable.java index 81119f6b2e..04fae7d057 100644 --- a/runescape-client/src/main/java/EvictingDualNodeHashTable.java +++ b/runescape-client/src/main/java/EvictingDualNodeHashTable.java @@ -8,7 +8,7 @@ import net.runelite.mapping.ObfuscatedSignature; public final class EvictingDualNodeHashTable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lgf;" + descriptor = "Lgf;" ) DualNode field1978; @ObfuscatedName("o") @@ -19,13 +19,13 @@ public final class EvictingDualNodeHashTable { int remainingCapacity; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Llf;" + descriptor = "Llf;" ) @Export("hashTable") IterableNodeHashTable hashTable; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Ljq;" + descriptor = "Ljq;" ) @Export("deque") IterableDualNodeQueue deque; @@ -45,7 +45,7 @@ public final class EvictingDualNodeHashTable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(J)Lgf;" + descriptor = "(J)Lgf;" ) @Export("get") public DualNode get(long var1) { @@ -71,7 +71,7 @@ public final class EvictingDualNodeHashTable { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lgf;J)V" + descriptor = "(Lgf;J)V" ) @Export("put") public void put(DualNode var1, long var2) { diff --git a/runescape-client/src/main/java/FaceNormal.java b/runescape-client/src/main/java/FaceNormal.java index 829e84241f..66a48625d9 100644 --- a/runescape-client/src/main/java/FaceNormal.java +++ b/runescape-client/src/main/java/FaceNormal.java @@ -31,7 +31,7 @@ public class FaceNormal { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "([Lgt;II)Lgt;", + descriptor = "([Lgt;II)Lgt;", garbageValue = "-707018179" ) @Export("findEnumerated") @@ -50,7 +50,7 @@ public class FaceNormal { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", + descriptor = "(I)Ljava/lang/String;", garbageValue = "223741723" ) static String method3392() { diff --git a/runescape-client/src/main/java/FloorDecoration.java b/runescape-client/src/main/java/FloorDecoration.java index c9c00b8d06..b79c48f46a 100644 --- a/runescape-client/src/main/java/FloorDecoration.java +++ b/runescape-client/src/main/java/FloorDecoration.java @@ -33,7 +33,7 @@ public final class FloorDecoration { int y; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lel;" + descriptor = "Lel;" ) @Export("entity") public Entity entity; diff --git a/runescape-client/src/main/java/FloorOverlayDefinition.java b/runescape-client/src/main/java/FloorOverlayDefinition.java index 16bb516031..8f11b8f4c0 100644 --- a/runescape-client/src/main/java/FloorOverlayDefinition.java +++ b/runescape-client/src/main/java/FloorOverlayDefinition.java @@ -9,13 +9,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class FloorOverlayDefinition extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("FloorOverlayDefinition_archive") public static AbstractArchive FloorOverlayDefinition_archive; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("FloorOverlayDefinition_cached") public static EvictingDualNodeHashTable FloorOverlayDefinition_cached; @@ -90,7 +90,7 @@ public class FloorOverlayDefinition extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(S)V", + descriptor = "(S)V", garbageValue = "9136" ) @Export("postDecode") @@ -107,7 +107,7 @@ public class FloorOverlayDefinition extends DualNode { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "1893541080" ) @Export("decode") @@ -124,7 +124,7 @@ public class FloorOverlayDefinition extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkn;III)V", + descriptor = "(Lkn;III)V", garbageValue = "965813090" ) @Export("decodeNext") @@ -144,7 +144,7 @@ public class FloorOverlayDefinition extends DualNode { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "1" ) @Export("setHsl") @@ -211,7 +211,7 @@ public class FloorOverlayDefinition extends DualNode { @ObfuscatedName("bk") @ObfuscatedSignature( - signature = "([BII)I", + descriptor = "([BII)I", garbageValue = "-2091622873" ) public static int method4936(byte[] var0, int var1) { diff --git a/runescape-client/src/main/java/FloorUnderlayDefinition.java b/runescape-client/src/main/java/FloorUnderlayDefinition.java index 60ab48c31e..46924f1857 100644 --- a/runescape-client/src/main/java/FloorUnderlayDefinition.java +++ b/runescape-client/src/main/java/FloorUnderlayDefinition.java @@ -14,19 +14,19 @@ import net.runelite.mapping.ObfuscatedSignature; public class FloorUnderlayDefinition extends DualNode { @ObfuscatedName("sh") @ObfuscatedSignature( - signature = "Llp;" + descriptor = "Llp;" ) @Export("masterDisk") static ArchiveDisk masterDisk; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("FloorUnderlayDefinition_archive") public static AbstractArchive FloorUnderlayDefinition_archive; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("FloorUnderlayDefinition_cached") public static EvictingDualNodeHashTable FloorUnderlayDefinition_cached; @@ -71,7 +71,7 @@ public class FloorUnderlayDefinition extends DualNode { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-33176492" ) @Export("postDecode") @@ -81,7 +81,7 @@ public class FloorUnderlayDefinition extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkn;IB)V", + descriptor = "(Lkn;IB)V", garbageValue = "17" ) @Export("decode") @@ -98,7 +98,7 @@ public class FloorUnderlayDefinition extends DualNode { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Lkn;IIB)V", + descriptor = "(Lkn;IIB)V", garbageValue = "-93" ) @Export("decodeNext") @@ -111,7 +111,7 @@ public class FloorUnderlayDefinition extends DualNode { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "-14" ) @Export("setHsl") @@ -188,7 +188,7 @@ public class FloorUnderlayDefinition extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "([BI)Llz;", + descriptor = "([BI)Llz;", garbageValue = "619951505" ) @Export("convertJpgToSprite") @@ -212,7 +212,7 @@ public class FloorUnderlayDefinition extends DualNode { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Ljava/lang/Object;ZB)[B", + descriptor = "(Ljava/lang/Object;ZB)[B", garbageValue = "101" ) public static byte[] method4613(Object var0, boolean var1) { @@ -231,7 +231,7 @@ public class FloorUnderlayDefinition extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Llf;ILjava/lang/String;I)Ljava/lang/String;", + descriptor = "(Llf;ILjava/lang/String;I)Ljava/lang/String;", garbageValue = "-1916318659" ) static String method4612(IterableNodeHashTable var0, int var1, String var2) { @@ -245,7 +245,7 @@ public class FloorUnderlayDefinition extends DualNode { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Ljava/lang/String;IB)Z", + descriptor = "(Ljava/lang/String;IB)Z", garbageValue = "3" ) static boolean method4608(String var0, int var1) { @@ -254,7 +254,7 @@ public class FloorUnderlayDefinition extends DualNode { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(IB)Z", + descriptor = "(IB)Z", garbageValue = "7" ) public static boolean method4615(int var0) { diff --git a/runescape-client/src/main/java/FontName.java b/runescape-client/src/main/java/FontName.java index e969fdabb8..a322aa82a5 100644 --- a/runescape-client/src/main/java/FontName.java +++ b/runescape-client/src/main/java/FontName.java @@ -10,37 +10,37 @@ import net.runelite.mapping.ObfuscatedSignature; public class FontName { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lke;" + descriptor = "Lke;" ) @Export("FontName_plain11") public static final FontName FontName_plain11; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lke;" + descriptor = "Lke;" ) @Export("FontName_plain12") public static final FontName FontName_plain12; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lke;" + descriptor = "Lke;" ) @Export("FontName_bold12") public static final FontName FontName_bold12; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lke;" + descriptor = "Lke;" ) @Export("FontName_verdana11") public static final FontName FontName_verdana11; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lke;" + descriptor = "Lke;" ) @Export("FontName_verdana13") public static final FontName FontName_verdana13; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lke;" + descriptor = "Lke;" ) @Export("FontName_verdana15") public static final FontName FontName_verdana15; @@ -63,7 +63,7 @@ public class FontName { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(B)Lch;", + descriptor = "(B)Lch;", garbageValue = "-18" ) @Export("worldListStart") @@ -74,7 +74,7 @@ public class FontName { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(Lhd;II)V", + descriptor = "(Lhd;II)V", garbageValue = "1462159307" ) @Export("Widget_setKeyIgnoreHeld") @@ -92,7 +92,7 @@ public class FontName { @ObfuscatedName("ae") @ObfuscatedSignature( - signature = "(Lfm;III)Ldt;", + descriptor = "(Lfm;III)Ldt;", garbageValue = "273987431" ) public static final PcmPlayer method5519(TaskHandler var0, int var1, int var2) { @@ -139,7 +139,7 @@ public class FontName { @ObfuscatedName("hk") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1542752856" ) @Export("addCancelMenuEntry") diff --git a/runescape-client/src/main/java/Fonts.java b/runescape-client/src/main/java/Fonts.java index 25e1e7dda7..5c7f7ab3d0 100644 --- a/runescape-client/src/main/java/Fonts.java +++ b/runescape-client/src/main/java/Fonts.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class Fonts { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Llh;" + descriptor = "Llh;" ) @Export("titlebuttonSprite") static IndexedSprite titlebuttonSprite; @@ -18,13 +18,13 @@ public class Fonts { static byte[][][] ByteArrayPool_arrays; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("spritesArchive") AbstractArchive spritesArchive; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("fontsArchive") AbstractArchive fontsArchive; @@ -33,7 +33,7 @@ public class Fonts { HashMap map; @ObfuscatedSignature( - signature = "(Lic;Lic;)V" + descriptor = "(Lic;Lic;)V" ) public Fonts(AbstractArchive var1, AbstractArchive var2) { this.spritesArchive = var1; @@ -43,7 +43,7 @@ public class Fonts { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "([Lke;B)Ljava/util/HashMap;", + descriptor = "([Lke;B)Ljava/util/HashMap;", garbageValue = "-100" ) @Export("createMap") diff --git a/runescape-client/src/main/java/Frames.java b/runescape-client/src/main/java/Frames.java index c4b5b8b658..991beb0911 100644 --- a/runescape-client/src/main/java/Frames.java +++ b/runescape-client/src/main/java/Frames.java @@ -15,13 +15,13 @@ public class Frames extends DualNode { static int menuY; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "[Les;" + descriptor = "[Les;" ) @Export("frames") Animation[] frames; @ObfuscatedSignature( - signature = "(Lic;Lic;IZ)V", + descriptor = "(Lic;Lic;IZ)V", garbageValue = "0" ) public Frames(AbstractArchive var1, AbstractArchive var2, int var3, boolean var4) { @@ -55,7 +55,7 @@ public class Frames extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(IB)Z", + descriptor = "(IB)Z", garbageValue = "-107" ) @Export("hasAlphaTransform") @@ -92,7 +92,7 @@ public class Frames extends DualNode { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(CLgz;I)C", + descriptor = "(CLgz;I)C", garbageValue = "-959977971" ) @Export("standardizeChar") @@ -180,7 +180,7 @@ public class Frames extends DualNode { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Lic;Lic;III)Lko;", + descriptor = "(Lic;Lic;III)Lko;", garbageValue = "-2070991083" ) public static Font method3394(AbstractArchive var0, AbstractArchive var1, int var2, int var3) { @@ -198,7 +198,7 @@ public class Frames extends DualNode { @ObfuscatedName("gw") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "150036680" ) static final void method3396() { @@ -249,7 +249,7 @@ public class Frames extends DualNode { @ObfuscatedName("ku") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-179061034" ) static final void method3399() { diff --git a/runescape-client/src/main/java/Friend.java b/runescape-client/src/main/java/Friend.java index 547de358f0..19ec1b64eb 100644 --- a/runescape-client/src/main/java/Friend.java +++ b/runescape-client/src/main/java/Friend.java @@ -16,7 +16,7 @@ public class Friend extends Buddy { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkl;I)I", + descriptor = "(Lkl;I)I", garbageValue = "-1139109616" ) @Export("compareToFriend") @@ -44,7 +44,7 @@ public class Friend extends Buddy { @ObfuscatedName("ah") @ObfuscatedSignature( - signature = "(Ljf;I)I", + descriptor = "(Ljf;I)I", garbageValue = "334051838" ) @Export("compareTo_user") @@ -58,7 +58,7 @@ public class Friend extends Buddy { @ObfuscatedName("h") @ObfuscatedSignature( - signature = "(Lch;I)V", + descriptor = "(Lch;I)V", garbageValue = "-463373379" ) @Export("changeWorld") diff --git a/runescape-client/src/main/java/FriendLoginUpdate.java b/runescape-client/src/main/java/FriendLoginUpdate.java index 99b9bd980d..e3a3c7f93a 100644 --- a/runescape-client/src/main/java/FriendLoginUpdate.java +++ b/runescape-client/src/main/java/FriendLoginUpdate.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class FriendLoginUpdate extends Link { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "Lfb;" + descriptor = "Lfb;" ) @Export("clock") protected static Clock clock; @@ -20,7 +20,7 @@ public class FriendLoginUpdate extends Link { public int field3667; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lkq;" + descriptor = "Lkq;" ) @Export("username") public Username username; @@ -29,7 +29,7 @@ public class FriendLoginUpdate extends Link { public short world; @ObfuscatedSignature( - signature = "(Lkq;I)V" + descriptor = "(Lkq;I)V" ) FriendLoginUpdate(Username var1, int var2) { this.field3667 = (int)(MilliClock.currentTimeMillis() / 1000L); @@ -39,7 +39,7 @@ public class FriendLoginUpdate extends Link { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lgz;I)I", + descriptor = "(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lgz;I)I", garbageValue = "1283981780" ) @Export("compareStrings") diff --git a/runescape-client/src/main/java/FriendSystem.java b/runescape-client/src/main/java/FriendSystem.java index 1e93fa5c5d..15f67f6ca1 100644 --- a/runescape-client/src/main/java/FriendSystem.java +++ b/runescape-client/src/main/java/FriendSystem.java @@ -15,19 +15,19 @@ public class FriendSystem { public static long field1093; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lmo;" + descriptor = "Lmo;" ) @Export("loginType") final LoginType loginType; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lki;" + descriptor = "Lki;" ) @Export("friendsList") public final FriendsList friendsList; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Ljw;" + descriptor = "Ljw;" ) @Export("ignoreList") public final IgnoreList ignoreList; @@ -38,7 +38,7 @@ public class FriendSystem { int field1094; @ObfuscatedSignature( - signature = "(Lmo;)V" + descriptor = "(Lmo;)V" ) FriendSystem(LoginType var1) { this.field1094 = 0; @@ -49,7 +49,7 @@ public class FriendSystem { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "-100444560" ) boolean method1923() { @@ -58,7 +58,7 @@ public class FriendSystem { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(S)V", + descriptor = "(S)V", garbageValue = "-20972" ) final void method1981() { @@ -67,7 +67,7 @@ public class FriendSystem { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "-11966056" ) @Export("readUpdate") @@ -95,7 +95,7 @@ public class FriendSystem { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "892305960" ) @Export("processFriendUpdates") @@ -118,7 +118,7 @@ public class FriendSystem { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "2071426788" ) @Export("clear") @@ -130,7 +130,7 @@ public class FriendSystem { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(Lkq;ZI)Z", + descriptor = "(Lkq;ZI)Z", garbageValue = "1031830697" ) @Export("isFriended") @@ -146,7 +146,7 @@ public class FriendSystem { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(Lkq;B)Z", + descriptor = "(Lkq;B)Z", garbageValue = "41" ) @Export("isIgnored") @@ -160,7 +160,7 @@ public class FriendSystem { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", + descriptor = "(Ljava/lang/String;I)V", garbageValue = "1198783878" ) @Export("addFriend") @@ -188,7 +188,7 @@ public class FriendSystem { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "276950128" ) @Export("friendsListIsFull") @@ -198,7 +198,7 @@ public class FriendSystem { @ObfuscatedName("h") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", + descriptor = "(Ljava/lang/String;I)V", garbageValue = "467200787" ) @Export("addIgnore") @@ -232,7 +232,7 @@ public class FriendSystem { @ObfuscatedName("d") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "-516025853" ) @Export("canAddIgnore") @@ -242,7 +242,7 @@ public class FriendSystem { @ObfuscatedName("e") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", + descriptor = "(Ljava/lang/String;I)V", garbageValue = "-964450223" ) @Export("removeFriend") @@ -280,7 +280,7 @@ public class FriendSystem { @ObfuscatedName("l") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", + descriptor = "(Ljava/lang/String;I)V", garbageValue = "-1026417394" ) @Export("removeIgnore") @@ -303,7 +303,7 @@ public class FriendSystem { @ObfuscatedName("x") @ObfuscatedSignature( - signature = "(Lkq;B)Z", + descriptor = "(Lkq;B)Z", garbageValue = "-1" ) @Export("isFriendAndHasWorld") @@ -314,7 +314,7 @@ public class FriendSystem { @ObfuscatedName("kq") @ObfuscatedSignature( - signature = "(Lhd;B)Lhd;", + descriptor = "(Lhd;B)Lhd;", garbageValue = "74" ) static Widget method1994(Widget var0) { diff --git a/runescape-client/src/main/java/FriendsList.java b/runescape-client/src/main/java/FriendsList.java index ea2e89fab8..5eaa841f21 100644 --- a/runescape-client/src/main/java/FriendsList.java +++ b/runescape-client/src/main/java/FriendsList.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class FriendsList extends UserList { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lmo;" + descriptor = "Lmo;" ) @Export("loginType") final LoginType loginType; @@ -20,13 +20,13 @@ public class FriendsList extends UserList { int field3648; @ObfuscatedName("w") @ObfuscatedSignature( - signature = "Ljn;" + descriptor = "Ljn;" ) @Export("friendLoginUpdates") public LinkDeque friendLoginUpdates; @ObfuscatedSignature( - signature = "(Lmo;)V" + descriptor = "(Lmo;)V" ) public FriendsList(LoginType var1) { super(400); @@ -37,7 +37,7 @@ public class FriendsList extends UserList { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)Ljf;", + descriptor = "(I)Ljf;", garbageValue = "551595115" ) @Export("newInstance") @@ -47,7 +47,7 @@ public class FriendsList extends UserList { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(II)[Ljf;", + descriptor = "(II)[Ljf;", garbageValue = "1959965595" ) @Export("newTypedArray") @@ -57,7 +57,7 @@ public class FriendsList extends UserList { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkq;ZI)Z", + descriptor = "(Lkq;ZI)Z", garbageValue = "2027561031" ) @Export("isFriended") @@ -72,7 +72,7 @@ public class FriendsList extends UserList { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "-1956355163" ) @Export("read") diff --git a/runescape-client/src/main/java/GZipDecompressor.java b/runescape-client/src/main/java/GZipDecompressor.java index 505284d1a8..62d566883c 100644 --- a/runescape-client/src/main/java/GZipDecompressor.java +++ b/runescape-client/src/main/java/GZipDecompressor.java @@ -16,7 +16,7 @@ public class GZipDecompressor { } @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "1000000" ) GZipDecompressor(int var1, int var2, int var3) { @@ -24,7 +24,7 @@ public class GZipDecompressor { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkn;[BI)V", + descriptor = "(Lkn;[BI)V", garbageValue = "1767160394" ) @Export("decompress") diff --git a/runescape-client/src/main/java/GameBuild.java b/runescape-client/src/main/java/GameBuild.java index d6805d5fdb..e3a9b356f6 100644 --- a/runescape-client/src/main/java/GameBuild.java +++ b/runescape-client/src/main/java/GameBuild.java @@ -11,31 +11,31 @@ import net.runelite.mapping.ObfuscatedSignature; public class GameBuild { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lij;" + descriptor = "Lij;" ) @Export("LIVE") public static final GameBuild LIVE; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lij;" + descriptor = "Lij;" ) @Export("BUILDLIVE") public static final GameBuild BUILDLIVE; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lij;" + descriptor = "Lij;" ) @Export("RC") public static final GameBuild RC; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lij;" + descriptor = "Lij;" ) @Export("WIP") public static final GameBuild WIP; @ObfuscatedName("du") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive13") static Archive archive13; @@ -63,7 +63,7 @@ public class GameBuild { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)[Lgl;", + descriptor = "(I)[Lgl;", garbageValue = "-290108173" ) public static class194[] method4291() { @@ -72,7 +72,7 @@ public class GameBuild { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)Ljava/io/File;", + descriptor = "(Ljava/lang/String;B)Ljava/io/File;", garbageValue = "-93" ) @Export("getFile") diff --git a/runescape-client/src/main/java/GameObject.java b/runescape-client/src/main/java/GameObject.java index 50090f07f7..cfebfa7743 100644 --- a/runescape-client/src/main/java/GameObject.java +++ b/runescape-client/src/main/java/GameObject.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public final class GameObject { @ObfuscatedName("di") @ObfuscatedSignature( - signature = "Llj;" + descriptor = "Llj;" ) @Export("js5Socket") static AbstractSocket js5Socket; @@ -45,7 +45,7 @@ public final class GameObject { int centerY; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lel;" + descriptor = "Lel;" ) @Export("entity") public Entity entity; @@ -104,7 +104,7 @@ public final class GameObject { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(CI)Z", + descriptor = "(CI)Z", garbageValue = "1896739320" ) @Export("isCharAlphabetic") diff --git a/runescape-client/src/main/java/GameShell.java b/runescape-client/src/main/java/GameShell.java index 4b7b927e32..526a5b5fe0 100644 --- a/runescape-client/src/main/java/GameShell.java +++ b/runescape-client/src/main/java/GameShell.java @@ -32,7 +32,7 @@ import net.runelite.mapping.ObfuscatedSignature; public abstract class GameShell extends Applet implements Runnable, FocusListener, WindowListener { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lbn;" + descriptor = "Lbn;" ) @Export("gameShell") static GameShell gameShell; @@ -77,7 +77,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene protected static int fps; @ObfuscatedName("c") @ObfuscatedSignature( - signature = "Llh;" + descriptor = "Llh;" ) @Export("options_buttons_2Sprite") static IndexedSprite options_buttons_2Sprite; @@ -186,7 +186,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene volatile long field489; @ObfuscatedName("ac") @ObfuscatedSignature( - signature = "Lbh;" + descriptor = "Lbh;" ) @Export("mouseWheelHandler") MouseWheelHandler mouseWheelHandler; @@ -234,7 +234,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "-2030982939" ) @Export("setMaxCanvasSize") @@ -249,7 +249,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Ljava/lang/Object;I)V", + descriptor = "(Ljava/lang/Object;I)V", garbageValue = "-876824322" ) @Export("post") @@ -268,7 +268,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)Lfv;", + descriptor = "(I)Lfv;", garbageValue = "-192453473" ) @Export("mouseWheel") @@ -283,7 +283,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-981291570" ) @Export("setUpClipboard") @@ -293,7 +293,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", + descriptor = "(Ljava/lang/String;I)V", garbageValue = "-2023298912" ) @Export("clipboardSetString") @@ -303,7 +303,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-316862367" ) @Export("setUpKeyboard") @@ -317,7 +317,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "196707341" ) @Export("setUpMouse") @@ -327,7 +327,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-752017845" ) @Export("resizeCanvas") @@ -365,7 +365,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1805213007" ) @Export("resizeGame") @@ -373,7 +373,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1664066560" ) @Export("clearBackground") @@ -418,7 +418,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("h") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "97" ) @Export("replaceCanvas") @@ -451,7 +451,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("k") @ObfuscatedSignature( - signature = "(IIII)V", + descriptor = "(IIII)V", garbageValue = "-946150877" ) @Export("startThread") @@ -487,7 +487,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("r") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "799710409" ) @Export("addCanvas") @@ -537,7 +537,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("d") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "424530917" ) @Export("checkHost") @@ -569,7 +569,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("e") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-311013157" ) @Export("clientTick") @@ -590,7 +590,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("l") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "553684525" ) @Export("graphicsTick") @@ -633,7 +633,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("ai") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "73839779" ) final void method1004() { @@ -647,7 +647,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("ao") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-2043772276" ) final void method1029() { @@ -656,7 +656,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("ae") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-109609137" ) @Export("kill") @@ -694,7 +694,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("ag") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "108465933" ) @Export("setUp") @@ -702,7 +702,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("ab") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "202919973" ) @Export("doCycle") @@ -710,7 +710,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("am") @ObfuscatedSignature( - signature = "(ZS)V", + descriptor = "(ZS)V", garbageValue = "255" ) @Export("draw") @@ -718,7 +718,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("ak") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1432958229" ) @Export("kill0") @@ -726,7 +726,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("ad") @ObfuscatedSignature( - signature = "(ILjava/lang/String;ZS)V", + descriptor = "(ILjava/lang/String;ZS)V", garbageValue = "-6486" ) @Export("drawInitial") @@ -782,7 +782,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("as") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1038355483" ) protected final void method1017() { @@ -793,7 +793,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("ar") @ObfuscatedSignature( - signature = "(Ljava/lang/String;S)V", + descriptor = "(Ljava/lang/String;S)V", garbageValue = "23979" ) @Export("error") @@ -812,7 +812,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("ap") @ObfuscatedSignature( - signature = "(I)Ljava/awt/Container;", + descriptor = "(I)Ljava/awt/Container;", garbageValue = "1395544876" ) @Export("container") @@ -822,7 +822,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("al") @ObfuscatedSignature( - signature = "(S)Llv;", + descriptor = "(S)Llv;", garbageValue = "9055" ) @Export("getFrameContentBounds") @@ -841,7 +841,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("an") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "-2133416306" ) @Export("hasFrame") @@ -851,7 +851,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("av") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-453140820" ) protected abstract void vmethod1570(); @@ -987,7 +987,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;ZI)Lmy;", + descriptor = "(Ljava/lang/String;Ljava/lang/String;ZI)Lmy;", garbageValue = "968663760" ) @Export("getPreferencesFile") @@ -1028,7 +1028,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Lic;III)Llz;", + descriptor = "(Lic;III)Llz;", garbageValue = "1598756055" ) @Export("SpriteBuffer_getSprite") diff --git a/runescape-client/src/main/java/GrandExchangeEvent.java b/runescape-client/src/main/java/GrandExchangeEvent.java index ee10d43580..e6713255e3 100644 --- a/runescape-client/src/main/java/GrandExchangeEvent.java +++ b/runescape-client/src/main/java/GrandExchangeEvent.java @@ -15,13 +15,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class GrandExchangeEvent { @ObfuscatedName("bq") @ObfuscatedSignature( - signature = "[Llh;" + descriptor = "[Llh;" ) @Export("worldSelectArrows") static IndexedSprite[] worldSelectArrows; @ObfuscatedName("da") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive8") static Archive archive8; @@ -39,7 +39,7 @@ public class GrandExchangeEvent { public final long age; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Ld;" + descriptor = "Ld;" ) @Export("grandExchangeOffer") public final GrandExchangeOffer grandExchangeOffer; @@ -51,7 +51,7 @@ public class GrandExchangeEvent { String previousOfferName; @ObfuscatedSignature( - signature = "(Lkn;BI)V" + descriptor = "(Lkn;BI)V" ) GrandExchangeEvent(Buffer var1, byte var2, int var3) { this.offerName = var1.readStringCp1252NullTerminated(); @@ -72,7 +72,7 @@ public class GrandExchangeEvent { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", + descriptor = "(I)Ljava/lang/String;", garbageValue = "-1910615045" ) @Export("getOfferName") @@ -82,7 +82,7 @@ public class GrandExchangeEvent { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", + descriptor = "(I)Ljava/lang/String;", garbageValue = "-966567999" ) @Export("getPreviousOfferName") @@ -92,7 +92,7 @@ public class GrandExchangeEvent { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IIIII)V", + descriptor = "(IIIII)V", garbageValue = "144078284" ) static final void method153(int var0, int var1, int var2, int var3) { @@ -123,7 +123,7 @@ public class GrandExchangeEvent { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Lbn;I)V", + descriptor = "(Lbn;I)V", garbageValue = "-1052517513" ) @Export("doCycleTitle") @@ -688,7 +688,7 @@ public class GrandExchangeEvent { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(IB)I", + descriptor = "(IB)I", garbageValue = "-55" ) @Export("Messages_getHistorySize") @@ -699,7 +699,7 @@ public class GrandExchangeEvent { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1823027767" ) static void method158() { @@ -713,7 +713,7 @@ public class GrandExchangeEvent { @ObfuscatedName("hx") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-1963470031" ) static final void method155(int var0) { @@ -730,7 +730,7 @@ public class GrandExchangeEvent { @ObfuscatedName("jp") @ObfuscatedSignature( - signature = "(Lhd;I)Lhd;", + descriptor = "(Lhd;I)Lhd;", garbageValue = "-1293330124" ) static Widget method157(Widget var0) { diff --git a/runescape-client/src/main/java/GrandExchangeEvents.java b/runescape-client/src/main/java/GrandExchangeEvents.java index 08ad8c315c..233d4c8095 100644 --- a/runescape-client/src/main/java/GrandExchangeEvents.java +++ b/runescape-client/src/main/java/GrandExchangeEvents.java @@ -35,7 +35,7 @@ public class GrandExchangeEvents { } @ObfuscatedSignature( - signature = "(Lkn;Z)V", + descriptor = "(Lkn;Z)V", garbageValue = "1" ) public GrandExchangeEvents(Buffer var1, boolean var2) { @@ -59,7 +59,7 @@ public class GrandExchangeEvents { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ljava/util/Comparator;ZI)V", + descriptor = "(Ljava/util/Comparator;ZI)V", garbageValue = "372755845" ) @Export("sort") @@ -74,7 +74,7 @@ public class GrandExchangeEvents { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(CI)Z", + descriptor = "(CI)Z", garbageValue = "819758583" ) public static boolean method148(char var0) { diff --git a/runescape-client/src/main/java/GrandExchangeOffer.java b/runescape-client/src/main/java/GrandExchangeOffer.java index 25a6d45989..cf6fa0f997 100644 --- a/runescape-client/src/main/java/GrandExchangeOffer.java +++ b/runescape-client/src/main/java/GrandExchangeOffer.java @@ -10,12 +10,12 @@ import net.runelite.rs.ScriptOpcodes; public class GrandExchangeOffer { @ObfuscatedName("ad") @ObfuscatedSignature( - signature = "Llv;" + descriptor = "Llv;" ) static Bounds field87; @ObfuscatedName("db") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive4") static Archive archive4; @@ -57,7 +57,7 @@ public class GrandExchangeOffer { } @ObfuscatedSignature( - signature = "(Lkn;Z)V", + descriptor = "(Lkn;Z)V", garbageValue = "0" ) public GrandExchangeOffer(Buffer var1, boolean var2) { @@ -71,7 +71,7 @@ public class GrandExchangeOffer { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "271165601" ) @Export("status") @@ -81,7 +81,7 @@ public class GrandExchangeOffer { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-2130764898" ) @Export("type") @@ -91,7 +91,7 @@ public class GrandExchangeOffer { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-308953741" ) void method172(int var1) { @@ -101,7 +101,7 @@ public class GrandExchangeOffer { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "1" ) void method173(int var1) { @@ -114,7 +114,7 @@ public class GrandExchangeOffer { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "([Lch;II[I[II)V", + descriptor = "([Lch;II[I[II)V", garbageValue = "-1520869912" ) @Export("sortWorlds") @@ -226,7 +226,7 @@ public class GrandExchangeOffer { @ObfuscatedName("t") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "-2096234716" ) static int method194(int var0, Script var1, boolean var2) { @@ -264,7 +264,7 @@ public class GrandExchangeOffer { @ObfuscatedName("al") @ObfuscatedSignature( - signature = "(II)I", + descriptor = "(II)I", garbageValue = "-1566307415" ) static int method176(int var0) { @@ -273,7 +273,7 @@ public class GrandExchangeOffer { @ObfuscatedName("hp") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1931279198" ) @Export("Widget_runOnTargetLeave") @@ -294,7 +294,7 @@ public class GrandExchangeOffer { @ObfuscatedName("jm") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "2119897094" ) static void method189(int var0, int var1) { @@ -304,7 +304,7 @@ public class GrandExchangeOffer { @ObfuscatedName("jf") @ObfuscatedSignature( - signature = "(IIIILlz;Lhh;B)V", + descriptor = "(IIIILlz;Lhh;B)V", garbageValue = "105" ) @Export("drawSpriteOnMinimap") @@ -329,7 +329,7 @@ public class GrandExchangeOffer { @ObfuscatedName("kp") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1908400826" ) @Export("Clan_leaveChat") @@ -341,7 +341,7 @@ public class GrandExchangeOffer { @ObfuscatedName("kj") @ObfuscatedSignature( - signature = "(IIIZB)V", + descriptor = "(IIIZB)V", garbageValue = "43" ) public static void method191(int var0, int var1, int var2, boolean var3) { diff --git a/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java b/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java index d50370e60f..c49c186a3f 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java @@ -16,7 +16,7 @@ final class GrandExchangeOfferAgeComparator implements Comparator { static int widgetDragDuration; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lfm;" + descriptor = "Lfm;" ) @Export("taskHandler") protected static TaskHandler taskHandler; @@ -29,7 +29,7 @@ final class GrandExchangeOfferAgeComparator implements Comparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ls;Ls;I)I", + descriptor = "(Ls;Ls;I)I", garbageValue = "-2089427647" ) @Export("compare_bridged") @@ -47,7 +47,7 @@ final class GrandExchangeOfferAgeComparator implements Comparator { @ObfuscatedName("gg") @ObfuscatedSignature( - signature = "(IIIIIIII)V", + descriptor = "(IIIIIIII)V", garbageValue = "1928902850" ) static final void method224(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { diff --git a/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java b/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java index 995cc6f20d..af56203e05 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java @@ -9,20 +9,20 @@ import net.runelite.mapping.ObfuscatedSignature; final class GrandExchangeOfferNameComparator implements Comparator { @ObfuscatedName("fv") @ObfuscatedSignature( - signature = "Lko;" + descriptor = "Lko;" ) @Export("fontBold12") static Font fontBold12; @ObfuscatedName("gt") @ObfuscatedSignature( - signature = "Llz;" + descriptor = "Llz;" ) @Export("compass") static Sprite compass; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ls;Ls;I)I", + descriptor = "(Ls;Ls;I)I", garbageValue = "1584423872" ) @Export("compare_bridged") @@ -40,7 +40,7 @@ final class GrandExchangeOfferNameComparator implements Comparator { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)[Ljc;", + descriptor = "(I)[Ljc;", garbageValue = "491674021" ) static HorizontalAlignment[] method207() { @@ -49,7 +49,7 @@ final class GrandExchangeOfferNameComparator implements Comparator { @ObfuscatedName("e") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-678921308" ) static void method213() { @@ -59,7 +59,7 @@ final class GrandExchangeOfferNameComparator implements Comparator { @ObfuscatedName("kt") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "-350266063" ) static void method214(Buffer var0, int var1) { @@ -74,7 +74,7 @@ final class GrandExchangeOfferNameComparator implements Comparator { @ObfuscatedName("kv") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-2098531910" ) static void method206() { diff --git a/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java b/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java index 0dd2944994..5107a4a6b9 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java @@ -23,7 +23,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ls;Ls;I)I", + descriptor = "(Ls;Ls;I)I", garbageValue = "646157510" ) @Export("compare_bridged") @@ -55,7 +55,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "987190791" ) static int method1342(int var0, Script var1, boolean var2) { @@ -116,7 +116,7 @@ public class GrandExchangeOfferOwnWorldComparator implements Comparator { @ObfuscatedName("fq") @ObfuscatedSignature( - signature = "(Ljm;IIII)V", + descriptor = "(Ljm;IIII)V", garbageValue = "1251688899" ) @Export("addSequenceSoundEffect") diff --git a/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java b/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java index 6239d18d48..7bf9968c6e 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java @@ -12,7 +12,7 @@ import netscape.javascript.JSObject; final class GrandExchangeOfferTotalQuantityComparator implements Comparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ls;Ls;I)I", + descriptor = "(Ls;Ls;I)I", garbageValue = "-1370720727" ) @Export("compare_bridged") @@ -30,7 +30,7 @@ final class GrandExchangeOfferTotalQuantityComparator implements Comparator { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Ljava/lang/String;ILjava/lang/String;B)Z", + descriptor = "(Ljava/lang/String;ILjava/lang/String;B)Z", garbageValue = "-68" ) static boolean method165(String var0, int var1, String var2) { diff --git a/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java b/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java index 2e5f75207d..e6e6451651 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java @@ -11,7 +11,7 @@ import net.runelite.mapping.ObfuscatedSignature; final class GrandExchangeOfferUnitPriceComparator implements Comparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ls;Ls;B)I", + descriptor = "(Ls;Ls;B)I", garbageValue = "0" ) @Export("compare_bridged") @@ -29,7 +29,7 @@ final class GrandExchangeOfferUnitPriceComparator implements Comparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lic;Lic;B)V", + descriptor = "(Lic;Lic;B)V", garbageValue = "15" ) public static void method195(AbstractArchive var0, AbstractArchive var1) { @@ -40,7 +40,7 @@ final class GrandExchangeOfferUnitPriceComparator implements Comparator { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)Z", + descriptor = "(Ljava/lang/String;I)Z", garbageValue = "-1062830390" ) static boolean method204(String var0) { @@ -58,7 +58,7 @@ final class GrandExchangeOfferUnitPriceComparator implements Comparator { @ObfuscatedName("ar") @ObfuscatedSignature( - signature = "(Ljg;S)Z", + descriptor = "(Ljg;S)Z", garbageValue = "255" ) static boolean method202(ObjectDefinition var0) { @@ -81,7 +81,7 @@ final class GrandExchangeOfferUnitPriceComparator implements Comparator { @ObfuscatedName("ix") @ObfuscatedSignature( - signature = "([Lhd;IIIZB)V", + descriptor = "([Lhd;IIIZB)V", garbageValue = "0" ) @Export("resizeInterface") diff --git a/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java b/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java index e3b6dbe94c..5a54d7b3e1 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java @@ -10,13 +10,13 @@ import net.runelite.rs.ScriptOpcodes; final class GrandExchangeOfferWorldComparator implements Comparator { @ObfuscatedName("bf") @ObfuscatedSignature( - signature = "Lib;" + descriptor = "Lib;" ) static StudioGame field54; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ls;Ls;B)I", + descriptor = "(Ls;Ls;B)I", garbageValue = "-1" ) @Export("compare_bridged") @@ -34,7 +34,7 @@ final class GrandExchangeOfferWorldComparator implements Comparator { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "1613064985" ) static int method137(int var0, Script var1, boolean var2) { diff --git a/runescape-client/src/main/java/GraphicsDefaults.java b/runescape-client/src/main/java/GraphicsDefaults.java index 5060616be0..c40cfeb59c 100644 --- a/runescape-client/src/main/java/GraphicsDefaults.java +++ b/runescape-client/src/main/java/GraphicsDefaults.java @@ -82,7 +82,7 @@ public class GraphicsDefaults { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lic;B)V", + descriptor = "(Lic;B)V", garbageValue = "0" ) @Export("decode") diff --git a/runescape-client/src/main/java/GraphicsObject.java b/runescape-client/src/main/java/GraphicsObject.java index e09cfd9b83..2151a36653 100644 --- a/runescape-client/src/main/java/GraphicsObject.java +++ b/runescape-client/src/main/java/GraphicsObject.java @@ -14,7 +14,7 @@ public final class GraphicsObject extends Entity { static long field1139; @ObfuscatedName("dz") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive10") static Archive archive10; @@ -56,7 +56,7 @@ public final class GraphicsObject extends Entity { int height; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Ljm;" + descriptor = "Ljm;" ) @Export("sequenceDefinition") SequenceDefinition sequenceDefinition; @@ -98,7 +98,7 @@ public final class GraphicsObject extends Entity { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-1084299452" ) @Export("advance") @@ -120,7 +120,7 @@ public final class GraphicsObject extends Entity { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(I)Lef;", + descriptor = "(I)Lef;", garbageValue = "1832696685" ) @Export("getModel") diff --git a/runescape-client/src/main/java/HealthBar.java b/runescape-client/src/main/java/HealthBar.java index 67d6c3713d..d83f6f8564 100644 --- a/runescape-client/src/main/java/HealthBar.java +++ b/runescape-client/src/main/java/HealthBar.java @@ -11,25 +11,25 @@ import net.runelite.mapping.ObfuscatedSignature; public class HealthBar extends Node { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Llh;" + descriptor = "Llh;" ) @Export("titleboxSprite") static IndexedSprite titleboxSprite; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lik;" + descriptor = "Lik;" ) @Export("definition") HealthBarDefinition definition; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Ljx;" + descriptor = "Ljx;" ) @Export("updates") IterableNodeDeque updates; @ObfuscatedSignature( - signature = "(Lik;)V" + descriptor = "(Lik;)V" ) HealthBar(HealthBarDefinition var1) { this.updates = new IterableNodeDeque(); @@ -38,7 +38,7 @@ public class HealthBar extends Node { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(IIIIB)V", + descriptor = "(IIIIB)V", garbageValue = "-61" ) @Export("put") @@ -74,7 +74,7 @@ public class HealthBar extends Node { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(II)Lcb;", + descriptor = "(II)Lcb;", garbageValue = "-200581175" ) @Export("get") @@ -99,7 +99,7 @@ public class HealthBar extends Node { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "1424696628" ) @Export("isEmpty") @@ -109,7 +109,7 @@ public class HealthBar extends Node { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;III)V", + descriptor = "(Ljava/lang/String;Ljava/lang/String;III)V", garbageValue = "1011181344" ) public static void method2137(String var0, String var1, int var2, int var3) throws IOException { @@ -330,7 +330,7 @@ public class HealthBar extends Node { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lic;IIB)[Llh;", + descriptor = "(Lic;IIB)[Llh;", garbageValue = "-91" ) public static IndexedSprite[] method2125(AbstractArchive var0, int var1, int var2) { @@ -348,7 +348,7 @@ public class HealthBar extends Node { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-631398790" ) public static void method2133() { @@ -357,7 +357,7 @@ public class HealthBar extends Node { @ObfuscatedName("eb") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-57" ) @Export("load") @@ -733,7 +733,7 @@ public class HealthBar extends Node { @ObfuscatedName("go") @ObfuscatedSignature( - signature = "(IIIS)V", + descriptor = "(IIIS)V", garbageValue = "3305" ) @Export("worldToScreen") diff --git a/runescape-client/src/main/java/HealthBarDefinition.java b/runescape-client/src/main/java/HealthBarDefinition.java index 6495c3e949..f698b2a033 100644 --- a/runescape-client/src/main/java/HealthBarDefinition.java +++ b/runescape-client/src/main/java/HealthBarDefinition.java @@ -9,25 +9,25 @@ import net.runelite.mapping.ObfuscatedSignature; public class HealthBarDefinition extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("HealthBarDefinition_archive") public static AbstractArchive HealthBarDefinition_archive; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("HitSplatDefinition_spritesArchive") public static AbstractArchive HitSplatDefinition_spritesArchive; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("HealthBarDefinition_cached") public static EvictingDualNodeHashTable HealthBarDefinition_cached; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("HealthBarDefinition_cachedSprites") static EvictingDualNodeHashTable HealthBarDefinition_cachedSprites; @@ -115,7 +115,7 @@ public class HealthBarDefinition extends DualNode { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "-2036090908" ) @Export("decode") @@ -132,7 +132,7 @@ public class HealthBarDefinition extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "-2145351852" ) @Export("decodeNext") @@ -165,7 +165,7 @@ public class HealthBarDefinition extends DualNode { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)Llz;", + descriptor = "(I)Llz;", garbageValue = "65535" ) @Export("getFrontSprite") @@ -189,7 +189,7 @@ public class HealthBarDefinition extends DualNode { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(I)Llz;", + descriptor = "(I)Llz;", garbageValue = "1675324789" ) @Export("getBackSprite") @@ -213,7 +213,7 @@ public class HealthBarDefinition extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(IIB)I", + descriptor = "(IIB)I", garbageValue = "-32" ) static int method4673(int var0, int var1) { @@ -227,7 +227,7 @@ public class HealthBarDefinition extends DualNode { @ObfuscatedName("kd") @ObfuscatedSignature( - signature = "(Ljava/lang/String;ZI)Ljava/lang/String;", + descriptor = "(Ljava/lang/String;ZI)Ljava/lang/String;", garbageValue = "-1975463268" ) static String method4669(String var0, boolean var1) { diff --git a/runescape-client/src/main/java/HealthBarUpdate.java b/runescape-client/src/main/java/HealthBarUpdate.java index ec6264e43c..317923f4a1 100644 --- a/runescape-client/src/main/java/HealthBarUpdate.java +++ b/runescape-client/src/main/java/HealthBarUpdate.java @@ -10,7 +10,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class HealthBarUpdate extends Node { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "Ldh;" + descriptor = "Ldh;" ) @Export("pcmPlayerProvider") static PlayerProvider pcmPlayerProvider; @@ -52,7 +52,7 @@ public class HealthBarUpdate extends Node { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(IIIII)V", + descriptor = "(IIIII)V", garbageValue = "880697270" ) @Export("set") diff --git a/runescape-client/src/main/java/HitSplatDefinition.java b/runescape-client/src/main/java/HitSplatDefinition.java index 7b1ef0720d..8ade6bed37 100644 --- a/runescape-client/src/main/java/HitSplatDefinition.java +++ b/runescape-client/src/main/java/HitSplatDefinition.java @@ -9,36 +9,36 @@ import net.runelite.mapping.ObfuscatedSignature; public class HitSplatDefinition extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("HitSplatDefinition_archive") public static AbstractArchive HitSplatDefinition_archive; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) public static AbstractArchive field3356; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("HitSplatDefinition_fontsArchive") public static AbstractArchive HitSplatDefinition_fontsArchive; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("HitSplatDefinition_cached") public static EvictingDualNodeHashTable HitSplatDefinition_cached; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("HitSplatDefinition_cachedSprites") public static EvictingDualNodeHashTable HitSplatDefinition_cachedSprites; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("HitSplatDefinition_cachedFonts") public static EvictingDualNodeHashTable HitSplatDefinition_cachedFonts; @@ -154,7 +154,7 @@ public class HitSplatDefinition extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkn;B)V", + descriptor = "(Lkn;B)V", garbageValue = "-108" ) @Export("decode") @@ -171,7 +171,7 @@ public class HitSplatDefinition extends DualNode { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "-2104480969" ) @Export("decodeNext") @@ -240,7 +240,7 @@ public class HitSplatDefinition extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(S)Ljs;", + descriptor = "(S)Ljs;", garbageValue = "24687" ) @Export("transform") @@ -283,7 +283,7 @@ public class HitSplatDefinition extends DualNode { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(II)Ljava/lang/String;", + descriptor = "(II)Ljava/lang/String;", garbageValue = "2134005517" ) @Export("getString") @@ -302,7 +302,7 @@ public class HitSplatDefinition extends DualNode { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(B)Llz;", + descriptor = "(B)Llz;", garbageValue = "85" ) public Sprite method4755() { @@ -325,7 +325,7 @@ public class HitSplatDefinition extends DualNode { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)Llz;", + descriptor = "(I)Llz;", garbageValue = "-2111693825" ) public Sprite method4756() { @@ -348,7 +348,7 @@ public class HitSplatDefinition extends DualNode { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(B)Llz;", + descriptor = "(B)Llz;", garbageValue = "1" ) public Sprite method4752() { @@ -371,7 +371,7 @@ public class HitSplatDefinition extends DualNode { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(I)Llz;", + descriptor = "(I)Llz;", garbageValue = "148088504" ) public Sprite method4763() { @@ -394,7 +394,7 @@ public class HitSplatDefinition extends DualNode { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(B)Lko;", + descriptor = "(B)Lko;", garbageValue = "-13" ) @Export("getFont") @@ -418,7 +418,7 @@ public class HitSplatDefinition extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkb;B)V", + descriptor = "(Lkb;B)V", garbageValue = "121" ) @Export("updatePlayer") diff --git a/runescape-client/src/main/java/HorizontalAlignment.java b/runescape-client/src/main/java/HorizontalAlignment.java index b4494ac759..2c655f4be1 100644 --- a/runescape-client/src/main/java/HorizontalAlignment.java +++ b/runescape-client/src/main/java/HorizontalAlignment.java @@ -9,18 +9,18 @@ import net.runelite.mapping.ObfuscatedSignature; public enum HorizontalAlignment implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Ljc;" + descriptor = "Ljc;" ) field3488(2, 0), @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Ljc;" + descriptor = "Ljc;" ) @Export("HorizontalAlignment_centered") HorizontalAlignment_centered(1, 1), @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Ljc;" + descriptor = "Ljc;" ) field3492(0, 2); @@ -47,7 +47,7 @@ public enum HorizontalAlignment implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-995092303" ) @Export("rsOrdinal") diff --git a/runescape-client/src/main/java/Huffman.java b/runescape-client/src/main/java/Huffman.java index a7007c2285..18bb814a14 100644 --- a/runescape-client/src/main/java/Huffman.java +++ b/runescape-client/src/main/java/Huffman.java @@ -9,7 +9,7 @@ import net.runelite.rs.ScriptOpcodes; public class Huffman { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("musicTrackArchive") public static AbstractArchive musicTrackArchive; @@ -108,7 +108,7 @@ public class Huffman { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "([BII[BII)I", + descriptor = "([BII[BII)I", garbageValue = "1506774655" ) @Export("compress") @@ -159,7 +159,7 @@ public class Huffman { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "([BI[BIII)I", + descriptor = "([BI[BIII)I", garbageValue = "-417422425" ) @Export("decompress") @@ -303,7 +303,7 @@ public class Huffman { @ObfuscatedName("e") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "-2030952139" ) static int method4099(int var0, Script var1, boolean var2) { diff --git a/runescape-client/src/main/java/IgnoreList.java b/runescape-client/src/main/java/IgnoreList.java index 8b4a4ed8fd..c2625ba78a 100644 --- a/runescape-client/src/main/java/IgnoreList.java +++ b/runescape-client/src/main/java/IgnoreList.java @@ -8,13 +8,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class IgnoreList extends UserList { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lmo;" + descriptor = "Lmo;" ) @Export("loginType") final LoginType loginType; @ObfuscatedSignature( - signature = "(Lmo;)V" + descriptor = "(Lmo;)V" ) public IgnoreList(LoginType var1) { super(400); @@ -23,7 +23,7 @@ public class IgnoreList extends UserList { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)Ljf;", + descriptor = "(I)Ljf;", garbageValue = "551595115" ) @Export("newInstance") @@ -33,7 +33,7 @@ public class IgnoreList extends UserList { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(II)[Ljf;", + descriptor = "(II)[Ljf;", garbageValue = "1959965595" ) @Export("newTypedArray") @@ -43,7 +43,7 @@ public class IgnoreList extends UserList { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkn;IB)V", + descriptor = "(Lkn;IB)V", garbageValue = "77" ) @Export("read") diff --git a/runescape-client/src/main/java/Ignored.java b/runescape-client/src/main/java/Ignored.java index d0cc731af1..c12d42adb0 100644 --- a/runescape-client/src/main/java/Ignored.java +++ b/runescape-client/src/main/java/Ignored.java @@ -19,7 +19,7 @@ public class Ignored extends User { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkc;I)I", + descriptor = "(Lkc;I)I", garbageValue = "-857572865" ) @Export("compareTo_ignored") @@ -29,7 +29,7 @@ public class Ignored extends User { @ObfuscatedName("ah") @ObfuscatedSignature( - signature = "(Ljf;I)I", + descriptor = "(Ljf;I)I", garbageValue = "334051838" ) @Export("compareTo_user") diff --git a/runescape-client/src/main/java/Instrument.java b/runescape-client/src/main/java/Instrument.java index 6850733a63..8df3261823 100644 --- a/runescape-client/src/main/java/Instrument.java +++ b/runescape-client/src/main/java/Instrument.java @@ -33,49 +33,49 @@ public class Instrument { static int[] Instrument_pitchBaseSteps; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lds;" + descriptor = "Lds;" ) @Export("pitch") SoundEnvelope pitch; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lds;" + descriptor = "Lds;" ) @Export("volume") SoundEnvelope volume; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lds;" + descriptor = "Lds;" ) @Export("pitchModifier") SoundEnvelope pitchModifier; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lds;" + descriptor = "Lds;" ) @Export("pitchModifierAmplitude") SoundEnvelope pitchModifierAmplitude; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lds;" + descriptor = "Lds;" ) @Export("volumeMultiplier") SoundEnvelope volumeMultiplier; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lds;" + descriptor = "Lds;" ) @Export("volumeMultiplierAmplitude") SoundEnvelope volumeMultiplierAmplitude; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Lds;" + descriptor = "Lds;" ) @Export("release") SoundEnvelope release; @ObfuscatedName("u") @ObfuscatedSignature( - signature = "Lds;" + descriptor = "Lds;" ) @Export("attack") SoundEnvelope attack; @@ -96,13 +96,13 @@ public class Instrument { int delayDecay; @ObfuscatedName("h") @ObfuscatedSignature( - signature = "Lda;" + descriptor = "Lda;" ) @Export("filter") AudioFilter filter; @ObfuscatedName("k") @ObfuscatedSignature( - signature = "Lds;" + descriptor = "Lds;" ) @Export("filterEnvelope") SoundEnvelope filterEnvelope; @@ -369,7 +369,7 @@ public class Instrument { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkn;)V" + descriptor = "(Lkn;)V" ) @Export("decode") final void decode(Buffer var1) { diff --git a/runescape-client/src/main/java/IntHashTable.java b/runescape-client/src/main/java/IntHashTable.java index aee4fde898..5638ce6808 100644 --- a/runescape-client/src/main/java/IntHashTable.java +++ b/runescape-client/src/main/java/IntHashTable.java @@ -34,7 +34,7 @@ public class IntHashTable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(IB)I", + descriptor = "(IB)I", garbageValue = "-57" ) @Export("get") diff --git a/runescape-client/src/main/java/InterfaceParent.java b/runescape-client/src/main/java/InterfaceParent.java index 9ad5735860..551c53b0ec 100644 --- a/runescape-client/src/main/java/InterfaceParent.java +++ b/runescape-client/src/main/java/InterfaceParent.java @@ -30,7 +30,7 @@ public class InterfaceParent extends Node { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(IIIB)Llz;", + descriptor = "(IIIB)Llz;", garbageValue = "-72" ) static Sprite method1233(int var0, int var1, int var2) { @@ -41,7 +41,7 @@ public class InterfaceParent extends Node { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lbu;I)V", + descriptor = "(Lbu;I)V", garbageValue = "-764301386" ) @Export("runScriptEvent") diff --git a/runescape-client/src/main/java/Interpreter.java b/runescape-client/src/main/java/Interpreter.java index 4da4cdaea1..d4a195dd48 100644 --- a/runescape-client/src/main/java/Interpreter.java +++ b/runescape-client/src/main/java/Interpreter.java @@ -33,7 +33,7 @@ public class Interpreter { static int Interpreter_frameDepth; @ObfuscatedName("y") @ObfuscatedSignature( - signature = "[Lbp;" + descriptor = "[Lbp;" ) @Export("Interpreter_frames") static ScriptFrame[] Interpreter_frames; @@ -72,7 +72,7 @@ public class Interpreter { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IILga;Lfz;S)Z", + descriptor = "(IILga;Lfz;S)Z", garbageValue = "-8766" ) static final boolean method2112(int var0, int var1, RouteStrategy var2, CollisionMap var3) { diff --git a/runescape-client/src/main/java/InvDefinition.java b/runescape-client/src/main/java/InvDefinition.java index e42481558d..98d5d4e8d6 100644 --- a/runescape-client/src/main/java/InvDefinition.java +++ b/runescape-client/src/main/java/InvDefinition.java @@ -10,13 +10,13 @@ import net.runelite.rs.ScriptOpcodes; public class InvDefinition extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("InvDefinition_archive") public static AbstractArchive InvDefinition_archive; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("InvDefinition_cached") static EvictingDualNodeHashTable InvDefinition_cached; @@ -37,7 +37,7 @@ public class InvDefinition extends DualNode { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;B)V", + descriptor = "(Lkn;B)V", garbageValue = "-52" ) @Export("decode") @@ -54,7 +54,7 @@ public class InvDefinition extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "2103513845" ) @Export("decodeNext") @@ -67,7 +67,7 @@ public class InvDefinition extends DualNode { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "1737706956" ) static int method4530(int var0, Script var1, boolean var2) { @@ -256,7 +256,7 @@ public class InvDefinition extends DualNode { @ObfuscatedName("x") @ObfuscatedSignature( - signature = "(ZB)V", + descriptor = "(ZB)V", garbageValue = "93" ) public static void method4523(boolean var0) { diff --git a/runescape-client/src/main/java/IsaacCipher.java b/runescape-client/src/main/java/IsaacCipher.java index c23bce97f9..bb6eacf031 100644 --- a/runescape-client/src/main/java/IsaacCipher.java +++ b/runescape-client/src/main/java/IsaacCipher.java @@ -51,7 +51,7 @@ public final class IsaacCipher { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "-51" ) @Export("nextInt") @@ -66,7 +66,7 @@ public final class IsaacCipher { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1026117939" ) public final int method6467() { @@ -80,7 +80,7 @@ public final class IsaacCipher { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "2064479197" ) @Export("generateMoreResults") @@ -111,7 +111,7 @@ public final class IsaacCipher { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1036873606" ) final void method6476() { diff --git a/runescape-client/src/main/java/ItemContainer.java b/runescape-client/src/main/java/ItemContainer.java index 7138a1892d..5dddd8eed8 100644 --- a/runescape-client/src/main/java/ItemContainer.java +++ b/runescape-client/src/main/java/ItemContainer.java @@ -9,19 +9,19 @@ import net.runelite.mapping.ObfuscatedSignature; public class ItemContainer extends Node { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lle;" + descriptor = "Lle;" ) @Export("itemContainers") static NodeHashTable itemContainers; @ObfuscatedName("u") @ObfuscatedSignature( - signature = "Llz;" + descriptor = "Llz;" ) @Export("rightTitleSprite") static Sprite rightTitleSprite; @ObfuscatedName("ak") @ObfuscatedSignature( - signature = "Llv;" + descriptor = "Llv;" ) static Bounds field567; @ObfuscatedName("ma") @@ -48,7 +48,7 @@ public class ItemContainer extends Node { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(II)Lls;", + descriptor = "(II)Lls;", garbageValue = "-1724420240" ) public static PrivateChatMode method1232(int var0) { @@ -67,7 +67,7 @@ public class ItemContainer extends Node { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(II)Ljava/lang/String;", + descriptor = "(II)Ljava/lang/String;", garbageValue = "1507611056" ) @Export("colorStartTag") @@ -77,7 +77,7 @@ public class ItemContainer extends Node { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(II)Ljr;", + descriptor = "(II)Ljr;", garbageValue = "2131303603" ) @Export("getEnum") @@ -99,7 +99,7 @@ public class ItemContainer extends Node { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(Lch;Lch;IZIZI)I", + descriptor = "(Lch;Lch;IZIZI)I", garbageValue = "-1532099004" ) static int method1225(World var0, World var1, int var2, boolean var3, int var4, boolean var5) { diff --git a/runescape-client/src/main/java/ItemDefinition.java b/runescape-client/src/main/java/ItemDefinition.java index a3abe66595..ea312fd26f 100644 --- a/runescape-client/src/main/java/ItemDefinition.java +++ b/runescape-client/src/main/java/ItemDefinition.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class ItemDefinition extends DualNode { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("ItemDefinition_modelArchive") static AbstractArchive ItemDefinition_modelArchive; @@ -18,19 +18,19 @@ public class ItemDefinition extends DualNode { static byte[][] SpriteBuffer_pixels; @ObfuscatedName("z") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("ItemDefinition_cached") public static EvictingDualNodeHashTable ItemDefinition_cached; @ObfuscatedName("w") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("ItemDefinition_cachedModels") public static EvictingDualNodeHashTable ItemDefinition_cachedModels; @ObfuscatedName("y") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("ItemDefinition_cachedSprites") public static EvictingDualNodeHashTable ItemDefinition_cachedSprites; @@ -252,7 +252,7 @@ public class ItemDefinition extends DualNode { public int team; @ObfuscatedName("be") @ObfuscatedSignature( - signature = "Llf;" + descriptor = "Llf;" ) @Export("params") IterableNodeHashTable params; @@ -333,7 +333,7 @@ public class ItemDefinition extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-196322626" ) @Export("post") @@ -342,7 +342,7 @@ public class ItemDefinition extends DualNode { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "1671660410" ) @Export("decode") @@ -359,7 +359,7 @@ public class ItemDefinition extends DualNode { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "2109543922" ) @Export("decodeNext") @@ -487,7 +487,7 @@ public class ItemDefinition extends DualNode { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(Ljo;Ljo;I)V", + descriptor = "(Ljo;Ljo;I)V", garbageValue = "1175603747" ) @Export("genCert") @@ -511,7 +511,7 @@ public class ItemDefinition extends DualNode { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(Ljo;Ljo;B)V", + descriptor = "(Ljo;Ljo;B)V", garbageValue = "12" ) @Export("genBought") @@ -555,7 +555,7 @@ public class ItemDefinition extends DualNode { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(Ljo;Ljo;I)V", + descriptor = "(Ljo;Ljo;I)V", garbageValue = "-1279749968" ) @Export("genPlaceholder") @@ -580,7 +580,7 @@ public class ItemDefinition extends DualNode { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(IB)Lek;", + descriptor = "(IB)Lek;", garbageValue = "3" ) @Export("getModelData") @@ -626,7 +626,7 @@ public class ItemDefinition extends DualNode { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(II)Lef;", + descriptor = "(II)Lef;", garbageValue = "1775717489" ) @Export("getModel") @@ -680,7 +680,7 @@ public class ItemDefinition extends DualNode { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(II)Ljo;", + descriptor = "(II)Ljo;", garbageValue = "-539705094" ) @Export("getCountObj") @@ -704,7 +704,7 @@ public class ItemDefinition extends DualNode { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(ZB)Z", + descriptor = "(ZB)Z", garbageValue = "118" ) @Export("hasNoValidModel") @@ -740,7 +740,7 @@ public class ItemDefinition extends DualNode { @ObfuscatedName("h") @ObfuscatedSignature( - signature = "(ZI)Lek;", + descriptor = "(ZI)Lek;", garbageValue = "-952045746" ) public final ModelData method4839(boolean var1) { @@ -796,7 +796,7 @@ public class ItemDefinition extends DualNode { @ObfuscatedName("k") @ObfuscatedSignature( - signature = "(ZI)Z", + descriptor = "(ZI)Z", garbageValue = "-209072389" ) public final boolean method4840(boolean var1) { @@ -825,7 +825,7 @@ public class ItemDefinition extends DualNode { @ObfuscatedName("r") @ObfuscatedSignature( - signature = "(ZB)Lek;", + descriptor = "(ZB)Lek;", garbageValue = "52" ) public final ModelData method4841(boolean var1) { @@ -865,7 +865,7 @@ public class ItemDefinition extends DualNode { @ObfuscatedName("d") @ObfuscatedSignature( - signature = "(IIB)I", + descriptor = "(IIB)I", garbageValue = "2" ) @Export("getIntParam") @@ -875,7 +875,7 @@ public class ItemDefinition extends DualNode { @ObfuscatedName("e") @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)Ljava/lang/String;", + descriptor = "(ILjava/lang/String;I)Ljava/lang/String;", garbageValue = "2076909967" ) @Export("getStringParam") @@ -885,7 +885,7 @@ public class ItemDefinition extends DualNode { @ObfuscatedName("l") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "269605013" ) @Export("getShiftClickIndex") diff --git a/runescape-client/src/main/java/IterableDualNodeQueue.java b/runescape-client/src/main/java/IterableDualNodeQueue.java index e34ab98db2..22949da632 100644 --- a/runescape-client/src/main/java/IterableDualNodeQueue.java +++ b/runescape-client/src/main/java/IterableDualNodeQueue.java @@ -9,13 +9,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class IterableDualNodeQueue implements Iterable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lgf;" + descriptor = "Lgf;" ) @Export("sentinel") public DualNode sentinel; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lgf;" + descriptor = "Lgf;" ) @Export("head") DualNode head; @@ -37,7 +37,7 @@ public class IterableDualNodeQueue implements Iterable { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lgf;)V" + descriptor = "(Lgf;)V" ) @Export("add") public void add(DualNode var1) { @@ -53,7 +53,7 @@ public class IterableDualNodeQueue implements Iterable { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "()Lgf;" + descriptor = "()Lgf;" ) @Export("removeLast") public DualNode removeLast() { @@ -68,7 +68,7 @@ public class IterableDualNodeQueue implements Iterable { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "()Lgf;" + descriptor = "()Lgf;" ) @Export("last") public DualNode last() { @@ -77,7 +77,7 @@ public class IterableDualNodeQueue implements Iterable { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(Lgf;)Lgf;" + descriptor = "(Lgf;)Lgf;" ) @Export("previousOrLast") DualNode previousOrLast(DualNode var1) { @@ -99,7 +99,7 @@ public class IterableDualNodeQueue implements Iterable { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "()Lgf;" + descriptor = "()Lgf;" ) @Export("previous") public DualNode previous() { @@ -119,7 +119,7 @@ public class IterableDualNodeQueue implements Iterable { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lgf;Lgf;)V" + descriptor = "(Lgf;Lgf;)V" ) @Export("DualNodeDeque_addBefore") public static void DualNodeDeque_addBefore(DualNode var0, DualNode var1) { diff --git a/runescape-client/src/main/java/IterableDualNodeQueueIterator.java b/runescape-client/src/main/java/IterableDualNodeQueueIterator.java index 4add6e0f02..db766523d8 100644 --- a/runescape-client/src/main/java/IterableDualNodeQueueIterator.java +++ b/runescape-client/src/main/java/IterableDualNodeQueueIterator.java @@ -9,25 +9,25 @@ import net.runelite.mapping.ObfuscatedSignature; public class IterableDualNodeQueueIterator implements Iterator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Ljq;" + descriptor = "Ljq;" ) @Export("queue") IterableDualNodeQueue queue; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lgf;" + descriptor = "Lgf;" ) @Export("head") DualNode head; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lgf;" + descriptor = "Lgf;" ) @Export("last") DualNode last; @ObfuscatedSignature( - signature = "(Ljq;)V" + descriptor = "(Ljq;)V" ) IterableDualNodeQueueIterator(IterableDualNodeQueue var1) { this.last = null; diff --git a/runescape-client/src/main/java/IterableNodeDeque.java b/runescape-client/src/main/java/IterableNodeDeque.java index 36bc483374..fd94b6306d 100644 --- a/runescape-client/src/main/java/IterableNodeDeque.java +++ b/runescape-client/src/main/java/IterableNodeDeque.java @@ -10,13 +10,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class IterableNodeDeque implements Iterable, Collection { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lgr;" + descriptor = "Lgr;" ) @Export("sentinel") Node sentinel; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lgr;" + descriptor = "Lgr;" ) Node field3565; @@ -37,7 +37,7 @@ public class IterableNodeDeque implements Iterable, Collection { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lgr;)V" + descriptor = "(Lgr;)V" ) @Export("addFirst") public void addFirst(Node var1) { @@ -53,7 +53,7 @@ public class IterableNodeDeque implements Iterable, Collection { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lgr;)V" + descriptor = "(Lgr;)V" ) @Export("addLast") public void addLast(Node var1) { @@ -69,7 +69,7 @@ public class IterableNodeDeque implements Iterable, Collection { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "()Lgr;" + descriptor = "()Lgr;" ) @Export("last") public Node last() { @@ -78,7 +78,7 @@ public class IterableNodeDeque implements Iterable, Collection { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(Lgr;)Lgr;" + descriptor = "(Lgr;)Lgr;" ) Node method5064(Node var1) { Node var2; @@ -99,7 +99,7 @@ public class IterableNodeDeque implements Iterable, Collection { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "()Lgr;" + descriptor = "()Lgr;" ) @Export("previous") public Node previous() { @@ -131,7 +131,7 @@ public class IterableNodeDeque implements Iterable, Collection { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "()[Lgr;" + descriptor = "()[Lgr;" ) Node[] method5010() { Node[] var1 = new Node[this.method5008()]; @@ -146,7 +146,7 @@ public class IterableNodeDeque implements Iterable, Collection { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(Lgr;)Z" + descriptor = "(Lgr;)Z" ) boolean method5012(Node var1) { this.addFirst(var1); @@ -221,7 +221,7 @@ public class IterableNodeDeque implements Iterable, Collection { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Lgr;Lgr;)V" + descriptor = "(Lgr;Lgr;)V" ) @Export("IterableNodeDeque_addBefore") public static void IterableNodeDeque_addBefore(Node var0, Node var1) { diff --git a/runescape-client/src/main/java/IterableNodeDequeDescendingIterator.java b/runescape-client/src/main/java/IterableNodeDequeDescendingIterator.java index 0fb4451f7e..b9389e96e9 100644 --- a/runescape-client/src/main/java/IterableNodeDequeDescendingIterator.java +++ b/runescape-client/src/main/java/IterableNodeDequeDescendingIterator.java @@ -9,24 +9,24 @@ import net.runelite.mapping.ObfuscatedSignature; public class IterableNodeDequeDescendingIterator implements Iterator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Ljx;" + descriptor = "Ljx;" ) @Export("deque") IterableNodeDeque deque; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lgr;" + descriptor = "Lgr;" ) Node field3573; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lgr;" + descriptor = "Lgr;" ) @Export("last") Node last; @ObfuscatedSignature( - signature = "(Ljx;)V" + descriptor = "(Ljx;)V" ) IterableNodeDequeDescendingIterator(IterableNodeDeque var1) { this.last = null; @@ -35,7 +35,7 @@ public class IterableNodeDequeDescendingIterator implements Iterator { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(Ljx;)V" + descriptor = "(Ljx;)V" ) @Export("setDeque") void setDeque(IterableNodeDeque var1) { diff --git a/runescape-client/src/main/java/IterableNodeHashTable.java b/runescape-client/src/main/java/IterableNodeHashTable.java index 1572653f5c..ea59fbb89e 100644 --- a/runescape-client/src/main/java/IterableNodeHashTable.java +++ b/runescape-client/src/main/java/IterableNodeHashTable.java @@ -12,19 +12,19 @@ public final class IterableNodeHashTable implements Iterable { int size; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "[Lgr;" + descriptor = "[Lgr;" ) @Export("buckets") Node[] buckets; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lgr;" + descriptor = "Lgr;" ) @Export("currentGet") Node currentGet; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lgr;" + descriptor = "Lgr;" ) @Export("current") Node current; @@ -47,7 +47,7 @@ public final class IterableNodeHashTable implements Iterable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(J)Lgr;" + descriptor = "(J)Lgr;" ) @Export("get") public Node get(long var1) { @@ -67,7 +67,7 @@ public final class IterableNodeHashTable implements Iterable { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lgr;J)V" + descriptor = "(Lgr;J)V" ) @Export("put") public void put(Node var1, long var2) { @@ -105,7 +105,7 @@ public final class IterableNodeHashTable implements Iterable { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "()Lgr;" + descriptor = "()Lgr;" ) @Export("first") public Node first() { @@ -115,7 +115,7 @@ public final class IterableNodeHashTable implements Iterable { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "()Lgr;" + descriptor = "()Lgr;" ) @Export("next") public Node next() { diff --git a/runescape-client/src/main/java/IterableNodeHashTableIterator.java b/runescape-client/src/main/java/IterableNodeHashTableIterator.java index 2893a1ceb9..86071aefe5 100644 --- a/runescape-client/src/main/java/IterableNodeHashTableIterator.java +++ b/runescape-client/src/main/java/IterableNodeHashTableIterator.java @@ -9,13 +9,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class IterableNodeHashTableIterator implements Iterator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Llf;" + descriptor = "Llf;" ) @Export("hashTable") IterableNodeHashTable hashTable; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lgr;" + descriptor = "Lgr;" ) @Export("head") Node head; @@ -24,13 +24,13 @@ public class IterableNodeHashTableIterator implements Iterator { int index; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lgr;" + descriptor = "Lgr;" ) @Export("last") Node last; @ObfuscatedSignature( - signature = "(Llf;)V" + descriptor = "(Llf;)V" ) IterableNodeHashTableIterator(IterableNodeHashTable var1) { this.last = null; diff --git a/runescape-client/src/main/java/JagexCache.java b/runescape-client/src/main/java/JagexCache.java index 4df637ab30..e9d22d0719 100644 --- a/runescape-client/src/main/java/JagexCache.java +++ b/runescape-client/src/main/java/JagexCache.java @@ -15,25 +15,25 @@ public class JagexCache { static File cacheDir; @ObfuscatedName("y") @ObfuscatedSignature( - signature = "Lmn;" + descriptor = "Lmn;" ) @Export("JagexCache_randomDat") public static BufferedFile JagexCache_randomDat; @ObfuscatedName("c") @ObfuscatedSignature( - signature = "Lmn;" + descriptor = "Lmn;" ) @Export("JagexCache_dat2File") public static BufferedFile JagexCache_dat2File; @ObfuscatedName("h") @ObfuscatedSignature( - signature = "Lmn;" + descriptor = "Lmn;" ) @Export("JagexCache_idx255File") public static BufferedFile JagexCache_idx255File; @ObfuscatedName("k") @ObfuscatedSignature( - signature = "[Lmn;" + descriptor = "[Lmn;" ) @Export("JagexCache_idxFiles") public static BufferedFile[] JagexCache_idxFiles; @@ -48,7 +48,7 @@ public class JagexCache { @ObfuscatedName("fn") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "201331676" ) static final void method3625() { diff --git a/runescape-client/src/main/java/KeyHandler.java b/runescape-client/src/main/java/KeyHandler.java index 8fdd245d9d..a90b7faa26 100644 --- a/runescape-client/src/main/java/KeyHandler.java +++ b/runescape-client/src/main/java/KeyHandler.java @@ -13,13 +13,13 @@ import net.runelite.mapping.ObfuscatedSignature; public final class KeyHandler implements KeyListener, FocusListener { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lbg;" + descriptor = "Lbg;" ) @Export("KeyHandler_instance") static KeyHandler KeyHandler_instance; @ObfuscatedName("h") @ObfuscatedSignature( - signature = "Lhd;" + descriptor = "Lhd;" ) static Widget field407; @ObfuscatedName("ck") @@ -74,13 +74,13 @@ public final class KeyHandler implements KeyListener, FocusListener { static int[] KeyHandler_keyCodes; @ObfuscatedName("gw") @ObfuscatedSignature( - signature = "[Llz;" + descriptor = "[Llz;" ) @Export("headIconPrayerSprites") static Sprite[] headIconPrayerSprites; @ObfuscatedName("ju") @ObfuscatedSignature( - signature = "Lhd;" + descriptor = "Lhd;" ) @Export("dragInventoryWidget") static Widget dragInventoryWidget; @@ -192,7 +192,7 @@ public final class KeyHandler implements KeyListener, FocusListener { @ObfuscatedName("fz") @ObfuscatedSignature( - signature = "(IIIIB)V", + descriptor = "(IIIIB)V", garbageValue = "98" ) @Export("drawEntities") @@ -653,7 +653,7 @@ public final class KeyHandler implements KeyListener, FocusListener { @ObfuscatedName("ki") @ObfuscatedSignature( - signature = "(Lhd;I)I", + descriptor = "(Lhd;I)I", garbageValue = "-1756984804" ) @Export("getWidgetClickMask") diff --git a/runescape-client/src/main/java/KitDefinition.java b/runescape-client/src/main/java/KitDefinition.java index 6459f78394..f9d8dac8f4 100644 --- a/runescape-client/src/main/java/KitDefinition.java +++ b/runescape-client/src/main/java/KitDefinition.java @@ -9,13 +9,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class KitDefinition extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("KitDefinition_archive") static AbstractArchive KitDefinition_archive; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("KitDefinition_modelsArchive") static AbstractArchive KitDefinition_modelsArchive; @@ -27,7 +27,7 @@ public class KitDefinition extends DualNode { public static int KitDefinition_fileCount; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("KitDefinition_cached") static EvictingDualNodeHashTable KitDefinition_cached; @@ -74,7 +74,7 @@ public class KitDefinition extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "856121726" ) @Export("decode") @@ -91,7 +91,7 @@ public class KitDefinition extends DualNode { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Lkn;IB)V", + descriptor = "(Lkn;IB)V", garbageValue = "-72" ) @Export("decodeNext") @@ -137,7 +137,7 @@ public class KitDefinition extends DualNode { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "1376663595" ) @Export("ready") @@ -159,7 +159,7 @@ public class KitDefinition extends DualNode { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)Lek;", + descriptor = "(I)Lek;", garbageValue = "-730489630" ) @Export("getModelData") @@ -199,7 +199,7 @@ public class KitDefinition extends DualNode { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "1413999109" ) public boolean method4636() { @@ -216,7 +216,7 @@ public class KitDefinition extends DualNode { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(B)Lek;", + descriptor = "(B)Lek;", garbageValue = "-127" ) @Export("getKitDefinitionModels") @@ -249,7 +249,7 @@ public class KitDefinition extends DualNode { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(II)Ljo;", + descriptor = "(II)Ljo;", garbageValue = "1649830223" ) @Export("ItemDefinition_get") @@ -310,7 +310,7 @@ public class KitDefinition extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(CB)C", + descriptor = "(CB)C", garbageValue = "0" ) static char method4650(char var0) { @@ -389,7 +389,7 @@ public class KitDefinition extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1137606481" ) public static void method4624() { diff --git a/runescape-client/src/main/java/Language.java b/runescape-client/src/main/java/Language.java index 333012d4ca..fed715c5d2 100644 --- a/runescape-client/src/main/java/Language.java +++ b/runescape-client/src/main/java/Language.java @@ -10,49 +10,49 @@ import net.runelite.mapping.ObfuscatedSignature; public class Language implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lgz;" + descriptor = "Lgz;" ) @Export("Language_EN") public static final Language Language_EN; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lgz;" + descriptor = "Lgz;" ) @Export("Language_DE") static final Language Language_DE; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lgz;" + descriptor = "Lgz;" ) @Export("Language_FR") public static final Language Language_FR; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lgz;" + descriptor = "Lgz;" ) @Export("Language_PT") static final Language Language_PT; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lgz;" + descriptor = "Lgz;" ) @Export("Language_NL") static final Language Language_NL; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lgz;" + descriptor = "Lgz;" ) @Export("Language_ES") public static final Language Language_ES; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Lgz;" + descriptor = "Lgz;" ) @Export("Language_ES_MX") static final Language Language_ES_MX; @ObfuscatedName("w") @ObfuscatedSignature( - signature = "[Lgz;" + descriptor = "[Lgz;" ) @Export("Language_valuesOrdered") static final Language[] Language_valuesOrdered; @@ -92,7 +92,7 @@ public class Language implements Enumerated { } @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lge;ILjava/lang/String;)V" + descriptor = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lge;ILjava/lang/String;)V" ) Language(String var1, String var2, String var3, ModeWhere var4, int var5, String var6) { this.field2396 = var1; @@ -108,7 +108,7 @@ public class Language implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-995092303" ) @Export("rsOrdinal") @@ -118,7 +118,7 @@ public class Language implements Enumerated { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(B)Ljava/lang/String;", + descriptor = "(B)Ljava/lang/String;", garbageValue = "-15" ) @Export("getLanguage") @@ -132,7 +132,7 @@ public class Language implements Enumerated { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Llf;III)I", + descriptor = "(Llf;III)I", garbageValue = "924911925" ) static int method3801(IterableNodeHashTable var0, int var1, int var2) { @@ -146,7 +146,7 @@ public class Language implements Enumerated { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)[Lgz;", + descriptor = "(I)[Lgz;", garbageValue = "1898345943" ) static Language[] method3783() { @@ -155,7 +155,7 @@ public class Language implements Enumerated { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(IB)Lbr;", + descriptor = "(IB)Lbr;", garbageValue = "-87" ) @Export("Messages_getMessage") @@ -165,7 +165,7 @@ public class Language implements Enumerated { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(IB)Lgz;", + descriptor = "(IB)Lgz;", garbageValue = "-67" ) @Export("Language_get") @@ -181,7 +181,7 @@ public class Language implements Enumerated { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(Lko;Lko;I)V", + descriptor = "(Lko;Lko;I)V", garbageValue = "916076858" ) static void method3786(Font var0, Font var1) { @@ -429,7 +429,7 @@ public class Language implements Enumerated { @ObfuscatedName("gj") @ObfuscatedSignature( - signature = "(IIII)I", + descriptor = "(IIII)I", garbageValue = "179125696" ) @Export("getTileHeight") @@ -454,7 +454,7 @@ public class Language implements Enumerated { @ObfuscatedName("jg") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "-1826045916" ) @Export("runIntfCloseListeners") diff --git a/runescape-client/src/main/java/Link.java b/runescape-client/src/main/java/Link.java index 9cd542bddd..bf655d36ed 100644 --- a/runescape-client/src/main/java/Link.java +++ b/runescape-client/src/main/java/Link.java @@ -8,13 +8,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class Link { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lgd;" + descriptor = "Lgd;" ) @Export("previous") public Link previous; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lgd;" + descriptor = "Lgd;" ) @Export("next") public Link next; diff --git a/runescape-client/src/main/java/LinkDeque.java b/runescape-client/src/main/java/LinkDeque.java index a4e55df494..56b284714a 100644 --- a/runescape-client/src/main/java/LinkDeque.java +++ b/runescape-client/src/main/java/LinkDeque.java @@ -8,13 +8,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class LinkDeque { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lgd;" + descriptor = "Lgd;" ) @Export("sentinel") Link sentinel; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lgd;" + descriptor = "Lgd;" ) @Export("current") Link current; @@ -27,7 +27,7 @@ public class LinkDeque { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lgd;)V" + descriptor = "(Lgd;)V" ) @Export("addFirst") public void addFirst(Link var1) { @@ -43,7 +43,7 @@ public class LinkDeque { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "()Lgd;" + descriptor = "()Lgd;" ) @Export("last") public Link last() { @@ -59,7 +59,7 @@ public class LinkDeque { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "()Lgd;" + descriptor = "()Lgd;" ) @Export("previous") public Link previous() { diff --git a/runescape-client/src/main/java/Login.java b/runescape-client/src/main/java/Login.java index 7183c0cc4a..1295833d13 100644 --- a/runescape-client/src/main/java/Login.java +++ b/runescape-client/src/main/java/Login.java @@ -16,31 +16,31 @@ public class Login { static int xPadding; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "[Llh;" + descriptor = "[Llh;" ) @Export("runesSprite") static IndexedSprite[] runesSprite; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Llz;" + descriptor = "Llz;" ) @Export("leftTitleSprite") static Sprite leftTitleSprite; @ObfuscatedName("a") @ObfuscatedSignature( - signature = "Llh;" + descriptor = "Llh;" ) @Export("logoSprite") static IndexedSprite logoSprite; @ObfuscatedName("w") @ObfuscatedSignature( - signature = "Llh;" + descriptor = "Llh;" ) @Export("options_buttons_0Sprite") static IndexedSprite options_buttons_0Sprite; @ObfuscatedName("k") @ObfuscatedSignature( - signature = "Lcw;" + descriptor = "Lcw;" ) @Export("loginScreenRunesAnimation") static LoginScreenAnimation loginScreenRunesAnimation; @@ -173,7 +173,7 @@ public class Login { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(IIILga;Lfz;Z[I[IB)I", + descriptor = "(IIILga;Lfz;Z[I[IB)I", garbageValue = "0" ) public static int method2235(int var0, int var1, int var2, RouteStrategy var3, CollisionMap var4, boolean var5, int[] var6, int[] var7) { @@ -290,7 +290,7 @@ public class Login { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(IILga;Lfz;I)Z", + descriptor = "(IILga;Lfz;I)Z", garbageValue = "783701635" ) static final boolean method2234(int var0, int var1, RouteStrategy var2, CollisionMap var3) { diff --git a/runescape-client/src/main/java/LoginPacket.java b/runescape-client/src/main/java/LoginPacket.java index d137e0171b..844337a44c 100644 --- a/runescape-client/src/main/java/LoginPacket.java +++ b/runescape-client/src/main/java/LoginPacket.java @@ -9,37 +9,37 @@ import net.runelite.mapping.ObfuscatedSignature; public class LoginPacket implements class190 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lgx;" + descriptor = "Lgx;" ) public static final LoginPacket field2352; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lgx;" + descriptor = "Lgx;" ) static final LoginPacket field2350; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lgx;" + descriptor = "Lgx;" ) public static final LoginPacket field2347; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lgx;" + descriptor = "Lgx;" ) public static final LoginPacket field2348; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lgx;" + descriptor = "Lgx;" ) public static final LoginPacket field2345; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lgx;" + descriptor = "Lgx;" ) static final LoginPacket field2346; @ObfuscatedName("u") @ObfuscatedSignature( - signature = "[Lgx;" + descriptor = "[Lgx;" ) @Export("LoginPacket_indexedValues") static final LoginPacket[] LoginPacket_indexedValues; @@ -67,7 +67,7 @@ public class LoginPacket implements class190 { } @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "0" ) LoginPacket(int var1, int var2) { @@ -76,7 +76,7 @@ public class LoginPacket implements class190 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(II)Lik;", + descriptor = "(II)Lik;", garbageValue = "-729077438" ) public static HealthBarDefinition method3745(int var0) { diff --git a/runescape-client/src/main/java/LoginScreenAnimation.java b/runescape-client/src/main/java/LoginScreenAnimation.java index 1f6a8ffff9..607f755499 100644 --- a/runescape-client/src/main/java/LoginScreenAnimation.java +++ b/runescape-client/src/main/java/LoginScreenAnimation.java @@ -16,7 +16,7 @@ public class LoginScreenAnimation { static int selectedItemSlot; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "[Llh;" + descriptor = "[Llh;" ) @Export("sprites") IndexedSprite[] sprites; @@ -70,7 +70,7 @@ public class LoginScreenAnimation { int field1074; @ObfuscatedSignature( - signature = "([Llh;)V" + descriptor = "([Llh;)V" ) LoginScreenAnimation(IndexedSprite[] var1) { this.field1075 = new int[256]; @@ -86,7 +86,7 @@ public class LoginScreenAnimation { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-16" ) @Export("initColors") @@ -157,7 +157,7 @@ public class LoginScreenAnimation { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "2116735890" ) void method1878() { @@ -175,7 +175,7 @@ public class LoginScreenAnimation { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "-1329214185" ) @Export("draw") @@ -203,7 +203,7 @@ public class LoginScreenAnimation { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-305399146" ) final void method1880(int var1) { @@ -337,7 +337,7 @@ public class LoginScreenAnimation { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(IIII)I", + descriptor = "(IIII)I", garbageValue = "353428721" ) final int method1891(int var1, int var2, int var3) { @@ -347,7 +347,7 @@ public class LoginScreenAnimation { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "40685678" ) final void method1882(int var1) { @@ -367,7 +367,7 @@ public class LoginScreenAnimation { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(I[IB)V", + descriptor = "(I[IB)V", garbageValue = "41" ) final void method1886(int var1, int[] var2) { @@ -387,7 +387,7 @@ public class LoginScreenAnimation { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "15252473" ) final void method1884(int var1) { @@ -431,7 +431,7 @@ public class LoginScreenAnimation { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(Llh;I)V", + descriptor = "(Llh;I)V", garbageValue = "-760749522" ) final void method1885(IndexedSprite var1) { @@ -480,7 +480,7 @@ public class LoginScreenAnimation { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "([BIIIIIII[Lfz;I)V", + descriptor = "([BIIIIIII[Lfz;I)V", garbageValue = "66216788" ) static final void method1879(byte[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, CollisionMap[] var8) { @@ -527,7 +527,7 @@ public class LoginScreenAnimation { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "-83" ) static void method1908(int var0) { @@ -539,7 +539,7 @@ public class LoginScreenAnimation { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-49" ) static void method1906() { @@ -551,7 +551,7 @@ public class LoginScreenAnimation { @ObfuscatedName("av") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "-1332294124" ) static int method1883(int var0, Script var1, boolean var2) { diff --git a/runescape-client/src/main/java/LoginType.java b/runescape-client/src/main/java/LoginType.java index 27247dcd18..f316c2f340 100644 --- a/runescape-client/src/main/java/LoginType.java +++ b/runescape-client/src/main/java/LoginType.java @@ -9,48 +9,48 @@ import net.runelite.mapping.ObfuscatedSignature; public class LoginType { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lmo;" + descriptor = "Lmo;" ) @Export("oldscape") public static final LoginType oldscape; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lmo;" + descriptor = "Lmo;" ) static final LoginType field4052; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lmo;" + descriptor = "Lmo;" ) static final LoginType field4056; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lmo;" + descriptor = "Lmo;" ) static final LoginType field4054; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lmo;" + descriptor = "Lmo;" ) static final LoginType field4058; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lmo;" + descriptor = "Lmo;" ) static final LoginType field4055; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Lmo;" + descriptor = "Lmo;" ) static final LoginType field4053; @ObfuscatedName("u") @ObfuscatedSignature( - signature = "Lmo;" + descriptor = "Lmo;" ) static final LoginType field4061; @ObfuscatedName("a") @ObfuscatedSignature( - signature = "Lmo;" + descriptor = "Lmo;" ) public static final LoginType field4059; @ObfuscatedName("z") @@ -79,7 +79,7 @@ public class LoginType { } @ObfuscatedSignature( - signature = "(IILjava/lang/String;Ljava/lang/String;Z[Lmo;)V" + descriptor = "(IILjava/lang/String;Ljava/lang/String;Z[Lmo;)V" ) LoginType(int var1, int var2, String var3, String var4, boolean var5, LoginType[] var6) { this.field4060 = var1; diff --git a/runescape-client/src/main/java/MenuAction.java b/runescape-client/src/main/java/MenuAction.java index 4a2fc8c2bd..869518cc20 100644 --- a/runescape-client/src/main/java/MenuAction.java +++ b/runescape-client/src/main/java/MenuAction.java @@ -40,7 +40,7 @@ public class MenuAction { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "([BZI)Ljava/lang/Object;", + descriptor = "([BZI)Ljava/lang/Object;", garbageValue = "1257898423" ) public static Object method2169(byte[] var0, boolean var1) { @@ -57,7 +57,7 @@ public class MenuAction { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lic;Lic;I)V", + descriptor = "(Lic;Lic;I)V", garbageValue = "1591696142" ) public static void method2171(AbstractArchive var0, AbstractArchive var1) { @@ -67,7 +67,7 @@ public class MenuAction { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(ILic;IIIZI)V", + descriptor = "(ILic;IIIZI)V", garbageValue = "896837453" ) @Export("playMusicTrack") diff --git a/runescape-client/src/main/java/Message.java b/runescape-client/src/main/java/Message.java index 0d463e16f0..276134616e 100644 --- a/runescape-client/src/main/java/Message.java +++ b/runescape-client/src/main/java/Message.java @@ -9,13 +9,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class Message extends DualNode { @ObfuscatedName("dg") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive1") static Archive archive1; @ObfuscatedName("dy") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive12") static Archive archive12; @@ -42,19 +42,19 @@ public class Message extends DualNode { String sender; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lkq;" + descriptor = "Lkq;" ) @Export("senderUsername") Username senderUsername; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lkf;" + descriptor = "Lkf;" ) @Export("isFromFriend0") TriBool isFromFriend0; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Lkf;" + descriptor = "Lkf;" ) @Export("isFromIgnored0") TriBool isFromIgnored0; @@ -73,7 +73,7 @@ public class Message extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", + descriptor = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", garbageValue = "-427651151" ) @Export("set") @@ -92,7 +92,7 @@ public class Message extends DualNode { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "2093900647" ) @Export("clearIsFromFriend") @@ -102,7 +102,7 @@ public class Message extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "1408976904" ) @Export("isFromFriend") @@ -116,7 +116,7 @@ public class Message extends DualNode { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "511529108" ) @Export("fillIsFromFriend") @@ -126,7 +126,7 @@ public class Message extends DualNode { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "108" ) @Export("clearIsFromIgnored") @@ -136,7 +136,7 @@ public class Message extends DualNode { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(B)Z", + descriptor = "(B)Z", garbageValue = "-124" ) @Export("isFromIgnored") @@ -150,7 +150,7 @@ public class Message extends DualNode { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-558597226" ) @Export("fillIsFromIgnored") @@ -160,7 +160,7 @@ public class Message extends DualNode { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1793288574" ) @Export("fillSenderUsername") @@ -175,7 +175,7 @@ public class Message extends DualNode { @ObfuscatedName("ik") @ObfuscatedSignature( - signature = "(Lhd;III)V", + descriptor = "(Lhd;III)V", garbageValue = "-1019531565" ) static final void method1283(Widget var0, int var1, int var2) { diff --git a/runescape-client/src/main/java/Messages.java b/runescape-client/src/main/java/Messages.java index 17702e6329..ff64939d86 100644 --- a/runescape-client/src/main/java/Messages.java +++ b/runescape-client/src/main/java/Messages.java @@ -14,13 +14,13 @@ public class Messages { static final Map Messages_channels; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Llf;" + descriptor = "Llf;" ) @Export("Messages_hashTable") static final IterableNodeHashTable Messages_hashTable; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Ljq;" + descriptor = "Ljq;" ) @Export("Messages_queue") static final IterableDualNodeQueue Messages_queue; @@ -45,7 +45,7 @@ public class Messages { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(III)I", + descriptor = "(III)I", garbageValue = "-1486803630" ) static final int method2350(int var0, int var1) { diff --git a/runescape-client/src/main/java/MidiFileReader.java b/runescape-client/src/main/java/MidiFileReader.java index 36fa9296cd..2ed56a2112 100644 --- a/runescape-client/src/main/java/MidiFileReader.java +++ b/runescape-client/src/main/java/MidiFileReader.java @@ -10,7 +10,7 @@ public class MidiFileReader { static final byte[] field2509; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lkn;" + descriptor = "Lkn;" ) @Export("buffer") Buffer buffer; diff --git a/runescape-client/src/main/java/MidiPcmStream.java b/runescape-client/src/main/java/MidiPcmStream.java index b431408449..22fd88de07 100644 --- a/runescape-client/src/main/java/MidiPcmStream.java +++ b/runescape-client/src/main/java/MidiPcmStream.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class MidiPcmStream extends PcmStream { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lle;" + descriptor = "Lle;" ) @Export("musicPatches") NodeHashTable musicPatches; @@ -55,17 +55,17 @@ public class MidiPcmStream extends PcmStream { int[] field2454; @ObfuscatedName("f") @ObfuscatedSignature( - signature = "[[Lhm;" + descriptor = "[[Lhm;" ) MusicPatchNode[][] field2466; @ObfuscatedName("ah") @ObfuscatedSignature( - signature = "[[Lhm;" + descriptor = "[[Lhm;" ) MusicPatchNode[][] field2467; @ObfuscatedName("ai") @ObfuscatedSignature( - signature = "Lhl;" + descriptor = "Lhl;" ) @Export("midiFile") MidiFileReader midiFile; @@ -95,7 +95,7 @@ public class MidiPcmStream extends PcmStream { long field2473; @ObfuscatedName("am") @ObfuscatedSignature( - signature = "Lhj;" + descriptor = "Lhj;" ) @Export("patchStream") MusicPatchPcmStream patchStream; @@ -128,7 +128,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-1244273754" ) @Export("setPcmStreamVolume") @@ -138,7 +138,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-988270526" ) public int method3837() { @@ -147,7 +147,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lhz;Lic;Ldo;II)Z", + descriptor = "(Lhz;Lic;Ldo;II)Z", garbageValue = "-700249158" ) @Export("loadMusicTrack") @@ -186,7 +186,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "1" ) @Export("clearAll") @@ -199,7 +199,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-100699849" ) @Export("removeAll") @@ -212,7 +212,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "()Ldf;" + descriptor = "()Ldf;" ) @Export("firstSubStream") protected synchronized PcmStream firstSubStream() { @@ -221,7 +221,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "()Ldf;" + descriptor = "()Ldf;" ) @Export("nextSubStream") protected synchronized PcmStream nextSubStream() { @@ -260,7 +260,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(Lhz;ZI)V", + descriptor = "(Lhz;ZI)V", garbageValue = "746467478" ) @Export("setMusicTrack") @@ -308,7 +308,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "106" ) @Export("clear") @@ -319,7 +319,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "1676507703" ) @Export("isReady") @@ -329,7 +329,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("h") @ObfuscatedSignature( - signature = "(IIB)V", + descriptor = "(IIB)V", garbageValue = "0" ) public synchronized void method3935(int var1, int var2) { @@ -338,7 +338,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("k") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "-1377126651" ) void method3916(int var1, int var2) { @@ -349,7 +349,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("r") @ObfuscatedSignature( - signature = "(IIB)V", + descriptor = "(IIB)V", garbageValue = "4" ) void method3846(int var1, int var2) { @@ -365,7 +365,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("d") @ObfuscatedSignature( - signature = "(IIIS)V", + descriptor = "(IIIS)V", garbageValue = "23534" ) void method3847(int var1, int var2, int var3) { @@ -433,7 +433,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("e") @ObfuscatedSignature( - signature = "(Lhm;ZI)V", + descriptor = "(Lhm;ZI)V", garbageValue = "2083616471" ) void method3852(MusicPatchNode var1, boolean var2) { @@ -456,7 +456,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("l") @ObfuscatedSignature( - signature = "(IIIB)V", + descriptor = "(IIIB)V", garbageValue = "96" ) void method3849(int var1, int var2, int var3) { @@ -479,7 +479,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("t") @ObfuscatedSignature( - signature = "(IIIB)V", + descriptor = "(IIIB)V", garbageValue = "1" ) void method3850(int var1, int var2, int var3) { @@ -487,7 +487,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("x") @ObfuscatedSignature( - signature = "(IIB)V", + descriptor = "(IIB)V", garbageValue = "-70" ) void method3851(int var1, int var2) { @@ -495,7 +495,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("ah") @ObfuscatedSignature( - signature = "(IIB)V", + descriptor = "(IIB)V", garbageValue = "40" ) void method3961(int var1, int var2) { @@ -504,7 +504,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("ai") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-1783640245" ) void method3858(int var1) { @@ -531,7 +531,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("ao") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "183029579" ) void method3952(int var1) { @@ -559,7 +559,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("ae") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "911673263" ) void method3855(int var1) { @@ -574,7 +574,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("ax") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-57" ) void method3856() { @@ -594,7 +594,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("an") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "8" ) void method3857(int var1) { @@ -610,7 +610,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("av") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-1839659310" ) void method3929(int var1) { @@ -626,7 +626,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("at") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-1915531597" ) void method3845(int var1) { @@ -820,7 +820,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("aa") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "-1375281235" ) void method3860(int var1, int var2) { @@ -830,7 +830,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("aw") @ObfuscatedSignature( - signature = "(Lhm;I)I", + descriptor = "(Lhm;I)I", garbageValue = "2062902962" ) int method3861(MusicPatchNode var1) { @@ -856,7 +856,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("az") @ObfuscatedSignature( - signature = "(Lhm;I)I", + descriptor = "(Lhm;I)I", garbageValue = "-352128958" ) int method3958(MusicPatchNode var1) { @@ -902,7 +902,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("aq") @ObfuscatedSignature( - signature = "(Lhm;B)I", + descriptor = "(Lhm;B)I", garbageValue = "0" ) int method3912(MusicPatchNode var1) { @@ -912,7 +912,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("ay") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-668815738" ) void method3872() { @@ -958,7 +958,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("au") @ObfuscatedSignature( - signature = "(Lhm;I)Z", + descriptor = "(Lhm;I)Z", garbageValue = "-1517604835" ) boolean method3870(MusicPatchNode var1) { @@ -978,7 +978,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("aj") @ObfuscatedSignature( - signature = "(Lhm;[IIII)Z", + descriptor = "(Lhm;[IIII)Z", garbageValue = "2001156959" ) boolean method3897(MusicPatchNode var1, int[] var2, int var3, int var4) { @@ -1078,7 +1078,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "2049415960" ) public static void method3918() { @@ -1119,7 +1119,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("ax") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1122474734" ) protected static final void method3905() { @@ -1139,7 +1139,7 @@ public class MidiPcmStream extends PcmStream { @ObfuscatedName("fr") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "1626393180" ) @Export("forceDisconnect") diff --git a/runescape-client/src/main/java/MilliClock.java b/runescape-client/src/main/java/MilliClock.java index 6ac14025f1..851b6330a8 100644 --- a/runescape-client/src/main/java/MilliClock.java +++ b/runescape-client/src/main/java/MilliClock.java @@ -15,7 +15,7 @@ public class MilliClock extends Clock { public static int musicTrackFileId; @ObfuscatedName("ds") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive0") static Archive archive0; @@ -67,7 +67,7 @@ public class MilliClock extends Clock { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1017447827" ) @Export("mark") @@ -80,7 +80,7 @@ public class MilliClock extends Clock { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(III)I", + descriptor = "(III)I", garbageValue = "-1786752641" ) @Export("wait") @@ -145,7 +145,7 @@ public class MilliClock extends Clock { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)J", + descriptor = "(I)J", garbageValue = "301883572" ) @Export("currentTimeMillis") @@ -161,7 +161,7 @@ public class MilliClock extends Clock { @ObfuscatedName("jh") @ObfuscatedSignature( - signature = "(Lhd;S)Z", + descriptor = "(Lhd;S)Z", garbageValue = "442" ) static final boolean method3586(Widget var0) { diff --git a/runescape-client/src/main/java/ModeWhere.java b/runescape-client/src/main/java/ModeWhere.java index 907c477a44..16101d4521 100644 --- a/runescape-client/src/main/java/ModeWhere.java +++ b/runescape-client/src/main/java/ModeWhere.java @@ -11,73 +11,73 @@ import net.runelite.mapping.ObfuscatedSignature; public enum ModeWhere implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lge;" + descriptor = "Lge;" ) field2412("", 0, new class200[]{class200.field2399}), @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lge;" + descriptor = "Lge;" ) field2414("", 1, new class200[]{class200.field2398, class200.field2399}), @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lge;" + descriptor = "Lge;" ) field2404("", 2, new class200[]{class200.field2398, class200.field2400, class200.field2399}), @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lge;" + descriptor = "Lge;" ) field2405("", 3, new class200[]{class200.field2398}), @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lge;" + descriptor = "Lge;" ) field2403("", 4), @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lge;" + descriptor = "Lge;" ) field2406("", 5, new class200[]{class200.field2398, class200.field2399}), @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Lge;" + descriptor = "Lge;" ) field2408("", 6, new class200[]{class200.field2399}), @ObfuscatedName("u") @ObfuscatedSignature( - signature = "Lge;" + descriptor = "Lge;" ) field2409("", 8, new class200[]{class200.field2398, class200.field2399}), @ObfuscatedName("a") @ObfuscatedSignature( - signature = "Lge;" + descriptor = "Lge;" ) field2402("", 9, new class200[]{class200.field2398, class200.field2400}), @ObfuscatedName("z") @ObfuscatedSignature( - signature = "Lge;" + descriptor = "Lge;" ) field2411("", 10, new class200[]{class200.field2398}), @ObfuscatedName("w") @ObfuscatedSignature( - signature = "Lge;" + descriptor = "Lge;" ) field2410("", 11, new class200[]{class200.field2398}), @ObfuscatedName("y") @ObfuscatedSignature( - signature = "Lge;" + descriptor = "Lge;" ) field2413("", 12, new class200[]{class200.field2398, class200.field2399}), @ObfuscatedName("c") @ObfuscatedSignature( - signature = "Lge;" + descriptor = "Lge;" ) field2418("", 13, new class200[]{class200.field2398}); @ObfuscatedName("sw") @ObfuscatedSignature( - signature = "Lcg;" + descriptor = "Lcg;" ) @Export("friendSystem") public static FriendSystem friendSystem; @@ -91,7 +91,7 @@ public enum ModeWhere implements Enumerated { final Set field2416; @ObfuscatedSignature( - signature = "(Ljava/lang/String;I[Lgi;)V" + descriptor = "(Ljava/lang/String;I[Lgi;)V" ) ModeWhere(String var3, int var4, class200[] var5) { this.field2416 = new HashSet(); @@ -112,7 +112,7 @@ public enum ModeWhere implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-995092303" ) @Export("rsOrdinal") @@ -122,7 +122,7 @@ public enum ModeWhere implements Enumerated { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(ZZI)I", + descriptor = "(ZZI)I", garbageValue = "57776207" ) public static int method3809(boolean var0, boolean var1) { @@ -133,7 +133,7 @@ public enum ModeWhere implements Enumerated { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(CB)Z", + descriptor = "(CB)Z", garbageValue = "51" ) static boolean method3810(char var0) { diff --git a/runescape-client/src/main/java/Model.java b/runescape-client/src/main/java/Model.java index eb6d203951..7de7327f20 100644 --- a/runescape-client/src/main/java/Model.java +++ b/runescape-client/src/main/java/Model.java @@ -8,7 +8,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class Model extends Entity { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lef;" + descriptor = "Lef;" ) @Export("Model_sharedSequenceModel") static Model Model_sharedSequenceModel; @@ -17,7 +17,7 @@ public class Model extends Entity { static byte[] Model_sharedSequenceModelFaceAlphas; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lef;" + descriptor = "Lef;" ) @Export("Model_sharedSpotAnimationModel") static Model Model_sharedSpotAnimationModel; @@ -222,7 +222,7 @@ public class Model extends Entity { } @ObfuscatedSignature( - signature = "([Lef;I)V" + descriptor = "([Lef;I)V" ) public Model(Model[] var1, int var2) { this.verticesCount = 0; @@ -365,7 +365,7 @@ public class Model extends Entity { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "([[IIIIZI)Lef;" + descriptor = "([[IIIIZI)Lef;" ) @Export("contourGround") public Model contourGround(int[][] var1, int var2, int var3, int var4, boolean var5, int var6) { @@ -463,7 +463,7 @@ public class Model extends Entity { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Z)Lef;" + descriptor = "(Z)Lef;" ) @Export("toSharedSequenceModel") public Model toSharedSequenceModel(boolean var1) { @@ -476,7 +476,7 @@ public class Model extends Entity { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Z)Lef;" + descriptor = "(Z)Lef;" ) @Export("toSharedSpotAnimationModel") public Model toSharedSpotAnimationModel(boolean var1) { @@ -489,7 +489,7 @@ public class Model extends Entity { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(ZLef;[B)Lef;" + descriptor = "(ZLef;[B)Lef;" ) @Export("buildSharedModel") Model buildSharedModel(boolean var1, Model var2, byte[] var3) { @@ -678,7 +678,7 @@ public class Model extends Entity { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(Leg;I)V" + descriptor = "(Leg;I)V" ) @Export("animate") public void animate(Frames var1, int var2) { @@ -702,7 +702,7 @@ public class Model extends Entity { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(Leg;ILeg;I[I)V" + descriptor = "(Leg;ILeg;I[I)V" ) @Export("animate2") public void animate2(Frames var1, int var2, Frames var3, int var4, int[] var5) { diff --git a/runescape-client/src/main/java/ModelData.java b/runescape-client/src/main/java/ModelData.java index c5a206112f..0c8ce2daff 100644 --- a/runescape-client/src/main/java/ModelData.java +++ b/runescape-client/src/main/java/ModelData.java @@ -92,19 +92,19 @@ public class ModelData extends Entity { int[][] faceLabelsAlpha; @ObfuscatedName("i") @ObfuscatedSignature( - signature = "[Led;" + descriptor = "[Led;" ) @Export("faceNormals") FaceNormal[] faceNormals; @ObfuscatedName("f") @ObfuscatedSignature( - signature = "[Let;" + descriptor = "[Let;" ) @Export("vertexNormals") VertexNormal[] vertexNormals; @ObfuscatedName("ah") @ObfuscatedSignature( - signature = "[Let;" + descriptor = "[Let;" ) VertexNormal[] field1603; @ObfuscatedName("ai") @@ -143,7 +143,7 @@ public class ModelData extends Entity { } @ObfuscatedSignature( - signature = "([Lek;I)V" + descriptor = "([Lek;I)V" ) public ModelData(ModelData[] var1, int var2) { this.verticesCount = 0; @@ -309,7 +309,7 @@ public class ModelData extends Entity { } @ObfuscatedSignature( - signature = "(Lek;ZZZZ)V", + descriptor = "(Lek;ZZZZ)V", garbageValue = "1" ) public ModelData(ModelData var1, boolean var2, boolean var3, boolean var4, boolean var5) { @@ -965,7 +965,7 @@ public class ModelData extends Entity { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Lek;I)I" + descriptor = "(Lek;I)I" ) final int method2928(ModelData var1, int var2) { int var3 = -1; @@ -996,7 +996,7 @@ public class ModelData extends Entity { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "()Lek;" + descriptor = "()Lek;" ) public ModelData method2938() { ModelData var1 = new ModelData(); @@ -1040,7 +1040,7 @@ public class ModelData extends Entity { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "([[IIIIZI)Lek;" + descriptor = "([[IIIIZI)Lek;" ) public ModelData method2912(int[][] var1, int var2, int var3, int var4, boolean var5, int var6) { this.calculateBounds(); @@ -1437,7 +1437,7 @@ public class ModelData extends Entity { @ObfuscatedName("ah") @ObfuscatedSignature( - signature = "(IIIII)Lef;" + descriptor = "(IIIII)Lef;" ) @Export("toModel") public final Model toModel(int var1, int var2, int var3, int var4, int var5) { @@ -1624,7 +1624,7 @@ public class ModelData extends Entity { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lic;II)Lek;" + descriptor = "(Lic;II)Lek;" ) @Export("ModelData_get") public static ModelData ModelData_get(AbstractArchive var0, int var1, int var2) { @@ -1634,7 +1634,7 @@ public class ModelData extends Entity { @ObfuscatedName("x") @ObfuscatedSignature( - signature = "(Lek;Lek;IIIZ)V" + descriptor = "(Lek;Lek;IIIZ)V" ) static void method2924(ModelData var0, ModelData var1, int var2, int var3, int var4, boolean var5) { var0.calculateBounds(); diff --git a/runescape-client/src/main/java/ModelData0.java b/runescape-client/src/main/java/ModelData0.java index 4abbb5613b..8902a2c7bc 100644 --- a/runescape-client/src/main/java/ModelData0.java +++ b/runescape-client/src/main/java/ModelData0.java @@ -10,7 +10,7 @@ public class ModelData0 { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(CI)C", + descriptor = "(CI)C", garbageValue = "-706706502" ) static char method3374(char var0) { @@ -29,7 +29,7 @@ public class ModelData0 { @ObfuscatedName("ii") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "1532544056" ) static boolean method3375() { diff --git a/runescape-client/src/main/java/MouseHandler.java b/runescape-client/src/main/java/MouseHandler.java index eb7d55be40..65485a4bca 100644 --- a/runescape-client/src/main/java/MouseHandler.java +++ b/runescape-client/src/main/java/MouseHandler.java @@ -14,7 +14,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class MouseHandler implements MouseListener, MouseMotionListener, FocusListener { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lbc;" + descriptor = "Lbc;" ) @Export("MouseHandler_instance") public static MouseHandler MouseHandler_instance; @@ -153,7 +153,7 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Ljava/awt/event/MouseEvent;I)I", + descriptor = "(Ljava/awt/event/MouseEvent;I)I", garbageValue = "-750750909" ) @Export("getButton") @@ -243,7 +243,7 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-121589904" ) static void method1154() { diff --git a/runescape-client/src/main/java/MouseRecorder.java b/runescape-client/src/main/java/MouseRecorder.java index 473d5df235..6f06b451ca 100644 --- a/runescape-client/src/main/java/MouseRecorder.java +++ b/runescape-client/src/main/java/MouseRecorder.java @@ -57,7 +57,7 @@ public class MouseRecorder implements Runnable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(DDII)[D", + descriptor = "(DDII)[D", garbageValue = "-2077426308" ) public static double[] method1248(double var0, double var2, int var4) { @@ -78,7 +78,7 @@ public class MouseRecorder implements Runnable { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "([BIII)Ljava/lang/String;", + descriptor = "([BIII)Ljava/lang/String;", garbageValue = "-2086998807" ) @Export("decodeStringCp1252") @@ -107,7 +107,7 @@ public class MouseRecorder implements Runnable { @ObfuscatedName("t") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-150787474" ) public static void method1251() { @@ -116,7 +116,7 @@ public class MouseRecorder implements Runnable { @ObfuscatedName("fi") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1161280240" ) @Export("logOut") @@ -196,7 +196,7 @@ public class MouseRecorder implements Runnable { @ObfuscatedName("fy") @ObfuscatedSignature( - signature = "(IIB)V", + descriptor = "(IIB)V", garbageValue = "-126" ) @Export("playSoundJingle") diff --git a/runescape-client/src/main/java/MouseWheel.java b/runescape-client/src/main/java/MouseWheel.java index f413873c09..270a1d4264 100644 --- a/runescape-client/src/main/java/MouseWheel.java +++ b/runescape-client/src/main/java/MouseWheel.java @@ -8,7 +8,7 @@ import net.runelite.mapping.ObfuscatedSignature; public interface MouseWheel { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "1995693829" ) @Export("useRotation") diff --git a/runescape-client/src/main/java/MouseWheelHandler.java b/runescape-client/src/main/java/MouseWheelHandler.java index 330e6d23c5..b89c5a3a70 100644 --- a/runescape-client/src/main/java/MouseWheelHandler.java +++ b/runescape-client/src/main/java/MouseWheelHandler.java @@ -23,7 +23,7 @@ public final class MouseWheelHandler implements MouseWheel, MouseWheelListener { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ljava/awt/Component;I)V", + descriptor = "(Ljava/awt/Component;I)V", garbageValue = "-337398134" ) @Export("addTo") @@ -33,7 +33,7 @@ public final class MouseWheelHandler implements MouseWheel, MouseWheelListener { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Ljava/awt/Component;B)V", + descriptor = "(Ljava/awt/Component;B)V", garbageValue = "21" ) @Export("removeFrom") @@ -43,7 +43,7 @@ public final class MouseWheelHandler implements MouseWheel, MouseWheelListener { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "1995693829" ) @Export("useRotation") diff --git a/runescape-client/src/main/java/MusicPatch.java b/runescape-client/src/main/java/MusicPatch.java index f94262d36b..c12b8e43fb 100644 --- a/runescape-client/src/main/java/MusicPatch.java +++ b/runescape-client/src/main/java/MusicPatch.java @@ -15,7 +15,7 @@ public class MusicPatch extends Node { int field2520; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "[Ldp;" + descriptor = "[Ldp;" ) @Export("rawSounds") RawSound[] rawSounds; @@ -27,7 +27,7 @@ public class MusicPatch extends Node { byte[] field2518; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "[Lgp;" + descriptor = "[Lgp;" ) MusicPatchNode2[] field2519; @ObfuscatedName("n") @@ -481,7 +481,7 @@ public class MusicPatch extends Node { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Ldo;[B[II)Z", + descriptor = "(Ldo;[B[II)Z", garbageValue = "512208018" ) boolean method4027(SoundCache var1, byte[] var2, int[] var3) { @@ -519,7 +519,7 @@ public class MusicPatch extends Node { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "58" ) @Export("clear") @@ -529,7 +529,7 @@ public class MusicPatch extends Node { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ljava/io/File;I)V", + descriptor = "(Ljava/io/File;I)V", garbageValue = "-1151002932" ) static void method4025(File var0) { @@ -543,7 +543,7 @@ public class MusicPatch extends Node { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)[Llw;", + descriptor = "(I)[Llw;", garbageValue = "16711680" ) @Export("FillMode_values") diff --git a/runescape-client/src/main/java/MusicPatchNode.java b/runescape-client/src/main/java/MusicPatchNode.java index 7e48861279..5462f6888f 100644 --- a/runescape-client/src/main/java/MusicPatchNode.java +++ b/runescape-client/src/main/java/MusicPatchNode.java @@ -18,19 +18,19 @@ public class MusicPatchNode extends Node { int field2479; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lhi;" + descriptor = "Lhi;" ) @Export("patch") MusicPatch patch; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Ldp;" + descriptor = "Ldp;" ) @Export("rawSound") RawSound rawSound; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lgp;" + descriptor = "Lgp;" ) MusicPatchNode2 field2477; @ObfuscatedName("p") @@ -105,7 +105,7 @@ public class MusicPatchNode extends Node { int field2476; @ObfuscatedName("d") @ObfuscatedSignature( - signature = "Ldk;" + descriptor = "Ldk;" ) @Export("stream") RawPcmStream stream; @@ -125,7 +125,7 @@ public class MusicPatchNode extends Node { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "1" ) void method3963() { @@ -137,7 +137,7 @@ public class MusicPatchNode extends Node { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lig;II)V", + descriptor = "(Lig;II)V", garbageValue = "2117396915" ) static void method3968(Archive var0, int var1) { @@ -154,7 +154,7 @@ public class MusicPatchNode extends Node { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "2076016155" ) public static boolean method3966() { @@ -164,7 +164,7 @@ public class MusicPatchNode extends Node { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-6" ) static void method3970() { @@ -202,7 +202,7 @@ public class MusicPatchNode extends Node { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "158312448" ) static int method3964(int var0, Script var1, boolean var2) { @@ -232,7 +232,7 @@ public class MusicPatchNode extends Node { @ObfuscatedName("ai") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "-1086642561" ) static int method3969(int var0, Script var1, boolean var2) { @@ -254,7 +254,7 @@ public class MusicPatchNode extends Node { @ObfuscatedName("je") @ObfuscatedSignature( - signature = "(IIIIIIII)V", + descriptor = "(IIIIIIII)V", garbageValue = "-1185349902" ) @Export("updateRootInterface") diff --git a/runescape-client/src/main/java/MusicPatchNode2.java b/runescape-client/src/main/java/MusicPatchNode2.java index 908b08139b..ed52f7620f 100644 --- a/runescape-client/src/main/java/MusicPatchNode2.java +++ b/runescape-client/src/main/java/MusicPatchNode2.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class MusicPatchNode2 { @ObfuscatedName("fj") @ObfuscatedSignature( - signature = "Lko;" + descriptor = "Lko;" ) @Export("fontPlain12") static Font fontPlain12; @@ -58,7 +58,7 @@ public class MusicPatchNode2 { @ObfuscatedName("ev") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "4" ) static int method3820() { @@ -77,7 +77,7 @@ public class MusicPatchNode2 { @ObfuscatedName("gs") @ObfuscatedSignature( - signature = "(Lbt;I)V", + descriptor = "(Lbt;I)V", garbageValue = "486554393" ) static final void method3819(PendingSpawn var0) { diff --git a/runescape-client/src/main/java/MusicPatchPcmStream.java b/runescape-client/src/main/java/MusicPatchPcmStream.java index 3d745b0d5a..ce4b2a5ea4 100644 --- a/runescape-client/src/main/java/MusicPatchPcmStream.java +++ b/runescape-client/src/main/java/MusicPatchPcmStream.java @@ -12,25 +12,25 @@ public class MusicPatchPcmStream extends PcmStream { static GarbageCollectorMXBean garbageCollector; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lgw;" + descriptor = "Lgw;" ) @Export("superStream") MidiPcmStream superStream; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Ljp;" + descriptor = "Ljp;" ) @Export("queue") NodeDeque queue; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Ldd;" + descriptor = "Ldd;" ) @Export("mixer") PcmStreamMixer mixer; @ObfuscatedSignature( - signature = "(Lgw;)V" + descriptor = "(Lgw;)V" ) MusicPatchPcmStream(MidiPcmStream var1) { this.queue = new NodeDeque(); @@ -40,7 +40,7 @@ public class MusicPatchPcmStream extends PcmStream { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lhm;[IIIIB)V", + descriptor = "(Lhm;[IIIIB)V", garbageValue = "7" ) void method4040(MusicPatchNode var1, int[] var2, int var3, int var4, int var5) { @@ -90,7 +90,7 @@ public class MusicPatchPcmStream extends PcmStream { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lhm;II)V", + descriptor = "(Lhm;II)V", garbageValue = "948558076" ) void method4041(MusicPatchNode var1, int var2) { @@ -119,7 +119,7 @@ public class MusicPatchPcmStream extends PcmStream { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "()Ldf;" + descriptor = "()Ldf;" ) @Export("firstSubStream") protected PcmStream firstSubStream() { @@ -133,7 +133,7 @@ public class MusicPatchPcmStream extends PcmStream { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "()Ldf;" + descriptor = "()Ldf;" ) @Export("nextSubStream") protected PcmStream nextSubStream() { @@ -205,7 +205,7 @@ public class MusicPatchPcmStream extends PcmStream { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", + descriptor = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", garbageValue = "-836395445" ) @Export("setLoginResponseString") diff --git a/runescape-client/src/main/java/MusicTrack.java b/runescape-client/src/main/java/MusicTrack.java index ca76630f3c..e5127f5b1a 100644 --- a/runescape-client/src/main/java/MusicTrack.java +++ b/runescape-client/src/main/java/MusicTrack.java @@ -8,7 +8,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class MusicTrack extends Node { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lle;" + descriptor = "Lle;" ) @Export("table") NodeHashTable table; @@ -17,7 +17,7 @@ public class MusicTrack extends Node { byte[] midi; @ObfuscatedSignature( - signature = "(Lkn;)V" + descriptor = "(Lkn;)V" ) MusicTrack(Buffer var1) { var1.offset = var1.array.length - 3; @@ -424,7 +424,7 @@ public class MusicTrack extends Node { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lic;II)Lhz;" + descriptor = "(Lic;II)Lhz;" ) @Export("readTrack") public static MusicTrack readTrack(AbstractArchive var0, int var1, int var2) { diff --git a/runescape-client/src/main/java/NPC.java b/runescape-client/src/main/java/NPC.java index dfbb8c8fe5..684e0ab72c 100644 --- a/runescape-client/src/main/java/NPC.java +++ b/runescape-client/src/main/java/NPC.java @@ -8,7 +8,7 @@ import net.runelite.mapping.ObfuscatedSignature; public final class NPC extends Actor { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("SpotAnimationDefinition_modelArchive") static AbstractArchive SpotAnimationDefinition_modelArchive; @@ -17,7 +17,7 @@ public final class NPC extends Actor { static int[] SpriteBuffer_yOffsets; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Ljz;" + descriptor = "Ljz;" ) @Export("definition") NPCDefinition definition; @@ -27,7 +27,7 @@ public final class NPC extends Actor { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(IBI)V", + descriptor = "(IBI)V", garbageValue = "-676669615" ) final void method2150(int var1, byte var2) { @@ -90,7 +90,7 @@ public final class NPC extends Actor { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IIZI)V", + descriptor = "(IIZI)V", garbageValue = "-1996954385" ) final void method2142(int var1, int var2, boolean var3) { @@ -130,7 +130,7 @@ public final class NPC extends Actor { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(I)Lef;", + descriptor = "(I)Lef;", garbageValue = "1832696685" ) @Export("getModel") @@ -166,7 +166,7 @@ public final class NPC extends Actor { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(B)Z", + descriptor = "(B)Z", garbageValue = "1" ) @Export("isVisible") @@ -176,7 +176,7 @@ public final class NPC extends Actor { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;I)Ljava/lang/String;", + descriptor = "(Lkn;I)Ljava/lang/String;", garbageValue = "1758966720" ) public static String method2157(Buffer var0) { @@ -185,7 +185,7 @@ public final class NPC extends Actor { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(S)V", + descriptor = "(S)V", garbageValue = "-25347" ) static void method2156() { @@ -200,7 +200,7 @@ public final class NPC extends Actor { @ObfuscatedName("ai") @ObfuscatedSignature( - signature = "(Ldh;I)V", + descriptor = "(Ldh;I)V", garbageValue = "2097901447" ) public static final void method2144(PlayerProvider var0) { diff --git a/runescape-client/src/main/java/NPCDefinition.java b/runescape-client/src/main/java/NPCDefinition.java index f9cfe9db5e..5f4d2086b5 100644 --- a/runescape-client/src/main/java/NPCDefinition.java +++ b/runescape-client/src/main/java/NPCDefinition.java @@ -10,25 +10,25 @@ import net.runelite.rs.ScriptOpcodes; public class NPCDefinition extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("NpcDefinition_archive") public static AbstractArchive NpcDefinition_archive; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("NpcDefinition_modelArchive") public static AbstractArchive NpcDefinition_modelArchive; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("NpcDefinition_cached") public static EvictingDualNodeHashTable NpcDefinition_cached; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("NpcDefinition_cachedModels") public static EvictingDualNodeHashTable NpcDefinition_cachedModels; @@ -183,7 +183,7 @@ public class NPCDefinition extends DualNode { public boolean isFollower; @ObfuscatedName("as") @ObfuscatedSignature( - signature = "Llf;" + descriptor = "Llf;" ) @Export("params") IterableNodeHashTable params; @@ -222,7 +222,7 @@ public class NPCDefinition extends DualNode { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-515379309" ) @Export("postDecode") @@ -231,7 +231,7 @@ public class NPCDefinition extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "-1111522508" ) @Export("decode") @@ -248,7 +248,7 @@ public class NPCDefinition extends DualNode { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "-1876580246" ) @Export("decodeNext") @@ -373,7 +373,7 @@ public class NPCDefinition extends DualNode { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Ljm;ILjm;II)Lef;", + descriptor = "(Ljm;ILjm;II)Lef;", garbageValue = "645123474" ) @Export("getModel") @@ -447,7 +447,7 @@ public class NPCDefinition extends DualNode { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)Lek;", + descriptor = "(I)Lek;", garbageValue = "1862538614" ) @Export("getModelData") @@ -502,7 +502,7 @@ public class NPCDefinition extends DualNode { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(I)Ljz;", + descriptor = "(I)Ljz;", garbageValue = "478343419" ) @Export("transform") @@ -526,7 +526,7 @@ public class NPCDefinition extends DualNode { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(B)Z", + descriptor = "(B)Z", garbageValue = "1" ) @Export("transformIsVisible") @@ -551,7 +551,7 @@ public class NPCDefinition extends DualNode { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(IIB)I", + descriptor = "(IIB)I", garbageValue = "-3" ) @Export("getIntParam") @@ -561,7 +561,7 @@ public class NPCDefinition extends DualNode { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)Ljava/lang/String;", + descriptor = "(ILjava/lang/String;I)Ljava/lang/String;", garbageValue = "-1927040360" ) @Export("getStringParam") @@ -571,7 +571,7 @@ public class NPCDefinition extends DualNode { @ObfuscatedName("ag") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "1804514310" ) static int method4922(int var0, Script var1, boolean var2) { diff --git a/runescape-client/src/main/java/NanoClock.java b/runescape-client/src/main/java/NanoClock.java index ff5da86994..ff9b680e9b 100644 --- a/runescape-client/src/main/java/NanoClock.java +++ b/runescape-client/src/main/java/NanoClock.java @@ -20,7 +20,7 @@ public class NanoClock extends Clock { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1017447827" ) @Export("mark") @@ -30,7 +30,7 @@ public class NanoClock extends Clock { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(III)I", + descriptor = "(III)I", garbageValue = "-1786752641" ) @Export("wait") diff --git a/runescape-client/src/main/java/NetCache.java b/runescape-client/src/main/java/NetCache.java index 766ab8e363..8b3f8559e9 100644 --- a/runescape-client/src/main/java/NetCache.java +++ b/runescape-client/src/main/java/NetCache.java @@ -10,7 +10,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class NetCache { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Llj;" + descriptor = "Llj;" ) @Export("NetCache_socket") public static AbstractSocket NetCache_socket; @@ -22,7 +22,7 @@ public class NetCache { public static int NetCache_loadTime; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lle;" + descriptor = "Lle;" ) @Export("NetCache_pendingPriorityWrites") public static NodeHashTable NetCache_pendingPriorityWrites; @@ -34,7 +34,7 @@ public class NetCache { public static int NetCache_pendingPriorityWritesCount; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lle;" + descriptor = "Lle;" ) @Export("NetCache_pendingPriorityResponses") public static NodeHashTable NetCache_pendingPriorityResponses; @@ -46,13 +46,13 @@ public class NetCache { public static int NetCache_pendingPriorityResponsesCount; @ObfuscatedName("u") @ObfuscatedSignature( - signature = "Ljd;" + descriptor = "Ljd;" ) @Export("NetCache_pendingWritesQueue") public static DualNodeDeque NetCache_pendingWritesQueue; @ObfuscatedName("a") @ObfuscatedSignature( - signature = "Lle;" + descriptor = "Lle;" ) @Export("NetCache_pendingWrites") public static NodeHashTable NetCache_pendingWrites; @@ -64,7 +64,7 @@ public class NetCache { public static int NetCache_pendingWritesCount; @ObfuscatedName("w") @ObfuscatedSignature( - signature = "Lle;" + descriptor = "Lle;" ) @Export("NetCache_pendingResponses") public static NodeHashTable NetCache_pendingResponses; @@ -78,7 +78,7 @@ public class NetCache { public static boolean field3208; @ObfuscatedName("k") @ObfuscatedSignature( - signature = "Lkn;" + descriptor = "Lkn;" ) @Export("NetCache_responseHeaderBuffer") public static Buffer NetCache_responseHeaderBuffer; @@ -92,7 +92,7 @@ public class NetCache { public static CRC32 NetCache_crc; @ObfuscatedName("l") @ObfuscatedSignature( - signature = "[Lig;" + descriptor = "[Lig;" ) @Export("NetCache_archives") public static Archive[] NetCache_archives; diff --git a/runescape-client/src/main/java/NetFileRequest.java b/runescape-client/src/main/java/NetFileRequest.java index 35f76dfdb4..69990c3153 100644 --- a/runescape-client/src/main/java/NetFileRequest.java +++ b/runescape-client/src/main/java/NetFileRequest.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class NetFileRequest extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive") public Archive archive; @@ -28,7 +28,7 @@ public class NetFileRequest extends DualNode { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(CI)Z", + descriptor = "(CI)Z", garbageValue = "-612356648" ) static boolean method4304(char var0) { @@ -43,7 +43,7 @@ public class NetFileRequest extends DualNode { @ObfuscatedName("ij") @ObfuscatedSignature( - signature = "(IIIIIIIII)V", + descriptor = "(IIIIIIIII)V", garbageValue = "-1145163576" ) @Export("drawWidgets") diff --git a/runescape-client/src/main/java/NetSocket.java b/runescape-client/src/main/java/NetSocket.java index 99216c23af..23c794cb52 100644 --- a/runescape-client/src/main/java/NetSocket.java +++ b/runescape-client/src/main/java/NetSocket.java @@ -14,7 +14,7 @@ import net.runelite.mapping.ObfuscatedSignature; public final class NetSocket extends AbstractSocket implements Runnable { @ObfuscatedName("st") @ObfuscatedSignature( - signature = "Lcz;" + descriptor = "Lcz;" ) @Export("clientPreferences") static ClientPreferences clientPreferences; @@ -32,13 +32,13 @@ public final class NetSocket extends AbstractSocket implements Runnable { boolean isClosed; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lfm;" + descriptor = "Lfm;" ) @Export("taskHandler") TaskHandler taskHandler; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lfa;" + descriptor = "Lfa;" ) @Export("task") Task task; @@ -74,7 +74,7 @@ public final class NetSocket extends AbstractSocket implements Runnable { final int maxPacketLength; @ObfuscatedSignature( - signature = "(Ljava/net/Socket;Lfm;I)V" + descriptor = "(Ljava/net/Socket;Lfm;I)V" ) public NetSocket(Socket var1, TaskHandler var2, int var3) throws IOException { this.isClosed = false; @@ -95,7 +95,7 @@ public final class NetSocket extends AbstractSocket implements Runnable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-768493590" ) @Export("close") @@ -125,7 +125,7 @@ public final class NetSocket extends AbstractSocket implements Runnable { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "-8" ) @Export("readUnsignedByte") @@ -135,7 +135,7 @@ public final class NetSocket extends AbstractSocket implements Runnable { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1942767880" ) @Export("available") @@ -145,7 +145,7 @@ public final class NetSocket extends AbstractSocket implements Runnable { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(II)Z", + descriptor = "(II)Z", garbageValue = "1355091335" ) @Export("isAvailable") @@ -159,7 +159,7 @@ public final class NetSocket extends AbstractSocket implements Runnable { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "([BIIB)I", + descriptor = "([BIIB)I", garbageValue = "37" ) @Export("read") @@ -184,7 +184,7 @@ public final class NetSocket extends AbstractSocket implements Runnable { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "([BIII)V", + descriptor = "([BIII)V", garbageValue = "-950578253" ) @Export("write0") @@ -219,7 +219,7 @@ public final class NetSocket extends AbstractSocket implements Runnable { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "([BIIB)V", + descriptor = "([BIIB)V", garbageValue = "-105" ) @Export("write") @@ -305,7 +305,7 @@ public final class NetSocket extends AbstractSocket implements Runnable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(IB)Ljm;", + descriptor = "(IB)Ljm;", garbageValue = "67" ) @Export("SequenceDefinition_get") @@ -328,7 +328,7 @@ public final class NetSocket extends AbstractSocket implements Runnable { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(Lkn;J)V" + descriptor = "(Lkn;J)V" ) static void method3677(Buffer var0, long var1) { var1 /= 10L; @@ -343,7 +343,7 @@ public final class NetSocket extends AbstractSocket implements Runnable { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(II)Leg;", + descriptor = "(II)Leg;", garbageValue = "-1650164099" ) @Export("getFrames") @@ -391,7 +391,7 @@ public final class NetSocket extends AbstractSocket implements Runnable { @ObfuscatedName("ko") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "2085444453" ) static void method3674() { diff --git a/runescape-client/src/main/java/Node.java b/runescape-client/src/main/java/Node.java index 8ff5403d97..8d049737b9 100644 --- a/runescape-client/src/main/java/Node.java +++ b/runescape-client/src/main/java/Node.java @@ -11,13 +11,13 @@ public class Node { public long key; @ObfuscatedName("cf") @ObfuscatedSignature( - signature = "Lgr;" + descriptor = "Lgr;" ) @Export("previous") public Node previous; @ObfuscatedName("ct") @ObfuscatedSignature( - signature = "Lgr;" + descriptor = "Lgr;" ) @Export("next") public Node next; diff --git a/runescape-client/src/main/java/NodeDeque.java b/runescape-client/src/main/java/NodeDeque.java index f68f0df90d..38b78fcfaa 100644 --- a/runescape-client/src/main/java/NodeDeque.java +++ b/runescape-client/src/main/java/NodeDeque.java @@ -8,13 +8,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class NodeDeque { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lgr;" + descriptor = "Lgr;" ) @Export("sentinel") public Node sentinel; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lgr;" + descriptor = "Lgr;" ) @Export("current") Node current; @@ -41,7 +41,7 @@ public class NodeDeque { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lgr;)V" + descriptor = "(Lgr;)V" ) @Export("addFirst") public void addFirst(Node var1) { @@ -57,7 +57,7 @@ public class NodeDeque { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lgr;)V" + descriptor = "(Lgr;)V" ) @Export("addLast") public void addLast(Node var1) { @@ -73,7 +73,7 @@ public class NodeDeque { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "()Lgr;" + descriptor = "()Lgr;" ) @Export("removeLast") public Node removeLast() { @@ -88,7 +88,7 @@ public class NodeDeque { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "()Lgr;" + descriptor = "()Lgr;" ) @Export("removeFirst") public Node removeFirst() { @@ -103,7 +103,7 @@ public class NodeDeque { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "()Lgr;" + descriptor = "()Lgr;" ) @Export("last") public Node last() { @@ -119,7 +119,7 @@ public class NodeDeque { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "()Lgr;" + descriptor = "()Lgr;" ) @Export("first") public Node first() { @@ -135,7 +135,7 @@ public class NodeDeque { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "()Lgr;" + descriptor = "()Lgr;" ) @Export("previous") public Node previous() { @@ -151,7 +151,7 @@ public class NodeDeque { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "()Lgr;" + descriptor = "()Lgr;" ) @Export("next") public Node next() { @@ -167,7 +167,7 @@ public class NodeDeque { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Lgr;Lgr;)V" + descriptor = "(Lgr;Lgr;)V" ) @Export("NodeDeque_addBefore") public static void NodeDeque_addBefore(Node var0, Node var1) { diff --git a/runescape-client/src/main/java/NodeHashTable.java b/runescape-client/src/main/java/NodeHashTable.java index b030e84860..4c302f3f2b 100644 --- a/runescape-client/src/main/java/NodeHashTable.java +++ b/runescape-client/src/main/java/NodeHashTable.java @@ -11,19 +11,19 @@ public final class NodeHashTable { int size; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "[Lgr;" + descriptor = "[Lgr;" ) @Export("buckets") Node[] buckets; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lgr;" + descriptor = "Lgr;" ) @Export("currentGet") Node currentGet; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lgr;" + descriptor = "Lgr;" ) @Export("current") Node current; @@ -46,7 +46,7 @@ public final class NodeHashTable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(J)Lgr;" + descriptor = "(J)Lgr;" ) @Export("get") public Node get(long var1) { @@ -66,7 +66,7 @@ public final class NodeHashTable { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lgr;J)V" + descriptor = "(Lgr;J)V" ) @Export("put") public void put(Node var1, long var2) { @@ -84,7 +84,7 @@ public final class NodeHashTable { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "()Lgr;" + descriptor = "()Lgr;" ) @Export("first") public Node first() { @@ -94,7 +94,7 @@ public final class NodeHashTable { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "()Lgr;" + descriptor = "()Lgr;" ) @Export("next") public Node next() { diff --git a/runescape-client/src/main/java/ObjectDefinition.java b/runescape-client/src/main/java/ObjectDefinition.java index f57a7ba3c2..a21080f21d 100644 --- a/runescape-client/src/main/java/ObjectDefinition.java +++ b/runescape-client/src/main/java/ObjectDefinition.java @@ -12,43 +12,43 @@ public class ObjectDefinition extends DualNode { public static boolean ObjectDefinition_isLowDetail; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("ObjectDefinition_archive") public static AbstractArchive ObjectDefinition_archive; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("ObjectDefinition_modelsArchive") public static AbstractArchive ObjectDefinition_modelsArchive; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("ObjectDefinition_cached") public static EvictingDualNodeHashTable ObjectDefinition_cached; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("ObjectDefinition_cachedModelData") public static EvictingDualNodeHashTable ObjectDefinition_cachedModelData; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("ObjectDefinition_cachedEntities") public static EvictingDualNodeHashTable ObjectDefinition_cachedEntities; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("ObjectDefinition_cachedModels") public static EvictingDualNodeHashTable ObjectDefinition_cachedModels; @ObfuscatedName("u") @ObfuscatedSignature( - signature = "[Lek;" + descriptor = "[Lek;" ) static ModelData[] field3387; @ObfuscatedName("a") @@ -254,7 +254,7 @@ public class ObjectDefinition extends DualNode { public int[] soundEffectIds; @ObfuscatedName("au") @ObfuscatedSignature( - signature = "Llf;" + descriptor = "Llf;" ) @Export("params") IterableNodeHashTable params; @@ -306,7 +306,7 @@ public class ObjectDefinition extends DualNode { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-2073183413" ) @Export("postDecode") @@ -332,7 +332,7 @@ public class ObjectDefinition extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "-1769897725" ) @Export("decode") @@ -349,7 +349,7 @@ public class ObjectDefinition extends DualNode { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "1890862568" ) @Export("decodeNext") @@ -523,7 +523,7 @@ public class ObjectDefinition extends DualNode { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(II)Z", + descriptor = "(II)Z", garbageValue = "-582355792" ) public final boolean method4786(int var1) { @@ -552,7 +552,7 @@ public class ObjectDefinition extends DualNode { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "285356335" ) @Export("needsModelFiles") @@ -572,7 +572,7 @@ public class ObjectDefinition extends DualNode { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(II[[IIIIS)Lel;", + descriptor = "(II[[IIIIS)Lel;", garbageValue = "20314" ) @Export("getEntity") @@ -620,7 +620,7 @@ public class ObjectDefinition extends DualNode { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(II[[IIIII)Lef;", + descriptor = "(II[[IIIII)Lef;", garbageValue = "-1099346237" ) @Export("getModel") @@ -652,7 +652,7 @@ public class ObjectDefinition extends DualNode { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(II[[IIIILjm;II)Lef;", + descriptor = "(II[[IIIILjm;II)Lef;", garbageValue = "132862520" ) @Export("getModelDynamic") @@ -694,7 +694,7 @@ public class ObjectDefinition extends DualNode { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(IIB)Lek;", + descriptor = "(IIB)Lek;", garbageValue = "0" ) @Export("getModelData") @@ -835,7 +835,7 @@ public class ObjectDefinition extends DualNode { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(I)Ljg;", + descriptor = "(I)Ljg;", garbageValue = "-511896021" ) @Export("transform") @@ -859,7 +859,7 @@ public class ObjectDefinition extends DualNode { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(III)I", + descriptor = "(III)I", garbageValue = "1846557749" ) @Export("getIntParam") @@ -869,7 +869,7 @@ public class ObjectDefinition extends DualNode { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)Ljava/lang/String;", + descriptor = "(ILjava/lang/String;I)Ljava/lang/String;", garbageValue = "494622179" ) @Export("getStringParam") @@ -879,7 +879,7 @@ public class ObjectDefinition extends DualNode { @ObfuscatedName("h") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "389489469" ) @Export("hasSound") diff --git a/runescape-client/src/main/java/ObjectSound.java b/runescape-client/src/main/java/ObjectSound.java index bb0b3fb623..5f408359c8 100644 --- a/runescape-client/src/main/java/ObjectSound.java +++ b/runescape-client/src/main/java/ObjectSound.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public final class ObjectSound extends Node { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Ljp;" + descriptor = "Ljp;" ) @Export("objectSounds") static NodeDeque objectSounds; @@ -60,7 +60,7 @@ public final class ObjectSound extends Node { int soundEffectId; @ObfuscatedName("a") @ObfuscatedSignature( - signature = "Ldk;" + descriptor = "Ldk;" ) @Export("stream1") RawPcmStream stream1; @@ -84,13 +84,13 @@ public final class ObjectSound extends Node { int field1111; @ObfuscatedName("h") @ObfuscatedSignature( - signature = "Ldk;" + descriptor = "Ldk;" ) @Export("stream2") RawPcmStream stream2; @ObfuscatedName("k") @ObfuscatedSignature( - signature = "Ljg;" + descriptor = "Ljg;" ) @Export("obj") ObjectDefinition obj; @@ -104,7 +104,7 @@ public final class ObjectSound extends Node { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "2014471583" ) @Export("set") @@ -134,7 +134,7 @@ public final class ObjectSound extends Node { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(ILjava/lang/String;Ljava/lang/String;I)V", + descriptor = "(ILjava/lang/String;Ljava/lang/String;I)V", garbageValue = "-997797111" ) @Export("addGameMessage") @@ -144,7 +144,7 @@ public final class ObjectSound extends Node { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lic;I)V", + descriptor = "(Lic;I)V", garbageValue = "1163495687" ) public static void method1999(AbstractArchive var0) { @@ -153,7 +153,7 @@ public final class ObjectSound extends Node { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(S)V", + descriptor = "(S)V", garbageValue = "23035" ) public static void method2007() { @@ -167,7 +167,7 @@ public final class ObjectSound extends Node { @ObfuscatedName("r") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1381107864" ) public static void method2008() { diff --git a/runescape-client/src/main/java/PacketBuffer.java b/runescape-client/src/main/java/PacketBuffer.java index 0e9712aefe..7134b5a9e9 100644 --- a/runescape-client/src/main/java/PacketBuffer.java +++ b/runescape-client/src/main/java/PacketBuffer.java @@ -11,7 +11,7 @@ public class PacketBuffer extends Buffer { static final int[] field3728; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Llb;" + descriptor = "Llb;" ) @Export("isaacCipher") IsaacCipher isaacCipher; @@ -32,7 +32,7 @@ public class PacketBuffer extends Buffer { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "([II)V", + descriptor = "([II)V", garbageValue = "-1865727993" ) @Export("newIsaacCipher") @@ -42,7 +42,7 @@ public class PacketBuffer extends Buffer { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Llb;I)V", + descriptor = "(Llb;I)V", garbageValue = "-472683600" ) @Export("setIsaacCipher") @@ -52,7 +52,7 @@ public class PacketBuffer extends Buffer { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-2126324259" ) @Export("writeByteIsaac") @@ -62,7 +62,7 @@ public class PacketBuffer extends Buffer { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1443887320" ) @Export("readByteIsaac") @@ -72,7 +72,7 @@ public class PacketBuffer extends Buffer { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "-1957045910" ) public boolean method5657() { @@ -82,7 +82,7 @@ public class PacketBuffer extends Buffer { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "691786573" ) @Export("readSmartByteShortIsaac") @@ -93,7 +93,7 @@ public class PacketBuffer extends Buffer { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "([BIII)V", + descriptor = "([BIII)V", garbageValue = "1379772441" ) public void method5680(byte[] var1, int var2, int var3) { @@ -105,7 +105,7 @@ public class PacketBuffer extends Buffer { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1358588268" ) @Export("importIndex") @@ -115,7 +115,7 @@ public class PacketBuffer extends Buffer { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(II)I", + descriptor = "(II)I", garbageValue = "-1109143909" ) @Export("readBits") @@ -140,7 +140,7 @@ public class PacketBuffer extends Buffer { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-15519430" ) @Export("exportIndex") @@ -150,7 +150,7 @@ public class PacketBuffer extends Buffer { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(II)I", + descriptor = "(II)I", garbageValue = "565890213" ) @Export("bitsRemaining") diff --git a/runescape-client/src/main/java/PacketBufferNode.java b/runescape-client/src/main/java/PacketBufferNode.java index 7613326daa..46fe62853e 100644 --- a/runescape-client/src/main/java/PacketBufferNode.java +++ b/runescape-client/src/main/java/PacketBufferNode.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class PacketBufferNode extends Node { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "[Lgj;" + descriptor = "[Lgj;" ) @Export("PacketBufferNode_packetBufferNodes") static PacketBufferNode[] PacketBufferNode_packetBufferNodes; @@ -21,7 +21,7 @@ public class PacketBufferNode extends Node { static int PacketBufferNode_packetBufferNodeCount; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lgn;" + descriptor = "Lgn;" ) @Export("clientPacket") ClientPacket clientPacket; @@ -33,7 +33,7 @@ public class PacketBufferNode extends Node { int clientPacketLength; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lkb;" + descriptor = "Lkb;" ) @Export("packetBuffer") public PacketBuffer packetBuffer; @@ -54,7 +54,7 @@ public class PacketBufferNode extends Node { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-42" ) @Export("release") @@ -66,7 +66,7 @@ public class PacketBufferNode extends Node { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(III)I", + descriptor = "(III)I", garbageValue = "1965042826" ) static final int method3750(int var0, int var1) { diff --git a/runescape-client/src/main/java/PacketWriter.java b/runescape-client/src/main/java/PacketWriter.java index 316d68bd1c..5ca3526d16 100644 --- a/runescape-client/src/main/java/PacketWriter.java +++ b/runescape-client/src/main/java/PacketWriter.java @@ -10,13 +10,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class PacketWriter { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Llj;" + descriptor = "Llj;" ) @Export("socket") AbstractSocket socket; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Ljx;" + descriptor = "Ljx;" ) @Export("packetBufferNodes") IterableNodeDeque packetBufferNodes; @@ -28,25 +28,25 @@ public class PacketWriter { int bufferSize; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lkn;" + descriptor = "Lkn;" ) @Export("buffer") Buffer buffer; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Llb;" + descriptor = "Llb;" ) @Export("isaacCipher") public IsaacCipher isaacCipher; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lkb;" + descriptor = "Lkb;" ) @Export("packetBuffer") PacketBuffer packetBuffer; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) @Export("serverPacket") ServerPacket serverPacket; @@ -71,17 +71,17 @@ public class PacketWriter { int pendingWrites; @ObfuscatedName("y") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) ServerPacket field1350; @ObfuscatedName("c") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) ServerPacket field1351; @ObfuscatedName("h") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) ServerPacket field1342; @@ -99,7 +99,7 @@ public class PacketWriter { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "65" ) @Export("clearBuffer") @@ -110,7 +110,7 @@ public class PacketWriter { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1917984042" ) @Export("flush") @@ -138,7 +138,7 @@ public class PacketWriter { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lgj;I)V", + descriptor = "(Lgj;I)V", garbageValue = "-251135286" ) @Export("addNode") @@ -151,7 +151,7 @@ public class PacketWriter { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Llj;I)V", + descriptor = "(Llj;I)V", garbageValue = "-1410560856" ) @Export("setSocket") @@ -161,7 +161,7 @@ public class PacketWriter { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "446694129" ) @Export("close") @@ -175,7 +175,7 @@ public class PacketWriter { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-2011501008" ) @Export("removeSocket") @@ -185,7 +185,7 @@ public class PacketWriter { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(I)Llj;", + descriptor = "(I)Llj;", garbageValue = "2137567404" ) @Export("getSocket") diff --git a/runescape-client/src/main/java/ParamDefinition.java b/runescape-client/src/main/java/ParamDefinition.java index e5714825de..e7f3d67d20 100644 --- a/runescape-client/src/main/java/ParamDefinition.java +++ b/runescape-client/src/main/java/ParamDefinition.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class ParamDefinition extends DualNode { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("ParamDefinition_cached") public static EvictingDualNodeHashTable ParamDefinition_cached; @@ -42,7 +42,7 @@ public class ParamDefinition extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1718151512" ) @Export("postDecode") @@ -51,7 +51,7 @@ public class ParamDefinition extends DualNode { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "-115197089" ) @Export("decode") @@ -68,7 +68,7 @@ public class ParamDefinition extends DualNode { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "-1727060018" ) @Export("decodeNext") @@ -103,7 +103,7 @@ public class ParamDefinition extends DualNode { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "624673738" ) @Export("isString") diff --git a/runescape-client/src/main/java/PcmPlayer.java b/runescape-client/src/main/java/PcmPlayer.java index 1569ba424e..64dd059916 100644 --- a/runescape-client/src/main/java/PcmPlayer.java +++ b/runescape-client/src/main/java/PcmPlayer.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class PcmPlayer { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "Ldg;" + descriptor = "Ldg;" ) @Export("soundSystem") static SoundSystem soundSystem; @@ -18,7 +18,7 @@ public class PcmPlayer { protected int[] samples; @ObfuscatedName("k") @ObfuscatedSignature( - signature = "Ldf;" + descriptor = "Ldf;" ) @Export("stream") PcmStream stream; @@ -83,12 +83,12 @@ public class PcmPlayer { int field1448; @ObfuscatedName("ab") @ObfuscatedSignature( - signature = "[Ldf;" + descriptor = "[Ldf;" ) PcmStream[] field1449; @ObfuscatedName("am") @ObfuscatedSignature( - signature = "[Ldf;" + descriptor = "[Ldf;" ) PcmStream[] field1453; @@ -108,7 +108,7 @@ public class PcmPlayer { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "2128910021" ) @Export("init") @@ -117,7 +117,7 @@ public class PcmPlayer { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "-14" ) @Export("open") @@ -126,7 +126,7 @@ public class PcmPlayer { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "1868944096" ) @Export("position") @@ -141,7 +141,7 @@ public class PcmPlayer { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1900446281" ) @Export("close") @@ -150,7 +150,7 @@ public class PcmPlayer { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "630637593" ) @Export("discard") @@ -159,7 +159,7 @@ public class PcmPlayer { @ObfuscatedName("ax") @ObfuscatedSignature( - signature = "(Ldf;I)V", + descriptor = "(Ldf;I)V", garbageValue = "204760061" ) @Export("setStream") @@ -169,7 +169,7 @@ public class PcmPlayer { @ObfuscatedName("ag") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "277207832" ) @Export("run") @@ -262,7 +262,7 @@ public class PcmPlayer { @ObfuscatedName("ab") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-537221049" ) public final void method2560() { @@ -271,7 +271,7 @@ public class PcmPlayer { @ObfuscatedName("am") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-209566182" ) @Export("tryDiscard") @@ -289,7 +289,7 @@ public class PcmPlayer { @ObfuscatedName("ak") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "733916097" ) @Export("shutdown") @@ -320,7 +320,7 @@ public class PcmPlayer { @ObfuscatedName("ad") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-1841493566" ) @Export("skip") @@ -452,7 +452,7 @@ public class PcmPlayer { @ObfuscatedName("ap") @ObfuscatedSignature( - signature = "(Ldf;IB)V", + descriptor = "(Ldf;IB)V", garbageValue = "45" ) final void method2565(PcmStream var1, int var2) { diff --git a/runescape-client/src/main/java/PcmStream.java b/runescape-client/src/main/java/PcmStream.java index 7bd006ac64..3263413d3a 100644 --- a/runescape-client/src/main/java/PcmStream.java +++ b/runescape-client/src/main/java/PcmStream.java @@ -11,7 +11,7 @@ public abstract class PcmStream extends Node { volatile boolean active; @ObfuscatedName("s") @ObfuscatedSignature( - signature = "Ldf;" + descriptor = "Ldf;" ) @Export("after") PcmStream after; @@ -19,7 +19,7 @@ public abstract class PcmStream extends Node { int field1520; @ObfuscatedName("d") @ObfuscatedSignature( - signature = "Ldy;" + descriptor = "Ldy;" ) @Export("sound") AbstractSound sound; @@ -30,14 +30,14 @@ public abstract class PcmStream extends Node { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "()Ldf;" + descriptor = "()Ldf;" ) @Export("firstSubStream") protected abstract PcmStream firstSubStream(); @ObfuscatedName("n") @ObfuscatedSignature( - signature = "()Ldf;" + descriptor = "()Ldf;" ) @Export("nextSubStream") protected abstract PcmStream nextSubStream(); diff --git a/runescape-client/src/main/java/PcmStreamMixer.java b/runescape-client/src/main/java/PcmStreamMixer.java index 0fe68c1e1a..1c346300de 100644 --- a/runescape-client/src/main/java/PcmStreamMixer.java +++ b/runescape-client/src/main/java/PcmStreamMixer.java @@ -8,13 +8,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class PcmStreamMixer extends PcmStream { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Ljp;" + descriptor = "Ljp;" ) @Export("subStreams") NodeDeque subStreams; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Ljp;" + descriptor = "Ljp;" ) NodeDeque field1373; @ObfuscatedName("q") @@ -31,7 +31,7 @@ public class PcmStreamMixer extends PcmStream { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ldf;)V" + descriptor = "(Ldf;)V" ) @Export("addSubStream") public final synchronized void addSubStream(PcmStream var1) { @@ -40,7 +40,7 @@ public class PcmStreamMixer extends PcmStream { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Ldf;)V" + descriptor = "(Ldf;)V" ) @Export("removeSubStream") public final synchronized void removeSubStream(PcmStream var1) { @@ -62,7 +62,7 @@ public class PcmStreamMixer extends PcmStream { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Lgr;Ldb;)V" + descriptor = "(Lgr;Ldb;)V" ) void method2423(Node var1, PcmStreamMixerListener var2) { while (this.field1373.sentinel != var1 && ((PcmStreamMixerListener)var1).field1476 <= var2.field1476) { @@ -75,7 +75,7 @@ public class PcmStreamMixer extends PcmStream { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Ldb;)V" + descriptor = "(Ldb;)V" ) void method2424(PcmStreamMixerListener var1) { var1.remove(); @@ -91,7 +91,7 @@ public class PcmStreamMixer extends PcmStream { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "()Ldf;" + descriptor = "()Ldf;" ) @Export("firstSubStream") protected PcmStream firstSubStream() { @@ -100,7 +100,7 @@ public class PcmStreamMixer extends PcmStream { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "()Ldf;" + descriptor = "()Ldf;" ) @Export("nextSubStream") protected PcmStream nextSubStream() { diff --git a/runescape-client/src/main/java/PcmStreamMixerListener.java b/runescape-client/src/main/java/PcmStreamMixerListener.java index 4a40cfc1c7..4b7fb30e90 100644 --- a/runescape-client/src/main/java/PcmStreamMixerListener.java +++ b/runescape-client/src/main/java/PcmStreamMixerListener.java @@ -15,7 +15,7 @@ public abstract class PcmStreamMixerListener extends Node { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Ldd;)I" + descriptor = "(Ldd;)I" ) @Export("update") abstract int update(); diff --git a/runescape-client/src/main/java/PendingSpawn.java b/runescape-client/src/main/java/PendingSpawn.java index 038a116176..1f0c11b37d 100644 --- a/runescape-client/src/main/java/PendingSpawn.java +++ b/runescape-client/src/main/java/PendingSpawn.java @@ -85,7 +85,7 @@ public final class PendingSpawn extends Node { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(Lic;Ljava/lang/String;Ljava/lang/String;I)[Llh;", + descriptor = "(Lic;Ljava/lang/String;Ljava/lang/String;I)[Llh;", garbageValue = "574747014" ) public static IndexedSprite[] method1806(AbstractArchive var0, String var1, String var2) { @@ -96,7 +96,7 @@ public final class PendingSpawn extends Node { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(Lhd;I[B[BI)V", + descriptor = "(Lhd;I[B[BI)V", garbageValue = "-1571904788" ) @Export("Widget_setKey") @@ -131,7 +131,7 @@ public final class PendingSpawn extends Node { @ObfuscatedName("k") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "556274205" ) static int method1808(int var0, Script var1, boolean var2) { diff --git a/runescape-client/src/main/java/PlatformInfo.java b/runescape-client/src/main/java/PlatformInfo.java index 9f5d128eda..1704e50a54 100644 --- a/runescape-client/src/main/java/PlatformInfo.java +++ b/runescape-client/src/main/java/PlatformInfo.java @@ -134,7 +134,7 @@ public class PlatformInfo extends Node { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "972520847" ) @Export("write") @@ -173,7 +173,7 @@ public class PlatformInfo extends Node { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1553987970" ) @Export("size") diff --git a/runescape-client/src/main/java/PlatformInfoProvider.java b/runescape-client/src/main/java/PlatformInfoProvider.java index a35bd31ded..6e5084bc58 100644 --- a/runescape-client/src/main/java/PlatformInfoProvider.java +++ b/runescape-client/src/main/java/PlatformInfoProvider.java @@ -8,7 +8,7 @@ import net.runelite.mapping.ObfuscatedSignature; public interface PlatformInfoProvider { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)Lmc;", + descriptor = "(I)Lmc;", garbageValue = "-1826697521" ) @Export("get") diff --git a/runescape-client/src/main/java/Player.java b/runescape-client/src/main/java/Player.java index 6cdb92a53a..8bdb4f5bd5 100644 --- a/runescape-client/src/main/java/Player.java +++ b/runescape-client/src/main/java/Player.java @@ -14,13 +14,13 @@ public final class Player extends Actor { static int field638; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lkq;" + descriptor = "Lkq;" ) @Export("username") Username username; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lhv;" + descriptor = "Lhv;" ) @Export("appearance") PlayerAppearance appearance; @@ -87,7 +87,7 @@ public final class Player extends Actor { int field653; @ObfuscatedName("k") @ObfuscatedSignature( - signature = "Lef;" + descriptor = "Lef;" ) @Export("model0") Model model0; @@ -137,13 +137,13 @@ public final class Player extends Actor { int index; @ObfuscatedName("i") @ObfuscatedSignature( - signature = "Lkf;" + descriptor = "Lkf;" ) @Export("isFriendTriBool") TriBool isFriendTriBool; @ObfuscatedName("f") @ObfuscatedSignature( - signature = "Lkf;" + descriptor = "Lkf;" ) @Export("isInClanChat") TriBool isInClanChat; @@ -185,7 +185,7 @@ public final class Player extends Actor { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "1937390555" ) @Export("read") @@ -291,7 +291,7 @@ public final class Player extends Actor { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "-928055977" ) @Export("isFriend") @@ -305,7 +305,7 @@ public final class Player extends Actor { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1165782088" ) @Export("clearIsFriend") @@ -315,7 +315,7 @@ public final class Player extends Actor { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-2131517341" ) @Export("checkIsFriend") @@ -325,7 +325,7 @@ public final class Player extends Actor { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "-1651593034" ) @Export("isClanMember") @@ -339,7 +339,7 @@ public final class Player extends Actor { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1245879584" ) @Export("clearIsInClanChat") @@ -349,7 +349,7 @@ public final class Player extends Actor { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "0" ) @Export("updateIsInClanChat") @@ -359,7 +359,7 @@ public final class Player extends Actor { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-6778929" ) @Export("transformedSize") @@ -369,7 +369,7 @@ public final class Player extends Actor { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(I)Lef;", + descriptor = "(I)Lef;", garbageValue = "1832696685" ) @Export("getModel") @@ -440,7 +440,7 @@ public final class Player extends Actor { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(IIBI)V", + descriptor = "(IIBI)V", garbageValue = "-1126022474" ) final void method1300(int var1, int var2, byte var3) { @@ -467,7 +467,7 @@ public final class Player extends Actor { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "2675490" ) @Export("resetPath") @@ -484,7 +484,7 @@ public final class Player extends Actor { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(IIBI)V", + descriptor = "(IIBI)V", garbageValue = "-1628655645" ) final void method1302(int var1, int var2, byte var3) { @@ -505,7 +505,7 @@ public final class Player extends Actor { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(B)Z", + descriptor = "(B)Z", garbageValue = "1" ) @Export("isVisible") @@ -515,7 +515,7 @@ public final class Player extends Actor { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "-2139314606" ) @Export("changeWorldSelectSorting") @@ -541,7 +541,7 @@ public final class Player extends Actor { @ObfuscatedName("io") @ObfuscatedSignature( - signature = "(Lby;IIIS)V", + descriptor = "(Lby;IIIS)V", garbageValue = "160" ) @Export("addPlayerToMenu") @@ -606,7 +606,7 @@ public final class Player extends Actor { @ObfuscatedName("iv") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "452106658" ) @Export("getTapToDrop") diff --git a/runescape-client/src/main/java/PlayerAppearance.java b/runescape-client/src/main/java/PlayerAppearance.java index 5530948f0d..90d2cef6e8 100644 --- a/runescape-client/src/main/java/PlayerAppearance.java +++ b/runescape-client/src/main/java/PlayerAppearance.java @@ -18,7 +18,7 @@ public class PlayerAppearance { static final int[] equipmentIndices; @ObfuscatedName("y") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("PlayerAppearance_cachedModels") static EvictingDualNodeHashTable PlayerAppearance_cachedModels; @@ -56,7 +56,7 @@ public class PlayerAppearance { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "([I[IZIB)V", + descriptor = "([I[IZIB)V", garbageValue = "28" ) @Export("update") @@ -84,7 +84,7 @@ public class PlayerAppearance { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IZI)V", + descriptor = "(IZI)V", garbageValue = "-311469480" ) @Export("changeAppearance") @@ -119,7 +119,7 @@ public class PlayerAppearance { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(IZI)V", + descriptor = "(IZI)V", garbageValue = "1803508005" ) public void method4139(int var1, boolean var2) { @@ -146,7 +146,7 @@ public class PlayerAppearance { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(ZB)V", + descriptor = "(ZB)V", garbageValue = "80" ) @Export("changeSex") @@ -158,7 +158,7 @@ public class PlayerAppearance { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "1039310392" ) @Export("write") @@ -183,7 +183,7 @@ public class PlayerAppearance { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1504678480" ) @Export("setHash") @@ -228,7 +228,7 @@ public class PlayerAppearance { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(Ljm;ILjm;IB)Lef;", + descriptor = "(Ljm;ILjm;IB)Lef;", garbageValue = "-39" ) @Export("getModel") @@ -342,7 +342,7 @@ public class PlayerAppearance { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(I)Lek;", + descriptor = "(I)Lek;", garbageValue = "1279431909" ) @Export("getModelData") @@ -408,7 +408,7 @@ public class PlayerAppearance { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "0" ) @Export("getChatHeadId") @@ -418,7 +418,7 @@ public class PlayerAppearance { @ObfuscatedName("kf") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "1446127367" ) static void method4177(int var0) { diff --git a/runescape-client/src/main/java/PlayerProvider.java b/runescape-client/src/main/java/PlayerProvider.java index 226290676f..f435356210 100644 --- a/runescape-client/src/main/java/PlayerProvider.java +++ b/runescape-client/src/main/java/PlayerProvider.java @@ -8,7 +8,7 @@ import net.runelite.mapping.ObfuscatedSignature; public interface PlayerProvider { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)Ldt;", + descriptor = "(I)Ldt;", garbageValue = "-1371983171" ) @Export("player") diff --git a/runescape-client/src/main/java/PlayerType.java b/runescape-client/src/main/java/PlayerType.java index 916dab660a..5dd88b5ca6 100644 --- a/runescape-client/src/main/java/PlayerType.java +++ b/runescape-client/src/main/java/PlayerType.java @@ -10,50 +10,50 @@ import net.runelite.rs.ScriptOpcodes; public enum PlayerType implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lis;" + descriptor = "Lis;" ) @Export("PlayerType_normal") PlayerType_normal(0, -1, true, false, true), @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lis;" + descriptor = "Lis;" ) @Export("PlayerType_playerModerator") PlayerType_playerModerator(1, 0, true, true, true), @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lis;" + descriptor = "Lis;" ) @Export("PlayerType_jagexModerator") PlayerType_jagexModerator(2, 1, true, true, false), @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lis;" + descriptor = "Lis;" ) @Export("PlayerType_ironman") PlayerType_ironman(3, 2, false, false, true), @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lis;" + descriptor = "Lis;" ) @Export("PlayerType_ultimateIronman") PlayerType_ultimateIronman(4, 3, false, false, true), @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lis;" + descriptor = "Lis;" ) @Export("PlayerType_hardcoreIronman") PlayerType_hardcoreIronman(5, 10, false, false, true); @ObfuscatedName("h") @ObfuscatedSignature( - signature = "Liq;" + descriptor = "Liq;" ) @Export("NetCache_currentResponse") public static NetFileRequest NetCache_currentResponse; @ObfuscatedName("bg") @ObfuscatedSignature( - signature = "Lij;" + descriptor = "Lij;" ) static GameBuild field3130; @ObfuscatedName("n") @@ -84,7 +84,7 @@ public enum PlayerType implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-995092303" ) @Export("rsOrdinal") @@ -94,7 +94,7 @@ public enum PlayerType implements Enumerated { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "1286217427" ) static int method4289(int var0, Script var1, boolean var2) { diff --git a/runescape-client/src/main/java/Players.java b/runescape-client/src/main/java/Players.java index 025c7f3310..060dba9838 100644 --- a/runescape-client/src/main/java/Players.java +++ b/runescape-client/src/main/java/Players.java @@ -13,7 +13,7 @@ public class Players { static byte[] field1278; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "[Lkn;" + descriptor = "[Lkn;" ) static Buffer[] field1279; @ObfuscatedName("g") @@ -54,7 +54,7 @@ public class Players { static int[] Players_pendingUpdateIndices; @ObfuscatedName("k") @ObfuscatedSignature( - signature = "Lkn;" + descriptor = "Lkn;" ) static Buffer field1289; @@ -76,7 +76,7 @@ public class Players { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IIII)I", + descriptor = "(IIII)I", garbageValue = "-1312297159" ) static int method2285(int var0, int var1, int var2) { @@ -102,7 +102,7 @@ public class Players { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "910052167" ) public static void method2274() { diff --git a/runescape-client/src/main/java/PrivateChatMode.java b/runescape-client/src/main/java/PrivateChatMode.java index 5c84b97d60..321e176f45 100644 --- a/runescape-client/src/main/java/PrivateChatMode.java +++ b/runescape-client/src/main/java/PrivateChatMode.java @@ -8,17 +8,17 @@ import net.runelite.mapping.ObfuscatedSignature; public class PrivateChatMode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lls;" + descriptor = "Lls;" ) static final PrivateChatMode field3819; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lls;" + descriptor = "Lls;" ) public static final PrivateChatMode field3818; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lls;" + descriptor = "Lls;" ) static final PrivateChatMode field3820; @ObfuscatedName("j") diff --git a/runescape-client/src/main/java/Projectile.java b/runescape-client/src/main/java/Projectile.java index 5e2493ae5c..b0bcb19182 100644 --- a/runescape-client/src/main/java/Projectile.java +++ b/runescape-client/src/main/java/Projectile.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public final class Projectile extends Entity { @ObfuscatedName("dk") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive7") static Archive archive7; @@ -120,7 +120,7 @@ public final class Projectile extends Entity { int pitch; @ObfuscatedName("x") @ObfuscatedSignature( - signature = "Ljm;" + descriptor = "Ljm;" ) @Export("sequenceDefinition") SequenceDefinition sequenceDefinition; @@ -164,7 +164,7 @@ public final class Projectile extends Entity { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(IIIII)V", + descriptor = "(IIIII)V", garbageValue = "129892196" ) @Export("setDestination") @@ -192,7 +192,7 @@ public final class Projectile extends Entity { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "-44" ) @Export("advance") @@ -228,7 +228,7 @@ public final class Projectile extends Entity { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(I)Lef;", + descriptor = "(I)Lef;", garbageValue = "1832696685" ) @Export("getModel") @@ -245,7 +245,7 @@ public final class Projectile extends Entity { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-40295508" ) static void method2247() { @@ -259,7 +259,7 @@ public final class Projectile extends Entity { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(IB)Z", + descriptor = "(IB)Z", garbageValue = "3" ) public static boolean method2249(int var0) { diff --git a/runescape-client/src/main/java/RasterProvider.java b/runescape-client/src/main/java/RasterProvider.java index 1ad2129198..7fae546ac3 100644 --- a/runescape-client/src/main/java/RasterProvider.java +++ b/runescape-client/src/main/java/RasterProvider.java @@ -38,7 +38,7 @@ public final class RasterProvider extends AbstractRasterProvider { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ljava/awt/Component;B)V", + descriptor = "(Ljava/awt/Component;B)V", garbageValue = "-55" ) @Export("setComponent") @@ -48,7 +48,7 @@ public final class RasterProvider extends AbstractRasterProvider { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IIB)V", + descriptor = "(IIB)V", garbageValue = "-5" ) @Export("drawFull") @@ -58,7 +58,7 @@ public final class RasterProvider extends AbstractRasterProvider { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(IIIII)V", + descriptor = "(IIIII)V", garbageValue = "-1334771637" ) @Export("draw") @@ -68,7 +68,7 @@ public final class RasterProvider extends AbstractRasterProvider { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Ljava/awt/Graphics;III)V", + descriptor = "(Ljava/awt/Graphics;III)V", garbageValue = "2097062254" ) @Export("drawFull0") @@ -83,7 +83,7 @@ public final class RasterProvider extends AbstractRasterProvider { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Ljava/awt/Graphics;IIIII)V", + descriptor = "(Ljava/awt/Graphics;IIIII)V", garbageValue = "-199223642" ) @Export("draw0") diff --git a/runescape-client/src/main/java/Rasterizer2D.java b/runescape-client/src/main/java/Rasterizer2D.java index c13b02e5f5..917483fd4e 100644 --- a/runescape-client/src/main/java/Rasterizer2D.java +++ b/runescape-client/src/main/java/Rasterizer2D.java @@ -525,7 +525,7 @@ public class Rasterizer2D extends DualNode { @ObfuscatedName("dz") @ObfuscatedSignature( - signature = "(IIIIII[BIZ)V", + descriptor = "(IIIIII[BIZ)V", garbageValue = "1" ) @Export("Rasterizer2D_drawGradientPixels") diff --git a/runescape-client/src/main/java/Rasterizer3D.java b/runescape-client/src/main/java/Rasterizer3D.java index 3a65fbdf91..c1e7e2798c 100644 --- a/runescape-client/src/main/java/Rasterizer3D.java +++ b/runescape-client/src/main/java/Rasterizer3D.java @@ -53,7 +53,7 @@ public class Rasterizer3D extends Rasterizer2D { public static int[] Rasterizer3D_colorPalette; @ObfuscatedName("x") @ObfuscatedSignature( - signature = "Ley;" + descriptor = "Ley;" ) @Export("Rasterizer3D_textureLoader") public static TextureLoader Rasterizer3D_textureLoader; @@ -159,7 +159,7 @@ public class Rasterizer3D extends Rasterizer2D { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Ley;)V" + descriptor = "(Ley;)V" ) @Export("Rasterizer3D_setTextureLoader") public static final void Rasterizer3D_setTextureLoader(TextureLoader var0) { diff --git a/runescape-client/src/main/java/RawPcmStream.java b/runescape-client/src/main/java/RawPcmStream.java index ae443c44c4..4354b9f0d9 100644 --- a/runescape-client/src/main/java/RawPcmStream.java +++ b/runescape-client/src/main/java/RawPcmStream.java @@ -41,7 +41,7 @@ public class RawPcmStream extends PcmStream { int field1504; @ObfuscatedSignature( - signature = "(Ldp;III)V" + descriptor = "(Ldp;III)V" ) RawPcmStream(RawSound var1, int var2, int var3, int var4) { super.sound = var1; @@ -56,7 +56,7 @@ public class RawPcmStream extends PcmStream { } @ObfuscatedSignature( - signature = "(Ldp;II)V" + descriptor = "(Ldp;II)V" ) RawPcmStream(RawSound var1, int var2, int var3) { super.sound = var1; @@ -79,7 +79,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "()Ldf;" + descriptor = "()Ldf;" ) @Export("firstSubStream") protected PcmStream firstSubStream() { @@ -88,7 +88,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "()Ldf;" + descriptor = "()Ldf;" ) @Export("nextSubStream") protected PcmStream nextSubStream() { @@ -508,7 +508,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("e") @ObfuscatedSignature( - signature = "(Z)V", + descriptor = "(Z)V", garbageValue = "1" ) public synchronized void method2683() { @@ -842,7 +842,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Ldp;II)Ldk;" + descriptor = "(Ldp;II)Ldk;" ) @Export("createRawPcmStream") public static RawPcmStream createRawPcmStream(RawSound var0, int var1, int var2) { @@ -851,7 +851,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Ldp;III)Ldk;" + descriptor = "(Ldp;III)Ldk;" ) public static RawPcmStream method2674(RawSound var0, int var1, int var2, int var3) { return var0.samples != null && var0.samples.length != 0 ? new RawPcmStream(var0, var1, var2, var3) : null; @@ -859,7 +859,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("aa") @ObfuscatedSignature( - signature = "([B[IIIIIIILdk;)I" + descriptor = "([B[IIIIIIILdk;)I" ) static int method2723(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, RawPcmStream var8) { var2 >>= 8; @@ -890,7 +890,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("aw") @ObfuscatedSignature( - signature = "(I[B[IIIIIIIILdk;)I" + descriptor = "(I[B[IIIIIIIILdk;)I" ) static int method2742(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10) { var3 >>= 8; @@ -941,7 +941,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("az") @ObfuscatedSignature( - signature = "([B[IIIIIIILdk;)I" + descriptor = "([B[IIIIIIILdk;)I" ) static int method2702(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, RawPcmStream var8) { var2 >>= 8; @@ -972,7 +972,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("aq") @ObfuscatedSignature( - signature = "(I[B[IIIIIIIILdk;)I" + descriptor = "(I[B[IIIIIIIILdk;)I" ) static int method2783(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10) { var3 >>= 8; @@ -1023,7 +1023,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("ay") @ObfuscatedSignature( - signature = "(II[B[IIIIIIILdk;II)I" + descriptor = "(II[B[IIIIIIILdk;II)I" ) static int method2740(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10, int var11, int var12) { if (var11 == 0 || (var7 = var5 + (var11 + (var9 - var4) - 257) / var11) > var8) { @@ -1056,7 +1056,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("au") @ObfuscatedSignature( - signature = "(II[B[IIIIIIIILdk;II)I" + descriptor = "(II[B[IIIIIIIILdk;II)I" ) static int method2705(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12 - 257) / var12) > var9) { @@ -1098,7 +1098,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("aj") @ObfuscatedSignature( - signature = "(II[B[IIIIIIILdk;II)I" + descriptor = "(II[B[IIIIIIILdk;II)I" ) static int method2706(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10, int var11, int var12) { if (var11 == 0 || (var7 = var5 + (var11 + (var9 + 256 - var4)) / var11) > var8) { @@ -1131,7 +1131,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("bk") @ObfuscatedSignature( - signature = "(II[B[IIIIIIIILdk;II)I" + descriptor = "(II[B[IIIIIIIILdk;II)I" ) static int method2707(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { if (var12 == 0 || (var8 = var5 + (var10 + 256 - var4 + var12) / var12) > var9) { @@ -1171,7 +1171,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("bh") @ObfuscatedSignature( - signature = "([B[IIIIIIIILdk;)I" + descriptor = "([B[IIIIIIIILdk;)I" ) static int method2708(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, RawPcmStream var9) { var2 >>= 8; @@ -1212,7 +1212,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("bg") @ObfuscatedSignature( - signature = "(I[B[IIIIIIIIIILdk;)I" + descriptor = "(I[B[IIIIIIIIIILdk;)I" ) static int method2781(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, RawPcmStream var12) { var3 >>= 8; @@ -1278,7 +1278,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("be") @ObfuscatedSignature( - signature = "([B[IIIIIIIILdk;)I" + descriptor = "([B[IIIIIIIILdk;)I" ) static int method2695(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, RawPcmStream var9) { var2 >>= 8; @@ -1319,7 +1319,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("bf") @ObfuscatedSignature( - signature = "(I[B[IIIIIIIIIILdk;)I" + descriptor = "(I[B[IIIIIIIIIILdk;)I" ) static int method2711(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, RawPcmStream var12) { var3 >>= 8; @@ -1385,7 +1385,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("ba") @ObfuscatedSignature( - signature = "(II[B[IIIIIIIILdk;II)I" + descriptor = "(II[B[IIIIIIIILdk;II)I" ) static int method2712(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { var11.field1495 -= var11.field1490 * var5; @@ -1425,7 +1425,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("bd") @ObfuscatedSignature( - signature = "(II[B[IIIIIIIIIILdk;II)I" + descriptor = "(II[B[IIIIIIIIIILdk;II)I" ) static int method2738(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, RawPcmStream var13, int var14, int var15) { var13.field1494 -= var5 * var13.field1502; @@ -1476,7 +1476,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("bb") @ObfuscatedSignature( - signature = "(II[B[IIIIIIIILdk;II)I" + descriptor = "(II[B[IIIIIIIILdk;II)I" ) static int method2767(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { var11.field1495 -= var11.field1490 * var5; @@ -1516,7 +1516,7 @@ public class RawPcmStream extends PcmStream { @ObfuscatedName("bw") @ObfuscatedSignature( - signature = "(II[B[IIIIIIIIIILdk;II)I" + descriptor = "(II[B[IIIIIIIIIILdk;II)I" ) static int method2672(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, RawPcmStream var13, int var14, int var15) { var13.field1494 -= var5 * var13.field1502; diff --git a/runescape-client/src/main/java/RawSound.java b/runescape-client/src/main/java/RawSound.java index 2323a986cd..c3188df87b 100644 --- a/runescape-client/src/main/java/RawSound.java +++ b/runescape-client/src/main/java/RawSound.java @@ -38,7 +38,7 @@ public class RawSound extends AbstractSound { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ldv;)Ldp;" + descriptor = "(Ldv;)Ldp;" ) @Export("resample") public RawSound resample(Decimator var1) { diff --git a/runescape-client/src/main/java/ReflectionCheck.java b/runescape-client/src/main/java/ReflectionCheck.java index 4b0773eb62..02e81c0691 100644 --- a/runescape-client/src/main/java/ReflectionCheck.java +++ b/runescape-client/src/main/java/ReflectionCheck.java @@ -46,7 +46,7 @@ public class ReflectionCheck extends Node { @ObfuscatedName("h") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "1841893741" ) static int method2418(int var0, Script var1, boolean var2) { diff --git a/runescape-client/src/main/java/RouteStrategy.java b/runescape-client/src/main/java/RouteStrategy.java index 4e09e2246d..1d3d81a34e 100644 --- a/runescape-client/src/main/java/RouteStrategy.java +++ b/runescape-client/src/main/java/RouteStrategy.java @@ -43,7 +43,7 @@ public abstract class RouteStrategy { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(IIILfz;I)Z", + descriptor = "(IIILfz;I)Z", garbageValue = "-1966963917" ) @Export("hasArrived") diff --git a/runescape-client/src/main/java/Scene.java b/runescape-client/src/main/java/Scene.java index 6f8a71f2b4..8b3ba2421b 100644 --- a/runescape-client/src/main/java/Scene.java +++ b/runescape-client/src/main/java/Scene.java @@ -59,7 +59,7 @@ public class Scene { static int Scene_cameraYawCosine; @ObfuscatedName("ax") @ObfuscatedSignature( - signature = "[Lev;" + descriptor = "[Lev;" ) @Export("gameObjects") static GameObject[] gameObjects; @@ -92,7 +92,7 @@ public class Scene { static int[] Scene_planeOccluderCounts; @ObfuscatedName("av") @ObfuscatedSignature( - signature = "[[Lew;" + descriptor = "[[Lew;" ) @Export("Scene_planeOccluders") static Occluder[][] Scene_planeOccluders; @@ -101,13 +101,13 @@ public class Scene { static int Scene_currentOccludersCount; @ObfuscatedName("at") @ObfuscatedSignature( - signature = "[Lew;" + descriptor = "[Lew;" ) @Export("Scene_currentOccluders") static Occluder[] Scene_currentOccluders; @ObfuscatedName("aa") @ObfuscatedSignature( - signature = "Ljp;" + descriptor = "Ljp;" ) @Export("Scene_tilesDeque") static NodeDeque Scene_tilesDeque; @@ -163,7 +163,7 @@ public class Scene { int[][][] tileHeights; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "[[[Lea;" + descriptor = "[[[Lea;" ) @Export("tiles") Tile[][][] tiles; @@ -175,7 +175,7 @@ public class Scene { int tempGameObjectsCount; @ObfuscatedName("a") @ObfuscatedSignature( - signature = "[Lev;" + descriptor = "[Lev;" ) @Export("tempGameObjects") GameObject[] tempGameObjects; @@ -355,7 +355,7 @@ public class Scene { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(IIIILel;JI)V" + descriptor = "(IIIILel;JI)V" ) @Export("newFloorDecoration") public void newFloorDecoration(int var1, int var2, int var3, int var4, Entity var5, long var6, int var8) { @@ -377,7 +377,7 @@ public class Scene { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(IIIILel;JLel;Lel;)V" + descriptor = "(IIIILel;JLel;Lel;)V" ) @Export("newGroundItemPile") public void newGroundItemPile(int var1, int var2, int var3, int var4, Entity var5, long var6, Entity var8, Entity var9) { @@ -413,7 +413,7 @@ public class Scene { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(IIIILel;Lel;IIJI)V" + descriptor = "(IIIILel;Lel;IIJI)V" ) @Export("newBoundaryObject") public void newBoundaryObject(int var1, int var2, int var3, int var4, Entity var5, Entity var6, int var7, int var8, long var9, int var11) { @@ -441,7 +441,7 @@ public class Scene { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(IIIILel;Lel;IIIIJI)V" + descriptor = "(IIIILel;Lel;IIIIJI)V" ) @Export("newWallDecoration") public void newWallDecoration(int var1, int var2, int var3, int var4, Entity var5, Entity var6, int var7, int var8, int var9, int var10, long var11, int var13) { @@ -471,7 +471,7 @@ public class Scene { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(IIIIIILel;IJI)Z" + descriptor = "(IIIIIILel;IJI)Z" ) public boolean method3356(int var1, int var2, int var3, int var4, int var5, int var6, Entity var7, int var8, long var9, int var11) { if (var7 == null) { @@ -485,7 +485,7 @@ public class Scene { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(IIIIILel;IJZ)Z" + descriptor = "(IIIIILel;IJZ)Z" ) @Export("drawEntity") public boolean drawEntity(int var1, int var2, int var3, int var4, int var5, Entity var6, int var7, long var8, boolean var10) { @@ -524,7 +524,7 @@ public class Scene { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(IIIIILel;IJIIII)Z" + descriptor = "(IIIIILel;IJIIII)Z" ) @Export("addNullableObject") public boolean addNullableObject(int var1, int var2, int var3, int var4, int var5, Entity var6, int var7, long var8, int var10, int var11, int var12, int var13) { @@ -533,7 +533,7 @@ public class Scene { @ObfuscatedName("h") @ObfuscatedSignature( - signature = "(IIIIIIIILel;IZJI)Z" + descriptor = "(IIIIIIIILel;IZJI)Z" ) @Export("newGameObject") boolean newGameObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, Entity var9, int var10, boolean var11, long var12, int var14) { @@ -619,7 +619,7 @@ public class Scene { @ObfuscatedName("r") @ObfuscatedSignature( - signature = "(Lev;)V" + descriptor = "(Lev;)V" ) @Export("removeGameObject") void removeGameObject(GameObject var1) { @@ -719,7 +719,7 @@ public class Scene { @ObfuscatedName("ai") @ObfuscatedSignature( - signature = "(III)Lez;" + descriptor = "(III)Lez;" ) public BoundaryObject method3213(int var1, int var2, int var3) { Tile var4 = this.tiles[var1][var2][var3]; @@ -728,7 +728,7 @@ public class Scene { @ObfuscatedName("ao") @ObfuscatedSignature( - signature = "(III)Lep;" + descriptor = "(III)Lep;" ) public WallDecoration method3214(int var1, int var2, int var3) { Tile var4 = this.tiles[var1][var2][var3]; @@ -737,7 +737,7 @@ public class Scene { @ObfuscatedName("ae") @ObfuscatedSignature( - signature = "(III)Lev;" + descriptor = "(III)Lev;" ) public GameObject method3215(int var1, int var2, int var3) { Tile var4 = this.tiles[var1][var2][var3]; @@ -757,7 +757,7 @@ public class Scene { @ObfuscatedName("ax") @ObfuscatedSignature( - signature = "(III)Leu;" + descriptor = "(III)Leu;" ) @Export("getFloorDecoration") public FloorDecoration getFloorDecoration(int var1, int var2, int var3) { @@ -875,7 +875,7 @@ public class Scene { @ObfuscatedName("ar") @ObfuscatedSignature( - signature = "(Lek;III)V" + descriptor = "(Lek;III)V" ) void method3283(ModelData var1, int var2, int var3, int var4) { Tile var5; @@ -916,7 +916,7 @@ public class Scene { @ObfuscatedName("ap") @ObfuscatedSignature( - signature = "(Lek;IIIII)V" + descriptor = "(Lek;IIIII)V" ) void method3224(ModelData var1, int var2, int var3, int var4, int var5, int var6) { boolean var7 = true; @@ -1254,7 +1254,7 @@ public class Scene { @ObfuscatedName("az") @ObfuscatedSignature( - signature = "(Lea;Z)V" + descriptor = "(Lea;Z)V" ) @Export("drawTile") void drawTile(Tile var1, boolean var2) { @@ -1784,7 +1784,7 @@ public class Scene { @ObfuscatedName("aq") @ObfuscatedSignature( - signature = "(Lex;IIIIIII)V" + descriptor = "(Lex;IIIIIII)V" ) @Export("drawTileUnderlay") void drawTileUnderlay(TilePaint var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { @@ -1895,7 +1895,7 @@ public class Scene { @ObfuscatedName("ay") @ObfuscatedSignature( - signature = "(Lej;IIIIII)V" + descriptor = "(Lej;IIIIII)V" ) @Export("drawTileOverlay") void drawTileOverlay(TileModel var1, int var2, int var3, int var4, int var5, int var6, int var7) { diff --git a/runescape-client/src/main/java/Script.java b/runescape-client/src/main/java/Script.java index db4c1ba62a..bdcee4aee0 100644 --- a/runescape-client/src/main/java/Script.java +++ b/runescape-client/src/main/java/Script.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class Script extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("Script_cached") static EvictingDualNodeHashTable Script_cached; @@ -48,7 +48,7 @@ public class Script extends DualNode { int stringArgumentCount; @ObfuscatedName("a") @ObfuscatedSignature( - signature = "[Llf;" + descriptor = "[Llf;" ) @Export("switches") IterableNodeHashTable[] switches; @@ -62,7 +62,7 @@ public class Script extends DualNode { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(II)[Llf;", + descriptor = "(II)[Llf;", garbageValue = "-978861309" ) @Export("newIterableNodeHashTable") diff --git a/runescape-client/src/main/java/ScriptEvent.java b/runescape-client/src/main/java/ScriptEvent.java index d40814559b..70ffe00968 100644 --- a/runescape-client/src/main/java/ScriptEvent.java +++ b/runescape-client/src/main/java/ScriptEvent.java @@ -14,7 +14,7 @@ public class ScriptEvent extends Node { static int field604; @ObfuscatedName("h") @ObfuscatedSignature( - signature = "Llh;" + descriptor = "Llh;" ) static IndexedSprite field597; @ObfuscatedName("az") @@ -30,7 +30,7 @@ public class ScriptEvent extends Node { boolean isMouseInputEvent; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lhd;" + descriptor = "Lhd;" ) @Export("widget") Widget widget; @@ -54,7 +54,7 @@ public class ScriptEvent extends Node { int opIndex; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Lhd;" + descriptor = "Lhd;" ) @Export("dragTarget") Widget dragTarget; @@ -91,7 +91,7 @@ public class ScriptEvent extends Node { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "([Ljava/lang/Object;I)V", + descriptor = "([Ljava/lang/Object;I)V", garbageValue = "-2050703759" ) @Export("setArgs") @@ -101,7 +101,7 @@ public class ScriptEvent extends Node { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "20" ) @Export("setType") @@ -173,7 +173,7 @@ public class ScriptEvent extends Node { @ObfuscatedName("fv") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "303339948" ) @Export("setWindowedMode") @@ -203,7 +203,7 @@ public class ScriptEvent extends Node { @ObfuscatedName("hs") @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;IIIII)V", + descriptor = "(Ljava/lang/String;Ljava/lang/String;IIIII)V", garbageValue = "-1977726761" ) @Export("insertMenuItemNoShift") diff --git a/runescape-client/src/main/java/ScriptFrame.java b/runescape-client/src/main/java/ScriptFrame.java index 82cdd9c194..2f936f929c 100644 --- a/runescape-client/src/main/java/ScriptFrame.java +++ b/runescape-client/src/main/java/ScriptFrame.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class ScriptFrame { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lcs;" + descriptor = "Lcs;" ) @Export("script") Script script; @@ -32,7 +32,7 @@ public class ScriptFrame { @ObfuscatedName("gb") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-32" ) static void method1201() { diff --git a/runescape-client/src/main/java/SecureRandomCallable.java b/runescape-client/src/main/java/SecureRandomCallable.java index 8577f2fa32..1afc63eb00 100644 --- a/runescape-client/src/main/java/SecureRandomCallable.java +++ b/runescape-client/src/main/java/SecureRandomCallable.java @@ -11,13 +11,13 @@ import net.runelite.rs.ScriptOpcodes; public class SecureRandomCallable implements Callable { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("Widget_modelsArchive") static AbstractArchive Widget_modelsArchive; @ObfuscatedName("c") @ObfuscatedSignature( - signature = "Lhd;" + descriptor = "Lhd;" ) static Widget field544; @ObfuscatedName("cp") @@ -27,7 +27,7 @@ public class SecureRandomCallable implements Callable { public static int field546; @ObfuscatedName("ll") @ObfuscatedSignature( - signature = "Lhd;" + descriptor = "Lhd;" ) static Widget field542; @@ -40,7 +40,7 @@ public class SecureRandomCallable implements Callable { @ObfuscatedName("ab") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "1445802198" ) static int method1203(int var0, Script var1, boolean var2) { @@ -184,7 +184,7 @@ public class SecureRandomCallable implements Callable { @ObfuscatedName("fm") @ObfuscatedSignature( - signature = "(Lby;IIB)V", + descriptor = "(Lby;IIB)V", garbageValue = "72" ) @Export("performPlayerAnimation") @@ -214,7 +214,7 @@ public class SecureRandomCallable implements Callable { @ObfuscatedName("hw") @ObfuscatedSignature( - signature = "(Lcu;III)V", + descriptor = "(Lcu;III)V", garbageValue = "9999999" ) static final void method1205(MenuAction var0, int var1, int var2) { diff --git a/runescape-client/src/main/java/SecureRandomFuture.java b/runescape-client/src/main/java/SecureRandomFuture.java index 8050c73f23..6dd7becf51 100644 --- a/runescape-client/src/main/java/SecureRandomFuture.java +++ b/runescape-client/src/main/java/SecureRandomFuture.java @@ -32,7 +32,7 @@ public class SecureRandomFuture { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1768039353" ) @Export("shutdown") @@ -43,7 +43,7 @@ public class SecureRandomFuture { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "-657646100" ) @Export("isDone") @@ -53,7 +53,7 @@ public class SecureRandomFuture { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(B)Ljava/security/SecureRandom;", + descriptor = "(B)Ljava/security/SecureRandom;", garbageValue = "0" ) @Export("get") @@ -67,7 +67,7 @@ public class SecureRandomFuture { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I[BLlp;B)V", + descriptor = "(I[BLlp;B)V", garbageValue = "0" ) static void method2270(int var0, byte[] var1, ArchiveDisk var2) { @@ -94,7 +94,7 @@ public class SecureRandomFuture { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;IZB)I", + descriptor = "(Ljava/lang/CharSequence;IZB)I", garbageValue = "45" ) @Export("parseIntCustomRadix") @@ -160,7 +160,7 @@ public class SecureRandomFuture { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(IIIIIZI)Llz;", + descriptor = "(IIIIIZI)Llz;", garbageValue = "-650607476" ) @Export("getItemSprite") @@ -292,7 +292,7 @@ public class SecureRandomFuture { @ObfuscatedName("ae") @ObfuscatedSignature( - signature = "(ILcs;ZB)I", + descriptor = "(ILcs;ZB)I", garbageValue = "75" ) static int method2272(int var0, Script var1, boolean var2) { diff --git a/runescape-client/src/main/java/SequenceDefinition.java b/runescape-client/src/main/java/SequenceDefinition.java index 5e33bf0e92..67d910e8e3 100644 --- a/runescape-client/src/main/java/SequenceDefinition.java +++ b/runescape-client/src/main/java/SequenceDefinition.java @@ -9,31 +9,31 @@ import net.runelite.mapping.ObfuscatedSignature; public class SequenceDefinition extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("SequenceDefinition_archive") public static AbstractArchive SequenceDefinition_archive; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("SequenceDefinition_animationsArchive") public static AbstractArchive SequenceDefinition_animationsArchive; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("SequenceDefinition_skeletonsArchive") public static AbstractArchive SequenceDefinition_skeletonsArchive; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("SequenceDefinition_cached") static EvictingDualNodeHashTable SequenceDefinition_cached; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("SequenceDefinition_cachedFrames") static EvictingDualNodeHashTable SequenceDefinition_cachedFrames; @@ -116,7 +116,7 @@ public class SequenceDefinition extends DualNode { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "-1837396411" ) @Export("decode") @@ -133,7 +133,7 @@ public class SequenceDefinition extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "-1375281235" ) @Export("decodeNext") @@ -208,7 +208,7 @@ public class SequenceDefinition extends DualNode { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1490793911" ) @Export("postDecode") @@ -233,7 +233,7 @@ public class SequenceDefinition extends DualNode { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Lef;II)Lef;", + descriptor = "(Lef;II)Lef;", garbageValue = "-1881625962" ) @Export("transformActorModel") @@ -252,7 +252,7 @@ public class SequenceDefinition extends DualNode { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(Lef;III)Lef;", + descriptor = "(Lef;III)Lef;", garbageValue = "-1040736484" ) @Export("transformObjectModel") @@ -288,7 +288,7 @@ public class SequenceDefinition extends DualNode { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(Lef;II)Lef;", + descriptor = "(Lef;II)Lef;", garbageValue = "-277583954" ) @Export("transformSpotAnimationModel") @@ -307,7 +307,7 @@ public class SequenceDefinition extends DualNode { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(Lef;ILjm;II)Lef;", + descriptor = "(Lef;ILjm;II)Lef;", garbageValue = "-864862384" ) @Export("applyTransformations") @@ -336,7 +336,7 @@ public class SequenceDefinition extends DualNode { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(Lef;IB)Lef;", + descriptor = "(Lef;IB)Lef;", garbageValue = "32" ) @Export("transformWidgetModel") @@ -371,7 +371,7 @@ public class SequenceDefinition extends DualNode { @ObfuscatedName("fc") @ObfuscatedSignature( - signature = "(ZI)V", + descriptor = "(ZI)V", garbageValue = "1779036927" ) static final void method4973(boolean var0) { diff --git a/runescape-client/src/main/java/ServerPacket.java b/runescape-client/src/main/java/ServerPacket.java index 8e55a9879b..3d52ca7fda 100644 --- a/runescape-client/src/main/java/ServerPacket.java +++ b/runescape-client/src/main/java/ServerPacket.java @@ -9,432 +9,432 @@ import net.runelite.mapping.ObfuscatedSignature; public class ServerPacket { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2191; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2177; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2200; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2156; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2211; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2158; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2219; @ObfuscatedName("u") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2228; @ObfuscatedName("a") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2161; @ObfuscatedName("z") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2169; @ObfuscatedName("w") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2224; @ObfuscatedName("y") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2164; @ObfuscatedName("c") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2155; @ObfuscatedName("h") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2166; @ObfuscatedName("k") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2167; @ObfuscatedName("r") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2168; @ObfuscatedName("s") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2181; @ObfuscatedName("v") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2170; @ObfuscatedName("d") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2232; @ObfuscatedName("e") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2172; @ObfuscatedName("l") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2173; @ObfuscatedName("t") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2189; @ObfuscatedName("x") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2171; @ObfuscatedName("b") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2176; @ObfuscatedName("i") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2165; @ObfuscatedName("f") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2178; @ObfuscatedName("ah") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2175; @ObfuscatedName("ai") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2180; @ObfuscatedName("ao") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2240; @ObfuscatedName("ae") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2182; @ObfuscatedName("ax") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2183; @ObfuscatedName("ag") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2184; @ObfuscatedName("ab") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2185; @ObfuscatedName("am") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2186; @ObfuscatedName("ak") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2187; @ObfuscatedName("ad") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2188; @ObfuscatedName("as") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2160; @ObfuscatedName("ar") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2220; @ObfuscatedName("ap") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2162; @ObfuscatedName("al") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2159; @ObfuscatedName("an") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2199; @ObfuscatedName("ac") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2194; @ObfuscatedName("av") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2157; @ObfuscatedName("af") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2193; @ObfuscatedName("at") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2197; @ObfuscatedName("aa") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2190; @ObfuscatedName("aw") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2223; @ObfuscatedName("az") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2163; @ObfuscatedName("aq") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2201; @ObfuscatedName("ay") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2202; @ObfuscatedName("au") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2203; @ObfuscatedName("aj") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2204; @ObfuscatedName("bk") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2205; @ObfuscatedName("bh") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2206; @ObfuscatedName("bg") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2207; @ObfuscatedName("be") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2208; @ObfuscatedName("bf") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2209; @ObfuscatedName("ba") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2210; @ObfuscatedName("bd") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2230; @ObfuscatedName("bb") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2212; @ObfuscatedName("bw") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2213; @ObfuscatedName("bq") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2226; @ObfuscatedName("bn") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2215; @ObfuscatedName("bc") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2216; @ObfuscatedName("bo") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2217; @ObfuscatedName("bp") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2218; @ObfuscatedName("bm") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2196; @ObfuscatedName("bl") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2174; @ObfuscatedName("bv") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2221; @ObfuscatedName("bi") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2222; @ObfuscatedName("bz") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2235; @ObfuscatedName("bu") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2153; @ObfuscatedName("bx") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2225; @ObfuscatedName("br") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2195; @ObfuscatedName("bs") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2227; @ObfuscatedName("by") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2233; @ObfuscatedName("bj") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2229; @ObfuscatedName("bt") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2179; @ObfuscatedName("cc") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2231; @ObfuscatedName("cb") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2214; @ObfuscatedName("ch") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2154; @ObfuscatedName("cw") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2234; @ObfuscatedName("cz") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2198; @ObfuscatedName("cg") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2236; @ObfuscatedName("cn") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2237; @ObfuscatedName("ce") @ObfuscatedSignature( - signature = "Lgu;" + descriptor = "Lgu;" ) public static final ServerPacket field2238; @ObfuscatedName("cj") diff --git a/runescape-client/src/main/java/Skeleton.java b/runescape-client/src/main/java/Skeleton.java index 9064706f20..6e2e0109f8 100644 --- a/runescape-client/src/main/java/Skeleton.java +++ b/runescape-client/src/main/java/Skeleton.java @@ -57,7 +57,7 @@ public class Skeleton extends Node { @ObfuscatedName("iz") @ObfuscatedSignature( - signature = "(ZB)V", + descriptor = "(ZB)V", garbageValue = "38" ) @Export("setTapToDrop") @@ -67,7 +67,7 @@ public class Skeleton extends Node { @ObfuscatedName("jo") @ObfuscatedSignature( - signature = "([Lhd;IB)V", + descriptor = "([Lhd;IB)V", garbageValue = "34" ) @Export("runComponentCloseListeners") diff --git a/runescape-client/src/main/java/Skills.java b/runescape-client/src/main/java/Skills.java index 2d17996541..2f8acf1dd7 100644 --- a/runescape-client/src/main/java/Skills.java +++ b/runescape-client/src/main/java/Skills.java @@ -29,7 +29,7 @@ public class Skills { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(B)[Lib;", + descriptor = "(B)[Lib;", garbageValue = "0" ) public static StudioGame[] method4272() { @@ -38,7 +38,7 @@ public class Skills { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-891910442" ) public static int method4271() { diff --git a/runescape-client/src/main/java/SoundCache.java b/runescape-client/src/main/java/SoundCache.java index 68a0047766..d8a0e6bbd5 100644 --- a/runescape-client/src/main/java/SoundCache.java +++ b/runescape-client/src/main/java/SoundCache.java @@ -11,31 +11,31 @@ public class SoundCache { static boolean ItemDefinition_inMembersWorld; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("soundEffectIndex") AbstractArchive soundEffectIndex; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("musicSampleIndex") AbstractArchive musicSampleIndex; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lle;" + descriptor = "Lle;" ) @Export("musicSamples") NodeHashTable musicSamples; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lle;" + descriptor = "Lle;" ) @Export("rawSounds") NodeHashTable rawSounds; @ObfuscatedSignature( - signature = "(Lic;Lic;)V" + descriptor = "(Lic;Lic;)V" ) public SoundCache(AbstractArchive var1, AbstractArchive var2) { this.musicSamples = new NodeHashTable(256); @@ -46,7 +46,7 @@ public class SoundCache { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(II[II)Ldp;", + descriptor = "(II[II)Ldp;", garbageValue = "-1808254786" ) @Export("getSoundEffect0") @@ -77,7 +77,7 @@ public class SoundCache { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(II[II)Ldp;", + descriptor = "(II[II)Ldp;", garbageValue = "1029980223" ) @Export("getMusicSample0") @@ -114,7 +114,7 @@ public class SoundCache { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I[IB)Ldp;", + descriptor = "(I[IB)Ldp;", garbageValue = "-87" ) @Export("getSoundEffect") @@ -130,7 +130,7 @@ public class SoundCache { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I[II)Ldp;", + descriptor = "(I[II)Ldp;", garbageValue = "2095732620" ) @Export("getMusicSample") @@ -146,7 +146,7 @@ public class SoundCache { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "104" ) @Export("clearItemContainer") @@ -163,7 +163,7 @@ public class SoundCache { @ObfuscatedName("hu") @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)V", + descriptor = "(ILjava/lang/String;I)V", garbageValue = "-717528882" ) static void method2647(int var0, String var1) { diff --git a/runescape-client/src/main/java/SoundEffect.java b/runescape-client/src/main/java/SoundEffect.java index a02d46de4e..a8c68d309e 100644 --- a/runescape-client/src/main/java/SoundEffect.java +++ b/runescape-client/src/main/java/SoundEffect.java @@ -8,7 +8,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class SoundEffect { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "[Ldq;" + descriptor = "[Ldq;" ) @Export("instruments") Instrument[] instruments; @@ -20,7 +20,7 @@ public class SoundEffect { int end; @ObfuscatedSignature( - signature = "(Lkn;)V" + descriptor = "(Lkn;)V" ) SoundEffect(Buffer var1) { this.instruments = new Instrument[10]; @@ -40,7 +40,7 @@ public class SoundEffect { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "()Ldp;" + descriptor = "()Ldp;" ) @Export("toRawSound") public RawSound toRawSound() { @@ -124,7 +124,7 @@ public class SoundEffect { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lic;II)Ldr;" + descriptor = "(Lic;II)Ldr;" ) @Export("readSoundEffect") public static SoundEffect readSoundEffect(AbstractArchive var0, int var1, int var2) { diff --git a/runescape-client/src/main/java/SoundEnvelope.java b/runescape-client/src/main/java/SoundEnvelope.java index b028401d84..92af9335fe 100644 --- a/runescape-client/src/main/java/SoundEnvelope.java +++ b/runescape-client/src/main/java/SoundEnvelope.java @@ -52,7 +52,7 @@ public class SoundEnvelope { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkn;)V" + descriptor = "(Lkn;)V" ) @Export("decode") final void decode(Buffer var1) { @@ -64,7 +64,7 @@ public class SoundEnvelope { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;)V" + descriptor = "(Lkn;)V" ) @Export("decodeSegments") final void decodeSegments(Buffer var1) { diff --git a/runescape-client/src/main/java/SoundSystem.java b/runescape-client/src/main/java/SoundSystem.java index 3866192e1e..10ea5945b1 100644 --- a/runescape-client/src/main/java/SoundSystem.java +++ b/runescape-client/src/main/java/SoundSystem.java @@ -15,13 +15,13 @@ public class SoundSystem implements Runnable { static int field1466; @ObfuscatedName("hm") @ObfuscatedSignature( - signature = "[Llz;" + descriptor = "[Llz;" ) @Export("headIconHintSprites") static Sprite[] headIconHintSprites; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "[Ldt;" + descriptor = "[Ldt;" ) @Export("players") volatile PcmPlayer[] players; @@ -46,7 +46,7 @@ public class SoundSystem implements Runnable { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(IB)I", + descriptor = "(IB)I", garbageValue = "101" ) public static int method2628(int var0) { @@ -55,7 +55,7 @@ public class SoundSystem implements Runnable { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-123" ) public static void method2629() { @@ -75,7 +75,7 @@ public class SoundSystem implements Runnable { @ObfuscatedName("d") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "1398391910" ) static int method2630(int var0, Script var1, boolean var2) { diff --git a/runescape-client/src/main/java/SpotAnimationDefinition.java b/runescape-client/src/main/java/SpotAnimationDefinition.java index 4d1ea197f1..6bc7efbd71 100644 --- a/runescape-client/src/main/java/SpotAnimationDefinition.java +++ b/runescape-client/src/main/java/SpotAnimationDefinition.java @@ -9,25 +9,25 @@ import net.runelite.mapping.ObfuscatedSignature; public class SpotAnimationDefinition extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("SpotAnimationDefinition_archive") static AbstractArchive SpotAnimationDefinition_archive; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("SpotAnimationDefinition_cached") static EvictingDualNodeHashTable SpotAnimationDefinition_cached; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("SpotAnimationDefinition_cachedModels") static EvictingDualNodeHashTable SpotAnimationDefinition_cachedModels; @ObfuscatedName("bw") @ObfuscatedSignature( - signature = "[Llh;" + descriptor = "[Llh;" ) @Export("worldSelectFlagSprites") static IndexedSprite[] worldSelectFlagSprites; @@ -108,7 +108,7 @@ public class SpotAnimationDefinition extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "-1363953407" ) @Export("decode") @@ -125,7 +125,7 @@ public class SpotAnimationDefinition extends DualNode { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "-809461171" ) @Export("decodeNext") @@ -172,7 +172,7 @@ public class SpotAnimationDefinition extends DualNode { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(IB)Lef;", + descriptor = "(IB)Lef;", garbageValue = "-31" ) @Export("getModel") diff --git a/runescape-client/src/main/java/Sprite.java b/runescape-client/src/main/java/Sprite.java index 140279b00d..c466a1e886 100644 --- a/runescape-client/src/main/java/Sprite.java +++ b/runescape-client/src/main/java/Sprite.java @@ -45,7 +45,7 @@ public final class Sprite extends Rasterizer2D { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "()Llz;" + descriptor = "()Llz;" ) @Export("mirrorHorizontally") public Sprite mirrorHorizontally() { @@ -66,7 +66,7 @@ public final class Sprite extends Rasterizer2D { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "()Llz;" + descriptor = "()Llz;" ) @Export("copyNormalized") public Sprite copyNormalized() { diff --git a/runescape-client/src/main/java/SpriteMask.java b/runescape-client/src/main/java/SpriteMask.java index 1392ccaca1..7b99e2a49a 100644 --- a/runescape-client/src/main/java/SpriteMask.java +++ b/runescape-client/src/main/java/SpriteMask.java @@ -35,7 +35,7 @@ public class SpriteMask extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(III)Z", + descriptor = "(III)Z", garbageValue = "-679501708" ) @Export("contains") @@ -62,7 +62,7 @@ public class SpriteMask extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "39704682" ) @Export("savePreferences") @@ -87,7 +87,7 @@ public class SpriteMask extends DualNode { @ObfuscatedName("km") @ObfuscatedSignature( - signature = "(Ljava/lang/String;ZI)V", + descriptor = "(Ljava/lang/String;ZI)V", garbageValue = "2008753616" ) @Export("findItemDefinitions") diff --git a/runescape-client/src/main/java/StructDefinition.java b/runescape-client/src/main/java/StructDefinition.java index 3e475cbae2..053e88aa0f 100644 --- a/runescape-client/src/main/java/StructDefinition.java +++ b/runescape-client/src/main/java/StructDefinition.java @@ -8,19 +8,19 @@ import net.runelite.mapping.ObfuscatedSignature; public class StructDefinition extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("StructDefinition_archive") static AbstractArchive StructDefinition_archive; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("StructDefinition_cached") public static EvictingDualNodeHashTable StructDefinition_cached; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Llf;" + descriptor = "Llf;" ) @Export("params") IterableNodeHashTable params; @@ -34,7 +34,7 @@ public class StructDefinition extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-98" ) @Export("postDecode") @@ -43,7 +43,7 @@ public class StructDefinition extends DualNode { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "381784776" ) @Export("decode") @@ -60,7 +60,7 @@ public class StructDefinition extends DualNode { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "337645419" ) @Export("decodeNext") @@ -73,7 +73,7 @@ public class StructDefinition extends DualNode { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(III)I", + descriptor = "(III)I", garbageValue = "48203250" ) @Export("getIntParam") @@ -83,7 +83,7 @@ public class StructDefinition extends DualNode { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)Ljava/lang/String;", + descriptor = "(ILjava/lang/String;I)Ljava/lang/String;", garbageValue = "-1617799993" ) @Export("getStringParam") @@ -93,7 +93,7 @@ public class StructDefinition extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(S)[Lgu;", + descriptor = "(S)[Lgu;", garbageValue = "8211" ) @Export("ServerPacket_values") @@ -103,7 +103,7 @@ public class StructDefinition extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "([Ljava/lang/CharSequence;III)Ljava/lang/String;", + descriptor = "([Ljava/lang/CharSequence;III)Ljava/lang/String;", garbageValue = "1817057195" ) public static String method4718(CharSequence[] var0, int var1, int var2) { @@ -142,7 +142,7 @@ public class StructDefinition extends DualNode { @ObfuscatedName("jb") @ObfuscatedSignature( - signature = "(Lhd;IIII)V", + descriptor = "(Lhd;IIII)V", garbageValue = "-1082386904" ) @Export("drawMinimap") diff --git a/runescape-client/src/main/java/StudioGame.java b/runescape-client/src/main/java/StudioGame.java index 72ed2e445e..2d58d44203 100644 --- a/runescape-client/src/main/java/StudioGame.java +++ b/runescape-client/src/main/java/StudioGame.java @@ -9,37 +9,37 @@ import net.runelite.mapping.ObfuscatedSignature; public enum StudioGame implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lib;" + descriptor = "Lib;" ) @Export("runescape") runescape("runescape", "RuneScape", 0), @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lib;" + descriptor = "Lib;" ) @Export("stellardawn") stellardawn("stellardawn", "Stellar Dawn", 1), @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lib;" + descriptor = "Lib;" ) @Export("game3") game3("game3", "Game 3", 2), @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lib;" + descriptor = "Lib;" ) @Export("game4") game4("game4", "Game 4", 3), @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lib;" + descriptor = "Lib;" ) @Export("game5") game5("game5", "Game 5", 4), @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lib;" + descriptor = "Lib;" ) @Export("oldscape") oldscape("oldscape", "RuneScape 2007", 5); @@ -64,7 +64,7 @@ public enum StudioGame implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-995092303" ) @Export("rsOrdinal") @@ -74,7 +74,7 @@ public enum StudioGame implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(II)Ljz;", + descriptor = "(II)Ljz;", garbageValue = "916487028" ) @Export("getNpcDefinition") @@ -98,7 +98,7 @@ public enum StudioGame implements Enumerated { @ObfuscatedName("ih") @ObfuscatedSignature( - signature = "(IIIIII)V", + descriptor = "(IIIIII)V", garbageValue = "-1280022094" ) @Export("drawScrollBar") diff --git a/runescape-client/src/main/java/Task.java b/runescape-client/src/main/java/Task.java index 8c58bfe57c..18236fc1f8 100644 --- a/runescape-client/src/main/java/Task.java +++ b/runescape-client/src/main/java/Task.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class Task { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lfa;" + descriptor = "Lfa;" ) @Export("next") Task next; diff --git a/runescape-client/src/main/java/TaskHandler.java b/runescape-client/src/main/java/TaskHandler.java index ef2ca3dc07..f82d3ac1d2 100644 --- a/runescape-client/src/main/java/TaskHandler.java +++ b/runescape-client/src/main/java/TaskHandler.java @@ -19,18 +19,18 @@ public class TaskHandler implements Runnable { public static String javaVersion; @ObfuscatedName("jq") @ObfuscatedSignature( - signature = "Lhd;" + descriptor = "Lhd;" ) static Widget field2066; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lfa;" + descriptor = "Lfa;" ) @Export("current") Task current; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lfa;" + descriptor = "Lfa;" ) @Export("task") Task task; @@ -63,7 +63,7 @@ public class TaskHandler implements Runnable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "622783218" ) @Export("close") @@ -82,7 +82,7 @@ public class TaskHandler implements Runnable { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IIILjava/lang/Object;I)Lfa;", + descriptor = "(IIILjava/lang/Object;I)Lfa;", garbageValue = "962190485" ) @Export("newTask") @@ -106,7 +106,7 @@ public class TaskHandler implements Runnable { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Ljava/lang/String;II)Lfa;", + descriptor = "(Ljava/lang/String;II)Lfa;", garbageValue = "746026781" ) @Export("newSocketTask") @@ -116,7 +116,7 @@ public class TaskHandler implements Runnable { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Ljava/lang/Runnable;II)Lfa;", + descriptor = "(Ljava/lang/Runnable;II)Lfa;", garbageValue = "2089571271" ) @Export("newThreadTask") @@ -174,7 +174,7 @@ public class TaskHandler implements Runnable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ljava/applet/Applet;Ljava/lang/String;I)V", + descriptor = "(Ljava/applet/Applet;Ljava/lang/String;I)V", garbageValue = "-1144544095" ) public static void method3606(Applet var0, String var1) { @@ -187,7 +187,7 @@ public class TaskHandler implements Runnable { @ObfuscatedName("fa") @ObfuscatedSignature( - signature = "(Lcc;IB)V", + descriptor = "(Lcc;IB)V", garbageValue = "-73" ) @Export("updateActorSequence") diff --git a/runescape-client/src/main/java/Texture.java b/runescape-client/src/main/java/Texture.java index 550cb52a28..a5470e03ff 100644 --- a/runescape-client/src/main/java/Texture.java +++ b/runescape-client/src/main/java/Texture.java @@ -37,7 +37,7 @@ public class Texture extends Node { boolean isLoaded; @ObfuscatedSignature( - signature = "(Lkn;)V" + descriptor = "(Lkn;)V" ) Texture(Buffer var1) { this.isLoaded = false; @@ -84,7 +84,7 @@ public class Texture extends Node { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(DILic;)Z" + descriptor = "(DILic;)Z" ) @Export("load") boolean load(double var1, int var3, AbstractArchive var4) { diff --git a/runescape-client/src/main/java/TextureLoader.java b/runescape-client/src/main/java/TextureLoader.java index bf0e426e64..4f3d17783e 100644 --- a/runescape-client/src/main/java/TextureLoader.java +++ b/runescape-client/src/main/java/TextureLoader.java @@ -8,7 +8,7 @@ import net.runelite.mapping.ObfuscatedSignature; public interface TextureLoader { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(II)[I", + descriptor = "(II)[I", garbageValue = "1948753683" ) @Export("getTexturePixels") @@ -16,7 +16,7 @@ public interface TextureLoader { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(II)I", + descriptor = "(II)I", garbageValue = "1038437362" ) @Export("getAverageTextureRGB") @@ -24,14 +24,14 @@ public interface TextureLoader { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(IB)Z", + descriptor = "(IB)Z", garbageValue = "54" ) boolean vmethod3404(int var1); @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(IB)Z", + descriptor = "(IB)Z", garbageValue = "18" ) @Export("isLowDetail") diff --git a/runescape-client/src/main/java/TextureProvider.java b/runescape-client/src/main/java/TextureProvider.java index ff9dee7566..a10d610e32 100644 --- a/runescape-client/src/main/java/TextureProvider.java +++ b/runescape-client/src/main/java/TextureProvider.java @@ -13,13 +13,13 @@ public class TextureProvider implements TextureLoader { static int[] Tiles_lightness; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "[Leo;" + descriptor = "[Leo;" ) @Export("textures") Texture[] textures; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Ljp;" + descriptor = "Ljp;" ) @Export("deque") NodeDeque deque; @@ -46,13 +46,13 @@ public class TextureProvider implements TextureLoader { int textureSize; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("archive") AbstractArchive archive; @ObfuscatedSignature( - signature = "(Lic;Lic;IDI)V" + descriptor = "(Lic;Lic;IDI)V" ) public TextureProvider(AbstractArchive var1, AbstractArchive var2, int var3, double var4, int var6) { this.deque = new NodeDeque(); @@ -77,7 +77,7 @@ public class TextureProvider implements TextureLoader { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1846975444" ) @Export("getLoadedPercentage") @@ -117,7 +117,7 @@ public class TextureProvider implements TextureLoader { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(II)[I", + descriptor = "(II)[I", garbageValue = "1948753683" ) @Export("getTexturePixels") @@ -150,7 +150,7 @@ public class TextureProvider implements TextureLoader { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(II)I", + descriptor = "(II)I", garbageValue = "1038437362" ) @Export("getAverageTextureRGB") @@ -160,7 +160,7 @@ public class TextureProvider implements TextureLoader { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(IB)Z", + descriptor = "(IB)Z", garbageValue = "54" ) public boolean vmethod3404(int var1) { @@ -169,7 +169,7 @@ public class TextureProvider implements TextureLoader { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(IB)Z", + descriptor = "(IB)Z", garbageValue = "18" ) @Export("isLowDetail") @@ -179,7 +179,7 @@ public class TextureProvider implements TextureLoader { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-426854674" ) @Export("clear") @@ -196,7 +196,7 @@ public class TextureProvider implements TextureLoader { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "245586965" ) @Export("animate") @@ -213,7 +213,7 @@ public class TextureProvider implements TextureLoader { @ObfuscatedName("ak") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "1729691421" ) static int method2888(int var0, Script var1, boolean var2) { @@ -331,7 +331,7 @@ public class TextureProvider implements TextureLoader { @ObfuscatedName("bc") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)I", + descriptor = "(Ljava/lang/String;I)I", garbageValue = "1974416966" ) public static int method2873(String var0) { @@ -340,7 +340,7 @@ public class TextureProvider implements TextureLoader { @ObfuscatedName("gz") @ObfuscatedSignature( - signature = "(IIZB)V", + descriptor = "(IIZB)V", garbageValue = "-64" ) static final void method2900(int var0, int var1, boolean var2) { diff --git a/runescape-client/src/main/java/Tile.java b/runescape-client/src/main/java/Tile.java index 73ab6a33f9..d7b053bc8a 100644 --- a/runescape-client/src/main/java/Tile.java +++ b/runescape-client/src/main/java/Tile.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public final class Tile extends Node { @ObfuscatedName("df") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive9") static Archive archive9; @@ -39,37 +39,37 @@ public final class Tile extends Node { int originalPlane; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lex;" + descriptor = "Lex;" ) @Export("paint") TilePaint paint; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lej;" + descriptor = "Lej;" ) @Export("model") TileModel model; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Lez;" + descriptor = "Lez;" ) @Export("boundaryObject") BoundaryObject boundaryObject; @ObfuscatedName("u") @ObfuscatedSignature( - signature = "Lep;" + descriptor = "Lep;" ) @Export("wallDecoration") WallDecoration wallDecoration; @ObfuscatedName("a") @ObfuscatedSignature( - signature = "Leu;" + descriptor = "Leu;" ) @Export("floorDecoration") FloorDecoration floorDecoration; @ObfuscatedName("z") @ObfuscatedSignature( - signature = "Ldj;" + descriptor = "Ldj;" ) @Export("tileItemPile") TileItemPile tileItemPile; @@ -81,7 +81,7 @@ public final class Tile extends Node { int gameObjectsCount; @ObfuscatedName("y") @ObfuscatedSignature( - signature = "[Lev;" + descriptor = "[Lev;" ) @Export("gameObjects") GameObject[] gameObjects; @@ -132,7 +132,7 @@ public final class Tile extends Node { int field1692; @ObfuscatedName("x") @ObfuscatedSignature( - signature = "Lea;" + descriptor = "Lea;" ) @Export("linkedBelowTile") Tile linkedBelowTile; @@ -148,7 +148,7 @@ public final class Tile extends Node { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(B)Lgj;", + descriptor = "(B)Lgj;", garbageValue = "3" ) public static PacketBufferNode method2990() { diff --git a/runescape-client/src/main/java/TileItem.java b/runescape-client/src/main/java/TileItem.java index d215d4965d..d1af4c6662 100644 --- a/runescape-client/src/main/java/TileItem.java +++ b/runescape-client/src/main/java/TileItem.java @@ -25,7 +25,7 @@ public final class TileItem extends Entity { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(I)Lef;", + descriptor = "(I)Lef;", garbageValue = "1832696685" ) @Export("getModel") @@ -35,7 +35,7 @@ public final class TileItem extends Entity { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lic;II)Lhi;", + descriptor = "(Lic;II)Lhi;", garbageValue = "-1379318821" ) static MusicPatch method2255(AbstractArchive var0, int var1) { @@ -45,7 +45,7 @@ public final class TileItem extends Entity { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lic;B)V", + descriptor = "(Lic;B)V", garbageValue = "14" ) public static void method2256(AbstractArchive var0) { @@ -55,7 +55,7 @@ public final class TileItem extends Entity { @ObfuscatedName("h") @ObfuscatedSignature( - signature = "(CI)Z", + descriptor = "(CI)Z", garbageValue = "16711935" ) @Export("isCharPrintable") @@ -71,7 +71,7 @@ public final class TileItem extends Entity { @ObfuscatedName("k") @ObfuscatedSignature( - signature = "(II)I", + descriptor = "(II)I", garbageValue = "-145657229" ) public static int method2259(int var0) { @@ -84,7 +84,7 @@ public final class TileItem extends Entity { @ObfuscatedName("fs") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "748561937" ) static final void method2260() { @@ -102,7 +102,7 @@ public final class TileItem extends Entity { @ObfuscatedName("gp") @ObfuscatedSignature( - signature = "(IIIIIIIIII)V", + descriptor = "(IIIIIIIIII)V", garbageValue = "393644147" ) @Export("updatePendingSpawn") diff --git a/runescape-client/src/main/java/TileItemPile.java b/runescape-client/src/main/java/TileItemPile.java index ea68e52239..0ef232313f 100644 --- a/runescape-client/src/main/java/TileItemPile.java +++ b/runescape-client/src/main/java/TileItemPile.java @@ -26,7 +26,7 @@ public final class TileItemPile { static int Client_plane; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lel;" + descriptor = "Lel;" ) @Export("second") Entity second; @@ -50,13 +50,13 @@ public final class TileItemPile { int y; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lel;" + descriptor = "Lel;" ) @Export("first") Entity first; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lel;" + descriptor = "Lel;" ) @Export("third") Entity third; @@ -78,7 +78,7 @@ public final class TileItemPile { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(Ljava/lang/String;S)Ljava/lang/String;", + descriptor = "(Ljava/lang/String;S)Ljava/lang/String;", garbageValue = "256" ) public static String method2903(String var0) { @@ -116,7 +116,7 @@ public final class TileItemPile { @ObfuscatedName("r") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", + descriptor = "(Ljava/lang/String;I)V", garbageValue = "1884532154" ) static final void method2904(String var0) { @@ -130,7 +130,7 @@ public final class TileItemPile { @ObfuscatedName("am") @ObfuscatedSignature( - signature = "(ILcs;ZS)I", + descriptor = "(ILcs;ZS)I", garbageValue = "1024" ) static int method2902(int var0, Script var1, boolean var2) { @@ -309,7 +309,7 @@ public final class TileItemPile { @ObfuscatedName("gn") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-907670239" ) static final void method2901() { diff --git a/runescape-client/src/main/java/TilePaint.java b/runescape-client/src/main/java/TilePaint.java index 55f6289bf7..86076f649f 100644 --- a/runescape-client/src/main/java/TilePaint.java +++ b/runescape-client/src/main/java/TilePaint.java @@ -67,7 +67,7 @@ public final class TilePaint { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(IIII)I", + descriptor = "(IIII)I", garbageValue = "1631719470" ) public static int method3187(int var0, int var1, int var2) { @@ -83,7 +83,7 @@ public final class TilePaint { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "215317048" ) public static void method3186() { @@ -97,7 +97,7 @@ public final class TilePaint { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "6" ) static void method3188() { diff --git a/runescape-client/src/main/java/Tiles.java b/runescape-client/src/main/java/Tiles.java index 5dde27a7c6..5a826b9960 100644 --- a/runescape-client/src/main/java/Tiles.java +++ b/runescape-client/src/main/java/Tiles.java @@ -67,7 +67,7 @@ public final class Tiles { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;I)I", + descriptor = "(Ljava/lang/CharSequence;I)I", garbageValue = "492291254" ) @Export("parseInt") @@ -77,7 +77,7 @@ public final class Tiles { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-1908314929" ) public static void method1200(int var0) { @@ -109,7 +109,7 @@ public final class Tiles { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(IIIZIZI)V", + descriptor = "(IIIZIZI)V", garbageValue = "2067665025" ) @Export("doWorldSorting") @@ -139,7 +139,7 @@ public final class Tiles { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "1760711343" ) static int method1199(int var0, Script var1, boolean var2) { @@ -250,7 +250,7 @@ public final class Tiles { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "1187650171" ) static final int method1180() { @@ -259,7 +259,7 @@ public final class Tiles { @ObfuscatedName("ib") @ObfuscatedSignature( - signature = "([Lhd;IIIIIIIII)V", + descriptor = "([Lhd;IIIIIIIII)V", garbageValue = "-2136045116" ) @Export("drawInterface") diff --git a/runescape-client/src/main/java/Timer.java b/runescape-client/src/main/java/Timer.java index 4946d22ef8..57461b9b70 100644 --- a/runescape-client/src/main/java/Timer.java +++ b/runescape-client/src/main/java/Timer.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class Timer { @ObfuscatedName("hi") @ObfuscatedSignature( - signature = "[Llz;" + descriptor = "[Llz;" ) @Export("crossSprites") static Sprite[] crossSprites; @@ -76,7 +76,7 @@ public class Timer { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1434550274" ) public void method5162() { @@ -85,7 +85,7 @@ public class Timer { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1764633933" ) public void method5161() { @@ -98,7 +98,7 @@ public class Timer { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "457646537" ) public void method5184(int var1) { @@ -108,7 +108,7 @@ public class Timer { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-15" ) public void method5178() { @@ -123,7 +123,7 @@ public class Timer { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "535522707" ) public void method5165() { @@ -133,7 +133,7 @@ public class Timer { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-932156837" ) public void method5166() { @@ -142,7 +142,7 @@ public class Timer { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "-152968698" ) @Export("write") @@ -158,7 +158,7 @@ public class Timer { @ObfuscatedName("fp") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-2109175482" ) @Export("playPcmPlayers") @@ -175,7 +175,7 @@ public class Timer { @ObfuscatedName("gu") @ObfuscatedSignature( - signature = "(Lcc;IIIIIB)V", + descriptor = "(Lcc;IIIIIB)V", garbageValue = "103" ) @Export("drawActor2d") diff --git a/runescape-client/src/main/java/TriBool.java b/runescape-client/src/main/java/TriBool.java index ff0e723310..8ccdb2c290 100644 --- a/runescape-client/src/main/java/TriBool.java +++ b/runescape-client/src/main/java/TriBool.java @@ -18,19 +18,19 @@ import net.runelite.rs.Reflection; public class TriBool { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lkf;" + descriptor = "Lkf;" ) @Export("TriBool_unknown") public static final TriBool TriBool_unknown; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lkf;" + descriptor = "Lkf;" ) @Export("TriBool_true") public static final TriBool TriBool_true; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lkf;" + descriptor = "Lkf;" ) @Export("TriBool_false") public static final TriBool TriBool_false; @@ -46,7 +46,7 @@ public class TriBool { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkb;B)V", + descriptor = "(Lkb;B)V", garbageValue = "-64" ) @Export("performReflectionCheck") diff --git a/runescape-client/src/main/java/UrlRequest.java b/runescape-client/src/main/java/UrlRequest.java index a989b25d1d..508c47f00f 100644 --- a/runescape-client/src/main/java/UrlRequest.java +++ b/runescape-client/src/main/java/UrlRequest.java @@ -26,7 +26,7 @@ public class UrlRequest { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "-1247069155" ) @Export("isDone") @@ -36,7 +36,7 @@ public class UrlRequest { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)[B", + descriptor = "(I)[B", garbageValue = "1076365281" ) @Export("getResponse") @@ -46,7 +46,7 @@ public class UrlRequest { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Ljava/lang/String;ZLjava/lang/String;ZI)V", + descriptor = "(Ljava/lang/String;ZLjava/lang/String;ZI)V", garbageValue = "-2122321724" ) static void method3426(String var0, boolean var1, String var2, boolean var3) { @@ -78,7 +78,7 @@ public class UrlRequest { @ObfuscatedName("gx") @ObfuscatedSignature( - signature = "(IIIIB)V", + descriptor = "(IIIIB)V", garbageValue = "60" ) static final void method3432(int var0, int var1, int var2, int var3) { diff --git a/runescape-client/src/main/java/UrlRequester.java b/runescape-client/src/main/java/UrlRequester.java index 4acf5e36b3..e9bb6a7955 100644 --- a/runescape-client/src/main/java/UrlRequester.java +++ b/runescape-client/src/main/java/UrlRequester.java @@ -23,7 +23,7 @@ public class UrlRequester implements Runnable { static int Interpreter_intStackSize; @ObfuscatedName("gk") @ObfuscatedSignature( - signature = "Llz;" + descriptor = "Llz;" ) @Export("redHintArrowSprite") static Sprite redHintArrowSprite; @@ -46,7 +46,7 @@ public class UrlRequester implements Runnable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ljava/net/URL;I)Leb;", + descriptor = "(Ljava/net/URL;I)Leb;", garbageValue = "1883643384" ) @Export("request") @@ -61,7 +61,7 @@ public class UrlRequester implements Runnable { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "1" ) @Export("close") @@ -133,7 +133,7 @@ public class UrlRequester implements Runnable { @ObfuscatedName("ao") @ObfuscatedSignature( - signature = "(ILcs;ZB)I", + descriptor = "(ILcs;ZB)I", garbageValue = "23" ) static int method3424(int var0, Script var1, boolean var2) { @@ -269,7 +269,7 @@ public class UrlRequester implements Runnable { @ObfuscatedName("ia") @ObfuscatedSignature( - signature = "(S)I", + descriptor = "(S)I", garbageValue = "-5481" ) static final int method3421() { diff --git a/runescape-client/src/main/java/User.java b/runescape-client/src/main/java/User.java index a91c1b7686..77a5178392 100644 --- a/runescape-client/src/main/java/User.java +++ b/runescape-client/src/main/java/User.java @@ -8,13 +8,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class User implements Comparable { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lkq;" + descriptor = "Lkq;" ) @Export("username") Username username; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lkq;" + descriptor = "Lkq;" ) @Export("previousUsername") Username previousUsername; @@ -24,7 +24,7 @@ public class User implements Comparable { @ObfuscatedName("e") @ObfuscatedSignature( - signature = "(I)Lkq;", + descriptor = "(I)Lkq;", garbageValue = "352262046" ) @Export("getUsername") @@ -34,7 +34,7 @@ public class User implements Comparable { @ObfuscatedName("l") @ObfuscatedSignature( - signature = "(B)Ljava/lang/String;", + descriptor = "(B)Ljava/lang/String;", garbageValue = "111" ) @Export("getName") @@ -44,7 +44,7 @@ public class User implements Comparable { @ObfuscatedName("t") @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", + descriptor = "(I)Ljava/lang/String;", garbageValue = "-461021692" ) @Export("getPreviousName") @@ -54,7 +54,7 @@ public class User implements Comparable { @ObfuscatedName("x") @ObfuscatedSignature( - signature = "(Lkq;Lkq;I)V", + descriptor = "(Lkq;Lkq;I)V", garbageValue = "-1982838307" ) @Export("set") @@ -69,7 +69,7 @@ public class User implements Comparable { @ObfuscatedName("ah") @ObfuscatedSignature( - signature = "(Ljf;I)I", + descriptor = "(Ljf;I)I", garbageValue = "334051838" ) @Export("compareTo_user") @@ -83,7 +83,7 @@ public class User implements Comparable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "406400151" ) static void method5228() { @@ -119,7 +119,7 @@ public class User implements Comparable { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "([BI)V", + descriptor = "([BI)V", garbageValue = "-519092714" ) @Export("ByteArrayPool_release") diff --git a/runescape-client/src/main/java/UserComparator1.java b/runescape-client/src/main/java/UserComparator1.java index 8657d62087..f403f6d0ac 100644 --- a/runescape-client/src/main/java/UserComparator1.java +++ b/runescape-client/src/main/java/UserComparator1.java @@ -17,7 +17,7 @@ public class UserComparator1 implements Comparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ljf;Ljf;I)I", + descriptor = "(Ljf;Ljf;I)I", garbageValue = "1065681362" ) @Export("compare_bridged") diff --git a/runescape-client/src/main/java/UserComparator10.java b/runescape-client/src/main/java/UserComparator10.java index 43c1a67c83..04dc525b8f 100644 --- a/runescape-client/src/main/java/UserComparator10.java +++ b/runescape-client/src/main/java/UserComparator10.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class UserComparator10 extends AbstractUserComparator { @ObfuscatedName("ef") @ObfuscatedSignature( - signature = "Llq;" + descriptor = "Llq;" ) @Export("spriteIds") static GraphicsDefaults spriteIds; @@ -23,7 +23,7 @@ public class UserComparator10 extends AbstractUserComparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkx;Lkx;I)I", + descriptor = "(Lkx;Lkx;I)I", garbageValue = "-227570330" ) @Export("compareBuddy") @@ -41,7 +41,7 @@ public class UserComparator10 extends AbstractUserComparator { @ObfuscatedName("ks") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", + descriptor = "(Ljava/lang/String;I)V", garbageValue = "-856816613" ) static void method3522(String var0) { diff --git a/runescape-client/src/main/java/UserComparator2.java b/runescape-client/src/main/java/UserComparator2.java index f7129c055c..e8bef692c8 100644 --- a/runescape-client/src/main/java/UserComparator2.java +++ b/runescape-client/src/main/java/UserComparator2.java @@ -20,7 +20,7 @@ public class UserComparator2 implements Comparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ljf;Ljf;I)I", + descriptor = "(Ljf;Ljf;I)I", garbageValue = "1905433483" ) @Export("compare_bridged") @@ -38,7 +38,7 @@ public class UserComparator2 implements Comparator { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "1240194067" ) @Export("readReflectionCheck") diff --git a/runescape-client/src/main/java/UserComparator3.java b/runescape-client/src/main/java/UserComparator3.java index ec6e9a1c5d..6b408903f2 100644 --- a/runescape-client/src/main/java/UserComparator3.java +++ b/runescape-client/src/main/java/UserComparator3.java @@ -14,13 +14,13 @@ public class UserComparator3 extends AbstractUserComparator { static int field2009; @ObfuscatedName("gj") @ObfuscatedSignature( - signature = "Lem;" + descriptor = "Lem;" ) @Export("scene") static Scene scene; @ObfuscatedName("jf") @ObfuscatedSignature( - signature = "Ldu;" + descriptor = "Ldu;" ) @Export("textureProvider") static TextureProvider textureProvider; @@ -34,7 +34,7 @@ public class UserComparator3 extends AbstractUserComparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkx;Lkx;I)I", + descriptor = "(Lkx;Lkx;I)I", garbageValue = "1287219897" ) @Export("compareBuddy") @@ -52,7 +52,7 @@ public class UserComparator3 extends AbstractUserComparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(CB)B", + descriptor = "(CB)B", garbageValue = "-48" ) @Export("charToByteCp1252") @@ -123,7 +123,7 @@ public class UserComparator3 extends AbstractUserComparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lic;Lic;ZLko;S)V", + descriptor = "(Lic;Lic;ZLko;S)V", garbageValue = "22791" ) public static void method3548(AbstractArchive var0, AbstractArchive var1, boolean var2, Font var3) { @@ -136,7 +136,7 @@ public class UserComparator3 extends AbstractUserComparator { @ObfuscatedName("if") @ObfuscatedSignature( - signature = "(Lhd;IIZS)V", + descriptor = "(Lhd;IIZS)V", garbageValue = "1700" ) @Export("alignWidgetSize") diff --git a/runescape-client/src/main/java/UserComparator4.java b/runescape-client/src/main/java/UserComparator4.java index aa5093565a..8a31c9b855 100644 --- a/runescape-client/src/main/java/UserComparator4.java +++ b/runescape-client/src/main/java/UserComparator4.java @@ -17,7 +17,7 @@ public class UserComparator4 implements Comparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkx;Lkx;I)I", + descriptor = "(Lkx;Lkx;I)I", garbageValue = "-1314738925" ) @Export("compare_bridged") @@ -35,7 +35,7 @@ public class UserComparator4 implements Comparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lgn;Llb;I)Lgj;", + descriptor = "(Lgn;Llb;I)Lgj;", garbageValue = "527815306" ) @Export("getPacketBufferNode") @@ -69,7 +69,7 @@ public class UserComparator4 implements Comparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lic;Lic;Lic;Lic;B)V", + descriptor = "(Lic;Lic;Lic;Lic;B)V", garbageValue = "-47" ) public static void method3495(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2, AbstractArchive var3) { @@ -83,7 +83,7 @@ public class UserComparator4 implements Comparator { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(II)Z", + descriptor = "(II)Z", garbageValue = "-2121734057" ) @Export("loadInterface") @@ -125,7 +125,7 @@ public class UserComparator4 implements Comparator { @ObfuscatedName("at") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "1503044626" ) @Export("runWidgetOnLoadListener") diff --git a/runescape-client/src/main/java/UserComparator5.java b/runescape-client/src/main/java/UserComparator5.java index deb0a9df23..4c7e8bad7e 100644 --- a/runescape-client/src/main/java/UserComparator5.java +++ b/runescape-client/src/main/java/UserComparator5.java @@ -16,7 +16,7 @@ public class UserComparator5 extends AbstractUserComparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkx;Lkx;B)I", + descriptor = "(Lkx;Lkx;B)I", garbageValue = "0" ) @Export("compareBuddy") @@ -38,7 +38,7 @@ public class UserComparator5 extends AbstractUserComparator { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkn;IB)Ljava/lang/String;", + descriptor = "(Lkn;IB)Ljava/lang/String;", garbageValue = "2" ) static String method3534(Buffer var0, int var1) { @@ -59,7 +59,7 @@ public class UserComparator5 extends AbstractUserComparator { @ObfuscatedName("in") @ObfuscatedSignature( - signature = "(IIIIIIS)V", + descriptor = "(IIIIIIS)V", garbageValue = "-4011" ) static final void method3540(int var0, int var1, int var2, int var3, int var4, int var5) { diff --git a/runescape-client/src/main/java/UserComparator6.java b/runescape-client/src/main/java/UserComparator6.java index 048896f832..9589c52a68 100644 --- a/runescape-client/src/main/java/UserComparator6.java +++ b/runescape-client/src/main/java/UserComparator6.java @@ -11,7 +11,7 @@ public class UserComparator6 extends AbstractUserComparator { static boolean[] Widget_loadedInterfaces; @ObfuscatedName("gp") @ObfuscatedSignature( - signature = "[Llh;" + descriptor = "[Llh;" ) @Export("mapSceneSprites") static IndexedSprite[] mapSceneSprites; @@ -25,7 +25,7 @@ public class UserComparator6 extends AbstractUserComparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkx;Lkx;S)I", + descriptor = "(Lkx;Lkx;S)I", garbageValue = "2600" ) @Export("compareBuddy") @@ -43,7 +43,7 @@ public class UserComparator6 extends AbstractUserComparator { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IIB)I", + descriptor = "(IIB)I", garbageValue = "-59" ) @Export("ItemContainer_getCount") @@ -58,7 +58,7 @@ public class UserComparator6 extends AbstractUserComparator { @ObfuscatedName("gf") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "0" ) static void method3564() { diff --git a/runescape-client/src/main/java/UserComparator7.java b/runescape-client/src/main/java/UserComparator7.java index 29b56a0d1e..e72f7c948c 100644 --- a/runescape-client/src/main/java/UserComparator7.java +++ b/runescape-client/src/main/java/UserComparator7.java @@ -14,7 +14,7 @@ public class UserComparator7 extends AbstractUserComparator { static int field2003; @ObfuscatedName("dv") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive6") static Archive archive6; @@ -28,7 +28,7 @@ public class UserComparator7 extends AbstractUserComparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkx;Lkx;B)I", + descriptor = "(Lkx;Lkx;B)I", garbageValue = "-76" ) @Export("compareBuddy") @@ -46,7 +46,7 @@ public class UserComparator7 extends AbstractUserComparator { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;I)Z", + descriptor = "(Ljava/lang/CharSequence;I)Z", garbageValue = "-71116023" ) @Export("isNumber") diff --git a/runescape-client/src/main/java/UserComparator8.java b/runescape-client/src/main/java/UserComparator8.java index f6e04e6e30..b2037d5c5a 100644 --- a/runescape-client/src/main/java/UserComparator8.java +++ b/runescape-client/src/main/java/UserComparator8.java @@ -23,7 +23,7 @@ public class UserComparator8 extends AbstractUserComparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkx;Lkx;B)I", + descriptor = "(Lkx;Lkx;B)I", garbageValue = "101" ) @Export("compareBuddy") @@ -45,7 +45,7 @@ public class UserComparator8 extends AbstractUserComparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lic;B)V", + descriptor = "(Lic;B)V", garbageValue = "-79" ) public static void method3520(AbstractArchive var0) { diff --git a/runescape-client/src/main/java/UserComparator9.java b/runescape-client/src/main/java/UserComparator9.java index 3daeafa733..57fd3ef26f 100644 --- a/runescape-client/src/main/java/UserComparator9.java +++ b/runescape-client/src/main/java/UserComparator9.java @@ -8,13 +8,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class UserComparator9 extends AbstractUserComparator { @ObfuscatedName("e") @ObfuscatedSignature( - signature = "Lkn;" + descriptor = "Lkn;" ) @Export("NetCache_reference") public static Buffer NetCache_reference; @ObfuscatedName("bw") @ObfuscatedSignature( - signature = "Lgz;" + descriptor = "Lgz;" ) @Export("clientLanguage") static Language clientLanguage; @@ -28,7 +28,7 @@ public class UserComparator9 extends AbstractUserComparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkx;Lkx;I)I", + descriptor = "(Lkx;Lkx;I)I", garbageValue = "239506152" ) @Export("compareBuddy") @@ -46,7 +46,7 @@ public class UserComparator9 extends AbstractUserComparator { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)[Lgx;", + descriptor = "(I)[Lgx;", garbageValue = "-1951189301" ) static LoginPacket[] method3512() { @@ -55,7 +55,7 @@ public class UserComparator9 extends AbstractUserComparator { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "17173130" ) public static void method3509() { @@ -69,7 +69,7 @@ public class UserComparator9 extends AbstractUserComparator { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lic;IIIZB)V", + descriptor = "(Lic;IIIZB)V", garbageValue = "18" ) public static void method3513(AbstractArchive var0, int var1, int var2, int var3, boolean var4) { @@ -84,7 +84,7 @@ public class UserComparator9 extends AbstractUserComparator { @ObfuscatedName("fx") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "41" ) @Export("playSong") diff --git a/runescape-client/src/main/java/UserList.java b/runescape-client/src/main/java/UserList.java index a697b6cfee..f2839382f5 100644 --- a/runescape-client/src/main/java/UserList.java +++ b/runescape-client/src/main/java/UserList.java @@ -24,7 +24,7 @@ public abstract class UserList { int size; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "[Ljf;" + descriptor = "[Ljf;" ) @Export("array") User[] array; @@ -49,7 +49,7 @@ public abstract class UserList { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)Ljf;", + descriptor = "(I)Ljf;", garbageValue = "551595115" ) @Export("newInstance") @@ -57,7 +57,7 @@ public abstract class UserList { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(II)[Ljf;", + descriptor = "(II)[Ljf;", garbageValue = "1959965595" ) @Export("newTypedArray") @@ -65,7 +65,7 @@ public abstract class UserList { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-830188441" ) @Export("clear") @@ -78,7 +78,7 @@ public abstract class UserList { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-729089769" ) @Export("getSize") @@ -88,7 +88,7 @@ public abstract class UserList { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(B)Z", + descriptor = "(B)Z", garbageValue = "-38" ) @Export("isFull") @@ -98,7 +98,7 @@ public abstract class UserList { @ObfuscatedName("h") @ObfuscatedSignature( - signature = "(Lkq;I)Z", + descriptor = "(Lkq;I)Z", garbageValue = "-1632091525" ) @Export("contains") @@ -112,7 +112,7 @@ public abstract class UserList { @ObfuscatedName("k") @ObfuscatedSignature( - signature = "(Lkq;I)Ljf;", + descriptor = "(Lkq;I)Ljf;", garbageValue = "-1715419579" ) @Export("getByUsername") @@ -123,7 +123,7 @@ public abstract class UserList { @ObfuscatedName("r") @ObfuscatedSignature( - signature = "(Lkq;I)Ljf;", + descriptor = "(Lkq;I)Ljf;", garbageValue = "181197805" ) @Export("getByCurrentUsername") @@ -133,7 +133,7 @@ public abstract class UserList { @ObfuscatedName("d") @ObfuscatedSignature( - signature = "(Lkq;I)Ljf;", + descriptor = "(Lkq;I)Ljf;", garbageValue = "-1953560186" ) @Export("getByPreviousUsername") @@ -143,7 +143,7 @@ public abstract class UserList { @ObfuscatedName("e") @ObfuscatedSignature( - signature = "(Lkq;I)Z", + descriptor = "(Lkq;I)Z", garbageValue = "-1728392725" ) @Export("removeByUsername") @@ -159,7 +159,7 @@ public abstract class UserList { @ObfuscatedName("l") @ObfuscatedSignature( - signature = "(Ljf;I)V", + descriptor = "(Ljf;I)V", garbageValue = "1431327027" ) @Export("remove") @@ -173,7 +173,7 @@ public abstract class UserList { @ObfuscatedName("t") @ObfuscatedSignature( - signature = "(Lkq;I)Ljf;", + descriptor = "(Lkq;I)Ljf;", garbageValue = "1944275129" ) @Export("addLastNoPreviousUsername") @@ -183,7 +183,7 @@ public abstract class UserList { @ObfuscatedName("x") @ObfuscatedSignature( - signature = "(Lkq;Lkq;B)Ljf;", + descriptor = "(Lkq;Lkq;B)Ljf;", garbageValue = "-18" ) @Export("addLast") @@ -201,7 +201,7 @@ public abstract class UserList { @ObfuscatedName("ah") @ObfuscatedSignature( - signature = "(II)Ljf;", + descriptor = "(II)Ljf;", garbageValue = "421321691" ) @Export("get") @@ -215,7 +215,7 @@ public abstract class UserList { @ObfuscatedName("ai") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1382907285" ) @Export("sort") @@ -230,7 +230,7 @@ public abstract class UserList { @ObfuscatedName("ao") @ObfuscatedSignature( - signature = "(Ljf;Lkq;Lkq;B)V", + descriptor = "(Ljf;Lkq;Lkq;B)V", garbageValue = "30" ) @Export("changeName") @@ -242,7 +242,7 @@ public abstract class UserList { @ObfuscatedName("ae") @ObfuscatedSignature( - signature = "(Ljf;I)I", + descriptor = "(Ljf;I)I", garbageValue = "-473551805" ) @Export("indexOf") @@ -258,7 +258,7 @@ public abstract class UserList { @ObfuscatedName("ax") @ObfuscatedSignature( - signature = "(Ljf;S)V", + descriptor = "(Ljf;S)V", garbageValue = "28740" ) @Export("mapRemove") @@ -275,7 +275,7 @@ public abstract class UserList { @ObfuscatedName("ag") @ObfuscatedSignature( - signature = "(Ljf;B)V", + descriptor = "(Ljf;B)V", garbageValue = "-110" ) @Export("arrayAddLast") @@ -285,7 +285,7 @@ public abstract class UserList { @ObfuscatedName("ab") @ObfuscatedSignature( - signature = "(Ljf;I)V", + descriptor = "(Ljf;I)V", garbageValue = "-810709212" ) @Export("mapPut") @@ -302,7 +302,7 @@ public abstract class UserList { @ObfuscatedName("am") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-1444172767" ) @Export("arrayRemove") @@ -316,7 +316,7 @@ public abstract class UserList { @ObfuscatedName("ak") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "594179920" ) @Export("removeComparator") @@ -326,7 +326,7 @@ public abstract class UserList { @ObfuscatedName("ad") @ObfuscatedSignature( - signature = "(Ljava/util/Comparator;B)V", + descriptor = "(Ljava/util/Comparator;B)V", garbageValue = "-90" ) @Export("addComparator") @@ -341,7 +341,7 @@ public abstract class UserList { @ObfuscatedName("hj") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1614220910" ) static final void method5333() { diff --git a/runescape-client/src/main/java/Username.java b/runescape-client/src/main/java/Username.java index e1d52cf7ac..21e4b130e1 100644 --- a/runescape-client/src/main/java/Username.java +++ b/runescape-client/src/main/java/Username.java @@ -14,7 +14,7 @@ public class Username implements Comparable { String cleanName; @ObfuscatedSignature( - signature = "(Ljava/lang/String;Lmo;)V" + descriptor = "(Ljava/lang/String;Lmo;)V" ) public Username(String var1, LoginType var2) { this.name = var1; @@ -23,7 +23,7 @@ public class Username implements Comparable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", + descriptor = "(I)Ljava/lang/String;", garbageValue = "-633298311" ) @Export("getName") @@ -33,7 +33,7 @@ public class Username implements Comparable { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(B)Z", + descriptor = "(B)Z", garbageValue = "0" ) @Export("hasCleanName") @@ -43,7 +43,7 @@ public class Username implements Comparable { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkq;I)I", + descriptor = "(Lkq;I)I", garbageValue = "820506062" ) @Export("compareToTyped") @@ -84,7 +84,7 @@ public class Username implements Comparable { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;II)I", + descriptor = "(Ljava/lang/CharSequence;II)I", garbageValue = "-794040320" ) public static int method5398(CharSequence var0, int var1) { diff --git a/runescape-client/src/main/java/Usernamed.java b/runescape-client/src/main/java/Usernamed.java index 41b685745a..c77a481a2b 100644 --- a/runescape-client/src/main/java/Usernamed.java +++ b/runescape-client/src/main/java/Usernamed.java @@ -8,7 +8,7 @@ import net.runelite.mapping.ObfuscatedSignature; public interface Usernamed { @ObfuscatedName("kr") @ObfuscatedSignature( - signature = "(B)Lkq;", + descriptor = "(B)Lkq;", garbageValue = "-76" ) @Export("username") diff --git a/runescape-client/src/main/java/VarbitDefinition.java b/runescape-client/src/main/java/VarbitDefinition.java index 25b009924e..1a8df41045 100644 --- a/runescape-client/src/main/java/VarbitDefinition.java +++ b/runescape-client/src/main/java/VarbitDefinition.java @@ -9,13 +9,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class VarbitDefinition extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("VarbitDefinition_archive") public static AbstractArchive VarbitDefinition_archive; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("VarbitDefinition_cached") public static EvictingDualNodeHashTable VarbitDefinition_cached; @@ -47,7 +47,7 @@ public class VarbitDefinition extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "-1405036764" ) @Export("decode") @@ -64,7 +64,7 @@ public class VarbitDefinition extends DualNode { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "692433347" ) @Export("decodeNext") @@ -79,7 +79,7 @@ public class VarbitDefinition extends DualNode { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)[Lis;", + descriptor = "(I)[Lis;", garbageValue = "-2057939908" ) @Export("PlayerType_values") @@ -89,7 +89,7 @@ public class VarbitDefinition extends DualNode { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(II)Lii;", + descriptor = "(II)Lii;", garbageValue = "-266354668" ) @Export("getParamDefinition") @@ -112,7 +112,7 @@ public class VarbitDefinition extends DualNode { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(IIII)I", + descriptor = "(IIII)I", garbageValue = "828959828" ) static final int method4696(int var0, int var1, int var2) { diff --git a/runescape-client/src/main/java/VarcInt.java b/runescape-client/src/main/java/VarcInt.java index dac3272608..0264696051 100644 --- a/runescape-client/src/main/java/VarcInt.java +++ b/runescape-client/src/main/java/VarcInt.java @@ -8,25 +8,25 @@ import net.runelite.mapping.ObfuscatedSignature; public class VarcInt extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("VarcInt_archive") public static AbstractArchive VarcInt_archive; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("VarcInt_cached") public static EvictingDualNodeHashTable VarcInt_cached; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("ItemDefinition_archive") static AbstractArchive ItemDefinition_archive; @ObfuscatedName("eu") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive18") static Archive archive18; @@ -44,7 +44,7 @@ public class VarcInt extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkn;B)V", + descriptor = "(Lkn;B)V", garbageValue = "121" ) public void method4573(Buffer var1) { @@ -60,7 +60,7 @@ public class VarcInt extends DualNode { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "1038318542" ) void method4569(Buffer var1, int var2) { @@ -72,7 +72,7 @@ public class VarcInt extends DualNode { @ObfuscatedName("ar") @ObfuscatedSignature( - signature = "(Ldf;I)V", + descriptor = "(Ldf;I)V", garbageValue = "1745274917" ) @Export("PcmStream_disable") diff --git a/runescape-client/src/main/java/Varcs.java b/runescape-client/src/main/java/Varcs.java index 172fa6d532..60ba1e79b9 100644 --- a/runescape-client/src/main/java/Varcs.java +++ b/runescape-client/src/main/java/Varcs.java @@ -73,7 +73,7 @@ public class Varcs { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "-1324015283" ) @Export("setInt") @@ -87,7 +87,7 @@ public class Varcs { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IB)I", + descriptor = "(IB)I", garbageValue = "16" ) @Export("getInt") @@ -98,7 +98,7 @@ public class Varcs { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)V", + descriptor = "(ILjava/lang/String;I)V", garbageValue = "105969632" ) @Export("setString") @@ -108,7 +108,7 @@ public class Varcs { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(II)Ljava/lang/String;", + descriptor = "(II)Ljava/lang/String;", garbageValue = "-1642204852" ) @Export("getString") @@ -119,7 +119,7 @@ public class Varcs { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(ILjava/lang/String;B)V", + descriptor = "(ILjava/lang/String;B)V", garbageValue = "14" ) @Export("setStringOld") @@ -129,7 +129,7 @@ public class Varcs { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(II)Ljava/lang/String;", + descriptor = "(II)Ljava/lang/String;", garbageValue = "658470799" ) @Export("getStringOld") @@ -139,7 +139,7 @@ public class Varcs { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-943211657" ) @Export("clearTransient") @@ -159,7 +159,7 @@ public class Varcs { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(ZI)Lmy;", + descriptor = "(ZI)Lmy;", garbageValue = "-297386898" ) @Export("getPreferencesFile") @@ -169,7 +169,7 @@ public class Varcs { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1923811872" ) @Export("write") @@ -283,7 +283,7 @@ public class Varcs { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-50" ) @Export("read") @@ -376,7 +376,7 @@ public class Varcs { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "999745813" ) @Export("tryWrite") @@ -389,7 +389,7 @@ public class Varcs { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(B)Z", + descriptor = "(B)Z", garbageValue = "0" ) @Export("hasUnwrittenChanges") diff --git a/runescape-client/src/main/java/VarpDefinition.java b/runescape-client/src/main/java/VarpDefinition.java index e0e316435a..c2e5590a0b 100644 --- a/runescape-client/src/main/java/VarpDefinition.java +++ b/runescape-client/src/main/java/VarpDefinition.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class VarpDefinition extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("VarpDefinition_archive") static AbstractArchive VarpDefinition_archive; @@ -21,7 +21,7 @@ public class VarpDefinition extends DualNode { public static int VarpDefinition_fileCount; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("VarpDefinition_cached") static EvictingDualNodeHashTable VarpDefinition_cached; @@ -42,7 +42,7 @@ public class VarpDefinition extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "319289372" ) @Export("decode") @@ -59,7 +59,7 @@ public class VarpDefinition extends DualNode { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "1792997667" ) @Export("decodeNext") diff --git a/runescape-client/src/main/java/Varps.java b/runescape-client/src/main/java/Varps.java index bb617ec988..d54c6b5b2f 100644 --- a/runescape-client/src/main/java/Varps.java +++ b/runescape-client/src/main/java/Varps.java @@ -31,7 +31,7 @@ public class Varps { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(CB)Z", + descriptor = "(CB)Z", garbageValue = "72" ) @Export("isAlphaNumeric") diff --git a/runescape-client/src/main/java/VertexNormal.java b/runescape-client/src/main/java/VertexNormal.java index 8915ed6da8..db689b75bd 100644 --- a/runescape-client/src/main/java/VertexNormal.java +++ b/runescape-client/src/main/java/VertexNormal.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class VertexNormal { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "Leb;" + descriptor = "Leb;" ) @Export("World_request") static UrlRequest World_request; @@ -42,7 +42,7 @@ public class VertexNormal { } @ObfuscatedSignature( - signature = "(Let;)V" + descriptor = "(Let;)V" ) VertexNormal(VertexNormal var1) { this.x = var1.x; diff --git a/runescape-client/src/main/java/VerticalAlignment.java b/runescape-client/src/main/java/VerticalAlignment.java index a6c2fdbdd0..4a929d0d64 100644 --- a/runescape-client/src/main/java/VerticalAlignment.java +++ b/runescape-client/src/main/java/VerticalAlignment.java @@ -12,18 +12,18 @@ import net.runelite.mapping.ObfuscatedSignature; public enum VerticalAlignment implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lif;" + descriptor = "Lif;" ) field3226(2, 0), @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lif;" + descriptor = "Lif;" ) @Export("VerticalAlignment_centered") VerticalAlignment_centered(1, 1), @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lif;" + descriptor = "Lif;" ) field3230(0, 2); @@ -47,7 +47,7 @@ public enum VerticalAlignment implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-995092303" ) @Export("rsOrdinal") @@ -57,7 +57,7 @@ public enum VerticalAlignment implements Enumerated { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(III)Lcs;", + descriptor = "(III)Lcs;", garbageValue = "1496312280" ) static Script method4517(int var0, int var1) { @@ -90,7 +90,7 @@ public enum VerticalAlignment implements Enumerated { @ObfuscatedName("ac") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "735302127" ) @Export("getGcDuration") diff --git a/runescape-client/src/main/java/ViewportMouse.java b/runescape-client/src/main/java/ViewportMouse.java index ec921d0449..1e20fc7040 100644 --- a/runescape-client/src/main/java/ViewportMouse.java +++ b/runescape-client/src/main/java/ViewportMouse.java @@ -66,7 +66,7 @@ public class ViewportMouse { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(IIB)I", + descriptor = "(IIB)I", garbageValue = "-104" ) public static int method3091(int var0, int var1) { @@ -75,7 +75,7 @@ public class ViewportMouse { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(CI)Z", + descriptor = "(CI)Z", garbageValue = "998588366" ) public static boolean method3071(char var0) { diff --git a/runescape-client/src/main/java/VorbisSample.java b/runescape-client/src/main/java/VorbisSample.java index d84d61692e..e94b08c00a 100644 --- a/runescape-client/src/main/java/VorbisSample.java +++ b/runescape-client/src/main/java/VorbisSample.java @@ -23,25 +23,25 @@ public class VorbisSample extends Node { static int VorbisSample_blockSize1; @ObfuscatedName("y") @ObfuscatedSignature( - signature = "[Ldl;" + descriptor = "[Ldl;" ) @Export("VorbisSample_codebooks") static VorbisCodebook[] VorbisSample_codebooks; @ObfuscatedName("c") @ObfuscatedSignature( - signature = "[Ldc;" + descriptor = "[Ldc;" ) @Export("VorbisSample_floors") static VorbisFloor[] VorbisSample_floors; @ObfuscatedName("h") @ObfuscatedSignature( - signature = "[Lde;" + descriptor = "[Lde;" ) @Export("VorbisSample_residues") static VorbisResidue[] VorbisSample_residues; @ObfuscatedName("k") @ObfuscatedSignature( - signature = "[Ldz;" + descriptor = "[Ldz;" ) @Export("VorbisSample_mappings") static VorbisMapping[] VorbisSample_mappings; @@ -399,7 +399,7 @@ public class VorbisSample extends Node { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "([I)Ldp;" + descriptor = "([I)Ldp;" ) @Export("toRawSound") RawSound toRawSound(int[] var1) { @@ -614,7 +614,7 @@ public class VorbisSample extends Node { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(Lic;)Z" + descriptor = "(Lic;)Z" ) static boolean method2500(AbstractArchive var0) { if (!field1416) { @@ -632,7 +632,7 @@ public class VorbisSample extends Node { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(Lic;II)Ldi;" + descriptor = "(Lic;II)Ldi;" ) @Export("readMusicSample") static VorbisSample readMusicSample(AbstractArchive var0, int var1, int var2) { diff --git a/runescape-client/src/main/java/WallDecoration.java b/runescape-client/src/main/java/WallDecoration.java index 806ae72796..65484c3243 100644 --- a/runescape-client/src/main/java/WallDecoration.java +++ b/runescape-client/src/main/java/WallDecoration.java @@ -51,13 +51,13 @@ public final class WallDecoration { int yOffset; @ObfuscatedName("u") @ObfuscatedSignature( - signature = "Lel;" + descriptor = "Lel;" ) @Export("entity1") public Entity entity1; @ObfuscatedName("a") @ObfuscatedSignature( - signature = "Lel;" + descriptor = "Lel;" ) @Export("entity2") public Entity entity2; @@ -81,7 +81,7 @@ public final class WallDecoration { @ObfuscatedName("fu") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", + descriptor = "(Ljava/lang/String;I)V", garbageValue = "764201281" ) @Export("doCheat") @@ -142,7 +142,7 @@ public final class WallDecoration { @ObfuscatedName("ir") @ObfuscatedSignature( - signature = "(Lhd;Ljo;IIZI)V", + descriptor = "(Lhd;Ljo;IIZI)V", garbageValue = "-771039466" ) @Export("addWidgetItemMenuItem") diff --git a/runescape-client/src/main/java/Widget.java b/runescape-client/src/main/java/Widget.java index 11c2137794..de9d4bb1fc 100644 --- a/runescape-client/src/main/java/Widget.java +++ b/runescape-client/src/main/java/Widget.java @@ -9,37 +9,37 @@ import net.runelite.mapping.ObfuscatedSignature; public class Widget extends Node { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "[[Lhd;" + descriptor = "[[Lhd;" ) @Export("Widget_interfaceComponents") public static Widget[][] Widget_interfaceComponents; @ObfuscatedName("a") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("Widget_archive") static AbstractArchive Widget_archive; @ObfuscatedName("c") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("Widget_cachedSprites") static EvictingDualNodeHashTable Widget_cachedSprites; @ObfuscatedName("h") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("Widget_cachedModels") static EvictingDualNodeHashTable Widget_cachedModels; @ObfuscatedName("k") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("Widget_cachedFonts") static EvictingDualNodeHashTable Widget_cachedFonts; @ObfuscatedName("r") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("Widget_cachedSpriteMasks") static EvictingDualNodeHashTable Widget_cachedSpriteMasks; @@ -222,7 +222,7 @@ public class Widget extends Node { public boolean fill; @ObfuscatedName("aq") @ObfuscatedSignature( - signature = "Llw;" + descriptor = "Llw;" ) @Export("fillMode") public class332 fillMode; @@ -460,7 +460,7 @@ public class Widget extends Node { public String[] actions; @ObfuscatedName("dm") @ObfuscatedSignature( - signature = "Lhd;" + descriptor = "Lhd;" ) @Export("parent") public Widget parent; @@ -630,7 +630,7 @@ public class Widget extends Node { public int modelFrameCycle; @ObfuscatedName("ee") @ObfuscatedSignature( - signature = "[Lhd;" + descriptor = "[Lhd;" ) @Export("children") public Widget[] children; @@ -790,7 +790,7 @@ public class Widget extends Node { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(Lkn;S)V", + descriptor = "(Lkn;S)V", garbageValue = "27305" ) @Export("decodeLegacy") @@ -1047,7 +1047,7 @@ public class Widget extends Node { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(Lkn;B)V", + descriptor = "(Lkn;B)V", garbageValue = "0" ) @Export("decode") @@ -1189,7 +1189,7 @@ public class Widget extends Node { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(Lkn;I)[Ljava/lang/Object;", + descriptor = "(Lkn;I)[Ljava/lang/Object;", garbageValue = "2034218421" ) @Export("readListener") @@ -1216,7 +1216,7 @@ public class Widget extends Node { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(Lkn;S)[I", + descriptor = "(Lkn;S)[I", garbageValue = "-3542" ) @Export("readListenerTriggers") @@ -1237,7 +1237,7 @@ public class Widget extends Node { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "429586427" ) @Export("swapItems") @@ -1252,7 +1252,7 @@ public class Widget extends Node { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(ZB)Llz;", + descriptor = "(ZB)Llz;", garbageValue = "1" ) @Export("getSprite") @@ -1311,7 +1311,7 @@ public class Widget extends Node { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(B)Lko;", + descriptor = "(B)Lko;", garbageValue = "24" ) @Export("getFont") @@ -1338,7 +1338,7 @@ public class Widget extends Node { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(II)Llz;", + descriptor = "(II)Llz;", garbageValue = "2132771251" ) @Export("getInventorySprite") @@ -1370,7 +1370,7 @@ public class Widget extends Node { @ObfuscatedName("h") @ObfuscatedSignature( - signature = "(Ljm;IZLhv;I)Lef;", + descriptor = "(Ljm;IZLhv;I)Lef;", garbageValue = "-893461893" ) @Export("getModel") @@ -1452,7 +1452,7 @@ public class Widget extends Node { @ObfuscatedName("k") @ObfuscatedSignature( - signature = "(ZI)Lhh;", + descriptor = "(ZI)Lhh;", garbageValue = "-1801496414" ) @Export("getSpriteMask") @@ -1511,7 +1511,7 @@ public class Widget extends Node { @ObfuscatedName("d") @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)V", + descriptor = "(ILjava/lang/String;I)V", garbageValue = "1766154663" ) @Export("setAction") @@ -1532,7 +1532,7 @@ public class Widget extends Node { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(II)I", + descriptor = "(II)I", garbageValue = "863764794" ) @Export("getVarbit") diff --git a/runescape-client/src/main/java/World.java b/runescape-client/src/main/java/World.java index 0aa20c972f..0e73f01c48 100644 --- a/runescape-client/src/main/java/World.java +++ b/runescape-client/src/main/java/World.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class World { @ObfuscatedName("po") @ObfuscatedSignature( - signature = "Lls;" + descriptor = "Lls;" ) @Export("privateChatMode") static PrivateChatMode privateChatMode; @@ -80,7 +80,7 @@ public class World { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "-1952948484" ) @Export("isMembersOnly") @@ -90,7 +90,7 @@ public class World { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "-964696384" ) boolean method1874() { @@ -99,7 +99,7 @@ public class World { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "-1522011023" ) @Export("isPvp") @@ -109,7 +109,7 @@ public class World { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "1974803313" ) boolean method1841() { @@ -118,7 +118,7 @@ public class World { @ObfuscatedName("h") @ObfuscatedSignature( - signature = "(B)Z", + descriptor = "(B)Z", garbageValue = "15" ) @Export("isDeadman") @@ -128,7 +128,7 @@ public class World { @ObfuscatedName("k") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "607891956" ) @Export("isBeta") @@ -138,7 +138,7 @@ public class World { @ObfuscatedName("r") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "1312079731" ) boolean method1835() { @@ -147,7 +147,7 @@ public class World { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(IIILga;Lfz;I)Z", + descriptor = "(IIILga;Lfz;I)Z", garbageValue = "1323151453" ) static final boolean method1856(int var0, int var1, int var2, RouteStrategy var3, CollisionMap var4) { @@ -361,7 +361,7 @@ public class World { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(Lko;Lko;Lko;B)V", + descriptor = "(Lko;Lko;Lko;B)V", garbageValue = "-14" ) @Export("drawTitle") diff --git a/runescape-client/src/main/java/WorldMap.java b/runescape-client/src/main/java/WorldMap.java index 0382434249..64d4f76e7d 100644 --- a/runescape-client/src/main/java/WorldMap.java +++ b/runescape-client/src/main/java/WorldMap.java @@ -15,43 +15,43 @@ import net.runelite.mapping.ObfuscatedSignature; public class WorldMap { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "Lke;" + descriptor = "Lke;" ) @Export("fontNameVerdana11") static final FontName fontNameVerdana11; @ObfuscatedName("w") @ObfuscatedSignature( - signature = "Lke;" + descriptor = "Lke;" ) @Export("fontNameVerdana13") static final FontName fontNameVerdana13; @ObfuscatedName("y") @ObfuscatedSignature( - signature = "Lke;" + descriptor = "Lke;" ) @Export("fontNameVerdana15") static final FontName fontNameVerdana15; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("WorldMap_archive") AbstractArchive WorldMap_archive; @ObfuscatedName("u") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("WorldMap_geographyArchive") AbstractArchive WorldMap_geographyArchive; @ObfuscatedName("a") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("WorldMap_groundArchive") AbstractArchive WorldMap_groundArchive; @ObfuscatedName("c") @ObfuscatedSignature( - signature = "Lko;" + descriptor = "Lko;" ) @Export("font") Font font; @@ -60,7 +60,7 @@ public class WorldMap { HashMap fonts; @ObfuscatedName("k") @ObfuscatedSignature( - signature = "[Llh;" + descriptor = "[Llh;" ) @Export("mapSceneSprites") IndexedSprite[] mapSceneSprites; @@ -69,30 +69,30 @@ public class WorldMap { HashMap details; @ObfuscatedName("s") @ObfuscatedSignature( - signature = "Lad;" + descriptor = "Lad;" ) @Export("mainMapArea") WorldMapArea mainMapArea; @ObfuscatedName("v") @ObfuscatedSignature( - signature = "Lad;" + descriptor = "Lad;" ) @Export("currentMapArea") WorldMapArea currentMapArea; @ObfuscatedName("d") @ObfuscatedSignature( - signature = "Lad;" + descriptor = "Lad;" ) WorldMapArea field3984; @ObfuscatedName("e") @ObfuscatedSignature( - signature = "Laa;" + descriptor = "Laa;" ) @Export("worldMapManager") WorldMapManager worldMapManager; @ObfuscatedName("l") @ObfuscatedSignature( - signature = "Lml;" + descriptor = "Lml;" ) @Export("cacheLoader") WorldMapArchiveLoader cacheLoader; @@ -248,7 +248,7 @@ public class WorldMap { HashSet field3978; @ObfuscatedName("bd") @ObfuscatedSignature( - signature = "Lhg;" + descriptor = "Lhg;" ) @Export("mouseCoord") Coord mouseCoord; @@ -257,7 +257,7 @@ public class WorldMap { public boolean showCoord; @ObfuscatedName("bw") @ObfuscatedSignature( - signature = "Llz;" + descriptor = "Llz;" ) @Export("sprite") Sprite sprite; @@ -326,7 +326,7 @@ public class WorldMap { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lic;Lic;Lic;Lko;Ljava/util/HashMap;[Llh;I)V", + descriptor = "(Lic;Lic;Lic;Lko;Ljava/util/HashMap;[Llh;I)V", garbageValue = "-2031713861" ) @Export("init") @@ -361,7 +361,7 @@ public class WorldMap { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "19" ) public void method6696() { @@ -370,7 +370,7 @@ public class WorldMap { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(IIZIIIII)V", + descriptor = "(IIZIIIII)V", garbageValue = "2116125643" ) @Export("onCycle") @@ -421,7 +421,7 @@ public class WorldMap { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(IIZZB)V", + descriptor = "(IIZZB)V", garbageValue = "69" ) public void method6693(int var1, int var2, boolean var3, boolean var4) { @@ -488,7 +488,7 @@ public class WorldMap { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "422650301" ) @Export("smoothZoom") @@ -509,7 +509,7 @@ public class WorldMap { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "2119991272" ) @Export("scrollToTarget") @@ -536,7 +536,7 @@ public class WorldMap { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(IIZB)V", + descriptor = "(IIZB)V", garbageValue = "83" ) @Export("setWorldMapPosition") @@ -552,7 +552,7 @@ public class WorldMap { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1330915767" ) final void method6529() { @@ -564,7 +564,7 @@ public class WorldMap { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "-2089729451" ) @Export("hasTarget") @@ -574,7 +574,7 @@ public class WorldMap { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(IIII)Lad;", + descriptor = "(IIII)Lad;", garbageValue = "-342923578" ) @Export("mapAreaAtCoord") @@ -595,7 +595,7 @@ public class WorldMap { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(IIIZI)V", + descriptor = "(IIIZI)V", garbageValue = "-1486444716" ) public void method6532(int var1, int var2, int var3, boolean var4) { @@ -623,7 +623,7 @@ public class WorldMap { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-1476612822" ) @Export("setCurrentMapAreaId") @@ -637,7 +637,7 @@ public class WorldMap { @ObfuscatedName("h") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "96" ) @Export("currentMapAreaId") @@ -647,7 +647,7 @@ public class WorldMap { @ObfuscatedName("k") @ObfuscatedSignature( - signature = "(I)Lad;", + descriptor = "(I)Lad;", garbageValue = "-434939978" ) @Export("getCurrentMapArea") @@ -657,7 +657,7 @@ public class WorldMap { @ObfuscatedName("r") @ObfuscatedSignature( - signature = "(Lad;I)V", + descriptor = "(Lad;I)V", garbageValue = "1435320921" ) @Export("setCurrentMapArea") @@ -670,7 +670,7 @@ public class WorldMap { @ObfuscatedName("d") @ObfuscatedSignature( - signature = "(Lad;I)V", + descriptor = "(Lad;I)V", garbageValue = "1169619542" ) @Export("initializeWorldMapManager") @@ -682,7 +682,7 @@ public class WorldMap { @ObfuscatedName("e") @ObfuscatedSignature( - signature = "(Lad;Lhg;Lhg;ZB)V", + descriptor = "(Lad;Lhg;Lhg;ZB)V", garbageValue = "-3" ) public void method6538(WorldMapArea var1, Coord var2, Coord var3, boolean var4) { @@ -702,7 +702,7 @@ public class WorldMap { @ObfuscatedName("l") @ObfuscatedSignature( - signature = "(IIII)V", + descriptor = "(IIII)V", garbageValue = "662676533" ) @Export("jump") @@ -726,7 +726,7 @@ public class WorldMap { @ObfuscatedName("t") @ObfuscatedSignature( - signature = "(IIIIIB)V", + descriptor = "(IIIIIB)V", garbageValue = "45" ) @Export("draw") @@ -788,7 +788,7 @@ public class WorldMap { @ObfuscatedName("x") @ObfuscatedSignature( - signature = "(IIIIIII)Z", + descriptor = "(IIIIIII)Z", garbageValue = "1450598957" ) boolean method6565(int var1, int var2, int var3, int var4, int var5, int var6) { @@ -811,7 +811,7 @@ public class WorldMap { @ObfuscatedName("ah") @ObfuscatedSignature( - signature = "(IIIIIIB)V", + descriptor = "(IIIIIIB)V", garbageValue = "0" ) void method6603(int var1, int var2, int var3, int var4, int var5, int var6) { @@ -854,7 +854,7 @@ public class WorldMap { @ObfuscatedName("ai") @ObfuscatedSignature( - signature = "(IIIII)V", + descriptor = "(IIIII)V", garbageValue = "371539895" ) @Export("drawOverview") @@ -873,7 +873,7 @@ public class WorldMap { @ObfuscatedName("ao") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "2046053399" ) @Export("setZoomPercentage") @@ -883,7 +883,7 @@ public class WorldMap { @ObfuscatedName("ae") @ObfuscatedSignature( - signature = "(IIIIII)V", + descriptor = "(IIIIII)V", garbageValue = "-911619085" ) @Export("drawLoading") @@ -899,7 +899,7 @@ public class WorldMap { @ObfuscatedName("ax") @ObfuscatedSignature( - signature = "(II)F", + descriptor = "(II)F", garbageValue = "-101273681" ) @Export("getZoomFromPercentage") @@ -919,7 +919,7 @@ public class WorldMap { @ObfuscatedName("ag") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1432703186" ) @Export("getZoomLevel") @@ -939,7 +939,7 @@ public class WorldMap { @ObfuscatedName("ab") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-344269271" ) @Export("loadCache") @@ -949,7 +949,7 @@ public class WorldMap { @ObfuscatedName("am") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "-2083683127" ) @Export("isCacheLoaded") @@ -959,7 +959,7 @@ public class WorldMap { @ObfuscatedName("ak") @ObfuscatedSignature( - signature = "(II)Lad;", + descriptor = "(II)Lad;", garbageValue = "173267923" ) @Export("getMapArea") @@ -980,7 +980,7 @@ public class WorldMap { @ObfuscatedName("ad") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "124476569" ) @Export("setWorldMapPositionTarget") @@ -993,7 +993,7 @@ public class WorldMap { @ObfuscatedName("as") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "796383009" ) @Export("setWorldMapPositionTargetInstant") @@ -1007,7 +1007,7 @@ public class WorldMap { @ObfuscatedName("ar") @ObfuscatedSignature( - signature = "(IIIB)V", + descriptor = "(IIIB)V", garbageValue = "-86" ) @Export("jumpToSourceCoord") @@ -1023,7 +1023,7 @@ public class WorldMap { @ObfuscatedName("ap") @ObfuscatedSignature( - signature = "(IIII)V", + descriptor = "(IIII)V", garbageValue = "1641941372" ) @Export("jumpToSourceCoordInstant") @@ -1039,7 +1039,7 @@ public class WorldMap { @ObfuscatedName("al") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-2103537124" ) @Export("getDisplayX") @@ -1049,7 +1049,7 @@ public class WorldMap { @ObfuscatedName("an") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "692721192" ) @Export("getDisplayY") @@ -1059,7 +1059,7 @@ public class WorldMap { @ObfuscatedName("ac") @ObfuscatedSignature( - signature = "(I)Lhg;", + descriptor = "(I)Lhg;", garbageValue = "-1863746595" ) @Export("getDisplayCoord") @@ -1069,7 +1069,7 @@ public class WorldMap { @ObfuscatedName("av") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1645904359" ) @Export("getDisplayWith") @@ -1079,7 +1079,7 @@ public class WorldMap { @ObfuscatedName("af") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "1582823724" ) @Export("getDisplayHeight") @@ -1089,7 +1089,7 @@ public class WorldMap { @ObfuscatedName("at") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "1740193117" ) @Export("setMaxFlashCount") @@ -1102,7 +1102,7 @@ public class WorldMap { @ObfuscatedName("aa") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-316454776" ) @Export("resetMaxFlashCount") @@ -1112,7 +1112,7 @@ public class WorldMap { @ObfuscatedName("aw") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "51" ) @Export("setCyclesPerFlash") @@ -1125,7 +1125,7 @@ public class WorldMap { @ObfuscatedName("az") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "2071944062" ) @Export("resetCyclesPerFlash") @@ -1135,7 +1135,7 @@ public class WorldMap { @ObfuscatedName("aq") @ObfuscatedSignature( - signature = "(ZI)V", + descriptor = "(ZI)V", garbageValue = "-999392835" ) @Export("setPerpetualFlash") @@ -1145,7 +1145,7 @@ public class WorldMap { @ObfuscatedName("ay") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "106" ) @Export("flashElement") @@ -1158,7 +1158,7 @@ public class WorldMap { @ObfuscatedName("au") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-1070811489" ) @Export("flashCategory") @@ -1177,7 +1177,7 @@ public class WorldMap { @ObfuscatedName("aj") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "8454016" ) @Export("stopCurrentFlashes") @@ -1187,7 +1187,7 @@ public class WorldMap { @ObfuscatedName("bk") @ObfuscatedSignature( - signature = "(ZI)V", + descriptor = "(ZI)V", garbageValue = "-74185669" ) @Export("setElementsDisabled") @@ -1197,7 +1197,7 @@ public class WorldMap { @ObfuscatedName("bh") @ObfuscatedSignature( - signature = "(IZI)V", + descriptor = "(IZI)V", garbageValue = "1502020559" ) @Export("disableElement") @@ -1213,7 +1213,7 @@ public class WorldMap { @ObfuscatedName("bg") @ObfuscatedSignature( - signature = "(IZI)V", + descriptor = "(IZI)V", garbageValue = "-324596356" ) @Export("setCategoryDisabled") @@ -1240,7 +1240,7 @@ public class WorldMap { @ObfuscatedName("be") @ObfuscatedSignature( - signature = "(B)Z", + descriptor = "(B)Z", garbageValue = "-45" ) @Export("getElementsDisabled") @@ -1250,7 +1250,7 @@ public class WorldMap { @ObfuscatedName("bf") @ObfuscatedSignature( - signature = "(IS)Z", + descriptor = "(IS)Z", garbageValue = "-10758" ) @Export("isElementDisabled") @@ -1260,7 +1260,7 @@ public class WorldMap { @ObfuscatedName("ba") @ObfuscatedSignature( - signature = "(IS)Z", + descriptor = "(IS)Z", garbageValue = "24518" ) @Export("isCategoryDisabled") @@ -1270,7 +1270,7 @@ public class WorldMap { @ObfuscatedName("bd") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "32" ) void method6573() { @@ -1281,7 +1281,7 @@ public class WorldMap { @ObfuscatedName("bb") @ObfuscatedSignature( - signature = "(IIIIIIB)V", + descriptor = "(IIIIIIB)V", garbageValue = "-102" ) @Export("addElementMenuOptions") @@ -1317,7 +1317,7 @@ public class WorldMap { @ObfuscatedName("bw") @ObfuscatedSignature( - signature = "(ILhg;I)Lhg;", + descriptor = "(ILhg;I)Lhg;", garbageValue = "-1210676807" ) public Coord method6575(int var1, Coord var2) { @@ -1363,7 +1363,7 @@ public class WorldMap { @ObfuscatedName("bq") @ObfuscatedSignature( - signature = "(IILhg;Lhg;I)V", + descriptor = "(IILhg;Lhg;I)V", garbageValue = "346883599" ) @Export("worldMapMenuAction") @@ -1393,7 +1393,7 @@ public class WorldMap { @ObfuscatedName("bn") @ObfuscatedSignature( - signature = "(I)Laf;", + descriptor = "(I)Laf;", garbageValue = "-1116444098" ) @Export("iconStart") @@ -1419,7 +1419,7 @@ public class WorldMap { @ObfuscatedName("bc") @ObfuscatedSignature( - signature = "(B)Laf;", + descriptor = "(B)Laf;", garbageValue = "-42" ) @Export("iconNext") diff --git a/runescape-client/src/main/java/WorldMapArchiveLoader.java b/runescape-client/src/main/java/WorldMapArchiveLoader.java index c05cb79825..35ea39f7f8 100644 --- a/runescape-client/src/main/java/WorldMapArchiveLoader.java +++ b/runescape-client/src/main/java/WorldMapArchiveLoader.java @@ -12,7 +12,7 @@ public class WorldMapArchiveLoader { String cacheName; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("archive") AbstractArchive archive; @@ -27,7 +27,7 @@ public class WorldMapArchiveLoader { boolean loaded; @ObfuscatedSignature( - signature = "(Lic;)V" + descriptor = "(Lic;)V" ) WorldMapArchiveLoader(AbstractArchive var1) { this.percentLoaded = 0; @@ -37,7 +37,7 @@ public class WorldMapArchiveLoader { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", + descriptor = "(Ljava/lang/String;I)V", garbageValue = "796588704" ) @Export("reset") @@ -54,7 +54,7 @@ public class WorldMapArchiveLoader { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1901724660" ) @Export("load") @@ -89,7 +89,7 @@ public class WorldMapArchiveLoader { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "-1377768408" ) @Export("isLoaded") @@ -99,7 +99,7 @@ public class WorldMapArchiveLoader { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1099667221" ) @Export("getPercentLoaded") diff --git a/runescape-client/src/main/java/WorldMapArea.java b/runescape-client/src/main/java/WorldMapArea.java index 7802838d48..cd4b048470 100644 --- a/runescape-client/src/main/java/WorldMapArea.java +++ b/runescape-client/src/main/java/WorldMapArea.java @@ -38,7 +38,7 @@ public class WorldMapArea { int zoom; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lhg;" + descriptor = "Lhg;" ) @Export("origin") Coord origin; @@ -87,7 +87,7 @@ public class WorldMapArea { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "1711579729" ) @Export("read") @@ -112,7 +112,7 @@ public class WorldMapArea { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;B)Law;", + descriptor = "(Lkn;B)Law;", garbageValue = "-69" ) @Export("readWorldMapSection") @@ -144,7 +144,7 @@ public class WorldMapArea { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(IIII)Z", + descriptor = "(IIII)Z", garbageValue = "303739781" ) @Export("containsCoord") @@ -165,7 +165,7 @@ public class WorldMapArea { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(IIB)Z", + descriptor = "(IIB)Z", garbageValue = "111" ) @Export("containsPosition") @@ -196,7 +196,7 @@ public class WorldMapArea { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(IIII)[I", + descriptor = "(IIII)[I", garbageValue = "1838178690" ) @Export("position") @@ -217,7 +217,7 @@ public class WorldMapArea { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(III)Lhg;", + descriptor = "(III)Lhg;", garbageValue = "-1660127351" ) @Export("coord") @@ -238,7 +238,7 @@ public class WorldMapArea { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "61" ) @Export("setBounds") @@ -254,7 +254,7 @@ public class WorldMapArea { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-659291236" ) @Export("getId") @@ -264,7 +264,7 @@ public class WorldMapArea { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "-2131690602" ) @Export("getIsMain") @@ -274,7 +274,7 @@ public class WorldMapArea { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", + descriptor = "(I)Ljava/lang/String;", garbageValue = "-1380863043" ) @Export("getInternalName") @@ -284,7 +284,7 @@ public class WorldMapArea { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", + descriptor = "(I)Ljava/lang/String;", garbageValue = "657919972" ) @Export("getExternalName") @@ -294,7 +294,7 @@ public class WorldMapArea { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "49" ) @Export("getBackGroundColor") @@ -304,7 +304,7 @@ public class WorldMapArea { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "24" ) @Export("getZoom") @@ -314,7 +314,7 @@ public class WorldMapArea { @ObfuscatedName("h") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1324174996" ) @Export("getRegionLowX") @@ -324,7 +324,7 @@ public class WorldMapArea { @ObfuscatedName("k") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "103" ) @Export("getRegionHighX") @@ -334,7 +334,7 @@ public class WorldMapArea { @ObfuscatedName("r") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1253585407" ) @Export("getRegionLowY") @@ -344,7 +344,7 @@ public class WorldMapArea { @ObfuscatedName("d") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "1154975420" ) @Export("getRegionHighY") @@ -354,7 +354,7 @@ public class WorldMapArea { @ObfuscatedName("e") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1645493175" ) @Export("getOriginX") @@ -364,7 +364,7 @@ public class WorldMapArea { @ObfuscatedName("l") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "680709831" ) @Export("getOriginPlane") @@ -374,7 +374,7 @@ public class WorldMapArea { @ObfuscatedName("t") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-734959342" ) @Export("getOriginY") @@ -384,7 +384,7 @@ public class WorldMapArea { @ObfuscatedName("x") @ObfuscatedSignature( - signature = "(I)Lhg;", + descriptor = "(I)Lhg;", garbageValue = "-1903361332" ) @Export("getOrigin") @@ -394,7 +394,7 @@ public class WorldMapArea { @ObfuscatedName("hf") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "1010580353" ) @Export("resumePauseWidget") diff --git a/runescape-client/src/main/java/WorldMapAreaData.java b/runescape-client/src/main/java/WorldMapAreaData.java index b50bdf8f38..0750b7f639 100644 --- a/runescape-client/src/main/java/WorldMapAreaData.java +++ b/runescape-client/src/main/java/WorldMapAreaData.java @@ -24,7 +24,7 @@ public class WorldMapAreaData extends WorldMapArea { @ObfuscatedName("bs") @ObfuscatedSignature( - signature = "(Lkn;Lkn;IZI)V", + descriptor = "(Lkn;Lkn;IZI)V", garbageValue = "442767924" ) @Export("init") @@ -66,7 +66,7 @@ public class WorldMapAreaData extends WorldMapArea { @ObfuscatedName("by") @ObfuscatedSignature( - signature = "(Lkn;ZI)V", + descriptor = "(Lkn;ZI)V", garbageValue = "-380421071" ) @Export("initIconsList") @@ -87,7 +87,7 @@ public class WorldMapAreaData extends WorldMapArea { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "([BI)Lcs;", + descriptor = "([BI)Lcs;", garbageValue = "1792640289" ) @Export("newScript") @@ -159,7 +159,7 @@ public class WorldMapAreaData extends WorldMapArea { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;B)I", + descriptor = "(Ljava/lang/CharSequence;B)I", garbageValue = "47" ) public static int method759(CharSequence var0) { @@ -175,7 +175,7 @@ public class WorldMapAreaData extends WorldMapArea { @ObfuscatedName("ic") @ObfuscatedSignature( - signature = "(II)Ljava/lang/String;", + descriptor = "(II)Ljava/lang/String;", garbageValue = "803969817" ) @Export("formatItemStacks") @@ -195,7 +195,7 @@ public class WorldMapAreaData extends WorldMapArea { @ObfuscatedName("kk") @ObfuscatedSignature( - signature = "(Lhd;B)Ljava/lang/String;", + descriptor = "(Lhd;B)Ljava/lang/String;", garbageValue = "-51" ) static String method762(Widget var0) { diff --git a/runescape-client/src/main/java/WorldMapCacheName.java b/runescape-client/src/main/java/WorldMapCacheName.java index 2acccd0942..28ac9e0cd1 100644 --- a/runescape-client/src/main/java/WorldMapCacheName.java +++ b/runescape-client/src/main/java/WorldMapCacheName.java @@ -14,27 +14,27 @@ public class WorldMapCacheName { static int field329; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lat;" + descriptor = "Lat;" ) public static final WorldMapCacheName field322; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lat;" + descriptor = "Lat;" ) public static final WorldMapCacheName field325; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lat;" + descriptor = "Lat;" ) public static final WorldMapCacheName field324; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lat;" + descriptor = "Lat;" ) static final WorldMapCacheName field323; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lat;" + descriptor = "Lat;" ) public static final WorldMapCacheName field326; @ObfuscatedName("ga") @@ -60,7 +60,7 @@ public class WorldMapCacheName { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(ILlp;Lig;I)V", + descriptor = "(ILlp;Lig;I)V", garbageValue = "-1710341553" ) static void method688(int var0, ArchiveDisk var1, Archive var2) { diff --git a/runescape-client/src/main/java/WorldMapData_0.java b/runescape-client/src/main/java/WorldMapData_0.java index a4d83cb42b..848197e98b 100644 --- a/runescape-client/src/main/java/WorldMapData_0.java +++ b/runescape-client/src/main/java/WorldMapData_0.java @@ -8,13 +8,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class WorldMapData_0 extends AbstractWorldMapData { @ObfuscatedName("dq") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive11") static Archive archive11; @ObfuscatedName("ej") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive19") static Archive archive19; @@ -24,7 +24,7 @@ public class WorldMapData_0 extends AbstractWorldMapData { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "-1154990112" ) @Export("init") @@ -46,7 +46,7 @@ public class WorldMapData_0 extends AbstractWorldMapData { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "-1774414997" ) @Export("readGeography") @@ -126,7 +126,7 @@ public class WorldMapData_0 extends AbstractWorldMapData { @ObfuscatedName("he") @ObfuscatedSignature( - signature = "(IIIII)V", + descriptor = "(IIIII)V", garbageValue = "-992239935" ) static final void method243(int var0, int var1, int var2, int var3) { diff --git a/runescape-client/src/main/java/WorldMapData_1.java b/runescape-client/src/main/java/WorldMapData_1.java index 3f15826d23..9b14d61e56 100644 --- a/runescape-client/src/main/java/WorldMapData_1.java +++ b/runescape-client/src/main/java/WorldMapData_1.java @@ -40,7 +40,7 @@ public class WorldMapData_1 extends AbstractWorldMapData { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "-484373567" ) @Export("init") @@ -66,7 +66,7 @@ public class WorldMapData_1 extends AbstractWorldMapData { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;I)V", + descriptor = "(Lkn;I)V", garbageValue = "-1774414997" ) @Export("readGeography") @@ -100,7 +100,7 @@ public class WorldMapData_1 extends AbstractWorldMapData { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "4" ) @Export("getChunkXLow") @@ -110,7 +110,7 @@ public class WorldMapData_1 extends AbstractWorldMapData { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "259751183" ) @Export("getChunkYLow") @@ -120,7 +120,7 @@ public class WorldMapData_1 extends AbstractWorldMapData { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-810164078" ) @Export("getChunkX") @@ -130,7 +130,7 @@ public class WorldMapData_1 extends AbstractWorldMapData { @ObfuscatedName("as") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "196084572" ) @Export("getChunkY") @@ -157,7 +157,7 @@ public class WorldMapData_1 extends AbstractWorldMapData { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(II)Z", + descriptor = "(II)Z", garbageValue = "1959951733" ) public static boolean method784(int var0) { @@ -166,7 +166,7 @@ public class WorldMapData_1 extends AbstractWorldMapData { @ObfuscatedName("im") @ObfuscatedSignature( - signature = "(IIIIB)V", + descriptor = "(IIIIB)V", garbageValue = "87" ) @Export("addSceneMenuOptions") diff --git a/runescape-client/src/main/java/WorldMapDecoration.java b/runescape-client/src/main/java/WorldMapDecoration.java index 3c6d665972..88f66bd982 100644 --- a/runescape-client/src/main/java/WorldMapDecoration.java +++ b/runescape-client/src/main/java/WorldMapDecoration.java @@ -50,7 +50,7 @@ public class WorldMapDecoration { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "([Ljava/lang/String;[SI)V", + descriptor = "([Ljava/lang/String;[SI)V", garbageValue = "478567291" ) public static void method400(String[] var0, short[] var1) { @@ -59,7 +59,7 @@ public class WorldMapDecoration { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(II)I", + descriptor = "(II)I", garbageValue = "1441437585" ) public static int method402(int var0) { @@ -68,7 +68,7 @@ public class WorldMapDecoration { @ObfuscatedName("jl") @ObfuscatedSignature( - signature = "([Lhd;IB)V", + descriptor = "([Lhd;IB)V", garbageValue = "-69" ) @Export("drawModelComponents") diff --git a/runescape-client/src/main/java/WorldMapDecorationType.java b/runescape-client/src/main/java/WorldMapDecorationType.java index 658a88d65a..0ff172de51 100644 --- a/runescape-client/src/main/java/WorldMapDecorationType.java +++ b/runescape-client/src/main/java/WorldMapDecorationType.java @@ -9,117 +9,117 @@ import net.runelite.mapping.ObfuscatedSignature; public enum WorldMapDecorationType implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2756(0, 0), @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2757(1, 0), @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2755(2, 0), @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2758(3, 0), @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2759(9, 2), @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2760(4, 1), @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2761(5, 1), @ObfuscatedName("u") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2762(6, 1), @ObfuscatedName("a") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2776(7, 1), @ObfuscatedName("z") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2764(8, 1), @ObfuscatedName("w") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2765(12, 2), @ObfuscatedName("y") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2763(13, 2), @ObfuscatedName("c") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2769(14, 2), @ObfuscatedName("h") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2768(15, 2), @ObfuscatedName("k") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2766(16, 2), @ObfuscatedName("r") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2770(17, 2), @ObfuscatedName("s") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2771(18, 2), @ObfuscatedName("v") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2772(19, 2), @ObfuscatedName("d") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2767(20, 2), @ObfuscatedName("e") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2774(21, 2), @ObfuscatedName("l") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2775(10, 2), @ObfuscatedName("t") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2778(11, 2), @ObfuscatedName("x") @ObfuscatedSignature( - signature = "Lhp;" + descriptor = "Lhp;" ) field2777(22, 3); @@ -131,7 +131,7 @@ public enum WorldMapDecorationType implements Enumerated { public final int id; @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "0" ) WorldMapDecorationType(int var3, int var4) { @@ -140,7 +140,7 @@ public enum WorldMapDecorationType implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-995092303" ) @Export("rsOrdinal") diff --git a/runescape-client/src/main/java/WorldMapElement.java b/runescape-client/src/main/java/WorldMapElement.java index 95951452c4..1c73d79f59 100644 --- a/runescape-client/src/main/java/WorldMapElement.java +++ b/runescape-client/src/main/java/WorldMapElement.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class WorldMapElement extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("WorldMapElement_archive") public static AbstractArchive WorldMapElement_archive; @@ -21,13 +21,13 @@ public class WorldMapElement extends DualNode { public static int WorldMapElement_count; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lec;" + descriptor = "Lec;" ) @Export("WorldMapElement_cachedSprites") public static EvictingDualNodeHashTable WorldMapElement_cachedSprites; @ObfuscatedName("hz") @ObfuscatedSignature( - signature = "[Llh;" + descriptor = "[Llh;" ) @Export("scrollBarSprites") static IndexedSprite[] scrollBarSprites; @@ -93,13 +93,13 @@ public class WorldMapElement extends DualNode { int field3255; @ObfuscatedName("d") @ObfuscatedSignature( - signature = "Ljc;" + descriptor = "Ljc;" ) @Export("horizontalAlignment") public HorizontalAlignment horizontalAlignment; @ObfuscatedName("e") @ObfuscatedSignature( - signature = "Lif;" + descriptor = "Lif;" ) @Export("verticalAlignment") public VerticalAlignment verticalAlignment; @@ -135,7 +135,7 @@ public class WorldMapElement extends DualNode { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;B)V", + descriptor = "(Lkn;B)V", garbageValue = "106" ) @Export("decode") @@ -152,7 +152,7 @@ public class WorldMapElement extends DualNode { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lkn;II)V", + descriptor = "(Lkn;II)V", garbageValue = "1696894212" ) @Export("decodeNext") @@ -239,7 +239,7 @@ public class WorldMapElement extends DualNode { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "116" ) public void method4548() { @@ -263,7 +263,7 @@ public class WorldMapElement extends DualNode { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(ZI)Llz;", + descriptor = "(ZI)Llz;", garbageValue = "-314713437" ) @Export("getSpriteBool") @@ -274,7 +274,7 @@ public class WorldMapElement extends DualNode { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(II)Llz;", + descriptor = "(II)Llz;", garbageValue = "1760825025" ) @Export("getSprite") @@ -298,7 +298,7 @@ public class WorldMapElement extends DualNode { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1240109519" ) @Export("getObjectId") @@ -308,7 +308,7 @@ public class WorldMapElement extends DualNode { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkn;Llf;I)Llf;", + descriptor = "(Lkn;Llf;I)Llf;", garbageValue = "1394866461" ) @Export("readStringIntParameters") @@ -344,7 +344,7 @@ public class WorldMapElement extends DualNode { @ObfuscatedName("aa") @ObfuscatedSignature( - signature = "(ILhg;ZI)V", + descriptor = "(ILhg;ZI)V", garbageValue = "284772848" ) static void method4566(int var0, Coord var1, boolean var2) { diff --git a/runescape-client/src/main/java/WorldMapEvent.java b/runescape-client/src/main/java/WorldMapEvent.java index d42f222f8a..954833725e 100644 --- a/runescape-client/src/main/java/WorldMapEvent.java +++ b/runescape-client/src/main/java/WorldMapEvent.java @@ -26,19 +26,19 @@ public class WorldMapEvent { public int mapElement; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lhg;" + descriptor = "Lhg;" ) @Export("coord1") public Coord coord1; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lhg;" + descriptor = "Lhg;" ) @Export("coord2") public Coord coord2; @ObfuscatedSignature( - signature = "(ILhg;Lhg;)V" + descriptor = "(ILhg;Lhg;)V" ) public WorldMapEvent(int var1, Coord var2, Coord var3) { this.mapElement = var1; @@ -48,7 +48,7 @@ public class WorldMapEvent { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)J", + descriptor = "(I)J", garbageValue = "-33276510" ) static long method839() { @@ -84,7 +84,7 @@ public class WorldMapEvent { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(II)Lir;", + descriptor = "(II)Lir;", garbageValue = "-2114458170" ) @Export("KitDefinition_get") @@ -106,7 +106,7 @@ public class WorldMapEvent { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lig;IIIBZI)V", + descriptor = "(Lig;IIIBZI)V", garbageValue = "-966731754" ) @Export("requestNetFile") @@ -153,7 +153,7 @@ public class WorldMapEvent { @ObfuscatedName("ah") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "-1652034071" ) static int method836(int var0, Script var1, boolean var2) { @@ -516,7 +516,7 @@ public class WorldMapEvent { @ObfuscatedName("hg") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "823242837" ) static void method840(int var0, int var1) { diff --git a/runescape-client/src/main/java/WorldMapID.java b/runescape-client/src/main/java/WorldMapID.java index 63540a61fa..c364ba504c 100644 --- a/runescape-client/src/main/java/WorldMapID.java +++ b/runescape-client/src/main/java/WorldMapID.java @@ -9,12 +9,12 @@ import net.runelite.mapping.ObfuscatedSignature; public class WorldMapID { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lan;" + descriptor = "Lan;" ) static final WorldMapID field301; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lan;" + descriptor = "Lan;" ) static final WorldMapID field299; @ObfuscatedName("am") @@ -37,7 +37,7 @@ public class WorldMapID { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", + descriptor = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", garbageValue = "-452075122" ) @Export("addChatMessage") @@ -56,7 +56,7 @@ public class WorldMapID { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(II)I", + descriptor = "(II)I", garbageValue = "-211582550" ) public static int method617(int var0) { @@ -65,7 +65,7 @@ public class WorldMapID { @ObfuscatedName("gv") @ObfuscatedSignature( - signature = "(IIIIZI)V", + descriptor = "(IIIIZI)V", garbageValue = "-1973135066" ) @Export("setViewportShape") diff --git a/runescape-client/src/main/java/WorldMapIcon_0.java b/runescape-client/src/main/java/WorldMapIcon_0.java index dfb9100550..56ecb8d441 100644 --- a/runescape-client/src/main/java/WorldMapIcon_0.java +++ b/runescape-client/src/main/java/WorldMapIcon_0.java @@ -10,7 +10,7 @@ import net.runelite.rs.ScriptOpcodes; public class WorldMapIcon_0 extends AbstractWorldMapIcon { @ObfuscatedName("sq") @ObfuscatedSignature( - signature = "Lr;" + descriptor = "Lr;" ) @Export("grandExchangeEvents") static GrandExchangeEvents grandExchangeEvents; @@ -22,7 +22,7 @@ public class WorldMapIcon_0 extends AbstractWorldMapIcon { final int element; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lar;" + descriptor = "Lar;" ) @Export("label") final WorldMapLabel label; @@ -40,7 +40,7 @@ public class WorldMapIcon_0 extends AbstractWorldMapIcon { final int subHeight; @ObfuscatedSignature( - signature = "(Lhg;Lhg;ILar;)V" + descriptor = "(Lhg;Lhg;ILar;)V" ) WorldMapIcon_0(Coord var1, Coord var2, int var3, WorldMapLabel var4) { super(var1, var2); @@ -60,7 +60,7 @@ public class WorldMapIcon_0 extends AbstractWorldMapIcon { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "0" ) @Export("getElement") @@ -70,7 +70,7 @@ public class WorldMapIcon_0 extends AbstractWorldMapIcon { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(B)Lar;", + descriptor = "(B)Lar;", garbageValue = "35" ) @Export("getLabel") @@ -80,7 +80,7 @@ public class WorldMapIcon_0 extends AbstractWorldMapIcon { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "1804331962" ) @Export("getSubWidth") @@ -90,7 +90,7 @@ public class WorldMapIcon_0 extends AbstractWorldMapIcon { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1265869629" ) @Export("getSubHeight") @@ -100,7 +100,7 @@ public class WorldMapIcon_0 extends AbstractWorldMapIcon { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(II)[B", + descriptor = "(II)[B", garbageValue = "-116765930" ) @Export("ByteArrayPool_getArray") @@ -110,7 +110,7 @@ public class WorldMapIcon_0 extends AbstractWorldMapIcon { @ObfuscatedName("af") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "1354105347" ) static int method265(int var0, Script var1, boolean var2) { @@ -467,7 +467,7 @@ public class WorldMapIcon_0 extends AbstractWorldMapIcon { @ObfuscatedName("gc") @ObfuscatedSignature( - signature = "(ZI)V", + descriptor = "(ZI)V", garbageValue = "-63078339" ) @Export("addNpcsToScene") @@ -497,7 +497,7 @@ public class WorldMapIcon_0 extends AbstractWorldMapIcon { @ObfuscatedName("it") @ObfuscatedSignature( - signature = "([Lhd;Lhd;ZS)V", + descriptor = "([Lhd;Lhd;ZS)V", garbageValue = "-3141" ) @Export("revalidateWidgetScroll") diff --git a/runescape-client/src/main/java/WorldMapIcon_1.java b/runescape-client/src/main/java/WorldMapIcon_1.java index 460dbaab2f..819956398d 100644 --- a/runescape-client/src/main/java/WorldMapIcon_1.java +++ b/runescape-client/src/main/java/WorldMapIcon_1.java @@ -10,12 +10,12 @@ import net.runelite.mapping.ObfuscatedSignature; public class WorldMapIcon_1 extends AbstractWorldMapIcon { @ObfuscatedName("bc") @ObfuscatedSignature( - signature = "Llh;" + descriptor = "Llh;" ) static IndexedSprite field206; @ObfuscatedName("dj") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive14") static Archive archive14; @@ -27,7 +27,7 @@ public class WorldMapIcon_1 extends AbstractWorldMapIcon { final int objectDefId; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lap;" + descriptor = "Lap;" ) @Export("region") final WorldMapRegion region; @@ -39,7 +39,7 @@ public class WorldMapIcon_1 extends AbstractWorldMapIcon { int element; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lar;" + descriptor = "Lar;" ) @Export("label") WorldMapLabel label; @@ -57,7 +57,7 @@ public class WorldMapIcon_1 extends AbstractWorldMapIcon { int subHeight; @ObfuscatedSignature( - signature = "(Lhg;Lhg;ILap;)V" + descriptor = "(Lhg;Lhg;ILap;)V" ) WorldMapIcon_1(Coord var1, Coord var2, int var3, WorldMapRegion var4) { super(var1, var2); @@ -68,7 +68,7 @@ public class WorldMapIcon_1 extends AbstractWorldMapIcon { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "0" ) @Export("getElement") @@ -78,7 +78,7 @@ public class WorldMapIcon_1 extends AbstractWorldMapIcon { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(B)Lar;", + descriptor = "(B)Lar;", garbageValue = "35" ) @Export("getLabel") @@ -88,7 +88,7 @@ public class WorldMapIcon_1 extends AbstractWorldMapIcon { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "1804331962" ) @Export("getSubWidth") @@ -98,7 +98,7 @@ public class WorldMapIcon_1 extends AbstractWorldMapIcon { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-1265869629" ) @Export("getSubHeight") @@ -108,7 +108,7 @@ public class WorldMapIcon_1 extends AbstractWorldMapIcon { @ObfuscatedName("d") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "19136800" ) @Export("init") @@ -129,7 +129,7 @@ public class WorldMapIcon_1 extends AbstractWorldMapIcon { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)Ljava/security/SecureRandom;", + descriptor = "(I)Ljava/security/SecureRandom;", garbageValue = "1486718795" ) static SecureRandom method348() { @@ -140,7 +140,7 @@ public class WorldMapIcon_1 extends AbstractWorldMapIcon { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "([BIIIIIIILem;[Lfz;I)V", + descriptor = "([BIIIIIIILem;[Lfz;I)V", garbageValue = "1704898412" ) static final void method365(byte[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, Scene var8, CollisionMap[] var9) { diff --git a/runescape-client/src/main/java/WorldMapLabel.java b/runescape-client/src/main/java/WorldMapLabel.java index 095a2aacfe..28bd1577b5 100644 --- a/runescape-client/src/main/java/WorldMapLabel.java +++ b/runescape-client/src/main/java/WorldMapLabel.java @@ -17,13 +17,13 @@ public class WorldMapLabel { static byte[][][] field269; @ObfuscatedName("y") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("Widget_fontsArchive") static AbstractArchive Widget_fontsArchive; @ObfuscatedName("ek") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive15") static Archive archive15; @@ -35,7 +35,7 @@ public class WorldMapLabel { static int port3; @ObfuscatedName("fm") @ObfuscatedSignature( - signature = "Lko;" + descriptor = "Lko;" ) @Export("fontPlain11") static Font fontPlain11; @@ -56,13 +56,13 @@ public class WorldMapLabel { int height; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lah;" + descriptor = "Lah;" ) @Export("size") WorldMapLabelSize size; @ObfuscatedSignature( - signature = "(Ljava/lang/String;IILah;)V" + descriptor = "(Ljava/lang/String;IILah;)V" ) WorldMapLabel(String var1, int var2, int var3, WorldMapLabelSize var4) { this.text = var1; @@ -73,7 +73,7 @@ public class WorldMapLabel { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(II)Z", + descriptor = "(II)Z", garbageValue = "578317705" ) public static boolean method487(int var0) { @@ -82,7 +82,7 @@ public class WorldMapLabel { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lbu;II)V", + descriptor = "(Lbu;II)V", garbageValue = "1472646677" ) @Export("runScript") @@ -399,7 +399,7 @@ public class WorldMapLabel { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(IB)J", + descriptor = "(IB)J", garbageValue = "88" ) public static long method482(int var0) { @@ -408,7 +408,7 @@ public class WorldMapLabel { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(II)I", + descriptor = "(II)I", garbageValue = "807704553" ) @Export("Messages_getLastChatID") @@ -423,7 +423,7 @@ public class WorldMapLabel { @ObfuscatedName("ff") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1944038316" ) static final void method488() { @@ -539,7 +539,7 @@ public class WorldMapLabel { @ObfuscatedName("il") @ObfuscatedSignature( - signature = "(Lhd;III)V", + descriptor = "(Lhd;III)V", garbageValue = "-488696963" ) @Export("alignWidgetPosition") @@ -576,7 +576,7 @@ public class WorldMapLabel { @ObfuscatedName("jv") @ObfuscatedSignature( - signature = "(IIII)Lbz;", + descriptor = "(IIII)Lbz;", garbageValue = "1553809797" ) static final InterfaceParent method486(int var0, int var1, int var2) { diff --git a/runescape-client/src/main/java/WorldMapLabelSize.java b/runescape-client/src/main/java/WorldMapLabelSize.java index 9356fd0246..b43e0e0bed 100644 --- a/runescape-client/src/main/java/WorldMapLabelSize.java +++ b/runescape-client/src/main/java/WorldMapLabelSize.java @@ -9,19 +9,19 @@ import net.runelite.mapping.ObfuscatedSignature; public class WorldMapLabelSize { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lah;" + descriptor = "Lah;" ) @Export("WorldMapLabelSize_small") public static final WorldMapLabelSize WorldMapLabelSize_small; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lah;" + descriptor = "Lah;" ) @Export("WorldMapLabelSize_medium") public static final WorldMapLabelSize WorldMapLabelSize_medium; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lah;" + descriptor = "Lah;" ) @Export("WorldMapLabelSize_large") public static final WorldMapLabelSize WorldMapLabelSize_large; @@ -32,7 +32,7 @@ public class WorldMapLabelSize { static int field134; @ObfuscatedName("fw") @ObfuscatedSignature( - signature = "Leh;" + descriptor = "Leh;" ) @Export("urlRequester") static UrlRequester urlRequester; @@ -66,7 +66,7 @@ public class WorldMapLabelSize { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(FI)Z", + descriptor = "(FI)Z", garbageValue = "-645861568" ) boolean method246(float var1) { @@ -75,7 +75,7 @@ public class WorldMapLabelSize { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(III)Lhd;", + descriptor = "(III)Lhd;", garbageValue = "-756668004" ) @Export("getWidgetChild") @@ -90,7 +90,7 @@ public class WorldMapLabelSize { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "1950669116" ) public static boolean method251() { @@ -99,7 +99,7 @@ public class WorldMapLabelSize { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1407102588" ) static final void method249() { @@ -110,7 +110,7 @@ public class WorldMapLabelSize { @ObfuscatedName("kw") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "2140827250" ) static void method247() { diff --git a/runescape-client/src/main/java/WorldMapManager.java b/runescape-client/src/main/java/WorldMapManager.java index 08a5f4ee6d..c5d32ec476 100644 --- a/runescape-client/src/main/java/WorldMapManager.java +++ b/runescape-client/src/main/java/WorldMapManager.java @@ -26,13 +26,13 @@ public final class WorldMapManager { boolean loadStarted; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Laz;" + descriptor = "Laz;" ) @Export("mapAreaData") WorldMapAreaData mapAreaData; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Llz;" + descriptor = "Llz;" ) @Export("compositeTextureSprite") Sprite compositeTextureSprite; @@ -41,7 +41,7 @@ public final class WorldMapManager { HashMap icons; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "[[Lap;" + descriptor = "[[Lap;" ) @Export("regions") WorldMapRegion[][] regions; @@ -50,19 +50,19 @@ public final class WorldMapManager { HashMap scaleHandlers; @ObfuscatedName("u") @ObfuscatedSignature( - signature = "[Llh;" + descriptor = "[Llh;" ) @Export("mapSceneSprites") IndexedSprite[] mapSceneSprites; @ObfuscatedName("a") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("geographyArchive") final AbstractArchive geographyArchive; @ObfuscatedName("z") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("groundArchive") final AbstractArchive groundArchive; @@ -101,7 +101,7 @@ public final class WorldMapManager { public int pixelsPerTile; @ObfuscatedSignature( - signature = "([Llh;Ljava/util/HashMap;Lic;Lic;)V" + descriptor = "([Llh;Ljava/util/HashMap;Lic;Lic;)V" ) public WorldMapManager(IndexedSprite[] var1, HashMap var2, AbstractArchive var3, AbstractArchive var4) { this.loaded = false; @@ -116,7 +116,7 @@ public final class WorldMapManager { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lic;Ljava/lang/String;ZI)V", + descriptor = "(Lic;Ljava/lang/String;ZI)V", garbageValue = "2141843540" ) @Export("load") @@ -189,7 +189,7 @@ public final class WorldMapManager { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1532053467" ) @Export("clearIcons") @@ -199,7 +199,7 @@ public final class WorldMapManager { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(IIIIIIIII)V", + descriptor = "(IIIIIIIII)V", garbageValue = "-2041483003" ) @Export("drawTiles") @@ -246,7 +246,7 @@ public final class WorldMapManager { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(IIIIIIIILjava/util/HashSet;Ljava/util/HashSet;IIZI)V", + descriptor = "(IIIIIIIILjava/util/HashSet;Ljava/util/HashSet;IIZI)V", garbageValue = "531249052" ) @Export("drawElements") @@ -281,7 +281,7 @@ public final class WorldMapManager { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(IIIILjava/util/HashSet;IIB)V", + descriptor = "(IIIILjava/util/HashSet;IIB)V", garbageValue = "-52" ) @Export("drawOverview") @@ -321,7 +321,7 @@ public final class WorldMapManager { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(IIIIIIIIIIB)Ljava/util/List;", + descriptor = "(IIIIIIIIIIB)Ljava/util/List;", garbageValue = "7" ) public List method695(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { @@ -350,7 +350,7 @@ public final class WorldMapManager { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(IIIII)Lag;", + descriptor = "(IIIII)Lag;", garbageValue = "-1190093558" ) @Export("createWorldMapRectangle") @@ -393,7 +393,7 @@ public final class WorldMapManager { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(B)Z", + descriptor = "(B)Z", garbageValue = "0" ) @Export("isLoaded") @@ -403,7 +403,7 @@ public final class WorldMapManager { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(I)Ljava/util/HashMap;", + descriptor = "(I)Ljava/util/HashMap;", garbageValue = "-518296380" ) @Export("buildIcons") @@ -414,7 +414,7 @@ public final class WorldMapManager { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-84" ) @Export("buildIcons0") @@ -451,7 +451,7 @@ public final class WorldMapManager { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(IIB)F", + descriptor = "(IIB)F", garbageValue = "-11" ) @Export("getPixelsPerTile") @@ -469,7 +469,7 @@ public final class WorldMapManager { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "1960710050" ) @Export("isKeyDown") @@ -488,7 +488,7 @@ public final class WorldMapManager { @ObfuscatedName("x") @ObfuscatedSignature( - signature = "(ILcs;ZB)I", + descriptor = "(ILcs;ZB)I", garbageValue = "-25" ) static int method717(int var0, Script var1, boolean var2) { diff --git a/runescape-client/src/main/java/WorldMapRectangle.java b/runescape-client/src/main/java/WorldMapRectangle.java index 2062f1da14..33f760caa6 100644 --- a/runescape-client/src/main/java/WorldMapRectangle.java +++ b/runescape-client/src/main/java/WorldMapRectangle.java @@ -11,7 +11,7 @@ public final class WorldMapRectangle { static int[] field198; @ObfuscatedName("de") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive5") static Archive archive5; @@ -47,12 +47,12 @@ public final class WorldMapRectangle { int y; // $FF: synthetic field @ObfuscatedSignature( - signature = "Laa;" + descriptor = "Laa;" ) final WorldMapManager this$0; @ObfuscatedSignature( - signature = "(Laa;)V" + descriptor = "(Laa;)V" ) WorldMapRectangle(WorldMapManager var1) { this.this$0 = var1; @@ -60,7 +60,7 @@ public final class WorldMapRectangle { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(III)I", + descriptor = "(III)I", garbageValue = "-429068240" ) public static int method347(int var0, int var1) { @@ -70,7 +70,7 @@ public final class WorldMapRectangle { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(ZI)V", + descriptor = "(ZI)V", garbageValue = "-349989095" ) @Export("Login_promptCredentials") @@ -97,7 +97,7 @@ public final class WorldMapRectangle { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(Lhd;IIII)V", + descriptor = "(Lhd;IIII)V", garbageValue = "-127200615" ) @Export("Widget_setKeyRate") @@ -112,7 +112,7 @@ public final class WorldMapRectangle { @ObfuscatedName("ji") @ObfuscatedSignature( - signature = "(IIIILlz;Lhh;I)V", + descriptor = "(IIIILlz;Lhh;I)V", garbageValue = "866321883" ) @Export("worldToMinimap") diff --git a/runescape-client/src/main/java/WorldMapRegion.java b/runescape-client/src/main/java/WorldMapRegion.java index 36809a32dd..6d58711719 100644 --- a/runescape-client/src/main/java/WorldMapRegion.java +++ b/runescape-client/src/main/java/WorldMapRegion.java @@ -15,7 +15,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class WorldMapRegion { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lfr;" + descriptor = "Lfr;" ) @Export("WorldMapRegion_cachedSprites") static DemotingHashTable WorldMapRegion_cachedSprites; @@ -33,7 +33,7 @@ public class WorldMapRegion { int regionY; @ObfuscatedName("u") @ObfuscatedSignature( - signature = "Li;" + descriptor = "Li;" ) @Export("worldMapData_0") WorldMapData_0 worldMapData_0; @@ -78,7 +78,7 @@ public class WorldMapRegion { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(IIII)V", + descriptor = "(IIII)V", garbageValue = "-323473463" ) void method490(int var1, int var2, int var3) { @@ -95,7 +95,7 @@ public class WorldMapRegion { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Li;Ljava/util/List;I)V", + descriptor = "(Li;Ljava/util/List;I)V", garbageValue = "-1392873276" ) @Export("initWorldMapData0") @@ -107,7 +107,7 @@ public class WorldMapRegion { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(Ljava/util/HashSet;Ljava/util/List;B)V", + descriptor = "(Ljava/util/HashSet;Ljava/util/List;B)V", garbageValue = "114" ) @Export("initWorldMapData1") @@ -127,7 +127,7 @@ public class WorldMapRegion { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(IIIILax;I)V", + descriptor = "(IIIILax;I)V", garbageValue = "513799457" ) @Export("getIconsForTiles") @@ -157,7 +157,7 @@ public class WorldMapRegion { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(Ljg;IIILax;I)V", + descriptor = "(Ljg;IIILax;I)V", garbageValue = "1752488167" ) @Export("getIcon") @@ -184,7 +184,7 @@ public class WorldMapRegion { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1939037740" ) @Export("initWorldMapIcon1s") @@ -202,7 +202,7 @@ public class WorldMapRegion { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(Ljava/util/List;I)V", + descriptor = "(Ljava/util/List;I)V", garbageValue = "-1366696532" ) @Export("addAllToIconList") @@ -221,7 +221,7 @@ public class WorldMapRegion { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1391400259" ) void method580() { @@ -240,7 +240,7 @@ public class WorldMapRegion { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(Lic;I)Z", + descriptor = "(Lic;I)Z", garbageValue = "-1165934913" ) @Export("loadGeography") @@ -279,7 +279,7 @@ public class WorldMapRegion { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(ILay;[Llh;Lic;Lic;I)V", + descriptor = "(ILay;[Llh;Lic;Lic;I)V", garbageValue = "-799383237" ) @Export("drawTile") @@ -323,7 +323,7 @@ public class WorldMapRegion { @ObfuscatedName("h") @ObfuscatedSignature( - signature = "(IIILjava/util/HashSet;I)V", + descriptor = "(IIILjava/util/HashSet;I)V", garbageValue = "830003997" ) void method514(int var1, int var2, int var3, HashSet var4) { @@ -337,7 +337,7 @@ public class WorldMapRegion { @ObfuscatedName("k") @ObfuscatedSignature( - signature = "(Ljava/util/HashSet;III)V", + descriptor = "(Ljava/util/HashSet;III)V", garbageValue = "-850649722" ) @Export("flashElements") @@ -360,7 +360,7 @@ public class WorldMapRegion { @ObfuscatedName("r") @ObfuscatedSignature( - signature = "(Lay;[Llh;Las;B)V", + descriptor = "(Lay;[Llh;Las;B)V", garbageValue = "-41" ) void method501(WorldMapScaleHandler var1, IndexedSprite[] var2, WorldMapSprite var3) { @@ -383,7 +383,7 @@ public class WorldMapRegion { @ObfuscatedName("d") @ObfuscatedSignature( - signature = "(Lay;[Llh;Las;B)V", + descriptor = "(Lay;[Llh;Las;B)V", garbageValue = "-26" ) void method502(WorldMapScaleHandler var1, IndexedSprite[] var2, WorldMapSprite var3) { @@ -419,7 +419,7 @@ public class WorldMapRegion { @ObfuscatedName("e") @ObfuscatedSignature( - signature = "(IILax;Lay;[Llh;I)V", + descriptor = "(IILax;Lay;[Llh;I)V", garbageValue = "-248826960" ) void method503(int var1, int var2, AbstractWorldMapData var3, WorldMapScaleHandler var4, IndexedSprite[] var5) { @@ -429,7 +429,7 @@ public class WorldMapRegion { @ObfuscatedName("l") @ObfuscatedSignature( - signature = "(IILax;Lay;Las;I)V", + descriptor = "(IILax;Lay;Las;I)V", garbageValue = "1979978658" ) @Export("drawTileGround") @@ -459,7 +459,7 @@ public class WorldMapRegion { @ObfuscatedName("t") @ObfuscatedSignature( - signature = "(IILax;Lay;I)V", + descriptor = "(IILax;Lay;I)V", garbageValue = "-946989025" ) void method511(int var1, int var2, AbstractWorldMapData var3, WorldMapScaleHandler var4) { @@ -479,7 +479,7 @@ public class WorldMapRegion { @ObfuscatedName("x") @ObfuscatedSignature( - signature = "(IILax;Las;B)I", + descriptor = "(IILax;Las;B)I", garbageValue = "76" ) int method506(int var1, int var2, AbstractWorldMapData var3, WorldMapSprite var4) { @@ -488,7 +488,7 @@ public class WorldMapRegion { @ObfuscatedName("ah") @ObfuscatedSignature( - signature = "(IILax;[Llh;I)V", + descriptor = "(IILax;[Llh;I)V", garbageValue = "-388606552" ) void method507(int var1, int var2, AbstractWorldMapData var3, IndexedSprite[] var4) { @@ -523,7 +523,7 @@ public class WorldMapRegion { @ObfuscatedName("ai") @ObfuscatedSignature( - signature = "(IILax;B)V", + descriptor = "(IILax;B)V", garbageValue = "101" ) void method527(int var1, int var2, AbstractWorldMapData var3) { @@ -588,7 +588,7 @@ public class WorldMapRegion { @ObfuscatedName("ao") @ObfuscatedSignature( - signature = "(IILjava/util/HashSet;II)V", + descriptor = "(IILjava/util/HashSet;II)V", garbageValue = "-1066971556" ) @Export("drawNonLinkMapIcons") @@ -617,7 +617,7 @@ public class WorldMapRegion { @ObfuscatedName("ae") @ObfuscatedSignature( - signature = "(Ljava/util/HashSet;III)V", + descriptor = "(Ljava/util/HashSet;III)V", garbageValue = "-545046717" ) void method497(HashSet var1, int var2, int var3) { @@ -637,7 +637,7 @@ public class WorldMapRegion { @ObfuscatedName("ax") @ObfuscatedSignature( - signature = "(Lih;IIIII)V", + descriptor = "(Lih;IIIII)V", garbageValue = "1074456567" ) @Export("drawBackgroundCircle") @@ -655,7 +655,7 @@ public class WorldMapRegion { @ObfuscatedName("ag") @ObfuscatedSignature( - signature = "(Laf;IIFI)V", + descriptor = "(Laf;IIFI)V", garbageValue = "-591534558" ) void method512(AbstractWorldMapIcon var1, int var2, int var3, float var4) { @@ -666,7 +666,7 @@ public class WorldMapRegion { @ObfuscatedName("ab") @ObfuscatedSignature( - signature = "(Lih;IIB)V", + descriptor = "(Lih;IIB)V", garbageValue = "34" ) void method494(WorldMapElement var1, int var2, int var3) { @@ -681,7 +681,7 @@ public class WorldMapRegion { @ObfuscatedName("am") @ObfuscatedSignature( - signature = "(Laf;Lih;IIFB)V", + descriptor = "(Laf;Lih;IIFB)V", garbageValue = "81" ) void method604(AbstractWorldMapIcon var1, WorldMapElement var2, int var3, int var4, float var5) { @@ -696,7 +696,7 @@ public class WorldMapRegion { @ObfuscatedName("ak") @ObfuscatedSignature( - signature = "(IILjava/util/HashSet;II)V", + descriptor = "(IILjava/util/HashSet;II)V", garbageValue = "-109418068" ) @Export("drawMapLinks") @@ -721,7 +721,7 @@ public class WorldMapRegion { @ObfuscatedName("ad") @ObfuscatedSignature( - signature = "(Llz;Ljc;I)I", + descriptor = "(Llz;Ljc;I)I", garbageValue = "-1624159662" ) int method516(Sprite var1, HorizontalAlignment var2) { @@ -737,7 +737,7 @@ public class WorldMapRegion { @ObfuscatedName("as") @ObfuscatedSignature( - signature = "(Llz;Lif;I)I", + descriptor = "(Llz;Lif;I)I", garbageValue = "1330408949" ) int method517(Sprite var1, VerticalAlignment var2) { @@ -753,7 +753,7 @@ public class WorldMapRegion { @ObfuscatedName("ap") @ObfuscatedSignature( - signature = "(IB)Lar;", + descriptor = "(IB)Lar;", garbageValue = "15" ) WorldMapLabel method518(int var1) { @@ -763,7 +763,7 @@ public class WorldMapRegion { @ObfuscatedName("al") @ObfuscatedSignature( - signature = "(Lih;I)Lar;", + descriptor = "(Lih;I)Lar;", garbageValue = "-1165001445" ) @Export("createMapLabel") @@ -822,7 +822,7 @@ public class WorldMapRegion { @ObfuscatedName("an") @ObfuscatedSignature( - signature = "(IIIIII)Ljava/util/List;", + descriptor = "(IIIIII)Ljava/util/List;", garbageValue = "1872285307" ) List method544(int var1, int var2, int var3, int var4, int var5) { @@ -859,7 +859,7 @@ public class WorldMapRegion { @ObfuscatedName("ac") @ObfuscatedSignature( - signature = "(I)Ljava/util/List;", + descriptor = "(I)Ljava/util/List;", garbageValue = "-2023703181" ) @Export("icons") @@ -872,7 +872,7 @@ public class WorldMapRegion { @ObfuscatedName("av") @ObfuscatedSignature( - signature = "(IIIII)V", + descriptor = "(IIIII)V", garbageValue = "-637196231" ) void method522(int var1, int var2, int var3, int var4) { @@ -897,7 +897,7 @@ public class WorldMapRegion { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(IB)Ljava/lang/String;", + descriptor = "(IB)Ljava/lang/String;", garbageValue = "0" ) static String method611(int var0) { @@ -906,7 +906,7 @@ public class WorldMapRegion { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lic;Lic;ZIB)V", + descriptor = "(Lic;Lic;ZIB)V", garbageValue = "73" ) static void method541(AbstractArchive var0, AbstractArchive var1, boolean var2, int var3) { @@ -974,7 +974,7 @@ public class WorldMapRegion { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "([BIILem;[Lfz;I)V", + descriptor = "([BIILem;[Lfz;I)V", garbageValue = "2110608618" ) static final void method520(byte[] var0, int var1, int var2, Scene var3, CollisionMap[] var4) { @@ -1024,7 +1024,7 @@ public class WorldMapRegion { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;I)Ljava/lang/String;", + descriptor = "(Ljava/lang/CharSequence;I)Ljava/lang/String;", garbageValue = "1188982051" ) public static String method613(CharSequence var0) { @@ -1041,7 +1041,7 @@ public class WorldMapRegion { @ObfuscatedName("r") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1729353044" ) static void method591() { diff --git a/runescape-client/src/main/java/WorldMapScaleHandler.java b/runescape-client/src/main/java/WorldMapScaleHandler.java index 22fbbdcbad..dbbdb22e67 100644 --- a/runescape-client/src/main/java/WorldMapScaleHandler.java +++ b/runescape-client/src/main/java/WorldMapScaleHandler.java @@ -26,7 +26,7 @@ public class WorldMapScaleHandler { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(IIIIIIIII)V", + descriptor = "(IIIIIIIII)V", garbageValue = "1923645128" ) void method798(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { @@ -39,7 +39,7 @@ public class WorldMapScaleHandler { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(III)I", + descriptor = "(III)I", garbageValue = "-1887787405" ) int method794(int var1, int var2) { @@ -60,7 +60,7 @@ public class WorldMapScaleHandler { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(II)I", + descriptor = "(II)I", garbageValue = "-1636996123" ) int method795(int var1) { @@ -73,7 +73,7 @@ public class WorldMapScaleHandler { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1385757357" ) @Export("init") @@ -93,7 +93,7 @@ public class WorldMapScaleHandler { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1289637080" ) @Export("init0") @@ -160,7 +160,7 @@ public class WorldMapScaleHandler { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-112" ) @Export("init1") @@ -231,7 +231,7 @@ public class WorldMapScaleHandler { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1821713225" ) @Export("init2") @@ -298,7 +298,7 @@ public class WorldMapScaleHandler { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-294529084" ) @Export("init3") @@ -365,7 +365,7 @@ public class WorldMapScaleHandler { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1871993011" ) @Export("init4") @@ -432,7 +432,7 @@ public class WorldMapScaleHandler { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "13" ) @Export("init5") @@ -501,7 +501,7 @@ public class WorldMapScaleHandler { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-437355569" ) @Export("init6") @@ -570,7 +570,7 @@ public class WorldMapScaleHandler { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "959686276" ) @Export("init7") @@ -639,7 +639,7 @@ public class WorldMapScaleHandler { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(IS)Z", + descriptor = "(IS)Z", garbageValue = "180" ) public static boolean method819(int var0) { @@ -648,7 +648,7 @@ public class WorldMapScaleHandler { @ObfuscatedName("gq") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1963467605" ) static void method812() { diff --git a/runescape-client/src/main/java/WorldMapSection.java b/runescape-client/src/main/java/WorldMapSection.java index 567a46271a..0c794f72dc 100644 --- a/runescape-client/src/main/java/WorldMapSection.java +++ b/runescape-client/src/main/java/WorldMapSection.java @@ -8,7 +8,7 @@ import net.runelite.mapping.ObfuscatedSignature; public interface WorldMapSection { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lad;I)V", + descriptor = "(Lad;I)V", garbageValue = "411670415" ) @Export("expandBounds") @@ -16,7 +16,7 @@ public interface WorldMapSection { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IIIB)Z", + descriptor = "(IIIB)Z", garbageValue = "2" ) @Export("containsCoord") @@ -24,7 +24,7 @@ public interface WorldMapSection { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(IIB)Z", + descriptor = "(IIB)Z", garbageValue = "48" ) @Export("containsPosition") @@ -32,7 +32,7 @@ public interface WorldMapSection { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(IIII)[I", + descriptor = "(IIII)[I", garbageValue = "459340529" ) @Export("getBorderTileLengths") @@ -40,7 +40,7 @@ public interface WorldMapSection { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(III)Lhg;", + descriptor = "(III)Lhg;", garbageValue = "1240901536" ) @Export("coord") @@ -48,7 +48,7 @@ public interface WorldMapSection { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(Lkn;B)V", + descriptor = "(Lkn;B)V", garbageValue = "0" ) @Export("read") diff --git a/runescape-client/src/main/java/WorldMapSection0.java b/runescape-client/src/main/java/WorldMapSection0.java index ecdbfae0f5..9b6d48fa5b 100644 --- a/runescape-client/src/main/java/WorldMapSection0.java +++ b/runescape-client/src/main/java/WorldMapSection0.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class WorldMapSection0 implements WorldMapSection { @ObfuscatedName("fa") @ObfuscatedSignature( - signature = "Lkv;" + descriptor = "Lkv;" ) @Export("WorldMapElement_fonts") static Fonts WorldMapElement_fonts; @@ -103,7 +103,7 @@ public class WorldMapSection0 implements WorldMapSection { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lad;I)V", + descriptor = "(Lad;I)V", garbageValue = "411670415" ) @Export("expandBounds") @@ -128,7 +128,7 @@ public class WorldMapSection0 implements WorldMapSection { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IIIB)Z", + descriptor = "(IIIB)Z", garbageValue = "2" ) @Export("containsCoord") @@ -142,7 +142,7 @@ public class WorldMapSection0 implements WorldMapSection { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(IIB)Z", + descriptor = "(IIB)Z", garbageValue = "48" ) @Export("containsPosition") @@ -152,7 +152,7 @@ public class WorldMapSection0 implements WorldMapSection { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(IIII)[I", + descriptor = "(IIII)[I", garbageValue = "459340529" ) @Export("getBorderTileLengths") @@ -167,7 +167,7 @@ public class WorldMapSection0 implements WorldMapSection { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(III)Lhg;", + descriptor = "(III)Lhg;", garbageValue = "1240901536" ) @Export("coord") @@ -183,7 +183,7 @@ public class WorldMapSection0 implements WorldMapSection { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(Lkn;B)V", + descriptor = "(Lkn;B)V", garbageValue = "0" ) @Export("read") @@ -207,7 +207,7 @@ public class WorldMapSection0 implements WorldMapSection { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1040528661" ) @Export("postRead") @@ -216,7 +216,7 @@ public class WorldMapSection0 implements WorldMapSection { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(II)Lcs;", + descriptor = "(II)Lcs;", garbageValue = "1805062826" ) @Export("getScript") @@ -238,7 +238,7 @@ public class WorldMapSection0 implements WorldMapSection { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1742384999" ) public static final void method299() { @@ -248,7 +248,7 @@ public class WorldMapSection0 implements WorldMapSection { @ObfuscatedName("an") @ObfuscatedSignature( - signature = "(IB)I", + descriptor = "(IB)I", garbageValue = "50" ) static int method295(int var0) { @@ -257,7 +257,7 @@ public class WorldMapSection0 implements WorldMapSection { @ObfuscatedName("hd") @ObfuscatedSignature( - signature = "(IIIILjava/lang/String;Ljava/lang/String;IIB)V", + descriptor = "(IIIILjava/lang/String;Ljava/lang/String;IIB)V", garbageValue = "89" ) @Export("menuAction") @@ -1036,7 +1036,7 @@ public class WorldMapSection0 implements WorldMapSection { @ObfuscatedName("ju") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-2103133941" ) @Export("changeGameOptions") diff --git a/runescape-client/src/main/java/WorldMapSection1.java b/runescape-client/src/main/java/WorldMapSection1.java index aa1dc581ee..d841fc93df 100644 --- a/runescape-client/src/main/java/WorldMapSection1.java +++ b/runescape-client/src/main/java/WorldMapSection1.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class WorldMapSection1 implements WorldMapSection { @ObfuscatedName("lg") @ObfuscatedSignature( - signature = "Lhd;" + descriptor = "Lhd;" ) @Export("mousedOverWidgetIf1") static Widget mousedOverWidgetIf1; @@ -55,7 +55,7 @@ public class WorldMapSection1 implements WorldMapSection { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lad;I)V", + descriptor = "(Lad;I)V", garbageValue = "411670415" ) @Export("expandBounds") @@ -80,7 +80,7 @@ public class WorldMapSection1 implements WorldMapSection { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IIIB)Z", + descriptor = "(IIIB)Z", garbageValue = "2" ) @Export("containsCoord") @@ -94,7 +94,7 @@ public class WorldMapSection1 implements WorldMapSection { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(IIB)Z", + descriptor = "(IIB)Z", garbageValue = "48" ) @Export("containsPosition") @@ -104,7 +104,7 @@ public class WorldMapSection1 implements WorldMapSection { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(IIII)[I", + descriptor = "(IIII)[I", garbageValue = "459340529" ) @Export("getBorderTileLengths") @@ -119,7 +119,7 @@ public class WorldMapSection1 implements WorldMapSection { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(III)Lhg;", + descriptor = "(III)Lhg;", garbageValue = "1240901536" ) @Export("coord") @@ -135,7 +135,7 @@ public class WorldMapSection1 implements WorldMapSection { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(Lkn;B)V", + descriptor = "(Lkn;B)V", garbageValue = "0" ) @Export("read") @@ -151,7 +151,7 @@ public class WorldMapSection1 implements WorldMapSection { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-123" ) @Export("postRead") @@ -160,7 +160,7 @@ public class WorldMapSection1 implements WorldMapSection { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lic;Ljava/lang/String;Ljava/lang/String;IZI)V", + descriptor = "(Lic;Ljava/lang/String;Ljava/lang/String;IZI)V", garbageValue = "-1968156146" ) public static void method656(AbstractArchive var0, String var1, String var2, int var3, boolean var4) { @@ -171,7 +171,7 @@ public class WorldMapSection1 implements WorldMapSection { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(IZIZI)V", + descriptor = "(IZIZI)V", garbageValue = "1727413002" ) @Export("sortWorldList") @@ -184,7 +184,7 @@ public class WorldMapSection1 implements WorldMapSection { @ObfuscatedName("k") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", + descriptor = "(Ljava/lang/String;I)V", garbageValue = "-1443767280" ) static final void method655(String var0) { @@ -196,7 +196,7 @@ public class WorldMapSection1 implements WorldMapSection { @ObfuscatedName("jt") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "23" ) static void method648(int var0) { diff --git a/runescape-client/src/main/java/WorldMapSection2.java b/runescape-client/src/main/java/WorldMapSection2.java index 37a8d7fa78..6ce01455b4 100644 --- a/runescape-client/src/main/java/WorldMapSection2.java +++ b/runescape-client/src/main/java/WorldMapSection2.java @@ -69,7 +69,7 @@ public class WorldMapSection2 implements WorldMapSection { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lad;I)V", + descriptor = "(Lad;I)V", garbageValue = "411670415" ) @Export("expandBounds") @@ -94,7 +94,7 @@ public class WorldMapSection2 implements WorldMapSection { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IIIB)Z", + descriptor = "(IIIB)Z", garbageValue = "2" ) @Export("containsCoord") @@ -108,7 +108,7 @@ public class WorldMapSection2 implements WorldMapSection { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(IIB)Z", + descriptor = "(IIB)Z", garbageValue = "48" ) @Export("containsPosition") @@ -118,7 +118,7 @@ public class WorldMapSection2 implements WorldMapSection { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(IIII)[I", + descriptor = "(IIII)[I", garbageValue = "459340529" ) @Export("getBorderTileLengths") @@ -133,7 +133,7 @@ public class WorldMapSection2 implements WorldMapSection { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(III)Lhg;", + descriptor = "(III)Lhg;", garbageValue = "1240901536" ) @Export("coord") @@ -149,7 +149,7 @@ public class WorldMapSection2 implements WorldMapSection { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(Lkn;B)V", + descriptor = "(Lkn;B)V", garbageValue = "0" ) @Export("read") @@ -169,7 +169,7 @@ public class WorldMapSection2 implements WorldMapSection { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(S)V", + descriptor = "(S)V", garbageValue = "4206" ) @Export("postRead") @@ -178,7 +178,7 @@ public class WorldMapSection2 implements WorldMapSection { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-2012901203" ) public static int method372() { @@ -187,7 +187,7 @@ public class WorldMapSection2 implements WorldMapSection { @ObfuscatedName("d") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "926990190" ) static void method398() { diff --git a/runescape-client/src/main/java/WorldMapSection3.java b/runescape-client/src/main/java/WorldMapSection3.java index 1c6fe5c0e1..0f91c12291 100644 --- a/runescape-client/src/main/java/WorldMapSection3.java +++ b/runescape-client/src/main/java/WorldMapSection3.java @@ -10,7 +10,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class WorldMapSection3 implements WorldMapSection { @ObfuscatedName("s") @ObfuscatedSignature( - signature = "Lau;" + descriptor = "Lau;" ) @Export("worldMapEvent") static WorldMapEvent worldMapEvent; @@ -76,7 +76,7 @@ public class WorldMapSection3 implements WorldMapSection { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lad;I)V", + descriptor = "(Lad;I)V", garbageValue = "411670415" ) @Export("expandBounds") @@ -101,7 +101,7 @@ public class WorldMapSection3 implements WorldMapSection { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IIIB)Z", + descriptor = "(IIIB)Z", garbageValue = "2" ) @Export("containsCoord") @@ -115,7 +115,7 @@ public class WorldMapSection3 implements WorldMapSection { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(IIB)Z", + descriptor = "(IIB)Z", garbageValue = "48" ) @Export("containsPosition") @@ -125,7 +125,7 @@ public class WorldMapSection3 implements WorldMapSection { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(IIII)[I", + descriptor = "(IIII)[I", garbageValue = "459340529" ) @Export("getBorderTileLengths") @@ -140,7 +140,7 @@ public class WorldMapSection3 implements WorldMapSection { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(III)Lhg;", + descriptor = "(III)Lhg;", garbageValue = "1240901536" ) @Export("coord") @@ -156,7 +156,7 @@ public class WorldMapSection3 implements WorldMapSection { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(Lkn;B)V", + descriptor = "(Lkn;B)V", garbageValue = "0" ) @Export("read") @@ -176,7 +176,7 @@ public class WorldMapSection3 implements WorldMapSection { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1212353754" ) void method842() { @@ -184,7 +184,7 @@ public class WorldMapSection3 implements WorldMapSection { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(B)Z", + descriptor = "(B)Z", garbageValue = "26" ) @Export("loadWorlds") @@ -224,7 +224,7 @@ public class WorldMapSection3 implements WorldMapSection { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(II)I", + descriptor = "(II)I", garbageValue = "-672116026" ) @Export("iLog") @@ -260,7 +260,7 @@ public class WorldMapSection3 implements WorldMapSection { @ObfuscatedName("ec") @ObfuscatedSignature( - signature = "(IZZZB)Lig;", + descriptor = "(IZZZB)Lig;", garbageValue = "34" ) @Export("newArchive") @@ -275,7 +275,7 @@ public class WorldMapSection3 implements WorldMapSection { @ObfuscatedName("hy") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-32" ) static final void method841() { @@ -316,7 +316,7 @@ public class WorldMapSection3 implements WorldMapSection { @ObfuscatedName("jn") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "32" ) @Export("Widget_resetModelFrames") diff --git a/runescape-client/src/main/java/WorldMapSectionType.java b/runescape-client/src/main/java/WorldMapSectionType.java index 6b8d08f66c..f3312983d5 100644 --- a/runescape-client/src/main/java/WorldMapSectionType.java +++ b/runescape-client/src/main/java/WorldMapSectionType.java @@ -9,25 +9,25 @@ import net.runelite.mapping.ObfuscatedSignature; public enum WorldMapSectionType implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lae;" + descriptor = "Lae;" ) @Export("WORLDMAPSECTIONTYPE0") WORLDMAPSECTIONTYPE0(3, (byte)0), @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lae;" + descriptor = "Lae;" ) @Export("WORLDMAPSECTIONTYPE1") WORLDMAPSECTIONTYPE1(0, (byte)1), @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lae;" + descriptor = "Lae;" ) @Export("WORLDMAPSECTIONTYPE2") WORLDMAPSECTIONTYPE2(2, (byte)2), @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lae;" + descriptor = "Lae;" ) @Export("WORLDMAPSECTIONTYPE3") WORLDMAPSECTIONTYPE3(1, (byte)3); @@ -35,7 +35,7 @@ public enum WorldMapSectionType implements Enumerated { @ObfuscatedName("au") @Export("client") @ObfuscatedSignature( - signature = "Lclient;" + descriptor = "Lclient;" ) static Client client; @ObfuscatedName("ew") @@ -66,7 +66,7 @@ public enum WorldMapSectionType implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-995092303" ) @Export("rsOrdinal") @@ -76,7 +76,7 @@ public enum WorldMapSectionType implements Enumerated { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Ljava/lang/String;ZZI)V", + descriptor = "(Ljava/lang/String;ZZI)V", garbageValue = "267980652" ) @Export("openURL") @@ -86,7 +86,7 @@ public enum WorldMapSectionType implements Enumerated { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(ILic;Ljava/lang/String;Ljava/lang/String;IZI)V", + descriptor = "(ILic;Ljava/lang/String;Ljava/lang/String;IZI)V", garbageValue = "-2120164920" ) public static void method306(int var0, AbstractArchive var1, String var2, String var3, int var4, boolean var5) { @@ -97,7 +97,7 @@ public enum WorldMapSectionType implements Enumerated { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-230874976" ) public static void method312() { diff --git a/runescape-client/src/main/java/WorldMapSprite.java b/runescape-client/src/main/java/WorldMapSprite.java index 9e4e09698c..cb5124c7f6 100644 --- a/runescape-client/src/main/java/WorldMapSprite.java +++ b/runescape-client/src/main/java/WorldMapSprite.java @@ -9,7 +9,7 @@ import net.runelite.mapping.ObfuscatedSignature; public final class WorldMapSprite { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lgw;" + descriptor = "Lgw;" ) @Export("midiPcmStream") public static MidiPcmStream midiPcmStream; @@ -48,7 +48,7 @@ public final class WorldMapSprite { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(III)I", + descriptor = "(III)I", garbageValue = "2081761027" ) @Export("getTileColor") @@ -58,7 +58,7 @@ public final class WorldMapSprite { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IB)Lhd;", + descriptor = "(IB)Lhd;", garbageValue = "115" ) @Export("getWidget") @@ -77,7 +77,7 @@ public final class WorldMapSprite { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(IIIII)V", + descriptor = "(IIIII)V", garbageValue = "2146534283" ) @Export("itemContainerSetItem") @@ -113,7 +113,7 @@ public final class WorldMapSprite { @ObfuscatedName("ep") @ObfuscatedSignature( - signature = "(Lig;Ljava/lang/String;I)V", + descriptor = "(Lig;Ljava/lang/String;I)V", garbageValue = "2099603799" ) static void method481(Archive var0, String var1) { @@ -124,7 +124,7 @@ public final class WorldMapSprite { @ObfuscatedName("jk") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1835863543" ) @Export("FriendSystem_invalidateIgnoreds") diff --git a/runescape-client/src/main/java/class0.java b/runescape-client/src/main/java/class0.java index ce37fa0c33..3dadadc0d9 100644 --- a/runescape-client/src/main/java/class0.java +++ b/runescape-client/src/main/java/class0.java @@ -5,14 +5,14 @@ import net.runelite.mapping.ObfuscatedSignature; public interface class0 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ljava/lang/Object;Lkn;B)V", + descriptor = "(Ljava/lang/Object;Lkn;B)V", garbageValue = "0" ) void vmethod59(Object var1, Buffer var2); @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;B)Ljava/lang/Object;", + descriptor = "(Lkn;B)Ljava/lang/Object;", garbageValue = "114" ) Object vmethod47(Buffer var1); diff --git a/runescape-client/src/main/java/class1.java b/runescape-client/src/main/java/class1.java index 6146089834..1f7607d7e3 100644 --- a/runescape-client/src/main/java/class1.java +++ b/runescape-client/src/main/java/class1.java @@ -10,7 +10,7 @@ final class class1 implements class0 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ljava/lang/Object;Lkn;B)V", + descriptor = "(Ljava/lang/Object;Lkn;B)V", garbageValue = "0" ) public void vmethod59(Object var1, Buffer var2) { @@ -19,7 +19,7 @@ final class class1 implements class0 { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;B)Ljava/lang/Object;", + descriptor = "(Lkn;B)Ljava/lang/Object;", garbageValue = "114" ) public Object vmethod47(Buffer var1) { @@ -28,7 +28,7 @@ final class class1 implements class0 { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(Ljava/lang/Integer;Lkn;I)V", + descriptor = "(Ljava/lang/Integer;Lkn;I)V", garbageValue = "554078910" ) void method8(Integer var1, Buffer var2) { @@ -37,7 +37,7 @@ final class class1 implements class0 { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Ljava/lang/Throwable;Ljava/lang/String;)Lmr;" + descriptor = "(Ljava/lang/Throwable;Ljava/lang/String;)Lmr;" ) @Export("newRunException") public static RunException newRunException(Throwable var0, String var1) { @@ -54,7 +54,7 @@ final class class1 implements class0 { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(IIIII)V", + descriptor = "(IIIII)V", garbageValue = "-345681310" ) static void method16(int var0, int var1, int var2, int var3) { @@ -132,7 +132,7 @@ final class class1 implements class0 { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(CLgz;I)I", + descriptor = "(CLgz;I)I", garbageValue = "393583355" ) @Export("lowercaseChar") @@ -152,7 +152,7 @@ final class class1 implements class0 { @ObfuscatedName("y") @ObfuscatedSignature( - signature = "(B)I", + descriptor = "(B)I", garbageValue = "25" ) static final int method17() { @@ -161,7 +161,7 @@ final class class1 implements class0 { @ObfuscatedName("fo") @ObfuscatedSignature( - signature = "(Lhd;III)V", + descriptor = "(Lhd;III)V", garbageValue = "45098661" ) @Export("checkIfMinimapClicked") @@ -211,7 +211,7 @@ final class class1 implements class0 { @ObfuscatedName("hm") @ObfuscatedSignature( - signature = "(IIIIIIII)V", + descriptor = "(IIIIIIII)V", garbageValue = "1438850851" ) @Export("addPendingSpawnToScene") @@ -507,7 +507,7 @@ final class class1 implements class0 { @ObfuscatedName("hn") @ObfuscatedSignature( - signature = "(IIIII)V", + descriptor = "(IIIII)V", garbageValue = "-569208973" ) static final void method7(int var0, int var1, int var2, int var3) { diff --git a/runescape-client/src/main/java/class10.java b/runescape-client/src/main/java/class10.java index a545b65925..3e9bc8a24d 100644 --- a/runescape-client/src/main/java/class10.java +++ b/runescape-client/src/main/java/class10.java @@ -11,7 +11,7 @@ public class class10 { final String field46; @ObfuscatedSignature( - signature = "(Lkn;)V" + descriptor = "(Lkn;)V" ) class10(Buffer var1) { this(var1.readUnsignedByte(), var1.readUnsignedByte(), var1.readStringCp1252NullTerminated()); diff --git a/runescape-client/src/main/java/class105.java b/runescape-client/src/main/java/class105.java index 9aebd6bb74..e922c69f89 100644 --- a/runescape-client/src/main/java/class105.java +++ b/runescape-client/src/main/java/class105.java @@ -6,13 +6,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class class105 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Ljx;" + descriptor = "Ljx;" ) @Export("reflectionChecks") static IterableNodeDeque reflectionChecks; @ObfuscatedName("dn") @ObfuscatedSignature( - signature = "Lig;" + descriptor = "Lig;" ) @Export("archive3") static Archive archive3; @@ -23,7 +23,7 @@ public class class105 { @ObfuscatedName("h") @ObfuscatedSignature( - signature = "(III)I", + descriptor = "(III)I", garbageValue = "1577025565" ) static final int method2414(int var0, int var1) { diff --git a/runescape-client/src/main/java/class12.java b/runescape-client/src/main/java/class12.java index 3ee970c576..c41813a2f2 100644 --- a/runescape-client/src/main/java/class12.java +++ b/runescape-client/src/main/java/class12.java @@ -5,7 +5,7 @@ import net.runelite.mapping.ObfuscatedSignature; public interface class12 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkn;)Lkn;" + descriptor = "(Lkn;)Lkn;" ) Buffer vmethod133(Buffer var1); } diff --git a/runescape-client/src/main/java/class13.java b/runescape-client/src/main/java/class13.java index 9a40159619..2438315de1 100644 --- a/runescape-client/src/main/java/class13.java +++ b/runescape-client/src/main/java/class13.java @@ -6,19 +6,19 @@ import net.runelite.mapping.ObfuscatedSignature; public final class class13 { @ObfuscatedName("sz") @ObfuscatedSignature( - signature = "Lmc;" + descriptor = "Lmc;" ) @Export("platformInfo") static PlatformInfo platformInfo; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "[Lch;" + descriptor = "[Lch;" ) @Export("World_worlds") static World[] World_worlds; @ObfuscatedName("bo") @ObfuscatedSignature( - signature = "Llh;" + descriptor = "Llh;" ) @Export("worldSelectLeftSprite") static IndexedSprite worldSelectLeftSprite; diff --git a/runescape-client/src/main/java/class169.java b/runescape-client/src/main/java/class169.java index 4eca7656c3..a218fbcb38 100644 --- a/runescape-client/src/main/java/class169.java +++ b/runescape-client/src/main/java/class169.java @@ -7,22 +7,22 @@ import net.runelite.mapping.ObfuscatedSignature; public enum class169 implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lfg;" + descriptor = "Lfg;" ) field2028(0, 0), @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lfg;" + descriptor = "Lfg;" ) field2023(1, 1), @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lfg;" + descriptor = "Lfg;" ) field2024(2, 2), @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lfg;" + descriptor = "Lfg;" ) field2025(3, 3); @@ -31,7 +31,7 @@ public enum class169 implements Enumerated { static String worldHost; @ObfuscatedName("lz") @ObfuscatedSignature( - signature = "Lcu;" + descriptor = "Lcu;" ) @Export("tempMenuAction") static MenuAction tempMenuAction; @@ -54,7 +54,7 @@ public enum class169 implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-995092303" ) @Export("rsOrdinal") diff --git a/runescape-client/src/main/java/class171.java b/runescape-client/src/main/java/class171.java index 72aed82be1..917868a839 100644 --- a/runescape-client/src/main/java/class171.java +++ b/runescape-client/src/main/java/class171.java @@ -14,7 +14,7 @@ public class class171 implements class170 { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(II)I", + descriptor = "(II)I", garbageValue = "-316130396" ) @Export("Messages_getNextChatID") diff --git a/runescape-client/src/main/java/class194.java b/runescape-client/src/main/java/class194.java index 9bb2daf6ac..9406341682 100644 --- a/runescape-client/src/main/java/class194.java +++ b/runescape-client/src/main/java/class194.java @@ -5,57 +5,57 @@ import net.runelite.mapping.ObfuscatedSignature; public class class194 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lgl;" + descriptor = "Lgl;" ) public static final class194 field2357; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lgl;" + descriptor = "Lgl;" ) public static final class194 field2354; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lgl;" + descriptor = "Lgl;" ) public static final class194 field2355; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lgl;" + descriptor = "Lgl;" ) public static final class194 field2358; @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Lgl;" + descriptor = "Lgl;" ) public static final class194 field2353; @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Lgl;" + descriptor = "Lgl;" ) public static final class194 field2360; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Lgl;" + descriptor = "Lgl;" ) public static final class194 field2359; @ObfuscatedName("u") @ObfuscatedSignature( - signature = "Lgl;" + descriptor = "Lgl;" ) public static final class194 field2363; @ObfuscatedName("a") @ObfuscatedSignature( - signature = "Lgl;" + descriptor = "Lgl;" ) public static final class194 field2361; @ObfuscatedName("z") @ObfuscatedSignature( - signature = "Lgl;" + descriptor = "Lgl;" ) public static final class194 field2362; @ObfuscatedName("jp") @ObfuscatedSignature( - signature = "Lhd;" + descriptor = "Lhd;" ) static Widget field2356; @@ -73,7 +73,7 @@ public class class194 { } @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "6" ) class194(int var1) { diff --git a/runescape-client/src/main/java/class195.java b/runescape-client/src/main/java/class195.java index f34175eeb7..b58230d545 100644 --- a/runescape-client/src/main/java/class195.java +++ b/runescape-client/src/main/java/class195.java @@ -6,14 +6,14 @@ import net.runelite.mapping.ObfuscatedSignature; public class class195 { @ObfuscatedName("ba") @ObfuscatedSignature( - signature = "Lmo;" + descriptor = "Lmo;" ) @Export("loginType") static LoginType loginType; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "([BI)[B", + descriptor = "([BI)[B", garbageValue = "-92628097" ) static byte[] method3748(byte[] var0) { @@ -25,7 +25,7 @@ public class class195 { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(IIILjg;IB)V", + descriptor = "(IIILjg;IB)V", garbageValue = "-24" ) static void method3747(int var0, int var1, int var2, ObjectDefinition var3, int var4) { @@ -61,7 +61,7 @@ public class class195 { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1529350789" ) public static void method3749() { diff --git a/runescape-client/src/main/java/class197.java b/runescape-client/src/main/java/class197.java index d8a09e15f3..f9497dfa16 100644 --- a/runescape-client/src/main/java/class197.java +++ b/runescape-client/src/main/java/class197.java @@ -8,7 +8,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class class197 { @ObfuscatedName("qy") @ObfuscatedSignature( - signature = "Ldv;" + descriptor = "Ldv;" ) @Export("decimator") static Decimator decimator; @@ -30,7 +30,7 @@ public class class197 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/Throwable;I)V", + descriptor = "(Ljava/lang/String;Ljava/lang/Throwable;I)V", garbageValue = "-1357689499" ) @Export("RunException_sendStackTrace") @@ -73,7 +73,7 @@ public class class197 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lic;I)V", + descriptor = "(Lic;I)V", garbageValue = "-1399485116" ) public static void method3771(AbstractArchive var0) { diff --git a/runescape-client/src/main/java/class198.java b/runescape-client/src/main/java/class198.java index 2faff3ce0e..5c1ed54629 100644 --- a/runescape-client/src/main/java/class198.java +++ b/runescape-client/src/main/java/class198.java @@ -6,14 +6,14 @@ import net.runelite.mapping.ObfuscatedSignature; public class class198 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("ParamDefinition_archive") static AbstractArchive ParamDefinition_archive; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(IB)Z", + descriptor = "(IB)Z", garbageValue = "-100" ) public static boolean method3774(int var0) { diff --git a/runescape-client/src/main/java/class2.java b/runescape-client/src/main/java/class2.java index d4882636a6..d13de18262 100644 --- a/runescape-client/src/main/java/class2.java +++ b/runescape-client/src/main/java/class2.java @@ -6,14 +6,14 @@ import net.runelite.mapping.ObfuscatedSignature; final class class2 implements class0 { @ObfuscatedName("qo") @ObfuscatedSignature( - signature = "Ldt;" + descriptor = "Ldt;" ) @Export("pcmPlayer0") static PcmPlayer pcmPlayer0; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ljava/lang/Object;Lkn;B)V", + descriptor = "(Ljava/lang/Object;Lkn;B)V", garbageValue = "0" ) public void vmethod59(Object var1, Buffer var2) { @@ -22,7 +22,7 @@ final class class2 implements class0 { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;B)Ljava/lang/Object;", + descriptor = "(Lkn;B)Ljava/lang/Object;", garbageValue = "114" ) public Object vmethod47(Buffer var1) { @@ -31,7 +31,7 @@ final class class2 implements class0 { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(Ljava/lang/Long;Lkn;I)V", + descriptor = "(Ljava/lang/Long;Lkn;I)V", garbageValue = "2145124737" ) void method23(Long var1, Buffer var2) { @@ -40,7 +40,7 @@ final class class2 implements class0 { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(IS)I", + descriptor = "(IS)I", garbageValue = "-12961" ) public static int method32(int var0) { @@ -49,7 +49,7 @@ final class class2 implements class0 { @ObfuscatedName("hi") @ObfuscatedSignature( - signature = "(ZLkb;I)V", + descriptor = "(ZLkb;I)V", garbageValue = "1542604247" ) @Export("updateNpcs") diff --git a/runescape-client/src/main/java/class200.java b/runescape-client/src/main/java/class200.java index 4fe61b0973..8a55c56463 100644 --- a/runescape-client/src/main/java/class200.java +++ b/runescape-client/src/main/java/class200.java @@ -5,17 +5,17 @@ import net.runelite.mapping.ObfuscatedSignature; public class class200 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lgi;" + descriptor = "Lgi;" ) static final class200 field2400; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lgi;" + descriptor = "Lgi;" ) static final class200 field2398; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lgi;" + descriptor = "Lgi;" ) static final class200 field2399; @@ -30,7 +30,7 @@ public class class200 { @ObfuscatedName("ao") @ObfuscatedSignature( - signature = "(IZII)V", + descriptor = "(IZII)V", garbageValue = "405257362" ) public static final void method3803(int var0, boolean var1, int var2) { diff --git a/runescape-client/src/main/java/class204.java b/runescape-client/src/main/java/class204.java index 0307b9525f..652cf5c1e6 100644 --- a/runescape-client/src/main/java/class204.java +++ b/runescape-client/src/main/java/class204.java @@ -26,7 +26,7 @@ public class class204 { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(III)I", + descriptor = "(III)I", garbageValue = "1343176092" ) public static int method3818(int var0, int var1) { diff --git a/runescape-client/src/main/java/class206.java b/runescape-client/src/main/java/class206.java index 3e8d3f9956..c5e341f48a 100644 --- a/runescape-client/src/main/java/class206.java +++ b/runescape-client/src/main/java/class206.java @@ -12,19 +12,19 @@ public class class206 { static int field2446; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("musicPatchesArchive") public static AbstractArchive musicPatchesArchive; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("musicSamplesArchive") public static AbstractArchive musicSamplesArchive; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("soundEffectsArchive") public static AbstractArchive soundEffectsArchive; @@ -57,7 +57,7 @@ public class class206 { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(IIIZIB)J", + descriptor = "(IIIZIB)J", garbageValue = "1" ) @Export("calculateTag") diff --git a/runescape-client/src/main/java/class217.java b/runescape-client/src/main/java/class217.java index 498f99cad2..344a13e98d 100644 --- a/runescape-client/src/main/java/class217.java +++ b/runescape-client/src/main/java/class217.java @@ -5,7 +5,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class class217 { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Lic;IIB)[Llz;", + descriptor = "(Lic;IIB)[Llz;", garbageValue = "-104" ) public static Sprite[] method4091(AbstractArchive var0, int var1, int var2) { @@ -47,7 +47,7 @@ public class class217 { @ObfuscatedName("ja") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-1394672948" ) static final void method4092() { diff --git a/runescape-client/src/main/java/class219.java b/runescape-client/src/main/java/class219.java index 7c5c08ff40..f6fc34468b 100644 --- a/runescape-client/src/main/java/class219.java +++ b/runescape-client/src/main/java/class219.java @@ -6,20 +6,20 @@ import net.runelite.mapping.ObfuscatedSignature; public class class219 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lhe;" + descriptor = "Lhe;" ) @Export("huffman") public static Huffman huffman; @ObfuscatedName("ci") @ObfuscatedSignature( - signature = "Lbx;" + descriptor = "Lbx;" ) @Export("mouseRecorder") static MouseRecorder mouseRecorder; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(B)[Lif;", + descriptor = "(B)[Lif;", garbageValue = "0" ) static VerticalAlignment[] method4106() { @@ -28,7 +28,7 @@ public class class219 { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(II)Liy;", + descriptor = "(II)Liy;", garbageValue = "1818836653" ) @Export("VarpDefinition_get") @@ -50,7 +50,7 @@ public class class219 { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;I)I", + descriptor = "(Ljava/lang/CharSequence;I)I", garbageValue = "527461459" ) @Export("hashString") diff --git a/runescape-client/src/main/java/class22.java b/runescape-client/src/main/java/class22.java index 51f648f941..559d2ef425 100644 --- a/runescape-client/src/main/java/class22.java +++ b/runescape-client/src/main/java/class22.java @@ -13,7 +13,7 @@ public class class22 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(III)I", + descriptor = "(III)I", garbageValue = "4320081" ) public static int method227(int var0, int var1) { @@ -35,7 +35,7 @@ public class class22 { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1618940930" ) static void method225() { @@ -49,7 +49,7 @@ public class class22 { @ObfuscatedName("fe") @ObfuscatedSignature( - signature = "(IB)V", + descriptor = "(IB)V", garbageValue = "1" ) @Export("getLoginError") diff --git a/runescape-client/src/main/java/class224.java b/runescape-client/src/main/java/class224.java index 8e0d9242f1..d35ca5db20 100644 --- a/runescape-client/src/main/java/class224.java +++ b/runescape-client/src/main/java/class224.java @@ -22,7 +22,7 @@ public class class224 { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IB)Lje;", + descriptor = "(IB)Lje;", garbageValue = "-100" ) @Export("StructDefinition_getStructDefinition") diff --git a/runescape-client/src/main/java/class225.java b/runescape-client/src/main/java/class225.java index 4899666221..dfba2c3e91 100644 --- a/runescape-client/src/main/java/class225.java +++ b/runescape-client/src/main/java/class225.java @@ -16,7 +16,7 @@ public class class225 { @ObfuscatedName("iu") @ObfuscatedSignature( - signature = "(II)Ljava/lang/String;", + descriptor = "(II)Ljava/lang/String;", garbageValue = "950917676" ) static final String method4182(int var0) { diff --git a/runescape-client/src/main/java/class228.java b/runescape-client/src/main/java/class228.java index 51f77b12bc..f1d2bc8268 100644 --- a/runescape-client/src/main/java/class228.java +++ b/runescape-client/src/main/java/class228.java @@ -7,13 +7,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class class228 { @ObfuscatedName("se") @ObfuscatedSignature( - signature = "Lma;" + descriptor = "Lma;" ) @Export("worldMap") static WorldMap worldMap; @ObfuscatedName("bn") @ObfuscatedSignature( - signature = "[Llh;" + descriptor = "[Llh;" ) @Export("worldSelectStars") static IndexedSprite[] worldSelectStars; @@ -25,7 +25,7 @@ public class class228 { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(ILlp;Lig;B)V", + descriptor = "(ILlp;Lig;B)V", garbageValue = "-8" ) static void method4262(int var0, ArchiveDisk var1, Archive var2) { diff --git a/runescape-client/src/main/java/class23.java b/runescape-client/src/main/java/class23.java index 3be773fc5f..ee12903cfc 100644 --- a/runescape-client/src/main/java/class23.java +++ b/runescape-client/src/main/java/class23.java @@ -5,7 +5,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class class23 { @ObfuscatedName("eh") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "-1074751797" ) static void method230(int var0, int var1) { @@ -32,7 +32,7 @@ public class class23 { @ObfuscatedName("ge") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1693964297" ) static final void method229() { diff --git a/runescape-client/src/main/java/class231.java b/runescape-client/src/main/java/class231.java index f8d4b3fae6..d08e896925 100644 --- a/runescape-client/src/main/java/class231.java +++ b/runescape-client/src/main/java/class231.java @@ -6,7 +6,7 @@ import net.runelite.rs.ScriptOpcodes; public class class231 { @ObfuscatedName("as") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "340792557" ) static int method4277(int var0, Script var1, boolean var2) { @@ -46,7 +46,7 @@ public class class231 { @ObfuscatedName("ar") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "1553809797" ) static int method4278(int var0, Script var1, boolean var2) { diff --git a/runescape-client/src/main/java/class232.java b/runescape-client/src/main/java/class232.java index 2bf949ad47..eb6799941f 100644 --- a/runescape-client/src/main/java/class232.java +++ b/runescape-client/src/main/java/class232.java @@ -5,7 +5,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class class232 { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(I)[Llh;", + descriptor = "(I)[Llh;", garbageValue = "-1121273391" ) static IndexedSprite[] method4279() { diff --git a/runescape-client/src/main/java/class234.java b/runescape-client/src/main/java/class234.java index 7043adceeb..255e0dfdae 100644 --- a/runescape-client/src/main/java/class234.java +++ b/runescape-client/src/main/java/class234.java @@ -6,7 +6,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class class234 { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "Lko;" + descriptor = "Lko;" ) @Export("ItemDefinition_fontPlain11") static Font ItemDefinition_fontPlain11; @@ -15,7 +15,7 @@ public class class234 { @ObfuscatedName("jd") @ObfuscatedSignature( - signature = "(Lhd;I)V", + descriptor = "(Lhd;I)V", garbageValue = "-750902552" ) @Export("invalidateWidget") diff --git a/runescape-client/src/main/java/class235.java b/runescape-client/src/main/java/class235.java index f683a3b4e1..22b26c080c 100644 --- a/runescape-client/src/main/java/class235.java +++ b/runescape-client/src/main/java/class235.java @@ -5,7 +5,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class class235 { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "([BIII)Z", + descriptor = "([BIII)Z", garbageValue = "493872009" ) static final boolean method4281(byte[] var0, int var1, int var2) { diff --git a/runescape-client/src/main/java/class236.java b/runescape-client/src/main/java/class236.java index d6e12ac4ca..fde7de225a 100644 --- a/runescape-client/src/main/java/class236.java +++ b/runescape-client/src/main/java/class236.java @@ -5,7 +5,7 @@ import net.runelite.mapping.ObfuscatedSignature; public final class class236 { @ObfuscatedName("c") @ObfuscatedSignature( - signature = "(III)I", + descriptor = "(III)I", garbageValue = "-1064559233" ) static final int method4282(int var0, int var1) { @@ -25,7 +25,7 @@ public final class class236 { @ObfuscatedName("h") @ObfuscatedSignature( - signature = "(Lef;IIII)Z", + descriptor = "(Lef;IIII)Z", garbageValue = "1976024119" ) static final boolean method4283(Model var0, int var1, int var2, int var3) { diff --git a/runescape-client/src/main/java/class247.java b/runescape-client/src/main/java/class247.java index c660c6c5f0..3bf7904d2b 100644 --- a/runescape-client/src/main/java/class247.java +++ b/runescape-client/src/main/java/class247.java @@ -13,7 +13,7 @@ public class class247 { final HashMap spriteMap; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Llv;" + descriptor = "Llv;" ) @Export("bounds") Bounds bounds; @@ -38,7 +38,7 @@ public class class247 { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-170659377" ) void method4486(int var1) { @@ -63,7 +63,7 @@ public class class247 { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(II)Llz;", + descriptor = "(II)Llz;", garbageValue = "-1626397648" ) Sprite method4487(int var1) { @@ -76,7 +76,7 @@ public class class247 { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "-1291742689" ) public final void method4504(int var1, int var2) { @@ -89,7 +89,7 @@ public class class247 { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "2033439477" ) public final void method4489() { @@ -98,7 +98,7 @@ public class class247 { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(IILlz;FI)V", + descriptor = "(IILlz;FI)V", garbageValue = "-2127559947" ) public final void method4490(int var1, int var2, Sprite var3, float var4) { @@ -149,7 +149,7 @@ public class class247 { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(Llz;Llz;Llv;B)V", + descriptor = "(Llz;Llz;Llv;B)V", garbageValue = "-113" ) void method4512(Sprite var1, Sprite var2, Bounds var3) { @@ -183,7 +183,7 @@ public class class247 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(II)Lil;", + descriptor = "(II)Lil;", garbageValue = "-125199916" ) @Export("getInvDefinition") @@ -205,7 +205,7 @@ public class class247 { @ObfuscatedName("fw") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1527669385" ) static final void method4496() { @@ -221,7 +221,7 @@ public class class247 { @ObfuscatedName("hb") @ObfuscatedSignature( - signature = "(IIIILjava/lang/String;I)V", + descriptor = "(IIIILjava/lang/String;I)V", garbageValue = "-870187769" ) @Export("widgetDefaultMenuAction") diff --git a/runescape-client/src/main/java/class25.java b/runescape-client/src/main/java/class25.java index 5e69655426..b1bd7bc3e9 100644 --- a/runescape-client/src/main/java/class25.java +++ b/runescape-client/src/main/java/class25.java @@ -6,7 +6,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class class25 { @ObfuscatedName("ns") @ObfuscatedSignature( - signature = "[Lhd;" + descriptor = "[Lhd;" ) static Widget[] field124; @ObfuscatedName("rs") @@ -17,7 +17,7 @@ public class class25 { @ObfuscatedName("ke") @ObfuscatedSignature( - signature = "(II)V", + descriptor = "(II)V", garbageValue = "-777100102" ) static void method245(int var0) { diff --git a/runescape-client/src/main/java/class257.java b/runescape-client/src/main/java/class257.java index de9f27e0a3..8907f6f02d 100644 --- a/runescape-client/src/main/java/class257.java +++ b/runescape-client/src/main/java/class257.java @@ -6,14 +6,14 @@ import net.runelite.mapping.ObfuscatedSignature; public class class257 { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "[Lih;" + descriptor = "[Lih;" ) @Export("WorldMapElement_cached") public static WorldMapElement[] WorldMapElement_cached; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "-540216390" ) public static void method4679(int var0, int var1) { diff --git a/runescape-client/src/main/java/class277.java b/runescape-client/src/main/java/class277.java index 060ca25643..c5f96e913a 100644 --- a/runescape-client/src/main/java/class277.java +++ b/runescape-client/src/main/java/class277.java @@ -5,7 +5,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class class277 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "([I[II)V", + descriptor = "([I[II)V", garbageValue = "805948782" ) public static void method5157(int[] var0, int[] var1) { diff --git a/runescape-client/src/main/java/class278.java b/runescape-client/src/main/java/class278.java index 58340d61a9..b8726dba14 100644 --- a/runescape-client/src/main/java/class278.java +++ b/runescape-client/src/main/java/class278.java @@ -6,13 +6,13 @@ import net.runelite.rs.ScriptOpcodes; public class class278 { @ObfuscatedName("sb") @ObfuscatedSignature( - signature = "Lix;" + descriptor = "Lix;" ) public static class247 field3585; @ObfuscatedName("ap") @ObfuscatedSignature( - signature = "(ILcs;ZB)I", + descriptor = "(ILcs;ZB)I", garbageValue = "73" ) static int method5158(int var0, Script var1, boolean var2) { diff --git a/runescape-client/src/main/java/class280.java b/runescape-client/src/main/java/class280.java index 64bd17d21b..b176108df1 100644 --- a/runescape-client/src/main/java/class280.java +++ b/runescape-client/src/main/java/class280.java @@ -5,7 +5,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class class280 { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;Lmo;I)Ljava/lang/String;", + descriptor = "(Ljava/lang/CharSequence;Lmo;I)Ljava/lang/String;", garbageValue = "-1896450279" ) public static String method5160(CharSequence var0, LoginType var1) { diff --git a/runescape-client/src/main/java/class296.java b/runescape-client/src/main/java/class296.java index f0625d7037..09b401747a 100644 --- a/runescape-client/src/main/java/class296.java +++ b/runescape-client/src/main/java/class296.java @@ -6,7 +6,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class class296 { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(CI)C", + descriptor = "(CI)C", garbageValue = "1101109074" ) static char method5464(char var0) { @@ -15,7 +15,7 @@ public class class296 { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "(CI)Z", + descriptor = "(CI)Z", garbageValue = "-2022540422" ) @Export("isDigit") @@ -25,7 +25,7 @@ public class class296 { @ObfuscatedName("jy") @ObfuscatedSignature( - signature = "(Lhd;IIII)V", + descriptor = "(Lhd;IIII)V", garbageValue = "-213876459" ) @Export("drawCompass") diff --git a/runescape-client/src/main/java/class298.java b/runescape-client/src/main/java/class298.java index ff08d78bc2..d1b64cdb14 100644 --- a/runescape-client/src/main/java/class298.java +++ b/runescape-client/src/main/java/class298.java @@ -22,7 +22,7 @@ public final class class298 { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(IZI)Ljava/lang/String;", + descriptor = "(IZI)Ljava/lang/String;", garbageValue = "-1481741683" ) @Export("intToString") diff --git a/runescape-client/src/main/java/class3.java b/runescape-client/src/main/java/class3.java index f2f8417a09..51400f6fe1 100644 --- a/runescape-client/src/main/java/class3.java +++ b/runescape-client/src/main/java/class3.java @@ -7,23 +7,23 @@ import net.runelite.mapping.ObfuscatedSignature; public class class3 implements Enumerated { @ObfuscatedName("qs") @ObfuscatedSignature( - signature = "Llz;" + descriptor = "Llz;" ) @Export("sceneMinimapSprite") static Sprite sceneMinimapSprite; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lj;" + descriptor = "Lj;" ) public static final class3 field10; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lj;" + descriptor = "Lj;" ) public static final class3 field8; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lj;" + descriptor = "Lj;" ) public static final class3 field9; @ObfuscatedName("j") @@ -40,7 +40,7 @@ public class class3 implements Enumerated { public final Class field12; @ObfuscatedName("n") @ObfuscatedSignature( - signature = "Lm;" + descriptor = "Lm;" ) public final class0 field13; @@ -51,7 +51,7 @@ public class class3 implements Enumerated { } @ObfuscatedSignature( - signature = "(IILjava/lang/Class;Lm;)V" + descriptor = "(IILjava/lang/Class;Lm;)V" ) class3(int var1, int var2, Class var3, class0 var4) { this.field14 = var1; @@ -62,7 +62,7 @@ public class class3 implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-995092303" ) @Export("rsOrdinal") @@ -72,7 +72,7 @@ public class class3 implements Enumerated { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;I)Ljava/lang/Object;", + descriptor = "(Lkn;I)Ljava/lang/Object;", garbageValue = "-1114505867" ) public Object method40(Buffer var1) { @@ -81,7 +81,7 @@ public class class3 implements Enumerated { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)[Lu;", + descriptor = "(I)[Lu;", garbageValue = "849855680" ) public static class7[] method41() { @@ -90,7 +90,7 @@ public class class3 implements Enumerated { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(III)Lbr;", + descriptor = "(III)Lbr;", garbageValue = "-1323441814" ) @Export("Messages_getByChannelAndID") @@ -101,7 +101,7 @@ public class class3 implements Enumerated { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(B)Lch;", + descriptor = "(B)Lch;", garbageValue = "12" ) @Export("getNextWorldListWorld") @@ -111,7 +111,7 @@ public class class3 implements Enumerated { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "([BI)V", + descriptor = "([BI)V", garbageValue = "-2060767069" ) @Export("SpriteBuffer_decode") @@ -183,7 +183,7 @@ public class class3 implements Enumerated { @ObfuscatedName("fg") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-2027582422" ) static final void method33() { diff --git a/runescape-client/src/main/java/class303.java b/runescape-client/src/main/java/class303.java index 26bddb0def..51a882e462 100644 --- a/runescape-client/src/main/java/class303.java +++ b/runescape-client/src/main/java/class303.java @@ -6,7 +6,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class class303 { @ObfuscatedName("gi") @ObfuscatedSignature( - signature = "(ZI)V", + descriptor = "(ZI)V", garbageValue = "-1926493501" ) static final void method5528(boolean var0) { @@ -30,7 +30,7 @@ public class class303 { @ObfuscatedName("kg") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "-1" ) static void method5525() { diff --git a/runescape-client/src/main/java/class307.java b/runescape-client/src/main/java/class307.java index d9be3b8722..1467e10dc4 100644 --- a/runescape-client/src/main/java/class307.java +++ b/runescape-client/src/main/java/class307.java @@ -6,7 +6,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class class307 { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "-549793273" ) static int method5650(int var0, Script var1, boolean var2) { @@ -89,7 +89,7 @@ public class class307 { @ObfuscatedName("gy") @ObfuscatedSignature( - signature = "(IIIIIB)V", + descriptor = "(IIIIIB)V", garbageValue = "51" ) @Export("drawObject") diff --git a/runescape-client/src/main/java/class322.java b/runescape-client/src/main/java/class322.java index acf583d1b4..a62de4ed5b 100644 --- a/runescape-client/src/main/java/class322.java +++ b/runescape-client/src/main/java/class322.java @@ -7,32 +7,32 @@ import net.runelite.mapping.ObfuscatedSignature; public enum class322 implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Llx;" + descriptor = "Llx;" ) field3841(4, 0), @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Llx;" + descriptor = "Llx;" ) field3836(2, 2), @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Llx;" + descriptor = "Llx;" ) field3837(5, 5), @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Llx;" + descriptor = "Llx;" ) field3838(0, 6), @ObfuscatedName("p") @ObfuscatedSignature( - signature = "Llx;" + descriptor = "Llx;" ) field3839(1, 7), @ObfuscatedName("g") @ObfuscatedSignature( - signature = "Llx;" + descriptor = "Llx;" ) field3840(3, 8); @@ -54,7 +54,7 @@ public enum class322 implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-995092303" ) @Export("rsOrdinal") diff --git a/runescape-client/src/main/java/class329.java b/runescape-client/src/main/java/class329.java index e18101c98a..a2043aeab0 100644 --- a/runescape-client/src/main/java/class329.java +++ b/runescape-client/src/main/java/class329.java @@ -13,7 +13,7 @@ public class class329 { @ObfuscatedName("n") @ObfuscatedSignature( - signature = "(Lic;Ljava/lang/String;Ljava/lang/String;B)Llh;", + descriptor = "(Lic;Ljava/lang/String;Ljava/lang/String;B)Llh;", garbageValue = "48" ) @Export("SpriteBuffer_getIndexedSpriteByName") diff --git a/runescape-client/src/main/java/class332.java b/runescape-client/src/main/java/class332.java index 2b0d4c4cd9..15743e8d03 100644 --- a/runescape-client/src/main/java/class332.java +++ b/runescape-client/src/main/java/class332.java @@ -12,18 +12,18 @@ import net.runelite.mapping.ObfuscatedSignature; public enum class332 implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Llw;" + descriptor = "Llw;" ) @Export("SOLID") SOLID(0, 0), @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Llw;" + descriptor = "Llw;" ) field3880(1, 1), @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Llw;" + descriptor = "Llw;" ) field3881(2, 2); @@ -46,7 +46,7 @@ public enum class332 implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-995092303" ) @Export("rsOrdinal") @@ -56,7 +56,7 @@ public enum class332 implements Enumerated { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Ljava/lang/Throwable;I)Ljava/lang/String;", + descriptor = "(Ljava/lang/Throwable;I)Ljava/lang/String;", garbageValue = "-353829952" ) static String method6316(Throwable var0) throws IOException { diff --git a/runescape-client/src/main/java/class336.java b/runescape-client/src/main/java/class336.java index fc0fa884ed..f0c6ed1233 100644 --- a/runescape-client/src/main/java/class336.java +++ b/runescape-client/src/main/java/class336.java @@ -9,7 +9,7 @@ public class class336 { public static boolean musicTrackBoolean; @ObfuscatedName("y") @ObfuscatedSignature( - signature = "Llh;" + descriptor = "Llh;" ) static IndexedSprite field3912; } diff --git a/runescape-client/src/main/java/class349.java b/runescape-client/src/main/java/class349.java index 0e721cde73..98b4919f60 100644 --- a/runescape-client/src/main/java/class349.java +++ b/runescape-client/src/main/java/class349.java @@ -6,13 +6,13 @@ import net.runelite.mapping.ObfuscatedSignature; public class class349 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("EnumDefinition_archive") static AbstractArchive EnumDefinition_archive; @ObfuscatedName("w") @ObfuscatedSignature( - signature = "Lic;" + descriptor = "Lic;" ) @Export("Widget_spritesArchive") static AbstractArchive Widget_spritesArchive; diff --git a/runescape-client/src/main/java/class39.java b/runescape-client/src/main/java/class39.java index f0ee184be5..a155897083 100644 --- a/runescape-client/src/main/java/class39.java +++ b/runescape-client/src/main/java/class39.java @@ -7,12 +7,12 @@ import net.runelite.mapping.ObfuscatedSignature; public class class39 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lal;" + descriptor = "Lal;" ) static final class39 field296; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lal;" + descriptor = "Lal;" ) static final class39 field293; @ObfuscatedName("q") @@ -33,7 +33,7 @@ public class class39 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(III)Z", + descriptor = "(III)Z", garbageValue = "-1422185207" ) static boolean method615(int var0, int var1) { @@ -42,7 +42,7 @@ public class class39 { @ObfuscatedName("gk") @ObfuscatedSignature( - signature = "(Lgl;I)V", + descriptor = "(Lgl;I)V", garbageValue = "-980354844" ) static final void method616(class194 var0) { diff --git a/runescape-client/src/main/java/class4.java b/runescape-client/src/main/java/class4.java index f02bb2ef64..4002064d3b 100644 --- a/runescape-client/src/main/java/class4.java +++ b/runescape-client/src/main/java/class4.java @@ -12,14 +12,14 @@ final class class4 implements class0 { static boolean ClanChat_inClanChat; @ObfuscatedName("ha") @ObfuscatedSignature( - signature = "[Llh;" + descriptor = "[Llh;" ) @Export("modIconSprites") static IndexedSprite[] modIconSprites; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ljava/lang/Object;Lkn;B)V", + descriptor = "(Ljava/lang/Object;Lkn;B)V", garbageValue = "0" ) public void vmethod59(Object var1, Buffer var2) { @@ -28,7 +28,7 @@ final class class4 implements class0 { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;B)Ljava/lang/Object;", + descriptor = "(Lkn;B)Ljava/lang/Object;", garbageValue = "114" ) public Object vmethod47(Buffer var1) { @@ -37,7 +37,7 @@ final class class4 implements class0 { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(Ljava/lang/String;Lkn;I)V", + descriptor = "(Ljava/lang/String;Lkn;I)V", garbageValue = "-1456597328" ) void method46(String var1, Buffer var2) { @@ -46,7 +46,7 @@ final class class4 implements class0 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "([BIII)Ljava/lang/String;", + descriptor = "([BIII)Ljava/lang/String;", garbageValue = "-1273544207" ) public static String method48(byte[] var0, int var1, int var2) { @@ -104,7 +104,7 @@ final class class4 implements class0 { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IB)Lie;", + descriptor = "(IB)Lie;", garbageValue = "0" ) @Export("SpotAnimationDefinition_get") @@ -127,7 +127,7 @@ final class class4 implements class0 { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(IIII)Lcs;", + descriptor = "(IIII)Lcs;", garbageValue = "-1977243752" ) @Export("getWorldMapScript") @@ -145,7 +145,7 @@ final class class4 implements class0 { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "([Ljava/lang/String;[SIIB)V", + descriptor = "([Ljava/lang/String;[SIIB)V", garbageValue = "-1" ) @Export("sortItemsByName") @@ -183,7 +183,7 @@ final class class4 implements class0 { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(Ljava/io/File;ZS)Z", + descriptor = "(Ljava/io/File;ZS)Z", garbageValue = "4093" ) static boolean method58(File var0, boolean var1) { @@ -203,7 +203,7 @@ final class class4 implements class0 { @ObfuscatedName("ax") @ObfuscatedSignature( - signature = "(ILcs;ZB)I", + descriptor = "(ILcs;ZB)I", garbageValue = "0" ) static int method63(int var0, Script var1, boolean var2) { @@ -564,7 +564,7 @@ final class class4 implements class0 { @ObfuscatedName("jq") @ObfuscatedSignature( - signature = "(Lhd;I)V", + descriptor = "(Lhd;I)V", garbageValue = "1118535641" ) static final void method57(Widget var0) { diff --git a/runescape-client/src/main/java/class41.java b/runescape-client/src/main/java/class41.java index 9db66398fa..ae3c7cf34f 100644 --- a/runescape-client/src/main/java/class41.java +++ b/runescape-client/src/main/java/class41.java @@ -17,7 +17,7 @@ public class class41 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(ZI)V", + descriptor = "(ZI)V", garbageValue = "-1502584802" ) public static void method624(boolean var0) { @@ -42,7 +42,7 @@ public class class41 { @ObfuscatedName("u") @ObfuscatedSignature( - signature = "(IIIIIILem;Lfz;I)V", + descriptor = "(IIIIIILem;Lfz;I)V", garbageValue = "-1774275667" ) static final void method623(int var0, int var1, int var2, int var3, int var4, int var5, Scene var6, CollisionMap var7) { @@ -406,7 +406,7 @@ public class class41 { @ObfuscatedName("hl") @ObfuscatedSignature( - signature = "(III)V", + descriptor = "(III)V", garbageValue = "1829350132" ) @Export("updateItemPile") @@ -459,7 +459,7 @@ public class class41 { @ObfuscatedName("jj") @ObfuscatedSignature( - signature = "(Lbz;ZI)V", + descriptor = "(Lbz;ZI)V", garbageValue = "1167867750" ) @Export("closeInterface") diff --git a/runescape-client/src/main/java/class5.java b/runescape-client/src/main/java/class5.java index cbe2f2f779..07d97c2899 100644 --- a/runescape-client/src/main/java/class5.java +++ b/runescape-client/src/main/java/class5.java @@ -5,7 +5,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class class5 implements class12 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lkn;)Lkn;" + descriptor = "(Lkn;)Lkn;" ) public Buffer vmethod133(Buffer var1) { Buffer var2 = new Buffer(100); @@ -15,7 +15,7 @@ public class class5 implements class12 { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkn;Lkn;)V" + descriptor = "(Lkn;Lkn;)V" ) void method65(Buffer var1, Buffer var2) { class10 var3 = new class10(var1); diff --git a/runescape-client/src/main/java/class52.java b/runescape-client/src/main/java/class52.java index 4dfde6f305..38d4a1c0a6 100644 --- a/runescape-client/src/main/java/class52.java +++ b/runescape-client/src/main/java/class52.java @@ -17,7 +17,7 @@ public final class class52 { @ObfuscatedName("t") @ObfuscatedSignature( - signature = "(Ljava/lang/String;II)V", + descriptor = "(Ljava/lang/String;II)V", garbageValue = "-794896402" ) static final void method873(String var0, int var1) { @@ -30,7 +30,7 @@ public final class class52 { @ObfuscatedName("hq") @ObfuscatedSignature( - signature = "(III)Lga;", + descriptor = "(III)Lga;", garbageValue = "-136372501" ) static RouteStrategy method877(int var0, int var1) { diff --git a/runescape-client/src/main/java/class56.java b/runescape-client/src/main/java/class56.java index b59697cf0b..e301c43f3f 100644 --- a/runescape-client/src/main/java/class56.java +++ b/runescape-client/src/main/java/class56.java @@ -7,7 +7,7 @@ import netscape.javascript.JSObject; public class class56 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Ljava/applet/Applet;Ljava/lang/String;I)V", + descriptor = "(Ljava/applet/Applet;Ljava/lang/String;I)V", garbageValue = "-1802347359" ) public static void method919(Applet var0, String var1) throws Throwable { diff --git a/runescape-client/src/main/java/class58.java b/runescape-client/src/main/java/class58.java index 4124eba405..13f77b7e12 100644 --- a/runescape-client/src/main/java/class58.java +++ b/runescape-client/src/main/java/class58.java @@ -7,7 +7,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class class58 { @ObfuscatedName("qr") @ObfuscatedSignature( - signature = "Ldt;" + descriptor = "Ldt;" ) @Export("pcmPlayer1") static PcmPlayer pcmPlayer1; @@ -20,7 +20,7 @@ public class class58 { @ObfuscatedName("fj") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "1787909255" ) @Export("getWindowedMode") diff --git a/runescape-client/src/main/java/class6.java b/runescape-client/src/main/java/class6.java index f74c4edf22..49bd92fb81 100644 --- a/runescape-client/src/main/java/class6.java +++ b/runescape-client/src/main/java/class6.java @@ -10,7 +10,7 @@ public class class6 implements class11 { final MessageDigest field24; @ObfuscatedSignature( - signature = "(Lw;)V" + descriptor = "(Lw;)V" ) class6(class10 var1) { this.field24 = this.method77(); diff --git a/runescape-client/src/main/java/class60.java b/runescape-client/src/main/java/class60.java index a6365f4057..2efc5e6f0c 100644 --- a/runescape-client/src/main/java/class60.java +++ b/runescape-client/src/main/java/class60.java @@ -7,7 +7,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class class60 { @ObfuscatedName("qh") @ObfuscatedSignature( - signature = "Ldd;" + descriptor = "Ldd;" ) @Export("pcmStreamMixer") static PcmStreamMixer pcmStreamMixer; @@ -18,7 +18,7 @@ public class class60 { static String field450; @ObfuscatedName("kf") @ObfuscatedSignature( - signature = "Lby;" + descriptor = "Lby;" ) @Export("localPlayer") static Player localPlayer; @@ -30,7 +30,7 @@ public class class60 { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Lkb;II)V", + descriptor = "(Lkb;II)V", garbageValue = "-220827004" ) @Export("updatePlayers") @@ -264,7 +264,7 @@ public class class60 { @ObfuscatedName("g") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "76630753" ) public static void method972() { @@ -274,7 +274,7 @@ public class class60 { @ObfuscatedName("jc") @ObfuscatedSignature( - signature = "(Lhd;IIS)V", + descriptor = "(Lhd;IIS)V", garbageValue = "-5579" ) @Export("clickWidget") diff --git a/runescape-client/src/main/java/class7.java b/runescape-client/src/main/java/class7.java index 592b68bd3a..55c9043158 100644 --- a/runescape-client/src/main/java/class7.java +++ b/runescape-client/src/main/java/class7.java @@ -8,13 +8,13 @@ import net.runelite.rs.ScriptOpcodes; public enum class7 implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lu;" + descriptor = "Lu;" ) field30(0, 0); @ObfuscatedName("ox") @ObfuscatedSignature( - signature = "Lfv;" + descriptor = "Lfv;" ) @Export("mouseWheel") static MouseWheel mouseWheel; @@ -38,7 +38,7 @@ public enum class7 implements Enumerated { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)I", + descriptor = "(I)I", garbageValue = "-995092303" ) @Export("rsOrdinal") @@ -48,7 +48,7 @@ public enum class7 implements Enumerated { @ObfuscatedName("w") @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)V", + descriptor = "(Ljava/lang/String;B)V", garbageValue = "-89" ) static final void method95(String var0) { @@ -62,7 +62,7 @@ public enum class7 implements Enumerated { @ObfuscatedName("r") @ObfuscatedSignature( - signature = "(IIS)Z", + descriptor = "(IIS)Z", garbageValue = "17445" ) static final boolean method97(int var0, int var1) { @@ -80,7 +80,7 @@ public enum class7 implements Enumerated { @ObfuscatedName("r") @ObfuscatedSignature( - signature = "(ILcs;ZI)I", + descriptor = "(ILcs;ZI)I", garbageValue = "669918470" ) static int method100(int var0, Script var1, boolean var2) { @@ -115,7 +115,7 @@ public enum class7 implements Enumerated { @ObfuscatedName("gm") @ObfuscatedSignature( - signature = "(S)Z", + descriptor = "(S)Z", garbageValue = "255" ) static boolean method98() { @@ -124,7 +124,7 @@ public enum class7 implements Enumerated { @ObfuscatedName("hv") @ObfuscatedSignature( - signature = "(II)Z", + descriptor = "(II)Z", garbageValue = "-1244259463" ) static final boolean method94(int var0) { @@ -142,7 +142,7 @@ public enum class7 implements Enumerated { @ObfuscatedName("jw") @ObfuscatedSignature( - signature = "(B)V", + descriptor = "(B)V", garbageValue = "9" ) @Export("FriendSystem_invalidateFriends") diff --git a/runescape-client/src/main/java/class8.java b/runescape-client/src/main/java/class8.java index ebeecb4a65..2198f65ae5 100644 --- a/runescape-client/src/main/java/class8.java +++ b/runescape-client/src/main/java/class8.java @@ -7,27 +7,27 @@ import net.runelite.mapping.ObfuscatedSignature; public class class8 implements Callable { @ObfuscatedName("fo") @ObfuscatedSignature( - signature = "Llj;" + descriptor = "Llj;" ) static AbstractSocket field35; @ObfuscatedName("m") @ObfuscatedSignature( - signature = "Lkn;" + descriptor = "Lkn;" ) final Buffer field33; @ObfuscatedName("o") @ObfuscatedSignature( - signature = "Lc;" + descriptor = "Lc;" ) final class12 field31; // $FF: synthetic field @ObfuscatedSignature( - signature = "Lz;" + descriptor = "Lz;" ) final class9 this$0; @ObfuscatedSignature( - signature = "(Lz;Lkn;Lc;)V" + descriptor = "(Lz;Lkn;Lc;)V" ) class8(class9 var1, Buffer var2, class12 var3) { this.this$0 = var1; @@ -41,7 +41,7 @@ public class class8 implements Callable { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(Lic;I)V", + descriptor = "(Lic;I)V", garbageValue = "2132474559" ) public static void method103(AbstractArchive var0) { @@ -50,7 +50,7 @@ public class class8 implements Callable { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(III)I", + descriptor = "(III)I", garbageValue = "1765213617" ) public static int method104(int var0, int var1) { @@ -65,7 +65,7 @@ public class class8 implements Callable { @ObfuscatedName("gh") @ObfuscatedSignature( - signature = "(ZLkb;I)V", + descriptor = "(ZLkb;I)V", garbageValue = "-826788637" ) @Export("loadRegions") diff --git a/runescape-client/src/main/java/class89.java b/runescape-client/src/main/java/class89.java index 6d2939afdc..b14b27e2d1 100644 --- a/runescape-client/src/main/java/class89.java +++ b/runescape-client/src/main/java/class89.java @@ -22,7 +22,7 @@ public class class89 { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "735302127" ) public static void method2161() { @@ -33,7 +33,7 @@ public class class89 { @ObfuscatedName("a") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "-963420797" ) static void method2159() { diff --git a/runescape-client/src/main/java/class9.java b/runescape-client/src/main/java/class9.java index fab79f817e..cdbdab67b8 100644 --- a/runescape-client/src/main/java/class9.java +++ b/runescape-client/src/main/java/class9.java @@ -15,7 +15,7 @@ public class class9 { static int field42; @ObfuscatedName("hl") @ObfuscatedSignature( - signature = "[Llz;" + descriptor = "[Llz;" ) @Export("mapMarkerSprites") static Sprite[] mapMarkerSprites; @@ -25,17 +25,17 @@ public class class9 { Future field44; @ObfuscatedName("q") @ObfuscatedSignature( - signature = "Lkn;" + descriptor = "Lkn;" ) final Buffer field40; @ObfuscatedName("j") @ObfuscatedSignature( - signature = "Lc;" + descriptor = "Lc;" ) final class12 field41; @ObfuscatedSignature( - signature = "(Lkn;Lc;)V" + descriptor = "(Lkn;Lc;)V" ) public class9(Buffer var1, class12 var2) { this.field45 = Executors.newSingleThreadExecutor(); @@ -46,7 +46,7 @@ public class class9 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)Z", + descriptor = "(I)Z", garbageValue = "1196678116" ) public boolean method106() { @@ -55,7 +55,7 @@ public class class9 { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1944585860" ) public void method107() { @@ -65,7 +65,7 @@ public class class9 { @ObfuscatedName("q") @ObfuscatedSignature( - signature = "(I)Lkn;", + descriptor = "(I)Lkn;", garbageValue = "1647170417" ) public Buffer method108() { @@ -78,7 +78,7 @@ public class class9 { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "2093000238" ) void method109() { @@ -87,7 +87,7 @@ public class class9 { @ObfuscatedName("gd") @ObfuscatedSignature( - signature = "(Lby;ZI)V", + descriptor = "(Lby;ZI)V", garbageValue = "928487649" ) @Export("addPlayerToScene") @@ -127,7 +127,7 @@ public class class9 { @ObfuscatedName("jr") @ObfuscatedSignature( - signature = "([Lhd;IIIIIIII)V", + descriptor = "([Lhd;IIIIIIII)V", garbageValue = "-1819097133" ) @Export("updateInterface") @@ -678,7 +678,7 @@ public class class9 { @ObfuscatedName("kc") @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", + descriptor = "(Ljava/lang/String;I)V", garbageValue = "1962834261" ) @Export("clanKickUser") diff --git a/runescape-client/src/main/java/class90.java b/runescape-client/src/main/java/class90.java index 48b5adfa73..d05d04640a 100644 --- a/runescape-client/src/main/java/class90.java +++ b/runescape-client/src/main/java/class90.java @@ -7,7 +7,7 @@ import net.runelite.mapping.ObfuscatedSignature; public class class90 { @ObfuscatedName("bb") @ObfuscatedSignature( - signature = "[Llz;" + descriptor = "[Llz;" ) @Export("worldSelectBackSprites") static Sprite[] worldSelectBackSprites; @@ -23,7 +23,7 @@ public class class90 { @ObfuscatedName("m") @ObfuscatedSignature( - signature = "(I)V", + descriptor = "(I)V", garbageValue = "1343662154" ) public static void method2164() { @@ -32,7 +32,7 @@ public class class90 { @ObfuscatedName("o") @ObfuscatedSignature( - signature = "(Llz;IIII)V", + descriptor = "(Llz;IIII)V", garbageValue = "-1824687226" ) static void method2166(Sprite var0, int var1, int var2, int var3) { @@ -43,7 +43,7 @@ public class class90 { @ObfuscatedName("p") @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;II[BIB)I", + descriptor = "(Ljava/lang/CharSequence;II[BIB)I", garbageValue = "-25" ) @Export("encodeStringCp1252") @@ -118,7 +118,7 @@ public class class90 { @ObfuscatedName("z") @ObfuscatedSignature( - signature = "([BI)Lko;", + descriptor = "([BI)Lko;", garbageValue = "166705545" ) static Font method2168(byte[] var0) { diff --git a/runescape-client/src/main/java/class92.java b/runescape-client/src/main/java/class92.java index c0ac5934dc..37446a674a 100644 --- a/runescape-client/src/main/java/class92.java +++ b/runescape-client/src/main/java/class92.java @@ -17,7 +17,7 @@ public class class92 { @ObfuscatedName("j") @ObfuscatedSignature( - signature = "(Lkb;II)V", + descriptor = "(Lkb;II)V", garbageValue = "213550097" ) @Export("readPlayerUpdate") diff --git a/runescape-client/src/main/java/net/runelite/rs/Reflection.java b/runescape-client/src/main/java/net/runelite/rs/Reflection.java index 646dc1665c..cd59af2775 100644 --- a/runescape-client/src/main/java/net/runelite/rs/Reflection.java +++ b/runescape-client/src/main/java/net/runelite/rs/Reflection.java @@ -165,7 +165,7 @@ public class Reflection return types; } - String s = sig.signature(); + String s = sig.descriptor(); int i = s.lastIndexOf(')'); char c = s.charAt(i - 1); From 86f6886d8c8dd286164557b458049ea5beb093cc Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Sun, 19 Jul 2020 03:21:06 +0200 Subject: [PATCH 102/189] Finishing touches to annotations --- .../java/net/runelite/asm/Annotation.java | 22 ++++++++++++++ .../runelite/asm/attributes/Annotated.java | 2 +- .../net/runelite/deob/DeobAnnotations.java | 30 ++++++++++--------- 3 files changed, 39 insertions(+), 15 deletions(-) diff --git a/deobfuscator/src/main/java/net/runelite/asm/Annotation.java b/deobfuscator/src/main/java/net/runelite/asm/Annotation.java index efcb4203c1..6c9e4ff23b 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/Annotation.java +++ b/deobfuscator/src/main/java/net/runelite/asm/Annotation.java @@ -26,6 +26,7 @@ package net.runelite.asm; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.TreeMap; import org.jetbrains.annotations.NotNull; import org.objectweb.asm.AnnotationVisitor; @@ -59,6 +60,12 @@ public class Annotation extends AnnotationVisitor implements Comparable e : data.entrySet()) + str.append(e.getKey()).append('=').append(e.getValue().toString()); + str.append(')'); + return str.toString(); + } } diff --git a/deobfuscator/src/main/java/net/runelite/asm/attributes/Annotated.java b/deobfuscator/src/main/java/net/runelite/asm/attributes/Annotated.java index edffbfd459..bb43361049 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/attributes/Annotated.java +++ b/deobfuscator/src/main/java/net/runelite/asm/attributes/Annotated.java @@ -38,7 +38,7 @@ public interface Annotated default void addAnnotation(Type type, Object val) { - addAnnotation(type, val); + getAnnotations().put(type, new Annotation(type, val)); } default void addAnnotation(Type type, String key, Object val) diff --git a/deobfuscator/src/main/java/net/runelite/deob/DeobAnnotations.java b/deobfuscator/src/main/java/net/runelite/deob/DeobAnnotations.java index 77e8945f73..f2ee7438c4 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/DeobAnnotations.java +++ b/deobfuscator/src/main/java/net/runelite/deob/DeobAnnotations.java @@ -41,26 +41,25 @@ public class DeobAnnotations public static final Type IMPLEMENTS = new Type("Lnet/runelite/mapping/Implements;"); public static final Type OBFUSCATED_GETTER = new Type("Lnet/runelite/mapping/ObfuscatedGetter;"); public static final Type OBFUSCATED_SIGNATURE = new Type("Lnet/runelite/mapping/ObfuscatedSignature;"); - public static final Type HOOK = new Type("Lnet/runelite/mapping/Hook;"); public static Signature getObfuscatedSignature(Method m) { - String str = getStringValue(m, OBFUSCATED_SIGNATURE); + Object val = get(m, OBFUSCATED_SIGNATURE, "descriptor"); - if (str == null) + if (val == null) return null; - return new Signature(str); + return new Signature((String) val); } public static Type getObfuscatedType(Field f) { - String str = getStringValue(f, OBFUSCATED_SIGNATURE); + Object val = get(f, OBFUSCATED_SIGNATURE, "descriptor"); - if (str == null) + if (val == null) return null; - return new Type(str); + return new Type((String) val); } @Nullable @@ -88,14 +87,10 @@ public class DeobAnnotations if (a == null) return null; - Object v = a.getValue(); - if (v == null) - return null; - if (field.getType().equals(Type.INT)) - return (Integer) v; - else if (field.getType().equals(Type.LONG)) - return (Long) v; // very long v + return (Integer) a.get("intValue"); + if (field.getType().equals(Type.LONG)) + return (Long) a.get("longValue"); // very long v throw new IllegalArgumentException("Field with getter but not a long or an int?"); } @@ -106,6 +101,13 @@ public class DeobAnnotations return a == null ? null : (String) a.get("garbageValue"); } + @Nullable + public static Object get(Annotated an, Type type, String name) + { + final var a = an.findAnnotation(type); + return a == null ? null : a.get(name); + } + @Nullable public static String getStringValue(Annotated an, Type type) { From fa2944d50af5fd56be66cfe6f1964734a9b734a5 Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Sun, 19 Jul 2020 03:21:51 +0200 Subject: [PATCH 103/189] Use new injector ver --- build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 0c1eb010fb..a127e9dfec 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -34,8 +34,8 @@ buildscript { } dependencies { classpath("org.ajoberstar.grgit:grgit-core:4.0.2") - classpath("com.github.ben-manes:gradle-versions-plugin:0.29.0") - classpath("com.openosrs:injector-plugin:1.1.4") + classpath("com.github.ben-manes:gradle-versions-plugin:0.28.0") + classpath("com.openosrs:injector-plugin:1.1.5") } } From 57b74762999edbc41839a72fa07b58e2381e127f Mon Sep 17 00:00:00 2001 From: Lucwousin Date: Sun, 19 Jul 2020 03:26:05 +0200 Subject: [PATCH 104/189] Collapse @Copy, @Replace mixin methods --- .../net/runelite/mixins/EntityHiderMixin.java | 15 ++--- .../mixins/ProcessClientErrorMixin.java | 2 +- .../mixins/RSAbstractArchiveMixin.java | 7 +- .../net/runelite/mixins/RSBufferMixin.java | 7 +- .../net/runelite/mixins/RSClientMixin.java | 66 +++++-------------- .../runelite/mixins/RSDynamicObjectMixin.java | 7 +- .../mixins/RSItemDefinitionMixin.java | 12 ++-- .../runelite/mixins/RSKeyHandlerMixin.java | 18 ++--- .../mixins/RSLoginScreenAnimationMixin.java | 9 +-- .../net/runelite/mixins/RSModelDataMixin.java | 7 +- .../net/runelite/mixins/RSModelMixin.java | 13 ++-- .../runelite/mixins/RSMouseHandlerMixin.java | 42 ++++-------- .../mixins/RSMouseWheelHandlerMixin.java | 6 +- .../java/net/runelite/mixins/RSNPCMixin.java | 9 ++- .../net/runelite/mixins/RSPlayerMixin.java | 16 ++--- .../runelite/mixins/RSRasterizer2DMixin.java | 18 ++--- .../net/runelite/mixins/RSSceneMixin.java | 48 ++++++-------- .../mixins/RSSequenceDefinitionMixin.java | 31 ++++----- .../net/runelite/mixins/RSSpriteMixin.java | 7 +- .../net/runelite/mixins/RSTextureMixin.java | 6 +- .../net/runelite/mixins/RSWidgetMixin.java | 7 +- .../net/runelite/mixins/ScriptVMMixin.java | 9 +-- .../net/runelite/mixins/SoundEffectMixin.java | 10 +-- .../java/net/runelite/mixins/SpriteMixin.java | 9 +-- .../mixins/StretchedModeMaxSizeMixin.java | 13 ++-- .../runelite/mixins/WidgetSpriteMixin.java | 9 +-- 26 files changed, 134 insertions(+), 269 deletions(-) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/EntityHiderMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/EntityHiderMixin.java index 54f3b75b8a..9302bacd3c 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/EntityHiderMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/EntityHiderMixin.java @@ -100,10 +100,8 @@ public abstract class EntityHiderMixin implements RSScene private static boolean hideDeadNPCs; @Copy("newGameObject") - abstract boolean addEntityMarker(int var1, int var2, int var3, int var4, int var5, int x, int y, int var8, RSEntity entity, int var10, boolean var11, long var12, int var13); - @Replace("newGameObject") - boolean rl$addEntityMarker(int var1, int var2, int var3, int var4, int var5, int x, int y, int var8, RSEntity entity, int var10, boolean var11, long var12, int var13) + boolean copy$addEntityMarker(int var1, int var2, int var3, int var4, int var5, int x, int y, int var8, RSEntity entity, int var10, boolean var11, long var12, int var13) { final boolean shouldDraw = shouldDraw(entity, false); @@ -119,21 +117,16 @@ public abstract class EntityHiderMixin implements RSScene } return shouldDraw && - addEntityMarker(var1, var2, var3, var4, var5, x, y, var8, entity, var10, var11, var12, var13); + copy$addEntityMarker(var1, var2, var3, var4, var5, x, y, var8, entity, var10, var11, var12, var13); } @Copy("drawActor2d") - private static void draw2DExtras(RSActor actor, int var1, int var2, int var3, int var4, int var5) - { - throw new RuntimeException(); - } - @Replace("drawActor2d") - private static void rl$draw2DExtras(RSActor actor, int var1, int var2, int var3, int var4, int var5) + private static void copy$draw2DExtras(RSActor actor, int var1, int var2, int var3, int var4, int var5) { if (shouldDraw(actor, true)) { - draw2DExtras(actor, var1, var2, var3, var4, var5); + copy$draw2DExtras(actor, var1, var2, var3, var4, var5); } } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/ProcessClientErrorMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/ProcessClientErrorMixin.java index e7698c2b30..d4afe0570c 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/ProcessClientErrorMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/ProcessClientErrorMixin.java @@ -37,7 +37,7 @@ public abstract class ProcessClientErrorMixin implements RSClient private static RSClient client; @Replace("RunException_sendStackTrace") - static void rl$processClientError(String string, Throwable throwable) + static void processClientError(String string, Throwable throwable) { if (throwable != null) { 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 89642eeb10..97ab92c821 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSAbstractArchiveMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSAbstractArchiveMixin.java @@ -33,13 +33,12 @@ public abstract class RSAbstractArchiveMixin implements RSAbstractArchive return overlayOutdated; } + @SuppressWarnings("InfiniteRecursion") @Copy("takeFile") - abstract byte[] rs$getConfigData(int archiveId, int fileId); - @Replace("takeFile") - public byte[] rl$getConfigData(int groupId, int fileId) + public byte[] copy$getConfigData(int groupId, int fileId) { - final byte[] rsData = rs$getConfigData(groupId, fileId); + final byte[] rsData = copy$getConfigData(groupId, fileId); final int archiveId = ((RSArchive) this).getIndex(); if (!OverlayIndex.hasOverlay(archiveId, groupId)) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSBufferMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSBufferMixin.java index 550361ee7b..9cbf1dfb24 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSBufferMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSBufferMixin.java @@ -42,16 +42,15 @@ public abstract class RSBufferMixin implements RSBuffer private static BigInteger modulus; @Copy("encryptRsa") - abstract void rs$encryptRsa(BigInteger var1, BigInteger var2); - @Replace("encryptRsa") - public void rl$encryptRsa(BigInteger exp, BigInteger mod) + @SuppressWarnings("InfiniteRecursion") + public void copy$encryptRsa(BigInteger exp, BigInteger mod) { if (modulus != null) { mod = modulus; } - rs$encryptRsa(exp, mod); + copy$encryptRsa(exp, mod); } } \ No newline at end of file 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 24a4c20bda..45adbf4a9b 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -957,15 +957,11 @@ public abstract class RSClientMixin implements RSClient } @Copy("runWidgetOnLoadListener") - public static void rs$runWidgetOnLoadListener(int groupId) - { - throw new RuntimeException(); - } - @Replace("runWidgetOnLoadListener") - public static void rl$runWidgetOnLoadListener(int groupId) + @SuppressWarnings("InfiniteRecursion") + public static void copy$runWidgetOnLoadListener(int groupId) { - rs$runWidgetOnLoadListener(groupId); + copy$runWidgetOnLoadListener(groupId); RSWidget[][] widgets = client.getWidgets(); boolean loaded = widgets != null && widgets[groupId] != null; @@ -1147,19 +1143,14 @@ public abstract class RSClientMixin implements RSClient } @Copy("findItemDefinitions") - public static void rs$findItemDefinitions(String var0, boolean var1) - { - throw new RuntimeException(); - } - @Replace("findItemDefinitions") - public static void rl$findItemDefinitions(String var0, boolean var1) + public static void copy$findItemDefinitions(String var0, boolean var1) { GrandExchangeSearched event = new GrandExchangeSearched(); client.getCallbacks().post(GrandExchangeSearched.class, event); if (!event.isConsumed()) { - rs$findItemDefinitions(var0, var1); + copy$findItemDefinitions(var0, var1); } } @@ -1379,13 +1370,8 @@ public abstract class RSClientMixin implements RSClient } @Copy("menuAction") - static void rs$menuAction(int var0, int var1, int var2, int var3, String var4, String var5, int var6, int var7) - { - throw new RuntimeException(); - } - @Replace("menuAction") - static void rl$menuAction(int param0, int param1, int opcode, int id, String option, String target, int canvasX, int canvasY) + static void copy$menuAction(int param0, int param1, int opcode, int id, String option, String target, int canvasX, int canvasY) { boolean authentic = true; if (target != null && target.startsWith("!AUTHENTIC")) @@ -1429,7 +1415,7 @@ public abstract class RSClientMixin implements RSClient return; } - rs$menuAction(menuOptionClicked.getParam0(), menuOptionClicked.getParam1(), menuOptionClicked.getOpcode(), + copy$menuAction(menuOptionClicked.getParam0(), menuOptionClicked.getParam1(), menuOptionClicked.getOpcode(), menuOptionClicked.getIdentifier(), menuOptionClicked.getOption(), menuOptionClicked.getTarget(), canvasX, canvasY); } @@ -1697,15 +1683,11 @@ public abstract class RSClientMixin implements RSClient } @Copy("shouldLeftClickOpenMenu") - boolean rs$shouldLeftClickOpenMenu() - { - throw new RuntimeException(); - } - @Replace("shouldLeftClickOpenMenu") - boolean rl$shouldLeftClickOpenMenu() + @SuppressWarnings("InfiniteRecursion") + boolean copy$shouldLeftClickOpenMenu() { - if (rs$shouldLeftClickOpenMenu()) + if (copy$shouldLeftClickOpenMenu()) { return true; } @@ -1729,20 +1711,15 @@ public abstract class RSClientMixin implements RSClient } @Copy("menu") - void rs$menu() - { - throw new RuntimeException(); - } - @Replace("menu") - void rl$menu() + void copy$menu() { Menu menu = Menu.MENU; menu.reset(); getCallbacks().post(Menu.class, menu); if (menu.shouldRun()) { - rs$menu(); + copy$menu(); } } @@ -1810,14 +1787,11 @@ public abstract class RSClientMixin implements RSClient } @Copy("forceDisconnect") - static void rs$forceDisconnect(int reason) - { - } - @Replace("forceDisconnect") - static void forceDisconnect(int reason) + @SuppressWarnings("InfiniteRecursion") + static void copy$forceDisconnect(int reason) { - rs$forceDisconnect(reason); + copy$forceDisconnect(reason); if (hideDisconnect && reason == 1) { @@ -1844,15 +1818,11 @@ public abstract class RSClientMixin implements RSClient @Copy("changeGameOptions") - public static void rs$changeGameOptions(int var0) - { - throw new RuntimeException(); - } - @Replace("changeGameOptions") - public static void changeGameOptions(int var0) + @SuppressWarnings("InfiniteRecursion") + public static void copy$changeGameOptions(int var0) { - rs$changeGameOptions(var0); + copy$changeGameOptions(var0); int type = client.getVarpDefinition(var0).getType(); if (type == 3 || type == 4 || type == 10) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSDynamicObjectMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSDynamicObjectMixin.java index 6d6ba9711f..ed363b4bb0 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSDynamicObjectMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSDynamicObjectMixin.java @@ -46,11 +46,10 @@ public abstract class RSDynamicObjectMixin implements RSDynamicObject @Inject public int animationID; + @SuppressWarnings("InfiniteRecursion") @Copy("getModel") - public abstract RSModel rs$getModel(); - @Replace("getModel") - public RSModel rl$getModel() + public RSModel copy$getModel() { try { @@ -61,7 +60,7 @@ public abstract class RSDynamicObjectMixin implements RSDynamicObject { setAnimFrame((animFrame ^ Integer.MIN_VALUE) & 0xFFFF); } - return rs$getModel(); + return copy$getModel(); } finally { diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSItemDefinitionMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSItemDefinitionMixin.java index fc1d84f24d..59ec61453b 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSItemDefinitionMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSItemDefinitionMixin.java @@ -52,12 +52,10 @@ public abstract class RSItemDefinitionMixin implements RSItemDefinition } @Copy("getShiftClickIndex") - abstract int rs$getShiftClickActionIndex(); - @Replace("getShiftClickIndex") - public int getShiftClickActionIndex() + public int copy$getShiftClickActionIndex() { - return shiftClickActionIndex == DEFAULT_CUSTOM_SHIFT_CLICK_INDEX ? rs$getShiftClickActionIndex() : shiftClickActionIndex; + return shiftClickActionIndex == DEFAULT_CUSTOM_SHIFT_CLICK_INDEX ? copy$getShiftClickActionIndex() : shiftClickActionIndex; } @Inject @@ -77,14 +75,12 @@ public abstract class RSItemDefinitionMixin implements RSItemDefinition } @Copy("getModel") - public abstract RSModel rs$getModel(int quantity); - @Replace("getModel") - public RSModel getModel(int quantity) + public RSModel copy$getModel(int quantity) { if (modelOverride == -1) { - return rs$getModel(quantity); + return copy$getModel(quantity); } return client.getRSItemDefinition(modelOverride).getModel(quantity); diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSKeyHandlerMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSKeyHandlerMixin.java index d5e4a71392..a3192bac8c 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSKeyHandlerMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSKeyHandlerMixin.java @@ -18,45 +18,39 @@ public abstract class RSKeyHandlerMixin implements RSKeyHandler @Shadow("client") private static RSClient client; - @Copy("keyPressed") - abstract void rs$keyPressed(KeyEvent keyEvent); - - @Copy("keyReleased") - abstract void rs$keyReleased(KeyEvent keyEvent); - - @Copy("keyTyped") - abstract void rs$keyTyped(KeyEvent keyEvent); - @Override + @Copy("keyPressed") @Replace("keyPressed") public final synchronized void keyPressed(KeyEvent keyEvent) { client.getCallbacks().keyPressed(keyEvent); if (!keyEvent.isConsumed()) { - rs$keyPressed(keyEvent); + keyPressed(keyEvent); } } @Override + @Copy("keyReleased") @Replace("keyReleased") public final synchronized void keyReleased(KeyEvent keyEvent) { client.getCallbacks().keyReleased(keyEvent); if (!keyEvent.isConsumed()) { - rs$keyReleased(keyEvent); + keyReleased(keyEvent); } } @Override + @Copy("keyTyped") @Replace("keyTyped") public final void keyTyped(KeyEvent keyEvent) { client.getCallbacks().keyTyped(keyEvent); if (!keyEvent.isConsumed()) { - rs$keyTyped(keyEvent); + keyTyped(keyEvent); } } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSLoginScreenAnimationMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSLoginScreenAnimationMixin.java index 9cbce63056..fa6863fd24 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSLoginScreenAnimationMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSLoginScreenAnimationMixin.java @@ -38,17 +38,12 @@ public abstract class RSLoginScreenAnimationMixin implements RSLoginScreenAnimat private static RSClient client; @Copy("draw") - void rs$draw(int var1, int var2) - { - throw new RuntimeException(); - } - @Replace("draw") - void rl$draw(int var1, int var2) + void copy$draw(int var1, int var2) { if (client.shouldRenderLoginScreenFire()) { - rs$draw(var1, var2); + copy$draw(var1, var2); } } } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSModelDataMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSModelDataMixin.java index 4799573d1b..143b4dbcbd 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSModelDataMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSModelDataMixin.java @@ -47,14 +47,13 @@ public abstract class RSModelDataMixin implements RSModelData private float[][] faceTextureVCoordinates; @Copy("toModel") - public abstract Model rs$light(int ambient, int contrast, int var3, int var4, int var5); - @Replace("toModel") - public Model rl$light(int ambient, int contrast, int var3, int var4, int var5) + @SuppressWarnings("InfiniteRecursion") + public Model copy$light(int ambient, int contrast, int var3, int var4, int var5) { client.getLogger().trace("Lighting model {}", this); - Model model = rs$light(ambient, contrast, var3, var4, var5); + Model model = copy$light(ambient, contrast, var3, var4, var5); if (model == null) { return null; diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSModelMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSModelMixin.java index 3084faa903..ed08f47adc 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSModelMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSModelMixin.java @@ -160,13 +160,12 @@ public abstract class RSModelMixin implements RSModel } @Copy("contourGround") - public abstract Model rs$contourGround(int[][] tileHeights, int packedX, int height, int packedY, boolean copy, int contouredGround); - @Replace("contourGround") - public Model rl$contourGround(int[][] tileHeights, int packedX, int height, int packedY, boolean copy, int contouredGround) + @SuppressWarnings("InfiniteRecursion") + public Model copy$contourGround(int[][] tileHeights, int packedX, int height, int packedY, boolean copy, int contouredGround) { // With contouredGround >= 0 lighted models are countoured, so we need to copy uvs - Model model = rs$contourGround(tileHeights, packedX, height, packedY, copy, contouredGround); + Model model = copy$contourGround(tileHeights, packedX, height, packedY, copy, contouredGround); if (model != null && model != this) { RSModel rsModel = (RSModel) model; @@ -177,15 +176,13 @@ public abstract class RSModelMixin implements RSModel } @Copy("drawFace") - public abstract void rs$drawFace(int face); - @Replace("drawFace") - public void rl$drawFace(int face) + public void copy$drawFace(int face) { DrawCallbacks callbacks = client.getDrawCallbacks(); if (callbacks == null || !callbacks.drawFace(this, face)) { - rs$drawFace(face); + copy$drawFace(face); } } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSMouseHandlerMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSMouseHandlerMixin.java index 5a1ba9d01a..1f3bb83205 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSMouseHandlerMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSMouseHandlerMixin.java @@ -18,28 +18,8 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler @Inject private int isInEvent; - @Copy("mousePressed") - abstract void rs$mousePressed(MouseEvent mouseEvent); - - @Copy("mouseReleased") - abstract void rs$mouseReleased(MouseEvent mouseEvent); - - @Copy("mouseClicked") - abstract void rs$mouseClicked(MouseEvent mouseEvent); - - @Copy("mouseEntered") - abstract void rs$mouseEntered(MouseEvent mouseEvent); - - @Copy("mouseExited") - abstract void rs$mouseExited(MouseEvent mouseEvent); - - @Copy("mouseDragged") - abstract void rs$mouseDragged(MouseEvent mouseEvent); - - @Copy("mouseMoved") - abstract void rs$mouseMoved(MouseEvent mouseEvent); - @Override + @Copy("mousePressed") @Replace("mousePressed") public synchronized void mousePressed(MouseEvent mouseEvent) { @@ -52,7 +32,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler isInEvent++; try { - rs$mousePressed(mouseEvent); + mousePressed(mouseEvent); } finally { @@ -62,6 +42,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler } @Override + @Copy("mouseReleased") @Replace("mouseReleased") public synchronized void mouseReleased(MouseEvent mouseEvent) { @@ -74,7 +55,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler isInEvent++; try { - rs$mouseReleased(mouseEvent); + mouseReleased(mouseEvent); } finally { @@ -84,17 +65,19 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler } @Override + @Copy("mouseClicked") @Replace("mouseClicked") public void mouseClicked(MouseEvent event) { event = client.getCallbacks().mouseClicked(event); if (!event.isConsumed()) { - rs$mouseClicked(event); + mouseClicked(event); } } @Override + @Copy("mouseEntered") @Replace("mouseEntered") public synchronized void mouseEntered(MouseEvent mouseEvent) { @@ -107,7 +90,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler isInEvent++; try { - rs$mouseEntered(mouseEvent); + mouseEntered(mouseEvent); } finally { @@ -118,6 +101,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler @Override + @Copy("mouseExited") @Replace("mouseExited") public synchronized void mouseExited(MouseEvent mouseEvent) { @@ -130,7 +114,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler isInEvent++; try { - rs$mouseExited(mouseEvent); + mouseExited(mouseEvent); } finally { @@ -140,6 +124,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler } @Override + @Copy("mouseDragged") @Replace("mouseDragged") public synchronized void mouseDragged(MouseEvent mouseEvent) { @@ -152,7 +137,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler isInEvent++; try { - rs$mouseDragged(mouseEvent); + mouseDragged(mouseEvent); } finally { @@ -162,6 +147,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler } @Override + @Copy("mouseMoved") @Replace("mouseMoved") public synchronized void mouseMoved(MouseEvent mouseEvent) { @@ -174,7 +160,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler isInEvent++; try { - rs$mouseMoved(mouseEvent); + mouseMoved(mouseEvent); } finally { diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSMouseWheelHandlerMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSMouseWheelHandlerMixin.java index 61df42056f..e730b827f9 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSMouseWheelHandlerMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSMouseWheelHandlerMixin.java @@ -38,17 +38,15 @@ public abstract class RSMouseWheelHandlerMixin implements RSMouseWheelHandler @Shadow("client") private static RSClient client; - @Copy("mouseWheelMoved") - abstract void rs$mouseWheelMoved(MouseWheelEvent event); - @Override + @Copy("mouseWheelMoved") @Replace("mouseWheelMoved") public void mouseWheelMoved(MouseWheelEvent event) { event = client.getCallbacks().mouseWheelMoved(event); if (!event.isConsumed()) { - rs$mouseWheelMoved(event); + mouseWheelMoved(event); } } } \ No newline at end of file diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java index 0d7b46d337..c3675f45a5 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java @@ -119,15 +119,14 @@ public abstract class RSNPCMixin implements RSNPC } @Copy("getModel") - public abstract RSModel rs$getModel(); - @Replace("getModel") - public RSModel rl$getModel() + @SuppressWarnings("InfiniteRecursion") + public RSModel copy$getModel() { if (!client.isInterpolateNpcAnimations() || getAnimation() == AnimationID.HELLHOUND_DEFENCE) { - return rs$getModel(); + return copy$getModel(); } int actionFrame = getActionFrame(); int poseFrame = getPoseFrame(); @@ -139,7 +138,7 @@ public abstract class RSNPCMixin implements RSNPC setActionFrame(Integer.MIN_VALUE | getActionFrameCycle() << 16 | actionFrame); setPoseFrame(Integer.MIN_VALUE | getPoseFrameCycle() << 16 | poseFrame); setSpotAnimationFrame(Integer.MIN_VALUE | getSpotAnimationFrameCycle() << 16 | spotAnimFrame); - return rs$getModel(); + return copy$getModel(); } finally { diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSPlayerMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSPlayerMixin.java index 772c15e81b..6dc79d58b1 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSPlayerMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSPlayerMixin.java @@ -245,15 +245,14 @@ public abstract class RSPlayerMixin implements RSPlayer return model.getConvexHull(getX(), getY(), getOrientation(), tileHeight); } + @SuppressWarnings("InfiniteRecursion") @Copy("getModel") - public abstract RSModel rs$getModel(); - @Replace("getModel") - public RSModel rl$getModel() + public RSModel copy$getModel() { if (!client.isInterpolatePlayerAnimations()) { - return rs$getModel(); + return copy$getModel(); } int actionFrame = getActionFrame(); int poseFrame = getPoseFrame(); @@ -265,7 +264,7 @@ public abstract class RSPlayerMixin implements RSPlayer setActionFrame(Integer.MIN_VALUE | getActionFrameCycle() << 16 | actionFrame); setPoseFrame(Integer.MIN_VALUE | getPoseFrameCycle() << 16 | poseFrame); setSpotAnimationFrame(Integer.MIN_VALUE | getSpotAnimationFrameCycle() << 16 | spotAnimFrame); - return rs$getModel(); + return copy$getModel(); } finally { @@ -290,14 +289,13 @@ public abstract class RSPlayerMixin implements RSPlayer } @Copy("read") - public abstract void rs$read(RSBuffer buffer); - @Replace("read") - public void rl$read(RSBuffer buffer) + @SuppressWarnings("InfiniteRecursion") + public void copy$read(RSBuffer buffer) { final long appearanceHash = getPlayerAppearance() == null ? 0 : getPlayerAppearance().getHash(); - rs$read(buffer); + this.copy$read(buffer); if (getPlayerAppearance().getHash() != appearanceHash) { diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSRasterizer2DMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSRasterizer2DMixin.java index 198ad56c74..a3c984f34e 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSRasterizer2DMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSRasterizer2DMixin.java @@ -28,13 +28,8 @@ public abstract class RSRasterizer2DMixin implements RSClient } @Copy("Rasterizer2D_fillRectangleGradientAlpha") - private static void rs$drawGradientAlpha(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) - { - throw new RuntimeException(); - } - @Replace("Rasterizer2D_fillRectangleGradientAlpha") - private static void rl$drawGradientAlpha(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) + private static void copy$drawGradientAlpha(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { final int width = client.getGraphicsPixelsWidth(); final int startX = client.getStartX(); @@ -45,7 +40,7 @@ public abstract class RSRasterizer2DMixin implements RSClient if (!client.isGpu()) { - rs$drawGradientAlpha(var0, var1, var2, var3, var4, var5, var6, var7); + copy$drawGradientAlpha(var0, var1, var2, var3, var4, var5, var6, var7); return; } @@ -110,13 +105,8 @@ public abstract class RSRasterizer2DMixin implements RSClient } @Copy("Rasterizer2D_drawGradientPixels") - public static void rs$raster2d7(int var0, int var1, int var2, int var3, int var4, int var5, byte[] var6, int var7) - { - throw new RuntimeException(); - } - @Replace("Rasterizer2D_drawGradientPixels") - public static void rl$raster2d7(int var0, int var1, int var2, int var3, int var4, int var5, byte[] var6, int var7) + public static void copy$raster2d7(int var0, int var1, int var2, int var3, int var4, int var5, byte[] var6, int var7) { final int width = client.getGraphicsPixelsWidth(); final int height = client.getGraphicsPixelsHeight(); @@ -124,7 +114,7 @@ public abstract class RSRasterizer2DMixin implements RSClient if (!client.isGpu()) { - rs$raster2d7(var0, var1, var2, var3, var4, var5, var6, var7); + copy$raster2d7(var0, var1, var2, var3, var4, var5, var6, var7); return; } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSSceneMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSSceneMixin.java index bf28751d30..c276cc4397 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSSceneMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSSceneMixin.java @@ -81,7 +81,7 @@ public abstract class RSSceneMixin implements RSScene private static int rl$drawDistance; @Replace("draw") - void rl$drawScene(int cameraX, int cameraY, int cameraZ, int cameraPitch, int cameraYaw, int plane) + void drawScene(int cameraX, int cameraY, int cameraZ, int cameraPitch, int cameraYaw, int plane) { final DrawCallbacks drawCallbacks = client.getDrawCallbacks(); if (drawCallbacks != null) @@ -410,12 +410,11 @@ public abstract class RSSceneMixin implements RSScene } @Copy("newWallDecoration") - abstract public void rs$addBoundaryDecoration(int plane, int x, int y, int floor, Entity var5, Entity var6, int var7, int var8, int var9, int var10, long hash, int var12); - @Replace("newWallDecoration") - public void rl$addBoundaryDecoration(int plane, int x, int y, int floor, Entity var5, Entity var6, int var7, int var8, int var9, int var10, long hash, int var12) + @SuppressWarnings("InfiniteRecursion") + public void copy$addBoundaryDecoration(int plane, int x, int y, int floor, Entity var5, Entity var6, int var7, int var8, int var9, int var10, long hash, int var12) { - rs$addBoundaryDecoration(plane, x, y, floor, var5, var6, var7, var8, var9, var10, hash, var12); + copy$addBoundaryDecoration(plane, x, y, floor, var5, var6, var7, var8, var9, var10, hash, var12); Tile tile = getTiles()[plane][x][y]; if (tile != null) { @@ -428,12 +427,11 @@ public abstract class RSSceneMixin implements RSScene } @Copy("newGroundItemPile") - abstract public void rs$addItemPile(int plane, int x, int y, int hash, Entity var5, long var6, Entity var7, Entity var8); - @Replace("newGroundItemPile") - public void rl$addItemPile(int plane, int x, int y, int hash, Entity var5, long var6, Entity var7, Entity var8) + @SuppressWarnings("InfiniteRecursion") + public void copy$addItemPile(int plane, int x, int y, int hash, Entity var5, long var6, Entity var7, Entity var8) { - rs$addItemPile(plane, x, y, hash, var5, var6, var7, var8); + copy$addItemPile(plane, x, y, hash, var5, var6, var7, var8); Tile tile = getTiles()[plane][x][y]; if (tile != null) { @@ -446,12 +444,11 @@ public abstract class RSSceneMixin implements RSScene } @Copy("newFloorDecoration") - abstract public void rs$groundObjectSpawned(int plane, int x, int y, int floor, Entity var5, long hash, int var7); - @Replace("newFloorDecoration") - public void rl$groundObjectSpawned(int plane, int x, int y, int floor, Entity var5, long hash, int var7) + @SuppressWarnings("InfiniteRecursion") + public void copy$groundObjectSpawned(int plane, int x, int y, int floor, Entity var5, long hash, int var7) { - rs$groundObjectSpawned(plane, x, y, floor, var5, hash, var7); + copy$groundObjectSpawned(plane, x, y, floor, var5, hash, var7); Tile tile = getTiles()[plane][x][y]; if (tile != null) { @@ -464,12 +461,11 @@ public abstract class RSSceneMixin implements RSScene } @Copy("newBoundaryObject") - abstract public void rs$addBoundary(int plane, int x, int y, int floor, Entity var5, Entity var6, int var7, int var8, long hash, int var10); - @Replace("newBoundaryObject") - public void rl$addBoundary(int plane, int x, int y, int floor, Entity var5, Entity var6, int var7, int var8, long hash, int var10) + @SuppressWarnings("InfiniteRecursion") + public void copy$addBoundary(int plane, int x, int y, int floor, Entity var5, Entity var6, int var7, int var8, long hash, int var10) { - rs$addBoundary(plane, x, y, floor, var5, var6, var7, var8, hash, var10); + copy$addBoundary(plane, x, y, floor, var5, var6, var7, var8, hash, var10); Tile tile = getTiles()[plane][x][y]; if (tile != null) { @@ -482,16 +478,14 @@ public abstract class RSSceneMixin implements RSScene } @Copy("drawTileUnderlay") - abstract public void rs$drawTileUnderlay(TilePaint tile, int z, int pitchSin, int pitchCos, int yawSin, int yawCos, int x, int y); - @Replace("drawTileUnderlay") - public void rl$drawTileUnderlay(TilePaint tile, int z, int pitchSin, int pitchCos, int yawSin, int yawCos, int x, int y) + public void copy$drawTileUnderlay(TilePaint tile, int z, int pitchSin, int pitchCos, int yawSin, int yawCos, int x, int y) { if (!client.isGpu()) { try { - rs$drawTileUnderlay(tile, z, pitchSin, pitchCos, yawSin, yawCos, x, y); + copy$drawTileUnderlay(tile, z, pitchSin, pitchCos, yawSin, yawCos, x, y); } catch (Exception ex) { @@ -609,14 +603,12 @@ public abstract class RSSceneMixin implements RSScene } @Copy("drawTileOverlay") - abstract public void rs$drawTileOverlay(TileModel tile, int pitchSin, int pitchCos, int yawSin, int yawCos, int x, int y); - @Replace("drawTileOverlay") - public void rl$drawTileOverlay(TileModel tile, int pitchSin, int pitchCos, int yawSin, int yawCos, int tileX, int tileY) + public void copy$drawTileOverlay(TileModel tile, int pitchSin, int pitchCos, int yawSin, int yawCos, int tileX, int tileY) { if (!client.isGpu()) { - rs$drawTileOverlay(tile, pitchSin, pitchCos, yawSin, yawCos, tileX, tileY); + copy$drawTileOverlay(tile, pitchSin, pitchCos, yawSin, yawCos, tileX, tileY); return; } @@ -829,14 +821,12 @@ public abstract class RSSceneMixin implements RSScene } @Copy("drawTileMinimap") - abstract void rs$drawTile(int[] pixels, int pixelOffset, int width, int z, int x, int y); - @Replace("drawTileMinimap") - public void rl$drawTile(int[] pixels, int pixelOffset, int width, int z, int x, int y) + public void copy$drawTile(int[] pixels, int pixelOffset, int width, int z, int x, int y) { if (!hdMinimapEnabled) { - rs$drawTile(pixels, pixelOffset, width, z, x, y); + copy$drawTile(pixels, pixelOffset, width, z, x, y); return; } Tile tile = getTiles()[z][x][y]; diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSSequenceDefinitionMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSSequenceDefinitionMixin.java index 4bf1ab4538..b16a72a39e 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSSequenceDefinitionMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSSequenceDefinitionMixin.java @@ -16,10 +16,9 @@ public abstract class RSSequenceDefinitionMixin implements RSSequenceDefinition private static RSClient client; @Copy("applyTransformations") - public abstract RSModel rs$applyTransformations(RSModel model, int actionFrame, RSSequenceDefinition poseSeq, int poseFrame); - @Replace("applyTransformations") - public RSModel rl$applyTransformations(RSModel model, int actionFrame, RSSequenceDefinition poseSeq, int poseFrame) + @SuppressWarnings("InfiniteRecursion") + public RSModel copy$applyTransformations(RSModel model, int actionFrame, RSSequenceDefinition poseSeq, int poseFrame) { // reset frame ids because we're not interpolating this if (actionFrame < 0) @@ -32,19 +31,17 @@ public abstract class RSSequenceDefinitionMixin implements RSSequenceDefinition int packed = poseFrame ^ Integer.MIN_VALUE; poseFrame = packed & 0xFFFF; } - return rs$applyTransformations(model, actionFrame, poseSeq, poseFrame); + return copy$applyTransformations(model, actionFrame, poseSeq, poseFrame); } @Copy("transformActorModel") - public abstract RSModel rs$transformActorModel(RSModel model, int frameIdx); - @Replace("transformActorModel") - public RSModel rl$transformActorModel(RSModel model, int frame) + public RSModel copy$transformActorModel(RSModel model, int frame) { // check if the frame has not been modified if (frame >= 0) { - return rs$transformActorModel(model, frame); + return copy$transformActorModel(model, frame); } // remove flag to check if the frame has been modified @@ -84,15 +81,13 @@ public abstract class RSSequenceDefinitionMixin implements RSSequenceDefinition } @Copy("transformObjectModel") - public abstract RSModel rs$transformObjectModel(RSModel model, int frame, int rotation); - @Replace("transformObjectModel") - public RSModel rl$transformObjectModel(RSModel model, int frame, int rotation) + public RSModel copy$transformObjectModel(RSModel model, int frame, int rotation) { // check if the frame has not been modified if (frame >= 0) { - return rs$transformObjectModel(model, frame, rotation); + return copy$transformObjectModel(model, frame, rotation); } // remove flag to check if the frame has been modified @@ -159,15 +154,13 @@ public abstract class RSSequenceDefinitionMixin implements RSSequenceDefinition } @Copy("transformSpotAnimationModel") - public abstract RSModel rs$transformSpotAnimationModel(RSModel model, int frame); - @Replace("transformSpotAnimationModel") - public RSModel rl$transformSpotAnimationModel(RSModel model, int frame) + public RSModel copy$transformSpotAnimationModel(RSModel model, int frame) { // check if the frame has not been modified if (frame >= 0) { - return rs$transformSpotAnimationModel(model, frame); + return copy$transformSpotAnimationModel(model, frame); } // remove flag to check if the frame has been modified @@ -206,15 +199,13 @@ public abstract class RSSequenceDefinitionMixin implements RSSequenceDefinition } @Copy("transformWidgetModel") - public abstract RSModel rs$transformWidgetModel(RSModel model, int frame); - @Replace("transformWidgetModel") - public RSModel rl$transformWidgetModel(RSModel model, int frame) + public RSModel copy$transformWidgetModel(RSModel model, int frame) { // check if the frame has not been modified if (frame >= 0) { - return rs$transformWidgetModel(model, frame); + return copy$transformWidgetModel(model, frame); } // remove flag to check if the frame has been modified diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSSpriteMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSSpriteMixin.java index b8070779eb..536a1ef0a9 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSSpriteMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSSpriteMixin.java @@ -147,16 +147,13 @@ public abstract class RSSpriteMixin implements RSSprite } @Copy("drawRotatedMaskedCenteredAround") - abstract void rs$drawAlphaMapped(int x, int y, int width, int height, int xOffset, int yOffset, - int rotation, int zoom, int[] xOffsets, int[] yOffsets); - @Replace("drawRotatedMaskedCenteredAround") - public void rl$drawAlphaMapped(int x, int y, int width, int height, int xOffset, int yOffset, int rotation, + public void copy$drawAlphaMapped(int x, int y, int width, int height, int xOffset, int yOffset, int rotation, int zoom, int[] xOffsets, int[] yOffsets) { if (!hdMinimapEnabled) { - rs$drawAlphaMapped(x, y, width, height, xOffset, yOffset, rotation, zoom, xOffsets, yOffsets); + copy$drawAlphaMapped(x, y, width, height, xOffset, yOffset, rotation, zoom, xOffsets, yOffsets); return; } try diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSTextureMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSTextureMixin.java index 60f6704086..93f48ab61c 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSTextureMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSTextureMixin.java @@ -45,17 +45,15 @@ public abstract class RSTextureMixin implements RSTexture private float rl$v; @Copy("animate") - public abstract void rs$animate(int diff); - @Replace("animate") - public void rl$animate(int diff) + public void copy$animate(int diff) { // The client animates textures by cycling the backing pixels of the texture each fram // based on how long it was since the last tick. On GPU we let the plugin manage this // which will calculate uvs instead. if (!client.isGpu()) { - rs$animate(diff); + copy$animate(diff); return; } assert client.getDrawCallbacks() != null; diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSWidgetMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSWidgetMixin.java index b4f7a9eefb..7b26e493fb 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSWidgetMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSWidgetMixin.java @@ -583,16 +583,15 @@ public abstract class RSWidgetMixin implements RSWidget } @Copy("getModel") - public abstract RSModel rs$getModel(RSSequenceDefinition sequence, int frame, boolean alternate, RSPlayerAppearance playerComposition); - @Replace("getModel") - public RSModel rl$getModel(RSSequenceDefinition sequence, int frame, boolean alternate, RSPlayerAppearance playerComposition) + @SuppressWarnings("InfiniteRecursion") + public RSModel copy$getModel(RSSequenceDefinition sequence, int frame, boolean alternate, RSPlayerAppearance playerComposition) { if (frame != -1 && client.isInterpolateWidgetAnimations()) { frame = frame | getModelFrameCycle() << 16 | Integer.MIN_VALUE; } - return rs$getModel(sequence, frame, alternate, playerComposition); + return copy$getModel(sequence, frame, alternate, playerComposition); } @Inject diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java index 4205b6a7e4..f2fa32d90c 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/ScriptVMMixin.java @@ -138,13 +138,8 @@ public abstract class ScriptVMMixin implements RSClient } @Copy("runScript") - static void rs$runScript(RSScriptEvent event, int maxExecutionTime) - { - throw new RuntimeException(); - } - @Replace("runScript") - static void rl$runScript(RSScriptEvent event, int maxExecutionTime) + static void copy$runScript(RSScriptEvent event, int maxExecutionTime) { Object[] arguments = event.getArguments(); assert arguments != null && arguments.length > 0; @@ -164,7 +159,7 @@ public abstract class ScriptVMMixin implements RSClient try { rootScriptEvent = event; - rs$runScript(event, maxExecutionTime); + copy$runScript(event, maxExecutionTime); } finally { diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/SoundEffectMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/SoundEffectMixin.java index 0df70607b9..550e0be19a 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/SoundEffectMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/SoundEffectMixin.java @@ -57,13 +57,9 @@ public abstract class SoundEffectMixin implements RSClient private static int lastSoundEffectSourceNPCid; @Copy("updateActorSequence") - public static void rs$updateActorSequence(RSActor actor, int size) - { - throw new RuntimeException(); - } - @Replace("updateActorSequence") - public static void rl$updateActorSequence(RSActor actor, int size) + @SuppressWarnings("InfiniteRecursion") + public static void copy$updateActorSequence(RSActor actor, int size) { if (actor instanceof RSNPC) { @@ -71,7 +67,7 @@ public abstract class SoundEffectMixin implements RSClient } lastSoundEffectSourceActor = actor; - rs$updateActorSequence(actor, size); + copy$updateActorSequence(actor, size); lastSoundEffectSourceActor = null; } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/SpriteMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/SpriteMixin.java index de48e43a8a..e5ac14b7bd 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/SpriteMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/SpriteMixin.java @@ -35,13 +35,8 @@ public abstract class SpriteMixin implements RSClient } @Copy("SpriteBuffer_getSprite") - public static RSSprite rs$loadSprite(RSAbstractArchive var0, int var1, int var2) - { - throw new RuntimeException(); - } - @Replace("SpriteBuffer_getSprite") - public static RSSprite rl$loadSprite(RSAbstractArchive var0, int var1, int var2) + public static RSSprite copy$loadSprite(RSAbstractArchive var0, int var1, int var2) { Sprite sprite = spriteOverrides.get(var1); @@ -50,6 +45,6 @@ public abstract class SpriteMixin implements RSClient return (RSSprite) sprite; } - return rs$loadSprite(var0, var1, var2); + return copy$loadSprite(var0, var1, var2); } } \ No newline at end of file diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/StretchedModeMaxSizeMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/StretchedModeMaxSizeMixin.java index 7908b5422f..da1a9e6fc0 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/StretchedModeMaxSizeMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/StretchedModeMaxSizeMixin.java @@ -15,10 +15,9 @@ public abstract class StretchedModeMaxSizeMixin implements RSGameShell private static RSClient client; @Copy("resizeCanvas") - abstract void rs$resizeCanvas(); - @Replace("resizeCanvas") - public void rl$resizeCanvas() + @SuppressWarnings("InfiniteRecursion") + public void copy$resizeCanvas() { if (client.isStretchedEnabled()) { @@ -33,20 +32,18 @@ public abstract class StretchedModeMaxSizeMixin implements RSGameShell } } - rs$resizeCanvas(); + copy$resizeCanvas(); } @Copy("setMaxCanvasSize") - abstract void rs$setMaxCanvasSize(int width, int height); - @Replace("setMaxCanvasSize") - public void rl$setMaxCanvasSize(int width, int height) + public void copy$setMaxCanvasSize(int width, int height) { if (client.isStretchedEnabled() && client.isResized()) { return; } - rs$setMaxCanvasSize(width, height); + copy$setMaxCanvasSize(width, height); } } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/WidgetSpriteMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/WidgetSpriteMixin.java index 26a5586247..946fea9118 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/WidgetSpriteMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/WidgetSpriteMixin.java @@ -17,13 +17,8 @@ public abstract class WidgetSpriteMixin implements RSWidget private static Map widgetSpriteOverrides; @Copy("getSprite") - public RSSprite rs$getWidgetSprite(boolean var1) - { - throw new RuntimeException(); - } - @Replace("getSprite") - public RSSprite rl$getWidgetSprite(boolean var1) + public RSSprite copy$getWidgetSprite(boolean var1) { if (getSpriteId() != -1) { @@ -35,7 +30,7 @@ public abstract class WidgetSpriteMixin implements RSWidget } } - return rs$getWidgetSprite(var1); + return copy$getWidgetSprite(var1); } @Inject From 2c8ca731e6ef77850c8417ddd2f2a832fef1da07 Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Sun, 19 Jul 2020 17:41:51 +0100 Subject: [PATCH 105/189] rs-client: refactoring and imports --- .../main/java/net/runelite/api/Client.java | 4 + .../java/net/runelite/mixins/RSTileMixin.java | 6 +- .../java/net/runelite/rs/api/RSClient.java | 8 ++ .../main/java/ApproximateRouteStrategy.java | 104 ++++++++-------- runescape-client/src/main/java/Canvas.java | 3 +- .../src/main/java/FloorDecoration.java | 2 +- runescape-client/src/main/java/Model.java | 18 +-- .../src/main/java/ObjectSound.java | 3 +- runescape-client/src/main/java/Player.java | 2 +- runescape-client/src/main/java/Scene.java | 2 +- .../src/main/java/SoundSystem.java | 5 +- .../src/main/java/WorldMapData_1.java | 112 +++++++++--------- .../src/main/java/WorldMapLabel.java | 3 +- .../src/main/java/WorldMapSection2.java | 3 +- runescape-client/src/main/java/class171.java | 3 +- runescape-client/src/main/java/class2.java | 3 +- runescape-client/src/main/java/class279.java | 4 +- 17 files changed, 152 insertions(+), 133 deletions(-) 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 106bd3f372..d346266383 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -2063,4 +2063,8 @@ public interface Client extends GameShell * @see KeyCode */ boolean isKeyPressed(int keycode); + + int getFollowerIndex(); + + int isItemSelected(); } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSTileMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSTileMixin.java index 0e8bd43c0c..df9568a988 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSTileMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSTileMixin.java @@ -506,9 +506,7 @@ public abstract class RSTileMixin implements RSTile return; } - RSNodeDeque itemDeque = newQueue; - - if (itemDeque == null) + if (newQueue == null) { if (lastUnlink != null) { @@ -519,7 +517,7 @@ public abstract class RSTileMixin implements RSTile } // The new item gets added to either the head, or the tail, depending on its price - RSNode head = itemDeque.getSentinel(); + RSNode head = newQueue.getSentinel(); RSTileItem current = null; RSNode next = head.getPrevious(); //boolean forward = false; diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java index 896116f7e4..79a81e206e 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java @@ -1282,4 +1282,12 @@ public interface RSClient extends RSGameShell, Client @Construct RSVarbitDefinition newVarbitDefinition(); + + @Override + @Import("followerIndex") + int getFollowerIndex(); + + @Override + @Import("isItemSelected") + int isItemSelected(); } diff --git a/runescape-client/src/main/java/ApproximateRouteStrategy.java b/runescape-client/src/main/java/ApproximateRouteStrategy.java index d49052b0c5..bcd314a381 100644 --- a/runescape-client/src/main/java/ApproximateRouteStrategy.java +++ b/runescape-client/src/main/java/ApproximateRouteStrategy.java @@ -82,102 +82,102 @@ public class ApproximateRouteStrategy extends RouteStrategy { garbageValue = "1974138271" ) @Export("addNpcToMenu") - static final void addNpcToMenu(NPCDefinition var0, int var1, int var2, int var3) { + static final void addNpcToMenu(NPCDefinition npcDef, int npcIdx, int sceneX, int sceneY) { if (Client.menuOptionsCount < 400) { - if (var0.transforms != null) { - var0 = var0.transform(); + if (npcDef.transforms != null) { + npcDef = npcDef.transform(); } - if (var0 != null) { - if (var0.isInteractable) { - if (!var0.isFollower || Client.followerIndex == var1) { - String var4 = var0.name; - if (var0.combatLevel != 0) { - var4 = var4 + Canvas.method924(var0.combatLevel, class60.localPlayer.combatLevel) + " " + " (" + "level-" + var0.combatLevel + ")"; + if (npcDef != null) { + if (npcDef.isInteractable) { + if (!npcDef.isFollower || Client.followerIndex == npcIdx) { + String npcName = npcDef.name; + if (npcDef.combatLevel != 0) { + npcName = npcName + Canvas.getColorForCombatDifference(npcDef.combatLevel, class60.localPlayer.combatLevel) + " " + " (" + "level-" + npcDef.combatLevel + ")"; } - if (var0.isFollower && Client.followerOpsLowPriority) { - ScriptEvent.insertMenuItemNoShift("Examine", ItemContainer.colorStartTag(16776960) + var4, 1003, var1, var2, var3); + if (npcDef.isFollower && Client.followerOpsLowPriority) { + ScriptEvent.insertMenuItemNoShift("Examine", ItemContainer.colorStartTag(16776960) + npcName, 1003, npcIdx, sceneX, sceneY); } if (Client.isItemSelected == 1) { - ScriptEvent.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ItemContainer.colorStartTag(16776960) + var4, 7, var1, var2, var3); + ScriptEvent.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ItemContainer.colorStartTag(16776960) + npcName, 7, npcIdx, sceneX, sceneY); } else if (Client.isSpellSelected) { if ((WorldMapSprite.selectedSpellFlags & 2) == 2) { - ScriptEvent.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ItemContainer.colorStartTag(16776960) + var4, 8, var1, var2, var3); + ScriptEvent.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ItemContainer.colorStartTag(16776960) + npcName, 8, npcIdx, sceneX, sceneY); } } else { - int var5 = var0.isFollower && Client.followerOpsLowPriority ? 2000 : 0; - String[] var6 = var0.actions; - int var7; - int var8; - if (var6 != null) { - for (var7 = 4; var7 >= 0; --var7) { - if (var6[var7] != null && !var6[var7].equalsIgnoreCase("Attack")) { - var8 = 0; - if (var7 == 0) { - var8 = var5 + 9; + int flwrOffset = npcDef.isFollower && Client.followerOpsLowPriority ? 2000 : 0; + String[] actions = npcDef.actions; + int i; + int opcode; + if (actions != null) { + for (i = 4; i >= 0; --i) { + if (actions[i] != null && !actions[i].equalsIgnoreCase("Attack")) { + opcode = 0; + if (i == 0) { + opcode = flwrOffset + 9; } - if (var7 == 1) { - var8 = var5 + 10; + if (i == 1) { + opcode = flwrOffset + 10; } - if (var7 == 2) { - var8 = var5 + 11; + if (i == 2) { + opcode = flwrOffset + 11; } - if (var7 == 3) { - var8 = var5 + 12; + if (i == 3) { + opcode = flwrOffset + 12; } - if (var7 == 4) { - var8 = var5 + 13; + if (i == 4) { + opcode = flwrOffset + 13; } - ScriptEvent.insertMenuItemNoShift(var6[var7], ItemContainer.colorStartTag(16776960) + var4, var8, var1, var2, var3); + ScriptEvent.insertMenuItemNoShift(actions[i], ItemContainer.colorStartTag(16776960) + npcName, opcode, npcIdx, sceneX, sceneY); } } } - if (var6 != null) { - for (var7 = 4; var7 >= 0; --var7) { - if (var6[var7] != null && var6[var7].equalsIgnoreCase("Attack")) { - short var9 = 0; + if (actions != null) { + for (i = 4; i >= 0; --i) { + if (actions[i] != null && actions[i].equalsIgnoreCase("Attack")) { + short atkOffset = 0; if (AttackOption.AttackOption_hidden != Client.npcAttackOption) { - if (Client.npcAttackOption == AttackOption.AttackOption_alwaysRightClick || Client.npcAttackOption == AttackOption.AttackOption_dependsOnCombatLevels && var0.combatLevel > class60.localPlayer.combatLevel) { - var9 = 2000; + if (Client.npcAttackOption == AttackOption.AttackOption_alwaysRightClick || Client.npcAttackOption == AttackOption.AttackOption_dependsOnCombatLevels && npcDef.combatLevel > class60.localPlayer.combatLevel) { + atkOffset = 2000; } - var8 = 0; - if (var7 == 0) { - var8 = var9 + 9; + opcode = 0; + if (i == 0) { + opcode = atkOffset + 9; } - if (var7 == 1) { - var8 = var9 + 10; + if (i == 1) { + opcode = atkOffset + 10; } - if (var7 == 2) { - var8 = var9 + 11; + if (i == 2) { + opcode = atkOffset + 11; } - if (var7 == 3) { - var8 = var9 + 12; + if (i == 3) { + opcode = atkOffset + 12; } - if (var7 == 4) { - var8 = var9 + 13; + if (i == 4) { + opcode = atkOffset + 13; } - ScriptEvent.insertMenuItemNoShift(var6[var7], ItemContainer.colorStartTag(16776960) + var4, var8, var1, var2, var3); + ScriptEvent.insertMenuItemNoShift(actions[i], ItemContainer.colorStartTag(16776960) + npcName, opcode, npcIdx, sceneX, sceneY); } } } } - if (!var0.isFollower || !Client.followerOpsLowPriority) { - ScriptEvent.insertMenuItemNoShift("Examine", ItemContainer.colorStartTag(16776960) + var4, 1003, var1, var2, var3); + if (!npcDef.isFollower || !Client.followerOpsLowPriority) { + ScriptEvent.insertMenuItemNoShift("Examine", ItemContainer.colorStartTag(16776960) + npcName, 1003, npcIdx, sceneX, sceneY); } } diff --git a/runescape-client/src/main/java/Canvas.java b/runescape-client/src/main/java/Canvas.java index 698700a41f..3b3bda57fa 100644 --- a/runescape-client/src/main/java/Canvas.java +++ b/runescape-client/src/main/java/Canvas.java @@ -89,7 +89,8 @@ public final class Canvas extends java.awt.Canvas { signature = "(III)Ljava/lang/String;", garbageValue = "-266618010" ) - static final String method924(int var0, int var1) { + @Export("getColorForCombatDifference") + static final String getColorForCombatDifference(int var0, int var1) { int var2 = var1 - var0; if (var2 < -9) { return ItemContainer.colorStartTag(16711680); diff --git a/runescape-client/src/main/java/FloorDecoration.java b/runescape-client/src/main/java/FloorDecoration.java index c9c00b8d06..ea7048edb0 100644 --- a/runescape-client/src/main/java/FloorDecoration.java +++ b/runescape-client/src/main/java/FloorDecoration.java @@ -49,6 +49,6 @@ public final class FloorDecoration { @ObfuscatedName("o") static boolean method2977(long var0) { - return class171.method3571(var0) == 2; + return class171.Entity_unpackType(var0) == 2; } } diff --git a/runescape-client/src/main/java/Model.java b/runescape-client/src/main/java/Model.java index eb6d203951..39c27f4572 100644 --- a/runescape-client/src/main/java/Model.java +++ b/runescape-client/src/main/java/Model.java @@ -1162,30 +1162,30 @@ public class Model extends Entity { var16 = modelViewportYs[var27]; var17 = modelViewportYs[var10]; var18 = var6 + ViewportMouse.ViewportMouse_y; - boolean var32; + boolean isHovered; if (var18 < var15 && var18 < var16 && var18 < var17) { - var32 = false; + isHovered = false; } else { var18 = ViewportMouse.ViewportMouse_y - var6; if (var18 > var15 && var18 > var16 && var18 > var17) { - var32 = false; + isHovered = false; } else { var18 = var6 + ViewportMouse.ViewportMouse_x; if (var18 < var11 && var18 < var12 && var18 < var13) { - var32 = false; + isHovered = false; } else { var18 = ViewportMouse.ViewportMouse_x - var6; if (var18 > var11 && var18 > var12 && var18 > var13) { - var32 = false; + isHovered = false; } else { - var32 = true; + isHovered = true; } } } } - if (var32) { - ObjectSound.method2010(var4); + if (isHovered) { + ObjectSound.addEntityUnderMouse(var4); var2 = false; } } @@ -1674,7 +1674,7 @@ public class Model extends Entity { if (var34) { if (this.isSingleTile) { - ObjectSound.method2010(var9); + ObjectSound.addEntityUnderMouse(var9); } else { var33 = true; } diff --git a/runescape-client/src/main/java/ObjectSound.java b/runescape-client/src/main/java/ObjectSound.java index bb0b3fb623..4d9f6b6cb9 100644 --- a/runescape-client/src/main/java/ObjectSound.java +++ b/runescape-client/src/main/java/ObjectSound.java @@ -161,7 +161,8 @@ public final class ObjectSound extends Node { } @ObfuscatedName("w") - static final void method2010(long var0) { + @Export("addEntityUnderMouse") + static final void addEntityUnderMouse(long var0) { ViewportMouse.ViewportMouse_entityTags[++ViewportMouse.ViewportMouse_entityCount - 1] = var0; } diff --git a/runescape-client/src/main/java/Player.java b/runescape-client/src/main/java/Player.java index 6cdb92a53a..0ceef28f64 100644 --- a/runescape-client/src/main/java/Player.java +++ b/runescape-client/src/main/java/Player.java @@ -550,7 +550,7 @@ public final class Player extends Actor { if (Client.menuOptionsCount < 400) { String var4; if (var0.skillLevel == 0) { - var4 = var0.actions[0] + var0.username + var0.actions[1] + Canvas.method924(var0.combatLevel, class60.localPlayer.combatLevel) + " " + " (" + "level-" + var0.combatLevel + ")" + var0.actions[2]; + var4 = var0.actions[0] + var0.username + var0.actions[1] + Canvas.getColorForCombatDifference(var0.combatLevel, class60.localPlayer.combatLevel) + " " + " (" + "level-" + var0.combatLevel + ")" + var0.actions[2]; } else { var4 = var0.actions[0] + var0.username + var0.actions[1] + " " + " (" + "skill-" + var0.skillLevel + ")" + var0.actions[2]; } diff --git a/runescape-client/src/main/java/Scene.java b/runescape-client/src/main/java/Scene.java index 6f8a71f2b4..f3990b72ce 100644 --- a/runescape-client/src/main/java/Scene.java +++ b/runescape-client/src/main/java/Scene.java @@ -789,7 +789,7 @@ public class Scene { for (int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { GameObject var6 = var4.gameObjects[var5]; long var8 = var6.tag; - boolean var7 = class171.method3571(var8) == 2; + boolean var7 = class171.Entity_unpackType(var8) == 2; if (var7 && var2 == var6.startX && var3 == var6.startY) { return var6.tag; } diff --git a/runescape-client/src/main/java/SoundSystem.java b/runescape-client/src/main/java/SoundSystem.java index 3866192e1e..6f62743773 100644 --- a/runescape-client/src/main/java/SoundSystem.java +++ b/runescape-client/src/main/java/SoundSystem.java @@ -49,8 +49,9 @@ public class SoundSystem implements Runnable { signature = "(IB)I", garbageValue = "101" ) - public static int method2628(int var0) { - return class279.method5159(ViewportMouse.ViewportMouse_entityTags[var0]); + @Export("getSceneXForObjectUnderMouse") + public static int getSceneXForObjectUnderMouse(int var0) { + return class279.Entity_unpackSceneX(ViewportMouse.ViewportMouse_entityTags[var0]); } @ObfuscatedName("n") diff --git a/runescape-client/src/main/java/WorldMapData_1.java b/runescape-client/src/main/java/WorldMapData_1.java index 3f15826d23..a0858534c3 100644 --- a/runescape-client/src/main/java/WorldMapData_1.java +++ b/runescape-client/src/main/java/WorldMapData_1.java @@ -179,64 +179,64 @@ public class WorldMapData_1 extends AbstractWorldMapData { long var6 = -1L; int var8; - for (var8 = 0; var8 < WorldMapSection2.method372(); ++var8) { - long var9 = WorldMapLabel.method482(var8); - if (var9 != var6) { - var6 = var9; - int var24 = SoundSystem.method2628(var8); - long var14 = ViewportMouse.ViewportMouse_entityTags[var8]; - int var13 = (int)(var14 >>> 7 & 127L); - var13 = var13; - int var25 = class171.method3571(ViewportMouse.ViewportMouse_entityTags[var8]); - int var16 = class2.method32(var8); - if (var25 == 2 && UserComparator3.scene.getObjectFlags(TileItemPile.Client_plane, var24, var13, var9) >= 0) { - ObjectDefinition var17 = Canvas.getObjectDefinition(var16); - if (var17.transforms != null) { - var17 = var17.transform(); + for (var8 = 0; var8 < WorldMapSection2.getEntityCountUnderMouse(); ++var8) { + long entityTag_1 = WorldMapLabel.getEntityUnderMouse(var8); + if (entityTag_1 != var6) { + var6 = entityTag_1; + int sceneX = SoundSystem.getSceneXForObjectUnderMouse(var8); + long entityTag_2 = ViewportMouse.ViewportMouse_entityTags[var8]; + int sceneY = (int)(entityTag_2 >>> 7 & 0x7fL); + sceneY = sceneY; + int interactType = class171.Entity_unpackType(ViewportMouse.ViewportMouse_entityTags[var8]); + int objectId = class2.getEntityIdUnderMouse(var8); + if (interactType == 2 && UserComparator3.scene.getObjectFlags(TileItemPile.Client_plane, sceneX, sceneY, entityTag_1) >= 0) { + ObjectDefinition objectDef = Canvas.getObjectDefinition(objectId); + if (objectDef.transforms != null) { + objectDef = objectDef.transform(); } - if (var17 == null) { + if (objectDef == null) { continue; } if (Client.isItemSelected == 1) { - ScriptEvent.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ItemContainer.colorStartTag(65535) + var17.name, 1, var16, var24, var13); + ScriptEvent.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ItemContainer.colorStartTag(65535) + objectDef.name, 1, objectId, sceneX, sceneY); } else if (Client.isSpellSelected) { if ((WorldMapSprite.selectedSpellFlags & 4) == 4) { - ScriptEvent.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ItemContainer.colorStartTag(65535) + var17.name, 2, var16, var24, var13); + ScriptEvent.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ItemContainer.colorStartTag(65535) + objectDef.name, 2, objectId, sceneX, sceneY); } } else { - String[] var26 = var17.actions; - if (var26 != null) { - for (int var27 = 4; var27 >= 0; --var27) { - if (var26[var27] != null) { - short var20 = 0; - if (var27 == 0) { - var20 = 3; + String[] actions = objectDef.actions; + if (actions != null) { + for (int actionIdx = 4; actionIdx >= 0; --actionIdx) { + if (actions[actionIdx] != null) { + short opcode = 0; + if (actionIdx == 0) { + opcode = 3; } - if (var27 == 1) { - var20 = 4; + if (actionIdx == 1) { + opcode = 4; } - if (var27 == 2) { - var20 = 5; + if (actionIdx == 2) { + opcode = 5; } - if (var27 == 3) { - var20 = 6; + if (actionIdx == 3) { + opcode = 6; } - if (var27 == 4) { - var20 = 1001; + if (actionIdx == 4) { + opcode = 1001; } - ScriptEvent.insertMenuItemNoShift(var26[var27], ItemContainer.colorStartTag(65535) + var17.name, var20, var16, var24, var13); + ScriptEvent.insertMenuItemNoShift(actions[actionIdx], ItemContainer.colorStartTag(65535) + objectDef.name, opcode, objectId, sceneX, sceneY); } } } - ScriptEvent.insertMenuItemNoShift("Examine", ItemContainer.colorStartTag(65535) + var17.name, 1002, var17.id, var24, var13); + ScriptEvent.insertMenuItemNoShift("Examine", ItemContainer.colorStartTag(65535) + objectDef.name, 1002, objectDef.id, sceneX, sceneY); } } @@ -245,8 +245,8 @@ public class WorldMapData_1 extends AbstractWorldMapData { Player var21; int[] var33; int var35; - if (var25 == 1) { - NPC var30 = Client.npcs[var16]; + if (interactType == 1) { + NPC var30 = Client.npcs[objectId]; if (var30 == null) { continue; } @@ -255,7 +255,7 @@ public class WorldMapData_1 extends AbstractWorldMapData { for (var18 = 0; var18 < Client.npcCount; ++var18) { var19 = Client.npcs[Client.npcIndices[var18]]; if (var19 != null && var30 != var19 && var19.definition.size == 1 && var19.x == var30.x && var19.y == var30.y) { - ApproximateRouteStrategy.addNpcToMenu(var19.definition, Client.npcIndices[var18], var24, var13); + ApproximateRouteStrategy.addNpcToMenu(var19.definition, Client.npcIndices[var18], sceneX, sceneY); } } @@ -265,16 +265,16 @@ public class WorldMapData_1 extends AbstractWorldMapData { for (var35 = 0; var35 < var18; ++var35) { var21 = Client.players[var33[var35]]; if (var21 != null && var30.x == var21.x && var30.y == var21.y) { - Player.addPlayerToMenu(var21, var33[var35], var24, var13); + Player.addPlayerToMenu(var21, var33[var35], sceneX, sceneY); } } } - ApproximateRouteStrategy.addNpcToMenu(var30.definition, var16, var24, var13); + ApproximateRouteStrategy.addNpcToMenu(var30.definition, objectId, sceneX, sceneY); } - if (var25 == 0) { - Player var31 = Client.players[var16]; + if (interactType == 0) { + Player var31 = Client.players[objectId]; if (var31 == null) { continue; } @@ -283,7 +283,7 @@ public class WorldMapData_1 extends AbstractWorldMapData { for (var18 = 0; var18 < Client.npcCount; ++var18) { var19 = Client.npcs[Client.npcIndices[var18]]; if (var19 != null && var19.definition.size == 1 && var31.x == var19.x && var31.y == var19.y) { - ApproximateRouteStrategy.addNpcToMenu(var19.definition, Client.npcIndices[var18], var24, var13); + ApproximateRouteStrategy.addNpcToMenu(var19.definition, Client.npcIndices[var18], sceneX, sceneY); } } @@ -293,28 +293,28 @@ public class WorldMapData_1 extends AbstractWorldMapData { for (var35 = 0; var35 < var18; ++var35) { var21 = Client.players[var33[var35]]; if (var21 != null && var21 != var31 && var21.x == var31.x && var31.y == var21.y) { - Player.addPlayerToMenu(var21, var33[var35], var24, var13); + Player.addPlayerToMenu(var21, var33[var35], sceneX, sceneY); } } } - if (var16 != Client.combatTargetPlayerIndex) { - Player.addPlayerToMenu(var31, var16, var24, var13); + if (objectId != Client.combatTargetPlayerIndex) { + Player.addPlayerToMenu(var31, objectId, sceneX, sceneY); } else { - var4 = var9; + var4 = entityTag_1; } } - if (var25 == 3) { - NodeDeque var32 = Client.groundItems[TileItemPile.Client_plane][var24][var13]; + if (interactType == 3) { + NodeDeque var32 = Client.groundItems[TileItemPile.Client_plane][sceneX][sceneY]; if (var32 != null) { for (TileItem var36 = (TileItem)var32.first(); var36 != null; var36 = (TileItem)var32.next()) { ItemDefinition var34 = KitDefinition.ItemDefinition_get(var36.id); if (Client.isItemSelected == 1) { - ScriptEvent.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ItemContainer.colorStartTag(16748608) + var34.name, 16, var36.id, var24, var13); + ScriptEvent.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ItemContainer.colorStartTag(16748608) + var34.name, 16, var36.id, sceneX, sceneY); } else if (Client.isSpellSelected) { if ((WorldMapSprite.selectedSpellFlags & 1) == 1) { - ScriptEvent.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ItemContainer.colorStartTag(16748608) + var34.name, 17, var36.id, var24, var13); + ScriptEvent.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ItemContainer.colorStartTag(16748608) + var34.name, 17, var36.id, sceneX, sceneY); } } else { String[] var28 = var34.groundActions; @@ -342,13 +342,13 @@ public class WorldMapData_1 extends AbstractWorldMapData { var22 = 22; } - ScriptEvent.insertMenuItemNoShift(var28[var29], ItemContainer.colorStartTag(16748608) + var34.name, var22, var36.id, var24, var13); + ScriptEvent.insertMenuItemNoShift(var28[var29], ItemContainer.colorStartTag(16748608) + var34.name, var22, var36.id, sceneX, sceneY); } else if (var29 == 2) { - ScriptEvent.insertMenuItemNoShift("Take", ItemContainer.colorStartTag(16748608) + var34.name, 20, var36.id, var24, var13); + ScriptEvent.insertMenuItemNoShift("Take", ItemContainer.colorStartTag(16748608) + var34.name, 20, var36.id, sceneX, sceneY); } } - ScriptEvent.insertMenuItemNoShift("Examine", ItemContainer.colorStartTag(16748608) + var34.name, 1004, var36.id, var24, var13); + ScriptEvent.insertMenuItemNoShift("Examine", ItemContainer.colorStartTag(16748608) + var34.name, 1004, var36.id, sceneX, sceneY); } } } @@ -357,10 +357,10 @@ public class WorldMapData_1 extends AbstractWorldMapData { } if (-1L != var4) { - var8 = class279.method5159(var4); - int var23 = (int)(var4 >>> 7 & 127L); + var8 = class279.Entity_unpackSceneX(var4); + int pSceneY = (int)(var4 >>> 7 & 127L); Player var11 = Client.players[Client.combatTargetPlayerIndex]; - Player.addPlayerToMenu(var11, Client.combatTargetPlayerIndex, var8, var23); + Player.addPlayerToMenu(var11, Client.combatTargetPlayerIndex, var8, pSceneY); } } diff --git a/runescape-client/src/main/java/WorldMapLabel.java b/runescape-client/src/main/java/WorldMapLabel.java index 095a2aacfe..02434e2844 100644 --- a/runescape-client/src/main/java/WorldMapLabel.java +++ b/runescape-client/src/main/java/WorldMapLabel.java @@ -402,7 +402,8 @@ public class WorldMapLabel { signature = "(IB)J", garbageValue = "88" ) - public static long method482(int var0) { + @Export("getEntityUnderMouse") + public static long getEntityUnderMouse(int var0) { return ViewportMouse.ViewportMouse_entityTags[var0]; } diff --git a/runescape-client/src/main/java/WorldMapSection2.java b/runescape-client/src/main/java/WorldMapSection2.java index 37a8d7fa78..3493071514 100644 --- a/runescape-client/src/main/java/WorldMapSection2.java +++ b/runescape-client/src/main/java/WorldMapSection2.java @@ -181,7 +181,8 @@ public class WorldMapSection2 implements WorldMapSection { signature = "(I)I", garbageValue = "-2012901203" ) - public static int method372() { + @Export("getEntityCountUnderMouse") + public static int getEntityCountUnderMouse() { return ViewportMouse.ViewportMouse_entityCount; } diff --git a/runescape-client/src/main/java/class171.java b/runescape-client/src/main/java/class171.java index 72aed82be1..5bbeb91cf3 100644 --- a/runescape-client/src/main/java/class171.java +++ b/runescape-client/src/main/java/class171.java @@ -8,7 +8,8 @@ public class class171 implements class170 { static byte[][][] field2036; @ObfuscatedName("g") - public static int method3571(long var0) { + @Export("Entity_unpackType") + public static int Entity_unpackType(long var0) { return (int)(var0 >>> 14 & 3L); } diff --git a/runescape-client/src/main/java/class2.java b/runescape-client/src/main/java/class2.java index d4882636a6..168728bfab 100644 --- a/runescape-client/src/main/java/class2.java +++ b/runescape-client/src/main/java/class2.java @@ -43,7 +43,8 @@ final class class2 implements class0 { signature = "(IS)I", garbageValue = "-12961" ) - public static int method32(int var0) { + @Export("getEntityIdUnderMouse") + public static int getEntityIdUnderMouse(int var0) { return Language.Entity_unpackID(ViewportMouse.ViewportMouse_entityTags[var0]); } diff --git a/runescape-client/src/main/java/class279.java b/runescape-client/src/main/java/class279.java index 159552d75f..50c2eee9c6 100644 --- a/runescape-client/src/main/java/class279.java +++ b/runescape-client/src/main/java/class279.java @@ -1,9 +1,11 @@ +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; @ObfuscatedName("jh") public class class279 { @ObfuscatedName("p") - public static int method5159(long var0) { + @Export("Entity_unpackSceneX") + public static int Entity_unpackSceneX(long var0) { return (int)(var0 >>> 0 & 127L); } } From dee591a415254b6a83700e5d29b4dbb9a9084125 Mon Sep 17 00:00:00 2001 From: Kyle <48519776+xKylee@users.noreply.github.com> Date: Mon, 20 Jul 2020 21:56:34 +0100 Subject: [PATCH 106/189] WeaponMap: add missing weapons WeaponMap: add missing weapons --- .../src/main/java/net/runelite/client/util/WeaponMap.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/util/WeaponMap.java b/runelite-client/src/main/java/net/runelite/client/util/WeaponMap.java index 7fcd8d26f4..9f7e3c20ee 100644 --- a/runelite-client/src/main/java/net/runelite/client/util/WeaponMap.java +++ b/runelite-client/src/main/java/net/runelite/client/util/WeaponMap.java @@ -232,6 +232,7 @@ public class WeaponMap StyleMap.put(ItemID.GUTHANS_WARSPEAR_50, WeaponStyle.MELEE); StyleMap.put(ItemID.GUTHANS_WARSPEAR_75, WeaponStyle.MELEE); StyleMap.put(ItemID.HALBERD, WeaponStyle.MELEE); + StyleMap.put(ItemID.HAM_JOINT, WeaponStyle.MELEE); StyleMap.put(ItemID.HAND_FAN, WeaponStyle.MELEE); StyleMap.put(ItemID.HILL_GIANT_CLUB, WeaponStyle.MELEE); StyleMap.put(ItemID.HOLY_HANDEGG, WeaponStyle.MELEE); @@ -406,6 +407,7 @@ public class WeaponMap StyleMap.put(ItemID.STEEL_WARHAMMER, WeaponStyle.MELEE); StyleMap.put(ItemID.STONE_BOWL, WeaponStyle.MELEE); StyleMap.put(ItemID.SWAMP_LIZARD, WeaponStyle.MELEE); + StyleMap.put(ItemID.SWIFT_BLADE, WeaponStyle.MELEE); StyleMap.put(ItemID.TOKTZXILAK, WeaponStyle.MELEE); StyleMap.put(ItemID.TOKTZXILAK_20554, WeaponStyle.MELEE); StyleMap.put(ItemID.TOKTZXILEK, WeaponStyle.MELEE); @@ -726,6 +728,8 @@ public class WeaponMap StyleMap.put(ItemID.SMOKE_BATTLESTAFF, WeaponStyle.MAGIC); StyleMap.put(ItemID.STAFF, WeaponStyle.MAGIC); StyleMap.put(ItemID.STAFF_OF_AIR, WeaponStyle.MAGIC); + StyleMap.put(ItemID.STAFF_OF_BALANCE, WeaponStyle.MAGIC); + StyleMap.put(ItemID.STAFF_OF_BOB_THE_CAT, WeaponStyle.MAGIC); StyleMap.put(ItemID.STAFF_OF_EARTH, WeaponStyle.MAGIC); StyleMap.put(ItemID.STAFF_OF_FIRE, WeaponStyle.MAGIC); StyleMap.put(ItemID.STAFF_OF_LIGHT, WeaponStyle.MAGIC); From 05c4a5c1d5e1cc64672fead0c223f47cfcae1ff1 Mon Sep 17 00:00:00 2001 From: Snowflak3 Date: Mon, 20 Jul 2020 18:00:01 -0500 Subject: [PATCH 107/189] notifier: make flash color configurable Co-authored-by: Snowflak3 --- .../src/main/java/net/runelite/client/Notifier.java | 3 +-- .../net/runelite/client/config/RuneLiteConfig.java | 13 +++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/Notifier.java b/runelite-client/src/main/java/net/runelite/client/Notifier.java index fc3083c997..335ca78551 100644 --- a/runelite-client/src/main/java/net/runelite/client/Notifier.java +++ b/runelite-client/src/main/java/net/runelite/client/Notifier.java @@ -98,7 +98,6 @@ public class Notifier .build(); // Notifier properties - private static final Color FLASH_COLOR = new Color(255, 0, 0, 70); private static final int MINIMUM_FLASH_DURATION_MILLIS = 2000; private static final int MINIMUM_FLASH_DURATION_TICKS = MINIMUM_FLASH_DURATION_MILLIS / Constants.CLIENT_TICK_LENGTH; @@ -248,7 +247,7 @@ public class Notifier } final Color color = graphics.getColor(); - graphics.setColor(FLASH_COLOR); + graphics.setColor(runeLiteConfig.notificationFlashColor()); graphics.fill(new Rectangle(client.getCanvas().getSize())); graphics.setColor(color); } diff --git a/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java b/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java index 81bbfab84f..f0f652aea8 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java @@ -256,6 +256,19 @@ public interface RuneLiteConfig extends Config return false; } + @Alpha + @ConfigItem( + keyName = "notificationFlashColor", + name = "Notification Flash Color", + description = "Sets the color of the notification flashes.", + position = 26, + section = notificationSettings + ) + default Color notificationFlashColor() + { + return new Color(255, 0, 0, 70); + } + @ConfigItem( keyName = "fontType", name = "Dynamic Overlay Font", From e8d4ff38cba79d1e26f68a2e9fb4899c6736f3de Mon Sep 17 00:00:00 2001 From: trimbe <19672127+trimbe@users.noreply.github.com> Date: Mon, 20 Jul 2020 23:42:27 -0700 Subject: [PATCH 108/189] banktags: Remove tab separators from tag tabs --- .../main/java/net/runelite/api/ScriptID.java | 9 ++ .../net/runelite/api/widgets/WidgetID.java | 1 + .../net/runelite/api/widgets/WidgetInfo.java | 1 + .../plugins/banktags/BankTagsConfig.java | 11 +++ .../plugins/banktags/BankTagsPlugin.java | 89 +++++++++++++++++++ 5 files changed, 111 insertions(+) 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 af79f87a2f..520150c27c 100644 --- a/runelite-api/src/main/java/net/runelite/api/ScriptID.java +++ b/runelite-api/src/main/java/net/runelite/api/ScriptID.java @@ -284,4 +284,13 @@ public final class ScriptID */ @ScriptArguments(integer = 4, string = 1) public static final int XPDROPS_SETDROPSIZE = 996; + + /** + * Main layout script for the bank + *
      + *
    • int (WidgetID) * 17, various widgets making up the bank interface
    • + *
    + */ + @ScriptArguments(integer = 17) + public static final int BANKMAIN_BUILD = 277; } diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index be4e856996..bf4dcd9c7a 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -259,6 +259,7 @@ public class WidgetID static final int CONTENT_CONTAINER = 9; static final int TAB_CONTAINER = 10; static final int ITEM_CONTAINER = 12; + static final int SCROLLBAR = 13; static final int SEARCH_BUTTON_BACKGROUND = 39; static final int DEPOSIT_INVENTORY = 41; static final int DEPOSIT_EQUIPMENT = 43; diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java index a8ba4b369e..178768fa5d 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java @@ -146,6 +146,7 @@ public enum WidgetInfo BANK_ITEM_COUNT_TOP(WidgetID.BANK_GROUP_ID, WidgetID.Bank.ITEM_COUNT_TOP), BANK_ITEM_COUNT_BAR(WidgetID.BANK_GROUP_ID, WidgetID.Bank.ITEM_COUNT_BAR), BANK_ITEM_COUNT_BOTTOM(WidgetID.BANK_GROUP_ID, WidgetID.Bank.ITEM_COUNT_BOTTOM), + BANK_SCROLLBAR(WidgetID.BANK_GROUP_ID, WidgetID.Bank.SCROLLBAR), BANK_PIN_CONTAINER(WidgetID.BANK_PIN_GROUP_ID, WidgetID.BankPin.CONTAINER), BANK_SETTINGS_BUTTON(WidgetID.BANK_GROUP_ID, WidgetID.Bank.SETTINGS_BUTTON), BANK_TUTORIAL_BUTTON(WidgetID.BANK_GROUP_ID, WidgetID.Bank.TUTORIAL_BUTTON), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java index 61b734c836..00951fdce3 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java @@ -53,6 +53,17 @@ public interface BankTagsConfig extends Config return true; } + @ConfigItem( + keyName = "removeTabSeparators", + name = "Remove tab separators", + description = "Remove the tab separators normally present in tag tabs", + position = 3 + ) + default boolean removeSeparators() + { + return false; + } + @ConfigItem( keyName = "position", name = "", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java index 607861bfd8..f28f86fec8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java @@ -26,6 +26,7 @@ */ package net.runelite.client.plugins.banktags; +import com.google.common.base.Strings; import com.google.common.collect.Lists; import com.google.common.primitives.Shorts; import com.google.inject.Provides; @@ -33,6 +34,7 @@ import java.awt.event.MouseWheelEvent; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Comparator; import java.util.List; import java.util.Set; import java.util.TreeSet; @@ -48,6 +50,8 @@ import net.runelite.api.ItemContainer; import net.runelite.api.KeyCode; import net.runelite.api.MenuAction; import net.runelite.api.MenuEntry; +import net.runelite.api.ScriptID; +import net.runelite.api.SpriteID; import net.runelite.api.VarClientInt; import net.runelite.api.VarClientStr; import net.runelite.api.events.DraggingWidgetChanged; @@ -56,6 +60,7 @@ import net.runelite.api.events.GrandExchangeSearched; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.ScriptCallbackEvent; +import net.runelite.api.events.ScriptPostFired; import net.runelite.api.events.WidgetLoaded; import net.runelite.api.vars.InputType; import net.runelite.api.widgets.Widget; @@ -96,6 +101,10 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener public static final String ICON_SEARCH = "icon_"; public static final String TAG_TABS_CONFIG = "tagtabs"; public static final String VAR_TAG_SUFFIX = "*"; + private static final int ITEMS_PER_ROW = 8; + private static final int ITEM_VERTICAL_SPACING = 36; + private static final int ITEM_HORIZONTAL_SPACING = 48; + private static final int ITEM_ROW_START = 51; private static final int MAX_RESULT_COUNT = 250; @@ -450,6 +459,86 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener } } + private boolean isSearching() + { + return client.getVar(VarClientInt.INPUT_TYPE) == InputType.SEARCH.getType() + || (client.getVar(VarClientInt.INPUT_TYPE) <= 0 + && !Strings.isNullOrEmpty(client.getVar(VarClientStr.INPUT_TEXT))); + } + + @Subscribe + public void onScriptPostFired(ScriptPostFired event) + { + if (event.getScriptId() != ScriptID.BANKMAIN_BUILD || !config.removeSeparators()) + { + return; + } + + // allow time for the tab interface to become active + clientThread.invokeLater(() -> + { + if (!isSearching() || !tabInterface.isActive()) + { + return; + } + + Widget itemContainer = client.getWidget(WidgetInfo.BANK_ITEM_CONTAINER); + if (itemContainer == null) + { + return; + } + + int items = 0; + + Widget[] containerChildren = itemContainer.getDynamicChildren(); + + // sort the child array as the items are not in the displayed order + Arrays.sort(containerChildren, Comparator.comparing(Widget::getOriginalY) + .thenComparing(Widget::getOriginalX)); + + for (Widget child : containerChildren) + { + if (child.getItemId() != -1 && !child.isHidden()) + { + // calculate correct item position as if this was a normal tab + int adjYOffset = (items / ITEMS_PER_ROW) * ITEM_VERTICAL_SPACING; + int adjXOffset = (items % ITEMS_PER_ROW) * ITEM_HORIZONTAL_SPACING + ITEM_ROW_START; + + if (child.getOriginalY() != adjYOffset) + { + child.setOriginalY(adjYOffset); + child.revalidate(); + } + + if (child.getOriginalX() != adjXOffset) + { + child.setOriginalX(adjXOffset); + child.revalidate(); + } + + items++; + } + + // separator line or tab text + if (child.getSpriteId() == SpriteID.RESIZEABLE_MODE_SIDE_PANEL_BACKGROUND + || child.getText().contains("Tab")) + { + child.setHidden(true); + } + } + + int itemContainerHeight = client.getWidget(WidgetInfo.BANK_ITEM_CONTAINER).getHeight(); + // add a second row of height here to allow users to scroll down when the last row is partially visible + int adjustedScrollHeight = (items / ITEMS_PER_ROW) * ITEM_VERTICAL_SPACING + ITEM_VERTICAL_SPACING; + itemContainer.setScrollHeight(Math.max(adjustedScrollHeight, itemContainerHeight)); + + client.runScript(ScriptID.UPDATE_SCROLLBAR, + WidgetInfo.BANK_SCROLLBAR.getId(), + WidgetInfo.BANK_ITEM_CONTAINER.getId(), + 0); + }); + } + @Subscribe public void onGameTick(GameTick event) { From 4362adb876c13ce7129a895bc21279ff45f54014 Mon Sep 17 00:00:00 2001 From: Cyborger1 <45152844+Cyborger1@users.noreply.github.com> Date: Tue, 21 Jul 2020 04:13:11 -0400 Subject: [PATCH 109/189] itemstats: check for two handed interactions (#12168) --- .../http/api/item/ItemEquipmentStats.java | 5 ++- .../plugins/itemstats/ItemStatOverlay.java | 41 +++++++++++++++---- .../itemstats/ItemStatOverlayTest.java | 4 ++ 3 files changed, 42 insertions(+), 8 deletions(-) diff --git a/http-api/src/main/java/net/runelite/http/api/item/ItemEquipmentStats.java b/http-api/src/main/java/net/runelite/http/api/item/ItemEquipmentStats.java index 5f7fdaccbe..5848513c00 100644 --- a/http-api/src/main/java/net/runelite/http/api/item/ItemEquipmentStats.java +++ b/http-api/src/main/java/net/runelite/http/api/item/ItemEquipmentStats.java @@ -24,6 +24,7 @@ */ package net.runelite.http.api.item; +import com.google.gson.annotations.SerializedName; import lombok.Builder; import lombok.Value; @@ -33,6 +34,9 @@ public class ItemEquipmentStats { private int slot; + @SerializedName("is2h") + private boolean isTwoHanded; + private int astab; private int aslash; private int acrush; @@ -51,4 +55,3 @@ public class ItemEquipmentStats private int prayer; private int aspeed; } - diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java index ab0a527904..ea115dc148 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java @@ -239,10 +239,18 @@ public class ItemStatOverlay extends Overlay return b.toString(); } + private ItemStats getItemStatsFromContainer(ItemContainer container, int slotID) + { + final Item item = container.getItem(slotID); + return item != null ? itemManager.getItemStats(item.getId(), false) : null; + } + @VisibleForTesting String buildStatBonusString(ItemStats s) { ItemStats other = null; + // Used if switching into a 2 handed weapon to store off-hand stats + ItemStats offHand = null; final ItemEquipmentStats currentEquipment = s.getEquipment(); ItemContainer c = client.getItemContainer(InventoryID.EQUIPMENT); @@ -250,20 +258,39 @@ public class ItemStatOverlay extends Overlay { final int slot = currentEquipment.getSlot(); - final Item item = c.getItem(slot); - if (item != null) + other = getItemStatsFromContainer(c, slot); + // Check if this is a shield and there's a two-handed weapon equipped + if (other == null && slot == EquipmentInventorySlot.SHIELD.getSlotIdx()) { - other = itemManager.getItemStats(item.getId(), false); + other = getItemStatsFromContainer(c, EquipmentInventorySlot.WEAPON.getSlotIdx()); + if (other != null) + { + final ItemEquipmentStats otherEquip = other.getEquipment(); + if (otherEquip != null) + { + // Account for speed change when two handed weapon gets removed + // shield - (2h - unarmed) == shield - 2h + unarmed + other = otherEquip.isTwoHanded() ? other.subtract(UNARMED) : null; + } + } } - if (other == null && slot == EquipmentInventorySlot.WEAPON.getSlotIdx()) + if (slot == EquipmentInventorySlot.WEAPON.getSlotIdx()) { - // Unarmed - other = UNARMED; + if (other == null) + { + other = UNARMED; + } + + // Get offhand's stats to be removed from equipping a 2h weapon + if (currentEquipment.isTwoHanded()) + { + offHand = getItemStatsFromContainer(c, EquipmentInventorySlot.SHIELD.getSlotIdx()); + } } } - final ItemStats subtracted = s.subtract(other); + final ItemStats subtracted = s.subtract(other).subtract(offHand); final ItemEquipmentStats e = subtracted.getEquipment(); final StringBuilder b = new StringBuilder(); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/itemstats/ItemStatOverlayTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/itemstats/ItemStatOverlayTest.java index 9b96f02643..3151ff91c1 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/itemstats/ItemStatOverlayTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/itemstats/ItemStatOverlayTest.java @@ -56,6 +56,7 @@ public class ItemStatOverlayTest private static final ItemStats ABYSSAL_DAGGER = new ItemStats(false, true, 0.453, 8, ItemEquipmentStats.builder() .slot(EquipmentInventorySlot.WEAPON.getSlotIdx()) + .isTwoHanded(false) .astab(75) .aslash(40) .acrush(-4) @@ -67,6 +68,7 @@ public class ItemStatOverlayTest private static final ItemStats KATANA = new ItemStats(false, true, 0, 8, ItemEquipmentStats.builder() .slot(EquipmentInventorySlot.WEAPON.getSlotIdx()) + .isTwoHanded(true) .astab(7) .aslash(45) .dstab(3) @@ -79,6 +81,7 @@ public class ItemStatOverlayTest private static final ItemStats BLOWPIPE = new ItemStats(false, true, 0, 0, ItemEquipmentStats.builder() .slot(EquipmentInventorySlot.WEAPON.getSlotIdx()) + .isTwoHanded(true) .arange(60) .rstr(40) .aspeed(3) @@ -86,6 +89,7 @@ public class ItemStatOverlayTest private static final ItemStats HEAVY_BALLISTA = new ItemStats(false, true, 4, 8, ItemEquipmentStats.builder() .slot(EquipmentInventorySlot.WEAPON.getSlotIdx()) + .isTwoHanded(true) .arange(110) .aspeed(7) .build()); From d8df5920bae28ebbd230aab09e806f8d48fd9486 Mon Sep 17 00:00:00 2001 From: trimbe <19672127+trimbe@users.noreply.github.com> Date: Mon, 20 Jul 2020 23:43:12 -0700 Subject: [PATCH 110/189] banktags: Add tag tab drag blocking --- .../client/plugins/banktags/BankTagsConfig.java | 11 +++++++++++ .../client/plugins/banktags/tabs/TabInterface.java | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java index 00951fdce3..6efc69b613 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java @@ -64,6 +64,17 @@ public interface BankTagsConfig extends Config return false; } + @ConfigItem( + keyName = "preventTagTabDrags", + name = "Prevent tag tab item dragging", + description = "Ignore dragged items to prevent unwanted bank item reordering", + position = 4 + ) + default boolean preventTagTabDrags() + { + return false; + } + @ConfigItem( keyName = "position", name = "", 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 a9c930258f..1705e1a01f 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 @@ -802,6 +802,14 @@ public class TabInterface Widget draggedOn = client.getDraggedOnWidget(); Widget draggedWidget = client.getDraggedWidget(); + // Returning early or nulling the drag release listener has no effect. Hence, we need to + // null the draggedOnWidget instead. + if (draggedWidget.getId() == WidgetInfo.BANK_ITEM_CONTAINER.getId() && isActive() + && config.preventTagTabDrags()) + { + client.setDraggedOnWidget(null); + } + if (!isDragging || draggedOn == null) { return; From cc28d4d2f299d73c692d4b6fdb7b5f86d330d194 Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Sun, 19 Jul 2020 18:19:17 +0100 Subject: [PATCH 111/189] api: more imports and tile stuff --- .../main/java/net/runelite/api/Client.java | 12 ++ .../java/net/runelite/api/ItemDefinition.java | 2 + .../main/java/net/runelite/api/Player.java | 8 + .../main/java/net/runelite/api/TileItem.java | 5 + .../java/net/runelite/api/widgets/Widget.java | 22 +++ .../net/runelite/mixins/RSClientMixin.java | 4 +- .../java/net/runelite/mixins/RSTileMixin.java | 7 +- .../net/runelite/mixins/RSWidgetMixin.java | 7 + .../java/net/runelite/rs/api/RSClient.java | 25 ++- .../net/runelite/rs/api/RSItemDefinition.java | 4 + .../java/net/runelite/rs/api/RSPlayer.java | 6 + .../java/net/runelite/rs/api/RSWidget.java | 18 +- runescape-client/src/main/java/Client.java | 28 +-- .../main/java/FloorUnderlayDefinition.java | 3 +- .../src/main/java/FriendSystem.java | 2 +- .../GrandExchangeOfferWorldComparator.java | 2 +- .../src/main/java/KeyHandler.java | 8 +- runescape-client/src/main/java/Message.java | 161 +++++++++--------- .../src/main/java/ModelData0.java | 4 +- .../src/main/java/PlayerAppearance.java | 2 +- runescape-client/src/main/java/Scene.java | 18 +- .../src/main/java/TaskHandler.java | 3 +- .../src/main/java/WallDecoration.java | 40 ++--- runescape-client/src/main/java/Widget.java | 33 ++-- .../src/main/java/WorldMapAreaData.java | 5 +- .../src/main/java/WorldMapID.java | 3 +- .../src/main/java/WorldMapLabel.java | 3 +- .../src/main/java/WorldMapManager.java | 2 +- .../src/main/java/WorldMapSection0.java | 4 +- runescape-client/src/main/java/class198.java | 3 +- runescape-client/src/main/java/class247.java | 2 +- runescape-client/src/main/java/class7.java | 2 +- runescape-client/src/main/java/class9.java | 10 +- 33 files changed, 288 insertions(+), 170 deletions(-) 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 d346266383..a2d918d729 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -1883,6 +1883,10 @@ public interface Client extends GameShell boolean isSpellSelected(); + String getSelectedSpellActionName(); + + int getSelectedSpellFlags(); + /** * Set whether or not player attack options will be hidden for friends */ @@ -1937,8 +1941,12 @@ public interface Client extends GameShell void setSelectedItemID(int id); + int getSelectedItemWidget(); + void setSelectedItemWidget(int widgetID); + int getSelectedItemSlot(); + void setSelectedItemSlot(int idx); int getSelectedSpellWidget(); @@ -2067,4 +2075,8 @@ public interface Client extends GameShell int getFollowerIndex(); int isItemSelected(); + + String getSelectedItemName(); + + Widget getMessageContinueWidget(); } diff --git a/runelite-api/src/main/java/net/runelite/api/ItemDefinition.java b/runelite-api/src/main/java/net/runelite/api/ItemDefinition.java index 3bfd527493..b79db8b109 100644 --- a/runelite-api/src/main/java/net/runelite/api/ItemDefinition.java +++ b/runelite-api/src/main/java/net/runelite/api/ItemDefinition.java @@ -111,6 +111,8 @@ public interface ItemDefinition */ String[] getInventoryActions(); + String[] getGroundActions(); + /** * Gets the menu action index of the shift-click action. * diff --git a/runelite-api/src/main/java/net/runelite/api/Player.java b/runelite-api/src/main/java/net/runelite/api/Player.java index 2bb160d2f2..b8fbd7bccd 100644 --- a/runelite-api/src/main/java/net/runelite/api/Player.java +++ b/runelite-api/src/main/java/net/runelite/api/Player.java @@ -89,4 +89,12 @@ public interface Player extends Actor */ @Nullable SkullIcon getSkullIcon(); + + /** + * This is almost always not what you want + * @return literal 0 + */ + int getRSSkillLevel(); + + String[] getActions(); } diff --git a/runelite-api/src/main/java/net/runelite/api/TileItem.java b/runelite-api/src/main/java/net/runelite/api/TileItem.java index 8184835f20..51d9bbc713 100644 --- a/runelite-api/src/main/java/net/runelite/api/TileItem.java +++ b/runelite-api/src/main/java/net/runelite/api/TileItem.java @@ -42,4 +42,9 @@ public interface TileItem extends Entity * @return */ int getSpawnTime(); + + /** + * @return the tile this item is on + */ + Tile getTile(); } diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/Widget.java b/runelite-api/src/main/java/net/runelite/api/widgets/Widget.java index caee96c3b0..803453766c 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/Widget.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/Widget.java @@ -68,6 +68,8 @@ public interface Widget */ void setType(int type); + int getButtonType(); + /** * Gets the type of content displayed by the widget. */ @@ -179,6 +181,18 @@ public interface Widget @Deprecated void setRelativeY(int y); + String getSpellName(); + + /** + * You probably want {@link Widget#getText()} instead + */ + String getRSButtonText(); + + /** + * You probably want {@link Widget#getText()} instead + */ + String getButtonText(); + /** * Gets the text displayed on this widget. * @@ -235,6 +249,12 @@ public interface Widget */ String getName(); + /** + * Gets the internal field returned by getName unfiltered + * @return the unfiltered name + */ + String getRSName(); + /** * Sets the name of the widget. * @@ -605,6 +625,8 @@ public interface Widget */ String[] getActions(); + String[] getItemActions(); + /** * Creates a dynamic widget child * 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 24a4c20bda..39da230737 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -1862,8 +1862,8 @@ public abstract class RSClientMixin implements RSClient } } - @Replace("getWidgetClickMask") - public static int getWidgetClickMask(Widget widget) + @Replace("getWidgetFlags") + public static int getWidgetFlags(Widget widget) { IntegerNode integerNode = (IntegerNode) client.getWidgetFlags().get(((long) widget.getId() << 32) + (long) widget.getIndex()); diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSTileMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSTileMixin.java index df9568a988..4d65465d44 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSTileMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSTileMixin.java @@ -245,9 +245,12 @@ public abstract class RSTileMixin implements RSTile List result = new ArrayList(); Node node = layer.getBottom(); - while (node instanceof TileItem) + while (node instanceof RSTileItem) { - result.add((TileItem) node); + RSTileItem item = (RSTileItem) node; + item.setX(getX()); + item.setY(getY()); + result.add(item); node = node.getNext(); } return result; diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSWidgetMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSWidgetMixin.java index b4f7a9eefb..9b721de0e6 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSWidgetMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSWidgetMixin.java @@ -176,6 +176,13 @@ public abstract class RSWidgetMixin implements RSWidget return -1; } + @Inject + @Override + public String getButtonText() + { + return getRSButtonText().replace('\u00A0', ' '); + } + @Inject @Override public String getText() diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java index 79a81e206e..86ce152acb 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java @@ -472,7 +472,7 @@ public interface RSClient extends RSGameShell, Client @Override RSArchive getIndexScripts(); - @Import("widgetClickMasks") + @Import("widgetFlags") @Override RSNodeHashTable getWidgetFlags(); @@ -1070,6 +1070,14 @@ public interface RSClient extends RSGameShell, Client @Override void setSelectedSpellName(String name); + @Override + @Import("selectedSpellActionName") + String getSelectedSpellActionName(); + + @Override + @Import("selectedSpellFlags") + int getSelectedSpellFlags(); + @Import("isSpellSelected") boolean isSpellSelected(); @@ -1143,10 +1151,18 @@ public interface RSClient extends RSGameShell, Client @Override void setSelectedItemID(int id); + @Import("selectedItemSlot") + @Override + int getSelectedItemSlot(); + @Import("selectedItemSlot") @Override void setSelectedItemSlot(int index); + @Import("selectedItemWidget") + @Override + int getSelectedItemWidget(); + @Import("selectedItemWidget") @Override void setSelectedItemWidget(int widgetID); @@ -1290,4 +1306,11 @@ public interface RSClient extends RSGameShell, Client @Override @Import("isItemSelected") int isItemSelected(); + + @Override + @Import("selectedItemName") + String getSelectedItemName(); + + @Import("meslayerContinueWidget") + Widget getMessageContinueWidget(); } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSItemDefinition.java b/runescape-api/src/main/java/net/runelite/rs/api/RSItemDefinition.java index a3b7e24cb1..5810edcc9c 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSItemDefinition.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSItemDefinition.java @@ -65,6 +65,10 @@ public interface RSItemDefinition extends ItemDefinition @Override String[] getInventoryActions(); + @Import("groundActions") + @Override + String[] getGroundActions(); + @Import("getShiftClickIndex") @Override int getShiftClickActionIndex(); diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSPlayer.java b/runescape-api/src/main/java/net/runelite/rs/api/RSPlayer.java index fdc17aa1e0..758a554b7d 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSPlayer.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSPlayer.java @@ -65,4 +65,10 @@ public interface RSPlayer extends RSActor, Player @Import("headIconPk") int getRsSkullIcon(); + + @Import("skillLevel") + int getRSSkillLevel(); + + @Import("actions") + String[] getActions(); } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSWidget.java b/runescape-api/src/main/java/net/runelite/rs/api/RSWidget.java index 73edb5c214..cd4fa96f6b 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSWidget.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSWidget.java @@ -60,10 +60,10 @@ public interface RSWidget extends Widget @Import("parentId") void setParentId(int id); - @Import("clickMask") + @Import("flags") int getClickMask(); - @Import("clickMask") + @Import("flags") void setClickMask(int mask); //@Import("boundsIndex") -- unused for now @@ -99,6 +99,16 @@ public interface RSWidget extends Widget @Override String[] getActions(); + @Import("itemActions") + @Override + String[] getItemActions(); + + @Import("spellName") + String getSpellName(); + + @Import("buttonText") + String getRSButtonText(); + @Import("text") String getRSText(); @@ -221,6 +231,10 @@ public interface RSWidget extends Widget @Override void setType(int type); + @Import("buttonType") + @Override + int getButtonType(); + @Import("scrollX") @Override int getScrollX(); diff --git a/runescape-client/src/main/java/Client.java b/runescape-client/src/main/java/Client.java index 0f8d2ba45c..f439c6493a 100644 --- a/runescape-client/src/main/java/Client.java +++ b/runescape-client/src/main/java/Client.java @@ -94,8 +94,8 @@ public final class Client extends GameShell implements Usernamed { @ObfuscatedSignature( signature = "Lle;" ) - @Export("widgetClickMasks") - static NodeHashTable widgetClickMasks; + @Export("widgetFlags") + static NodeHashTable widgetFlags; @ObfuscatedName("np") @ObfuscatedGetter( intValue = 152745331 @@ -1492,7 +1492,7 @@ public final class Client extends GameShell implements Usernamed { scriptEvents = new NodeDeque(); field891 = new NodeDeque(); field691 = new NodeDeque(); - widgetClickMasks = new NodeHashTable(512); + widgetFlags = new NodeHashTable(512); rootWidgetCount = 0; field877 = -2; field813 = new boolean[100]; @@ -3503,7 +3503,7 @@ public final class Client extends GameShell implements Usernamed { ++itemDragDuration; if (MouseHandler.MouseHandler_currentButton == 0) { if (field785) { - if (KeyHandler.dragInventoryWidget == TaskHandler.field2066 && dragItemSlotSource != dragItemSlotDestination) { + if (KeyHandler.dragInventoryWidget == TaskHandler.hoveredItemContainer && dragItemSlotSource != dragItemSlotDestination) { Widget var43 = KeyHandler.dragInventoryWidget; byte var31 = 0; if (field838 == 1 && var43.contentType == 206) { @@ -3514,7 +3514,7 @@ public final class Client extends GameShell implements Usernamed { var31 = 0; } - if (Projectile.method2249(KeyHandler.getWidgetClickMask(var43))) { + if (Projectile.method2249(KeyHandler.getWidgetFlags(var43))) { var6 = dragItemSlotSource; var7 = dragItemSlotDestination; var43.itemIds[var7] = var43.itemIds[var6]; @@ -3559,7 +3559,7 @@ public final class Client extends GameShell implements Usernamed { } } - if (Scene.method3230()) { + if (Scene.shouldSendWalk()) { var4 = Scene.Scene_selectedX; var5 = Scene.Scene_selectedY; var18 = UserComparator4.getPacketBufferNode(ClientPacket.field2311, packetWriter.isaacCipher); @@ -3568,7 +3568,7 @@ public final class Client extends GameShell implements Usernamed { var18.packetBuffer.writeShort(var4 + class182.baseX); var18.packetBuffer.method5744(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); packetWriter.addNode(var18); - Scene.method3346(); + Scene.resetWalking(); mouseCrossX = MouseHandler.MouseHandler_lastPressedX; mouseCrossY = MouseHandler.MouseHandler_lastPressedY; mouseCrossColor = 1; @@ -3905,7 +3905,7 @@ public final class Client extends GameShell implements Usernamed { field877 = cycle; viewportX = -1; viewportY = -1; - TaskHandler.field2066 = null; + TaskHandler.hoveredItemContainer = null; if (rootInterface != -1) { rootWidgetCount = 0; NetFileRequest.drawWidgets(rootInterface, 0, 0, Varcs.canvasWidth, class52.canvasHeight, 0, 0, -1); @@ -4509,12 +4509,12 @@ public final class Client extends GameShell implements Usernamed { for (var29 = var5; var29 <= var21; ++var29) { var23 = (long)var29 + ((long)var16 << 32); - Node var11 = widgetClickMasks.get(var23); + Node var11 = widgetFlags.get(var23); if (var11 != null) { var11.remove(); } - widgetClickMasks.put(new IntegerNode(var22), var23); + widgetFlags.put(new IntegerNode(var22), var23); } var1.serverPacket = null; @@ -4677,7 +4677,7 @@ public final class Client extends GameShell implements Usernamed { } } - widgetClickMasks = new NodeHashTable(512); + widgetFlags = new NodeHashTable(512); while (var3.offset < var16) { var22 = var3.readInt(); @@ -4687,7 +4687,7 @@ public final class Client extends GameShell implements Usernamed { for (int var33 = var29; var33 <= var30; ++var33) { var25 = (long)var33 + ((long)var22 << 32); - widgetClickMasks.put(new IntegerNode(var31), var25); + widgetFlags.put(new IntegerNode(var31), var25); } } @@ -5435,14 +5435,14 @@ public final class Client extends GameShell implements Usernamed { var12 = menuArguments1[var2]; var5 = menuArguments2[var2]; Widget var13 = WorldMapSprite.getWidget(var5); - var8 = KeyHandler.getWidgetClickMask(var13); + var8 = KeyHandler.getWidgetFlags(var13); boolean var7 = (var8 >> 28 & 1) != 0; if (var7) { break label281; } Object var10000 = null; - if (Projectile.method2249(KeyHandler.getWidgetClickMask(var13))) { + if (Projectile.method2249(KeyHandler.getWidgetFlags(var13))) { break label281; } } diff --git a/runescape-client/src/main/java/FloorUnderlayDefinition.java b/runescape-client/src/main/java/FloorUnderlayDefinition.java index 60ab48c31e..ab6699db41 100644 --- a/runescape-client/src/main/java/FloorUnderlayDefinition.java +++ b/runescape-client/src/main/java/FloorUnderlayDefinition.java @@ -257,7 +257,8 @@ public class FloorUnderlayDefinition extends DualNode { signature = "(IB)Z", garbageValue = "7" ) - public static boolean method4615(int var0) { + @Export("Widget_isItemContainer") + public static boolean Widget_isItemContainer(int var0) { return (var0 >> 30 & 1) != 0; } } diff --git a/runescape-client/src/main/java/FriendSystem.java b/runescape-client/src/main/java/FriendSystem.java index 1e93fa5c5d..15aca65758 100644 --- a/runescape-client/src/main/java/FriendSystem.java +++ b/runescape-client/src/main/java/FriendSystem.java @@ -318,7 +318,7 @@ public class FriendSystem { garbageValue = "74" ) static Widget method1994(Widget var0) { - int var1 = WorldMapDecoration.method402(KeyHandler.getWidgetClickMask(var0)); + int var1 = WorldMapDecoration.method402(KeyHandler.getWidgetFlags(var0)); if (var1 == 0) { return null; } else { diff --git a/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java b/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java index e3b6dbe94c..b3b7c0da10 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java @@ -85,7 +85,7 @@ final class GrandExchangeOfferWorldComparator implements Comparator { var4.actions = null; return 1; } else if (var0 == 1308) { - var4.field2744 = Interpreter.Interpreter_intStack[--UrlRequester.Interpreter_intStackSize] == 1; + var4.prioritizeMenuEntry = Interpreter.Interpreter_intStack[--UrlRequester.Interpreter_intStackSize] == 1; return 1; } else if (var0 == 1309) { --UrlRequester.Interpreter_intStackSize; diff --git a/runescape-client/src/main/java/KeyHandler.java b/runescape-client/src/main/java/KeyHandler.java index 8fdd245d9d..906b251e1c 100644 --- a/runescape-client/src/main/java/KeyHandler.java +++ b/runescape-client/src/main/java/KeyHandler.java @@ -656,9 +656,9 @@ public final class KeyHandler implements KeyListener, FocusListener { signature = "(Lhd;I)I", garbageValue = "-1756984804" ) - @Export("getWidgetClickMask") - static int getWidgetClickMask(Widget var0) { - IntegerNode var1 = (IntegerNode)Client.widgetClickMasks.get(((long)var0.id << 32) + (long)var0.childIndex); - return var1 != null ? var1.integer : var0.clickMask; + @Export("getWidgetFlags") + static int getWidgetFlags(Widget var0) { + IntegerNode var1 = (IntegerNode)Client.widgetFlags.get(((long)var0.id << 32) + (long)var0.childIndex); + return var1 != null ? var1.integer : var0.flags; } } diff --git a/runescape-client/src/main/java/Message.java b/runescape-client/src/main/java/Message.java index 0d463e16f0..a77a0bc5dd 100644 --- a/runescape-client/src/main/java/Message.java +++ b/runescape-client/src/main/java/Message.java @@ -178,127 +178,128 @@ public class Message extends DualNode { signature = "(Lhd;III)V", garbageValue = "-1019531565" ) - static final void method1283(Widget var0, int var1, int var2) { - if (var0.buttonType == 1) { - ScriptEvent.insertMenuItemNoShift(var0.buttonText, "", 24, 0, 0, var0.id); + @Export("Widget_addToMenu") + static final void Widget_addToMenu(Widget widget, int var1, int var2) { + if (widget.buttonType == 1) { + ScriptEvent.insertMenuItemNoShift(widget.buttonText, "", 24, 0, 0, widget.id); } String var3; - if (var0.buttonType == 2 && !Client.isSpellSelected) { - var3 = WorldMapAreaData.method762(var0); + if (widget.buttonType == 2 && !Client.isSpellSelected) { + var3 = WorldMapAreaData.Widget_getSpellActionName(widget); if (var3 != null) { - ScriptEvent.insertMenuItemNoShift(var3, ItemContainer.colorStartTag(65280) + var0.spellName, 25, 0, -1, var0.id); + ScriptEvent.insertMenuItemNoShift(var3, ItemContainer.colorStartTag(65280) + widget.spellName, 25, 0, -1, widget.id); } } - if (var0.buttonType == 3) { - ScriptEvent.insertMenuItemNoShift("Close", "", 26, 0, 0, var0.id); + if (widget.buttonType == 3) { + ScriptEvent.insertMenuItemNoShift("Close", "", 26, 0, 0, widget.id); } - if (var0.buttonType == 4) { - ScriptEvent.insertMenuItemNoShift(var0.buttonText, "", 28, 0, 0, var0.id); + if (widget.buttonType == 4) { + ScriptEvent.insertMenuItemNoShift(widget.buttonText, "", 28, 0, 0, widget.id); } - if (var0.buttonType == 5) { - ScriptEvent.insertMenuItemNoShift(var0.buttonText, "", 29, 0, 0, var0.id); + if (widget.buttonType == 5) { + ScriptEvent.insertMenuItemNoShift(widget.buttonText, "", 29, 0, 0, widget.id); } - if (var0.buttonType == 6 && Client.meslayerContinueWidget == null) { - ScriptEvent.insertMenuItemNoShift(var0.buttonText, "", 30, 0, -1, var0.id); + if (widget.buttonType == 6 && Client.meslayerContinueWidget == null) { + ScriptEvent.insertMenuItemNoShift(widget.buttonText, "", 30, 0, -1, widget.id); } int var4; int var6; int var7; int var13; - if (var0.type == 2) { + if (widget.type == 2) { var13 = 0; - for (var4 = 0; var4 < var0.height; ++var4) { - for (int var5 = 0; var5 < var0.width; ++var5) { - var6 = (var0.paddingX + 32) * var5; - var7 = (var0.paddingY + 32) * var4; + for (var4 = 0; var4 < widget.height; ++var4) { + for (int var5 = 0; var5 < widget.width; ++var5) { + var6 = (widget.paddingX + 32) * var5; + var7 = (widget.paddingY + 32) * var4; if (var13 < 20) { - var6 += var0.inventoryXOffsets[var13]; - var7 += var0.inventoryYOffsets[var13]; + var6 += widget.inventoryXOffsets[var13]; + var7 += widget.inventoryYOffsets[var13]; } if (var1 >= var6 && var2 >= var7 && var1 < var6 + 32 && var2 < var7 + 32) { Client.dragItemSlotDestination = var13; - TaskHandler.field2066 = var0; - if (var0.itemIds[var13] > 0) { - ItemDefinition var8 = KitDefinition.ItemDefinition_get(var0.itemIds[var13] - 1); - if (Client.isItemSelected == 1 && FloorUnderlayDefinition.method4615(KeyHandler.getWidgetClickMask(var0))) { - if (var0.id != AbstractUserComparator.selectedItemWidget || var13 != LoginScreenAnimation.selectedItemSlot) { - ScriptEvent.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ItemContainer.colorStartTag(16748608) + var8.name, 31, var8.id, var13, var0.id); + TaskHandler.hoveredItemContainer = widget; + if (widget.itemIds[var13] > 0) { + ItemDefinition itemDef = KitDefinition.ItemDefinition_get(widget.itemIds[var13] - 1); + if (Client.isItemSelected == 1 && FloorUnderlayDefinition.Widget_isItemContainer(KeyHandler.getWidgetFlags(widget))) { + if (widget.id != AbstractUserComparator.selectedItemWidget || var13 != LoginScreenAnimation.selectedItemSlot) { + ScriptEvent.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + ItemContainer.colorStartTag(16748608) + itemDef.name, 31, itemDef.id, var13, widget.id); } - } else if (Client.isSpellSelected && FloorUnderlayDefinition.method4615(KeyHandler.getWidgetClickMask(var0))) { + } else if (Client.isSpellSelected && FloorUnderlayDefinition.Widget_isItemContainer(KeyHandler.getWidgetFlags(widget))) { if ((WorldMapSprite.selectedSpellFlags & 16) == 16) { - ScriptEvent.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ItemContainer.colorStartTag(16748608) + var8.name, 32, var8.id, var13, var0.id); + ScriptEvent.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + ItemContainer.colorStartTag(16748608) + itemDef.name, 32, itemDef.id, var13, widget.id); } } else { - String[] var9 = var8.inventoryActions; - int var10 = -1; - if (Client.shiftClickDrop && ModelData0.method3375()) { - var10 = var8.getShiftClickIndex(); + String[] actionsAry = itemDef.inventoryActions; + int shiftClickIdx = -1; + if (Client.shiftClickDrop && ModelData0.shouldPrioritizeDrop()) { + shiftClickIdx = itemDef.getShiftClickIndex(); } - int var11; - if (FloorUnderlayDefinition.method4615(KeyHandler.getWidgetClickMask(var0))) { - for (var11 = 4; var11 >= 3; --var11) { - if (var11 != var10) { - WallDecoration.addWidgetItemMenuItem(var0, var8, var13, var11, false); + int loopIdx; + if (FloorUnderlayDefinition.Widget_isItemContainer(KeyHandler.getWidgetFlags(widget))) { + for (loopIdx = 4; loopIdx >= 3; --loopIdx) { + if (loopIdx != shiftClickIdx) { + WallDecoration.addWidgetItemMenuItem(widget, itemDef, var13, loopIdx, false); } } } - if (class198.method3774(KeyHandler.getWidgetClickMask(var0))) { - ScriptEvent.insertMenuItemNoShift("Use", ItemContainer.colorStartTag(16748608) + var8.name, 38, var8.id, var13, var0.id); + if (class198.Widget_containerHasUseOption(KeyHandler.getWidgetFlags(widget))) { + ScriptEvent.insertMenuItemNoShift("Use", ItemContainer.colorStartTag(16748608) + itemDef.name, 38, itemDef.id, var13, widget.id); } - if (FloorUnderlayDefinition.method4615(KeyHandler.getWidgetClickMask(var0))) { - for (var11 = 2; var11 >= 0; --var11) { - if (var11 != var10) { - WallDecoration.addWidgetItemMenuItem(var0, var8, var13, var11, false); + if (FloorUnderlayDefinition.Widget_isItemContainer(KeyHandler.getWidgetFlags(widget))) { + for (loopIdx = 2; loopIdx >= 0; --loopIdx) { + if (loopIdx != shiftClickIdx) { + WallDecoration.addWidgetItemMenuItem(widget, itemDef, var13, loopIdx, false); } } - if (var10 >= 0) { - WallDecoration.addWidgetItemMenuItem(var0, var8, var13, var10, true); + if (shiftClickIdx >= 0) { + WallDecoration.addWidgetItemMenuItem(widget, itemDef, var13, shiftClickIdx, true); } } - var9 = var0.itemActions; - if (var9 != null) { - for (var11 = 4; var11 >= 0; --var11) { - if (var9[var11] != null) { - byte var12 = 0; - if (var11 == 0) { - var12 = 39; + actionsAry = widget.itemActions; + if (actionsAry != null) { + for (loopIdx = 4; loopIdx >= 0; --loopIdx) { + if (actionsAry[loopIdx] != null) { + byte opcode = 0; + if (loopIdx == 0) { + opcode = 39; } - if (var11 == 1) { - var12 = 40; + if (loopIdx == 1) { + opcode = 40; } - if (var11 == 2) { - var12 = 41; + if (loopIdx == 2) { + opcode = 41; } - if (var11 == 3) { - var12 = 42; + if (loopIdx == 3) { + opcode = 42; } - if (var11 == 4) { - var12 = 43; + if (loopIdx == 4) { + opcode = 43; } - ScriptEvent.insertMenuItemNoShift(var9[var11], ItemContainer.colorStartTag(16748608) + var8.name, var12, var8.id, var13, var0.id); + ScriptEvent.insertMenuItemNoShift(actionsAry[loopIdx], ItemContainer.colorStartTag(16748608) + itemDef.name, opcode, itemDef.id, var13, widget.id); } } } - ScriptEvent.insertMenuItemNoShift("Examine", ItemContainer.colorStartTag(16748608) + var8.name, 1005, var8.id, var13, var0.id); + ScriptEvent.insertMenuItemNoShift("Examine", ItemContainer.colorStartTag(16748608) + itemDef.name, 1005, itemDef.id, var13, widget.id); } } } @@ -308,55 +309,55 @@ public class Message extends DualNode { } } - if (var0.isIf3) { + if (widget.isIf3) { if (Client.isSpellSelected) { - var4 = KeyHandler.getWidgetClickMask(var0); + var4 = KeyHandler.getWidgetFlags(widget); boolean var19 = (var4 >> 21 & 1) != 0; if (var19 && (WorldMapSprite.selectedSpellFlags & 32) == 32) { - ScriptEvent.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + var0.dataText, 58, 0, var0.childIndex, var0.id); + ScriptEvent.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + widget.dataText, 58, 0, widget.childIndex, widget.id); } } else { for (var13 = 9; var13 >= 5; --var13) { - var6 = KeyHandler.getWidgetClickMask(var0); + var6 = KeyHandler.getWidgetFlags(widget); boolean var17 = (var6 >> var13 + 1 & 1) != 0; String var14; - if (!var17 && var0.onOp == null) { + if (!var17 && widget.onOp == null) { var14 = null; - } else if (var0.actions != null && var0.actions.length > var13 && var0.actions[var13] != null && var0.actions[var13].trim().length() != 0) { - var14 = var0.actions[var13]; + } else if (widget.actions != null && widget.actions.length > var13 && widget.actions[var13] != null && widget.actions[var13].trim().length() != 0) { + var14 = widget.actions[var13]; } else { var14 = null; } if (var14 != null) { - ScriptEvent.insertMenuItemNoShift(var14, var0.dataText, 1007, var13 + 1, var0.childIndex, var0.id); + ScriptEvent.insertMenuItemNoShift(var14, widget.dataText, 1007, var13 + 1, widget.childIndex, widget.id); } } - var3 = WorldMapAreaData.method762(var0); + var3 = WorldMapAreaData.Widget_getSpellActionName(widget); if (var3 != null) { - ScriptEvent.insertMenuItemNoShift(var3, var0.dataText, 25, 0, var0.childIndex, var0.id); + ScriptEvent.insertMenuItemNoShift(var3, widget.dataText, 25, 0, widget.childIndex, widget.id); } for (var4 = 4; var4 >= 0; --var4) { - var7 = KeyHandler.getWidgetClickMask(var0); + var7 = KeyHandler.getWidgetFlags(widget); boolean var18 = (var7 >> var4 + 1 & 1) != 0; String var15; - if (!var18 && var0.onOp == null) { + if (!var18 && widget.onOp == null) { var15 = null; - } else if (var0.actions != null && var0.actions.length > var4 && var0.actions[var4] != null && var0.actions[var4].trim().length() != 0) { - var15 = var0.actions[var4]; + } else if (widget.actions != null && widget.actions.length > var4 && widget.actions[var4] != null && widget.actions[var4].trim().length() != 0) { + var15 = widget.actions[var4]; } else { var15 = null; } if (var15 != null) { - ApproximateRouteStrategy.insertMenuItem(var15, var0.dataText, 57, var4 + 1, var0.childIndex, var0.id, var0.field2744); + ApproximateRouteStrategy.insertMenuItem(var15, widget.dataText, 57, var4 + 1, widget.childIndex, widget.id, widget.prioritizeMenuEntry); } } - if (WorldMapLabel.method487(KeyHandler.getWidgetClickMask(var0))) { - ScriptEvent.insertMenuItemNoShift("Continue", "", 30, 0, var0.childIndex, var0.id); + if (WorldMapLabel.Widget_hasContinueOption(KeyHandler.getWidgetFlags(widget))) { + ScriptEvent.insertMenuItemNoShift("Continue", "", 30, 0, widget.childIndex, widget.id); } } } diff --git a/runescape-client/src/main/java/ModelData0.java b/runescape-client/src/main/java/ModelData0.java index 4abbb5613b..111b71e837 100644 --- a/runescape-client/src/main/java/ModelData0.java +++ b/runescape-client/src/main/java/ModelData0.java @@ -1,3 +1,4 @@ +import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @@ -32,7 +33,8 @@ public class ModelData0 { signature = "(I)Z", garbageValue = "1532544056" ) - static boolean method3375() { + @Export("shouldPrioritizeDrop") + static boolean shouldPrioritizeDrop() { return Client.tapToDrop || KeyHandler.KeyHandler_pressedKeys[81]; } } diff --git a/runescape-client/src/main/java/PlayerAppearance.java b/runescape-client/src/main/java/PlayerAppearance.java index 5530948f0d..4e3ddb3a22 100644 --- a/runescape-client/src/main/java/PlayerAppearance.java +++ b/runescape-client/src/main/java/PlayerAppearance.java @@ -422,7 +422,7 @@ public class PlayerAppearance { garbageValue = "1446127367" ) static void method4177(int var0) { - for (IntegerNode var1 = (IntegerNode)Client.widgetClickMasks.first(); var1 != null; var1 = (IntegerNode)Client.widgetClickMasks.next()) { + for (IntegerNode var1 = (IntegerNode)Client.widgetFlags.first(); var1 != null; var1 = (IntegerNode)Client.widgetFlags.next()) { if ((long)var0 == (var1.key >> 48 & 65535L)) { var1.remove(); } diff --git a/runescape-client/src/main/java/Scene.java b/runescape-client/src/main/java/Scene.java index f3990b72ce..3a9e82aff5 100644 --- a/runescape-client/src/main/java/Scene.java +++ b/runescape-client/src/main/java/Scene.java @@ -1037,13 +1037,13 @@ public class Scene { @ObfuscatedName("av") @Export("menuOpen") - public void menuOpen(int var1, int var2, int var3, boolean var4) { - if (!method3230() || var4) { + public void menuOpen(int plane, int mouseX, int mouseY, boolean walking) { + if (!shouldSendWalk() || walking) { checkClick = true; - viewportWalking = var4; - Scene_selectedPlane = var1; - Scene_selectedScreenX = var2; - Scene_selectedScreenY = var3; + viewportWalking = walking; + Scene_selectedPlane = plane; + Scene_selectedScreenX = mouseX; + Scene_selectedScreenY = mouseY; Scene_selectedX = -1; Scene_selectedY = -1; } @@ -2541,12 +2541,14 @@ public class Scene { } @ObfuscatedName("at") - public static boolean method3230() { + @Export("shouldSendWalk") + public static boolean shouldSendWalk() { return viewportWalking && Scene_selectedX != -1; } @ObfuscatedName("aa") - public static void method3346() { + @Export("resetWalking") + public static void resetWalking() { Scene_selectedX = -1; viewportWalking = false; } diff --git a/runescape-client/src/main/java/TaskHandler.java b/runescape-client/src/main/java/TaskHandler.java index ef2ca3dc07..abb0d7bf0d 100644 --- a/runescape-client/src/main/java/TaskHandler.java +++ b/runescape-client/src/main/java/TaskHandler.java @@ -21,7 +21,8 @@ public class TaskHandler implements Runnable { @ObfuscatedSignature( signature = "Lhd;" ) - static Widget field2066; + @Export("hoveredItemContainer") + static Widget hoveredItemContainer; @ObfuscatedName("q") @ObfuscatedSignature( signature = "Lfa;" diff --git a/runescape-client/src/main/java/WallDecoration.java b/runescape-client/src/main/java/WallDecoration.java index 806ae72796..30fbc266f8 100644 --- a/runescape-client/src/main/java/WallDecoration.java +++ b/runescape-client/src/main/java/WallDecoration.java @@ -146,31 +146,31 @@ public final class WallDecoration { garbageValue = "-771039466" ) @Export("addWidgetItemMenuItem") - static final void addWidgetItemMenuItem(Widget var0, ItemDefinition var1, int var2, int var3, boolean var4) { - String[] var5 = var1.inventoryActions; - byte var6 = -1; - String var7 = null; - if (var5 != null && var5[var3] != null) { - if (var3 == 0) { - var6 = 33; - } else if (var3 == 1) { - var6 = 34; - } else if (var3 == 2) { - var6 = 35; - } else if (var3 == 3) { - var6 = 36; + static final void addWidgetItemMenuItem(Widget widget, ItemDefinition itemDef, int slotIdx, int actionIdx, boolean forceLeftClick) { + String[] itemActions = itemDef.inventoryActions; + byte opcode = -1; + String action = null; + if (itemActions != null && itemActions[actionIdx] != null) { + if (actionIdx == 0) { + opcode = 33; + } else if (actionIdx == 1) { + opcode = 34; + } else if (actionIdx == 2) { + opcode = 35; + } else if (actionIdx == 3) { + opcode = 36; } else { - var6 = 37; + opcode = 37; } - var7 = var5[var3]; - } else if (var3 == 4) { - var6 = 37; - var7 = "Drop"; + action = itemActions[actionIdx]; + } else if (actionIdx == 4) { + opcode = 37; + action = "Drop"; } - if (var6 != -1 && var7 != null) { - ApproximateRouteStrategy.insertMenuItem(var7, ItemContainer.colorStartTag(16748608) + var1.name, var6, var1.id, var2, var0.id, var4); + if (opcode != -1 && action != null) { + ApproximateRouteStrategy.insertMenuItem(action, ItemContainer.colorStartTag(16748608) + itemDef.name, opcode, itemDef.id, slotIdx, widget.id, forceLeftClick); } } diff --git a/runescape-client/src/main/java/Widget.java b/runescape-client/src/main/java/Widget.java index 11c2137794..da4aa3d291 100644 --- a/runescape-client/src/main/java/Widget.java +++ b/runescape-client/src/main/java/Widget.java @@ -440,8 +440,8 @@ public class Widget extends Node { @ObfuscatedGetter( intValue = 1451565177 ) - @Export("clickMask") - public int clickMask; + @Export("flags") + public int flags; @ObfuscatedName("cq") public boolean field2709; @ObfuscatedName("co") @@ -681,7 +681,8 @@ public class Widget extends Node { @Export("noScrollThrough") public boolean noScrollThrough; @ObfuscatedName("fn") - public boolean field2744; + @Export("prioritizeMenuEntry") + public boolean prioritizeMenuEntry; static { Widget_cachedSprites = new EvictingDualNodeHashTable(200); @@ -759,7 +760,7 @@ public class Widget extends Node { this.textShadowed = false; this.paddingX = 0; this.paddingY = 0; - this.clickMask = 0; + this.flags = 0; this.field2709 = false; this.dataText = ""; this.parent = null; @@ -785,7 +786,7 @@ public class Widget extends Node { this.cycle = -1; this.noClickThrough = false; this.noScrollThrough = false; - this.field2744 = false; + this.prioritizeMenuEntry = false; } @ObfuscatedName("g") @@ -863,22 +864,22 @@ public class Widget extends Node { this.itemQuantities = new int[this.rawWidth * this.rawHeight]; var4 = var1.readUnsignedByte(); if (var4 == 1) { - this.clickMask |= 268435456; + this.flags |= 268435456; } var5 = var1.readUnsignedByte(); if (var5 == 1) { - this.clickMask |= 1073741824; + this.flags |= 1073741824; } var6 = var1.readUnsignedByte(); if (var6 == 1) { - this.clickMask |= Integer.MIN_VALUE; + this.flags |= Integer.MIN_VALUE; } int var7 = var1.readUnsignedByte(); if (var7 == 1) { - this.clickMask |= 536870912; + this.flags |= 536870912; } this.paddingX = var1.readUnsignedByte(); @@ -905,7 +906,7 @@ public class Widget extends Node { String var10 = var1.readStringCp1252NullTerminated(); if (var10.length() > 0) { this.itemActions[var8] = var10; - this.clickMask |= 1 << var8 + 23; + this.flags |= 1 << var8 + 23; } } } @@ -989,7 +990,7 @@ public class Widget extends Node { this.paddingY = var1.readShort(); var4 = var1.readUnsignedByte(); if (var4 == 1) { - this.clickMask |= 1073741824; + this.flags |= 1073741824; } this.itemActions = new String[5]; @@ -998,7 +999,7 @@ public class Widget extends Node { String var11 = var1.readStringCp1252NullTerminated(); if (var11.length() > 0) { this.itemActions[var5] = var11; - this.clickMask |= 1 << var5 + 23; + this.flags |= 1 << var5 + 23; } } } @@ -1011,7 +1012,7 @@ public class Widget extends Node { this.spellActionName = var1.readStringCp1252NullTerminated(); this.spellName = var1.readStringCp1252NullTerminated(); var4 = var1.readUnsignedShort() & 63; - this.clickMask |= var4 << 11; + this.flags |= var4 << 11; } if (this.buttonType == 1 || this.buttonType == 4 || this.buttonType == 5 || this.buttonType == 6) { @@ -1036,11 +1037,11 @@ public class Widget extends Node { } if (this.buttonType == 1 || this.buttonType == 4 || this.buttonType == 5) { - this.clickMask |= 4194304; + this.flags |= 4194304; } if (this.buttonType == 6) { - this.clickMask |= 1; + this.flags |= 1; } } @@ -1149,7 +1150,7 @@ public class Widget extends Node { this.field2633 = var1.readUnsignedByte() == 1; } - this.clickMask = var1.readMedium(); + this.flags = var1.readMedium(); this.dataText = var1.readStringCp1252NullTerminated(); int var2 = var1.readUnsignedByte(); if (var2 > 0) { diff --git a/runescape-client/src/main/java/WorldMapAreaData.java b/runescape-client/src/main/java/WorldMapAreaData.java index b50bdf8f38..b36cb93cc8 100644 --- a/runescape-client/src/main/java/WorldMapAreaData.java +++ b/runescape-client/src/main/java/WorldMapAreaData.java @@ -198,8 +198,9 @@ public class WorldMapAreaData extends WorldMapArea { signature = "(Lhd;B)Ljava/lang/String;", garbageValue = "-51" ) - static String method762(Widget var0) { - if (WorldMapID.method617(KeyHandler.getWidgetClickMask(var0)) == 0) { + @Export("Widget_getSpellActionName") + static String Widget_getSpellActionName(Widget var0) { + if (WorldMapID.Widget_unpackTargetMask(KeyHandler.getWidgetFlags(var0)) == 0) { return null; } else { return var0.spellActionName != null && var0.spellActionName.trim().length() != 0 ? var0.spellActionName : null; diff --git a/runescape-client/src/main/java/WorldMapID.java b/runescape-client/src/main/java/WorldMapID.java index 63540a61fa..5b5a24e64f 100644 --- a/runescape-client/src/main/java/WorldMapID.java +++ b/runescape-client/src/main/java/WorldMapID.java @@ -59,7 +59,8 @@ public class WorldMapID { signature = "(II)I", garbageValue = "-211582550" ) - public static int method617(int var0) { + @Export("Widget_unpackTargetMask") + public static int Widget_unpackTargetMask(int var0) { return var0 >> 11 & 63; } diff --git a/runescape-client/src/main/java/WorldMapLabel.java b/runescape-client/src/main/java/WorldMapLabel.java index 02434e2844..69c571c4be 100644 --- a/runescape-client/src/main/java/WorldMapLabel.java +++ b/runescape-client/src/main/java/WorldMapLabel.java @@ -76,7 +76,8 @@ public class WorldMapLabel { signature = "(II)Z", garbageValue = "578317705" ) - public static boolean method487(int var0) { + @Export("Widget_hasContinueOption") + public static boolean Widget_hasContinueOption(int var0) { return (var0 & 1) != 0; } diff --git a/runescape-client/src/main/java/WorldMapManager.java b/runescape-client/src/main/java/WorldMapManager.java index 08a5f4ee6d..d2e3e9a22d 100644 --- a/runescape-client/src/main/java/WorldMapManager.java +++ b/runescape-client/src/main/java/WorldMapManager.java @@ -494,7 +494,7 @@ public final class WorldMapManager { static int method717(int var0, Script var1, boolean var2) { Widget var3 = WorldMapSprite.getWidget(Interpreter.Interpreter_intStack[--UrlRequester.Interpreter_intStackSize]); if (var0 == ScriptOpcodes.IF_GETTARGETMASK) { - Interpreter.Interpreter_intStack[++UrlRequester.Interpreter_intStackSize - 1] = WorldMapID.method617(KeyHandler.getWidgetClickMask(var3)); + Interpreter.Interpreter_intStack[++UrlRequester.Interpreter_intStackSize - 1] = WorldMapID.Widget_unpackTargetMask(KeyHandler.getWidgetFlags(var3)); return 1; } else if (var0 != ScriptOpcodes.IF_GETOP) { if (var0 == ScriptOpcodes.IF_GETOPBASE) { diff --git a/runescape-client/src/main/java/WorldMapSection0.java b/runescape-client/src/main/java/WorldMapSection0.java index ecdbfae0f5..1dbb3201d8 100644 --- a/runescape-client/src/main/java/WorldMapSection0.java +++ b/runescape-client/src/main/java/WorldMapSection0.java @@ -613,9 +613,9 @@ public class WorldMapSection0 implements WorldMapSection { var16 = WorldMapLabelSize.getWidgetChild(var1, var0); if (var16 != null) { GrandExchangeOffer.Widget_runOnTargetLeave(); - AttackOption.selectSpell(var1, var0, WorldMapID.method617(KeyHandler.getWidgetClickMask(var16)), var16.itemId); + AttackOption.selectSpell(var1, var0, WorldMapID.Widget_unpackTargetMask(KeyHandler.getWidgetFlags(var16)), var16.itemId); Client.isItemSelected = 0; - Client.selectedSpellActionName = WorldMapAreaData.method762(var16); + Client.selectedSpellActionName = WorldMapAreaData.Widget_getSpellActionName(var16); if (Client.selectedSpellActionName == null) { Client.selectedSpellActionName = "null"; } diff --git a/runescape-client/src/main/java/class198.java b/runescape-client/src/main/java/class198.java index 2faff3ce0e..79b88a1633 100644 --- a/runescape-client/src/main/java/class198.java +++ b/runescape-client/src/main/java/class198.java @@ -16,7 +16,8 @@ public class class198 { signature = "(IB)Z", garbageValue = "-100" ) - public static boolean method3774(int var0) { + @Export("Widget_containerHasUseOption") + public static boolean Widget_containerHasUseOption(int var0) { return (var0 >> 31 & 1) != 0; } } diff --git a/runescape-client/src/main/java/class247.java b/runescape-client/src/main/java/class247.java index c660c6c5f0..427ebcf543 100644 --- a/runescape-client/src/main/java/class247.java +++ b/runescape-client/src/main/java/class247.java @@ -243,7 +243,7 @@ public class class247 { } if (var11) { - int var8 = KeyHandler.getWidgetClickMask(var5); + int var8 = KeyHandler.getWidgetFlags(var5); int var9 = var0 - 1; boolean var7 = (var8 >> var9 + 1 & 1) != 0; if (var7) { diff --git a/runescape-client/src/main/java/class7.java b/runescape-client/src/main/java/class7.java index 592b68bd3a..f05dc79b4b 100644 --- a/runescape-client/src/main/java/class7.java +++ b/runescape-client/src/main/java/class7.java @@ -86,7 +86,7 @@ public enum class7 implements Enumerated { static int method100(int var0, Script var1, boolean var2) { Widget var3 = var2 ? KeyHandler.field407 : SecureRandomCallable.field544; if (var0 == ScriptOpcodes.CC_GETTARGETMASK) { - Interpreter.Interpreter_intStack[++UrlRequester.Interpreter_intStackSize - 1] = WorldMapID.method617(KeyHandler.getWidgetClickMask(var3)); + Interpreter.Interpreter_intStack[++UrlRequester.Interpreter_intStackSize - 1] = WorldMapID.Widget_unpackTargetMask(KeyHandler.getWidgetFlags(var3)); return 1; } else if (var0 != ScriptOpcodes.CC_GETOP) { if (var0 == ScriptOpcodes.CC_GETOPBASE) { diff --git a/runescape-client/src/main/java/class9.java b/runescape-client/src/main/java/class9.java index fab79f817e..360ee51295 100644 --- a/runescape-client/src/main/java/class9.java +++ b/runescape-client/src/main/java/class9.java @@ -134,7 +134,7 @@ public class class9 { static final void updateInterface(Widget[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { for (int var8 = 0; var8 < var0.length; ++var8) { Widget var9 = var0[var8]; - if (var9 != null && var9.parentId == var1 && (!var9.isIf3 || var9.type == 0 || var9.hasListener || KeyHandler.getWidgetClickMask(var9) != 0 || var9 == Client.clickedWidgetParent || var9.contentType == 1338)) { + if (var9 != null && var9.parentId == var1 && (!var9.isIf3 || var9.type == 0 || var9.hasListener || KeyHandler.getWidgetFlags(var9) != 0 || var9 == Client.clickedWidgetParent || var9.contentType == 1338)) { if (var9.isIf3) { if (Entity.isComponentHidden(var9)) { continue; @@ -268,7 +268,7 @@ public class class9 { if (var9.contentType == 1400) { class228.worldMap.addElementMenuOptions(var10, var11, var9.width, var9.height, var26, var18); } else { - Message.method1283(var9, var26 - var10, var18 - var11); + Message.Widget_addToMenu(var9, var26 - var10, var18 - var11); } } @@ -305,8 +305,8 @@ public class class9 { class247.widgetDefaultMenuAction(var20 + 1, var9.id, var9.childIndex, var9.itemId, ""); } else if (var20 == 10) { GrandExchangeOffer.Widget_runOnTargetLeave(); - AttackOption.selectSpell(var9.id, var9.childIndex, WorldMapID.method617(KeyHandler.getWidgetClickMask(var9)), var9.itemId); - Client.selectedSpellActionName = WorldMapAreaData.method762(var9); + AttackOption.selectSpell(var9.id, var9.childIndex, WorldMapID.Widget_unpackTargetMask(KeyHandler.getWidgetFlags(var9)), var9.itemId); + Client.selectedSpellActionName = WorldMapAreaData.Widget_getSpellActionName(var9); if (Client.selectedSpellActionName == null) { Client.selectedSpellActionName = "null"; } @@ -365,7 +365,7 @@ public class class9 { class228.worldMap.method6693(var26, var18, var33 & var34, var33 & var21); } - if (Client.clickedWidget != null && var9 != Client.clickedWidget && var33 && WorldMapScaleHandler.method819(KeyHandler.getWidgetClickMask(var9))) { + if (Client.clickedWidget != null && var9 != Client.clickedWidget && var33 && WorldMapScaleHandler.method819(KeyHandler.getWidgetFlags(var9))) { Client.draggedOnWidget = var9; } From 97a356a596cfa911ee4320fdb9a373d533dd0c95 Mon Sep 17 00:00:00 2001 From: Alowan Date: Wed, 22 Jul 2020 05:37:59 +0200 Subject: [PATCH 112/189] SpriteID: Fix UNKNOWN_STANCE_ICON_2 ID (#12202) --- runelite-api/src/main/java/net/runelite/api/SpriteID.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-api/src/main/java/net/runelite/api/SpriteID.java b/runelite-api/src/main/java/net/runelite/api/SpriteID.java index 9f53e45448..3dc86dacf0 100644 --- a/runelite-api/src/main/java/net/runelite/api/SpriteID.java +++ b/runelite-api/src/main/java/net/runelite/api/SpriteID.java @@ -431,7 +431,7 @@ public final class SpriteID public static final int SPELL_FIRE_SURGE_DISABLED = 415; /* Unmapped: 416, 417, 418 */ public static final int UNKNOWN_STANCE_ICON_1 = 419; - public static final int UNKNOWN_STANCE_ICON_2 = 320; + public static final int UNKNOWN_STANCE_ICON_2 = 420; public static final int UNKNOWN_STANCE_ICON_3 = 421; public static final int MINIMAP_DESTINATION_FLAG = 422; public static final int CHATBOX_BADGE_CROWN_PLAYER_MODERATOR = 423; From 92344938d366e0564062e2140f9654e9c20244bd Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 22 Jul 2020 15:29:08 -0400 Subject: [PATCH 113/189] dps counter: update boss list Co-authored-by: MarbleTurtle --- .../plugins/dpscounter/DpsCounterPlugin.java | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/dpscounter/DpsCounterPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/dpscounter/DpsCounterPlugin.java index fcdec4bfa0..cc317b790d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/dpscounter/DpsCounterPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/dpscounter/DpsCounterPlugin.java @@ -61,18 +61,41 @@ public class DpsCounterPlugin extends Plugin { private static final ImmutableSet BOSSES = ImmutableSet.of( ABYSSAL_SIRE, ABYSSAL_SIRE_5887, ABYSSAL_SIRE_5888, ABYSSAL_SIRE_5889, ABYSSAL_SIRE_5890, ABYSSAL_SIRE_5891, ABYSSAL_SIRE_5908, + ALCHEMICAL_HYDRA, ALCHEMICAL_HYDRA_8616, ALCHEMICAL_HYDRA_8617, ALCHEMICAL_HYDRA_8618, ALCHEMICAL_HYDRA_8619, ALCHEMICAL_HYDRA_8620, ALCHEMICAL_HYDRA_8621, ALCHEMICAL_HYDRA_8622, + AHRIM_THE_BLIGHTED, DHAROK_THE_WRETCHED, GUTHAN_THE_INFESTED, KARIL_THE_TAINTED, TORAG_THE_CORRUPTED, VERAC_THE_DEFILED, + BRYOPHYTA, CALLISTO, CALLISTO_6609, CERBERUS, CERBERUS_5863, CERBERUS_5866, CHAOS_ELEMENTAL, CHAOS_ELEMENTAL_6505, + CHAOS_FANATIC, + COMMANDER_ZILYANA, COMMANDER_ZILYANA_6493, CORPOREAL_BEAST, + CRAZY_ARCHAEOLOGIST, + CRYSTALLINE_HUNLLEF, CRYSTALLINE_HUNLLEF_9022, CRYSTALLINE_HUNLLEF_9023, CRYSTALLINE_HUNLLEF_9024, + DAGANNOTH_SUPREME, DAGANNOTH_PRIME, DAGANNOTH_REX, DAGANNOTH_SUPREME_6496, DAGANNOTH_PRIME_6497, DAGANNOTH_REX_6498, + DUSK, DAWN, DUSK_7851, DAWN_7852, DAWN_7853, DUSK_7854, DUSK_7855, GENERAL_GRAARDOR, GENERAL_GRAARDOR_6494, GIANT_MOLE, GIANT_MOLE_6499, + HESPORI, KALPHITE_QUEEN, KALPHITE_QUEEN_963, KALPHITE_QUEEN_965, KALPHITE_QUEEN_4303, KALPHITE_QUEEN_4304, KALPHITE_QUEEN_6500, KALPHITE_QUEEN_6501, KING_BLACK_DRAGON, KING_BLACK_DRAGON_2642, KING_BLACK_DRAGON_6502, + KRAKEN, KRAKEN_6640, KRAKEN_6656, + KREEARRA, KREEARRA_6492, KRIL_TSUTSAROTH, KRIL_TSUTSAROTH_6495, + THE_MIMIC, THE_MIMIC_8633, + THE_NIGHTMARE, THE_NIGHTMARE_9426, THE_NIGHTMARE_9427, THE_NIGHTMARE_9428, THE_NIGHTMARE_9429, THE_NIGHTMARE_9430, THE_NIGHTMARE_9431, THE_NIGHTMARE_9432, THE_NIGHTMARE_9433, + OBOR, SARACHNIS, + SCORPIA, + SKOTIZO, + THERMONUCLEAR_SMOKE_DEVIL, + TZKALZUK, + TZTOKJAD, TZTOKJAD_6506, VENENATIS, VENENATIS_6610, VETION, VETION_REBORN, + VORKATH, VORKATH_8058, VORKATH_8059, VORKATH_8060, VORKATH_8061, + ZALCANO, ZALCANO_9050, + ZULRAH, ZULRAH_2043, ZULRAH_2044, // ToB THE_MAIDEN_OF_SUGADINTI, THE_MAIDEN_OF_SUGADINTI_8361, THE_MAIDEN_OF_SUGADINTI_8362, THE_MAIDEN_OF_SUGADINTI_8363, THE_MAIDEN_OF_SUGADINTI_8364, THE_MAIDEN_OF_SUGADINTI_8365, @@ -95,9 +118,7 @@ public class DpsCounterPlugin extends Plugin GUARDIAN, GUARDIAN_7570, GUARDIAN_7571, GUARDIAN_7572, LIZARDMAN_SHAMAN_7573, LIZARDMAN_SHAMAN_7574, ICE_DEMON, ICE_DEMON_7585, - SKELETAL_MYSTIC, SKELETAL_MYSTIC_7605, SKELETAL_MYSTIC_7606, - - THE_NIGHTMARE, THE_NIGHTMARE_9426, THE_NIGHTMARE_9427, THE_NIGHTMARE_9428, THE_NIGHTMARE_9429, THE_NIGHTMARE_9430, THE_NIGHTMARE_9431, THE_NIGHTMARE_9432, THE_NIGHTMARE_9433 + SKELETAL_MYSTIC, SKELETAL_MYSTIC_7605, SKELETAL_MYSTIC_7606 ); @Inject From 5d0adf38da35f88d29f4627a6398cf5f64b7c115 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 22 Jul 2020 16:37:08 -0400 Subject: [PATCH 114/189] api: add size() to itemcontainer --- .../src/main/java/net/runelite/api/ItemContainer.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/ItemContainer.java b/runelite-api/src/main/java/net/runelite/api/ItemContainer.java index 81e2074106..9bd2332e86 100644 --- a/runelite-api/src/main/java/net/runelite/api/ItemContainer.java +++ b/runelite-api/src/main/java/net/runelite/api/ItemContainer.java @@ -67,4 +67,10 @@ public interface ItemContainer extends Node * @see ItemID */ int count(int itemId); + + /** + * Get the number of items in this item container. May include empty slots. + * @return + */ + int size(); } From ead0b2819316481fadfab1d19b51d85732e4a895 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 22 Jul 2020 16:24:44 -0400 Subject: [PATCH 115/189] bank plugin: show bank value during searches This also shows the value of tag tabs, since they internally are just bank searches. Co-authored-by: JZomerlei --- .../client/plugins/bank/BankPlugin.java | 157 +++++++----------- .../src/main/scripts/BankSearchLayout.rs2asm | 6 - 2 files changed, 62 insertions(+), 101 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java index 5b0524888e..6566b741be 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java @@ -28,12 +28,9 @@ package net.runelite.client.plugins.bank; import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.HashMultiset; -import com.google.common.collect.ImmutableList; import com.google.common.collect.Multiset; import com.google.inject.Provides; import java.text.ParseException; -import java.util.Arrays; -import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.annotation.Nullable; @@ -48,7 +45,6 @@ import net.runelite.api.ItemID; import net.runelite.api.MenuEntry; import net.runelite.api.ScriptID; import net.runelite.api.VarClientStr; -import net.runelite.api.Varbits; import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuShouldLeftClick; @@ -78,18 +74,6 @@ import net.runelite.client.util.QuantityFormatter; @Slf4j public class BankPlugin extends Plugin { - private static final List TAB_VARBITS = ImmutableList.of( - Varbits.BANK_TAB_ONE_COUNT, - Varbits.BANK_TAB_TWO_COUNT, - Varbits.BANK_TAB_THREE_COUNT, - Varbits.BANK_TAB_FOUR_COUNT, - Varbits.BANK_TAB_FIVE_COUNT, - Varbits.BANK_TAB_SIX_COUNT, - Varbits.BANK_TAB_SEVEN_COUNT, - Varbits.BANK_TAB_EIGHT_COUNT, - Varbits.BANK_TAB_NINE_COUNT - ); - private static final String DEPOSIT_WORN = "Deposit worn items"; private static final String DEPOSIT_INVENTORY = "Deposit inventory"; private static final String DEPOSIT_LOOT = "Deposit loot"; @@ -177,17 +161,6 @@ public class BankPlugin extends Plugin switch (event.getEventName()) { - case "setBankTitle": - final ContainerPrices prices = calculate(getBankTabItems()); - if (prices == null) - { - return; - } - - final String strCurrentTab = createValueText(prices); - - stringStack[stringStackSize - 1] += strCurrentTab; - break; case "bankSearchFilter": int itemId = intStack[intStackSize - 1]; String search = stringStack[stringStackSize - 1]; @@ -251,18 +224,42 @@ public class BankPlugin extends Plugin @Subscribe public void onScriptPostFired(ScriptPostFired event) { - if (event.getScriptId() != ScriptID.BANKMAIN_SEARCH_REFRESH) + if (event.getScriptId() == ScriptID.BANKMAIN_BUILD) { - return; - } + // Compute bank prices using only the shown items so that we can show bank value during searches + final Widget bankItemContainer = client.getWidget(WidgetInfo.BANK_ITEM_CONTAINER); + final ItemContainer bankContainer = client.getItemContainer(InventoryID.BANK); + final Widget[] children = bankItemContainer.getChildren(); + long geTotal = 0, haTotal = 0; - // vanilla only lays out the bank every 40 client ticks, so if the search input has changed, - // and the bank wasn't laid out this tick, lay it out early - final String inputText = client.getVar(VarClientStr.INPUT_TEXT); - if (searchString != inputText && client.getGameCycle() % 40 != 0) + log.debug("Computing bank price of {} items", bankContainer.size()); + + // The first components are the bank items, followed by tabs etc. There are always 816 components regardless + // of bank size, but we only need to check up to the bank size. + for (int i = 0; i < bankContainer.size(); ++i) + { + Widget child = children[i]; + if (child != null && !child.isSelfHidden() && child.getItemId() > -1) + { + final int alchPrice = getHaPrice(child.getItemId()); + geTotal += (long) itemManager.getItemPrice(child.getItemId()) * child.getItemQuantity(); + haTotal += (long) alchPrice * child.getItemQuantity(); + } + } + + Widget bankTitle = client.getWidget(WidgetInfo.BANK_TITLE_BAR); + bankTitle.setText(bankTitle.getText() + createValueText(geTotal, haTotal)); + } + else if (event.getScriptId() == ScriptID.BANKMAIN_SEARCH_REFRESH) { - clientThread.invokeLater(bankSearch::layoutBank); - searchString = inputText; + // vanilla only lays out the bank every 40 client ticks, so if the search input has changed, + // and the bank wasn't laid out this tick, lay it out early + final String inputText = client.getVar(VarClientStr.INPUT_TEXT); + if (searchString != inputText && client.getGameCycle() % 40 != 0) + { + clientThread.invokeLater(bankSearch::layoutBank); + searchString = inputText; + } } } @@ -281,78 +278,50 @@ public class BankPlugin extends Plugin } } - private String createValueText(final ContainerPrices prices) + private String createValueText(long gePrice, long haPrice) { - final long gePrice = prices.getGePrice(); - final long haPrice = prices.getHighAlchPrice(); - - String strCurrentTab = ""; + StringBuilder stringBuilder = new StringBuilder(); if (config.showGE() && gePrice != 0) { - strCurrentTab += " ("; + stringBuilder.append(" ("); if (config.showHA()) { - strCurrentTab += "GE: "; + stringBuilder.append("GE: "); } if (config.showExact()) { - strCurrentTab += QuantityFormatter.formatNumber(gePrice) + ")"; + stringBuilder.append(QuantityFormatter.formatNumber(gePrice)); } else { - strCurrentTab += QuantityFormatter.quantityToStackSize(gePrice) + ")"; + stringBuilder.append(QuantityFormatter.quantityToStackSize(gePrice)); } + stringBuilder.append(')'); } if (config.showHA() && haPrice != 0) { - strCurrentTab += " ("; + stringBuilder.append(" ("); if (config.showGE()) { - strCurrentTab += "HA: "; + stringBuilder.append("HA: "); } if (config.showExact()) { - strCurrentTab += QuantityFormatter.formatNumber(haPrice) + ")"; + stringBuilder.append(QuantityFormatter.formatNumber(haPrice)); } else { - strCurrentTab += QuantityFormatter.quantityToStackSize(haPrice) + ")"; + stringBuilder.append(QuantityFormatter.quantityToStackSize(haPrice)); } + stringBuilder.append(')'); } - return strCurrentTab; - } - - private Item[] getBankTabItems() - { - final ItemContainer container = client.getItemContainer(InventoryID.BANK); - if (container == null) - { - return null; - } - - final Item[] items = container.getItems(); - int currentTab = client.getVar(Varbits.CURRENT_BANK_TAB); - - if (currentTab > 0) - { - int startIndex = 0; - - for (int i = currentTab - 1; i > 0; i--) - { - startIndex += client.getVar(TAB_VARBITS.get(i - 1)); - } - - int itemCount = client.getVar(TAB_VARBITS.get(currentTab - 1)); - return Arrays.copyOfRange(items, startIndex, startIndex + itemCount); - } - - return items; + return stringBuilder.toString(); } private void updateSeedVaultTotal() @@ -375,8 +344,7 @@ public class BankPlugin extends Plugin return; } - final String titleText = createValueText(prices); - + final String titleText = createValueText(prices.getGePrice(), prices.getHighAlchPrice()); title.setText(SEED_VAULT_TITLE + titleText); } @@ -509,24 +477,23 @@ public class BankPlugin extends Plugin continue; } - switch (id) - { - case ItemID.COINS_995: - ge += qty; - alch += qty; - break; - case ItemID.PLATINUM_TOKEN: - ge += qty * 1000L; - alch += qty * 1000L; - break; - default: - final int alchPrice = itemManager.getItemComposition(id).getHaPrice(); - alch += (long) alchPrice * qty; - ge += (long) itemManager.getItemPrice(id) * qty; - break; - } + alch += (long) getHaPrice(id) * qty; + ge += (long) itemManager.getItemPrice(id) * qty; } return new ContainerPrices(ge, alch); } + + private int getHaPrice(int itemId) + { + switch (itemId) + { + case ItemID.COINS_995: + return 1; + case ItemID.PLATINUM_TOKEN: + return 1000; + default: + return itemManager.getItemComposition(itemId).getHaPrice(); + } + } } diff --git a/runelite-client/src/main/scripts/BankSearchLayout.rs2asm b/runelite-client/src/main/scripts/BankSearchLayout.rs2asm index 89f8bb4d87..04692f488f 100644 --- a/runelite-client/src/main/scripts/BankSearchLayout.rs2asm +++ b/runelite-client/src/main/scripts/BankSearchLayout.rs2asm @@ -823,8 +823,6 @@ LABEL725: jump LABEL729 LABEL726: sconst "The Bank of Gielinor" - sconst "setBankTitle" ; - runelite_callback ; iload 5 if_settext LABEL729: @@ -987,8 +985,6 @@ LABEL857: get_varbit 4150 enum join_string 2 - sconst "setBankTitle" ; - runelite_callback ; iload 5 if_settext jump LABEL873 @@ -997,8 +993,6 @@ LABEL867: get_varbit 4150 tostring join_string 2 - sconst "setBankTitle" ; - runelite_callback ; iload 5 if_settext FinishBuilding: From e62866d391a56a2916aa0b3ff84255f19a975b1f Mon Sep 17 00:00:00 2001 From: Sean Dewar Date: Thu, 23 Jul 2020 01:41:06 +0100 Subject: [PATCH 116/189] WidgetOverlay: Make hallowed sepulchre timer moveable (#12200) --- .../src/main/java/net/runelite/api/widgets/WidgetID.java | 6 ++++++ .../src/main/java/net/runelite/api/widgets/WidgetInfo.java | 1 + .../java/net/runelite/client/ui/overlay/WidgetOverlay.java | 1 + 3 files changed, 8 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index bf4dcd9c7a..d7051a8967 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -153,6 +153,7 @@ public class WidgetID public static final int ADVENTURE_LOG_ID = 187; public static final int GENERIC_SCROLL_GROUP_ID = 625; public static final int GAUNTLET_TIMER_GROUP_ID = 637; + public static final int HALLOWED_SEPULCHRE_TIMER_GROUP_ID = 668; public static final int BANK_PIN_GROUP_ID = 213; public static final int HEALTH_OVERLAY_BAR_GROUP_ID = 303; @@ -914,6 +915,11 @@ public class WidgetID static final int CONTAINER = 2; } + static class HallowedSepulchreTimer + { + static final int CONTAINER = 2; + } + static class BankPin { static final int CONTAINER = 0; diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java index 178768fa5d..079c57f448 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java @@ -539,6 +539,7 @@ public enum WidgetInfo SKILLS_CONTAINER(WidgetID.SKILLS_GROUP_ID, WidgetID.Skills.CONTAINER), GAUNTLET_TIMER_CONTAINER(WidgetID.GAUNTLET_TIMER_GROUP_ID, WidgetID.GauntletTimer.CONTAINER), + HALLOWED_SEPULCHRE_TIMER_CONTAINER(WidgetID.HALLOWED_SEPULCHRE_TIMER_GROUP_ID, WidgetID.HallowedSepulchreTimer.CONTAINER), HEALTH_OVERLAY_BAR(WidgetID.HEALTH_OVERLAY_BAR_GROUP_ID, WidgetID.EncounterHealthBar.CONTAINER); diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java index 1f2da4539b..c578ca3ee8 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java @@ -59,6 +59,7 @@ public class WidgetOverlay extends Overlay .put(WidgetInfo.LMS_INFO, OverlayPosition.TOP_RIGHT) .put(WidgetInfo.LMS_KDA, OverlayPosition.TOP_RIGHT) .put(WidgetInfo.GAUNTLET_TIMER_CONTAINER, OverlayPosition.TOP_LEFT) + .put(WidgetInfo.HALLOWED_SEPULCHRE_TIMER_CONTAINER, OverlayPosition.TOP_LEFT) .put(WidgetInfo.HEALTH_OVERLAY_BAR, OverlayPosition.TOP_CENTER) .build(); From c7c6d8b1184a1be6b87bf90fdcec2f990b6e1a1d Mon Sep 17 00:00:00 2001 From: Arman Rafian Date: Wed, 22 Jul 2020 19:03:01 -0700 Subject: [PATCH 117/189] cannon: Add common wilderness cannon spots (#12132) This commit adds wilderness cannon spots for bears, black demons, black knights, elder chaos druids, fire giants, greater demons, hill giants, scorpions, and zombies. --- .../client/plugins/cannon/CannonSpots.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java index 764a149520..18f7466203 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java @@ -34,15 +34,15 @@ enum CannonSpots { BLOODVELDS(new WorldPoint(2439, 9821, 0), new WorldPoint(2448, 9821, 0), new WorldPoint(2472, 9832, 0), new WorldPoint(2453, 9817, 0)), - FIRE_GIANTS(new WorldPoint(2393, 9782, 0), new WorldPoint(2412, 9776, 0), new WorldPoint(2401, 9780, 0)), + FIRE_GIANTS(new WorldPoint(2393, 9782, 0), new WorldPoint(2412, 9776, 0), new WorldPoint(2401, 9780, 0), new WorldPoint(3047, 10340, 0)), ABERRANT_SPECTRES(new WorldPoint(2456, 9791, 0)), HELLHOUNDS(new WorldPoint(2431, 9776, 0), new WorldPoint(2413, 9786, 0), new WorldPoint(2783, 9686, 0), new WorldPoint(3198, 10071, 0)), - BLACK_DEMONS(new WorldPoint(2859, 9778, 0), new WorldPoint(2841, 9791, 0), new WorldPoint(1421, 10089, 1)), - BLACK_KNIGHTS(new WorldPoint(2906, 9685, 0)), + BLACK_DEMONS(new WorldPoint(2859, 9778, 0), new WorldPoint(2841, 9791, 0), new WorldPoint(1421, 10089, 1), new WorldPoint(3174, 10154, 0), new WorldPoint(3089, 9960, 0)), + BLACK_KNIGHTS(new WorldPoint(2906, 9685, 0), new WorldPoint(3053, 3852, 0)), ELVES(new WorldPoint(2044, 4635, 0), new WorldPoint(3278, 6098, 0)), SUQAHS(new WorldPoint(2114, 3943, 0)), TROLLS(new WorldPoint(2401, 3856, 0), new WorldPoint(1242, 3517, 0)), - GREATER_DEMONS(new WorldPoint(1435, 10086, 2)), + GREATER_DEMONS(new WorldPoint(1435, 10086, 2), new WorldPoint(3224, 10132, 0)), BRINE_RAT(new WorldPoint(2707, 10132, 0)), DAGGANOTH(new WorldPoint(2524, 10020, 0)), DARK_BEAST(new WorldPoint(1992, 4655, 0)), @@ -67,7 +67,12 @@ enum CannonSpots MAGIC_AXE(new WorldPoint(3190, 3960, 0)), EARTH_WARRIOR(new WorldPoint(3120, 9987, 0)), ICE_WARRIOR(new WorldPoint(2955, 3876, 0)), - BANDIT(new WorldPoint(3037, 3700, 0)); + BANDIT(new WorldPoint(3037, 3700, 0)), + BEAR(new WorldPoint(3113, 3672, 0)), + ELDER_CHAOS_DRUID(new WorldPoint(3237, 3622, 0)), + HILL_GIANT(new WorldPoint(3044, 10318, 0)), + SCORPION(new WorldPoint(3233, 10335, 0)), + ZOMBIE(new WorldPoint(3172, 3677, 0)); @Getter private static final List cannonSpots = new ArrayList<>(); From 3312fa92be00c141272adaa0929b46788ac3ed6b Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Wed, 22 Jul 2020 22:25:28 -0400 Subject: [PATCH 118/189] slayer: Add missing task locations (#12099) This adds the Myths' Guild Dungeon and Meiyerditch Laboratories as possible Konar task locations. --- .../src/main/java/net/runelite/client/plugins/slayer/Task.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/Task.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/Task.java index 6be7c6d454..4d77b1b03e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/Task.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/Task.java @@ -207,9 +207,11 @@ enum Task "Lithkren Vault", "Lizardman Canyon", "Lizardman Settlement", + "Meiyerditch Laboratories", "Molch", "Mount Quidamortem", "Mourner Tunnels", + "Myths' Guild Dungeon", "Ogre Enclave", "Slayer Tower", "Smoke Devil Dungeon", From 3556b007fc0cbc0c882555b735d8510cd980d9f9 Mon Sep 17 00:00:00 2001 From: MarbleTurtle <60723971+MarbleTurtle@users.noreply.github.com> Date: Wed, 22 Jul 2020 19:30:38 -0700 Subject: [PATCH 119/189] FaloTheBardClue: Add Avernic to defender step (#12172) --- .../client/plugins/cluescrolls/clues/FaloTheBardClue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/FaloTheBardClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/FaloTheBardClue.java index c91a054e32..a517bd06b0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/FaloTheBardClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/FaloTheBardClue.java @@ -58,7 +58,7 @@ public class FaloTheBardClue extends ClueScroll implements TextClueScroll, NpcCl new FaloTheBardClue("A molten beast with fiery breath, you acquire these with its death.", item(LAVA_DRAGON_BONES)), new FaloTheBardClue("A shiny helmet of flight, to obtain this with melee, struggle you might.", item(ARMADYL_HELMET)), // The wiki doesn't specify whether the trimmed dragon defender will work so I've assumed that it doesn't - new FaloTheBardClue("A sword held in the other hand, red its colour, Cyclops strength you must withstand.", item(DRAGON_DEFENDER)), + new FaloTheBardClue("A sword held in the other hand, red its colour, Cyclops strength you must withstand.", any("Dragon or Avernic Defender", item(DRAGON_DEFENDER), item(AVERNIC_DEFENDER))), new FaloTheBardClue("A token used to kill mythical beasts, in hopes of a blade or just for an xp feast.", item(WARRIOR_GUILD_TOKEN)), new FaloTheBardClue("Green is my favourite, mature ale I do love, this takes your herblore above.", item(GREENMANS_ALEM)), new FaloTheBardClue("It can hold down a boat or crush a goat, this object, you see, is quite heavy.", item(BARRELCHEST_ANCHOR)), From e4c525dc1f7a16a2311a0faa4e908fe0ca96e2d9 Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Wed, 22 Jul 2020 23:20:28 -0400 Subject: [PATCH 120/189] clues: Fix Champions' guild beginner clue description (#12140) --- .../client/plugins/cluescrolls/clues/BeginnerMapClue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/BeginnerMapClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/BeginnerMapClue.java index 03947000ef..d1bd888e70 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/BeginnerMapClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/BeginnerMapClue.java @@ -33,7 +33,7 @@ import net.runelite.api.widgets.WidgetID; public class BeginnerMapClue extends MapClue implements LocationClueScroll { private static final ImmutableList CLUES = ImmutableList.of( - new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_CHAMPIONS_GUILD, new WorldPoint(3166, 3361, 0), "South West of the Champion's Guild"), + new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_CHAMPIONS_GUILD, new WorldPoint(3166, 3361, 0), "West of the Champions' Guild"), new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_VARROCK_EAST_MINE, new WorldPoint(3290, 3374, 0), "Outside Varrock East Mine"), new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_DRAYNOR, new WorldPoint(3093, 3226, 0), "South of Draynor Village Bank"), new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_NORTH_OF_FALADOR, new WorldPoint(3043, 3398, 0), "In the standing stones north of Falador"), From cbd2c4fd8264022c0608229158d44c0c09af1a19 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 23 Jul 2020 00:12:45 -0400 Subject: [PATCH 121/189] banktags: fix resetting active tab when editing tags The input type for this changed awhile ago in a chatbox panel manager refactor --- .../net/runelite/client/plugins/banktags/tabs/TabInterface.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 85b7df5869..5c7796cbe5 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 @@ -512,7 +512,7 @@ public class TabInterface return; } - if (activeTab != null && client.getVar(VarClientInt.INPUT_TYPE) == InputType.RUNELITE.getType()) + if (activeTab != null && client.getVar(VarClientInt.INPUT_TYPE) == InputType.RUNELITE_CHATBOX_PANEL.getType()) { // don't reset active tab if we are editing tags updateBounds(); From 7ff5516ea43dc8f2f756dd45859543cbc1db02c9 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Thu, 23 Jul 2020 10:31:35 +0000 Subject: [PATCH 122/189] Update Item IDs to 2020-07-23-rev190 --- runelite-api/src/main/java/net/runelite/api/ItemID.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/ItemID.java b/runelite-api/src/main/java/net/runelite/api/ItemID.java index 83d3d27994..ca8d2d0c6b 100644 --- a/runelite-api/src/main/java/net/runelite/api/ItemID.java +++ b/runelite-api/src/main/java/net/runelite/api/ItemID.java @@ -11581,5 +11581,11 @@ public final class ItemID public static final int WARRIOR_PATH_STARTER_KIT = 24859; public static final int WIZARD_PATH_STARTER_KIT = 24860; public static final int RANGER_PATH_STARTER_KIT = 24861; + public static final int KARAMJAN_MONKEY = 24862; + public static final int ZOMBIE_MONKEY = 24863; + public static final int MANIACAL_MONKEY = 24864; + public static final int SKELETON_MONKEY = 24865; + public static final int KRUK_JR = 24866; + public static final int PRINCELY_MONKEY = 24867; /* This file is automatically generated. Do not edit. */ } From f3b05181213d65d0e9d34ae81c27f3dd7b95d654 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Thu, 23 Jul 2020 10:31:36 +0000 Subject: [PATCH 123/189] Update Object IDs to 2020-07-23-rev190 --- .../java/net/runelite/api/NullObjectID.java | 76 +++++++ .../main/java/net/runelite/api/ObjectID.java | 198 +++++++++++++++++- 2 files changed, 267 insertions(+), 7 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java index 071ab447bf..62d5fa9147 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java @@ -19517,5 +19517,81 @@ public final class NullObjectID public static final int NULL_39616 = 39616; public static final int NULL_39618 = 39618; public static final int NULL_39619 = 39619; + public static final int NULL_39622 = 39622; + public static final int NULL_39623 = 39623; + public static final int NULL_39624 = 39624; + public static final int NULL_39625 = 39625; + public static final int NULL_39626 = 39626; + public static final int NULL_39627 = 39627; + public static final int NULL_39628 = 39628; + public static final int NULL_39629 = 39629; + public static final int NULL_39630 = 39630; + public static final int NULL_39631 = 39631; + public static final int NULL_39632 = 39632; + public static final int NULL_39633 = 39633; + public static final int NULL_39634 = 39634; + public static final int NULL_39635 = 39635; + public static final int NULL_39636 = 39636; + public static final int NULL_39638 = 39638; + public static final int NULL_39649 = 39649; + public static final int NULL_39654 = 39654; + public static final int NULL_39655 = 39655; + public static final int NULL_39656 = 39656; + public static final int NULL_39661 = 39661; + public static final int NULL_39662 = 39662; + public static final int NULL_39663 = 39663; + public static final int NULL_39664 = 39664; + public static final int NULL_39665 = 39665; + public static final int NULL_39666 = 39666; + public static final int NULL_39667 = 39667; + public static final int NULL_39668 = 39668; + public static final int NULL_39669 = 39669; + public static final int NULL_39670 = 39670; + public static final int NULL_39671 = 39671; + public static final int NULL_39672 = 39672; + public static final int NULL_39673 = 39673; + public static final int NULL_39683 = 39683; + public static final int NULL_39684 = 39684; + public static final int NULL_39685 = 39685; + public static final int NULL_39686 = 39686; + public static final int NULL_39694 = 39694; + public static final int NULL_39701 = 39701; + public static final int NULL_39702 = 39702; + public static final int NULL_39703 = 39703; + public static final int NULL_39704 = 39704; + public static final int NULL_39705 = 39705; + public static final int NULL_39706 = 39706; + public static final int NULL_39707 = 39707; + public static final int NULL_39708 = 39708; + public static final int NULL_39709 = 39709; + public static final int NULL_39710 = 39710; + public static final int NULL_39711 = 39711; + public static final int NULL_39712 = 39712; + public static final int NULL_39713 = 39713; + public static final int NULL_39714 = 39714; + public static final int NULL_39715 = 39715; + public static final int NULL_39717 = 39717; + public static final int NULL_39722 = 39722; + public static final int NULL_39725 = 39725; + public static final int NULL_39726 = 39726; + public static final int NULL_39727 = 39727; + public static final int NULL_39728 = 39728; + public static final int NULL_39729 = 39729; + public static final int NULL_39730 = 39730; + public static final int NULL_39731 = 39731; + public static final int NULL_39732 = 39732; + public static final int NULL_39733 = 39733; + public static final int NULL_39734 = 39734; + public static final int NULL_39735 = 39735; + public static final int NULL_39736 = 39736; + public static final int NULL_39737 = 39737; + public static final int NULL_39738 = 39738; + public static final int NULL_39739 = 39739; + public static final int NULL_39742 = 39742; + public static final int NULL_39743 = 39743; + public static final int NULL_39744 = 39744; + public static final int NULL_39745 = 39745; + public static final int NULL_39746 = 39746; + public static final int NULL_39747 = 39747; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/ObjectID.java b/runelite-api/src/main/java/net/runelite/api/ObjectID.java index 6200b65794..8900b0cc44 100644 --- a/runelite-api/src/main/java/net/runelite/api/ObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/ObjectID.java @@ -8061,7 +8061,7 @@ public final class ObjectID public static final int STONE_BLOCK_14203 = 14203; public static final int STONE_BLOCK_14204 = 14204; public static final int STONE_BLOCK_14205 = 14205; - public static final int FINAL_OWNAGE_ELITE_STATUE = 14209; + public static final int HERBS_14209 = 14209; public static final int WALL_14212 = 14212; public static final int WALL_14213 = 14213; public static final int WALL_14216 = 14216; @@ -14137,11 +14137,11 @@ public final class ObjectID public static final int HUTCH_26822 = 26822; public static final int CAGES_26823 = 26823; public static final int CAGE_26824 = 26824; - public static final int ANCIENT_FURY_STATUE = 26825; - public static final int FATALITY_STATUE = 26826; - public static final int HEXIS_STATUE = 26827; - public static final int REIGN_OF_TERROR_STATUE = 26828; - public static final int STUD_UNIT_STATUE = 26829; + public static final int HERBS_26825 = 26825; + public static final int HERBS_26826 = 26826; + public static final int HERBS_26827 = 26827; + public static final int HERBS_26828 = 26828; + public static final int HERBS_26829 = 26829; public static final int CONSECRATED_HOUSE = 26830; public static final int DESECRATED_HOUSE = 26831; public static final int NATURE_HOUSE = 26832; @@ -20089,7 +20089,191 @@ public final class ObjectID public static final int COFFIN_39608 = 39608; public static final int STAIRS_39609 = 39609; public static final int CRYPT = 39617; - public static final int COFFIN_39620 = 39620; + public static final int RUSTED_ANVIL = 39620; public static final int MOUNTED_MAX_CAPE_39621 = 39621; + public static final int DEATHS_DOMAIN_39637 = 39637; + public static final int CASUAL = 39639; + public static final int COMPETITIVE = 39640; + public static final int HIGH_STAKES = 39641; + public static final int ALTAR_39642 = 39642; + public static final int STAIRS_39643 = 39643; + public static final int LADDER_39644 = 39644; + public static final int LADDER_39645 = 39645; + public static final int LIFT_PLATFORM_39646 = 39646; + public static final int STAIRS_39647 = 39647; + public static final int OPENING_39648 = 39648; + public static final int STAIRS_39650 = 39650; + public static final int POOL_OF_REFRESHMENT = 39651; + public static final int BARRIER_39652 = 39652; + public static final int BARRIER_39653 = 39653; + public static final int GATE_39657 = 39657; + public static final int GATE_39658 = 39658; + public static final int GATE_39659 = 39659; + public static final int GATE_39660 = 39660; + public static final int STATUE_39674 = 39674; + public static final int CORPSE_39675 = 39675; + public static final int TREE_39676 = 39676; + public static final int TREE_39677 = 39677; + public static final int TREE_39678 = 39678; + public static final int TREE_39679 = 39679; + public static final int BUSH_39680 = 39680; + public static final int BUSH_39681 = 39681; + public static final int BUSH_39682 = 39682; + public static final int BENCH_39687 = 39687; + public static final int CAMPING_EQUIPMENT_39688 = 39688; + public static final int TWISTED_CRATE = 39689; + public static final int BARREL_39690 = 39690; + public static final int STONE_PILE_39691 = 39691; + public static final int STONE_PILE_39692 = 39692; + public static final int WOOD_39693 = 39693; + public static final int SACKS_39695 = 39695; + public static final int SACKS_39696 = 39696; + public static final int FLOWERS_39697 = 39697; + public static final int FLOWERS_39698 = 39698; + public static final int FLOWERS_39699 = 39699; + public static final int FLOWERS_39700 = 39700; + public static final int TABLE_39716 = 39716; + public static final int STOOL_39718 = 39718; + public static final int HOLE_39719 = 39719; + public static final int WELL_39720 = 39720; + public static final int CAVE_39721 = 39721; + public static final int ALTAR_39723 = 39723; + public static final int GIANT_ANVIL_39724 = 39724; + public static final int STONE_PILE_39740 = 39740; + public static final int STONE_PILE_39741 = 39741; + public static final int HERBS_39748 = 39748; + public static final int HERBS_39749 = 39749; + public static final int HERBS_39750 = 39750; + public static final int HERBS_39751 = 39751; + public static final int HERBS_39752 = 39752; + public static final int HERBS_39753 = 39753; + public static final int HERBS_39754 = 39754; + public static final int HERBS_39755 = 39755; + public static final int HERBS_39756 = 39756; + public static final int HERBS_39757 = 39757; + public static final int HERBS_39758 = 39758; + public static final int HERBS_39759 = 39759; + public static final int HERBS_39760 = 39760; + public static final int HERBS_39761 = 39761; + public static final int HERBS_39762 = 39762; + public static final int HERBS_39763 = 39763; + public static final int HERBS_39764 = 39764; + public static final int HERBS_39765 = 39765; + public static final int HERBS_39766 = 39766; + public static final int HERBS_39767 = 39767; + public static final int HERBS_39768 = 39768; + public static final int HERBS_39769 = 39769; + public static final int HERBS_39770 = 39770; + public static final int HERBS_39771 = 39771; + public static final int HERBS_39772 = 39772; + public static final int HERBS_39773 = 39773; + public static final int HERBS_39774 = 39774; + public static final int HERBS_39775 = 39775; + public static final int HERBS_39776 = 39776; + public static final int HERBS_39777 = 39777; + public static final int HERBS_39778 = 39778; + public static final int HERBS_39779 = 39779; + public static final int HERBS_39780 = 39780; + public static final int HERBS_39781 = 39781; + public static final int HERBS_39782 = 39782; + public static final int HERBS_39783 = 39783; + public static final int HERBS_39784 = 39784; + public static final int HERBS_39785 = 39785; + public static final int HERBS_39786 = 39786; + public static final int HERBS_39787 = 39787; + public static final int HERBS_39788 = 39788; + public static final int HERBS_39789 = 39789; + public static final int HERBS_39790 = 39790; + public static final int HERBS_39791 = 39791; + public static final int HERBS_39792 = 39792; + public static final int HERBS_39793 = 39793; + public static final int HERBS_39794 = 39794; + public static final int HERBS_39795 = 39795; + public static final int HERBS_39796 = 39796; + public static final int HERBS_39797 = 39797; + public static final int HERBS_39798 = 39798; + public static final int HERBS_39799 = 39799; + public static final int HERBS_39800 = 39800; + public static final int HERBS_39801 = 39801; + public static final int HERBS_39802 = 39802; + public static final int HERBS_39803 = 39803; + public static final int HERBS_39804 = 39804; + public static final int HERBS_39805 = 39805; + public static final int HERBS_39806 = 39806; + public static final int HERBS_39807 = 39807; + public static final int HERBS_39808 = 39808; + public static final int HERBS_39809 = 39809; + public static final int HERBS_39810 = 39810; + public static final int HERBS_39811 = 39811; + public static final int HERB_PATCH_39812 = 39812; + public static final int HERB_PATCH_39813 = 39813; + public static final int HERBS_39814 = 39814; + public static final int HERBS_39815 = 39815; + public static final int HERBS_39816 = 39816; + public static final int HERB_PATCH_39817 = 39817; + public static final int HERB_PATCH_39818 = 39818; + public static final int HERBS_39819 = 39819; + public static final int HERBS_39820 = 39820; + public static final int HERBS_39821 = 39821; + public static final int HERB_PATCH_39822 = 39822; + public static final int HERB_PATCH_39823 = 39823; + public static final int HERBS_39824 = 39824; + public static final int HERBS_39825 = 39825; + public static final int HERBS_39826 = 39826; + public static final int HERB_PATCH_39827 = 39827; + public static final int HERB_PATCH_39828 = 39828; + public static final int HERBS_39829 = 39829; + public static final int HERBS_39830 = 39830; + public static final int HERBS_39831 = 39831; + public static final int HERB_PATCH_39832 = 39832; + public static final int HERB_PATCH_39833 = 39833; + public static final int HERBS_39834 = 39834; + public static final int HERBS_39835 = 39835; + public static final int HERBS_39836 = 39836; + public static final int HERB_PATCH_39837 = 39837; + public static final int HERB_PATCH_39838 = 39838; + public static final int HERBS_39839 = 39839; + public static final int HERBS_39840 = 39840; + public static final int HERBS_39841 = 39841; + public static final int HERB_PATCH_39842 = 39842; + public static final int HERB_PATCH_39843 = 39843; + public static final int HERBS_39844 = 39844; + public static final int HERBS_39845 = 39845; + public static final int HERBS_39846 = 39846; + public static final int HERB_PATCH_39847 = 39847; + public static final int HERB_PATCH_39848 = 39848; + public static final int HERBS_39849 = 39849; + public static final int HERBS_39850 = 39850; + public static final int HERBS_39851 = 39851; + public static final int HERB_PATCH_39852 = 39852; + public static final int HERB_PATCH_39853 = 39853; + public static final int HERBS_39854 = 39854; + public static final int HERBS_39855 = 39855; + public static final int HERBS_39856 = 39856; + public static final int HERB_PATCH_39857 = 39857; + public static final int HERB_PATCH_39858 = 39858; + public static final int HERBS_39859 = 39859; + public static final int HERBS_39860 = 39860; + public static final int HERBS_39861 = 39861; + public static final int HERB_PATCH_39862 = 39862; + public static final int HERB_PATCH_39863 = 39863; + public static final int HERBS_39864 = 39864; + public static final int HERBS_39865 = 39865; + public static final int HERBS_39866 = 39866; + public static final int HERB_PATCH_39867 = 39867; + public static final int HERB_PATCH_39868 = 39868; + public static final int HERBS_39869 = 39869; + public static final int HERBS_39870 = 39870; + public static final int HERBS_39871 = 39871; + public static final int HERB_PATCH_39872 = 39872; + public static final int HERB_PATCH_39873 = 39873; + public static final int HERBS_39874 = 39874; + public static final int HERBS_39875 = 39875; + public static final int HERBS_39876 = 39876; + public static final int HERB_PATCH_39877 = 39877; + public static final int HERB_PATCH_39878 = 39878; + public static final int HERBS_39879 = 39879; + public static final int HERBS_39880 = 39880; + public static final int HERBS_39881 = 39881; /* This file is automatically generated. Do not edit. */ } From be7932322b5252ff99b43279ddf9a6722c7ba857 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Thu, 23 Jul 2020 10:31:36 +0000 Subject: [PATCH 124/189] Update NPC IDs to 2020-07-23-rev190 --- .../src/main/java/net/runelite/api/NpcID.java | 33 +++++++++++++++++++ .../main/java/net/runelite/api/NullNpcID.java | 1 + 2 files changed, 34 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/NpcID.java b/runelite-api/src/main/java/net/runelite/api/NpcID.java index 642de57dfb..a309a15622 100644 --- a/runelite-api/src/main/java/net/runelite/api/NpcID.java +++ b/runelite-api/src/main/java/net/runelite/api/NpcID.java @@ -8758,5 +8758,38 @@ public final class NpcID public static final int GRAVE = 9856; public static final int GRAVE_9857 = 9857; public static final int SQUIRE_10368 = 10368; + public static final int BOBAWU = 10369; + public static final int MARTEN = 10370; + public static final int WIZARD_10371 = 10371; + public static final int WIZARD_10372 = 10372; + public static final int WIZARD_10373 = 10373; + public static final int HILL_GIANT_10374 = 10374; + public static final int HILL_GIANT_10375 = 10375; + public static final int HILL_GIANT_10376 = 10376; + public static final int FEROX = 10377; + public static final int SIGISMUND = 10378; + public static final int ZAMORAKIAN_ACOLYTE = 10379; + public static final int ZAMORAKIAN_ACOLYTE_10380 = 10380; + public static final int ZAMORAKIAN_ACOLYTE_10381 = 10381; + public static final int REFUGEE = 10382; + public static final int REFUGEE_10383 = 10383; + public static final int REFUGEE_10384 = 10384; + public static final int REFUGEE_10385 = 10385; + public static final int PHABELLE_BILE = 10386; + public static final int DERSE_VENATOR = 10387; + public static final int ANDROS_MAI = 10388; + public static final int BANKER_10389 = 10389; + public static final int MERCENARY_10390 = 10390; + public static final int FINANCIAL_WIZARD_10391 = 10391; + public static final int CAMARST = 10392; + public static final int WARRIOR_OF_MURAHS = 10393; + public static final int WARRIOR_OF_MURAHS_10394 = 10394; + public static final int WARRIOR_OF_MURAHS_10395 = 10395; + public static final int SPIKED_TUROTH = 10397; + public static final int SHADOW_WYRM = 10398; + public static final int SHADOW_WYRM_10399 = 10399; + public static final int GUARDIAN_DRAKE = 10400; + public static final int GUARDIAN_DRAKE_10401 = 10401; + public static final int COLOSSAL_HYDRA = 10402; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/NullNpcID.java b/runelite-api/src/main/java/net/runelite/api/NullNpcID.java index 99e56e7411..cc1cb6dd36 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullNpcID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullNpcID.java @@ -1592,5 +1592,6 @@ public final class NullNpcID public static final int NULL_10365 = 10365; public static final int NULL_10366 = 10366; public static final int NULL_10367 = 10367; + public static final int NULL_10396 = 10396; /* This file is automatically generated. Do not edit. */ } From b5244801a4e16a6504dcfb1c9f702dacb449e08b Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Thu, 23 Jul 2020 10:31:40 +0000 Subject: [PATCH 125/189] Update Widget IDs to 2020-07-23-rev190 --- .../src/main/java/net/runelite/api/widgets/WidgetID.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index d7051a8967..3861e3c9a0 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -267,8 +267,8 @@ public class WidgetID static final int INCINERATOR = 45; static final int INCINERATOR_CONFIRM = 46; static final int EQUIPMENT_CONTENT_CONTAINER = 68; - static final int SETTINGS_BUTTON = 108; - static final int EQUIPMENT_BUTTON = 109; + static final int SETTINGS_BUTTON = 111; + static final int EQUIPMENT_BUTTON = 112; } static class GrandExchange From 0bd97e19a3fb5c0745c9265bc715c762f75547e4 Mon Sep 17 00:00:00 2001 From: Runelite auto updater Date: Thu, 23 Jul 2020 11:20:24 +0000 Subject: [PATCH 126/189] Release 1.6.23 --- cache-client/pom.xml | 2 +- cache-updater/pom.xml | 2 +- cache/pom.xml | 2 +- http-api/pom.xml | 2 +- http-service/pom.xml | 2 +- pom.xml | 4 ++-- runelite-api/pom.xml | 2 +- runelite-client/pom.xml | 2 +- runelite-script-assembler-plugin/pom.xml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cache-client/pom.xml b/cache-client/pom.xml index 8a5c9b82a3..68970bba00 100644 --- a/cache-client/pom.xml +++ b/cache-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23-SNAPSHOT + 1.6.23 cache-client diff --git a/cache-updater/pom.xml b/cache-updater/pom.xml index 9b8003b5d5..fdaec3e691 100644 --- a/cache-updater/pom.xml +++ b/cache-updater/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.23-SNAPSHOT + 1.6.23 Cache Updater diff --git a/cache/pom.xml b/cache/pom.xml index b24221c227..b372a45612 100644 --- a/cache/pom.xml +++ b/cache/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23-SNAPSHOT + 1.6.23 cache diff --git a/http-api/pom.xml b/http-api/pom.xml index 7ad2668968..2b067d7ace 100644 --- a/http-api/pom.xml +++ b/http-api/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.23-SNAPSHOT + 1.6.23 Web API diff --git a/http-service/pom.xml b/http-service/pom.xml index 23f9aa3a80..4f86860b94 100644 --- a/http-service/pom.xml +++ b/http-service/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.23-SNAPSHOT + 1.6.23 Web Service diff --git a/pom.xml b/pom.xml index 61afa59c2f..345268a190 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.23-SNAPSHOT + 1.6.23 pom RuneLite @@ -61,7 +61,7 @@ https://github.com/runelite/runelite scm:git:git://github.com/runelite/runelite scm:git:git@github.com:runelite/runelite - HEAD + runelite-parent-1.6.23 diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml index 844c748a98..cae801cebe 100644 --- a/runelite-api/pom.xml +++ b/runelite-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23-SNAPSHOT + 1.6.23 runelite-api diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index 0415d4f7bd..f4cd56535d 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23-SNAPSHOT + 1.6.23 client diff --git a/runelite-script-assembler-plugin/pom.xml b/runelite-script-assembler-plugin/pom.xml index 91b30d050d..0bec276546 100644 --- a/runelite-script-assembler-plugin/pom.xml +++ b/runelite-script-assembler-plugin/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23-SNAPSHOT + 1.6.23 script-assembler-plugin From b5abb091520b2041409f9e2916a3bde637f60e4a Mon Sep 17 00:00:00 2001 From: Runelite auto updater Date: Thu, 23 Jul 2020 11:20:33 +0000 Subject: [PATCH 127/189] Bump for 1.6.24-SNAPSHOT --- cache-client/pom.xml | 2 +- cache-updater/pom.xml | 2 +- cache/pom.xml | 2 +- http-api/pom.xml | 2 +- http-service/pom.xml | 2 +- pom.xml | 4 ++-- runelite-api/pom.xml | 2 +- runelite-client/pom.xml | 2 +- runelite-script-assembler-plugin/pom.xml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cache-client/pom.xml b/cache-client/pom.xml index 68970bba00..88c5f98a0c 100644 --- a/cache-client/pom.xml +++ b/cache-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23 + 1.6.24-SNAPSHOT cache-client diff --git a/cache-updater/pom.xml b/cache-updater/pom.xml index fdaec3e691..ac9a3650e8 100644 --- a/cache-updater/pom.xml +++ b/cache-updater/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.23 + 1.6.24-SNAPSHOT Cache Updater diff --git a/cache/pom.xml b/cache/pom.xml index b372a45612..77b23b0d54 100644 --- a/cache/pom.xml +++ b/cache/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23 + 1.6.24-SNAPSHOT cache diff --git a/http-api/pom.xml b/http-api/pom.xml index 2b067d7ace..f22fb557fa 100644 --- a/http-api/pom.xml +++ b/http-api/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.23 + 1.6.24-SNAPSHOT Web API diff --git a/http-service/pom.xml b/http-service/pom.xml index 4f86860b94..91ce0def99 100644 --- a/http-service/pom.xml +++ b/http-service/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.23 + 1.6.24-SNAPSHOT Web Service diff --git a/pom.xml b/pom.xml index 345268a190..ee14d96b77 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.23 + 1.6.24-SNAPSHOT pom RuneLite @@ -61,7 +61,7 @@ https://github.com/runelite/runelite scm:git:git://github.com/runelite/runelite scm:git:git@github.com:runelite/runelite - runelite-parent-1.6.23 + HEAD diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml index cae801cebe..923bc0603b 100644 --- a/runelite-api/pom.xml +++ b/runelite-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23 + 1.6.24-SNAPSHOT runelite-api diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index f4cd56535d..3197781803 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23 + 1.6.24-SNAPSHOT client diff --git a/runelite-script-assembler-plugin/pom.xml b/runelite-script-assembler-plugin/pom.xml index 0bec276546..4f115daccc 100644 --- a/runelite-script-assembler-plugin/pom.xml +++ b/runelite-script-assembler-plugin/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.23 + 1.6.24-SNAPSHOT script-assembler-plugin From ce45b90011d6803ab6eff6cbf72affaa9f34fb81 Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Thu, 23 Jul 2020 15:28:22 +0100 Subject: [PATCH 128/189] api implementation --- .../src/main/java/net/runelite/api/widgets/Widget.java | 9 --------- .../java/net/runelite/mixins/RSItemContainerMixin.java | 6 ++++++ 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/Widget.java b/runelite-api/src/main/java/net/runelite/api/widgets/Widget.java index 803453766c..25c26adfc8 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/Widget.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/Widget.java @@ -760,15 +760,6 @@ public interface Widget Object[] getOnInvTransmit(); - Object[] getOnOp(); - - /** - * Gets the script and arguments to be ran when one of the listened for inventories changes. - * - * @return - */ - Object[] getOnInvTransmitListener(); - /** * Returns the archive id of the font used * diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSItemContainerMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSItemContainerMixin.java index 66b9149184..36f134b1ac 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSItemContainerMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSItemContainerMixin.java @@ -148,4 +148,10 @@ public abstract class RSItemContainerMixin implements RSItemContainer } } } + + @Inject + public int size() + { + return getItemIds().length; + } } From e4b43d98f224032273da79f377c1cd0ad19ed0dd Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 22 Jul 2020 22:44:17 -0400 Subject: [PATCH 129/189] tagtabs: split tag search from bank search This fixes a lot of edge cases which required us to re-search for things after input was re-used when a tag tab was open, and removes the requirement of having the bank search text be in sync with the currently selected tab. This also no longer parses the tag tab out of the title during times when the input is being re-used (like Withdraw-x) which was broken earlier from the bank plugin changing the title to include the value of searches. A new tag tab title is being set now on all tag tab views so the old tag tab tab title event can be removed. --- .../main/java/net/runelite/api/ScriptID.java | 3 + .../plugins/banktags/BankTagsPlugin.java | 50 ++++++-- .../plugins/banktags/tabs/BankSearch.java | 37 +++--- .../plugins/banktags/tabs/TabInterface.java | 110 +++--------------- .../client/plugins/banktags/tabs/TagTab.java | 2 +- .../src/main/scripts/BankSearchFilter.rs2asm | 12 +- .../src/main/scripts/BankSearchLayout.rs2asm | 9 -- 7 files changed, 84 insertions(+), 139 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 520150c27c..c0c8322d04 100644 --- a/runelite-api/src/main/java/net/runelite/api/ScriptID.java +++ b/runelite-api/src/main/java/net/runelite/api/ScriptID.java @@ -293,4 +293,7 @@ public final class ScriptID */ @ScriptArguments(integer = 17) public static final int BANKMAIN_BUILD = 277; + + @ScriptArguments(integer = 19) + public static final int BANKMAIN_FINISHBUILDING = 505; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java index f28f86fec8..7af659873e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java @@ -61,6 +61,7 @@ import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.events.ScriptPostFired; +import net.runelite.api.events.ScriptPreFired; import net.runelite.api.events.WidgetLoaded; import net.runelite.api.vars.InputType; import net.runelite.api.widgets.Widget; @@ -84,6 +85,7 @@ import net.runelite.client.plugins.banktags.tabs.BankSearch; import net.runelite.client.plugins.banktags.tabs.TabInterface; import static net.runelite.client.plugins.banktags.tabs.TabInterface.FILTERED_CHARS; import net.runelite.client.plugins.banktags.tabs.TabSprites; +import net.runelite.client.plugins.banktags.tabs.TagTab; import net.runelite.client.plugins.cluescrolls.ClueScrollPlugin; import net.runelite.client.util.Text; @@ -308,8 +310,19 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener break; } case "bankSearchFilter": - int itemId = intStack[intStackSize - 1]; - String search = stringStack[stringStackSize - 1]; + final int itemId = intStack[intStackSize - 1]; + final String searchfilter = stringStack[stringStackSize - 1]; + + // This event fires regardless of the bank being in search mode. If we have a current + // tab set then the bank should be not in search mode (and the filter empty). Otherwise + // the filter is either empty for no search or contains the search filter. + TagTab activeTab = tabInterface.getActiveTab(); + String search = activeTab != null ? TAG_SEARCH + activeTab.getTag() : searchfilter; + + if (search.isEmpty()) + { + return; + } boolean tagSearch = search.startsWith(TAG_SEARCH); if (tagSearch) @@ -324,6 +337,8 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener } else if (tagSearch) { + // if the item isn't tagged we return false to prevent the item matching if the item name happens + // to contain the tag name. intStack[intStackSize - 2] = 0; } break; @@ -402,8 +417,6 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener .map(i -> i + "*") .forEach(tags::add); - boolean isSearchOpen = client.getVar(VarClientInt.INPUT_TYPE) == InputType.SEARCH.getType(); - String searchText = client.getVar(VarClientStr.INPUT_TEXT); String initialValue = Text.toCSV(tags); chatboxPanelManager.openTextInput(name + " tags:
    (append " + VAR_TAG_SUFFIX + " for variation tag)") @@ -430,12 +443,6 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener tabInterface.updateTabIfActive(Text.fromCSV(newValue.toLowerCase().replaceAll(Pattern.quote(VAR_TAG_SUFFIX), ""))); })) .build(); - - if (isSearchOpen) - { - bankSearch.reset(false); - bankSearch.search(InputType.SEARCH, searchText, false); - } } else { @@ -466,6 +473,29 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener && !Strings.isNullOrEmpty(client.getVar(VarClientStr.INPUT_TEXT))); } + @Subscribe + public void onScriptPreFired(ScriptPreFired event) + { + if (event.getScriptId() == ScriptID.BANKMAIN_FINISHBUILDING) + { + // Since we apply tag tab search filters even when the bank is not in search mode, + // bankkmain_build will reset the bank title to "The Bank of Gielinor". So apply our + // own title. + TagTab activeTab = tabInterface.getActiveTab(); + if (tabInterface.isTagTabActive()) + { + // Tag tab tab has its own title since it isn't a real tag + Widget bankTitle = client.getWidget(WidgetInfo.BANK_TITLE_BAR); + bankTitle.setText("Tag tab tab"); + } + else if (activeTab != null) + { + Widget bankTitle = client.getWidget(WidgetInfo.BANK_TITLE_BAR); + bankTitle.setText("Tag tab " + activeTab.getTag() + ""); + } + } + } + @Subscribe public void onScriptPostFired(ScriptPostFired event) { 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 34cd7e8244..c5c2a4a9db 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 @@ -25,7 +25,8 @@ package net.runelite.client.plugins.banktags.tabs; -import com.google.inject.Inject; +import javax.inject.Inject; +import javax.inject.Singleton; import net.runelite.api.Client; import net.runelite.api.ScriptID; import net.runelite.api.VarClientInt; @@ -35,6 +36,7 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; +@Singleton public class BankSearch { private final Client client; @@ -50,24 +52,6 @@ public class BankSearch this.clientThread = clientThread; } - public void search(InputType inputType, String search, boolean closeInput) - { - clientThread.invoke(() -> - { - // This ensures that any chatbox input (e.g from search) will not remain visible when - // selecting/changing tab - if (closeInput) - { - client.runScript(ScriptID.MESSAGE_LAYER_CLOSE, 0, 0); - } - - client.setVar(VarClientInt.INPUT_TYPE, inputType.getType()); - client.setVar(VarClientStr.INPUT_TEXT, search); - - layoutBank(); - }); - } - public void layoutBank() { Widget bankContainer = client.getWidget(WidgetInfo.BANK_ITEM_CONTAINER); @@ -87,6 +71,19 @@ public class BankSearch public void reset(boolean closeChat) { - search(InputType.NONE, "", closeChat); + clientThread.invoke(() -> + { + // This ensures that any chatbox input (e.g from search) will not remain visible when + // selecting/changing tab + if (closeChat) + { + client.runScript(ScriptID.MESSAGE_LAYER_CLOSE, 0, 0); + } + + client.setVar(VarClientInt.INPUT_TYPE, InputType.NONE.getType()); + client.setVar(VarClientStr.INPUT_TEXT, ""); + + layoutBank(); + }); } } 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 5c7796cbe5..df7abee0e7 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 @@ -70,7 +70,6 @@ import net.runelite.api.Varbits; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.ScriptCallbackEvent; -import net.runelite.api.vars.InputType; import net.runelite.api.widgets.ItemQuantityMode; import net.runelite.api.widgets.JavaScriptCallback; import net.runelite.api.widgets.Widget; @@ -118,8 +117,6 @@ public class TabInterface private static final String OPEN_TAB_MENU = "View tag tabs"; private static final String SHOW_WORN = "Show worn items"; private static final String SHOW_SETTINGS = "Show menu"; - private static final String HIDE_WORN = "Hide worn items"; - private static final String HIDE_SETTINGS = "Hide menu"; private static final String SHOW_TUTORIAL = "Show tutorial"; private static final int TAB_HEIGHT = 40; private static final int TAB_WIDTH = 39; @@ -149,12 +146,13 @@ public class TabInterface private final Rectangle canvasBounds = new Rectangle(); private ChatboxItemSearch searchProvider; + @Getter private TagTab activeTab; + @Getter + private boolean tagTabActive; private int maxTabs; private int currentTabIndex; private Instant startScroll = Instant.now(); - private String rememberedSearch; - private boolean waitSearchTick; @Getter private Widget upButton; @@ -410,16 +408,15 @@ public class TabInterface if (tab.equals(activeTab)) { - bankSearch.reset(true); - rememberedSearch = ""; - - clientThread.invokeLater(() -> client.runScript(ScriptID.MESSAGE_LAYER_CLOSE, 0, 0)); + activateTab(null); } else { openTag(Text.removeTags(clicked.getName())); } + bankSearch.reset(true); + client.playSoundEffect(SoundEffectID.UI_BOOP); break; case Tab.CHANGE_ICON: @@ -481,8 +478,6 @@ public class TabInterface currentTabIndex = 0; maxTabs = 0; parent = null; - waitSearchTick = false; - rememberedSearch = ""; if (upButton != null) { @@ -499,8 +494,6 @@ public class TabInterface if (isHidden()) { parent = null; - waitSearchTick = false; - rememberedSearch = ""; saveTab(); return; @@ -512,57 +505,6 @@ public class TabInterface return; } - if (activeTab != null && client.getVar(VarClientInt.INPUT_TYPE) == InputType.RUNELITE_CHATBOX_PANEL.getType()) - { - // don't reset active tab if we are editing tags - updateBounds(); - scrollTab(0); - return; - } - - String str = client.getVar(VarClientStr.INPUT_TEXT); - - if (Strings.isNullOrEmpty(str)) - { - str = ""; - } - - Widget bankTitle = client.getWidget(WidgetInfo.BANK_TITLE_BAR); - if (bankTitle != null && !bankTitle.isHidden() && !str.startsWith(TAG_SEARCH)) - { - str = bankTitle.getText().replaceFirst("Showing items: ", ""); - - if (str.startsWith("Tab ")) - { - str = ""; - } - } - - str = Text.standardize(str); - - if (str.startsWith(BankTagsPlugin.TAG_SEARCH)) - { - activateTab(tabManager.find(str.substring(TAG_SEARCH.length()))); - } - else - { - activateTab(null); - } - - if (!waitSearchTick - && activeTab == null - && !Strings.isNullOrEmpty(rememberedSearch) - && client.getVar(VarClientInt.INPUT_TYPE) == InputType.NONE.getType()) - { - bankSearch.reset(true); - bankSearch.search(InputType.NONE, rememberedSearch, true); - rememberedSearch = ""; - } - else if (waitSearchTick) - { - waitSearchTick = false; - } - updateBounds(); scrollTab(0); } @@ -603,7 +545,7 @@ public class TabInterface private boolean isTabMenuActive() { - return TAB_MENU.equals(client.getVar(VarClientStr.INPUT_TEXT)); + return tagTabActive; } public void handleScriptEvent(final ScriptCallbackEvent event) @@ -633,17 +575,6 @@ public class TabInterface case "beforeBankLayout": setTabMenuVisible(false); break; - case "isTabMenuActive": - if (!isTabMenuActive()) - { - intStack[intStackSize - 1] = 0; - return; - } - - // Must set the bank title because we are skipping it in scripts - client.getWidget(WidgetInfo.BANK_TITLE_BAR).setText("Showing items: " + ColorUtil.wrapWithColorTag(TAB_MENU, Color.red)); - intStack[intStackSize - 1] = 1; - break; } } @@ -724,17 +655,6 @@ public class TabInterface chatboxPanelManager.close(); } - if ((event.getWidgetId() == WidgetInfo.BANK_ITEM_CONTAINER.getId() - || event.getWidgetId() == WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getId()) - && event.getMenuAction() == MenuAction.CC_OP_LOW_PRIORITY - && (event.getMenuOption().equalsIgnoreCase("withdraw-x") - || event.getMenuOption().equalsIgnoreCase("deposit-x"))) - { - waitSearchTick = true; - rememberedSearch = client.getVar(VarClientStr.INPUT_TEXT); - bankSearch.search(InputType.NONE, rememberedSearch, true); - } - if (activeTab != null && event.getMenuOption().equals("Search") && client.getWidget(WidgetInfo.BANK_SEARCH_BUTTON_BACKGROUND).getSpriteId() != SpriteID.EQUIPMENT_SLOT_SELECTED) @@ -760,7 +680,7 @@ public class TabInterface final ItemComposition item = getItem(event.getActionParam()); final int itemId = item.getId(); tagManager.removeTag(itemId, activeTab.getTag()); - bankSearch.search(InputType.SEARCH, TAG_SEARCH + activeTab.getTag(), true); + bankSearch.layoutBank(); // re-layout to filter the removed item out } else if (event.getMenuAction() == MenuAction.RUNELITE && ((event.getWidgetId() == WidgetInfo.BANK_DEPOSIT_INVENTORY.getId() && event.getMenuOption().equals(TAG_INVENTORY)) @@ -773,14 +693,6 @@ public class TabInterface || (event.getWidgetId() == WidgetInfo.BANK_TUTORIAL_BUTTON.getId() && event.getMenuOption().equals(SHOW_TUTORIAL)))) { saveTab(); - rememberedSearch = TAG_SEARCH + activeTab.getTag(); - } - else if (!Strings.isNullOrEmpty(rememberedSearch) && ((event.getWidgetId() == WidgetInfo.BANK_EQUIPMENT_BUTTON.getId() && event.getMenuOption().equals(HIDE_WORN)) - || (event.getWidgetId() == WidgetInfo.BANK_SETTINGS_BUTTON.getId() && event.getMenuOption().equals(HIDE_SETTINGS)))) - { - bankSearch.reset(true); - bankSearch.search(InputType.NONE, rememberedSearch, true); - rememberedSearch = ""; } } @@ -963,6 +875,7 @@ public class TabInterface { if (activeTab != null && activeTab.getTag().equals(tag)) { + activateTab(null); bankSearch.reset(true); } @@ -1092,6 +1005,8 @@ public class TabInterface tab.revalidate(); activeTab = tagTab; } + + tagTabActive = false; } private void updateBounds() @@ -1253,8 +1168,9 @@ public class TabInterface private void openTag(final String tag) { - bankSearch.search(InputType.SEARCH, TAG_SEARCH + tag, true); activateTab(tabManager.find(tag)); + tagTabActive = BankTagsPlugin.TAG_TABS_CONFIG.equals(tag); + bankSearch.layoutBank(); // When tab is selected with search window open, the search window closes but the search button // stays highlighted, this solves that issue diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TagTab.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TagTab.java index 403fc9dddf..88ef36537b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TagTab.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TagTab.java @@ -31,7 +31,7 @@ import net.runelite.api.widgets.Widget; @Data @EqualsAndHashCode(of = "tag") -class TagTab +public class TagTab { private String tag; private int iconItemId; diff --git a/runelite-client/src/main/scripts/BankSearchFilter.rs2asm b/runelite-client/src/main/scripts/BankSearchFilter.rs2asm index 5f9db325af..506aa4530b 100644 --- a/runelite-client/src/main/scripts/BankSearchFilter.rs2asm +++ b/runelite-client/src/main/scripts/BankSearchFilter.rs2asm @@ -10,6 +10,16 @@ invoke 514 iconst 1 if_icmpeq LABEL8 + + iconst 1 ; return value - default to true to match anything + iload 0 ; load item id + sconst "" ; we are not searching, so there is no search string + sconst "bankSearchFilter" ; push event name + runelite_callback ; invoke callback + pop_int ; pop item id + pop_string ; pop search string + return ; return rv + jump LABEL34 LABEL8: get_varc_string 359 ; Skip truncating of varcstr 22 by not calling 280 @@ -32,13 +42,11 @@ LABEL19: sstore 0 iconst -1 ; load return value iload 0 ; load item id - sload 0 ; load item name sload 1 ; load search string sconst "bankSearchFilter" ; push event name runelite_callback ; invoke callback pop_int ; pop item id pop_string ; pop search string - pop_string ; pop item name istore 1 ; store return value for the below comparisons iload 1 iconst 0 diff --git a/runelite-client/src/main/scripts/BankSearchLayout.rs2asm b/runelite-client/src/main/scripts/BankSearchLayout.rs2asm index 04692f488f..485a6d08e9 100644 --- a/runelite-client/src/main/scripts/BankSearchLayout.rs2asm +++ b/runelite-client/src/main/scripts/BankSearchLayout.rs2asm @@ -10,9 +10,6 @@ ; callback "setBankScroll" ; Fired before bank is calculated ; Used by the TabInterface to show fake bank items for tag tabs -; -; callback "isTabMenuActive" -; Used by the TabInterface to skip setting the bank title sconst "beforeBankLayout" runelite_callback get_varbit 5102 @@ -966,12 +963,6 @@ LABEL848: add istore 20 jump LABEL769 -SetTitle: - iconst 0 ; Compare variable - iconst 0 ; - sconst "isTabMenuActive" - runelite_callback ; skip setting the bank title if the tag tab menu is active - if_icmpne FinishBuilding LABEL853: get_varbit 4170 iconst 2 From 2bc386668b0d0c694e6972871f603b403153ffba Mon Sep 17 00:00:00 2001 From: MarbleTurtle <60723971+MarbleTurtle@users.noreply.github.com> Date: Thu, 23 Jul 2020 15:38:47 -0700 Subject: [PATCH 130/189] EmoteClue: Change location from Digsite to Exam Centre --- .../runelite/client/plugins/cluescrolls/clues/EmoteClue.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java index bb60754b7a..c98af144a1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java @@ -97,7 +97,7 @@ public class EmoteClue extends ClueScroll implements TextClueScroll, LocationClu new EmoteClue("Cheer in the Ogre Pen in the Training Camp. Show you are angry before you talk to me. Equip a green dragonhide body and chaps and a steel square shield.", "King Lathas' camp", OGRE_CAGE_IN_KING_LATHAS_TRAINING_CAMP, new WorldPoint(2527, 3375, 0), CHEER, ANGRY, item(GREEN_DHIDE_BODY), item(GREEN_DHIDE_CHAPS), item(STEEL_SQ_SHIELD)), new EmoteClue("Cheer in the Entrana church. Beware of double agents! Equip a full set of black dragonhide armour.", "Entrana church", ENTRANA_CHAPEL, new WorldPoint(2852, 3349, 0), DOUBLE_AGENT_141, CHEER, item(BLACK_DHIDE_VAMBRACES), item(BLACK_DHIDE_CHAPS), item(BLACK_DHIDE_BODY)), new EmoteClue("Cheer for the monks at Port Sarim. Equip a coif, steel plateskirt and a sapphire necklace.", "Port Sarim", NEAR_THE_ENTRANA_FERRY_IN_PORT_SARIM, new WorldPoint(3047, 3237, 0), CHEER, item(COIF), item(STEEL_PLATESKIRT), item(SAPPHIRE_NECKLACE)), - new EmoteClue("Clap in the main exam room in the Exam Centre. Equip a white apron, green gnome boots and leather gloves.", "Digsite", OUTSIDE_THE_DIGSITE_EXAM_CENTRE, new WorldPoint(3361, 3339, 0), CLAP, item(WHITE_APRON), item(GREEN_BOOTS), item(LEATHER_GLOVES)), + new EmoteClue("Clap in the main exam room in the Exam Centre. Equip a white apron, green gnome boots and leather gloves.", "Exam Centre", OUTSIDE_THE_DIGSITE_EXAM_CENTRE, new WorldPoint(3361, 3339, 0), CLAP, item(WHITE_APRON), item(GREEN_BOOTS), item(LEATHER_GLOVES)), new EmoteClue("Clap on the causeway to the Wizards' Tower. Equip an iron medium helmet, emerald ring and a white apron.", "Wizards' Tower", ON_THE_BRIDGE_TO_THE_MISTHALIN_WIZARDS_TOWER, new WorldPoint(3113, 3196, 0), CLAP, item(IRON_MED_HELM), item(EMERALD_RING), item(WHITE_APRON)), new EmoteClue("Clap on the top level of the mill, north of East Ardougne. Equip a blue gnome robe top, HAM robe bottom and an unenchanted tiara.", "East Ardougne", UPSTAIRS_IN_THE_ARDOUGNE_WINDMILL, new WorldPoint(2635, 3385, 3), CLAP, item(BLUE_ROBE_TOP), item(HAM_ROBE), item(TIARA)), new EmoteClue("Clap in Seers court house. Spin before you talk to me. Equip an adamant halberd, blue mystic robe bottom and a diamond ring.", "Seers Village", OUTSIDE_THE_SEERS_VILLAGE_COURTHOUSE, new WorldPoint(2735, 3469, 0), CLAP, SPIN, item(ADAMANT_HALBERD), item(MYSTIC_ROBE_BOTTOM), item(DIAMOND_RING)), @@ -118,7 +118,7 @@ public class EmoteClue extends ClueScroll implements TextClueScroll, LocationClu new EmoteClue("Dance at the entrance to the Grand Exchange. Equip a pink skirt, pink robe top and a body tiara.", "Grand Exchange", SOUTH_OF_THE_GRAND_EXCHANGE, new WorldPoint(3165, 3467, 0), DANCE, item(PINK_SKIRT), item(PINK_ROBE_TOP), item(BODY_TIARA)), new EmoteClue("Goblin Salute in the Goblin Village. Beware of double agents! Equip a bandos godsword, a bandos cloak and a bandos platebody.", "Goblin Village", OUTSIDE_MUDKNUCKLES_HUT, new WorldPoint(2956, 3505, 0), DOUBLE_AGENT_141, GOBLIN_SALUTE, item(BANDOS_PLATEBODY), item(BANDOS_CLOAK), any("Bandos godsword", item(BANDOS_GODSWORD), item(BANDOS_GODSWORD_OR))), new EmoteClue("Headbang in the mine north of Al Kharid. Equip a desert shirt, leather gloves and leather boots.", "Al Kharid mine", AL_KHARID_SCORPION_MINE, new WorldPoint(3299, 3289, 0), HEADBANG, item(DESERT_SHIRT), item(LEATHER_GLOVES), item(LEATHER_BOOTS)), - new EmoteClue("Headbang at the exam center. Beware of double agents! Equip a mystic fire staff, a diamond bracelet and rune boots.", "Digsite", INSIDE_THE_DIGSITE_EXAM_CENTRE, new WorldPoint(3362, 3340, 0), DOUBLE_AGENT_108, HEADBANG, item(MYSTIC_FIRE_STAFF), item(DIAMOND_BRACELET), item(RUNE_BOOTS)), + new EmoteClue("Headbang at the exam center. Beware of double agents! Equip a mystic fire staff, a diamond bracelet and rune boots.", "Exam Centre", INSIDE_THE_DIGSITE_EXAM_CENTRE, new WorldPoint(3362, 3340, 0), DOUBLE_AGENT_108, HEADBANG, item(MYSTIC_FIRE_STAFF), item(DIAMOND_BRACELET), item(RUNE_BOOTS)), new EmoteClue("Headbang at the top of Slayer Tower. Equip a seercull, a combat bracelet and helm of Neitiznot.", "Slayer Tower", OUTSIDE_THE_SLAYER_TOWER_GARGOYLE_ROOM, new WorldPoint(3421, 3537, 2), HEADBANG, item(SEERCULL), range("Combat bracelet", COMBAT_BRACELET4, COMBAT_BRACELET), item(HELM_OF_NEITIZNOT)), new EmoteClue("Dance a jig by the entrance to the Fishing Guild. Equip an emerald ring, a sapphire amulet, and a bronze chain body.", "Fishing Guild", OUTSIDE_THE_FISHING_GUILD, new WorldPoint(2610, 3391, 0), JIG, item(EMERALD_RING), item(SAPPHIRE_AMULET), item(BRONZE_CHAINBODY)), new EmoteClue("Dance a jig under Shantay's Awning. Bow before you talk to me. Equip a pointed blue snail helmet, an air staff and a bronze square shield.", "Shantay Pass", SHANTAY_PASS, new WorldPoint(3304, 3124, 0), JIG, BOW, any("Bruise blue snelm (pointed)", item(BRUISE_BLUE_SNELM_3343)), item(STAFF_OF_AIR), item(BRONZE_SQ_SHIELD)), From 25c7c8c73a4f56ccf5ad869673d72ef9dacbbd20 Mon Sep 17 00:00:00 2001 From: Cyborger1 <45152844+Cyborger1@users.noreply.github.com> Date: Fri, 24 Jul 2020 03:49:35 -0400 Subject: [PATCH 131/189] farming: Improve names of Poison ivy and Dwarf weed patches (#12134) --- .../runelite/client/plugins/timetracking/farming/Produce.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/farming/Produce.java b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/farming/Produce.java index e80912552c..8909a54b92 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/farming/Produce.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/farming/Produce.java @@ -62,7 +62,7 @@ public enum Produce DWELLBERRIES("Dwellberry", "Dwellberries", PatchImplementation.BUSH, ItemID.DWELLBERRIES, 20, 8, 20, 5), JANGERBERRIES("Jangerberry", "Jangerberries", PatchImplementation.BUSH, ItemID.JANGERBERRIES, 20, 9, 20, 5), WHITEBERRIES("Whiteberry", "White berries", PatchImplementation.BUSH, ItemID.WHITE_BERRIES, 20, 9, 20, 5), - POISON_IVY("Poison", "Poison ivy berries", PatchImplementation.BUSH, ItemID.POISON_IVY_BERRIES, 20, 9, 20, 5), + POISON_IVY("Poison ivy", "Poison ivy berries", PatchImplementation.BUSH, ItemID.POISON_IVY_BERRIES, 20, 9, 20, 5), // Hop crops BARLEY("Barley", ItemID.BARLEY, 10, 5, 0, 3), @@ -86,7 +86,7 @@ public enum Produce SNAPDRAGON("Snapdragon", PatchImplementation.HERB, ItemID.SNAPDRAGON, 20, 5, 0, 3), CADANTINE("Cadantine", PatchImplementation.HERB, ItemID.CADANTINE, 20, 5, 0, 3), LANTADYME("Lantadyme", PatchImplementation.HERB, ItemID.LANTADYME, 20, 5, 0, 3), - DWARF_WEED("Dwarf Weed", PatchImplementation.HERB, ItemID.DWARF_WEED, 20, 5, 0, 3), + DWARF_WEED("Dwarf weed", PatchImplementation.HERB, ItemID.DWARF_WEED, 20, 5, 0, 3), TORSTOL("Torstol", PatchImplementation.HERB, ItemID.TORSTOL, 20, 5, 0, 3), GOUTWEED("Goutweed", PatchImplementation.HERB, ItemID.GOUTWEED, 20, 5, 0, 2), ANYHERB("Any herb", PatchImplementation.HERB, ItemID.GUAM_LEAF, 20, 5, 0, 3), From 6034d4646dd01da95b2d6cb0d9013b550c4af6c2 Mon Sep 17 00:00:00 2001 From: Jussi Kauppinen Date: Fri, 24 Jul 2020 11:05:02 +0300 Subject: [PATCH 132/189] cooking: Add support for drying sinew (#12184) --- .../net/runelite/client/plugins/cooking/CookingPlugin.java | 3 ++- .../net/runelite/client/plugins/cooking/CookingPluginTest.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingPlugin.java index ef62c1165e..a75aa8c2eb 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cooking/CookingPlugin.java @@ -176,7 +176,8 @@ public class CookingPlugin extends Plugin || message.startsWith("You successfully bake") || message.startsWith("You manage to cook") || message.startsWith("You roast a") - || message.startsWith("You cook")) + || message.startsWith("You cook") + || message.startsWith("You dry a piece of meat")) { if (session == null) { diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/cooking/CookingPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/cooking/CookingPluginTest.java index 65e9cdd3ed..4f87fda050 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/cooking/CookingPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/cooking/CookingPluginTest.java @@ -59,7 +59,8 @@ public class CookingPluginTest "You cook the karambwan. It looks delicious.", "You roast a lobster.", "You cook a bass.", - "You successfully bake a tasty garden pie." + "You successfully bake a tasty garden pie.", + "You dry a piece of meat and extract the sinew." }; @Inject From 5f75fce6cd1318f89dd1739081a262e332e47556 Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Tue, 14 Jul 2020 14:03:20 -0400 Subject: [PATCH 133/189] clues: fix apostrophe positioning for Seers' Village --- .../runelite/client/plugins/cluescrolls/clues/CrypticClue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java index da9d600fe9..1aa6f40605 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java @@ -60,7 +60,7 @@ public class CrypticClue extends ClueScroll implements TextClueScroll, NpcClueSc new CrypticClue("A reck you say; let's pray there aren't any ghosts.", "Father Aereck", new WorldPoint(3242, 3207, 0), "Speak to Father Aereck in Lumbridge."), new CrypticClue("Search the bucket in the Port Sarim jail.", BUCKET_9568, new WorldPoint(3013, 3179, 0), "Talk to Shantay & identify yourself as an outlaw, refuse to pay the 5gp fine twice and you will be sent to the Port Sarim jail."), new CrypticClue("Search the crates in a bank in Varrock.", CRATE_5107, new WorldPoint(3187, 9825, 0), "Search in the basement of the West Varrock bank."), - new CrypticClue("Falo the bard wants to see you.", "Falo the Bard", new WorldPoint(2689, 3550, 0), "Speak to Falo the Bard located between Seer's Village and Rellekka. Southwest of fairy ring CJR."), + new CrypticClue("Falo the bard wants to see you.", "Falo the Bard", new WorldPoint(2689, 3550, 0), "Speak to Falo the Bard located between Seers' Village and Rellekka. Southwest of fairy ring CJR."), new CrypticClue("Search a bookcase in the Wizards tower.", BOOKCASE_12539, new WorldPoint(3113, 3159, 0), "The bookcase located on the ground floor of the Wizards' Tower."), new CrypticClue("Come have a cip with this great soot covered denizen.", "Miner Magnus", new WorldPoint(2527, 3891, 0), "Talk to Miner Magnus on Miscellania, east of the fairy ring CIP. Answer: 8", "How many coal rocks are around here?"), new CrypticClue("Citric cellar.", "Heckel Funch", new WorldPoint(2490, 3488, 0), "Speak to Heckel Funch on the first floor in the Grand Tree."), From b14922013381b49033f5e238deb07f216f3227a2 Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Tue, 14 Jul 2020 14:01:42 -0400 Subject: [PATCH 134/189] clues: add descriptions for MapClues --- .../plugins/cluescrolls/clues/MapClue.java | 68 ++++++++++--------- 1 file changed, 37 insertions(+), 31 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/MapClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/MapClue.java index ec95a7b946..0439c6bb34 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/MapClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/MapClue.java @@ -52,39 +52,45 @@ import net.runelite.client.ui.overlay.components.TitleComponent; @Getter public class MapClue extends ClueScroll implements ObjectClueScroll { + public static final String CHAMPIONS_GUILD = "West of the Champions' Guild"; + public static final String VARROCK_EAST_MINE = "Outside Varrock East Mine"; + public static final String STANDING_STONES = "At the standing stones north of Falador"; + public static final String WIZARDS_TOWER_DIS = "On the south side of the Wizard's Tower (DIS)"; + public static final String SOUTH_OF_DRAYNOR_BANK = "South of Draynor Village Bank"; + private static final Set CLUES = ImmutableSet.of( - new MapClue(CLUE_SCROLL_EASY_12179, new WorldPoint(3300, 3291, 0)), - new MapClue(CLUE_SCROLL_EASY_2713, new WorldPoint(3166, 3361, 0)), - new MapClue(CLUE_SCROLL_EASY_2716, new WorldPoint(3290, 3374, 0)), - new MapClue(CLUE_SCROLL_EASY_2719, new WorldPoint(3043, 3398, 0)), - new MapClue(CLUE_SCROLL_EASY_3516, new WorldPoint(2612, 3482, 0)), - new MapClue(CLUE_SCROLL_EASY_3518, new WorldPoint(3110, 3152, 0)), - new MapClue(CLUE_SCROLL_EASY_7236, new WorldPoint(2970, 3415, 0)), - new MapClue(CLUE_SCROLL_MEDIUM_2827, new WorldPoint(3091, 3227, 0)), - new MapClue(CLUE_SCROLL_MEDIUM_3596, new WorldPoint(2907, 3295, 0)), - new MapClue(CLUE_SCROLL_MEDIUM_3598, new WorldPoint(2658, 3488, 0), CRATE_357), - new MapClue(CLUE_SCROLL_MEDIUM_3599, new WorldPoint(2651, 3231, 0)), - new MapClue(CLUE_SCROLL_MEDIUM_3601, new WorldPoint(2565, 3248, 0), CRATE_354), - new MapClue(CLUE_SCROLL_MEDIUM_3602, new WorldPoint(2924, 3210, 0)), - new MapClue(CLUE_SCROLL_MEDIUM_7286, new WorldPoint(2536, 3865, 0)), - new MapClue(CLUE_SCROLL_MEDIUM_7288, new WorldPoint(3434, 3265, 0)), - new MapClue(CLUE_SCROLL_MEDIUM_7290, new WorldPoint(2454, 3230, 0)), - new MapClue(CLUE_SCROLL_MEDIUM_7292, new WorldPoint(2578, 3597, 0)), - new MapClue(CLUE_SCROLL_MEDIUM_7294, new WorldPoint(2666, 3562, 0)), - new MapClue(CLUE_SCROLL_HARD, new WorldPoint(3309, 3503, 0), CRATE_2620), - new MapClue(CLUE_SCROLL_HARD_2729, new WorldPoint(3190, 3963, 0)), - new MapClue(CLUE_SCROLL_HARD_3520, new WorldPoint(2615, 3078, 0)), - new MapClue(CLUE_SCROLL_HARD_3522, new WorldPoint(2488, 3308, 0)), - new MapClue(CLUE_SCROLL_HARD_3524, new WorldPoint(2457, 3182, 0), CRATE_18506), - new MapClue(CLUE_SCROLL_HARD_3525, new WorldPoint(3026, 3628, 0), CRATE_354), - new MapClue(CLUE_SCROLL_HARD_7239, new WorldPoint(3021, 3912, 0)), - new MapClue(CLUE_SCROLL_HARD_7241, new WorldPoint(2722, 3338, 0)), - new MapClue(CLUE_SCROLL_ELITE_12130, new WorldPoint(2449, 3130, 0)), + new MapClue(CLUE_SCROLL_EASY_12179, new WorldPoint(3300, 3291, 0), "Al Kharid mine"), + new MapClue(CLUE_SCROLL_EASY_2713, new WorldPoint(3166, 3361, 0), CHAMPIONS_GUILD), + new MapClue(CLUE_SCROLL_EASY_2716, new WorldPoint(3290, 3374, 0), VARROCK_EAST_MINE), + new MapClue(CLUE_SCROLL_EASY_2719, new WorldPoint(3043, 3398, 0), STANDING_STONES), + new MapClue(CLUE_SCROLL_EASY_3516, new WorldPoint(2612, 3482, 0), "Brother Galahad's house, West of McGrubor's Wood."), + new MapClue(CLUE_SCROLL_EASY_3518, new WorldPoint(3110, 3152, 0), WIZARDS_TOWER_DIS), + new MapClue(CLUE_SCROLL_EASY_7236, new WorldPoint(2970, 3415, 0), "North of Falador."), + new MapClue(CLUE_SCROLL_MEDIUM_2827, new WorldPoint(3091, 3227, 0), SOUTH_OF_DRAYNOR_BANK), + new MapClue(CLUE_SCROLL_MEDIUM_3596, new WorldPoint(2907, 3295, 0), "West of the Crafting Guild"), + new MapClue(CLUE_SCROLL_MEDIUM_3598, new WorldPoint(2658, 3488, 0), CRATE_357, "The crate in McGrubor's Wood. Fairy ring ALS"), + new MapClue(CLUE_SCROLL_MEDIUM_3599, new WorldPoint(2651, 3231, 0), "North of the Tower of Life. Fairy ring DJP"), + new MapClue(CLUE_SCROLL_MEDIUM_3601, new WorldPoint(2565, 3248, 0), CRATE_354, "The crate west of the Clocktower."), + new MapClue(CLUE_SCROLL_MEDIUM_3602, new WorldPoint(2924, 3210, 0), "Behind the Chemist's house in Rimmington."), + new MapClue(CLUE_SCROLL_MEDIUM_7286, new WorldPoint(2536, 3865, 0), "Miscellania. Fairy ring CIP"), + new MapClue(CLUE_SCROLL_MEDIUM_7288, new WorldPoint(3434, 3265, 0), "Mort Myre Swamp, west of Mort'ton. Fairy ring BIP"), + new MapClue(CLUE_SCROLL_MEDIUM_7290, new WorldPoint(2454, 3230, 0), "At the entrance to the Ourania Cave."), + new MapClue(CLUE_SCROLL_MEDIUM_7292, new WorldPoint(2578, 3597, 0), "South-east of the Lighthouse. Fairy ring ALP"), + new MapClue(CLUE_SCROLL_MEDIUM_7294, new WorldPoint(2666, 3562, 0), "Between Seers' Village and Rellekka. South-west of Fairy ring CJR"), + new MapClue(CLUE_SCROLL_HARD, new WorldPoint(3309, 3503, 0), CRATE_2620, "A crate in the Lumber Yard, north-east of Varrock."), + new MapClue(CLUE_SCROLL_HARD_2729, new WorldPoint(3190, 3963, 0), "Behind the Magic axe hut in level 56 Wilderness."), + new MapClue(CLUE_SCROLL_HARD_3520, new WorldPoint(2615, 3078, 0), "Yanille anvils, south of the bank."), + new MapClue(CLUE_SCROLL_HARD_3522, new WorldPoint(2488, 3308, 0), "In the western section of West Ardougne."), + new MapClue(CLUE_SCROLL_HARD_3524, new WorldPoint(2457, 3182, 0), CRATE_18506, "In a crate by the stairs to the Observatory Dungeon."), + new MapClue(CLUE_SCROLL_HARD_3525, new WorldPoint(3026, 3628, 0), CRATE_354, "In a crate at the Dark Warriors' Fortress in level 14 Wilderness."), + new MapClue(CLUE_SCROLL_HARD_7239, new WorldPoint(3021, 3912, 0), "South-east of the Wilderness Agility Course in level 50 Wilderness."), + new MapClue(CLUE_SCROLL_HARD_7241, new WorldPoint(2722, 3338, 0), "South of the Legends' Guild. Fairy ring BLR"), + new MapClue(CLUE_SCROLL_ELITE_12130, new WorldPoint(2449, 3130, 0), "South-west of Tree Gnome Village."), new MapClue(CLUE_SCROLL_ELITE_19782, new WorldPoint(2953, 9523, 1), "In the Mogre Camp, near Port Khazard. You require a Diving Apparatus and a Fishbowl Helmet"), - new MapClue(CLUE_SCROLL_ELITE_19783, new WorldPoint(2202, 3062, 0)), - new MapClue(CLUE_SCROLL_ELITE_19784, new WorldPoint(1815, 3852, 0)), - new MapClue(CLUE_SCROLL_ELITE_19785, new WorldPoint(3538, 3208, 0)), - new MapClue(CLUE_SCROLL_ELITE_19786, new WorldPoint(2703, 2716, 0), CRATE_6616) + new MapClue(CLUE_SCROLL_ELITE_19783, new WorldPoint(2202, 3062, 0), "Zul-Andra. Fairy ring BJS"), + new MapClue(CLUE_SCROLL_ELITE_19784, new WorldPoint(1815, 3852, 0), "At the Soul Altar, north-east of the Arceuus essence mine."), + new MapClue(CLUE_SCROLL_ELITE_19785, new WorldPoint(3538, 3208, 0), "East of Burgh de Rott."), + new MapClue(CLUE_SCROLL_ELITE_19786, new WorldPoint(2703, 2716, 0), CRATE_6616, "The crate in south-western Ape Atoll") ); private final int itemId; From e5f6c7e2f2f30023050c1f6ac917a08c9d5f4f75 Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Thu, 23 Jul 2020 14:00:50 -0400 Subject: [PATCH 135/189] clues: update BeginnerMapClue to use MapClue description constants --- .../plugins/cluescrolls/clues/BeginnerMapClue.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/BeginnerMapClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/BeginnerMapClue.java index d1bd888e70..3942079105 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/BeginnerMapClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/BeginnerMapClue.java @@ -33,11 +33,11 @@ import net.runelite.api.widgets.WidgetID; public class BeginnerMapClue extends MapClue implements LocationClueScroll { private static final ImmutableList CLUES = ImmutableList.of( - new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_CHAMPIONS_GUILD, new WorldPoint(3166, 3361, 0), "West of the Champions' Guild"), - new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_VARROCK_EAST_MINE, new WorldPoint(3290, 3374, 0), "Outside Varrock East Mine"), - new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_DRAYNOR, new WorldPoint(3093, 3226, 0), "South of Draynor Village Bank"), - new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_NORTH_OF_FALADOR, new WorldPoint(3043, 3398, 0), "In the standing stones north of Falador"), - new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_WIZARDS_TOWER, new WorldPoint(3110, 3152, 0), "On the south side of the Wizard's Tower (DIS)") + new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_CHAMPIONS_GUILD, new WorldPoint(3166, 3361, 0), MapClue.CHAMPIONS_GUILD), + new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_VARROCK_EAST_MINE, new WorldPoint(3290, 3374, 0), MapClue.VARROCK_EAST_MINE), + new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_DRAYNOR, new WorldPoint(3093, 3226, 0), MapClue.SOUTH_OF_DRAYNOR_BANK), + new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_NORTH_OF_FALADOR, new WorldPoint(3043, 3398, 0), MapClue.STANDING_STONES), + new BeginnerMapClue(WidgetID.BEGINNER_CLUE_MAP_WIZARDS_TOWER, new WorldPoint(3110, 3152, 0), MapClue.WIZARDS_TOWER_DIS) ); private final int widgetGroupID; From 6bac3e81b822f722d1107f8b6f63642be007d2a1 Mon Sep 17 00:00:00 2001 From: Jordan Atwood Date: Tue, 14 Jul 2020 20:58:10 -0700 Subject: [PATCH 136/189] OverlayRenderer: Fix overlay resizing logic Prior to this commit, reducing the size of an overlay not attached to an anchor point using the north or west edges and corners such that its dimensions would be below the minimum overlay size would push that overlay in that direction as it was dragged. This commit updates the overlay resize logic to prevent "pushing" overlays when trying to reduce the width or height below the overlay's minimum size. --- .../client/ui/overlay/OverlayRenderer.java | 78 +++++++++++++------ 1 file changed, 54 insertions(+), 24 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java index c552ac9de4..421b5d1dca 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java @@ -460,53 +460,83 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener if (inOverlayResizingMode) { - final Rectangle r = currentManagedBounds; + final int left = p.x - currentManagedBounds.x; // Distance (in pixels) from the left edge of the bounds + final int top = p.y - currentManagedBounds.y; // Distance (in pixels) from the top edge of the bounds + final int originalX = currentManagedBounds.x; + final int originalY = currentManagedBounds.y; + int x = originalX; + int y = originalY; + int width = currentManagedBounds.width; + int height = currentManagedBounds.height; - final int dx = p.x - r.x; - final int dy = p.y - r.y; switch (clientUI.getCurrentCursor().getType()) { case Cursor.N_RESIZE_CURSOR: - int height = r.height - dy; - r.setRect(r.x, r.y + dy, r.width, height); + y += top; + height -= top; break; case Cursor.NW_RESIZE_CURSOR: - int width = r.width - dx; - height = r.height - dy; - r.setRect(r.x + dx, r.y + dy, width, height); + x += left; + y += top; + width -= left; + height -= top; break; case Cursor.W_RESIZE_CURSOR: - width = r.width - dx; - r.setRect(r.x + dx, r.y, width, r.height); + x += left; + width -= left; break; case Cursor.SW_RESIZE_CURSOR: - width = r.width - dx; - height = dy; - r.setRect(r.x + dx, r.y, width, height); + x += left; + width -= left; + height = top; break; case Cursor.S_RESIZE_CURSOR: - height = dy; - r.setRect(r.x, r.y, r.width, height); + height = top; break; case Cursor.SE_RESIZE_CURSOR: - width = dx; - height = dy; - r.setRect(r.x, r.y, width, height); + width = left; + height = top; break; case Cursor.E_RESIZE_CURSOR: - width = dx; - r.setRect(r.x, r.y, width, r.height); + width = left; break; case Cursor.NE_RESIZE_CURSOR: - width = dx; - height = r.height - dy; - r.setRect(r.x, r.y + dy, width, height); + y += top; + width = left; + height -= top; break; default: // center } - currentManagedOverlay.setPreferredSize(new Dimension(Math.max(MIN_OVERLAY_SIZE, currentManagedBounds.width), Math.max(MIN_OVERLAY_SIZE, currentManagedBounds.height))); + final int widthOverflow = Math.max(0, MIN_OVERLAY_SIZE - width); + final int heightOverflow = Math.max(0, MIN_OVERLAY_SIZE - height); + final int dx = x - originalX; + final int dy = y - originalY; + + // If this resize operation would cause the dimensions to go below the minimum width/height, reset the + // dimensions and adjust the x/y position accordingly as needed + if (widthOverflow > 0) + { + width = MIN_OVERLAY_SIZE; + + if (dx > 0) + { + x -= widthOverflow; + } + } + if (heightOverflow > 0) + { + height = MIN_OVERLAY_SIZE; + + if (dy > 0) + { + y -= heightOverflow; + } + } + + currentManagedBounds.setRect(x, y, width, height); + currentManagedOverlay.setPreferredSize(new Dimension(currentManagedBounds.width, currentManagedBounds.height)); if (currentManagedOverlay.getPreferredLocation() != null) { From 76b57c124ed1f404c4777bed7bf8b678bb2817fb Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 23 Jul 2020 22:47:39 -0400 Subject: [PATCH 137/189] tagtabs: close tab when clicking on main bank tab --- .../net/runelite/client/plugins/banktags/tabs/TabInterface.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 df7abee0e7..9512db8b94 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 @@ -666,7 +666,7 @@ public class TabInterface client.setVar(VarClientInt.INPUT_TYPE, 0); } else if (activeTab != null - && event.getMenuOption().startsWith("View tab")) + && (event.getMenuOption().startsWith("View tab") || event.getMenuOption().equals("View all items"))) { activateTab(null); } From 340530daf6941549f5ec83b5e47e17326141a39a Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 23 Jul 2020 23:00:36 -0400 Subject: [PATCH 138/189] tagtabs: show tab separators in tag tabs This changes tag tabs to actually put the bank in search mode, still without providing any search input, so that the bank tab builder will draw tab separators (both the separator line and tab text label) --- .../main/java/net/runelite/api/ScriptID.java | 3 +++ .../plugins/banktags/BankTagsPlugin.java | 17 ++++++++++++++--- .../src/main/scripts/BankSearchFilter.rs2asm | 19 +++++++++---------- 3 files changed, 26 insertions(+), 13 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 c0c8322d04..2ad014aacd 100644 --- a/runelite-api/src/main/java/net/runelite/api/ScriptID.java +++ b/runelite-api/src/main/java/net/runelite/api/ScriptID.java @@ -296,4 +296,7 @@ public final class ScriptID @ScriptArguments(integer = 19) public static final int BANKMAIN_FINISHBUILDING = 505; + + @ScriptArguments() + public static final int BANKMAIN_SEARCHING = 514; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java index 7af659873e..8c527a2b4c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java @@ -313,9 +313,9 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener final int itemId = intStack[intStackSize - 1]; final String searchfilter = stringStack[stringStackSize - 1]; - // This event fires regardless of the bank being in search mode. If we have a current - // tab set then the bank should be not in search mode (and the filter empty). Otherwise - // the filter is either empty for no search or contains the search filter. + // This event only fires when the bank is in search mode. It will fire even if there is no search + // input. We prevent having a tag tab open while also performing a normal search, so if a tag tab + // is active here it must mean we have placed the bank into search mode. See onScriptPostFired(). TagTab activeTab = tabInterface.getActiveTab(); String search = activeTab != null ? TAG_SEARCH + activeTab.getTag() : searchfilter; @@ -499,6 +499,17 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener @Subscribe public void onScriptPostFired(ScriptPostFired event) { + if (event.getScriptId() == ScriptID.BANKMAIN_SEARCHING) + { + // The return value of bankmain_searching is on the stack. If we have a tag tab active + // make it return true to put the bank in a searching state. + if (tabInterface.getActiveTab() != null || tabInterface.isTagTabActive()) + { + client.getIntStack()[client.getIntStackSize() - 1] = 1; // true + } + return; + } + if (event.getScriptId() != ScriptID.BANKMAIN_BUILD || !config.removeSeparators()) { return; diff --git a/runelite-client/src/main/scripts/BankSearchFilter.rs2asm b/runelite-client/src/main/scripts/BankSearchFilter.rs2asm index 506aa4530b..0555737bdb 100644 --- a/runelite-client/src/main/scripts/BankSearchFilter.rs2asm +++ b/runelite-client/src/main/scripts/BankSearchFilter.rs2asm @@ -10,16 +10,6 @@ invoke 514 iconst 1 if_icmpeq LABEL8 - - iconst 1 ; return value - default to true to match anything - iload 0 ; load item id - sconst "" ; we are not searching, so there is no search string - sconst "bankSearchFilter" ; push event name - runelite_callback ; invoke callback - pop_int ; pop item id - pop_string ; pop search string - return ; return rv - jump LABEL34 LABEL8: get_varc_string 359 ; Skip truncating of varcstr 22 by not calling 280 @@ -29,6 +19,15 @@ LABEL8: string_length iconst 0 if_icmpgt LABEL15 + ; this is a bank search with no input string. the bank tag plugin uses it to perform its tab searches. + iconst 1 ; return value - default to true to match anything + iload 0 ; load item id + sconst "" ; we are not searching, so there is no search string + sconst "bankSearchFilter" ; push event name + runelite_callback ; invoke callback + pop_int ; pop item id + pop_string ; pop search string + return ; return rv jump LABEL34 LABEL15: iload 0 From 080bc013a8b7d3de689b4ec6695ebdb336e78d3e Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 23 Jul 2020 23:52:39 -0400 Subject: [PATCH 139/189] tagtabs: fix clearing bank search when opening tags --- .../plugins/banktags/tabs/BankSearch.java | 11 +++++++---- .../plugins/banktags/tabs/TabInterface.java | 17 ++++++++++------- 2 files changed, 17 insertions(+), 11 deletions(-) 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 c5c2a4a9db..f607415c38 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 @@ -77,11 +77,14 @@ public class BankSearch // selecting/changing tab if (closeChat) { - client.runScript(ScriptID.MESSAGE_LAYER_CLOSE, 0, 0); + // this clears the input text and type, and resets the chatbox to allow input + client.runScript(ScriptID.MESSAGE_LAYER_CLOSE, 1, 1); + } + else + { + client.setVar(VarClientInt.INPUT_TYPE, InputType.NONE.getType()); + client.setVar(VarClientStr.INPUT_TEXT, ""); } - - client.setVar(VarClientInt.INPUT_TYPE, InputType.NONE.getType()); - client.setVar(VarClientStr.INPUT_TEXT, ""); layoutBank(); }); 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 9512db8b94..208a6fe1b0 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 @@ -409,14 +409,14 @@ public class TabInterface if (tab.equals(activeTab)) { activateTab(null); + bankSearch.reset(true); } else { openTag(Text.removeTags(clicked.getName())); + // openTag will reset and relayout } - bankSearch.reset(true); - client.playSoundEffect(SoundEffectID.UI_BOOP); break; case Tab.CHANGE_ICON: @@ -1170,12 +1170,15 @@ public class TabInterface { activateTab(tabManager.find(tag)); tagTabActive = BankTagsPlugin.TAG_TABS_CONFIG.equals(tag); - bankSearch.layoutBank(); + bankSearch.reset(true); // clear search dialog & relayout bank for new tab. - // When tab is selected with search window open, the search window closes but the search button - // stays highlighted, this solves that issue - Widget searchBackground = client.getWidget(WidgetInfo.BANK_SEARCH_BUTTON_BACKGROUND); - searchBackground.setSpriteId(SpriteID.EQUIPMENT_SLOT_TILE); + // When searching the button has a script on timer to detect search end, that will set the background back + // and remove the timer. However since we are going from a bank search to our fake search this will not remove + // the timer but instead re-add it and reset the background. So remove the timer and the background. This is the + // same as bankmain_search_setbutton. + Widget searchButtonBackground = client.getWidget(WidgetInfo.BANK_SEARCH_BUTTON_BACKGROUND); + searchButtonBackground.setOnTimerListener((Object[]) null); + searchButtonBackground.setSpriteId(SpriteID.EQUIPMENT_SLOT_TILE); } private static MenuEntry[] createMenuEntry(MenuEntryAdded event, String option, String target, MenuEntry[] entries) From c545052aad21161a1effd27a396753693d45062a Mon Sep 17 00:00:00 2001 From: trimbe <19672127+trimbe@users.noreply.github.com> Date: Thu, 23 Jul 2020 19:32:42 -0400 Subject: [PATCH 140/189] bank tags: update detection of active tab for separator removal This used to require additional logic to handle Withdraw-X but after e4b43d9, the tab interface should always be active if a tag tab is open so we can rely solely on that. --- .../client/plugins/banktags/BankTagsPlugin.java | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java index 8c527a2b4c..f078e7a167 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java @@ -26,7 +26,6 @@ */ package net.runelite.client.plugins.banktags; -import com.google.common.base.Strings; import com.google.common.collect.Lists; import com.google.common.primitives.Shorts; import com.google.inject.Provides; @@ -52,7 +51,6 @@ import net.runelite.api.MenuAction; import net.runelite.api.MenuEntry; import net.runelite.api.ScriptID; import net.runelite.api.SpriteID; -import net.runelite.api.VarClientInt; import net.runelite.api.VarClientStr; import net.runelite.api.events.DraggingWidgetChanged; import net.runelite.api.events.GameTick; @@ -63,7 +61,6 @@ import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.events.ScriptPostFired; import net.runelite.api.events.ScriptPreFired; import net.runelite.api.events.WidgetLoaded; -import net.runelite.api.vars.InputType; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; @@ -466,13 +463,6 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener } } - private boolean isSearching() - { - return client.getVar(VarClientInt.INPUT_TYPE) == InputType.SEARCH.getType() - || (client.getVar(VarClientInt.INPUT_TYPE) <= 0 - && !Strings.isNullOrEmpty(client.getVar(VarClientStr.INPUT_TEXT))); - } - @Subscribe public void onScriptPreFired(ScriptPreFired event) { @@ -518,7 +508,7 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener // allow time for the tab interface to become active clientThread.invokeLater(() -> { - if (!isSearching() || !tabInterface.isActive()) + if (!tabInterface.isActive()) { return; } From d8b83ce52bf4f57c9c9db19e7838dc1126008980 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 24 Jul 2020 13:22:21 -0400 Subject: [PATCH 141/189] clientui: reset frame position in safe mode --- .../src/main/java/net/runelite/client/ui/ClientUI.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java index 13c13c7c68..aac0c62bc9 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java @@ -48,6 +48,7 @@ import java.awt.image.BufferedImage; import java.time.Duration; import javax.annotation.Nullable; import javax.inject.Inject; +import javax.inject.Named; import javax.inject.Provider; import javax.inject.Singleton; import javax.swing.BoxLayout; @@ -122,6 +123,7 @@ public class ClientUI private final ConfigManager configManager; private final Provider clientThreadProvider; private final EventBus eventBus; + private final boolean safeMode; private final CardLayout cardLayout = new CardLayout(); private final Rectangle sidebarButtonPosition = new Rectangle(); @@ -150,7 +152,8 @@ public class ClientUI @Nullable Applet client, ConfigManager configManager, Provider clientThreadProvider, - EventBus eventBus) + EventBus eventBus, + @Named("safeMode") boolean safeMode) { this.config = config; this.keyManager = keyManager; @@ -159,6 +162,7 @@ public class ClientUI this.configManager = configManager; this.clientThreadProvider = clientThreadProvider; this.eventBus = eventBus; + this.safeMode = safeMode; } @Subscribe @@ -507,7 +511,7 @@ public class ClientUI trayIcon = SwingUtil.createTrayIcon(ICON, RuneLiteProperties.getTitle(), frame); // Move frame around (needs to be done after frame is packed) - if (config.rememberScreenBounds()) + if (config.rememberScreenBounds() && !safeMode) { try { From aaed7816b21e3e15f6bb27d5a631886b373424d5 Mon Sep 17 00:00:00 2001 From: Blackberry0Pie Date: Sat, 25 Jul 2020 23:37:47 -0400 Subject: [PATCH 142/189] fairyring: Add Falo the bard tag to Sinclair Mansion fairy ring (#12030) --- .../java/net/runelite/client/plugins/fairyring/FairyRings.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRings.java b/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRings.java index 344094a2ba..0f1db7d044 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRings.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fairyring/FairyRings.java @@ -61,7 +61,7 @@ public enum FairyRings CIQ("North-west of Yanille"), CIS("North of the Arceuus Library"), CIR("North-east of the Farming Guild", "mount karuulm konar"), - CJR("Sinclair Mansion (east)"), + CJR("Sinclair Mansion", "falo bard"), CKP("Cosmic entity's plane"), CKR("South of Tai Bwo Wannai Village"), CKS("Canifis"), From daf64a15a36bb3f9afe0475065a2e59c34dce59b Mon Sep 17 00:00:00 2001 From: MarbleTurtle <60723971+MarbleTurtle@users.noreply.github.com> Date: Sat, 25 Jul 2020 20:40:24 -0700 Subject: [PATCH 143/189] SkillChallengeClue: Update dragonhide clue text (#12217) After a game update, this clue along with others changed instances of "d'hide" to "dragonhide" for consistency. --- .../client/plugins/cluescrolls/clues/SkillChallengeClue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java index a8d0987357..a58cfb9942 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java @@ -134,7 +134,7 @@ public class SkillChallengeClue extends ClueScroll implements NpcClueScroll, Nam new SkillChallengeClue("Complete a lap of Ape atoll agility course.", true, any("Ninja Monkey Greegree", item(ItemID.NINJA_MONKEY_GREEGREE), item(ItemID.NINJA_MONKEY_GREEGREE_4025), item(ItemID.KRUK_MONKEY_GREEGREE))), new SkillChallengeClue("Create a super defence potion.", item(ItemID.CADANTINE_POTION_UNF), item(ItemID.WHITE_BERRIES)), new SkillChallengeClue("Steal from a chest in Ardougne Castle."), - new SkillChallengeClue("Craft a green d'hide body.", xOfItem(ItemID.GREEN_DRAGON_LEATHER, 3), item(ItemID.NEEDLE), item(ItemID.THREAD)), + new SkillChallengeClue("Craft a green dragonhide body.", xOfItem(ItemID.GREEN_DRAGON_LEATHER, 3), item(ItemID.NEEDLE), item(ItemID.THREAD)), new SkillChallengeClue("String a yew longbow.", item(ItemID.YEW_LONGBOW_U), item(ItemID.BOW_STRING)), new SkillChallengeClue("Kill a Dust Devil.", "slay a dust devil.", true, any("Facemask or Slayer Helmet", item(ItemID.FACEMASK), item(ItemID.SLAYER_HELMET), item(ItemID. SLAYER_HELMET_I), item(ItemID. BLACK_SLAYER_HELMET), item(ItemID. BLACK_SLAYER_HELMET_I), item(ItemID. PURPLE_SLAYER_HELMET), item(ItemID. PURPLE_SLAYER_HELMET_I), item(ItemID. RED_SLAYER_HELMET), item(ItemID. RED_SLAYER_HELMET_I), item(ItemID.GREEN_SLAYER_HELMET), item(ItemID. GREEN_SLAYER_HELMET_I), item(ItemID. TURQUOISE_SLAYER_HELMET), item(ItemID. TURQUOISE_SLAYER_HELMET_I), item(ItemID. HYDRA_SLAYER_HELMET), item(ItemID. HYDRA_SLAYER_HELMET_I))), new SkillChallengeClue("Catch a black warlock.", item(ItemID.BUTTERFLY_JAR), any("Butterfly Net", item(ItemID.BUTTERFLY_NET), item(ItemID.MAGIC_BUTTERFLY_NET))), From 24c621177ab6ab39dffc50fe5199c67ae9088705 Mon Sep 17 00:00:00 2001 From: kjartantr Date: Sun, 26 Jul 2020 03:58:14 +0000 Subject: [PATCH 144/189] SlayerUnlock: Update varbits enum (#12214) --- .../src/main/java/net/runelite/api/vars/SlayerUnlock.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/runelite-api/src/main/java/net/runelite/api/vars/SlayerUnlock.java b/runelite-api/src/main/java/net/runelite/api/vars/SlayerUnlock.java index 05081da7a2..4ad46dc060 100644 --- a/runelite-api/src/main/java/net/runelite/api/vars/SlayerUnlock.java +++ b/runelite-api/src/main/java/net/runelite/api/vars/SlayerUnlock.java @@ -79,7 +79,13 @@ public enum SlayerUnlock RUNE_DRAGON_EXTEND(41), VORKATH_SLAYER_HELM(42), FOSSIL_ISLAND_WYVERN_DISABLE(43, Varbits.FOSSIL_ISLAND_WYVERN_DISABLE), - GROTESQUE_GUARDIAN_DOUBLE_COUNT(44); + GROTESQUE_GUARDIAN_DOUBLE_COUNT(44), + HYDRA_SLAYER_HELM(45), + BASILISK_EXTEND(46), + BASILISK_UNLOCK(47), + OLM_SLAYER_HELM(48), + VAMPYRE_EXTEND(49), + VAMPYRE_UNLOCK(50); private Varbits toggleVarbit; From 6fdf5d5c764e156dc7068dabfa0b2ed98c9984f0 Mon Sep 17 00:00:00 2001 From: Kyle <48519776+xKylee@users.noreply.github.com> Date: Sun, 26 Jul 2020 23:48:56 +0100 Subject: [PATCH 145/189] configPanel: fix enum box not displaying correctly configPanel: fix enum box not displaying correctly --- .../java/net/runelite/client/plugins/config/ConfigPanel.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java index bb99077714..1c9d0311bf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java @@ -945,7 +945,7 @@ class ConfigPanel extends PluginPanel box.setToolTipText(Text.titleCase((Enum) box.getSelectedItem())); } }); - item.add(box, BorderLayout.EAST); + item.add(box, BorderLayout.CENTER); } if (cid.getType() == Keybind.class || cid.getType() == ModifierlessKeybind.class) @@ -1273,4 +1273,4 @@ class ConfigPanel extends PluginPanel { return "" + key + ": " + value + ""; } -} \ No newline at end of file +} From a41074f1355dbb785dc4808eee97b487e7adc0cf Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 28 Jul 2020 13:42:44 -0400 Subject: [PATCH 146/189] clientui: use contains instead of intersects for screen bounds checking It is possible to have the client bounds intersect the screen bounds but still have the client unusable due to being unable to resposition it. --- .../src/main/java/net/runelite/client/ui/ClientUI.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java index aac0c62bc9..99a5baf689 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java @@ -522,8 +522,8 @@ public class ClientUI frame.setBounds(clientBounds); // frame.getGraphicsConfiguration().getBounds() returns the bounds for the primary display. - // We have to find the correct graphics configuration by using the intersection of the client boundaries. - GraphicsConfiguration gc = getIntersectingDisplay(clientBounds); + // We have to find the correct graphics configuration by using the client boundaries. + GraphicsConfiguration gc = findDisplayFromBounds(clientBounds); if (gc != null) { double scale = gc.getDefaultTransform().getScaleX(); @@ -587,7 +587,7 @@ public class ClientUI } } - private GraphicsConfiguration getIntersectingDisplay(final Rectangle bounds) + private GraphicsConfiguration findDisplayFromBounds(final Rectangle bounds) { GraphicsDevice[] gds = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices(); @@ -596,7 +596,7 @@ public class ClientUI GraphicsConfiguration gc = gd.getDefaultConfiguration(); final Rectangle displayBounds = gc.getBounds(); - if (displayBounds.intersects(bounds)) + if (displayBounds.contains(bounds)) { return gc; } From 7844a8761ed19776998c029879b2e67f5c4eb70b Mon Sep 17 00:00:00 2001 From: OpenOSRS Date: Thu, 30 Jul 2020 00:03:57 +0000 Subject: [PATCH 147/189] project: Update gradle dependencies --- build.gradle.kts | 2 +- cache/cache.gradle.kts | 4 ++-- deobfuscator/deobfuscator.gradle.kts | 2 +- runelite-client/runelite-client.gradle.kts | 14 +++++++------- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 8de8e9feed..0b164658c7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -41,7 +41,7 @@ buildscript { plugins { id("com.adarshr.test-logger") version "2.1.0" apply false - id("com.github.ben-manes.versions") version "0.28.0" + id("com.github.ben-manes.versions") version "0.29.0" id("se.patrikerdes.use-latest-versions") version "0.2.14" id("org.ajoberstar.grgit") version "4.0.2" id("com.simonharrer.modernizer") version "2.1.0-1" apply false diff --git a/cache/cache.gradle.kts b/cache/cache.gradle.kts index 2a2f726bce..cb2879ed36 100644 --- a/cache/cache.gradle.kts +++ b/cache/cache.gradle.kts @@ -41,8 +41,8 @@ dependencies { implementation(group = "com.google.code.gson", name = "gson", version = "2.8.6") implementation(group = "com.google.guava", name = "guava", version = "29.0-jre") implementation(group = "commons-cli", name = "commons-cli", version = "1.4") - implementation(group = "io.netty", name = "netty-buffer", version = "4.1.50.Final") - implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.7.2") + implementation(group = "io.netty", name = "netty-buffer", version = "4.1.51.Final") + implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.8.0") implementation(group = "org.antlr", name = "antlr4-runtime", version = "4.8-1") implementation(group = "org.apache.commons", name = "commons-compress", version = "1.20") implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.30") diff --git a/deobfuscator/deobfuscator.gradle.kts b/deobfuscator/deobfuscator.gradle.kts index 2675255bea..dd3730decf 100644 --- a/deobfuscator/deobfuscator.gradle.kts +++ b/deobfuscator/deobfuscator.gradle.kts @@ -49,7 +49,7 @@ dependencies { testImplementation(deobjars) testImplementation(group = "junit", name = "junit", version = "4.13") - testImplementation(group = "org.mockito", name = "mockito-core", version = "3.4.2") + testImplementation(group = "org.mockito", name = "mockito-core", version = "3.4.6") } tasks { diff --git a/runelite-client/runelite-client.gradle.kts b/runelite-client/runelite-client.gradle.kts index b31a24ce21..a895c150cf 100644 --- a/runelite-client/runelite-client.gradle.kts +++ b/runelite-client/runelite-client.gradle.kts @@ -55,17 +55,17 @@ dependencies { implementation(group = "com.jakewharton.rxrelay3", name = "rxrelay", version = "3.0.0") implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.8.0") implementation(group = "io.reactivex.rxjava3", name = "rxjava", version = "3.0.4") - implementation(group = "net.java.dev.jna", name = "jna", version = "5.5.0") + implementation(group = "net.java.dev.jna", name = "jna", version = "5.6.0") implementation(group = "org.jgroups", name = "jgroups", version = "4.2.4.Final") - implementation(group = "net.java.dev.jna", name = "jna-platform", version = "5.5.0") + implementation(group = "net.java.dev.jna", name = "jna-platform", version = "5.6.0") implementation(group = "net.runelite", name = "discord", version = "1.2") 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.8") implementation(group = "org.jetbrains", name = "annotations", version = "19.0.0") - implementation(group = "org.jooq", name = "jooq", version = "3.13.2") - implementation(group = "org.jooq", name = "jooq-codegen", version = "3.13.2") - implementation(group = "org.jooq", name = "jooq-meta", version = "3.13.2") + implementation(group = "org.jooq", name = "jooq", version = "3.13.3") + implementation(group = "org.jooq", name = "jooq-codegen", version = "3.13.3") + implementation(group = "org.jooq", name = "jooq-meta", version = "3.13.3") implementation(group = "io.sentry", name = "sentry-logback", version = "1.7.30") implementation(group = "com.github.zafarkhaja", name = "java-semver", version = "0.9.0") implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.30") @@ -87,8 +87,8 @@ dependencies { testImplementation(group = "com.google.inject.extensions", name = "guice-testlib", version = "4.2.3") testImplementation(group = "org.hamcrest", name = "hamcrest-library", version = "2.2") testImplementation(group = "junit", name = "junit", version = "4.13") - testImplementation(group = "org.mockito", name = "mockito-core", version = "3.4.2") - testImplementation(group = "org.mockito", name = "mockito-inline", version = "3.4.2") + testImplementation(group = "org.mockito", name = "mockito-core", version = "3.4.6") + testImplementation(group = "org.mockito", name = "mockito-inline", version = "3.4.6") testImplementation(group = "com.squareup.okhttp3", name = "mockwebserver", version = "4.8.0") testImplementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.30") } From 04648664ad6bd4970f531958435851ef0173d75d Mon Sep 17 00:00:00 2001 From: Arman Rafian Date: Wed, 29 Jul 2020 20:54:02 -0700 Subject: [PATCH 148/189] agility: Improve laps per hour calculation accuracy (#12246) The agility plugin previously calculated the average laps/hr rate based on the speed of the last 10 completed laps. Since this number was too low, it regularly resulted in an inaccurate estimate. Increasing this cache of previous lap speed to 30 yields a good trade-off between accuracy over a long period of time and responsiveness to laps with outlier completion times. --- .../net/runelite/client/plugins/agility/AgilitySession.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilitySession.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilitySession.java index ea466a1c5b..2a1174a6e6 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilitySession.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilitySession.java @@ -41,7 +41,7 @@ class AgilitySession private Instant lastLapCompleted; private int totalLaps; private int lapsTillGoal; - private final EvictingQueue lastLapTimes = EvictingQueue.create(10); + private final EvictingQueue lastLapTimes = EvictingQueue.create(30); private int lapsPerHour; AgilitySession(Courses course) From 40f032bede826714ad431f912889f6a527fcd0c9 Mon Sep 17 00:00:00 2001 From: LA <14169758+LA@users.noreply.github.com> Date: Wed, 29 Jul 2020 22:39:22 -0700 Subject: [PATCH 149/189] screenshot: Capture Barbarian Assault high gamble screenshots (#12071) --- .../plugins/screenshot/ScreenshotConfig.java | 14 +++++- .../plugins/screenshot/ScreenshotPlugin.java | 47 ++++++++++++++++--- .../screenshot/ScreenshotPluginTest.java | 7 +++ 3 files changed, 61 insertions(+), 7 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotConfig.java index 9753e6da5b..269eb8554a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotConfig.java @@ -229,11 +229,23 @@ public interface ScreenshotConfig extends Config return false; } + @ConfigItem( + keyName = "baHighGamble", + name = "Screenshot BA high gambles", + description = "Take a screenshot of your reward from a high gamble at Barbarian Assault.", + position = 16, + section = whatSection + ) + default boolean screenshotHighGamble() + { + return false; + } + @ConfigItem( keyName = "hotkey", name = "Screenshot hotkey", description = "When you press this key a screenshot will be taken", - position = 16 + position = 17 ) default Keybind hotkey() { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java index 7d0c3d18a2..ad721b0160 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java @@ -110,6 +110,7 @@ public class ScreenshotPlugin extends Plugin private static final ImmutableList PET_MESSAGES = ImmutableList.of("You have a funny feeling like you're being followed", "You feel something weird sneaking into your backpack", "You have a funny feeling like you would have been followed"); + private static final Pattern BA_HIGH_GAMBLE_REWARD_PATTERN = Pattern.compile("(?.+)!
    High level gamble count: (?.+)"); private String clueType; private Integer clueNumber; @@ -238,8 +239,17 @@ public class ScreenshotPlugin extends Plugin } else if (client.getWidget(WidgetInfo.DIALOG_SPRITE_TEXT) != null) { - fileName = parseLevelUpWidget(WidgetInfo.DIALOG_SPRITE_TEXT); - screenshotSubDir = "Levels"; + String text = client.getWidget(WidgetInfo.DIALOG_SPRITE_TEXT).getText(); + if (Text.removeTags(text).contains("High level gamble")) + { + fileName = parseBAHighGambleWidget(text); + screenshotSubDir = "BA High Gambles"; + } + else + { + fileName = parseLevelUpWidget(WidgetInfo.DIALOG_SPRITE_TEXT); + screenshotSubDir = "Levels"; + } } else if (client.getWidget(WidgetInfo.QUEST_COMPLETED_NAME_TEXT) != null) { @@ -378,7 +388,7 @@ public class ScreenshotPlugin extends Plugin takeScreenshot(fileName, "Pets"); } - if (config.screenshotBossKills() ) + if (config.screenshotBossKills()) { Matcher m = BOSSKILL_MESSAGE_PATTERN.matcher(chatMessage); if (m.matches()) @@ -455,12 +465,17 @@ public class ScreenshotPlugin extends Plugin } break; case LEVEL_UP_GROUP_ID: - case DIALOG_SPRITE_GROUP_ID: if (!config.screenshotLevels()) { return; } break; + case DIALOG_SPRITE_GROUP_ID: + if (!(config.screenshotLevels() || config.screenshotHighGamble())) + { + return; + } + break; case KINGDOM_GROUP_ID: if (!config.screenshotKingdom()) { @@ -626,12 +641,32 @@ public class ScreenshotPlugin extends Plugin return "Quest(" + quest + ')'; } + /** + * Parses the Barbarian Assault high gamble reward dialog text into a shortened string for filename usage. + * + * @param text The {@link Widget#getText() text} of the {@link WidgetInfo#DIALOG_SPRITE_TEXT} widget. + * @return Shortened string in the format "High Gamble(100)" + */ + @VisibleForTesting + static String parseBAHighGambleWidget(final String text) + { + final Matcher highGambleMatch = BA_HIGH_GAMBLE_REWARD_PATTERN.matcher(text); + if (highGambleMatch.find()) + { + String gambleCount = highGambleMatch.group("gambleCount"); + return String.format("High Gamble(%s)", gambleCount); + } + + return "High Gamble(count not found)"; + } + + /** * Saves a screenshot of the client window to the screenshot folder as a PNG, * and optionally uploads it to an image-hosting service. * - * @param fileName Filename to use, without file extension. - * @param subDir Subdirectory to store the captured screenshot in. + * @param fileName Filename to use, without file extension. + * @param subDir Subdirectory to store the captured screenshot in. */ private void takeScreenshot(String fileName, String subDir) { diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java index 2616db357e..d77ae1d17c 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java @@ -66,6 +66,7 @@ public class ScreenshotPluginTest private static final String THEATRE_OF_BLOOD_CHEST = "Your completed Theatre of Blood count is: 73."; private static final String VALUABLE_DROP = "Valuable drop: 6 x Bronze arrow (42 coins)"; private static final String UNTRADEABLE_DROP = "Untradeable drop: Rusty sword"; + private static final String BA_HIGH_GAMBLE_REWARD = "Raw shark (x 300)!
    High level gamble count: 100"; @Mock @Bind @@ -258,4 +259,10 @@ public class ScreenshotPluginTest assertEquals("Quest(Doric's Quest)", ScreenshotPlugin.parseQuestCompletedWidget("You have completed Doric's Quest!")); assertEquals("Quest(quest not found)", ScreenshotPlugin.parseQuestCompletedWidget("Sins of the Father forgiven!")); } + + @Test + public void testBAHighGambleRewardParsing() + { + assertEquals("High Gamble(100)", ScreenshotPlugin.parseBAHighGambleWidget(BA_HIGH_GAMBLE_REWARD)); + } } From d8b433739381b4ff5703b0b054325959304bf4e0 Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Thu, 30 Jul 2020 02:03:59 -0400 Subject: [PATCH 150/189] cannon: Add Meiyerditch Laboratory Bloodveld cannon spot (#12078) --- .../java/net/runelite/client/plugins/cannon/CannonSpots.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java index 18f7466203..03cbe9a8bd 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cannon/CannonSpots.java @@ -33,7 +33,7 @@ import net.runelite.api.coords.WorldPoint; enum CannonSpots { - BLOODVELDS(new WorldPoint(2439, 9821, 0), new WorldPoint(2448, 9821, 0), new WorldPoint(2472, 9832, 0), new WorldPoint(2453, 9817, 0)), + BLOODVELDS(new WorldPoint(2439, 9821, 0), new WorldPoint(2448, 9821, 0), new WorldPoint(2472, 9832, 0), new WorldPoint(2453, 9817, 0), new WorldPoint(3597, 9743, 0)), FIRE_GIANTS(new WorldPoint(2393, 9782, 0), new WorldPoint(2412, 9776, 0), new WorldPoint(2401, 9780, 0), new WorldPoint(3047, 10340, 0)), ABERRANT_SPECTRES(new WorldPoint(2456, 9791, 0)), HELLHOUNDS(new WorldPoint(2431, 9776, 0), new WorldPoint(2413, 9786, 0), new WorldPoint(2783, 9686, 0), new WorldPoint(3198, 10071, 0)), From 407ec54d7034d99208872b322ddf5b074b8a93b9 Mon Sep 17 00:00:00 2001 From: OneProGoober Date: Thu, 30 Jul 2020 01:08:33 -0500 Subject: [PATCH 151/189] emoji: Add XD and pleading emojis (#12203) --- .../net/runelite/client/plugins/emojis/Emoji.java | 2 ++ .../runelite/client/plugins/emojis/pleading.png | Bin 0 -> 311 bytes .../net/runelite/client/plugins/emojis/xd.png | Bin 0 -> 312 bytes 3 files changed, 2 insertions(+) create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/emojis/pleading.png create mode 100644 runelite-client/src/main/resources/net/runelite/client/plugins/emojis/xd.png diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/emojis/Emoji.java b/runelite-client/src/main/java/net/runelite/client/plugins/emojis/Emoji.java index 3ac56872d1..acee57ab0f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/emojis/Emoji.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/emojis/Emoji.java @@ -89,6 +89,8 @@ enum Emoji PENSIVE("V_V"), ACORN("D~"), // emojiMap; diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/pleading.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/pleading.png new file mode 100644 index 0000000000000000000000000000000000000000..be897688aca0f250e7af35defda245aa07bd9aa6 GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uGBwbBK{D4$rfKP}kkp6$h7l?iy^FF)K_R(hN za|>^_|C9OuA5Q;& zKK$DeuczBw`?544d%rYKUiRJU>+QMuRu4Arb!c7wttXU0hjoK%)6Dum(V8-b_Quvg>li#;{an^L HB{Ts5ks6Mb literal 0 HcmV?d00001 diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/xd.png b/runelite-client/src/main/resources/net/runelite/client/plugins/emojis/xd.png new file mode 100644 index 0000000000000000000000000000000000000000..7f9e9e0b4035bedec96f0db381d57b1a84dde303 GIT binary patch literal 312 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uGBwbBK{D4$-fKP}kkp6$h7l_uisw}HhxU|&# z@>26(C%l)|Dx|qGEUc7USSh=#R^ihDxBg7g74?d*cR7DL=>F%V_pQ}d$7UHk-faK% zu*Z*Mp2uby+*)J3rAvKEt?$}7u|gSa59yTF+DxEal|A?th4n$Iy%!tLVT|Hblxtes76 zssD@@?P6Xq^+B>sYy+Z1O{$#g?HZpEFdE?fP2+NO)BF=v Date: Thu, 30 Jul 2020 08:44:36 +0200 Subject: [PATCH 152/189] PrayerType: Fix BURST_OF_STRENGTH description typo (#12138) --- .../java/net/runelite/client/plugins/prayer/PrayerType.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerType.java b/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerType.java index 6ef41a7676..7ca4524f53 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerType.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerType.java @@ -34,7 +34,7 @@ import net.runelite.api.SpriteID; enum PrayerType { THICK_SKIN("Thick Skin", Prayer.THICK_SKIN, "+5% Defence", SpriteID.PRAYER_THICK_SKIN, false), - BURST_OF_STRENGTH("Burst of Strength", Prayer.BURST_OF_STRENGTH, "+5% Strenth", SpriteID.PRAYER_BURST_OF_STRENGTH, false), + BURST_OF_STRENGTH("Burst of Strength", Prayer.BURST_OF_STRENGTH, "+5% Strength", SpriteID.PRAYER_BURST_OF_STRENGTH, false), CLARITY_OF_THOUGHT("Clarity of Thought", Prayer.CLARITY_OF_THOUGHT, "+5% Attack", SpriteID.PRAYER_CLARITY_OF_THOUGHT, false), SHARP_EYE("Sharp Eye", Prayer.SHARP_EYE, "+5% Ranged", SpriteID.PRAYER_SHARP_EYE, false), MYSTIC_WILL("Mystic Will", Prayer.MYSTIC_WILL, "+5% Magical attack and defence", SpriteID.PRAYER_MYSTIC_WILL, false), From df21c1f6f92ced3644b2df1db6f6651ca99be2bb Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Thu, 30 Jul 2020 02:45:51 -0400 Subject: [PATCH 153/189] discord: Add castle wars underground region ID (#12075) --- .../runelite/client/plugins/discord/DiscordGameEventType.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordGameEventType.java b/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordGameEventType.java index 2df8d6bd60..b78920f666 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordGameEventType.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordGameEventType.java @@ -239,7 +239,7 @@ enum DiscordGameEventType MG_BLAST_FURNACE("Blast Furnace", DiscordAreaType.MINIGAMES, 7757), MG_BRIMHAVEN_AGILITY_ARENA("Brimhaven Agility Arena", DiscordAreaType.MINIGAMES, 11157), MG_BURTHORPE_GAMES_ROOM("Burthorpe Games Room", DiscordAreaType.MINIGAMES, 8781), - MG_CASTLE_WARS("Castle Wars", DiscordAreaType.MINIGAMES, 9520), + MG_CASTLE_WARS("Castle Wars", DiscordAreaType.MINIGAMES, 9520, 9620), MG_CLAN_WARS("Clan Wars", DiscordAreaType.MINIGAMES, 13135, 13134, 13133, 13131, 13130, 13387, 13386), MG_DUEL_ARENA("Duel Arena", DiscordAreaType.MINIGAMES, 13362), MG_FISHING_TRAWLER("Fishing Trawler", DiscordAreaType.MINIGAMES, 7499), From 5e1f29c50ccf0c1ae79a59d9d8b903867e69fa2b Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Fri, 31 Jul 2020 01:18:36 +0100 Subject: [PATCH 154/189] ... --- .../src/main/java/net/runelite/mixins/RSClientMixin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 39da230737..cb535935ef 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -1024,7 +1024,7 @@ public abstract class RSClientMixin implements RSClient @Inject public static void boostedSkillLevelsChanged(int idx) { - if (idx == 0) + if (idx == -1) { return; } From b75ac53ce5784aea140e4d30b016532096412507 Mon Sep 17 00:00:00 2001 From: Thomas Cylke Date: Fri, 31 Jul 2020 04:16:07 -0400 Subject: [PATCH 155/189] api: add missing keycodes --- .../main/java/net/runelite/api/KeyCode.java | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/KeyCode.java b/runelite-api/src/main/java/net/runelite/api/KeyCode.java index 66770d8b6a..bf9befd953 100644 --- a/runelite-api/src/main/java/net/runelite/api/KeyCode.java +++ b/runelite-api/src/main/java/net/runelite/api/KeyCode.java @@ -29,5 +29,87 @@ package net.runelite.api; */ public final class KeyCode { + public static final int KC_F1 = 1; + public static final int KC_F2 = 2; + public static final int KC_F3 = 3; + public static final int KC_F4 = 4; + public static final int KC_F5 = 5; + public static final int KC_F6 = 6; + public static final int KC_F7 = 7; + public static final int KC_F8 = 8; + public static final int KC_F9 = 9; + public static final int KC_F10 = 10; + public static final int KC_F11 = 11; + public static final int KC_F12 = 12; + public static final int KC_ESCAPE = 13; + + public static final int KC_1 = 16; + public static final int KC_2 = 17; + public static final int KC_3 = 18; + public static final int KC_4 = 19; + public static final int KC_5 = 20; + public static final int KC_6 = 21; + public static final int KC_7 = 22; + public static final int KC_8 = 23; + public static final int KC_9 = 24; + public static final int KC_0 = 25; + public static final int KC_MINUS = 26; + public static final int KC_EQUALS = 27; + public static final int KC_TILDE = 28; + + public static final int KC_Q = 32; + public static final int KC_W = 33; + public static final int KC_E = 34; + public static final int KC_R = 35; + public static final int KC_T = 36; + public static final int KC_Y = 37; + public static final int KC_U = 38; + public static final int KC_I = 39; + public static final int KC_O = 40; + public static final int KC_P = 41; + public static final int KC_OPEN_BRACKET = 42; + public static final int KC_CLOSE_BRACKET = 43; + + public static final int KC_A = 48; + public static final int KC_S = 49; + public static final int KC_D = 50; + public static final int KC_F = 51; + public static final int KC_G = 52; + public static final int KC_H = 53; + public static final int KC_J = 54; + public static final int KC_K = 55; + public static final int KC_L = 56; + public static final int KC_SEMICOLON = 57; + public static final int KC_QUOTE = 58; + + public static final int KC_Z = 64; + public static final int KC_X = 65; + public static final int KC_C = 66; + public static final int KC_V = 67; + public static final int KC_B = 68; + public static final int KC_N = 69; + public static final int KC_M = 70; + public static final int KC_COMMA = 71; + public static final int KC_PERIOD = 72; + public static final int KC_FORWARD_SLASH = 73; + public static final int KC_BACK_SLASH = 74; + + public static final int KC_TAB = 80; public static final int KC_SHIFT = 81; + public static final int KC_CONTROL = 82; + public static final int KC_SPACE = 83; + public static final int KC_ENTER = 84; + public static final int KC_BACKSPACE = 85; + public static final int KC_ALT = 86; + + public static final int KC_LEFT = 96; + public static final int KC_RIGHT = 97; + public static final int KC_UP = 98; + public static final int KC_DOWN = 99; + public static final int KC_INSERT = 100; + public static final int KC_DELETE = 101; + public static final int KC_HOME = 102; + public static final int KC_END = 103; + public static final int KC_PAGE_UP = 104; + public static final int KC_PAGE_DOWN = 105; } From 0d84967b88227548e25a08b1eb5da690b273d3d6 Mon Sep 17 00:00:00 2001 From: OpenOSRS Date: Sat, 1 Aug 2020 00:03:56 +0000 Subject: [PATCH 156/189] project: Update gradle dependencies --- http-api/http-api.gradle.kts | 2 +- runelite-client/runelite-client.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/http-api/http-api.gradle.kts b/http-api/http-api.gradle.kts index a5ec95bbfd..31afceac61 100644 --- a/http-api/http-api.gradle.kts +++ b/http-api/http-api.gradle.kts @@ -35,7 +35,7 @@ dependencies { implementation(group = "com.google.code.gson", name = "gson", version = "2.8.6") implementation(group = "com.google.guava", name = "guava", version = "29.0-jre") implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.8.0") - implementation(group = "io.reactivex.rxjava3", name = "rxjava", version = "3.0.4") + implementation(group = "io.reactivex.rxjava3", name = "rxjava", version = "3.0.5") implementation(group = "org.apache.commons", name = "commons-csv", version = "1.8") implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.30") implementation(project(":runelite-api")) diff --git a/runelite-client/runelite-client.gradle.kts b/runelite-client/runelite-client.gradle.kts index a895c150cf..b766a9193f 100644 --- a/runelite-client/runelite-client.gradle.kts +++ b/runelite-client/runelite-client.gradle.kts @@ -54,7 +54,7 @@ dependencies { implementation(group = "com.h2database", name = "h2", version = "1.4.200") implementation(group = "com.jakewharton.rxrelay3", name = "rxrelay", version = "3.0.0") implementation(group = "com.squareup.okhttp3", name = "okhttp", version = "4.8.0") - implementation(group = "io.reactivex.rxjava3", name = "rxjava", version = "3.0.4") + implementation(group = "io.reactivex.rxjava3", name = "rxjava", version = "3.0.5") implementation(group = "net.java.dev.jna", name = "jna", version = "5.6.0") implementation(group = "org.jgroups", name = "jgroups", version = "4.2.4.Final") implementation(group = "net.java.dev.jna", name = "jna-platform", version = "5.6.0") From 9431fb9b7628706e6e271e27334e134adafaa96f Mon Sep 17 00:00:00 2001 From: TheRealNull Date: Sat, 1 Aug 2020 17:01:50 -0400 Subject: [PATCH 157/189] rl-api: fix stat bonus widgets --- .../src/main/java/net/runelite/api/widgets/WidgetID.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index 85c9ef8f17..2da4a9d764 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -898,9 +898,9 @@ public class WidgetID static final int CRUSH_DEFENCE_BONUS = 31; static final int MAGIC_DEFENCE_BONUS = 32; static final int RANGED_DEFENCE_BONUS = 33; - static final int MELEE_STRENGTH = 35; - static final int RANGED_STRENGTH = 36; - static final int MAGIC_DAMAGE = 37; + static final int MELEE_STRENGTH = 36; + static final int RANGED_STRENGTH = 37; + static final int MAGIC_DAMAGE = 38; static final int PRAYER_BONUS = 38; static final int UNDEAD_DAMAGE_BONUS = 40; static final int SLAYER_DAMAGE_BONUS = 41; From c662ddde41e817f248b0598828cb0b040776e8f0 Mon Sep 17 00:00:00 2001 From: TheRealNull Date: Sat, 1 Aug 2020 17:36:40 -0400 Subject: [PATCH 158/189] rl-config: adjust warning dialogs to be acknowledged rather than wait for input --- .../client/config/RuneLiteConfig.java | 64 +++++++++---------- .../client/plugins/config/ConfigPanel.java | 10 +-- 2 files changed, 33 insertions(+), 41 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java b/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java index 60aceda632..b7072c8887 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java @@ -103,7 +103,7 @@ public interface RuneLiteConfig extends Config keyName = "uiEnableCustomChrome", name = "Enable custom window chrome", description = "Use Runelite's custom window title and borders.", - warning = "Please restart your client after changing this setting", + warning = "Please restart your client after changing this setting.", position = 6, titleSection = "uiTitle" ) @@ -116,8 +116,8 @@ public interface RuneLiteConfig extends Config keyName = "borderless", name = "Windowed borderless", description = "Use windowed borderless mode", - warning = "Please restart your client after changing this setting", - position = 6, // I don't want to change all numbers and this moves it below the other 6, fight me + warning = "Please restart your client after changing this setting.", + position = 7, titleSection = "uiTitle" ) default boolean borderless() @@ -129,7 +129,7 @@ public interface RuneLiteConfig extends Config keyName = "usernameInTitle", name = "Show display name in title", description = "Toggles displaying of local player's display name in client title", - position = 7, + position = 8, titleSection = "uiTitle" ) default boolean usernameInTitle() @@ -141,7 +141,7 @@ public interface RuneLiteConfig extends Config keyName = "miscTitle", name = "Miscellaneous", description = "", - position = 8 + position = 9 ) default Title miscTitle() { @@ -152,7 +152,7 @@ public interface RuneLiteConfig extends Config keyName = "rememberScreenBounds", name = "Remember client position", description = "Save the position and size of the client after exiting", - position = 9, + position = 10, titleSection = "miscTitle" ) default boolean rememberScreenBounds() @@ -164,7 +164,7 @@ public interface RuneLiteConfig extends Config keyName = "gameAlwaysOnTop", name = "Enable client always on top", description = "The game will always be on the top of the screen", - position = 10, + position = 11, titleSection = "miscTitle" ) default boolean gameAlwaysOnTop() @@ -176,7 +176,7 @@ public interface RuneLiteConfig extends Config keyName = "warningOnExit", name = "Display warning on exit", description = "Toggles a warning popup when trying to exit the client", - position = 11, + position = 12, titleSection = "miscTitle" ) default WarningOnExit warningOnExit() @@ -189,7 +189,7 @@ public interface RuneLiteConfig extends Config keyName = "volume", name = "Runelite Volume", description = "Sets the volume of custom Runelite sounds (not the client sounds)", - position = 12, + position = 13, titleSection = "miscTitle" ) @Units(Units.PERCENT) @@ -202,7 +202,7 @@ public interface RuneLiteConfig extends Config keyName = "tooltipPosition", name = "Tooltip Position", description = "Configures whether to show the tooltip above or under the cursor", - position = 13, + position = 14, titleSection = "miscTitle" ) default TooltipPositionType tooltipPosition() @@ -214,7 +214,7 @@ public interface RuneLiteConfig extends Config keyName = "notificationsTitle", name = "Notifications", description = "", - position = 14 + position = 15 ) default Title notificationsTitle() { @@ -225,7 +225,7 @@ public interface RuneLiteConfig extends Config keyName = "notificationTray", name = "Enable tray notifications", description = "Enables tray notifications", - position = 15, + position = 16, titleSection = "notificationsTitle" ) default boolean enableTrayNotifications() @@ -237,7 +237,7 @@ public interface RuneLiteConfig extends Config keyName = "notificationRequestFocus", name = "Request focus on notification", description = "Configures the window focus request type on notification", - position = 16, + position = 17, titleSection = "notificationsTitle" ) default RequestFocusType notificationRequestFocus() @@ -249,7 +249,7 @@ public interface RuneLiteConfig extends Config keyName = "notificationSound", name = "Notification sound", description = "Enables the playing of a beep sound when notifications are displayed", - position = 17, + position = 18, titleSection = "notificationsTitle" ) default Notifier.NativeCustomOff notificationSound() @@ -261,7 +261,7 @@ public interface RuneLiteConfig extends Config keyName = "notificationGameMessage", name = "Enable game message notifications", description = "Puts a notification message in the chatbox", - position = 18, + position = 19, titleSection = "notificationsTitle" ) default boolean enableGameMessageNotification() @@ -273,7 +273,7 @@ public interface RuneLiteConfig extends Config keyName = "notificationFlash", name = "Enable flash notification", description = "Flashes the game frame as a notification", - position = 19, + position = 20, titleSection = "notificationsTitle" ) default FlashNotification flashNotification() @@ -285,7 +285,7 @@ public interface RuneLiteConfig extends Config keyName = "notificationFocused", name = "Send notifications when focused", description = "Toggles all notifications for when the client is focused", - position = 20, + position = 21, titleSection = "notificationsTitle" ) default boolean sendNotificationsWhenFocused() @@ -298,7 +298,7 @@ public interface RuneLiteConfig extends Config keyName = "notificationFlashColor", name = "Notification Flash Color", description = "Sets the color of the notification flashes.", - position = 21, + position = 22, titleSection = "notificationsTitle" ) default Color notificationFlashColor() @@ -310,7 +310,7 @@ public interface RuneLiteConfig extends Config keyName = "fontTitle", name = "Font", description = "", - position = 22 + position = 23 ) default Title fontTitle() { @@ -321,7 +321,7 @@ public interface RuneLiteConfig extends Config keyName = "fontType", name = "Dynamic Overlay Font", description = "Configures what font type is used for in-game overlays such as player name, ground items, etc.", - position = 23, + position = 24, titleSection = "fontTitle" ) default FontType fontType() @@ -333,7 +333,7 @@ public interface RuneLiteConfig extends Config keyName = "tooltipFontType", name = "Tooltip Font", description = "Configures what font type is used for in-game tooltips such as food stats, NPC names, etc.", - position = 24, + position = 25, titleSection = "fontTitle" ) default FontType tooltipFontType() @@ -345,7 +345,7 @@ public interface RuneLiteConfig extends Config keyName = "interfaceFontType", name = "Interface Overlay Font", description = "Configures what font type is used for in-game interface overlays such as panels, opponent info, clue scrolls etc.", - position = 25, + position = 26, titleSection = "fontTitle" ) default FontType interfaceFontType() @@ -357,7 +357,7 @@ public interface RuneLiteConfig extends Config keyName = "overlayTitle", name = "Overlays", description = "", - position = 26 + position = 27 ) default Title overlayTitle() { @@ -368,7 +368,7 @@ public interface RuneLiteConfig extends Config keyName = "menuEntryShift", name = "Require Shift for overlay menu", description = "Overlay right-click menu will require shift to be added", - position = 27, + position = 28, titleSection = "overlayTitle" ) default boolean menuEntryShift() @@ -380,7 +380,7 @@ public interface RuneLiteConfig extends Config keyName = "overlayBackgroundColor", name = "Overlay Color", description = "Configures the background color of infoboxes and overlays", - position = 28, + position = 29, titleSection = "overlayTitle" ) @Alpha @@ -393,7 +393,7 @@ public interface RuneLiteConfig extends Config keyName = "infoboxTitle", name = "Infoboxes", description = "", - position = 29 + position = 30 ) default Title infoboxTitle() { @@ -404,7 +404,7 @@ public interface RuneLiteConfig extends Config keyName = "infoBoxVertical", name = "Display infoboxes vertically", description = "Toggles the infoboxes to display vertically", - position = 30, + position = 31, titleSection = "infoboxTitle" ) default boolean infoBoxVertical() @@ -416,7 +416,7 @@ public interface RuneLiteConfig extends Config keyName = "infoBoxSize", name = "Infobox size", description = "Configures the size of each infobox in pixels", - position = 31, + position = 32, titleSection = "infoboxTitle" ) @Units(Units.PIXELS) @@ -429,7 +429,7 @@ public interface RuneLiteConfig extends Config keyName = "keybindsTitle", name = "Key binds", description = "", - position = 32 + position = 33 ) default Title keybindsTitle() { @@ -440,7 +440,7 @@ public interface RuneLiteConfig extends Config keyName = "sidebarToggleKey", name = "Sidebar Toggle Key", description = "The key that will toggle the sidebar (accepts modifiers)", - position = 33, + position = 34, titleSection = "keybindsTitle" ) default Keybind sidebarToggleKey() @@ -452,7 +452,7 @@ public interface RuneLiteConfig extends Config keyName = "panelToggleKey", name = "Plugin Panel Toggle Key", description = "The key that will toggle the current or last opened plugin panel (accepts modifiers)", - position = 34, + position = 35, titleSection = "keybindsTitle" ) default Keybind panelToggleKey() @@ -464,7 +464,7 @@ public interface RuneLiteConfig extends Config keyName = "blockExtraMouseButtons", name = "Block Extra Mouse Buttons", description = "Blocks extra mouse buttons (4 and above)", - position = 35, + position = 36, titleSection = "keybindsTitle" ) default boolean blockExtraMouseButtons() diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java index 1c9d0311bf..ecabe1a588 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java @@ -1081,15 +1081,7 @@ class ConfigPanel extends PluginPanel if (!Strings.isNullOrEmpty(configItem.warning())) { - final int result = JOptionPane.showOptionDialog(component, configItem.warning(), - "Are you sure?", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE, - null, new String[]{"Yes", "No"}, "No"); - - if (result != JOptionPane.YES_OPTION) - { - rebuild(false); - return; - } + JOptionPane.showMessageDialog(component, configItem.warning(), "Warning", JOptionPane.WARNING_MESSAGE); } if (component instanceof JCheckBox) From 95ee9e70cf259691af89432e476ca8d8f64bc6d0 Mon Sep 17 00:00:00 2001 From: TheRealNull Date: Sat, 1 Aug 2020 18:03:28 -0400 Subject: [PATCH 159/189] rl-api: fix the rest of the incorrect equip-your-char widgets --- .../net/runelite/api/widgets/WidgetID.java | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index 2da4a9d764..1fb9dcaf66 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -888,23 +888,23 @@ public class WidgetID static class EquipmentWidgetIdentifiers { static final int EQUIP_YOUR_CHARACTER = 3; - static final int STAB_ATTACK_BONUS = 23; - static final int SLASH_ATTACK_BONUS = 24; - static final int CRUSH_ATTACK_BONUS = 25; - static final int MAGIC_ATTACK_BONUS = 26; - static final int RANGED_ATTACK_BONUS = 27; - static final int STAB_DEFENCE_BONUS = 29; - static final int SLASH_DEFENCE_BONUS = 30; - static final int CRUSH_DEFENCE_BONUS = 31; - static final int MAGIC_DEFENCE_BONUS = 32; - static final int RANGED_DEFENCE_BONUS = 33; + static final int STAB_ATTACK_BONUS = 24; + static final int SLASH_ATTACK_BONUS = 25; + static final int CRUSH_ATTACK_BONUS = 26; + static final int MAGIC_ATTACK_BONUS = 27; + static final int RANGED_ATTACK_BONUS = 28; + static final int STAB_DEFENCE_BONUS = 30; + static final int SLASH_DEFENCE_BONUS = 31; + static final int CRUSH_DEFENCE_BONUS = 32; + static final int MAGIC_DEFENCE_BONUS = 33; + static final int RANGED_DEFENCE_BONUS = 34; static final int MELEE_STRENGTH = 36; static final int RANGED_STRENGTH = 37; static final int MAGIC_DAMAGE = 38; - static final int PRAYER_BONUS = 38; - static final int UNDEAD_DAMAGE_BONUS = 40; - static final int SLAYER_DAMAGE_BONUS = 41; - static final int WEIGHT = 43; + static final int PRAYER_BONUS = 39; + static final int UNDEAD_DAMAGE_BONUS = 41; + static final int SLAYER_DAMAGE_BONUS = 42; + static final int WEIGHT = 49; } static class VarrockMuseum From 9fef3ad47df49d476858a9ef3b8e9f149b222429 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 2 Aug 2020 11:48:34 -0400 Subject: [PATCH 160/189] inventory-grid: show grid when viewing bank Co-authored-by: while-loop --- .../inventorygrid/InventoryGridOverlay.java | 48 +++++++++++++++---- 1 file changed, 40 insertions(+), 8 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridOverlay.java index 6c0380b687..3d606d8d6a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventorygrid/InventoryGridOverlay.java @@ -72,20 +72,30 @@ class InventoryGridOverlay extends Overlay @Override public Dimension render(Graphics2D graphics) { - final Widget if1DraggingWidget = client.getIf1DraggedWidget(); - final Widget inventoryWidget = client.getWidget(WidgetInfo.INVENTORY); - - if (if1DraggingWidget == null || if1DraggingWidget != inventoryWidget) + final Widget draggingWidget = getDraggedWidget(); + if (draggingWidget == null) { initialMousePoint = null; hoverActive = false; + // not dragging + return null; + } + + // grid is only supported on bank inventory and inventory + Widget inventoryWidget = draggingWidget.isIf3() ? + client.getWidget(WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER) : + client.getWidget(WidgetInfo.INVENTORY); + + // with if3 the dragged widget is a child of the inventory, with if1 it is an item of the inventory (and the same widget) + if (inventoryWidget == null || (draggingWidget.isIf3() ? draggingWidget.getParent() != inventoryWidget : draggingWidget != inventoryWidget)) + { return null; } final net.runelite.api.Point mouse = client.getMouseCanvasPosition(); final Point mousePoint = new Point(mouse.getX(), mouse.getY()); - final int if1DraggedItemIndex = client.getIf1DraggedItemIndex(); - final WidgetItem draggedItem = inventoryWidget.getWidgetItem(if1DraggedItemIndex); + final int draggedItemIndex = draggingWidget.isIf3() ? draggingWidget.getIndex() : client.getIf1DraggedItemIndex(); + final WidgetItem draggedItem = getWidgetItem(inventoryWidget, draggedItemIndex); final Rectangle initialBounds = draggedItem.getCanvasBounds(false); if (initialMousePoint == null) @@ -104,8 +114,7 @@ class InventoryGridOverlay extends Overlay for (int i = 0; i < INVENTORY_SIZE; ++i) { - WidgetItem targetWidgetItem = inventoryWidget.getWidgetItem(i); - + final WidgetItem targetWidgetItem = getWidgetItem(inventoryWidget, i); final Rectangle bounds = targetWidgetItem.getCanvasBounds(false); boolean inBounds = bounds.contains(mousePoint); @@ -130,6 +139,29 @@ class InventoryGridOverlay extends Overlay return null; } + private Widget getDraggedWidget() + { + Widget widget = client.getIf1DraggedWidget(); // if1 drag + if (widget != null) + { + return widget; + } + return client.getDraggedWidget(); // if3 drag + } + + private static WidgetItem getWidgetItem(Widget parentWidget, int idx) + { + if (parentWidget.isIf3()) + { + Widget wi = parentWidget.getChild(idx); + return new WidgetItem(wi.getItemId(), wi.getItemQuantity(), -1, wi.getBounds(), parentWidget, wi.getBounds()); + } + else + { + return parentWidget.getWidgetItem(idx); + } + } + private void drawItem(Graphics2D graphics, Rectangle bounds, WidgetItem item) { if (item.getId() == -1) From e885cef94255b5ff76a7d03fdabae196e80b42b8 Mon Sep 17 00:00:00 2001 From: Broooklyn <54762282+Broooklyn@users.noreply.github.com> Date: Sat, 1 Aug 2020 19:10:24 -0400 Subject: [PATCH 161/189] agility: Fix prif portal highlighting Previously they would be highlighted with graphics.setColor(configColor) when config.highlightPortals was set to false. --- .../client/plugins/agility/AgilityOverlay.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityOverlay.java index 96e52d22f8..a7996744c2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityOverlay.java @@ -109,9 +109,16 @@ class AgilityOverlay extends Overlay configColor = config.getMarkColor(); } - if (config.highlightPortals() && Obstacles.PORTAL_OBSTACLE_IDS.contains(object.getId())) + if (Obstacles.PORTAL_OBSTACLE_IDS.contains(object.getId())) { - configColor = config.getPortalsColor(); + if (config.highlightPortals()) + { + configColor = config.getPortalsColor(); + } + else + { + return; + } } if (objectClickbox.contains(mousePosition.getX(), mousePosition.getY())) From e53e33d6fb53abab9397bd17f462d692a65a1ab5 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 3 Aug 2020 11:56:12 -0400 Subject: [PATCH 162/189] mouse highlight: fix interface tooltips option Use the menu type instead of assuming if the param1 is a valid widget then the menu is for a widget. The params are free form data which is specific to the menu type, so it is possible for it to unintentionally be a valid widget id even when it is something else. --- .../mousehighlight/MouseHighlightOverlay.java | 80 +++++++++++++------ 1 file changed, 54 insertions(+), 26 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightOverlay.java index 4a8e1026e6..be6001241d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightOverlay.java @@ -25,14 +25,15 @@ package net.runelite.client.plugins.mousehighlight; import com.google.common.base.Strings; +import com.google.common.collect.ImmutableSet; import java.awt.Dimension; import java.awt.Graphics2D; +import java.util.Set; import javax.inject.Inject; import net.runelite.api.Client; import net.runelite.api.MenuAction; import net.runelite.api.MenuEntry; import net.runelite.api.VarClientInt; -import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.ui.overlay.Overlay; @@ -42,6 +43,35 @@ import net.runelite.client.ui.overlay.tooltip.TooltipManager; class MouseHighlightOverlay extends Overlay { + /** + * Menu types which are on widgets. + */ + private static final Set WIDGET_MENU_ACTIONS = ImmutableSet.of( + MenuAction.WIDGET_TYPE_1, + MenuAction.WIDGET_TYPE_2, + MenuAction.WIDGET_TYPE_3, + MenuAction.WIDGET_TYPE_4, + MenuAction.WIDGET_TYPE_5, + MenuAction.WIDGET_TYPE_6, + MenuAction.ITEM_USE_ON_WIDGET_ITEM, + MenuAction.ITEM_USE_ON_WIDGET, + MenuAction.ITEM_FIRST_OPTION, + MenuAction.ITEM_SECOND_OPTION, + MenuAction.ITEM_THIRD_OPTION, + MenuAction.ITEM_FOURTH_OPTION, + MenuAction.ITEM_FIFTH_OPTION, + MenuAction.ITEM_USE, + MenuAction.WIDGET_FIRST_OPTION, + MenuAction.WIDGET_SECOND_OPTION, + MenuAction.WIDGET_THIRD_OPTION, + MenuAction.WIDGET_FOURTH_OPTION, + MenuAction.WIDGET_FIFTH_OPTION, + MenuAction.EXAMINE_ITEM, + MenuAction.SPELL_CAST_ON_WIDGET, + MenuAction.CC_OP_LOW_PRIORITY, + MenuAction.CC_OP + ); + private final TooltipManager tooltipManager; private final Client client; private final MouseHighlightConfig config; @@ -74,9 +104,9 @@ class MouseHighlightOverlay extends Overlay MenuEntry menuEntry = menuEntries[last]; String target = menuEntry.getTarget(); String option = menuEntry.getOption(); - int type = menuEntry.getType(); + MenuAction type = MenuAction.of(menuEntry.getType()); - if (type == MenuAction.RUNELITE_OVERLAY.getId() || type == MenuAction.CC_OP_LOW_PRIORITY.getId()) + if (type == MenuAction.RUNELITE_OVERLAY || type == MenuAction.CC_OP_LOW_PRIORITY) { // These are always right click only return null; @@ -102,34 +132,32 @@ class MouseHighlightOverlay extends Overlay } } - final int widgetId = menuEntry.getParam1(); - final int groupId = WidgetInfo.TO_GROUP(widgetId); - final int childId = WidgetInfo.TO_CHILD(widgetId); - final Widget widget = client.getWidget(groupId, childId); - - if (!config.uiTooltip() && widget != null) + if (WIDGET_MENU_ACTIONS.contains(type)) { - return null; - } + final int widgetId = menuEntry.getParam1(); + final int groupId = WidgetInfo.TO_GROUP(widgetId); - if (!config.chatboxTooltip() && groupId == WidgetInfo.CHATBOX.getGroupId()) - { - return null; - } - - if (config.disableSpellbooktooltip() && groupId == WidgetID.SPELLBOOK_GROUP_ID) - { - return null; - } - - if (widget != null) - { - // If this varc is set, some CS is showing tooltip - int tooltipTimeout = client.getVar(VarClientInt.TOOLTIP_TIMEOUT); - if (tooltipTimeout > client.getGameCycle()) + if (!config.uiTooltip()) { return null; } + + if (!config.chatboxTooltip() && groupId == WidgetInfo.CHATBOX.getGroupId()) + { + return null; + } + + if (config.disableSpellbooktooltip() && groupId == WidgetID.SPELLBOOK_GROUP_ID) + { + return null; + } + } + + // If this varc is set, a tooltip will be displayed soon + int tooltipTimeout = client.getVar(VarClientInt.TOOLTIP_TIMEOUT); + if (tooltipTimeout > client.getGameCycle()) + { + return null; } // If this varc is set, a tooltip is already being displayed From 53cba270b1768feb5273aebc29f43810cda5fe69 Mon Sep 17 00:00:00 2001 From: JZomerlei Date: Mon, 3 Aug 2020 15:07:21 -0500 Subject: [PATCH 163/189] achivement dairy plugin: Add satisfiesRequirement to Requirement (#12265) Add satisfiesRequirement to Requirement interface that all other requirements implement Instead of using instanceOf to see if each requirement is satisfied. --- .../CombatLevelRequirement.java | 6 +++ .../DiaryRequirementsPlugin.java | 45 +------------------ .../achievementdiary/FavourRequirement.java | 7 +++ .../achievementdiary/OrRequirement.java | 13 ++++++ .../QuestPointRequirement.java | 7 +++ .../achievementdiary/QuestRequirement.java | 12 +++++ .../plugins/achievementdiary/Requirement.java | 3 ++ .../achievementdiary/SkillRequirement.java | 6 +++ 8 files changed, 55 insertions(+), 44 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/CombatLevelRequirement.java b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/CombatLevelRequirement.java index 4befd43eb1..302822e534 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/CombatLevelRequirement.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/CombatLevelRequirement.java @@ -26,6 +26,7 @@ package net.runelite.client.plugins.achievementdiary; import lombok.Getter; import lombok.RequiredArgsConstructor; +import net.runelite.api.Client; @RequiredArgsConstructor @Getter @@ -38,4 +39,9 @@ public class CombatLevelRequirement implements Requirement { return level + " " + "Combat"; } + + public boolean satisfiesRequirement(Client client) + { + return client.getLocalPlayer() == null ? false : client.getLocalPlayer().getCombatLevel() >= level; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/DiaryRequirementsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/DiaryRequirementsPlugin.java index ee77f19ecc..9afce27f26 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/DiaryRequirementsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/DiaryRequirementsPlugin.java @@ -35,9 +35,7 @@ import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.FontTypeFace; -import net.runelite.api.QuestState; import net.runelite.api.ScriptID; -import net.runelite.api.VarPlayer; import net.runelite.api.events.WidgetLoaded; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetID; @@ -277,7 +275,7 @@ public class DiaryRequirementsPlugin extends Plugin assert !req.getRequirements().isEmpty(); for (Requirement ireq : req.getRequirements()) { - boolean satifisfied = satisfiesRequirement(ireq); + boolean satifisfied = ireq.satisfiesRequirement(client); b.append(satifisfied ? "" : ""); b.append(ireq.toString()); b.append(satifisfied ? "" : ""); @@ -292,45 +290,4 @@ public class DiaryRequirementsPlugin extends Plugin } return reqs; } - - private boolean satisfiesRequirement(Requirement r) - { - if (r instanceof OrRequirement) - { - return ((OrRequirement) r).getRequirements() - .stream() - .anyMatch(this::satisfiesRequirement); - } - if (r instanceof SkillRequirement) - { - SkillRequirement s = (SkillRequirement) r; - return client.getRealSkillLevel(s.getSkill()) >= s.getLevel(); - } - if (r instanceof CombatLevelRequirement) - { - return client.getLocalPlayer().getCombatLevel() >= ((CombatLevelRequirement) r).getLevel(); - } - if (r instanceof QuestRequirement) - { - QuestRequirement q = (QuestRequirement) r; - QuestState state = q.getQuest().getState(client); - if (q.isStarted()) - { - return state != QuestState.NOT_STARTED; - } - return state == QuestState.FINISHED; - } - if (r instanceof QuestPointRequirement) - { - return client.getVar(VarPlayer.QUEST_POINTS) >= ((QuestPointRequirement) r).getQp(); - } - if (r instanceof FavourRequirement) - { - FavourRequirement f = (FavourRequirement) r; - int realFavour = client.getVar(f.getHouse().getVarbit()); - return (realFavour / 10) >= f.getPercent(); - } - log.warn("Unknown requirement {}", r); - return false; - } } \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/FavourRequirement.java b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/FavourRequirement.java index 575faa0e75..916033f206 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/FavourRequirement.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/FavourRequirement.java @@ -26,6 +26,7 @@ package net.runelite.client.plugins.achievementdiary; import lombok.Getter; import lombok.RequiredArgsConstructor; +import net.runelite.api.Client; import net.runelite.api.Favour; @RequiredArgsConstructor @@ -40,4 +41,10 @@ public class FavourRequirement implements Requirement { return percent + "% " + house.getName() + " favour"; } + + public boolean satisfiesRequirement(Client client) + { + int realFavour = client.getVar(house.getVarbit()); + return (realFavour / 10) >= percent; + } } \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/OrRequirement.java b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/OrRequirement.java index 7b852426f9..44f9ebb0d5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/OrRequirement.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/OrRequirement.java @@ -28,6 +28,7 @@ import com.google.common.base.Joiner; import com.google.common.collect.ImmutableList; import java.util.List; import lombok.Getter; +import net.runelite.api.Client; public class OrRequirement implements Requirement { @@ -44,4 +45,16 @@ public class OrRequirement implements Requirement { return Joiner.on(" or ").join(requirements); } + + public boolean satisfiesRequirement(Client client) + { + for (Requirement r : getRequirements()) + { + if (r.satisfiesRequirement(client)) + { + return true; + } + } + return false; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/QuestPointRequirement.java b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/QuestPointRequirement.java index c2b13e7c9b..0813e6bed0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/QuestPointRequirement.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/QuestPointRequirement.java @@ -26,6 +26,8 @@ package net.runelite.client.plugins.achievementdiary; import lombok.Getter; import lombok.RequiredArgsConstructor; +import net.runelite.api.Client; +import net.runelite.api.VarPlayer; @RequiredArgsConstructor @Getter @@ -38,4 +40,9 @@ public class QuestPointRequirement implements Requirement { return qp + " " + "Quest points"; } + + public boolean satisfiesRequirement(Client client) + { + return client.getVar(VarPlayer.QUEST_POINTS) >= qp; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/QuestRequirement.java b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/QuestRequirement.java index cbc471651f..ca02ee682d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/QuestRequirement.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/QuestRequirement.java @@ -26,7 +26,9 @@ package net.runelite.client.plugins.achievementdiary; import lombok.Getter; import lombok.RequiredArgsConstructor; +import net.runelite.api.Client; import net.runelite.api.Quest; +import net.runelite.api.QuestState; @Getter @RequiredArgsConstructor @@ -50,4 +52,14 @@ public class QuestRequirement implements Requirement return quest.getName(); } + + public boolean satisfiesRequirement(Client client) + { + QuestState questState = quest.getState(client); + if (started) + { + return questState != QuestState.NOT_STARTED; + } + return questState == QuestState.FINISHED; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/Requirement.java b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/Requirement.java index a507cb4538..3360a15a7f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/Requirement.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/Requirement.java @@ -24,6 +24,9 @@ */ package net.runelite.client.plugins.achievementdiary; +import net.runelite.api.Client; + public interface Requirement { + boolean satisfiesRequirement(Client client); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/SkillRequirement.java b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/SkillRequirement.java index 1a711f91ac..ded0a3c84d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/SkillRequirement.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/SkillRequirement.java @@ -26,6 +26,7 @@ package net.runelite.client.plugins.achievementdiary; import lombok.Getter; import lombok.RequiredArgsConstructor; +import net.runelite.api.Client; import net.runelite.api.Skill; @RequiredArgsConstructor @@ -40,4 +41,9 @@ public class SkillRequirement implements Requirement { return level + " " + skill.getName(); } + + public boolean satisfiesRequirement(Client client) + { + return client.getRealSkillLevel(skill) >= level; + } } From fae4183c2eca74c361e660542019a6860893503b Mon Sep 17 00:00:00 2001 From: Dylan white Date: Tue, 4 Aug 2020 00:47:35 -0500 Subject: [PATCH 164/189] Fixes nightmare loot tracking --- .../java/net/runelite/api/AnimationID.java | 1 + .../net/runelite/client/game/LootManager.java | 61 +++++++++---------- 2 files changed, 29 insertions(+), 33 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/AnimationID.java b/runelite-api/src/main/java/net/runelite/api/AnimationID.java index f0dd7ef524..51f8e58852 100644 --- a/runelite-api/src/main/java/net/runelite/api/AnimationID.java +++ b/runelite-api/src/main/java/net/runelite/api/AnimationID.java @@ -292,6 +292,7 @@ public final class AnimationID public static final int ROCKSLUG_DEATH = 1568; public static final int ZYGOMITE_DEATH = 3327; public static final int IMP_DEATH = 172; + public static final int NIGHTMARE_DEATH = 8612; // POH Animations public static final int INCENSE_BURNER = 3687; diff --git a/runelite-client/src/main/java/net/runelite/client/game/LootManager.java b/runelite-client/src/main/java/net/runelite/client/game/LootManager.java index 62c88cf0d5..40ce76cc10 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/LootManager.java +++ b/runelite-client/src/main/java/net/runelite/client/game/LootManager.java @@ -65,26 +65,27 @@ import net.runelite.client.events.PlayerLootReceived; public class LootManager { private static final Map NPC_DEATH_ANIMATIONS = ImmutableMap.builder() - .put(NpcID.CAVE_KRAKEN, AnimationID.CAVE_KRAKEN_DEATH) - .put(NpcID.CRYSTALLINE_BAT, AnimationID.CRYSTALLINE_BAT_DEATH) - .put(NpcID.CRYSTALLINE_RAT, AnimationID.CRYSTALLINE_RAT_DEATH) - .put(NpcID.CRYSTALLINE_SPIDER, AnimationID.CRYSTALLINE_SPIDER_DEATH) - .put(NpcID.CRYSTALLINE_WOLF, AnimationID.CRYSTALLINE_WOLF_DEATH) - .put(NpcID.CRYSTALLINE_UNICORN, AnimationID.CRYSTALLINE_UNICORN_DEATH) - .put(NpcID.CRYSTALLINE_SCORPION, AnimationID.CORRUPTED_SCORPION_DEATH) - .put(NpcID.CRYSTALLINE_DRAGON, AnimationID.CRYSTALLINE_DRAGON_DEATH) - .put(NpcID.CRYSTALLINE_DARK_BEAST, AnimationID.CRYSTALLINE_DARK_BEAST_DEATH) - .put(NpcID.CRYSTALLINE_BEAR, AnimationID.CRYSTALLINE_BEAR_DEATH) - .put(NpcID.CORRUPTED_BAT, AnimationID.CRYSTALLINE_BAT_DEATH) - .put(NpcID.CORRUPTED_RAT, AnimationID.CRYSTALLINE_RAT_DEATH) - .put(NpcID.CORRUPTED_SPIDER, AnimationID.CRYSTALLINE_SPIDER_DEATH) - .put(NpcID.CORRUPTED_WOLF, AnimationID.CRYSTALLINE_WOLF_DEATH) - .put(NpcID.CORRUPTED_UNICORN, AnimationID.CRYSTALLINE_UNICORN_DEATH) - .put(NpcID.CORRUPTED_SCORPION, AnimationID.CORRUPTED_SCORPION_DEATH) - .put(NpcID.CORRUPTED_DRAGON, AnimationID.CRYSTALLINE_DRAGON_DEATH) - .put(NpcID.CORRUPTED_DARK_BEAST, AnimationID.CRYSTALLINE_DARK_BEAST_DEATH) - .put(NpcID.CORRUPTED_BEAR, AnimationID.CRYSTALLINE_BEAR_DEATH) - .build(); + .put(NpcID.CAVE_KRAKEN, AnimationID.CAVE_KRAKEN_DEATH) + .put(NpcID.CRYSTALLINE_BAT, AnimationID.CRYSTALLINE_BAT_DEATH) + .put(NpcID.CRYSTALLINE_RAT, AnimationID.CRYSTALLINE_RAT_DEATH) + .put(NpcID.CRYSTALLINE_SPIDER, AnimationID.CRYSTALLINE_SPIDER_DEATH) + .put(NpcID.CRYSTALLINE_WOLF, AnimationID.CRYSTALLINE_WOLF_DEATH) + .put(NpcID.CRYSTALLINE_UNICORN, AnimationID.CRYSTALLINE_UNICORN_DEATH) + .put(NpcID.CRYSTALLINE_SCORPION, AnimationID.CORRUPTED_SCORPION_DEATH) + .put(NpcID.CRYSTALLINE_DRAGON, AnimationID.CRYSTALLINE_DRAGON_DEATH) + .put(NpcID.CRYSTALLINE_DARK_BEAST, AnimationID.CRYSTALLINE_DARK_BEAST_DEATH) + .put(NpcID.CRYSTALLINE_BEAR, AnimationID.CRYSTALLINE_BEAR_DEATH) + .put(NpcID.CORRUPTED_BAT, AnimationID.CRYSTALLINE_BAT_DEATH) + .put(NpcID.CORRUPTED_RAT, AnimationID.CRYSTALLINE_RAT_DEATH) + .put(NpcID.CORRUPTED_SPIDER, AnimationID.CRYSTALLINE_SPIDER_DEATH) + .put(NpcID.CORRUPTED_WOLF, AnimationID.CRYSTALLINE_WOLF_DEATH) + .put(NpcID.CORRUPTED_UNICORN, AnimationID.CRYSTALLINE_UNICORN_DEATH) + .put(NpcID.CORRUPTED_SCORPION, AnimationID.CORRUPTED_SCORPION_DEATH) + .put(NpcID.CORRUPTED_DRAGON, AnimationID.CRYSTALLINE_DRAGON_DEATH) + .put(NpcID.CORRUPTED_DARK_BEAST, AnimationID.CRYSTALLINE_DARK_BEAST_DEATH) + .put(NpcID.CORRUPTED_BEAR, AnimationID.CRYSTALLINE_BEAR_DEATH) + .put(NpcID.THE_NIGHTMARE_9430, AnimationID.NIGHTMARE_DEATH) + .build(); private final EventBus eventBus; private final Client client; @@ -98,15 +99,14 @@ public class LootManager @Inject private LootManager( - final EventBus eventBus, - final Client client + final EventBus eventBus, + final Client client ) { this.eventBus = eventBus; this.client = client; eventBus.subscribe(GameTick.class, this, this::onGameTick); - eventBus.subscribe(NpcDefinitionChanged.class, this, this::onNpcChanged); eventBus.subscribe(NpcDespawned.class, this, this::onNpcDespawned); eventBus.subscribe(PlayerDespawned.class, this, this::onPlayerDespawned); eventBus.subscribe(ItemSpawned.class, this, this::onItemSpawned); @@ -247,6 +247,11 @@ public class LootManager // Big Kraken drops loot wherever player is standing when animation starts. krakenPlayerLocation = client.getLocalPlayer().getWorldLocation(); } + else if (id == NpcID.THE_NIGHTMARE_9430) + { + delayedLootNpc = npc; + delayedLootTickLimit = 16; + } else { // These NPCs drop loot on death animation, which is right now. @@ -255,16 +260,6 @@ public class LootManager } } - private void onNpcChanged(NpcDefinitionChanged npcChanged) - { - final NPC npc = npcChanged.getNpc(); - if (npc.getId() == NpcID.THE_NIGHTMARE_9433) - { - delayedLootNpc = npc; - delayedLootTickLimit = 15; - } - } - private void onGameTick(GameTick gameTick) { if (delayedLootNpc != null && delayedLootTickLimit-- > 0) From 399562d1109e6aa3cb0b01f059772e70b6a91b19 Mon Sep 17 00:00:00 2001 From: Dylan white Date: Tue, 4 Aug 2020 00:48:32 -0500 Subject: [PATCH 165/189] Fixes nightmare loot tracking --- .../src/main/java/net/runelite/client/game/LootManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/game/LootManager.java b/runelite-client/src/main/java/net/runelite/client/game/LootManager.java index 40ce76cc10..ba1fc0ba78 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/LootManager.java +++ b/runelite-client/src/main/java/net/runelite/client/game/LootManager.java @@ -99,8 +99,8 @@ public class LootManager @Inject private LootManager( - final EventBus eventBus, - final Client client + final EventBus eventBus, + final Client client ) { this.eventBus = eventBus; From 6e146b2f419da559da835f0f3a43d452926675c2 Mon Sep 17 00:00:00 2001 From: Dylan white Date: Tue, 4 Aug 2020 00:53:19 -0500 Subject: [PATCH 166/189] removed unused import --- .../src/main/java/net/runelite/client/game/LootManager.java | 1 - 1 file changed, 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/game/LootManager.java b/runelite-client/src/main/java/net/runelite/client/game/LootManager.java index ba1fc0ba78..39181bb8cb 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/LootManager.java +++ b/runelite-client/src/main/java/net/runelite/client/game/LootManager.java @@ -53,7 +53,6 @@ import net.runelite.api.events.GameTick; import net.runelite.api.events.ItemDespawned; import net.runelite.api.events.ItemQuantityChanged; import net.runelite.api.events.ItemSpawned; -import net.runelite.api.events.NpcDefinitionChanged; import net.runelite.api.events.NpcDespawned; import net.runelite.api.events.PlayerDespawned; import net.runelite.client.eventbus.EventBus; From e129230416652ef149e10caf847c2e2b89562c55 Mon Sep 17 00:00:00 2001 From: Jonathan Charles Date: Wed, 5 Aug 2020 02:55:17 +1000 Subject: [PATCH 167/189] menu swapper: add Advisor Ghrim collect swap --- .../menuentryswapper/MenuEntrySwapperConfig.java | 11 +++++++++++ .../menuentryswapper/MenuEntrySwapperPlugin.java | 1 + 2 files changed, 12 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperConfig.java index 6ca722c229..91e0686121 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperConfig.java @@ -562,4 +562,15 @@ public interface MenuEntrySwapperConfig extends Config { return false; } + + @ConfigItem( + keyName = "swapCollectMiscellania", + name = "Miscellania", + description = "Swap Talk-to with Collect for Advisor Ghrim", + section = npcSection + ) + default boolean swapCollectMiscellania() + { + return false; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java index 1ea8ca1383..d5cd30fa88 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java @@ -208,6 +208,7 @@ public class MenuEntrySwapperPlugin extends Plugin swap("talk-to", "enchant", config::swapEnchant); swap("talk-to", "start-minigame", config::swapStartMinigame); swap("talk-to", ESSENCE_MINE_NPCS::contains, "teleport", config::swapEssenceMineTeleport); + swap("talk-to", "collect", config::swapCollectMiscellania); swap("leave tomb", "quick-leave", config::swapQuickLeave); swap("tomb door", "quick-leave", config::swapQuickLeave); From 73b73a84c50eae77898f8988a00f20d66e6c280d Mon Sep 17 00:00:00 2001 From: Jordan Atwood Date: Tue, 4 Aug 2020 21:07:34 -0700 Subject: [PATCH 168/189] HotColdLocation: Center some location spots Center some hot-cold locations as reported and verified from the mega issue. Ref: runelite/runelite#9601 --- .../cluescrolls/clues/hotcold/HotColdLocation.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java index 4aeb73a6e5..4352e6c2b8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/hotcold/HotColdLocation.java @@ -64,7 +64,7 @@ public enum HotColdLocation ASGARNIA_MUDSKIPPER(new WorldPoint(2987, 3110, 0), ASGARNIA, "Mudskipper Point, near the starfish in the south-west corner.", BRASSICAN_MAGE), ASGARNIA_TROLL(new WorldPoint(2910, 3616, 0), ASGARNIA, "The Troll arena, where the player fights Dad during the Troll Stronghold quest. Bring climbing boots if travelling from Burthorpe.", BRASSICAN_MAGE), DESERT_GENIE(new WorldPoint(3359, 2912, 0), DESERT, "West of Nardah genie cave.", BRASSICAN_MAGE), - DESERT_ALKHARID_MINE(new WorldPoint(3282, 3270, 0), DESERT, "West of Al Kharid mine.", BRASSICAN_MAGE), + DESERT_ALKHARID_MINE(new WorldPoint(3279, 3263, 0), DESERT, "West of Al Kharid mine.", BRASSICAN_MAGE), DESERT_MENAPHOS_GATE(new WorldPoint(3223, 2820, 0), DESERT, "North of Menaphos gate.", BRASSICAN_MAGE), DESERT_BEDABIN_CAMP(new WorldPoint(3164, 3050, 0), DESERT, "Bedabin Camp, dig around the north tent.", BRASSICAN_MAGE), DESERT_UZER(new WorldPoint(3432, 3105, 0), DESERT, "West of Uzer.", BRASSICAN_MAGE), @@ -111,7 +111,7 @@ public enum HotColdLocation KANDARIN_WEST_ARDY(new WorldPoint(2535, 3322, 0), KANDARIN, "West Ardougne, near the staircase outside the Civic Office.", BRASSICAN_MAGE), KANDARIN_SW_TREE_GNOME_STRONGHOLD(new WorldPoint(2411, 3429, 0), KANDARIN, "South-west Tree Gnome Stronghold", BRASSICAN_MAGE), KANDARIN_OUTPOST(new WorldPoint(2457, 3362, 0), KANDARIN, "South of the Tree Gnome Stronghold, north-east of the Outpost.", BRASSICAN_MAGE), - KANDARIN_BAXTORIAN_FALLS(new WorldPoint(2534, 3479, 0), KANDARIN, "South-east of Almera's house on Baxtorian Falls.", BRASSICAN_MAGE), + KANDARIN_BAXTORIAN_FALLS(new WorldPoint(2530, 3477, 0), KANDARIN, "South-east of Almera's house on Baxtorian Falls.", BRASSICAN_MAGE), KANDARIN_BA_AGILITY_COURSE(new WorldPoint(2540, 3548, 0), KANDARIN, "Inside the Barbarian Agility Course. Completion of Alfred Grimhand's Barcrawl is required.", BRASSICAN_MAGE), KARAMJA_MUSA_POINT(new WorldPoint(2913, 3169, 0), KARAMJA, "Musa Point, banana plantation.", BRASSICAN_MAGE), KARAMJA_BRIMHAVEN_FRUIT_TREE(new WorldPoint(2782, 3215, 0), KARAMJA, "Brimhaven, east of the fruit tree patch.", BRASSICAN_MAGE), @@ -135,7 +135,7 @@ public enum HotColdLocation MORYTANIA_HAUNTED_MINE(new WorldPoint(3444, 3255, 0), MORYTANIA, "At Haunted Mine quest start.", BRASSICAN_MAGE), MORYTANIA_MAUSOLEUM(new WorldPoint(3499, 3539, 0), MORYTANIA, "South of the Mausoleum.", BRASSICAN_MAGE), MORYTANIA_MOS_LES_HARMLESS(new WorldPoint(3740, 3041, 0), MORYTANIA, "Northern area of Mos Le'Harmless, between the lakes.", BRASSICAN_MAGE), - MORYTANIA_MOS_LES_HARMLESS_BAR(new WorldPoint(3670, 2974, 0), MORYTANIA, "Near Mos Le'Harmless southern bar.", BRASSICAN_MAGE), + MORYTANIA_MOS_LES_HARMLESS_BAR(new WorldPoint(3674, 2971, 0), MORYTANIA, "Near Mos Le'Harmless southern bar.", BRASSICAN_MAGE), MORYTANIA_DRAGONTOOTH_NORTH(new WorldPoint(3811, 3569, 0), MORYTANIA, "Northern part of Dragontooth Island.", BRASSICAN_MAGE), MORYTANIA_DRAGONTOOTH_SOUTH(new WorldPoint(3803, 3532, 0), MORYTANIA, "Southern part of Dragontooth Island.", BRASSICAN_MAGE), MORYTANIA_SLEPE_TENTS(new WorldPoint(3769, 3383, 0), MORYTANIA, "North-east of Slepe, near the tents.", BRASSICAN_MAGE), @@ -155,10 +155,10 @@ public enum HotColdLocation WILDERNESS_27(new WorldPoint(3174, 3736, 0), WILDERNESS, "Inside the Ruins north of the Graveyard of Shadows, level 27 Wilderness.", BRASSICAN_MAGE), WILDERNESS_28(new WorldPoint(3377, 3737, 0), WILDERNESS, "East of Venenatis' nest, level 28 Wilderness.", BRASSICAN_MAGE), WILDERNESS_32(new WorldPoint(3311, 3773, 0), WILDERNESS, "North of Venenatis' nest, level 32 Wilderness.", ANCIENT_WIZARDS), - WILDERNESS_35(new WorldPoint(3153, 3795, 0), WILDERNESS, "East of the Wilderness canoe exit, level 35 Wilderness.", BRASSICAN_OR_WIZARDS), + WILDERNESS_35(new WorldPoint(3152, 3796, 0), WILDERNESS, "East of the Wilderness canoe exit, level 35 Wilderness.", BRASSICAN_OR_WIZARDS), WILDERNESS_37(new WorldPoint(2974, 3814, 0), WILDERNESS, "South-east of the Chaos Temple, level 37 Wilderness.", BRASSICAN_MAGE), WILDERNESS_38(new WorldPoint(3293, 3813, 0), WILDERNESS, "South of Callisto, level 38 Wilderness.", ANCIENT_WIZARDS), - WILDERNESS_49(new WorldPoint(3140, 3910, 0), WILDERNESS, "South-west of the Deserted Keep, level 49 Wilderness.", BRASSICAN_MAGE), + WILDERNESS_49(new WorldPoint(3136, 3914, 0), WILDERNESS, "South-west of the Deserted Keep, level 49 Wilderness.", BRASSICAN_MAGE), WILDERNESS_54(new WorldPoint(2981, 3944, 0), WILDERNESS, "West of the Wilderness Agility Course, level 54 Wilderness.", BRASSICAN_MAGE), ZEAH_BLASTMINE_BANK(new WorldPoint(1504, 3859, 0), ZEAH, "Next to the bank in the Lovakengj blast mine.", BRASSICAN_MAGE), ZEAH_BLASTMINE_NORTH(new WorldPoint(1488, 3881, 0), ZEAH, "Northern part of the Lovakengj blast mine.", BRASSICAN_MAGE), @@ -172,7 +172,7 @@ public enum HotColdLocation ZEAH_SHAYZIEN_BANK_2(new WorldPoint(1491, 3623, 0), ZEAH, "North-west of the bank in Shayzien.", ANCIENT_WIZARDS), ZEAH_LIBRARY(new WorldPoint(1603, 3843, 0), ZEAH, "North-west of the Arceuus Library.", BRASSICAN_MAGE), ZEAH_HOUSECHURCH(new WorldPoint(1682, 3792, 0), ZEAH, "By the entrance to the Arceuus church.", ANCIENT_WIZARDS), - ZEAH_DARK_ALTAR(new WorldPoint(1699, 3879, 0), ZEAH, "West of the Dark Altar.", BRASSICAN_MAGE), + ZEAH_DARK_ALTAR(new WorldPoint(1698, 3881, 0), ZEAH, "West of the Dark Altar.", BRASSICAN_MAGE), ZEAH_ARCEUUS_HOUSE(new WorldPoint(1710, 3700, 0), ZEAH, "By the southern entrance to Arceuus.", ANCIENT_WIZARDS), ZEAH_ESSENCE_MINE(new WorldPoint(1762, 3852, 0), ZEAH, "By the Arceuus essence mine.", BRASSICAN_MAGE), ZEAH_ESSENCE_MINE_NE(new WorldPoint(1773, 3867, 0), ZEAH, "North-east of the Arceuus essence mine.", BRASSICAN_MAGE), From 0e4ef402e1456b64049055f6df7223644c965125 Mon Sep 17 00:00:00 2001 From: Chris Janusiewicz Date: Fri, 26 Jun 2020 21:59:45 +0100 Subject: [PATCH 169/189] nmz plugin: add option to send overload notification prior to expire Co-authored-by: Adam --- .../nightmarezone/NightmareZoneConfig.java | 26 +++++++++++--- .../nightmarezone/NightmareZonePlugin.java | 35 +++++++++++++++++-- 2 files changed, 54 insertions(+), 7 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZoneConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZoneConfig.java index 227ccf4066..d808a21abf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZoneConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZoneConfig.java @@ -28,6 +28,8 @@ import java.awt.Color; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; +import net.runelite.client.config.Range; +import net.runelite.client.config.Units; @ConfigGroup("nightmareZone") public interface NightmareZoneConfig extends Config @@ -98,11 +100,27 @@ public interface NightmareZoneConfig extends Config return true; } + @Range( + min = 0, + max = 300 + ) + @ConfigItem( + keyName = "overloadearlywarningseconds", + name = "Overload early warning", + description = "You will be notified this many seconds before your overload potion expires", + position = 7 + ) + @Units(Units.SECONDS) + default int overloadEarlyWarningSeconds() + { + return 10; + } + @ConfigItem( keyName = "absorptionnotification", name = "Absorption notification", description = "Toggles notifications when your absorption points gets below your threshold", - position = 7 + position = 8 ) default boolean absorptionNotification() { @@ -113,7 +131,7 @@ public interface NightmareZoneConfig extends Config keyName = "absorptionthreshold", name = "Absorption Threshold", description = "The amount of absorption points to send a notification at", - position = 8 + position = 9 ) default int absorptionThreshold() { @@ -124,7 +142,7 @@ public interface NightmareZoneConfig extends Config keyName = "absorptioncoloroverthreshold", name = "Color above threshold", description = "Configures the color for the absorption widget when above the threshold", - position = 9 + position = 10 ) default Color absorptionColorAboveThreshold() { @@ -135,7 +153,7 @@ public interface NightmareZoneConfig extends Config keyName = "absorptioncolorbelowthreshold", name = "Color below threshold", description = "Configures the color for the absorption widget when below the threshold", - position = 10 + position = 11 ) default Color absorptionColorBelowThreshold() { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZonePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZonePlugin.java index d683ec78a4..a471f5b241 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZonePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/nightmarezone/NightmareZonePlugin.java @@ -55,6 +55,7 @@ public class NightmareZonePlugin extends Plugin { private static final int[] NMZ_MAP_REGION = {9033}; private static final Duration HOUR = Duration.ofHours(1); + private static final Duration OVERLOAD_DURATION = Duration.ofMinutes(5); @Inject private Notifier notifier; @@ -73,18 +74,22 @@ public class NightmareZonePlugin extends Plugin @Getter private int pointsPerHour; - + private Instant nmzSessionStartTime; // This starts as true since you need to get // above the threshold before sending notifications private boolean absorptionNotificationSend = true; + private boolean overloadNotificationSend = false; + private Instant lastOverload; @Override protected void startUp() throws Exception { overlayManager.add(overlay); overlay.removeAbsorptionCounter(); + + overloadNotificationSend = false; } @Override @@ -138,6 +143,11 @@ public class NightmareZonePlugin extends Plugin checkAbsorption(); } + if (overloadNotificationSend && config.overloadNotification() && config.overloadEarlyWarningSeconds() > 0) + { + checkOverload(); + } + if (config.moveOverlay()) { pointsPerHour = calculatePointsPerHour(); @@ -147,8 +157,9 @@ public class NightmareZonePlugin extends Plugin @Subscribe public void onChatMessage(ChatMessage event) { - if (event.getType() != ChatMessageType.GAMEMESSAGE - || !isInNightmareZone()) + if (!isInNightmareZone() + || (event.getType() != ChatMessageType.GAMEMESSAGE + && event.getType() != ChatMessageType.SPAM)) { return; } @@ -156,6 +167,9 @@ public class NightmareZonePlugin extends Plugin String msg = Text.removeTags(event.getMessage()); //remove color if (msg.contains("The effects of overload have worn off, and you feel normal again.")) { + // Prevents notification from being sent after overload expiry, if the user disables and re-enables warnings + overloadNotificationSend = false; + if (config.overloadNotification()) { notifier.notify("Your overload has worn off"); @@ -192,6 +206,21 @@ public class NightmareZonePlugin extends Plugin } } } + else if (msg.contains("You drink some of your overload potion.")) + { + lastOverload = Instant.now(); // Save time of last overload + overloadNotificationSend = true; // Queue up a overload notification once time threshold is reached + } + } + + private void checkOverload() + { + if (Instant.now().isAfter(lastOverload.plus(OVERLOAD_DURATION). + minus(Duration.ofSeconds(config.overloadEarlyWarningSeconds())))) + { + notifier.notify("Your overload potion is about to expire!"); + overloadNotificationSend = false; + } } private void checkAbsorption() From 301156678e7e8341407b9ef127ad832e90960caa Mon Sep 17 00:00:00 2001 From: SirGirion Date: Thu, 6 Aug 2020 03:38:21 -0400 Subject: [PATCH 170/189] loottracker: Add bird nest loot tracking (#12237) --- .../client/plugins/loottracker/LootTrackerPlugin.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java index de4f6c1ed7..b862cff408 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java @@ -188,6 +188,9 @@ public class LootTrackerPlugin extends Plugin private static final Pattern PICKPOCKET_REGEX = Pattern.compile("You pick (the )?(?.+)'s? pocket.*"); + private static final String BIRDNEST_EVENT = "Bird nest"; + private static final Set BIRDNEST_IDS = ImmutableSet.of(ItemID.BIRD_NEST, ItemID.BIRD_NEST_5071, ItemID.BIRD_NEST_5072, ItemID.BIRD_NEST_5073, ItemID.BIRD_NEST_5074, ItemID.BIRD_NEST_7413, ItemID.BIRD_NEST_13653, ItemID.BIRD_NEST_22798, ItemID.BIRD_NEST_22800); + /* * This map is used when a pickpocket target has a different name in the chat message than their in-game name. * Note that if the two NPCs can be found in the same place, there is a chance of race conditions @@ -715,6 +718,7 @@ public class LootTrackerPlugin extends Plugin || HESPORI_EVENT.equals(eventType) || SEEDPACK_EVENT.equals(eventType) || CASKET_EVENT.equals(eventType) + || BIRDNEST_EVENT.equals(eventType) || lootRecordType == LootRecordType.PICKPOCKET) { WorldPoint playerLocation = client.getLocalPlayer().getWorldLocation(); @@ -750,6 +754,13 @@ public class LootTrackerPlugin extends Plugin takeInventorySnapshot(); } + if (event.getMenuOption().equals("Search") && BIRDNEST_IDS.contains(event.getId())) + { + eventType = BIRDNEST_EVENT; + lootRecordType = LootRecordType.EVENT; + takeInventorySnapshot(); + } + if (event.getMenuOption().equals("Open") && event.getId() == ItemID.CASKET) { eventType = CASKET_EVENT; From 1e0800cea75c2db2e14d8081bf9971cfa6b909f1 Mon Sep 17 00:00:00 2001 From: LazyScaper <40252392+JamblaInc@users.noreply.github.com> Date: Thu, 6 Aug 2020 08:39:48 +0100 Subject: [PATCH 171/189] worldmap: Fix Misthalin mystery quest icon position (#12273) --- .../runelite/client/plugins/worldmap/QuestStartLocation.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/QuestStartLocation.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/QuestStartLocation.java index 90e95f75e5..f12513b991 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/QuestStartLocation.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldmap/QuestStartLocation.java @@ -43,7 +43,7 @@ enum QuestStartLocation GOBLIN_DIPLOMACY(Quest.GOBLIN_DIPLOMACY, new WorldPoint(2957, 3509, 0)), IMP_CATCHER(Quest.IMP_CATCHER, new WorldPoint(3108, 3160, 0)), THE_KNIGHTS_SWORD(Quest.THE_KNIGHTS_SWORD, new WorldPoint(2976, 3342, 0)), - MISTHALIN_MYSTERY(Quest.MISTHALIN_MYSTERY, new WorldPoint(3234, 3155, 0)), + MISTHALIN_MYSTERY(Quest.MISTHALIN_MYSTERY, new WorldPoint(3235, 3155, 0)), PIRATES_TREASURE(Quest.PIRATES_TREASURE, new WorldPoint(3051, 3252, 0)), PRINCE_ALI_RESCUE(Quest.PRINCE_ALI_RESCUE, new WorldPoint(3301, 3163, 0)), THE_RESTLESS_GHOST(Quest.THE_RESTLESS_GHOST, new WorldPoint(3240, 3210, 0)), From e4a29e7d69108a6dcfc7c3ebbcba784677845284 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Thu, 6 Aug 2020 10:32:40 +0000 Subject: [PATCH 172/189] Update Item IDs to 2020-08-06-rev190 --- runelite-api/src/main/java/net/runelite/api/ItemID.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/ItemID.java b/runelite-api/src/main/java/net/runelite/api/ItemID.java index ca8d2d0c6b..488f07091b 100644 --- a/runelite-api/src/main/java/net/runelite/api/ItemID.java +++ b/runelite-api/src/main/java/net/runelite/api/ItemID.java @@ -8159,7 +8159,7 @@ public final class ItemID public static final int HUMAN_EYE = 12843; public static final int VOICE_POTION = 12844; public static final int GRIM_REAPER_HOOD = 12845; - public static final int BOUNTY_TELEPORT_SCROLL = 12846; + public static final int TARGET_TELEPORT_SCROLL = 12846; public static final int GRANITE_MAUL_12848 = 12848; public static final int GRANITE_CLAMP = 12849; public static final int AMULET_OF_THE_DAMNED_FULL = 12851; @@ -11319,7 +11319,7 @@ public final class ItemID public static final int BIRTHDAY_CAKE_24331 = 24331; public static final int BIRTHDAY_CAKE_24332 = 24332; public static final int DAGONHAI_ROBES_SET = 24333; - public static final int BOUNTY_TARGET_TELEPORT = 24336; + public static final int TARGET_TELEPORT = 24336; public static final int BOUNTY_HUNTER_HAT_TIER_1 = 24338; public static final int BOUNTY_HUNTER_HAT_TIER_2 = 24340; public static final int BOUNTY_HUNTER_HAT_TIER_3 = 24342; @@ -11587,5 +11587,9 @@ public final class ItemID public static final int SKELETON_MONKEY = 24865; public static final int KRUK_JR = 24866; public static final int PRINCELY_MONKEY = 24867; + public static final int GOLDEN_ARMADYL_SPECIAL_ATTACK = 24868; + public static final int GOLDEN_BANDOS_SPECIAL_ATTACK = 24869; + public static final int GOLDEN_SARADOMIN_SPECIAL_ATTACK = 24870; + public static final int GOLDEN_ZAMORAK_SPECIAL_ATTACK = 24871; /* This file is automatically generated. Do not edit. */ } From 22af685f84374ea27320831a1a46e37459b484cb Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Thu, 6 Aug 2020 10:32:41 +0000 Subject: [PATCH 173/189] Update Object IDs to 2020-08-06-rev190 --- .../main/java/net/runelite/api/NullObjectID.java | 14 -------------- .../src/main/java/net/runelite/api/ObjectID.java | 1 - 2 files changed, 15 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java index 62d5fa9147..33b1125075 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java @@ -18031,22 +18031,8 @@ public final class NullObjectID public static final int NULL_37430 = 37430; public static final int NULL_37432 = 37432; public static final int NULL_37433 = 37433; - public static final int NULL_37436 = 37436; - public static final int NULL_37437 = 37437; - public static final int NULL_37438 = 37438; public static final int NULL_37439 = 37439; public static final int NULL_37440 = 37440; - public static final int NULL_37446 = 37446; - public static final int NULL_37447 = 37447; - public static final int NULL_37448 = 37448; - public static final int NULL_37449 = 37449; - public static final int NULL_37451 = 37451; - public static final int NULL_37452 = 37452; - public static final int NULL_37453 = 37453; - public static final int NULL_37454 = 37454; - public static final int NULL_37455 = 37455; - public static final int NULL_37456 = 37456; - public static final int NULL_37457 = 37457; public static final int NULL_37467 = 37467; public static final int NULL_37468 = 37468; public static final int NULL_37469 = 37469; diff --git a/runelite-api/src/main/java/net/runelite/api/ObjectID.java b/runelite-api/src/main/java/net/runelite/api/ObjectID.java index 8900b0cc44..5f7d2f6fa3 100644 --- a/runelite-api/src/main/java/net/runelite/api/ObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/ObjectID.java @@ -19396,7 +19396,6 @@ public final class ObjectID public static final int DECORATIVE_WINDOW_37442 = 37442; public static final int STAINEDGLASS_WINDOW_37443 = 37443; public static final int LOG_PILE_37444 = 37444; - public static final int HOTSPOT_MARKER = 37445; public static final int DECORATIVE_WINDOW_37450 = 37450; public static final int STAINEDGLASS_WINDOW_37458 = 37458; public static final int DECORATIVE_WINDOW_37459 = 37459; From ba065ac529a7df9d2976255b83e344d0bfd6b798 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Thu, 6 Aug 2020 10:32:44 +0000 Subject: [PATCH 174/189] Update Widget IDs to 2020-08-06-rev190 --- .../src/main/java/net/runelite/api/widgets/WidgetID.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index 3861e3c9a0..6551e1799d 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -790,10 +790,10 @@ public class WidgetID static class Pvp { static final int BOUNTY_HUNTER_INFO = 6; - static final int KILLDEATH_RATIO = 34; - static final int SKULL_CONTAINER = 54; - static final int SAFE_ZONE = 56; - static final int WILDERNESS_LEVEL = 59; // this can also be the Deadman Mode "Protection" text + static final int KILLDEATH_RATIO = 28; + static final int SKULL_CONTAINER = 48; + static final int SAFE_ZONE = 50; + static final int WILDERNESS_LEVEL = 53; // this can also be the Deadman Mode "Protection" text } static class KourendFavour From abf66002415d10833bf3f27b9daee93cc5e105cb Mon Sep 17 00:00:00 2001 From: Runelite auto updater Date: Thu, 6 Aug 2020 11:25:56 +0000 Subject: [PATCH 175/189] Release 1.6.24 --- cache-client/pom.xml | 2 +- cache-updater/pom.xml | 2 +- cache/pom.xml | 2 +- http-api/pom.xml | 2 +- http-service/pom.xml | 2 +- pom.xml | 4 ++-- runelite-api/pom.xml | 2 +- runelite-client/pom.xml | 2 +- runelite-script-assembler-plugin/pom.xml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cache-client/pom.xml b/cache-client/pom.xml index 88c5f98a0c..356c4cec43 100644 --- a/cache-client/pom.xml +++ b/cache-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.24-SNAPSHOT + 1.6.24 cache-client diff --git a/cache-updater/pom.xml b/cache-updater/pom.xml index ac9a3650e8..9369b51068 100644 --- a/cache-updater/pom.xml +++ b/cache-updater/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.24-SNAPSHOT + 1.6.24 Cache Updater diff --git a/cache/pom.xml b/cache/pom.xml index 77b23b0d54..f471ba2be9 100644 --- a/cache/pom.xml +++ b/cache/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.24-SNAPSHOT + 1.6.24 cache diff --git a/http-api/pom.xml b/http-api/pom.xml index f22fb557fa..9a68e878f2 100644 --- a/http-api/pom.xml +++ b/http-api/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.24-SNAPSHOT + 1.6.24 Web API diff --git a/http-service/pom.xml b/http-service/pom.xml index 91ce0def99..5eadb0d5bd 100644 --- a/http-service/pom.xml +++ b/http-service/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.24-SNAPSHOT + 1.6.24 Web Service diff --git a/pom.xml b/pom.xml index ee14d96b77..c767026181 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.24-SNAPSHOT + 1.6.24 pom RuneLite @@ -61,7 +61,7 @@ https://github.com/runelite/runelite scm:git:git://github.com/runelite/runelite scm:git:git@github.com:runelite/runelite - HEAD + runelite-parent-1.6.24 diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml index 923bc0603b..d9d67371b6 100644 --- a/runelite-api/pom.xml +++ b/runelite-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.24-SNAPSHOT + 1.6.24 runelite-api diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index 3197781803..e2e2fe28c3 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.24-SNAPSHOT + 1.6.24 client diff --git a/runelite-script-assembler-plugin/pom.xml b/runelite-script-assembler-plugin/pom.xml index 4f115daccc..835b184615 100644 --- a/runelite-script-assembler-plugin/pom.xml +++ b/runelite-script-assembler-plugin/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.24-SNAPSHOT + 1.6.24 script-assembler-plugin From 7d94e5b839e5addc780dc1715f1cd8bbe0a49d57 Mon Sep 17 00:00:00 2001 From: Runelite auto updater Date: Thu, 6 Aug 2020 11:26:05 +0000 Subject: [PATCH 176/189] Bump for 1.6.25-SNAPSHOT --- cache-client/pom.xml | 2 +- cache-updater/pom.xml | 2 +- cache/pom.xml | 2 +- http-api/pom.xml | 2 +- http-service/pom.xml | 2 +- pom.xml | 4 ++-- runelite-api/pom.xml | 2 +- runelite-client/pom.xml | 2 +- runelite-script-assembler-plugin/pom.xml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cache-client/pom.xml b/cache-client/pom.xml index 356c4cec43..11c1d129aa 100644 --- a/cache-client/pom.xml +++ b/cache-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.24 + 1.6.25-SNAPSHOT cache-client diff --git a/cache-updater/pom.xml b/cache-updater/pom.xml index 9369b51068..a8c6a1013b 100644 --- a/cache-updater/pom.xml +++ b/cache-updater/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.24 + 1.6.25-SNAPSHOT Cache Updater diff --git a/cache/pom.xml b/cache/pom.xml index f471ba2be9..c2b6d59de9 100644 --- a/cache/pom.xml +++ b/cache/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.24 + 1.6.25-SNAPSHOT cache diff --git a/http-api/pom.xml b/http-api/pom.xml index 9a68e878f2..5c952e55a0 100644 --- a/http-api/pom.xml +++ b/http-api/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.24 + 1.6.25-SNAPSHOT Web API diff --git a/http-service/pom.xml b/http-service/pom.xml index 5eadb0d5bd..2fcd1e27a6 100644 --- a/http-service/pom.xml +++ b/http-service/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.24 + 1.6.25-SNAPSHOT Web Service diff --git a/pom.xml b/pom.xml index c767026181..986b24d4f8 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.6.24 + 1.6.25-SNAPSHOT pom RuneLite @@ -61,7 +61,7 @@ https://github.com/runelite/runelite scm:git:git://github.com/runelite/runelite scm:git:git@github.com:runelite/runelite - runelite-parent-1.6.24 + HEAD diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml index d9d67371b6..7196fc8429 100644 --- a/runelite-api/pom.xml +++ b/runelite-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.24 + 1.6.25-SNAPSHOT runelite-api diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index e2e2fe28c3..4944eda5db 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.24 + 1.6.25-SNAPSHOT client diff --git a/runelite-script-assembler-plugin/pom.xml b/runelite-script-assembler-plugin/pom.xml index 835b184615..6f9d7f3734 100644 --- a/runelite-script-assembler-plugin/pom.xml +++ b/runelite-script-assembler-plugin/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.6.24 + 1.6.25-SNAPSHOT script-assembler-plugin From ae509dc42e465fb5f1a2f0758be079321e207d5a Mon Sep 17 00:00:00 2001 From: Erik Humphrey Date: Thu, 6 Aug 2020 17:50:34 -0400 Subject: [PATCH 177/189] clues: Fix 'Headbang at the exam centre' clue text (#12297) --- .../runelite/client/plugins/cluescrolls/clues/EmoteClue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java index c98af144a1..37453ba3df 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java @@ -118,7 +118,7 @@ public class EmoteClue extends ClueScroll implements TextClueScroll, LocationClu new EmoteClue("Dance at the entrance to the Grand Exchange. Equip a pink skirt, pink robe top and a body tiara.", "Grand Exchange", SOUTH_OF_THE_GRAND_EXCHANGE, new WorldPoint(3165, 3467, 0), DANCE, item(PINK_SKIRT), item(PINK_ROBE_TOP), item(BODY_TIARA)), new EmoteClue("Goblin Salute in the Goblin Village. Beware of double agents! Equip a bandos godsword, a bandos cloak and a bandos platebody.", "Goblin Village", OUTSIDE_MUDKNUCKLES_HUT, new WorldPoint(2956, 3505, 0), DOUBLE_AGENT_141, GOBLIN_SALUTE, item(BANDOS_PLATEBODY), item(BANDOS_CLOAK), any("Bandos godsword", item(BANDOS_GODSWORD), item(BANDOS_GODSWORD_OR))), new EmoteClue("Headbang in the mine north of Al Kharid. Equip a desert shirt, leather gloves and leather boots.", "Al Kharid mine", AL_KHARID_SCORPION_MINE, new WorldPoint(3299, 3289, 0), HEADBANG, item(DESERT_SHIRT), item(LEATHER_GLOVES), item(LEATHER_BOOTS)), - new EmoteClue("Headbang at the exam center. Beware of double agents! Equip a mystic fire staff, a diamond bracelet and rune boots.", "Exam Centre", INSIDE_THE_DIGSITE_EXAM_CENTRE, new WorldPoint(3362, 3340, 0), DOUBLE_AGENT_108, HEADBANG, item(MYSTIC_FIRE_STAFF), item(DIAMOND_BRACELET), item(RUNE_BOOTS)), + new EmoteClue("Headbang at the exam centre. Beware of double agents! Equip a mystic fire staff, a diamond bracelet and rune boots.", "Exam Centre", INSIDE_THE_DIGSITE_EXAM_CENTRE, new WorldPoint(3362, 3340, 0), DOUBLE_AGENT_108, HEADBANG, item(MYSTIC_FIRE_STAFF), item(DIAMOND_BRACELET), item(RUNE_BOOTS)), new EmoteClue("Headbang at the top of Slayer Tower. Equip a seercull, a combat bracelet and helm of Neitiznot.", "Slayer Tower", OUTSIDE_THE_SLAYER_TOWER_GARGOYLE_ROOM, new WorldPoint(3421, 3537, 2), HEADBANG, item(SEERCULL), range("Combat bracelet", COMBAT_BRACELET4, COMBAT_BRACELET), item(HELM_OF_NEITIZNOT)), new EmoteClue("Dance a jig by the entrance to the Fishing Guild. Equip an emerald ring, a sapphire amulet, and a bronze chain body.", "Fishing Guild", OUTSIDE_THE_FISHING_GUILD, new WorldPoint(2610, 3391, 0), JIG, item(EMERALD_RING), item(SAPPHIRE_AMULET), item(BRONZE_CHAINBODY)), new EmoteClue("Dance a jig under Shantay's Awning. Bow before you talk to me. Equip a pointed blue snail helmet, an air staff and a bronze square shield.", "Shantay Pass", SHANTAY_PASS, new WorldPoint(3304, 3124, 0), JIG, BOW, any("Bruise blue snelm (pointed)", item(BRUISE_BLUE_SNELM_3343)), item(STAFF_OF_AIR), item(BRONZE_SQ_SHIELD)), From 4fbe77096ca14fe8744387d76ff079e523789c26 Mon Sep 17 00:00:00 2001 From: Meeran <60132509+MeeranB@users.noreply.github.com> Date: Fri, 7 Aug 2020 08:41:34 +0100 Subject: [PATCH 178/189] ItemMapping: Add Bryophyta's staff (#12286) --- .../src/main/java/net/runelite/client/game/ItemMapping.java | 1 + 1 file changed, 1 insertion(+) diff --git a/runelite-client/src/main/java/net/runelite/client/game/ItemMapping.java b/runelite-client/src/main/java/net/runelite/client/game/ItemMapping.java index 9592eabfcc..c9ab54f86e 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/ItemMapping.java +++ b/runelite-client/src/main/java/net/runelite/client/game/ItemMapping.java @@ -188,6 +188,7 @@ public enum ItemMapping ITEM_CRAWS_BOW(CRAWS_BOW_U, CRAWS_BOW), ITEM_VIGGORAS_CHAINMACE(VIGGORAS_CHAINMACE_U, VIGGORAS_CHAINMACE), ITEM_THAMMARONS_SCEPTRE(THAMMARONS_SCEPTRE_U, THAMMARONS_SCEPTRE), + ITEM_BRYOPHYTAS_STAFF(BRYOPHYTAS_STAFF_UNCHARGED, BRYOPHYTAS_STAFF), // Infinity colour kits ITEM_INFINITY_TOP(INFINITY_TOP, INFINITY_TOP_10605, INFINITY_TOP_20574, DARK_INFINITY_TOP, LIGHT_INFINITY_TOP), From a57721b41a0af670eb0a4ccfec072cf00bbbe0de Mon Sep 17 00:00:00 2001 From: Meeran <60132509+MeeranB@users.noreply.github.com> Date: Fri, 7 Aug 2020 00:43:18 -0700 Subject: [PATCH 179/189] ItemMapping: Add Ring of endurance --- .../src/main/java/net/runelite/client/game/ItemMapping.java | 1 + 1 file changed, 1 insertion(+) diff --git a/runelite-client/src/main/java/net/runelite/client/game/ItemMapping.java b/runelite-client/src/main/java/net/runelite/client/game/ItemMapping.java index c9ab54f86e..54b77640b9 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/ItemMapping.java +++ b/runelite-client/src/main/java/net/runelite/client/game/ItemMapping.java @@ -189,6 +189,7 @@ public enum ItemMapping ITEM_VIGGORAS_CHAINMACE(VIGGORAS_CHAINMACE_U, VIGGORAS_CHAINMACE), ITEM_THAMMARONS_SCEPTRE(THAMMARONS_SCEPTRE_U, THAMMARONS_SCEPTRE), ITEM_BRYOPHYTAS_STAFF(BRYOPHYTAS_STAFF_UNCHARGED, BRYOPHYTAS_STAFF), + ITEM_RING_OF_ENDURANCE(RING_OF_ENDURANCE_UNCHARGED, RING_OF_ENDURANCE), // Infinity colour kits ITEM_INFINITY_TOP(INFINITY_TOP, INFINITY_TOP_10605, INFINITY_TOP_20574, DARK_INFINITY_TOP, LIGHT_INFINITY_TOP), From b16b3a8017970c7336b6e21132e97e5f99213254 Mon Sep 17 00:00:00 2001 From: Jordan Atwood Date: Thu, 6 Aug 2020 21:39:29 -0700 Subject: [PATCH 180/189] slayer: Fix slaughter bracelet proc text After the 2020-08-06 game update[1] the Bracelet of slaughter gives a slightly different text than before. This commit updates the slayer plugin to identify that new text. [1]: https://secure.runescape.com/m=news/pvp-changes?oldschool=1 --- .../net/runelite/client/plugins/slayer/SlayerPlugin.java | 2 +- .../runelite/client/plugins/slayer/SlayerPluginTest.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java index 2b232a10f8..d2ecc8b0f1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java @@ -105,7 +105,7 @@ public class SlayerPlugin extends Plugin private static final String CHAT_CANCEL_MESSAGE_ZUK = "You no longer have a slayer task as you left the Inferno."; private static final String CHAT_SUPERIOR_MESSAGE = "A superior foe has appeared..."; private static final String CHAT_BRACELET_SLAUGHTER = "Your bracelet of slaughter prevents your slayer"; - private static final Pattern CHAT_BRACELET_SLAUGHTER_REGEX = Pattern.compile("Your bracelet of slaughter prevents your slayer count decreasing. It has (\\d{1,2}) charge[s]? left."); + private static final Pattern CHAT_BRACELET_SLAUGHTER_REGEX = Pattern.compile("Your bracelet of slaughter prevents your slayer count from decreasing. It has (\\d{1,2}) charge[s]? left."); private static final String CHAT_BRACELET_EXPEDITIOUS = "Your expeditious bracelet helps you progress your"; private static final Pattern CHAT_BRACELET_EXPEDITIOUS_REGEX = Pattern.compile("Your expeditious bracelet helps you progress your slayer (?:task )?faster. It has (\\d{1,2}) charge[s]? left."); private static final String CHAT_BRACELET_SLAUGHTER_CHARGE = "Your bracelet of slaughter has "; diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java index b217518d0f..82c529464f 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java @@ -111,13 +111,13 @@ public class SlayerPluginTest private static final String SUPERIOR_MESSAGE = "A superior foe has appeared..."; - private static final String BRACLET_SLAUGHTER = "Your bracelet of slaughter prevents your slayer count decreasing. It has 9 charges left."; + private static final String BRACLET_SLAUGHTER = "Your bracelet of slaughter prevents your slayer count from decreasing. It has 9 charges left."; private static final String BRACLET_EXPEDITIOUS = "Your expeditious bracelet helps you progress your slayer task faster. It has 9 charges left."; - private static final String BRACLET_SLAUGHTER_V2 = "Your bracelet of slaughter prevents your slayer count decreasing. It has 1 charge left."; + private static final String BRACLET_SLAUGHTER_V2 = "Your bracelet of slaughter prevents your slayer count from decreasing. It has 1 charge left."; private static final String BRACLET_EXPEDITIOUS_V2 = "Your expeditious bracelet helps you progress your slayer faster. It has 1 charge left."; - private static final String BRACLET_SLAUGHTER_V3 = "Your bracelet of slaughter prevents your slayer count decreasing. It then crumbles to dust."; + private static final String BRACLET_SLAUGHTER_V3 = "Your bracelet of slaughter prevents your slayer count from decreasing. It then crumbles to dust."; private static final String BRACLET_EXPEDITIOUS_V3 = "Your expeditious bracelet helps you progress your slayer faster. It then crumbles to dust."; private static final String CHAT_BRACELET_SLAUGHTER_CHARGE = "Your bracelet of slaughter has 12 charges left."; From 7affadcf503ef224bed13d477ef4e0c56f23df10 Mon Sep 17 00:00:00 2001 From: leejt Date: Tue, 9 Jun 2020 00:02:23 -0700 Subject: [PATCH 181/189] loot tracker: track grubby, stone, Dorgesh-Kaan and HAM chests The Dorgesh-Kaan tracking could be done better (there are actually 4 distinct drop tables) but it's hard to do this without significantly complicating the code. --- .../loottracker/LootTrackerPlugin.java | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java index b862cff408..0d0462e4a1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java @@ -144,6 +144,11 @@ public class LootTrackerPlugin extends Plugin // Chest loot handling private static final String CHEST_LOOTED_MESSAGE = "You find some treasure in the chest!"; private static final Pattern LARRAN_LOOTED_PATTERN = Pattern.compile("You have opened Larran's (big|small) chest .*"); + private static final String STONE_CHEST_LOOTED_MESSAGE = "You steal some loot from the chest."; + private static final String DORGESH_KAAN_CHEST_LOOTED_MESSAGE = "You find treasure inside!"; + private static final String GRUBBY_CHEST_LOOTED_MESSAGE = "You unlock the chest with your key."; + private static final Pattern HAM_CHEST_LOOTED_PATTERN = Pattern.compile("Your (?[a-z]+) key breaks in the lock.*"); + private static final int HAM_STOREROOM_REGION = 10321; private static final Map CHEST_EVENT_TYPES = new ImmutableMap.Builder(). put(5179, "Brimstone Chest"). put(11573, "Crystal Chest"). @@ -151,6 +156,10 @@ public class LootTrackerPlugin extends Plugin put(12127, "The Gauntlet"). put(13113, "Larran's small chest"). put(13151, "Elven Crystal Chest"). + put(5277, "Stone chest"). + put(10835, "Dorgesh-Kaan Chest"). + put(10834, "Dorgesh-Kaan Chest"). + put(7323, "Grubby Chest"). build(); // Shade chest loot handling @@ -593,7 +602,9 @@ public class LootTrackerPlugin extends Plugin final String message = event.getMessage(); - if (message.equals(CHEST_LOOTED_MESSAGE) || LARRAN_LOOTED_PATTERN.matcher(message).matches()) + if (message.equals(CHEST_LOOTED_MESSAGE) || message.equals(STONE_CHEST_LOOTED_MESSAGE) + || message.equals(DORGESH_KAAN_CHEST_LOOTED_MESSAGE) || message.equals(GRUBBY_CHEST_LOOTED_MESSAGE) + || LARRAN_LOOTED_PATTERN.matcher(message).matches()) { final int regionID = client.getLocalPlayer().getWorldLocation().getRegionID(); if (!CHEST_EVENT_TYPES.containsKey(regionID)) @@ -639,6 +650,16 @@ public class LootTrackerPlugin extends Plugin return; } + final Matcher hamStoreroomMatcher = HAM_CHEST_LOOTED_PATTERN.matcher(message); + if (hamStoreroomMatcher.matches() && regionID == HAM_STOREROOM_REGION) + { + String keyType = hamStoreroomMatcher.group("key"); + eventType = String.format("H.A.M. chest (%s)", keyType); + lootRecordType = LootRecordType.EVENT; + takeInventorySnapshot(); + return; + } + final Matcher pickpocketMatcher = PICKPOCKET_REGEX.matcher(message); if (pickpocketMatcher.matches()) { @@ -706,7 +727,8 @@ public class LootTrackerPlugin extends Plugin @Subscribe public void onItemContainerChanged(ItemContainerChanged event) { - if (event.getContainerId() != InventoryID.INVENTORY.getId()) + if (event.getContainerId() != InventoryID.INVENTORY.getId() + || eventType == null) { return; } @@ -719,6 +741,7 @@ public class LootTrackerPlugin extends Plugin || SEEDPACK_EVENT.equals(eventType) || CASKET_EVENT.equals(eventType) || BIRDNEST_EVENT.equals(eventType) + || eventType.startsWith("H.A.M. chest") || lootRecordType == LootRecordType.PICKPOCKET) { WorldPoint playerLocation = client.getLocalPlayer().getWorldLocation(); From 18087ca9ccf2ec418d4f33e4136242ca5fa19b19 Mon Sep 17 00:00:00 2001 From: leejt Date: Fri, 7 Aug 2020 14:26:37 -0400 Subject: [PATCH 182/189] loot tracker: add metadata field to loot record This is for tracking miscellaneous data with the loot records, such as npc id and skill levels, for the wiki drop log project. Co-authored-by: Adam --- .../http/api/loottracker/LootRecord.java | 1 + .../loottracker/LootTrackerPlugin.java | 118 +++++++++--------- .../loottracker/LootTrackerPluginTest.java | 12 +- 3 files changed, 69 insertions(+), 62 deletions(-) diff --git a/http-api/src/main/java/net/runelite/http/api/loottracker/LootRecord.java b/http-api/src/main/java/net/runelite/http/api/loottracker/LootRecord.java index fc945220f1..01e180c55b 100644 --- a/http-api/src/main/java/net/runelite/http/api/loottracker/LootRecord.java +++ b/http-api/src/main/java/net/runelite/http/api/loottracker/LootRecord.java @@ -37,6 +37,7 @@ public class LootRecord { private String eventId; private LootRecordType type; + private Object metadata; private Collection drops; private Instant time; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java index 0d0462e4a1..0641f74e44 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java @@ -70,6 +70,7 @@ import net.runelite.api.MessageNode; import net.runelite.api.NPC; import net.runelite.api.ObjectID; import net.runelite.api.Player; +import net.runelite.api.Skill; import net.runelite.api.SpriteID; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.ChatMessage; @@ -256,6 +257,7 @@ public class LootTrackerPlugin extends Plugin String eventType; @VisibleForTesting LootRecordType lootRecordType; + private Object metadata; private boolean chestLooted; private String lastPickpocketTarget; @@ -427,14 +429,14 @@ public class LootTrackerPlugin extends Plugin } } - void addLoot(@NonNull String name, int combatLevel, LootRecordType type, Collection items) + void addLoot(@NonNull String name, int combatLevel, LootRecordType type, Object metadata, Collection items) { final LootTrackerItem[] entries = buildEntries(stack(items)); SwingUtilities.invokeLater(() -> panel.add(name, type, combatLevel, entries)); if (config.saveLoot()) { - LootRecord lootRecord = new LootRecord(name, type, toGameItems(items), Instant.now()); + LootRecord lootRecord = new LootRecord(name, type, metadata, toGameItems(items), Instant.now()); synchronized (queuedLoots) { queuedLoots.add(lootRecord); @@ -452,7 +454,7 @@ public class LootTrackerPlugin extends Plugin final String name = npc.getName(); final int combat = npc.getCombatLevel(); - addLoot(name, combat, LootRecordType.NPC, items); + addLoot(name, combat, LootRecordType.NPC, npc.getId(), items); if (config.npcKillChatMessage()) { @@ -478,7 +480,7 @@ public class LootTrackerPlugin extends Plugin final String name = player.getName(); final int combat = player.getCombatLevel(); - addLoot(name, combat, LootRecordType.PLAYER, items); + addLoot(name, combat, LootRecordType.PLAYER, null, items); if (config.pvpKillChatMessage()) { @@ -489,12 +491,12 @@ public class LootTrackerPlugin extends Plugin @Subscribe public void onWidgetLoaded(WidgetLoaded widgetLoaded) { - final String event; final ItemContainer container; + switch (widgetLoaded.getGroupId()) { case (WidgetID.BARROWS_REWARD_GROUP_ID): - event = "Barrows"; + setEvent(LootRecordType.EVENT, "Barrows"); container = client.getItemContainer(InventoryID.BARROWS_REWARD); break; case (WidgetID.CHAMBERS_OF_XERIC_REWARD_GROUP_ID): @@ -502,7 +504,7 @@ public class LootTrackerPlugin extends Plugin { return; } - event = "Chambers of Xeric"; + setEvent(LootRecordType.EVENT, "Chambers of Xeric"); container = client.getItemContainer(InventoryID.CHAMBERS_OF_XERIC_CHEST); chestLooted = true; break; @@ -516,32 +518,31 @@ public class LootTrackerPlugin extends Plugin { return; } - event = "Theatre of Blood"; + setEvent(LootRecordType.EVENT, "Theatre of Blood"); container = client.getItemContainer(InventoryID.THEATRE_OF_BLOOD_CHEST); chestLooted = true; break; case (WidgetID.CLUE_SCROLL_REWARD_GROUP_ID): // event type should be set via ChatMessage for clue scrolls. // Clue Scrolls use same InventoryID as Barrows - event = eventType; container = client.getItemContainer(InventoryID.BARROWS_REWARD); - if (event == null) + if (eventType == null) { log.debug("Clue scroll reward interface with no event!"); return; } break; case (WidgetID.KINGDOM_GROUP_ID): - event = "Kingdom of Miscellania"; + setEvent(LootRecordType.EVENT, "Kingdom of Miscellania"); container = client.getItemContainer(InventoryID.KINGDOM_OF_MISCELLANIA); break; case (WidgetID.FISHING_TRAWLER_REWARD_GROUP_ID): - event = "Fishing Trawler"; + setEvent(LootRecordType.EVENT, "Fishing Trawler", client.getBoostedSkillLevel(Skill.FISHING)); container = client.getItemContainer(InventoryID.FISHING_TRAWLER_REWARD); break; case (WidgetID.DRIFT_NET_FISHING_REWARD_GROUP_ID): - event = "Drift Net"; + setEvent(LootRecordType.EVENT, "Drift Net", client.getBoostedSkillLevel(Skill.FISHING)); container = client.getItemContainer(InventoryID.DRIFT_NET_FISHING_REWARD); break; default: @@ -559,7 +560,7 @@ public class LootTrackerPlugin extends Plugin .map(item -> new ItemStack(item.getId(), item.getQuantity(), client.getLocalPlayer().getLocalLocation())) .collect(Collectors.toList()); - if (config.showRaidsLootValue() && (event.equals("Theatre of Blood") || event.equals("Chambers of Xeric"))) + if (config.showRaidsLootValue() && (eventType.equals("Theatre of Blood") || eventType.equals("Chambers of Xeric"))) { long totalValue = items.stream() .filter(item -> item.getId() > -1) @@ -585,11 +586,11 @@ public class LootTrackerPlugin extends Plugin if (items.isEmpty()) { - log.debug("No items to find for Event: {} | Container: {}", event, container); + log.debug("No items to find for Event: {} | Container: {}", eventType, container); return; } - addLoot(event, -1, LootRecordType.EVENT, items); + addLoot(eventType, -1, lootRecordType, metadata, items); } @Subscribe @@ -612,8 +613,7 @@ public class LootTrackerPlugin extends Plugin return; } - eventType = CHEST_EVENT_TYPES.get(regionID); - lootRecordType = LootRecordType.EVENT; + setEvent(LootRecordType.EVENT, CHEST_EVENT_TYPES.get(regionID)); takeInventorySnapshot(); return; @@ -622,8 +622,7 @@ public class LootTrackerPlugin extends Plugin if (message.equals(COFFIN_LOOTED_MESSAGE) && isPlayerWithinMapRegion(HALLOWED_SEPULCHRE_MAP_REGIONS)) { - eventType = HALLOWED_SEPULCHRE_COFFIN_EVENT; - lootRecordType = LootRecordType.EVENT; + setEvent(LootRecordType.EVENT, HALLOWED_SEPULCHRE_COFFIN_EVENT); takeInventorySnapshot(); return; } @@ -635,8 +634,7 @@ public class LootTrackerPlugin extends Plugin return; } - eventType = HERBIBOAR_EVENT; - lootRecordType = LootRecordType.EVENT; + setEvent(LootRecordType.EVENT, HERBIBOAR_EVENT, client.getBoostedSkillLevel(Skill.HERBLORE)); takeInventorySnapshot(); return; } @@ -644,8 +642,7 @@ public class LootTrackerPlugin extends Plugin final int regionID = client.getLocalPlayer().getWorldLocation().getRegionID(); if (HESPORI_REGION == regionID && message.equals(HESPORI_LOOTED_MESSAGE)) { - eventType = HESPORI_EVENT; - lootRecordType = LootRecordType.EVENT; + setEvent(LootRecordType.EVENT, HESPORI_EVENT); takeInventorySnapshot(); return; } @@ -654,8 +651,7 @@ public class LootTrackerPlugin extends Plugin if (hamStoreroomMatcher.matches() && regionID == HAM_STOREROOM_REGION) { String keyType = hamStoreroomMatcher.group("key"); - eventType = String.format("H.A.M. chest (%s)", keyType); - lootRecordType = LootRecordType.EVENT; + setEvent(LootRecordType.EVENT, String.format("H.A.M. chest (%s)", keyType)); takeInventorySnapshot(); return; } @@ -669,13 +665,11 @@ public class LootTrackerPlugin extends Plugin // Occasional edge case where the pickpocket message doesn't list the correct name of the NPC (e.g. H.A.M. Members) if (PICKPOCKET_DISAMBIGUATION_MAP.get(lastPickpocketTarget).contains(pickpocketTarget)) { - eventType = lastPickpocketTarget; - lootRecordType = LootRecordType.PICKPOCKET; + setEvent(LootRecordType.PICKPOCKET, lastPickpocketTarget); } else { - eventType = pickpocketTarget; - lootRecordType = LootRecordType.PICKPOCKET; + setEvent(LootRecordType.PICKPOCKET, pickpocketTarget); } takeInventorySnapshot(); @@ -690,28 +684,22 @@ public class LootTrackerPlugin extends Plugin switch (type) { case "beginner": - eventType = "Clue Scroll (Beginner)"; - lootRecordType = LootRecordType.EVENT; + setEvent(LootRecordType.EVENT, "Clue Scroll (Beginner)"); return; case "easy": - eventType = "Clue Scroll (Easy)"; - lootRecordType = LootRecordType.EVENT; + setEvent(LootRecordType.EVENT, "Clue Scroll (Easy)"); return; case "medium": - eventType = "Clue Scroll (Medium)"; - lootRecordType = LootRecordType.EVENT; + setEvent(LootRecordType.EVENT, "Clue Scroll (Medium)"); return; case "hard": - eventType = "Clue Scroll (Hard)"; - lootRecordType = LootRecordType.EVENT; + setEvent(LootRecordType.EVENT, "Clue Scroll (Hard)"); return; case "elite": - eventType = "Clue Scroll (Elite)"; - lootRecordType = LootRecordType.EVENT; + setEvent(LootRecordType.EVENT, "Clue Scroll (Elite)"); return; case "master": - eventType = "Clue Scroll (Master)"; - lootRecordType = LootRecordType.EVENT; + setEvent(LootRecordType.EVENT, "Clue Scroll (Master)"); return; } } @@ -719,8 +707,7 @@ public class LootTrackerPlugin extends Plugin if (SHADE_CHEST_NO_KEY_PATTERN.matcher(message).matches()) { // Player didn't have the key they needed. - eventType = null; - lootRecordType = null; + resetEvent(); } } @@ -747,9 +734,8 @@ public class LootTrackerPlugin extends Plugin WorldPoint playerLocation = client.getLocalPlayer().getWorldLocation(); Collection groundItems = lootManager.getItemSpawns(playerLocation); - processInventoryLoot(eventType, lootRecordType, event.getItemContainer(), groundItems); - eventType = null; - lootRecordType = null; + processInventoryLoot(eventType, lootRecordType, metadata, event.getItemContainer(), groundItems); + resetEvent(); } } @@ -765,29 +751,25 @@ public class LootTrackerPlugin extends Plugin if (event.getMenuOption().equals("Take") && event.getId() == ItemID.SEED_PACK) { - eventType = SEEDPACK_EVENT; - lootRecordType = LootRecordType.EVENT; + setEvent(LootRecordType.EVENT, SEEDPACK_EVENT); takeInventorySnapshot(); } if (event.getMenuOption().equals("Open") && SHADE_CHEST_OBJECTS.containsKey(event.getId())) { - eventType = SHADE_CHEST_OBJECTS.get(event.getId()); - lootRecordType = LootRecordType.EVENT; + setEvent(LootRecordType.EVENT, SHADE_CHEST_OBJECTS.get(event.getId())); takeInventorySnapshot(); } if (event.getMenuOption().equals("Search") && BIRDNEST_IDS.contains(event.getId())) { - eventType = BIRDNEST_EVENT; - lootRecordType = LootRecordType.EVENT; + setEvent(LootRecordType.EVENT, BIRDNEST_EVENT); takeInventorySnapshot(); } if (event.getMenuOption().equals("Open") && event.getId() == ItemID.CASKET) { - eventType = CASKET_EVENT; - lootRecordType = LootRecordType.EVENT; + setEvent(LootRecordType.EVENT, CASKET_EVENT); takeInventorySnapshot(); } } @@ -828,6 +810,25 @@ public class LootTrackerPlugin extends Plugin return future; } + private void setEvent(LootRecordType lootRecordType, String eventType, Object metadata) + { + this.lootRecordType = lootRecordType; + this.eventType = eventType; + this.metadata = metadata; + } + + private void setEvent(LootRecordType lootRecordType, String eventType) + { + setEvent(lootRecordType, eventType, null); + } + + private void resetEvent() + { + lootRecordType = null; + eventType = null; + metadata = null; + } + private void takeInventorySnapshot() { final ItemContainer itemContainer = client.getItemContainer(InventoryID.INVENTORY); @@ -839,7 +840,7 @@ public class LootTrackerPlugin extends Plugin } } - private void processInventoryLoot(String event, LootRecordType lootRecordType, ItemContainer inventoryContainer, Collection groundItems) + private void processInventoryLoot(String event, LootRecordType lootRecordType, Object metadata, ItemContainer inventoryContainer, Collection groundItems) { if (inventorySnapshot != null) { @@ -856,7 +857,7 @@ public class LootTrackerPlugin extends Plugin .map(e -> new ItemStack(e.getElement(), e.getCount(), client.getLocalPlayer().getLocalLocation())) .collect(Collectors.toList()); - addLoot(event, -1, lootRecordType, items); + addLoot(event, -1, lootRecordType, metadata, items); inventorySnapshot = null; } @@ -886,7 +887,8 @@ public class LootTrackerPlugin extends Plugin return false; } - addLoot(HERBIBOAR_EVENT, -1, LootRecordType.EVENT, herbs); + int herbloreLevel = client.getBoostedSkillLevel(Skill.HERBLORE); + addLoot(HERBIBOAR_EVENT, -1, LootRecordType.EVENT, herbloreLevel, herbs); return true; } diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/loottracker/LootTrackerPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/loottracker/LootTrackerPluginTest.java index 4b74201060..12f6e4d990 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/loottracker/LootTrackerPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/loottracker/LootTrackerPluginTest.java @@ -45,6 +45,7 @@ import net.runelite.api.ItemID; import net.runelite.api.IterableHashTable; import net.runelite.api.MessageNode; import net.runelite.api.Player; +import net.runelite.api.Skill; import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.ChatMessage; @@ -69,6 +70,7 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyCollection; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.ArgumentMatchers.isNull; import org.mockito.Mock; import org.mockito.Mockito; import static org.mockito.Mockito.doNothing; @@ -172,6 +174,8 @@ public class LootTrackerPluginTest @Test public void testHerbiboarHerbSack() { + when(client.getBoostedSkillLevel(Skill.HERBLORE)).thenReturn(42); + for (Map.Entry herb : HERB_IDS_TO_NAMES.entrySet()) { final int id = herb.getKey(); @@ -200,12 +204,12 @@ public class LootTrackerPluginTest when(client.getMessages()).thenReturn(messageTable); LootTrackerPlugin lootTrackerPluginSpy = spy(this.lootTrackerPlugin); - doNothing().when(lootTrackerPluginSpy).addLoot(any(), anyInt(), any(), any(Collection.class)); + doNothing().when(lootTrackerPluginSpy).addLoot(any(), anyInt(), any(), any(), any(Collection.class)); ChatMessage chatMessage = new ChatMessage(null, ChatMessageType.GAMEMESSAGE, "", LootTrackerPlugin.HERBIBOAR_LOOTED_MESSAGE, "", 0); lootTrackerPluginSpy.onChatMessage(chatMessage); - verify(lootTrackerPluginSpy).addLoot("Herbiboar", -1, LootRecordType.EVENT, Arrays.asList( + verify(lootTrackerPluginSpy).addLoot("Herbiboar", -1, LootRecordType.EVENT, 42, Arrays.asList( new ItemStack(id, 1, null), new ItemStack(id, 1, null) )); @@ -222,7 +226,7 @@ public class LootTrackerPluginTest LootTrackerPlugin spyPlugin = Mockito.spy(lootTrackerPlugin); // Make sure we don't execute addLoot, so we don't have to mock LootTrackerPanel and everything else also - doNothing().when(spyPlugin).addLoot(anyString(), anyInt(), any(LootRecordType.class), anyCollection()); + doNothing().when(spyPlugin).addLoot(anyString(), anyInt(), any(LootRecordType.class), isNull(), anyCollection()); ItemContainer itemContainer = mock(ItemContainer.class); when(itemContainer.getItems()).thenReturn(new Item[]{ @@ -253,7 +257,7 @@ public class LootTrackerPluginTest LootTrackerPlugin spyPlugin = Mockito.spy(lootTrackerPlugin); // Make sure we don't execute addLoot, so we don't have to mock LootTrackerPanel and everything else also - doNothing().when(spyPlugin).addLoot(anyString(), anyInt(), any(LootRecordType.class), anyCollection()); + doNothing().when(spyPlugin).addLoot(anyString(), anyInt(), any(LootRecordType.class), isNull(), anyCollection()); ItemContainer itemContainer = mock(ItemContainer.class); when(itemContainer.getItems()).thenReturn(new Item[]{ From 6998931f84964cf2071df23faaa495329e96e520 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 10 Aug 2020 11:11:22 -0400 Subject: [PATCH 183/189] menu swapper: update jewellery box clan wars swap to ferox enclave --- .../client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java index d5cd30fa88..1a67e48cc1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java @@ -264,7 +264,7 @@ public class MenuEntrySwapperPlugin extends Plugin swap("teleport menu", "duel arena", config::swapJewelleryBox); swap("teleport menu", "castle wars", config::swapJewelleryBox); - swap("teleport menu", "clan wars", config::swapJewelleryBox); + swap("teleport menu", "ferox enclave", config::swapJewelleryBox); swap("teleport menu", "burthorpe", config::swapJewelleryBox); swap("teleport menu", "barbarian outpost", config::swapJewelleryBox); swap("teleport menu", "corporeal beast", config::swapJewelleryBox); From c2026f551663ea21c3735dd90c25afa1d74ff9c2 Mon Sep 17 00:00:00 2001 From: melkypie <5113962+melkypie@users.noreply.github.com> Date: Mon, 29 Jun 2020 02:34:11 +0300 Subject: [PATCH 184/189] chatcommands: make cox pb account for 11-15 and 16-23 team sizes --- .../client/plugins/chatcommands/ChatCommandsPlugin.java | 7 ++++--- .../plugins/chatcommands/ChatCommandsPluginTest.java | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java index 0c67b12c94..e9a30eb61d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java @@ -93,8 +93,9 @@ public class ChatCommandsPlugin extends Plugin { private static final Pattern KILLCOUNT_PATTERN = Pattern.compile("Your (.+) (?:kill|harvest|lap|completion) count is: (\\d+)"); private static final Pattern RAIDS_PATTERN = Pattern.compile("Your completed (.+) count is: (\\d+)"); - private static final Pattern RAIDS_PB_PATTERN = Pattern.compile("Congratulations - your raid is complete!
    Team size: (?:[0-9]+\\+? players|Solo) Duration: (?[0-9:]+) \\(new personal best\\)"); - private static final Pattern RAIDS_DURATION_PATTERN = Pattern.compile("Congratulations - your raid is complete!
    Team size: (?:[0-9]+\\+? players|Solo) Duration: [0-9:]+ Personal best: (?[0-9:]+)"); + private static final String COX_TEAM_SIZES = "(?:\\d+(?:\\+|-\\d+)? players|Solo)"; + private static final Pattern RAIDS_PB_PATTERN = Pattern.compile("Congratulations - your raid is complete!
    Team size: " + COX_TEAM_SIZES + " Duration: (?[0-9:]+) \\(new personal best\\)"); + private static final Pattern RAIDS_DURATION_PATTERN = Pattern.compile("Congratulations - your raid is complete!
    Team size: " + COX_TEAM_SIZES + " Duration: [0-9:]+ Personal best: (?[0-9:]+)"); private static final Pattern TOB_WAVE_PB_PATTERN = Pattern.compile("^.*Theatre of Blood wave completion time: (?[0-9:]+) \\(Personal best!\\)"); private static final Pattern TOB_WAVE_DURATION_PATTERN = Pattern.compile("^.*Theatre of Blood wave completion time: [0-9:]+
    Personal best: (?[0-9:]+)"); private static final Pattern WINTERTODT_PATTERN = Pattern.compile("Your subdued Wintertodt count is: (\\d+)"); @@ -104,7 +105,7 @@ public class ChatCommandsPlugin extends Plugin private static final Pattern DUEL_ARENA_WINS_PATTERN = Pattern.compile("You (were defeated|won)! You have(?: now)? won (\\d+) duels?"); private static final Pattern DUEL_ARENA_LOSSES_PATTERN = Pattern.compile("You have(?: now)? lost (\\d+) duels?"); private static final Pattern ADVENTURE_LOG_TITLE_PATTERN = Pattern.compile("The Exploits of (.+)"); - private static final Pattern ADVENTURE_LOG_COX_PB_PATTERN = Pattern.compile("Fastest (?:kill|run)(?: - \\(Team size: (?:[0-9]+\\+? players|Solo)\\))?: ([0-9:]+)"); + private static final Pattern ADVENTURE_LOG_COX_PB_PATTERN = Pattern.compile("Fastest (?:kill|run)(?: - \\(Team size: " + COX_TEAM_SIZES + "\\))?: ([0-9:]+)"); private static final Pattern ADVENTURE_LOG_BOSS_PB_PATTERN = Pattern.compile("[a-zA-Z]+(?: [a-zA-Z]+)*"); private static final Pattern ADVENTURE_LOG_PB_PATTERN = Pattern.compile("(" + ADVENTURE_LOG_BOSS_PB_PATTERN + "(?: - " + ADVENTURE_LOG_BOSS_PB_PATTERN + ")*) (?:" + ADVENTURE_LOG_COX_PB_PATTERN + "( )*)+"); private static final Pattern HS_PB_PATTERN = Pattern.compile("Floor (?\\d) time: (?[0-9:]+)(?: \\(new personal best\\)|. Personal best: (?[0-9:]+))" + diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java index c2fab2bd0e..db61d333d7 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java @@ -420,7 +420,7 @@ public class ChatCommandsPluginTest { when(configManager.getConfiguration("personalbest.adam", "chambers of xeric", int.class)).thenReturn(25 * 60 + 14); - ChatMessage chatMessage = new ChatMessage(null, FRIENDSCHATNOTIFICATION, "", "Congratulations - your raid is complete!
    Team size: 3 players Duration: 23:25 Personal best: 20:19", null, 0); + ChatMessage chatMessage = new ChatMessage(null, FRIENDSCHATNOTIFICATION, "", "Congratulations - your raid is complete!
    Team size: 11-15 players Duration: 23:25 Personal best: 20:19", null, 0); chatCommandsPlugin.onChatMessage(chatMessage); chatMessage = new ChatMessage(null, GAMEMESSAGE, "", "Your completed Chambers of Xeric count is: 52.", null, 0); From 3d334cef2eb29665680cf0b3961e7e9150cfecee Mon Sep 17 00:00:00 2001 From: OpenOSRS Date: Tue, 11 Aug 2020 00:03:10 +0000 Subject: [PATCH 185/189] project: Update gradle wrapper --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ac33e9944a..bca17f3656 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.6-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 72b1982330a924d08198d25a37b3ef017c5f0120 Mon Sep 17 00:00:00 2001 From: OpenOSRS Date: Tue, 11 Aug 2020 00:03:50 +0000 Subject: [PATCH 186/189] project: Update gradle dependencies --- build.gradle.kts | 2 +- deobfuscator/deobfuscator.gradle.kts | 2 +- runelite-client/runelite-client.gradle.kts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index bf401689ff..dd7c52b6f8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -34,7 +34,7 @@ buildscript { } dependencies { classpath("org.ajoberstar.grgit:grgit-core:4.0.2") - classpath("com.github.ben-manes:gradle-versions-plugin:0.28.0") + classpath("com.github.ben-manes:gradle-versions-plugin:0.29.0") classpath("com.openosrs:injector-plugin:1.1.5") } } diff --git a/deobfuscator/deobfuscator.gradle.kts b/deobfuscator/deobfuscator.gradle.kts index 7ab4d05b59..58af1ba65b 100644 --- a/deobfuscator/deobfuscator.gradle.kts +++ b/deobfuscator/deobfuscator.gradle.kts @@ -37,7 +37,7 @@ dependencies { annotationProcessor(group = "org.projectlombok", name = "lombok", version = "1.18.12") - implementation(group = "org.jetbrains", name = "annotations", version = "19.0.0") + implementation(group = "org.jetbrains", name = "annotations", version = "20.0.0") implementation(group = "org.ow2.asm", name = "asm", version = "8.0.1") implementation(group = "org.ow2.asm", name = "asm-util", version = "8.0.1") implementation(group = "net.runelite", name = "fernflower", version = "07082019") diff --git a/runelite-client/runelite-client.gradle.kts b/runelite-client/runelite-client.gradle.kts index ca392c685c..5c1eead694 100644 --- a/runelite-client/runelite-client.gradle.kts +++ b/runelite-client/runelite-client.gradle.kts @@ -62,7 +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.8") - implementation(group = "org.jetbrains", name = "annotations", version = "19.0.0") + implementation(group = "org.jetbrains", name = "annotations", version = "20.0.0") implementation(group = "org.jooq", name = "jooq", version = "3.13.3") implementation(group = "org.jooq", name = "jooq-codegen", version = "3.13.3") implementation(group = "org.jooq", name = "jooq-meta", version = "3.13.3") From c8707fe022a1e1b22e6d44b6eb5c2d42f421e6c9 Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Tue, 11 Aug 2020 17:27:41 +0100 Subject: [PATCH 187/189] mixins: this event wasnt fired lol --- .../main/java/net/runelite/mixins/RSUserMixin.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSUserMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSUserMixin.java index ac8fb4a5da..c351da8d41 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSUserMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSUserMixin.java @@ -1,13 +1,20 @@ package net.runelite.mixins; +import net.runelite.api.events.NameableNameChanged; +import net.runelite.api.mixins.FieldHook; import net.runelite.api.mixins.Inject; import net.runelite.api.mixins.Mixin; +import net.runelite.api.mixins.Shadow; +import net.runelite.rs.api.RSClient; import net.runelite.rs.api.RSUser; import net.runelite.rs.api.RSUsername; @Mixin(RSUser.class) public abstract class RSUserMixin implements RSUser { + @Shadow("client") + private static RSClient client; + @Override @Inject public String getName() @@ -22,4 +29,11 @@ public abstract class RSUserMixin implements RSUser RSUsername prevName = getRsPrevName(); return prevName == null ? null : prevName.getName(); } + + @FieldHook("previousUsername") + @Inject + public void onPrevNameChanged(int idx) + { + client.getCallbacks().post(NameableNameChanged.class, new NameableNameChanged(this)); + } } From c2458f630474916b83adf3a155330e5650d500bd Mon Sep 17 00:00:00 2001 From: OpenOSRS Date: Fri, 14 Aug 2020 00:03:05 +0000 Subject: [PATCH 188/189] project: Update gradle wrapper --- gradle/wrapper/gradle-wrapper.jar | Bin 58910 -> 59203 bytes gradlew | 2 +- gradlew.bat | 21 +++------------------ 3 files changed, 4 insertions(+), 19 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 62d4c053550b91381bbd28b1afc82d634bf73a8a..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f 100644 GIT binary patch delta 6656 zcmY+Ibx_pN*Z*PZ4(U#j1qtbvrOTyO8fghZ8kYJfEe%U|$dV!@ASKczEZq$fg48M@ z;LnHO_j#Uq?%bL4dY^md%$$4Y+&@nKC|1uHR&59YNhubGh72|a#ylPdh9V+akp|I; zPk^W-a00GrFMkz_NSADdv2G2-i6rb=cB_@WnG(**4ZO$=96R=t|NZ@|0_z&q3GwO^ ziUFcuj$a9QaZ3j?xt`5#q`sT-ufrtBP0nt3IA&dr*+VCsBzBVW?vZ6eZr0oD%t33z zm~-5IVsjy(F>;S~Pm@bxX85>Z*@(QL6i3JQc?1ryQFcC@X^2^mZWhFv|v? z49>l|nA&XNQ6#OvccUTyBMB*WO#NA;FW5|eE_K6dtVYP2G?uUZ09!`Iq1IF2gA(aS zLu@G^cQJmh=x?-YsYa@E6QnE5+1@ds&0f#OQRDl^GnIT_m84G5XY%W z;Ck6bk^Oeu*Ma-XmxI5GjqzWNbJMsQF4)WfMZEA{oxW0E32e)*JfG}3otPishIQBw zkBe6N#4pKPN>q1R6G1@5&(u#5yPEToMBB6_oEK|q z@(i5j!?;NNCv~=HvW%zF&1yWBq(nJa_#``G&SRmQvE|jePUPs{J!$TacM|e}Fsceb zx+76|mDp6@w>)^DIl{8?)6XYNRU|2plG8Jy&7(^9SdOWNKKJK&>0!z6XiN4J*Jkao z=E1y5x-XDC==Ub+8fLb#OW&{2ww{h^xlJFYAMOUd)}Xg@j?ak{7Kno6?9S~F?|6Df zHo|ijXX~`Sp;Vf!nR;m%vUhq>zvlRXsL0u*Tt?F#yR}3tF0#of{(UjitqST|!{aBA zicWh+URU}Jnc*sg9iMkf0pggpd?3TI*C-q$2QOdCC7rV+CHBmjS3O%a3VeZ$ZSs5ubJuJp%e%$LHgrj0niYjX;4kt z&2~j%@q3MO)-QGCA{>o%eZu){ou^MgC6~Z8Y=tc!qF=|TOlG3wJXbaLYr-;$Ch=2J z_UcE59Xzq&h0LsjLrcZrQSa}#=0~Lk|4?e4M z6d;v->NCC1oMti)RRc`Ys0?JXQjsZ@VdCy%Z)TptCrI>0Tte$pR!@yJesoU2dtyuW z7iFsE8)CkbiJP+OP28;(%?!9WddQZcAid@R@`*e%3W65$g9ee`zvwb(VPO+uVBq6p z{QDR%CR(2z@?&9Obm3xPi2lzvfip`7q`_7UDD|lRS}4=bsl3xQIOi0@GSvMuDQX}* z4B^(DI<${qUhcLqO`itJU;e<%%iS+R3I^_xIV1O%sp*x~;-dn` zt$8>RnSUh#rU3{-47067W^WNwTdq-t$-U>Hj%r!GD!gLa;kV zW5g6pCqV+!q8LgrI49(}fIc5K_`FLV4_E#XZ6{<>w8wzc%V9k!!Byg5-0WY+J?1*z%9~Aj4WQr1Jsn2(G!U8fFpi(wsy@JLg^d+IB0kl89 z0@Ssqf!L9JjYKK$J=978+NO*5^C)GPH2a%4hm$HROjM|N3g9ch9kDLh*nlwqy{mVM z`P(l#>3NnK%#O8tSb(VmZrG+`dRD#=Cc1P%(y5S?*Hj5E{vg&Eiw!YV>S#7_WRDVoFxT5m=gFi4)}y5V%KT8!xbsH_rmR& zsmM?%J}K$1l8d?2+m(}2c}-G`x>CY%Y&QBJRC$sKM}zN<9{IlF@yJEG<^0={$+`Hc zDodJ)gCADJ_bD#am(c2ojXKb|j+ENJ#58PAA&pZXufrFzBwnuuo+khfMgd!DMlU#v z9|JelQO~E2;d^w!RZJbt%IANIudpKSP)cssoWhq)>({nvcfCr0=9=FAIMuZm8Eo=} z|DND}8_PB5HqG(QwDvaM@orYBZ9kCkHV*rxKTy>q7n~0emErUwLbhq;VN<2nKT&*a2Ajz z;lKBzU2i8KLV`d)Y&ae)!HcGk$dO}Or%8KF@kE@jU1h@zwpw{6p4ME|uC$Za-ERR2 ztQvL&uOZLe(k{w_+J^ng+l}~N8MP>F1Z$fLu}D-WWaeu#XduP@#8JpmH(X>rIL)k3 zyXNyTIB1(IH%S&pQ{rWaTVfB$~-;RnlY z^(y7mR>@=brI>!TrA)BQsQ={b*6$=1Eqbuu6IdhJ&$YD$08AwtNr9*J?%-WT<;O1< zPl1<@yeqfZ>@s4azqTf<=I4(kU^+^Qkstm%WM-0_VLm({jFc8`5Df2Q1Y9zMZu0^! zsO_yh2Sz9K>Jq6fkYbBZocEJ6C!SdEzYDkiEtNJs{?!tA#e|oiN+VaaAobwKef_kUup&4scD?1+}Q8)DaekkMYn-FOS{J%NY za^mmJ^n`t*1p@hF*gl#L+5wr40*(ub4J#L|@oCl~@|4UvCjHBYDQv&S zhyGMAkRO^tF_dyi&XM)4mQ;k>kj?RgRo@-?==oD+ns*>bf@&fPXF|4U0&ib2 zo~1ZdmCPWf!W9#sGP@9X$;Rc`tjbz^&JY}z{}j9bl?;VC{x)TfQH$D^WowKL&4Zx@ zdSn+QV7H(e0xRfN6aBfH)Q=@weoD?dvu6^ZS)zqb>GwMmIuS8zJfaMUQx9>%k~w34 z3}_B2Jj~u=SnJ~vZPj*)UoDi_FtT=UAb#J^b4B%R6z3H%cj-1OCjU5F$ky>By1zsg z>2A0ccp29(Y<;my|J_g-r{1I@+*O$>!R3`_sFNP4e}LD1e1mM&SA`;;TR0I`_hESV zh4U*9ecK$0=lYk`{SR_cm$}iS*?yQR(}T-5ub?Wn^#RTe*^1~ya%`!xWq-F*WH@%nnZTNREA z3eUX2uM9b_w!Zo$nVTotEtzuL(88N)H~v_G=89|(@IFz~Wq6ME);z(!2^PkR2B&kE zxR)xV8PE|Hszyjp#jNf=ZIQ7JR~4Ls#Vd@mPF(7R5VO$akUq8JM+sn>ZVg(lJZ)5qjqdw(*7tuwjY#0tx+|!sTz9yV~%HOdrb#!5w9>*0LrCS z%wF$Yc6~hqVQZzoC^D<(-h0aOtk}kn<<*xF61HQr<5}efY{zXXA+PaJG7vT&{Oz(@Uu!V#Fp9%Ht!~@;6AcD z$lvlPu&yd(YnAHfpN51*)JN0aYw9gGk{NE7!Oqu4rBp}F30669;{zcH-a7w9KSpDQPIE_f9T zit? zJSjTKWbe{f{9BmSDAFO1(K0oqB4578tU0(oRBE^28X>xDA!1C&VJEiYak4_ZTM*7M`hv_ zw3;2ndv3X$zT!wa7TrId{gNE`Vxf}j5wsyX+;Kn<^$EJT`NzznjyYx=pYMkZjizEU zb;Gg8Pl_pqxg)9P)C)Hxh_-mQ;u-I_Ol>d^>q08zFF!>Z3j1-HmuME_TGZ*Ev;O0O z%e(edJfV<6t3&FKwtInnj9EeQhq9;o5oLJoiKwWF5bP2~Feh#P4oN()JT0pdq!9x* ze3D-1%AV#{G=Op$6q?*Z>s{qFn}cl@9#m@DK_Bs@fdwSN`Qe18_WnveRB583mdMG- z?<3pJC!YljOnO8=M=|Cg)jw;4>4sna`uI>Kh&F20jNOk9HX&}Ry|mHJ+?emHnbYLJ zwfkx@slh31+3nq-9G5FVDQBHWWY}&hJ-fpDf!lQdmw8dlTt#=)20X74S>c&kR(?PT zBg)Y%)q&|hW1K;`nJPAGF*c3{3`FvrhD9=Ld{3M*K&5$jRhXNsq$0CLXINax1AmXX ziF39vkNtcK6i^+G^AEY!WalGazOQ$_#tx?BQ{YY$&V&42sICVl8@AI6yv;sGnT;@f zL=}rZcJqNwrEEA=GDdEe8Z=f9>^?($oS8xGdFf1eUWTYtZF<3tu2V%noPBnd=thZ+ zO&xoc?jvXG7Xt!RTw#5VN50UjgqSntw9Y35*~pxz=8OzkXg{@S2J%+{l3Q>B_qbnl z20Deb7JM&ZSp`%X>xWpb>FF8q7Nq&4#a1}A-(-!aMDmVbz05D!NpUzVe{~72h%cOh zwQFNai2a$K|hFgDk(oPF_tuf{BV!=m0*xqSzGAJ(~XUh8rk#{YOg0ReK>4eJl z;-~u5v$}DM)#vER>F)-}y(X6rGkp<{AkiPM7rFgAV^)FUX8XmCKKaWlS4;MSEagj$ z#pvH`vLX1q{&eOm>htnk4hmv=_)ao!MCp}9ql5yfre&Py!~hBAGNBa}PH&J8K=~<% z&?!J-QaH|0bq_uo6rt*r-M>d7jm1cbW^T>s)S?L{n8v`^?VIPA+qi^6e@cM|5boqEO!p1e|_{7U3Yl6K?0xMN1bbjf0@$TE-T))w> zFe?E?g$PUT-)AJ(PS^By^D^Ed!K5iv$*_eW~VA(I3~UMy*ZcgVu0$XZC*_0PgDmUL)qTCn927LD~p$yXR_GCJ&iQ; z4*`%l-dC5pALH!y*nmhdHRh02QjW1vZL4ySucz*w3f|#`=u@@YvMV1?i!&DIa2+S< z8z!gvN3FV4I;%fl;ruFeV{jKjI~?GlgkmGBuJ<7vY|l3xMOc?S@Q#C(zo*m&JLrjT2rU9PYOniB8O~yO5<1CCcQz# z17B2m1Z{R!Y)UO#CU-Y&mOlv4*Gz%rC_YkRcO)jTUEWHDvv!GWmEihE>OKPx1J?Av z8J{-#7NsT>>R#*7**=QL)1@IR77G9JGZZiVt!=jD+i(oRV;I`JkiTSZkAXuHm-VG1 z+2-LD!!2dNEk@1@Rp|C$MD9mH^)H*G*wI(i*Rc6Vvdik+BDycYQ*=0JA3dxxha|Zg zCIW1Ye-DdpMGTEwbA^6hVC<(@0FL4dkDOYcxxC5c%MJQ^)zpA%>>~Q|Y=@)XW!px; z_Fx+xOo7>sz4QX|Ef~igE+uFnzFWP<-#||*V0`0p7E*+n5+awuOWmvR{-M*chIXgo zYiZvQMond#{F8+4Zh_;>MsaZUuhp=onH@P!7W>sq|CWv|u}Wg0vo&f4UtmLzhCwwu zJaR=IO;sQxS}h(K>9VZjnED+>9rGgB3ks+AwTy_EYH{oc)mo`451n&YH%A1@WC{;1 z=fB6n zIYp46_&u`COM&Di?$P}pPAlAF*Ss<)2Xc?=@_2|EMO?(A1u!Vc=-%bDAP#zDiYQvJ z0}+}3GaLxsMIlh6?f=iRs0K=RyvMOcWl*xqe-IBLv?K{S^hP)@K|$I+h_)pdD9r~! zxhw2u66+F(E`&6hY}B_qe>wil|#*0R0B;<@E?L zVrhXKfwRg0l8r>LuNs1QqW&39ME0sOXe8zycivGVqUOjEWpU)h|9fwp@d(8=M-WxY zeazSz6x5e`k821fgylLIbdqx~Kdh^Oj`Q!4vc*Km)^Tr-qRxPHozdvvU^#xNsKVr6aw8={70&S4y*5xeoF@Q^y596*09`XF56-N z1=Rm5?-An178o?$ix}y7gizQ9gEmGHF5AW+92DYaOcwEHnjAr~!vI>CK%h`E_tO8L Yte!%o?r4GTrVtxD61Ym!|5fq-1K$0e!T1w z1SC8j)_dObefzK9b=~*c&wBRW>;B{VGKiBofK!FMN5oJBE0V;;!kWUz!jc1W?5KdY zyZ3mCBHprpchz-9{ASiJJh&&h1|4rdw6wxD2+9= z#6#}Uq8&^1F3wgvGFoNDo?bIeEQXpcuAR0-+w$JWoK-@yUal1M&~W_O)r+Rx;{@hWH5n^oQWR36GMYBDDZyPK4L@WVjRrF+XlSzi4X4!_!U%Uujl6LHQ#|l(sUU%{ zefYd8jnVYP91K}Qn-OmmSLYFK1h~_}RPS~>+Xdz%dpvpJ{ll!IKX=JN99qowqslbO zV3DmqPZ}6>KB!9>jEObpi$u5oGPfO3O5!o3N2Mn`ozpje<}1I1H)m2rJDcB7AwXc6 z6j)tnPiql7#)r+b+p9?MVahp&=qJ^$oG+a^C*);FoJ!+V*^W+|2Olx5{*&$bXth)U zejc7mU6cBp?^Rj|dd{GL-0eHRTBi6_yJ&GLP5kIncv^z{?=0AVy^5{S8_n=rtua!J zFGY=A(yV^ZhB}1J_y(F`3QTu+zkHlw;1GiFeP&pw0N1k%NShHlO(4W+(!wy5phcg4 zA-|}(lE_1@@e6y`veg;v7m;q%(PFG&K3#}eRhJioXUU0jg_8{kn$;KVwf;zpL2X_( zC*_R#5*PaBaY73(x*oZ}oE#HPLJQRQ7brNK=v!lsu==lSG1(&q>F)`adBT~d*lMS| z%!%7(p~<7kWNmpZ5-N31*e=8`kih|g5lVrI%2wnLF-2D+G4k6@FrYsJ_80AJ}KMRi>) z-kIeHp{maorNWkF81v0FKgB==_6blyaF$5GaW)B!i4v*jNk6r)vU6?G$0pV8(Y+UK z5lgRVt%;N_gWp)^osv=h+^07UY6+$4^#t=M3>0i0`{`aEkFLL#a)93uXhYO+aKTtu zckg2T9S&GKNtZmdAS^8PzvDva-%-K&g9eqPXQ4$dM^inr@6Zl z{!Cq&C_+V;g*{>!0cZP}?ogDb$#ZS=n@NHE{>k@84lOkl&$Bt2NF)W%GClViJq14_ zQIfa^q+0aq){}CO8j%g%R9|;G0uJuND*HO$2i&U_uW_a5xJ33~(Vy?;%6_(2_Cuq1 zLhThN@xH7-BaNtkKTn^taQHrs$<<)euc6z(dhps>SM;^Wx=7;O&IfNVJq3wk4<1VS z-`*7W4DR_i^W4=dRh>AXi~J$K>`UqP>CKVVH&+T(ODhRJZO7DScU$F7D)di-%^8?O z6)Ux`zdrVOe1GNkPo0FgrrxSu1AGQkJe@pqu}8LkBDm+V!N_1l}`tjLW8${rgDLv3m@E*#zappt-Mm zSC<$o+6UO~w0C=(0$&*y**@nKe_Q{|eAuD!(0YL0_a{z%+sdfSyP={Nyd$re6Rzbp zvsgTY7~VflX0^Vf7qqomYZ_$ryrFVV2$sFyzw2r%Q8*uYDA+)iQdfKms_5(>!s#!( z!P5S(N0i9CKQKaqg(U%Gk#V3*?)lO6dLv`8KB~F<-%VhbtL8Rl>mEz+PN=qx&t*|= zQHV=qG)YKlPk4iCyWIUGjC?kpeA>hIBK*A?B0)rB=RqAal#D%1C9yVQwBcz${#Jb5 zR{TRmMrOrJsLc&6x9qDo@FJ^=do_Y?3oU0G^nV5_EU&+DS+VA7Tp{^TAF>yZbyM3c zf*1CqHY9T|aL_lyY7c)i!_MtGPA!sdy3|mrsKVj1mi&>dms@-ozSa}OZ?2I*tAndg z@S7er$t^d^-;!wLQbG60nWd@1pQVD7tw-G_B#OscoYyremiZ_hj8*sXqQdchuD^!R zpXGuSj5psk+jR>3rWu3^`17>j&*^9^rWbszP=Mf@5KIEj%b=z98v=Ymp%$FYt>%Ld zm8})EDbNOJu9n)gwhz_RS``#Ag)fr)3<*?(!9O~mTQWeh;8c;0@o=iBLQNqx3d_2#W7S9#FXzr6VXfs>4 z;QXw}-STvK9_-7H=uqgal2{GkbjVLN+=D5ddd)4^WvX;(NYA*X*(JxTdiUzqVJopd zQg#~psX4o<)cF>r=rxP`(Xsf<+HG-pf&7aFPL8z|-&B*P?Vmsu5d>Nlg^2$WRY!S@#`g2{81;(1w#o5HsvN}5pFZi});>|VK^kL{Zkx~wgn ztlZp;HW`H8(GdRfIwc~?#N6}o#h158ohI*GIsK%56I_9sf2k_K@4vD!l{(dX9E7PJ;w>$|Y;-VBJSO4@){07bo-89^LZ9g<<%;dOl zyIq{s8`8Ltp*GDwu(l_Z$6sA2nam$BM$Q~6TpZg)w2TtW?G5whV(lRwaf$6EU86is zBP9Rs&vS_~sk?Nn_b}^HkM8LiO@>J}=g(T4hLmvH@5Jj#2aHa~K)lD9VB0k>$V2BP zgh;(=y9Op(KQ=H5vj+%qs>?s4tYN~-Q|fyQePA)s?HrF~;l!+@t8VMzqUpqMLudFT z)=o~s!MM4XkgbetIsODwtQ=FF$IcIp&!pjh6Q6{tL+l*7GQ%8Wsg(tC#qU3oW$~n) zL=>XIxI}Hi7HS0F_mmi+(c%1HDuKiWm>|6Xa}nW7ei55ggru9)xjBvC#JcEIN*#cp zv*ACvr=HTC?dX9NNo9Yhulu_gX5Z~}QQ2&QZ&C77{(>Y3_ z6j5Z1Uc5FtPEpS_31HsgmSLHZijGb_p$WlRJ1p^_1!ZLP8kr6OtCEK7Qh267o$H>e zf<4cNGQRk{g5h$XfvTFQ@`qm@iju83-~}ebAYpZryARHVR$AEt3229U{y@Fp4 z-8FBBtGG&(hTyUdx5ZOfiz`c=<0F%+w|Fl=rWk{K7>70k04SN?RU(^mrKSeKDqA!K^Hsv8C?#ioj4@WUL zC*?{hTai6q0%_oBTqDHygp_Kl;({sAScYQIwMDM1U>{x0ww zve?_}E;DG?+|zsUrsph5X_G7l#Y~vqkq3@NNDabbw7|`eJBmn`Qrlr%?`va=mm$Mc{+FBbQbogAZ6{MuzT|P%QZZotd21eb1hfj|;GYAX&>bx#D5EB+=XMj2XJkpnyMUykaVo) zj3ZLqEl1&)Rturc8m@+uUuD^vaNaSxGwP4dq0-OSb~62lPv8E_K4usLvG{Qg zdR%z8dd2H!{JaT|X_bfm{##*W$YM;_J8Y8&Z)*ImOAf4+| zEyi)qK%Ld1bHuqD+}-WiCnjszDeC-%8g+8JRpG1bOc!xUGB?@?6f~FTrI%U#5R~YF z%t5(S2Q>?0`(XNHa8xKdTEZ~Z4SJOheit#ldfdg63}#W6j8kO;SjQD`vftxS+#x1B zYu|5szEvkyz|}|B3x|DNlyi$;+n+cW$Hu+?)=X1!sa%{H-^;oBO9XACZJ}wkQ!sTa zQ#J3h|HX{{&WwIG3h7d6aWktuJaO)ie6&=KJBoX@w(rBWfin`*a6OmCC5M0HzL(gv zY<*e4hmW>SWVhxk-`UGOAbD%Hk+uu<^7zJ_ytVXamfqCd0$g+W08>?QAB}Cv{b}eM z@X}ILg+uT%>-6`A25p@uhS3%;u>ccSq}8|H_^o&`nBT5S0y z;2H0I^(4MO*S+(4l$gULc4KSeKvidto5Nl0P|%9CqQ*ikY!w_GUlo}sb9HYB=L^oFpJ zfTQskXW!LFVnUo4(OHPDaZSf3zB|3{RGu1>ueE$(+dr?tT zp!SGlqDU8vu{5xLWSvj+j$arHglg54#Lx&TvuO3LIIU>hF9Uoj&=-b*Q?uYr`#V?xz?2 zhirZrv^eA{k%{hFh%9LYVXEYWd5#PuUd1QqaqB*J!CMXEM>fEB$@#1>mtB`Bfil}t zhhTIObqh5HRvT+4q_Do$Q*Jika?qV=Np-DtPkU z(KoXyWLfPwr@UY1)hBAvR3nCBZgd|CevTG?H~HqDF}dzy%2sd2`f{^CBbTk*^K~RO zN~O0+2EjAJlywF%SjgYz810l&G5AqzI<=Ber{912^PpSPRJl3dm8W@dKHL}7_@k3)Y!SXYkyxQy>Q4I2o zr`ev7fLF$1t96h|sH<-#*YzGD-b^3$_!#wsh(Yw;)b@udLz9mm`mFYh z1Zz24KIQJ(*_-E0(3&1InqG;U?wF)GYd>DFo(em`#|UaaYmkA9;GTX7b?0@C@QkTVpGD#mf$dQoRNV=n{^Zi_W*ps;3?^$s`0;ER7;==~OmQ~9 zS5P=FjxE5%|;xq6h4@!_h?@|aK&FYI2IT(OHXv2%1 zWEo-v!L7x^YT(xLVHlpJttcwaF@1Y;-S*q3CRa!g7xdzl|Jan>2#dI0`LKl!T1GMk zRKe4|bQO&ET}Z^Aiym*HII>cSxIzl|F~JEUGxz;+DB=8fxXhnBI4R12q6ews$lA`Jfi}r@A@-)6TOAUMNYFYJ zZ-Zd?lxFTyjN3mXnL!%#>Z%$0gJ4*9g;e;@zSmQ{eGGDaRRNM3s@6!;hYuVc=c+3B z=qzNNS~n^EsJU4aOGE|mdy={C^lPKEfPL-IJAsTpQsDgZ@~s+eHZYmp9yb=YW_4r?lqQaYZQ`nau){W`LY#P)>i zq^wHEuOYs#FlPZeMuT@Etb@~A6feCebq`miJE3w+gAL%bVF_s*5e*@)?xmKSo%I3? zLELHVdWia$}~s6 zr!^LfxSSB4Td&9iTXrzQpl5ZDo#SdmNr;23QsPHQ!x!UT9xtb!Ycz^JF8x)%cFOXK z^EXw%dRz_VD}7?RU^4{)1+xFO=z!EI8IUa3U*rag=1BpHX$Xi<__kSbS{y_xa*MJv z_`thq0Z^sPzjAk48ssDQj}!$N8Q$XC84(bU$t_Bm69Jf+C!h_}ep zwzpQj9sRA94<{x3{~z&ix-DwX;RAzka)4-#6ZHJqKh|SVuO|>Yrv+m30+!|sK<-|E z=)5E->#y<_1V|T1f%Af!ZYqXg}`O zI$qKOWdnclF`%_Z`WGOe{`A`l-#a?s=Q1a#@BOWmExH2;Wl`OB!B-%lq3nO{4=WO& z#k_x|N&(qzm*6S{G*|GCegF2N2ulC+(58z2DG~yUs}i8zvRf&$CJCaexJ6Xu!`qz( z)*v8*kAE#D0KCo*s{8^Rbg=`*E2MzeIt0|x55%n-gO&yX#$l=3W7-_~&(G8j1E(XB hw}tl`5K!1C(72%nnjQrp<7@!WCh47rWB+@R{{wClNUHz< diff --git a/gradlew b/gradlew index fbd7c51583..4f906e0c81 100755 --- a/gradlew +++ b/gradlew @@ -130,7 +130,7 @@ fi if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath diff --git a/gradlew.bat b/gradlew.bat index a9f778a7a9..ac1b06f938 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if "%ERRORLEVEL%" == "0" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -54,7 +54,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -64,21 +64,6 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - :execute @rem Setup the command line @@ -86,7 +71,7 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell From 64da9b0ed1e3f4641b6ab55a336d1f4cc6ca5885 Mon Sep 17 00:00:00 2001 From: Ganom Date: Thu, 13 Aug 2020 23:06:20 -0400 Subject: [PATCH 189/189] configpanel: various fixes (#2774) * configpanel: ensure enums are properly displayed * configpanel: properly categorize buttons. * configpanel: remove unnecessary button array. --- .../client/plugins/config/ConfigPanel.java | 53 +++++++++---------- 1 file changed, 25 insertions(+), 28 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java index ecabe1a588..592b0a07eb 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java @@ -440,8 +440,6 @@ class ConfigPanel extends PluginPanel ConfigDescriptor cd = pluginConfig.getConfigDescriptor(); assert cd != null; - List buttons = new ArrayList<>(); - Map> pluginsInfoMap = externalPluginManager.getPluginsInfoMap(); if (pluginConfig.getPlugin() != null && pluginsInfoMap.containsKey(pluginConfig.getPlugin().getClass().getSimpleName())) @@ -566,28 +564,6 @@ class ConfigPanel extends PluginPanel } } - if (cid.getType() == Button.class) - { - try - { - ConfigItem item = cid.getItem(); - JButton button = new JButton(item.name()); - button.addActionListener((e) -> { - ConfigButtonClicked event = new ConfigButtonClicked(); - event.setGroup(cd.getGroup().value()); - event.setKey(cid.getItem().keyName()); - eventBus.post(ConfigButtonClicked.class, event); - }); - buttons.add(button); - } - catch (Exception ex) - { - log.error("Adding action listener failed: {}", ex.getMessage()); - ex.printStackTrace(); - } - - continue; - } JPanel item = new JPanel(); item.setLayout(new BorderLayout()); item.setMinimumSize(new Dimension(PANEL_WIDTH, 0)); @@ -597,6 +573,28 @@ class ConfigPanel extends PluginPanel configEntryName.setToolTipText("" + name + ":
    " + cid.getItem().description() + ""); item.add(configEntryName, cid.getType() != String.class ? BorderLayout.CENTER : BorderLayout.NORTH); + if (cid.getType() == Button.class) + { + try + { + ConfigItem cidItem = cid.getItem(); + JButton button = new JButton(cidItem.name()); + button.addActionListener((e) -> + { + ConfigButtonClicked event = new ConfigButtonClicked(); + event.setGroup(cd.getGroup().value()); + event.setKey(cid.getItem().keyName()); + eventBus.post(ConfigButtonClicked.class, event); + }); + item.add(button); + } + catch (Exception ex) + { + log.error("Adding action listener failed: {}", ex.getMessage()); + ex.printStackTrace(); + } + } + if (cid.getType() == boolean.class) { JCheckBox checkbox = new JCheckBox(); @@ -612,7 +610,8 @@ class ConfigPanel extends PluginPanel item.remove(configEntryName); JButton button = new JButton(cid.getItem().name()); - button.addActionListener((e) -> { + button.addActionListener((e) -> + { log.debug("Running consumer: {}.{}", cd.getGroup().value(), cid.getItem().keyName()); configManager.getConsumer(cd.getGroup().value(), cid.getItem().keyName()).accept(pluginConfig.getPlugin()); }); @@ -945,7 +944,7 @@ class ConfigPanel extends PluginPanel box.setToolTipText(Text.titleCase((Enum) box.getSelectedItem())); } }); - item.add(box, BorderLayout.CENTER); + item.add(box, BorderLayout.EAST); } if (cid.getType() == Keybind.class || cid.getType() == ModifierlessKeybind.class) @@ -1015,8 +1014,6 @@ class ConfigPanel extends PluginPanel } } - buttons.forEach(mainPanel::add); - JButton resetButton = new JButton("Reset"); resetButton.addActionListener((e) -> {