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 b628f78261..72cbfeef7a 100644 --- a/runelite-api/src/main/java/net/runelite/api/ItemID.java +++ b/runelite-api/src/main/java/net/runelite/api/ItemID.java @@ -11178,5 +11178,6 @@ public final class ItemID public static final int CRYSTAL_SHIELD_24127 = 24127; public static final int COMBAT_PATH_STARTER_KIT = 24130; public static final int COMBAT_PATH_VOUCHER = 24131; + public static final int MARBLE_LECTERN = 24132; /* This file is automatically generated. Do not edit. */ } 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 202029dcde..766e4d892c 100644 --- a/runelite-api/src/main/java/net/runelite/api/NpcID.java +++ b/runelite-api/src/main/java/net/runelite/api/NpcID.java @@ -8273,5 +8273,9 @@ public final class NpcID public static final int CRAB_9201 = 9201; public static final int TIDE = 9202; public static final int ADVENTURER_JON = 9244; + public static final int ARIANWYN_HARD = 9246; + public static final int ESSYLLT_HARD = 9247; + public static final int ARIANWYN_9248 = 9248; + public static final int ESSYLLT_9249 = 9249; /* This file is automatically generated. Do not edit. */ } 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 5a1ded28d0..b0d675ef33 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java @@ -1172,6 +1172,7 @@ public final class NullObjectID public static final int NULL_2462 = 2462; public static final int NULL_2463 = 2463; public static final int NULL_2464 = 2464; + public static final int NULL_2485 = 2485; public static final int NULL_2488 = 2488; public static final int NULL_2489 = 2489; public static final int NULL_2490 = 2490; @@ -1838,6 +1839,7 @@ public final class NullObjectID public static final int NULL_4110 = 4110; public static final int NULL_4136 = 4136; public static final int NULL_4137 = 4137; + public static final int NULL_4140 = 4140; public static final int NULL_4145 = 4145; public static final int NULL_4146 = 4146; public static final int NULL_4190 = 4190; @@ -2188,6 +2190,7 @@ public final class NullObjectID public static final int NULL_4946 = 4946; public static final int NULL_4947 = 4947; public static final int NULL_4948 = 4948; + public static final int NULL_4976 = 4976; public static final int NULL_4985 = 4985; public static final int NULL_4986 = 4986; public static final int NULL_4987 = 4987; @@ -17985,5 +17988,32 @@ public final class NullObjectID public static final int NULL_37342 = 37342; public static final int NULL_37343 = 37343; public static final int NULL_37348 = 37348; + public static final int NULL_37353 = 37353; + public static final int NULL_37354 = 37354; + public static final int NULL_37355 = 37355; + public static final int NULL_37356 = 37356; + public static final int NULL_37357 = 37357; + public static final int NULL_37358 = 37358; + public static final int NULL_37359 = 37359; + public static final int NULL_37360 = 37360; + public static final int NULL_37361 = 37361; + public static final int NULL_37362 = 37362; + public static final int NULL_37363 = 37363; + public static final int NULL_37364 = 37364; + public static final int NULL_37365 = 37365; + public static final int NULL_37366 = 37366; + public static final int NULL_37367 = 37367; + public static final int NULL_37368 = 37368; + public static final int NULL_37369 = 37369; + public static final int NULL_37370 = 37370; + public static final int NULL_37371 = 37371; + public static final int NULL_37372 = 37372; + public static final int NULL_37373 = 37373; + public static final int NULL_37374 = 37374; + public static final int NULL_37375 = 37375; + public static final int NULL_37376 = 37376; + public static final int NULL_37377 = 37377; + public static final int NULL_37378 = 37378; + public static final int NULL_37379 = 37379; /* 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 bb75a0e17f..c0da125193 100644 --- a/runelite-api/src/main/java/net/runelite/api/ObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/ObjectID.java @@ -1318,8 +1318,7 @@ public final class ObjectID public static final int TRAWLER_NET_2481 = 2481; public static final int TRAWLER_NET_2482 = 2482; public static final int TRAWLER_NET_2483 = 2483; - public static final int LEAK = 2484; - public static final int REPAIRED_LEAK = 2485; + public static final int HOPPER_CONTROLS = 2484; public static final int SPRAY = 2486; public static final int SPRAY_2487 = 2487; public static final int LAMP_2491 = 2491; @@ -1411,7 +1410,7 @@ public final class ObjectID public static final int CHEST_2604 = 2604; public static final int LADDER_2605 = 2605; public static final int WALL_2606 = 2606; - public static final int HOPPER_CONTROLS = 2607; + public static final int HOPPER_CONTROLS_2607 = 2607; public static final int STAIRCASE_2608 = 2608; public static final int STAIRCASE_2609 = 2609; public static final int STAIRCASE_2610 = 2610; @@ -2308,7 +2307,6 @@ public final class ObjectID public static final int HILLSIDE_ENTRANCE_4135 = 4135; public static final int COUNTER_4138 = 4138; public static final int SHIPS_LADDER_4139 = 4139; - public static final int HOLE_4140 = 4140; public static final int STRANGE_ALTAR = 4141; public static final int SWAYING_TREE = 4142; public static final int DANGER_SIGN_4143 = 4143; @@ -2794,7 +2792,6 @@ public final class ObjectID public static final int STAIRS_4973 = 4973; public static final int MINE_CART_4974 = 4974; public static final int CRATE_4975 = 4975; - public static final int HULL = 4976; public static final int GANGPLANK_4977 = 4977; public static final int GANGPLANK_4978 = 4978; public static final int HERBS_4979 = 4979; @@ -13355,7 +13352,7 @@ public final class ObjectID public static final int DRAGONS_HEAD_25033 = 25033; public static final int LAW_RIFT = 25034; public static final int DEATH_RIFT = 25035; - public static final int HULL_25037 = 25037; + public static final int HULL = 25037; public static final int LADDER_25038 = 25038; public static final int WALL_25039 = 25039; public static final int WARDROBE_25040 = 25040; @@ -17102,7 +17099,7 @@ public final class ObjectID public static final int SWAMP_PASTE = 32295; public static final int POTIONS = 32296; public static final int FIRE_32297 = 32297; - public static final int LEAK_32298 = 32298; + public static final int LEAK = 32298; public static final int FREMENNIK_WARRIOR = 32299; public static final int FREMENNIK_WARRIOR_32300 = 32300; public static final int FREMENNIK_WARRIOR_32301 = 32301; @@ -18591,7 +18588,7 @@ public final class ObjectID public static final int RUBBLE_34804 = 34804; public static final int RUBBLE_34805 = 34805; public static final int JADFEST_PORTAL = 34826; - public static final int HUB_PORTAL = 34827; + public static final int HANDY_PORTAL = 34827; public static final int LARRANS_SMALL_CHEST_34828 = 34828; public static final int LARRANS_BIG_CHEST = 34829; public static final int LARRANS_BIG_CHEST_34830 = 34830; @@ -18906,9 +18903,9 @@ public final class ObjectID public static final int PILLAR_OF_LIGHT_35323 = 35323; public static final int PILLAR_OF_LIGHT_35330 = 35330; public static final int PILLAR_OF_LIGHT_35331 = 35331; - public static final int TELEPORT_PLATFORM = 35387; - public static final int TELEPORT_PLATFORM_35388 = 35388; - public static final int TELEPORT_PLATFORM_35389 = 35389; + public static final int STAIRS_35387 = 35387; + public static final int STAIRS_35388 = 35388; + public static final int STAIRS_35389 = 35389; public static final int BOOKS_35434 = 35434; public static final int BOOKS_35435 = 35435; public static final int BOOKS_35436 = 35436; @@ -19094,7 +19091,7 @@ public final class ObjectID public static final int OPEN_CHEST_35962 = 35962; public static final int DESK_35963 = 35963; public static final int CORRUPTED_SCEPTRE = 35964; - public static final int TELEPORT_PLATFORM_35965 = 35965; + public static final int TELEPORT_PLATFORM = 35965; public static final int SINGING_BOWL_35966 = 35966; public static final int CORRUPT_DEPOSIT = 35967; public static final int CORRUPT_DEPOSIT_DEPLETED = 35968; @@ -19351,5 +19348,11 @@ public final class ObjectID public static final int ARCHERY_TARGET_37345 = 37345; public static final int BANNER_37346 = 37346; public static final int BARREL_37347 = 37347; + public static final int LECTERN_37349 = 37349; + public static final int HULL_37350 = 37350; + public static final int LEAK_37351 = 37351; + public static final int REPAIRED_LEAK = 37352; + public static final int BOOKS_37380 = 37380; + public static final int NOTICEBOARD_37381 = 37381; /* This file is automatically generated. Do not edit. */ } 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 cde3bbeafb..2d589c95f0 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 ITEMS_KEPT_ON_DEATH_GROUP_ID = 4; public static final int TRADING_SCREEN = 335; public static final int SEED_VAULT_GROUP_ID = 631; + public static final int EXPLORERS_RING_ALCH_GROUP_ID = 483; static class WorldMap { @@ -1130,4 +1131,9 @@ public class WidgetID static final int ITEM_CONTAINER = 15; static final int ITEM_TEXT = 16; } + + static class ExplorersRing + { + static final int INVENTORY = 7; + } } 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 cccb043833..cd892c0a24 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 @@ -125,6 +125,8 @@ public enum WidgetInfo IGNORE_TITLE(WidgetID.IGNORE_LIST_GROUP_ID, WidgetID.IgnoreList.TITLE), + EXPLORERS_RING_ALCH_INVENTORY(WidgetID.EXPLORERS_RING_ALCH_GROUP_ID, WidgetID.ExplorersRing.INVENTORY), + CLAN_CHAT_TITLE(WidgetID.CLAN_CHAT_GROUP_ID, WidgetID.ClanChat.TITLE), CLAN_CHAT_NAME(WidgetID.CLAN_CHAT_GROUP_ID, WidgetID.ClanChat.NAME), CLAN_CHAT_OWNER(WidgetID.CLAN_CHAT_GROUP_ID, WidgetID.ClanChat.OWNER), @@ -455,7 +457,7 @@ public enum WidgetInfo EXPERIENCE_TRACKER_WIDGET(WidgetID.EXPERIENCE_TRACKER_GROUP_ID, WidgetID.ExperienceTracker.WIDGET), EXPERIENCE_TRACKER_BOTTOM_BAR(WidgetID.EXPERIENCE_TRACKER_GROUP_ID, WidgetID.ExperienceTracker.BOTTOM_BAR), - FISHING_TRAWLER_TIMER(WidgetID.FISHING_TRAWLER_GROUP_ID, 37), + FISHING_TRAWLER_TIMER(WidgetID.FISHING_TRAWLER_GROUP_ID, 14), TITHE_FARM(WidgetID.TITHE_FARM_GROUP_ID, 1), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesConfig.java index a7b62e52b3..2880d1b8f0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesConfig.java @@ -86,4 +86,14 @@ public interface ItemPricesConfig extends Config return false; } + @ConfigItem( + keyName = "showWhileAlching", + name = "Show prices while alching", + description = "Show the price overlay while using High Alchemy", + position = 6 + ) + default boolean showWhileAlching() + { + return true; + } } 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 01be8dc8c0..442c750022 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 @@ -54,6 +54,7 @@ class ItemPricesOverlay extends Overlay private static final int INVENTORY_ITEM_WIDGETID = WidgetInfo.INVENTORY.getPackedId(); private static final int BANK_INVENTORY_ITEM_WIDGETID = WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getPackedId(); private static final int BANK_ITEM_WIDGETID = WidgetInfo.BANK_ITEM_CONTAINER.getPackedId(); + private static final int EXPLORERS_RING_ITEM_WIDGETID = WidgetInfo.EXPLORERS_RING_ALCH_INVENTORY.getPackedId(); private final Client client; private final ItemPricesPlugin plugin; @@ -97,7 +98,7 @@ class ItemPricesOverlay extends Overlay switch (action) { case ITEM_USE_ON_WIDGET: - if (!menuEntry.getTarget().contains("High Level Alchemy") || !plugin.isShowAlchProfit()) + if (!plugin.isShowWhileAlching() || !menuEntry.getOption().equals("Cast") || !menuEntry.getTarget().contains("High Level Alchemy")) { break; } @@ -111,6 +112,11 @@ class ItemPricesOverlay extends Overlay // Item tooltip values switch (groupId) { + case WidgetID.EXPLORERS_RING_ALCH_GROUP_ID: + if (!plugin.isShowWhileAlching()) + { + return null; + } case WidgetID.INVENTORY_GROUP_ID: if (plugin.isHideInventory()) { @@ -144,7 +150,7 @@ class ItemPricesOverlay extends Overlay ItemContainer container = null; // Inventory item - if (widgetId == INVENTORY_ITEM_WIDGETID || widgetId == BANK_INVENTORY_ITEM_WIDGETID) + if (widgetId == INVENTORY_ITEM_WIDGETID || widgetId == BANK_INVENTORY_ITEM_WIDGETID || widgetId == EXPLORERS_RING_ITEM_WIDGETID) { container = client.getItemContainer(InventoryID.INVENTORY); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesPlugin.java index 12e929dfd1..cf9c33b666 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesPlugin.java @@ -67,6 +67,8 @@ public class ItemPricesPlugin extends Plugin private boolean hideInventory; @Getter(AccessLevel.PACKAGE) private boolean showAlchProfit; + @Getter(AccessLevel.PACKAGE) + private boolean showWhileAlching; @Provides ItemPricesConfig getConfig(ConfigManager configManager) @@ -107,5 +109,6 @@ public class ItemPricesPlugin extends Plugin this.showEA = config.showEA(); this.hideInventory = config.hideInventory(); this.showAlchProfit = config.showAlchProfit(); + this.showWhileAlching = config.showWhileAlching(); } } diff --git a/runelite-client/src/main/java/net/runelite/client/ui/components/colorpicker/RuneliteColorPicker.java b/runelite-client/src/main/java/net/runelite/client/ui/components/colorpicker/RuneliteColorPicker.java index 653d31ecf8..aff803450e 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/components/colorpicker/RuneliteColorPicker.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/components/colorpicker/RuneliteColorPicker.java @@ -298,6 +298,9 @@ public class RuneliteColorPicker extends JDialog @Override public void windowClosing(WindowEvent e) { + // force update hex color because focus lost events fire after window closing + updateHex(); + if (onClose != null) { onClose.accept(selectedColor); 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 53985eca45..53a0d267c3 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 @@ -239,6 +239,14 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener final net.runelite.api.Point mouseCanvasPosition = client.getMouseCanvasPosition(); final Point mouse = new Point(mouseCanvasPosition.getX(), mouseCanvasPosition.getY()); + // Save graphics2d properties so we can restore them later + final AffineTransform transform = graphics.getTransform(); + final Stroke stroke = graphics.getStroke(); + final Composite composite = graphics.getComposite(); + final Paint paint = graphics.getPaint(); + final RenderingHints renderingHints = graphics.getRenderingHints(); + final Color background = graphics.getBackground(); + for (Overlay overlay : overlays) { OverlayPosition overlayPosition = overlay.getPosition(); @@ -303,26 +311,33 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener } safeRender(client, overlay, layer, graphics, location); + final Rectangle bounds = overlay.getBounds(); - if (bounds.isEmpty()) + if (!bounds.isEmpty()) { - continue; - } + if (inOverlayDraggingMode) + { + final Color previous = graphics.getColor(); + graphics.setColor(movedOverlay == overlay ? MOVING_OVERLAY_ACTIVE_COLOR : MOVING_OVERLAY_COLOR); + graphics.draw(bounds); + graphics.setColor(previous); + } - if (inOverlayDraggingMode) - { - final Color previous = graphics.getColor(); - graphics.setColor(movedOverlay == overlay ? MOVING_OVERLAY_ACTIVE_COLOR : MOVING_OVERLAY_COLOR); - graphics.draw(bounds); - graphics.setColor(previous); - } - - if (menuEntries == null && !client.isMenuOpen() && bounds.contains(mouse)) - { - menuEntries = createRightClickMenuEntries(overlay); + if (menuEntries == null && !client.isMenuOpen() && bounds.contains(mouse)) + { + menuEntries = createRightClickMenuEntries(overlay); + } } } + + // Restore graphics2d properties + graphics.setTransform(transform); + graphics.setStroke(stroke); + graphics.setComposite(composite); + graphics.setPaint(paint); + graphics.setRenderingHints(renderingHints); + graphics.setBackground(background); } } @@ -503,15 +518,6 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener graphics.setFont(this.interfaceFont); } - // Save graphics2d properties so we can restore them later - final AffineTransform transform = graphics.getTransform(); - final Stroke stroke = graphics.getStroke(); - final Composite composite = graphics.getComposite(); - final Paint paint = graphics.getPaint(); - final Color color = graphics.getColor(); - final RenderingHints renderingHints = graphics.getRenderingHints(); - final Color background = graphics.getBackground(); - graphics.translate(point.x, point.y); final Dimension overlayDimension; @@ -524,17 +530,6 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener log.warn("Error during overlay rendering", ex); return; } - finally - { - // Restore graphics2d properties - graphics.setTransform(transform); - graphics.setStroke(stroke); - graphics.setComposite(composite); - graphics.setPaint(paint); - graphics.setColor(color); - graphics.setRenderingHints(renderingHints); - graphics.setBackground(background); - } final Dimension dimension = MoreObjects.firstNonNull(overlayDimension, new Dimension()); overlay.setBounds(new Rectangle(point, dimension)); diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/frag.glsl b/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/frag.glsl index 646d5dfd7d..03d8464642 100644 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/frag.glsl +++ b/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/frag.glsl @@ -31,7 +31,7 @@ uniform float smoothBanding; uniform vec4 fogColor; in vec4 Color; -centroid in float fHsl; +in float fHsl; in vec4 fUv; in float fogAmount;