From 9d0839c1ea05eb5a568b0e89a67d5eea525f6f2b Mon Sep 17 00:00:00 2001 From: chsami Date: Wed, 10 Dec 2025 21:26:59 +0100 Subject: [PATCH 01/18] chore(pom): bump microbot version to 2.0.59 --- runelite-client/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index 18fe7b4c6d..a3ac97f25c 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -41,7 +41,7 @@ nogit false false - 2.0.58 + 2.0.59 nogit From e7ae65bf24885a4d9734e4e493e4c692827fbac2 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 11 Dec 2025 20:05:40 -0500 Subject: [PATCH 02/18] gpu: fix rendering projectiles from boats with roof removal on These projectiles have source level 1, despite being main-world projectiles, and would be hidden otherwise with roof removal on --- .../client/plugins/devtools/DevToolsOverlay.java | 10 ++-------- .../net/runelite/client/plugins/gpu/GpuPlugin.java | 3 ++- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java index d761da4147..46da1ba259 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java @@ -173,13 +173,6 @@ private void renderTileFlags(WorldView wv, Graphics2D graphics) { for (int y = 0; y < Constants.SCENE_SIZE; ++y) { - Tile tile = tiles[z][x][y]; - - if (tile == null) - { - continue; - } - boolean isbridge = (settings[1][x][y] & Constants.TILE_FLAG_BRIDGE) != 0; int flag = settings[z][x][y]; boolean isvisbelow = (flag & Constants.TILE_FLAG_VIS_BELOW) != 0; @@ -203,7 +196,8 @@ private void renderTileFlags(WorldView wv, Graphics2D graphics) s += "R"; } - Point loc = Perspective.getCanvasTextLocation(client, graphics, tile.getLocalLocation(), s, z); + LocalPoint lp = new LocalPoint(x << Perspective.LOCAL_COORD_BITS, y << Perspective.LOCAL_COORD_BITS, wv); + Point loc = Perspective.getCanvasTextLocation(client, graphics, lp, s, z); if (loc == null) { continue; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java index 3a7d4e4acf..13d6aeeaec 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java @@ -1257,7 +1257,8 @@ public void drawTemp(Projection worldProjection, Scene scene, GameObject gameObj int zx = (gameObject.getX() >> 10) + offset; int zz = (gameObject.getY() >> 10) + offset; Zone zone = ctx.zones[zx][zz]; - zone.addTempAlphaModel(a.vao, start, end, gameObject.getPlane(), x & 1023, y - renderable.getModelHeight() /* to render players over locs */, z & 1023); + int plane = Math.min(ctx.maxLevel, gameObject.getPlane()); + zone.addTempAlphaModel(a.vao, start, end, plane, x & 1023, y - renderable.getModelHeight() /* to render players over locs */, z & 1023); } } else From 1a119cefecd011e0cdc6b3fda3cc589f4cb7ad81 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 11 Dec 2025 20:11:33 -0500 Subject: [PATCH 03/18] Revert "gpu: fix rendering projectiles from boats with roof removal on" This reverts commit e7ae65bf24885a4d9734e4e493e4c692827fbac2. --- .../client/plugins/devtools/DevToolsOverlay.java | 10 ++++++++-- .../net/runelite/client/plugins/gpu/GpuPlugin.java | 3 +-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java index 46da1ba259..d761da4147 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java @@ -173,6 +173,13 @@ private void renderTileFlags(WorldView wv, Graphics2D graphics) { for (int y = 0; y < Constants.SCENE_SIZE; ++y) { + Tile tile = tiles[z][x][y]; + + if (tile == null) + { + continue; + } + boolean isbridge = (settings[1][x][y] & Constants.TILE_FLAG_BRIDGE) != 0; int flag = settings[z][x][y]; boolean isvisbelow = (flag & Constants.TILE_FLAG_VIS_BELOW) != 0; @@ -196,8 +203,7 @@ private void renderTileFlags(WorldView wv, Graphics2D graphics) s += "R"; } - LocalPoint lp = new LocalPoint(x << Perspective.LOCAL_COORD_BITS, y << Perspective.LOCAL_COORD_BITS, wv); - Point loc = Perspective.getCanvasTextLocation(client, graphics, lp, s, z); + Point loc = Perspective.getCanvasTextLocation(client, graphics, tile.getLocalLocation(), s, z); if (loc == null) { continue; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java index 13d6aeeaec..3a7d4e4acf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java @@ -1257,8 +1257,7 @@ public void drawTemp(Projection worldProjection, Scene scene, GameObject gameObj int zx = (gameObject.getX() >> 10) + offset; int zz = (gameObject.getY() >> 10) + offset; Zone zone = ctx.zones[zx][zz]; - int plane = Math.min(ctx.maxLevel, gameObject.getPlane()); - zone.addTempAlphaModel(a.vao, start, end, plane, x & 1023, y - renderable.getModelHeight() /* to render players over locs */, z & 1023); + zone.addTempAlphaModel(a.vao, start, end, gameObject.getPlane(), x & 1023, y - renderable.getModelHeight() /* to render players over locs */, z & 1023); } } else From 68beefb892f8fecc9e67773ede9cda69759c3e1c Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 11 Dec 2025 20:12:15 -0500 Subject: [PATCH 04/18] gpu: fix rendering projectiles from boats with roof removal on These projectiles have source level 1, despite being main-world projectiles, and would be hidden otherwise with roof removal on --- .../main/java/net/runelite/client/plugins/gpu/GpuPlugin.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java index 3a7d4e4acf..13d6aeeaec 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java @@ -1257,7 +1257,8 @@ public void drawTemp(Projection worldProjection, Scene scene, GameObject gameObj int zx = (gameObject.getX() >> 10) + offset; int zz = (gameObject.getY() >> 10) + offset; Zone zone = ctx.zones[zx][zz]; - zone.addTempAlphaModel(a.vao, start, end, gameObject.getPlane(), x & 1023, y - renderable.getModelHeight() /* to render players over locs */, z & 1023); + int plane = Math.min(ctx.maxLevel, gameObject.getPlane()); + zone.addTempAlphaModel(a.vao, start, end, plane, x & 1023, y - renderable.getModelHeight() /* to render players over locs */, z & 1023); } } else From ebe56b9a3b817476658981c46d7fad003daaf523 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 12 Dec 2025 10:48:34 -0500 Subject: [PATCH 05/18] gpu: update to rlawt 1.6 --- runelite-client/pom.xml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index 378194483e..ab5b051ff3 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -135,7 +135,7 @@ net.runelite rlawt - 1.5 + 1.6 @@ -149,6 +149,12 @@ natives-linux runtime + + org.lwjgl + lwjgl + natives-linux-arm64 + runtime + org.lwjgl lwjgl @@ -191,6 +197,12 @@ natives-linux runtime + + org.lwjgl + lwjgl-opengl + natives-linux-arm64 + runtime + org.lwjgl lwjgl-opengl From eaaffe255e98d33ef82fea0db3cdcbb4ff087966 Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 13 Dec 2025 16:23:41 -0500 Subject: [PATCH 06/18] devtools: show tile flags even on non valid tiles --- .../client/plugins/devtools/DevToolsOverlay.java | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java index d761da4147..ec426dab8f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsOverlay.java @@ -164,8 +164,6 @@ public Dimension render(Graphics2D graphics) private void renderTileFlags(WorldView wv, Graphics2D graphics) { - Scene scene = wv.getScene(); - Tile[][][] tiles = scene.getTiles(); byte[][][] settings = wv.getTileSettings(); int z = wv.getPlane(); @@ -173,13 +171,6 @@ private void renderTileFlags(WorldView wv, Graphics2D graphics) { for (int y = 0; y < Constants.SCENE_SIZE; ++y) { - Tile tile = tiles[z][x][y]; - - if (tile == null) - { - continue; - } - boolean isbridge = (settings[1][x][y] & Constants.TILE_FLAG_BRIDGE) != 0; int flag = settings[z][x][y]; boolean isvisbelow = (flag & Constants.TILE_FLAG_VIS_BELOW) != 0; @@ -203,7 +194,8 @@ private void renderTileFlags(WorldView wv, Graphics2D graphics) s += "R"; } - Point loc = Perspective.getCanvasTextLocation(client, graphics, tile.getLocalLocation(), s, z); + LocalPoint lp = new LocalPoint(x << Perspective.LOCAL_COORD_BITS, y << Perspective.LOCAL_COORD_BITS, wv); + Point loc = Perspective.getCanvasTextLocation(client, graphics, lp, s, z); if (loc == null) { continue; From b8ba3709884af3424a39150e2f9f7ff3a0e8e4b0 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 14 Dec 2025 13:32:38 -0500 Subject: [PATCH 07/18] hooks: try to submit player coords even when off thread --- .../main/java/net/runelite/client/callback/Hooks.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java b/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java index bf79e47f92..05fd1769b0 100644 --- a/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java +++ b/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java @@ -51,6 +51,8 @@ import net.runelite.api.Player; import net.runelite.api.Renderable; import net.runelite.api.Skill; +import net.runelite.api.WorldView; +import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.BeforeRender; import net.runelite.api.events.FakeXpDrop; @@ -643,12 +645,13 @@ public void error(String message, Throwable reason) } String coord = "unk"; - if (client.getClientThread() == Thread.currentThread()) + Player player = client.getLocalPlayer(); + if (player != null) { - Player player = client.getLocalPlayer(); - if (player != null) + LocalPoint lp = player.getLocalLocation(); + if (lp.getWorldView() == WorldView.TOPLEVEL || client.getClientThread() == Thread.currentThread()) { - WorldPoint p = WorldPoint.fromLocalInstance(client, player.getLocalLocation()); + WorldPoint p = WorldPoint.fromLocalInstance(client, lp); coord = String.format("%d_%d_%d_%d_%d", p.getPlane(), p.getX() / 64, p.getY() / 64, p.getX() & 63, p.getY() & 63); } } From 9cbcb9ed40929cb0a35ea6517b8f46963ea881ed Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 14 Dec 2025 13:34:51 -0500 Subject: [PATCH 08/18] gpu: handle double loadScene() This happens rarely if the map load is slow and also there are back to back map build packets. Reproduce via sleep(2000) in loadScene() and use Book of the dead to teleport to Hosidius and run to the ladder south. --- .../client/plugins/gpu/GpuPlugin.java | 34 ++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java index 13d6aeeaec..5a08fc3a64 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java @@ -1603,7 +1603,39 @@ public void loadScene(WorldView worldView, Scene scene) assert scene.getWorldViewId() == -1; if (nextZones != null) { - throw new RuntimeException("Double zone load!"); + log.debug("Double zone load!"); + // The previous scene load just gets dropped, this is uncommon and requires a back to back map build packet + // while having the first load take more than a full server cycle to complete + CountDownLatch latch = new CountDownLatch(1); + clientThread.invoke(() -> + { + for (int x = 0; x < NUM_ZONES; ++x) + { + for (int z = 0; z < NUM_ZONES; ++z) + { + Zone zone = nextZones[x][z]; + assert !zone.cull; + // anything initialized is a reused zone and so shouldn't be freed + if (!zone.initialized) + { + zone.unmap(); + zone.initialized = true; + zone.free(); + } + } + } + latch.countDown(); + }); + try + { + latch.await(); + } + catch (InterruptedException e) + { + throw new RuntimeException(e); + } + nextZones = null; + nextRoofChanges = null; } SceneContext ctx = root; From e59e3e1c3e388ee32a26de10234c0a6be53ec80b Mon Sep 17 00:00:00 2001 From: Cooper Morris Date: Tue, 16 Dec 2025 03:26:35 +0100 Subject: [PATCH 09/18] idlenotifier: Add creating fish offcuts (#19658) --- .../runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java | 1 + 1 file changed, 1 insertion(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java index 5e7115e3f2..bbfd172b26 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPlugin.java @@ -216,6 +216,7 @@ public void onAnimationChanged(AnimationChanged event) case AnimationID.HUMAN_FIRECOOKING: case AnimationID.HUMAN_COOKING: case AnimationID.HUMAN_MAKE_WINE: + case AnimationID.HUMAN_CUT_FOOD: /* Crafting(Gem Cutting, Glassblowing, Spinning, Weaving, Battlestaves, Pottery) */ case AnimationID.HUMAN_OPALCUTTING: case AnimationID.HUMAN_JADECUTTING: From c28554ec46a7fbc938b25836b159a96991ae7857 Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 16 Dec 2025 10:28:37 -0500 Subject: [PATCH 10/18] gpu: update rlawt to 1.7 --- runelite-client/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index ab5b051ff3..cf70fd20a0 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -135,7 +135,7 @@ net.runelite rlawt - 1.6 + 1.7 From db2ce6dc29d3bbcebce1c14dadec06ba9852284f Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Wed, 17 Dec 2025 11:33:11 +0000 Subject: [PATCH 11/18] Update Item variations to 2025-12-17-rev235 --- .../src/main/resources/item_variations.json | 126 ++++++++++++++---- 1 file changed, 99 insertions(+), 27 deletions(-) diff --git a/runelite-client/src/main/resources/item_variations.json b/runelite-client/src/main/resources/item_variations.json index 1272d49f1b..0c361932f2 100644 --- a/runelite-client/src/main/resources/item_variations.json +++ b/runelite-client/src/main/resources/item_variations.json @@ -13146,7 +13146,10 @@ 32638, 32657, 32699, - 32725 + 32725, + 32936, + 32964, + 32972 ], "crate of jewellery": [ 32441, @@ -13156,7 +13159,10 @@ 32642, 32660, 32682, - 32784 + 32784, + 32944, + 32969, + 32970 ], "crate of lead ore": [ 32442, @@ -13187,7 +13193,8 @@ 32646, 32703, 32773, - 32801 + 32801, + 32983 ], "crate of spears": [ 32447, @@ -13201,7 +13208,8 @@ 32613, 32693, 32764, - 32924 + 32924, + 32947 ], "crate of bananas": [ 32449, @@ -13230,7 +13238,23 @@ 32724, 32738, 32752, - 32760 + 32760, + 32937, + 32938, + 32939, + 32942, + 32958, + 32959, + 32961, + 32962, + 32973, + 32974, + 32976, + 32979, + 32980, + 32988, + 32989, + 32991 ], "crate of gold ore": [ 32453, @@ -13248,7 +13272,8 @@ 32626, 32647, 32665, - 32687 + 32687, + 32941 ], "crate of runes": [ 32459, @@ -13257,19 +13282,23 @@ 32688, 32731, 32756, - 32803 + 32803, + 32990, + 32994 ], "crate of sand": [ 32461, 32549, - 32605 + 32605, + 32940 ], "crate of silk": [ 32462, 32497, 32602, 32668, - 32718 + 32718, + 32975 ], "crate of spices": [ 32463, @@ -13278,7 +13307,8 @@ 32690, 32719, 32733, - 32776 + 32776, + 32943 ], "crate of bear meat": [ 32464, @@ -13310,7 +13340,8 @@ 32570, 32639, 32658, - 32782 + 32782, + 32960 ], "crate of machinery parts": [ 32473, @@ -13319,7 +13350,8 @@ "crate of rum": [ 32474, 32528, - 32774 + 32774, + 32997 ], "crate of sandstone": [ 32475, @@ -13352,15 +13384,21 @@ 32600, 32628 ], + "crate of bait": [ + 32483, + 32945 + ], "crate of coconuts": [ 32486, - 32678 + 32678, + 32946 ], "crate of javelins": [ 32491, 32538, 32754, - 32783 + 32783, + 32998 ], "crate of karambwans": [ 32493, @@ -13370,7 +13408,8 @@ 32494, 32510, 32772, - 32789 + 32789, + 32948 ], "crate of seeds": [ 32496, @@ -13379,7 +13418,8 @@ 32667, 32689, 32704, - 32804 + 32804, + 32981 ], "crate of astral runes": [ 32500, @@ -13391,7 +13431,9 @@ 32501, 32634, 32675, - 32710 + 32710, + 32967, + 32968 ], "crate of coral": [ 32502, @@ -13414,7 +13456,9 @@ 32702, 32716, 32729, - 32800 + 32800, + 32985, + 33000 ], "crate of ship parts": [ 32514, @@ -13423,7 +13467,8 @@ 32732, 32746, 32757, - 32807 + 32807, + 32996 ], "crate of staffs": [ 32516, @@ -13443,7 +13488,14 @@ 32557, 32575, 32692, - 32707 + 32707, + 32978, + 32982, + 32984 + ], + "crate of alpaca wool": [ + 32532, + 32952 ], "crate of fabrics": [ 32534, @@ -13452,7 +13504,8 @@ 32654, 32696, 32737, - 32759 + 32759, + 32954 ], "crate of granite": [ 32537, @@ -13468,7 +13521,12 @@ 32661, 32684, 32715, - 32798 + 32798, + 32949, + 32951, + 32956, + 32977, + 32986 ], "crate of mahogany logs": [ 32541, @@ -13482,7 +13540,14 @@ 32624, 32645, 32743, - 32755 + 32755, + 32950, + 32953, + 32955, + 32957, + 32966, + 32971, + 32992 ], "crate of warhammers": [ 32546, @@ -13537,11 +13602,16 @@ 32610, 32717, 32790, - 32802 + 32802, + 32963, + 32987, + 32999, + 33001 ], "crate of cocktails": [ 32590, - 32750 + 32750, + 32995 ], "crate of honey": [ 32594, @@ -13562,11 +13632,13 @@ ], "crate of swamp paste": [ 32630, - 32778 + 32778, + 32965 ], "crate of teak logs": [ 32671, - 32747 + 32747, + 32993 ], "crate of shields": [ 32705, From e4fc88a78dc7a65a3b3dc457dc3a3a57a72d6b56 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Wed, 17 Dec 2025 11:33:13 +0000 Subject: [PATCH 12/18] Update Legacy ID classes to 2025-12-17-rev235 --- .../main/java/net/runelite/api/ItemID.java | 76 +++++++++++++++++-- .../java/net/runelite/api/NullObjectID.java | 2 + .../main/java/net/runelite/api/ObjectID.java | 1 + 3 files changed, 74 insertions(+), 5 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 faefdfeb64..73755e894a 100644 --- a/runelite-api/src/main/java/net/runelite/api/ItemID.java +++ b/runelite-api/src/main/java/net/runelite/api/ItemID.java @@ -5615,10 +5615,10 @@ public final class ItemID public static final int BLACK_MASK_1 = 8919; public static final int BLACK_MASK = 8921; public static final int WITCHWOOD_ICON = 8923; - public static final int BANDANA_EYEPATCH = 8924; - public static final int BANDANA_EYEPATCH_8925 = 8925; - public static final int BANDANA_EYEPATCH_8926 = 8926; - public static final int BANDANA_EYEPATCH_8927 = 8927; + public static final int BANDANA_EYEPATCH_WHITE = 8924; + public static final int BANDANA_EYEPATCH_RED = 8925; + public static final int BANDANA_EYEPATCH_BLUE = 8926; + public static final int BANDANA_EYEPATCH_BROWN = 8927; public static final int HAT_EYEPATCH = 8928; public static final int CRABCLAW_HOOK = 8929; public static final int PIPE_SECTION = 8930; @@ -15550,7 +15550,7 @@ public final class ItemID public static final int SMALL_KEY_THE_PANDEMONIUM = 32411; public static final int SMALL_KEY_THE_ONYX_CREST = 32412; public static final int SMALL_KEY_TEAR_OF_THE_SOUL = 32413; - public static final int SMALL_KEY_YNSDAIL = 32414; + public static final int SMALL_KEY_YNYSDAIL = 32414; public static final int SMALL_KEY_MINOTAURS_REST = 32415; public static final int SMALL_KEY_BUCCANEERS_HAVEN = 32416; public static final int SMALL_KEY_ISLE_OF_BONES = 32417; @@ -16026,5 +16026,71 @@ public final class ItemID public static final int BEER_BELLY_SWEATER = 32930; public static final int JAD_JUMPER = 32932; public static final int CHRISTMAS_DINNER = 32934; + public static final int CRATE_OF_FURS_32936 = 32936; + public static final int CRATE_OF_FISH_32937 = 32937; + public static final int CRATE_OF_FISH_32938 = 32938; + public static final int CRATE_OF_FISH_32939 = 32939; + public static final int CRATE_OF_SAND_32940 = 32940; + public static final int CRATE_OF_RED_CORAL_32941 = 32941; + public static final int CRATE_OF_FISH_32942 = 32942; + public static final int CRATE_OF_SPICES_32943 = 32943; + public static final int CRATE_OF_JEWELLERY_32944 = 32944; + public static final int CRATE_OF_BAIT_32945 = 32945; + public static final int CRATE_OF_COCONUTS_32946 = 32946; + public static final int CRATE_OF_ARROWTIPS_32947 = 32947; + public static final int CRATE_OF_PINEAPPLES_32948 = 32948; + public static final int CRATE_OF_LOGS_32949 = 32949; + public static final int CRATE_OF_PLANKS_32950 = 32950; + public static final int CRATE_OF_LOGS_32951 = 32951; + public static final int CRATE_OF_ALPACA_WOOL_32952 = 32952; + public static final int CRATE_OF_PLANKS_32953 = 32953; + public static final int CRATE_OF_FABRICS_32954 = 32954; + public static final int CRATE_OF_PLANKS_32955 = 32955; + public static final int CRATE_OF_LOGS_32956 = 32956; + public static final int CRATE_OF_PLANKS_32957 = 32957; + public static final int CRATE_OF_FISH_32958 = 32958; + public static final int CRATE_OF_FISH_32959 = 32959; + public static final int CRATE_OF_GEMS_32960 = 32960; + public static final int CRATE_OF_FISH_32961 = 32961; + public static final int CRATE_OF_FISH_32962 = 32962; + public static final int CRATE_OF_POTIONS_32963 = 32963; + public static final int CRATE_OF_FURS_32964 = 32964; + public static final int CRATE_OF_SWAMP_PASTE_32965 = 32965; + public static final int CRATE_OF_PLANKS_32966 = 32966; + public static final int CRATE_OF_BOOKS_32967 = 32967; + public static final int CRATE_OF_BOOKS_32968 = 32968; + public static final int CRATE_OF_JEWELLERY_32969 = 32969; + public static final int CRATE_OF_JEWELLERY_32970 = 32970; + public static final int CRATE_OF_PLANKS_32971 = 32971; + public static final int CRATE_OF_FURS_32972 = 32972; + public static final int CRATE_OF_FISH_32973 = 32973; + public static final int CRATE_OF_FISH_32974 = 32974; + public static final int CRATE_OF_SILK_32975 = 32975; + public static final int CRATE_OF_FISH_32976 = 32976; + public static final int CRATE_OF_LOGS_32977 = 32977; + public static final int CRATE_OF_SWORDS_32978 = 32978; + public static final int CRATE_OF_FISH_32979 = 32979; + public static final int CRATE_OF_FISH_32980 = 32980; + public static final int CRATE_OF_SEEDS_32981 = 32981; + public static final int CRATE_OF_SWORDS_32982 = 32982; + public static final int CRATE_OF_PLATEBODIES_32983 = 32983; + public static final int CRATE_OF_SWORDS_32984 = 32984; + public static final int CRATE_OF_ORES_32985 = 32985; + public static final int CRATE_OF_LOGS_32986 = 32986; + public static final int CRATE_OF_POTIONS_32987 = 32987; + public static final int CRATE_OF_FISH_32988 = 32988; + public static final int CRATE_OF_FISH_32989 = 32989; + public static final int CRATE_OF_RUNES_32990 = 32990; + public static final int CRATE_OF_FISH_32991 = 32991; + public static final int CRATE_OF_PLANKS_32992 = 32992; + public static final int CRATE_OF_TEAK_LOGS_32993 = 32993; + public static final int CRATE_OF_RUNES_32994 = 32994; + public static final int CRATE_OF_COCKTAILS_32995 = 32995; + public static final int CRATE_OF_SHIP_PARTS_32996 = 32996; + public static final int CRATE_OF_RUM_32997 = 32997; + public static final int CRATE_OF_JAVELINS_32998 = 32998; + public static final int CRATE_OF_POTIONS_32999 = 32999; + public static final int CRATE_OF_ORES_33000 = 33000; + public static final int CRATE_OF_POTIONS_33001 = 33001; /* 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 fd6446485d..55332a7e70 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java @@ -31298,5 +31298,7 @@ public final class NullObjectID public static final int NULL_60606 = 60606; public static final int NULL_60607 = 60607; public static final int NULL_60615 = 60615; + public static final int NULL_60617 = 60617; + public static final int NULL_60618 = 60618; /* 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 229454862d..8cb6878b4c 100644 --- a/runelite-api/src/main/java/net/runelite/api/ObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/ObjectID.java @@ -29312,5 +29312,6 @@ public final class ObjectID public static final int CRATE_60613 = 60613; public static final int CRATE_60614 = 60614; public static final int SNOWBALL_PILE_60616 = 60616; + public static final int SHELLBANE_GRYPHON_DISPLAY = 60619; /* This file is automatically generated. Do not edit. */ } From 24f61f9101b337b921d6ff3f3e834d6d28cd3f17 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Wed, 17 Dec 2025 11:33:36 +0000 Subject: [PATCH 13/18] Update GameVals to 2025-12-17-rev235 --- .../net/runelite/api/gameval/DBTableID.java | 66 +++- .../net/runelite/api/gameval/InterfaceID.java | 232 ++++++------ .../java/net/runelite/api/gameval/ItemID.java | 340 +++++++++++++++++- .../net/runelite/api/gameval/ObjectID1.java | 7 + .../net/runelite/api/gameval/SpriteID.java | 7 + .../net/runelite/api/gameval/VarPlayerID.java | 2 + .../net/runelite/api/gameval/VarbitID.java | 6 + 7 files changed, 513 insertions(+), 147 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/DBTableID.java b/runelite-api/src/main/java/net/runelite/api/gameval/DBTableID.java index e9747857fc..14d81d5e9d 100644 --- a/runelite-api/src/main/java/net/runelite/api/gameval/DBTableID.java +++ b/runelite-api/src/main/java/net/runelite/api/gameval/DBTableID.java @@ -12871,62 +12871,67 @@ public static final class SailingBoatFacilityStats /** * integer */ - public static final int COL_BOAT_BASESPEED = 23; + public static final int COL_BOAT_CRYSTALHELM_RESISTANCE = 23; /** * integer */ - public static final int COL_BOAT_SPEEDCAP = 24; + public static final int COL_BOAT_BASESPEED = 24; /** * integer */ - public static final int COL_BOAT_ACCELERATION = 25; + public static final int COL_BOAT_SPEEDCAP = 25; /** * integer */ - public static final int COL_BOAT_SPEEDBOOST_DURATION = 26; + public static final int COL_BOAT_ACCELERATION = 26; /** * integer */ - public static final int COL_BOAT_CARGOHOLD_SIZE = 27; + public static final int COL_BOAT_SPEEDBOOST_DURATION = 27; /** * integer */ - public static final int COL_BOAT_CARGOHOLD_SIZE_UIM = 28; + public static final int COL_BOAT_CARGOHOLD_SIZE = 28; /** * integer */ - public static final int COL_BOAT_FETID_WATER_RESISTANT = 29; + public static final int COL_BOAT_CARGOHOLD_SIZE_UIM = 29; /** * integer */ - public static final int COL_BOAT_CRYSTAL_FLECKED_RESISTANT = 30; + public static final int COL_BOAT_FETID_WATER_RESISTANT = 30; /** * integer */ - public static final int COL_BOAT_TANGLED_KELP_RESISTANT = 31; + public static final int COL_BOAT_CRYSTAL_FLECKED_RESISTANT = 31; /** * integer */ - public static final int COL_BOAT_ICY_SEAS_RESISTANT = 32; + public static final int COL_BOAT_TANGLED_KELP_RESISTANT = 32; /** * integer */ - public static final int COL_BOAT_MAX_WIND_MOTES = 33; + public static final int COL_BOAT_ICY_SEAS_RESISTANT = 33; /** * integer */ - public static final int COL_BOAT_ADDITIONAL_RECOVERY_COST_PERCENTAGE = 34; + public static final int COL_BOAT_MAX_WIND_MOTES = 34; + + /** + * integer + */ + public static final int COL_BOAT_ADDITIONAL_RECOVERY_COST_PERCENTAGE = 35; public static final class Row { @@ -15885,5 +15890,42 @@ public static final class Row public static final int CHARTERING_COSTS = 9454; } } + + public static final class PatchyData + { + public static final int ID = 208; + + /** + * integer + */ + public static final int COL_ID = 0; + + /** + * namedobj + */ + public static final int COL_COMBINED = 1; + + /** + * (namedobj, namedobj) + */ + public static final int COL_INGREDIENTS = 2; + + public static final class Row + { + public static final int PATCHY_DATA_BIG_HAT_EYEPATCH = 4970; + public static final int PATCHY_DATA_SMALL_HAT_EYEPATCH = 5121; + public static final int PATCHY_DATA_BANDANA_EYEPATCH_BLUE = 5122; + public static final int PATCHY_DATA_BANDANA_EYEPATCH_BROWN = 7052; + public static final int PATCHY_DATA_BANDANA_EYEPATCH_RED = 7067; + public static final int PATCHY_DATA_BANDANA_EYEPATCH_WHITE = 9455; + public static final int PATCHY_DATA_HAT_CAVALIER_MASK = 9456; + public static final int PATCHY_DATA_DOUBLE_EYE_PATCH = 9457; + public static final int PATCHY_DATA_HAT_BERRET_MIME_MASK = 9458; + public static final int PATCHY_DATA_WOM_HEAD = 9459; + public static final int PATCHY_DATA_TOPHAT_MONACLE = 9460; + public static final int PATCHY_DATA_CRABCLAW_HOOK = 9461; + public static final int PATCHY_DATA_DARK_FLIPPERS = 9462; + } + } /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/InterfaceID.java b/runelite-api/src/main/java/net/runelite/api/gameval/InterfaceID.java index e7569c168b..3b9c8e13d7 100644 --- a/runelite-api/src/main/java/net/runelite/api/gameval/InterfaceID.java +++ b/runelite-api/src/main/java/net/runelite/api/gameval/InterfaceID.java @@ -423,7 +423,6 @@ public final class InterfaceID public static final int CANOEING = 416; public static final int BREW_TOOLS = 417; public static final int BREW_WAITING_ROOM_OVERLAY = 418; - public static final int PATCHY_INTERFACE = 419; public static final int BEEHIVE = 420; public static final int PVP_ARENA_STAGINGAREA_SHARELOADOUT = 421; public static final int POH_VIEWER = 422; @@ -950,6 +949,8 @@ public final class InterfaceID public static final int SAILING_BOAT_CARGOHOLD = 943; public static final int SAILING_BOAT_CARGOHOLD_SIDE = 944; public static final int REUSABLE_FLOATER = 945; + public static final int PATCHY = 946; + public static final int MENU_NEW = 947; public static final class _100GuideEggsOverlay { @@ -1429,77 +1430,76 @@ public static final class Bankside public static final int RUNEPOUCH_FRAME_GRAPHIC0 = 0x000f_0018; public static final int RUNEPOUCH_CONTENTS = 0x000f_0019; public static final int RUNEPOUCH_TOP = 0x000f_001a; - public static final int RUNEPOUCH_CONTENTS_TEXT1 = 0x000f_001b; - public static final int RUNEPOUCH_LOAD_A = 0x000f_001c; - public static final int RUNEPOUCH_LOAD_B = 0x000f_001d; - public static final int RUNEPOUCH_LOAD_C = 0x000f_001e; - public static final int RUNEPOUCH_LOAD_D = 0x000f_001f; - public static final int RUNEPOUCH_LOADOUT_SCROLLBAR = 0x000f_0020; - public static final int RUNEPOUCH_LOADOUT_CONTAINER = 0x000f_0021; - public static final int RUNEPOUCH_LOADOUT_A = 0x000f_0022; - public static final int RUNEPOUCH_NAME_A = 0x000f_0023; - public static final int RUNEPOUCH_SELECT_CONTAINER = 0x000f_0024; - public static final int RUNEPOUCH_NAME_SELECT_CONTAINER = 0x000f_0025; - public static final int RUNEPOUCH_LOADOUT_B = 0x000f_0026; - public static final int RUNEPOUCH_NAME_B = 0x000f_0027; - public static final int RUNEPOUCH_SELECT_CONTAINER_GRAPHIC0 = 0x000f_0028; - public static final int RUNEPOUCH_LOADOUT_C = 0x000f_0029; - public static final int RUNEPOUCH_NAME_C = 0x000f_002a; - public static final int RUNEPOUCH_SELECT_LIST = 0x000f_002b; - public static final int RUNEPOUCH_LOADOUT_D = 0x000f_002c; - public static final int RUNEPOUCH_NAME_D = 0x000f_002d; - public static final int RUNEPOUCH_LOADOUT_E = 0x000f_002e; - public static final int RUNEPOUCH_NAME_E = 0x000f_002f; - public static final int RUNEPOUCH_LOADOUT_F = 0x000f_0030; - public static final int RUNEPOUCH_NAME_F = 0x000f_0031; - public static final int RUNEPOUCH_LOADOUT_G = 0x000f_0032; - public static final int RUNEPOUCH_NAME_G = 0x000f_0033; - public static final int RUNEPOUCH_LOADOUT_H = 0x000f_0034; - public static final int RUNEPOUCH_NAME_H = 0x000f_0035; - public static final int RUNEPOUCH_LOADOUT_I = 0x000f_0036; - public static final int RUNEPOUCH_NAME_I = 0x000f_0037; - public static final int RUNEPOUCH_LOADOUT_J = 0x000f_0038; - public static final int RUNEPOUCH_NAME_J = 0x000f_0039; - public static final int RUNEPOUCH_SELECT_SCROLLBAR = 0x000f_003a; - public static final int BANKSIDE_HIGHLIGHT = 0x000f_003b; - public static final int PREPOT_DEVICE_CONTAINER = 0x000f_003c; - public static final int PREPOT_DEVICE_BANKALL = 0x000f_003d; - public static final int PREPOT_DEVICE_FILL = 0x000f_003e; - public static final int PREPOT_DEVICE_CONTAINER_TEXT2 = 0x000f_003f; - public static final int PREPOT_DEVICE_DISMISS = 0x000f_0040; - public static final int PREPOT_DEVICE_FRAME = 0x000f_0041; - public static final int PREPOT_DEVICE_FRAME_GRAPHIC0 = 0x000f_0042; - public static final int PREPOT_DEVICE_CONTENTS_CONTAINER = 0x000f_0043; - public static final int PREPOT_DEVICE_CONTENTS_BG = 0x000f_0044; - public static final int PREPOT_DEVICE_CONTENTS = 0x000f_0045; - public static final int PREPOT_DEVICE_CONTENTS_CONTAINER_TEXT2 = 0x000f_0046; - public static final int PREPOT_DEVICE_LOADOUTS_SCROLLBAR = 0x000f_0047; - public static final int PREPOT_DEVICE_LOADOUTS = 0x000f_0048; - public static final int PREPOT_DEVICE_LOADOUT_0 = 0x000f_0049; - public static final int PREPOT_DEVICE_LOADOUT_1 = 0x000f_004a; - public static final int PREPOT_DEVICE_LOADOUT_2 = 0x000f_004b; - public static final int PREPOT_DEVICE_LOADOUT_3 = 0x000f_004c; - public static final int PREPOT_DEVICE_LOADOUT_1_LOAD = 0x000f_004d; - public static final int PREPOT_DEVICE_LOADOUT_1_SAVE = 0x000f_004e; - public static final int PREPOT_DEVICE_LOADOUT_1_CONTENTS = 0x000f_004f; - public static final int PREPOT_DEVICE_LOADOUT_2_LOAD = 0x000f_0050; - public static final int PREPOT_DEVICE_LOADOUT_2_SAVE = 0x000f_0051; - public static final int PREPOT_DEVICE_LOADOUT_2_CONTENTS = 0x000f_0052; - public static final int PREPOT_DEVICE_LOADOUT_3_LOAD = 0x000f_0053; - public static final int PREPOT_DEVICE_LOADOUT_3_SAVE = 0x000f_0054; - public static final int PREPOT_DEVICE_LOADOUT_3_CONTENTS = 0x000f_0055; - public static final int PREPOT_DEVICE_LOADOUT_0_LOAD = 0x000f_0056; - public static final int PREPOT_DEVICE_LOADOUT_0_SAVE = 0x000f_0057; - public static final int PREPOT_DEVICE_LOADOUT_0_CONTENTS = 0x000f_0058; - public static final int RUNEPOUCH_LOAD_E = 0x000f_0059; - public static final int RUNEPOUCH_LOAD_F = 0x000f_005a; - public static final int RUNEPOUCH_LOAD_G = 0x000f_005b; - public static final int RUNEPOUCH_LOAD_H = 0x000f_005c; - public static final int RUNEPOUCH_LOAD_I = 0x000f_005d; - public static final int RUNEPOUCH_LOAD_J = 0x000f_005e; - public static final int RUNEPOUCH_NAME_SELECT_CONTAINER_GRAPHIC0 = 0x000f_005f; - public static final int RUNEPOUCH_NAME_SELECT_LIST = 0x000f_0060; - public static final int RUNEPOUCH_NAME_SELECT_SCROLLBAR = 0x000f_0061; + public static final int RUNEPOUCH_LOAD_A = 0x000f_001b; + public static final int RUNEPOUCH_LOAD_B = 0x000f_001c; + public static final int RUNEPOUCH_LOAD_C = 0x000f_001d; + public static final int RUNEPOUCH_LOAD_D = 0x000f_001e; + public static final int RUNEPOUCH_LOADOUT_SCROLLBAR = 0x000f_001f; + public static final int RUNEPOUCH_LOADOUT_CONTAINER = 0x000f_0020; + public static final int RUNEPOUCH_LOADOUT_A = 0x000f_0021; + public static final int RUNEPOUCH_NAME_A = 0x000f_0022; + public static final int RUNEPOUCH_SELECT_CONTAINER = 0x000f_0023; + public static final int RUNEPOUCH_NAME_SELECT_CONTAINER = 0x000f_0024; + public static final int RUNEPOUCH_LOADOUT_B = 0x000f_0025; + public static final int RUNEPOUCH_NAME_B = 0x000f_0026; + public static final int RUNEPOUCH_SELECT_CONTAINER_GRAPHIC0 = 0x000f_0027; + public static final int RUNEPOUCH_LOADOUT_C = 0x000f_0028; + public static final int RUNEPOUCH_NAME_C = 0x000f_0029; + public static final int RUNEPOUCH_SELECT_LIST = 0x000f_002a; + public static final int RUNEPOUCH_LOADOUT_D = 0x000f_002b; + public static final int RUNEPOUCH_NAME_D = 0x000f_002c; + public static final int RUNEPOUCH_LOADOUT_E = 0x000f_002d; + public static final int RUNEPOUCH_NAME_E = 0x000f_002e; + public static final int RUNEPOUCH_LOADOUT_F = 0x000f_002f; + public static final int RUNEPOUCH_NAME_F = 0x000f_0030; + public static final int RUNEPOUCH_LOADOUT_G = 0x000f_0031; + public static final int RUNEPOUCH_NAME_G = 0x000f_0032; + public static final int RUNEPOUCH_LOADOUT_H = 0x000f_0033; + public static final int RUNEPOUCH_NAME_H = 0x000f_0034; + public static final int RUNEPOUCH_LOADOUT_I = 0x000f_0035; + public static final int RUNEPOUCH_NAME_I = 0x000f_0036; + public static final int RUNEPOUCH_LOADOUT_J = 0x000f_0037; + public static final int RUNEPOUCH_NAME_J = 0x000f_0038; + public static final int RUNEPOUCH_SELECT_SCROLLBAR = 0x000f_0039; + public static final int BANKSIDE_HIGHLIGHT = 0x000f_003a; + public static final int PREPOT_DEVICE_CONTAINER = 0x000f_003b; + public static final int PREPOT_DEVICE_BANKALL = 0x000f_003c; + public static final int PREPOT_DEVICE_FILL = 0x000f_003d; + public static final int PREPOT_DEVICE_CONTAINER_TEXT2 = 0x000f_003e; + public static final int PREPOT_DEVICE_DISMISS = 0x000f_003f; + public static final int PREPOT_DEVICE_FRAME = 0x000f_0040; + public static final int PREPOT_DEVICE_FRAME_GRAPHIC0 = 0x000f_0041; + public static final int PREPOT_DEVICE_CONTENTS_CONTAINER = 0x000f_0042; + public static final int PREPOT_DEVICE_CONTENTS_BG = 0x000f_0043; + public static final int PREPOT_DEVICE_CONTENTS = 0x000f_0044; + public static final int PREPOT_DEVICE_CONTENTS_CONTAINER_TEXT2 = 0x000f_0045; + public static final int PREPOT_DEVICE_LOADOUTS_SCROLLBAR = 0x000f_0046; + public static final int PREPOT_DEVICE_LOADOUTS = 0x000f_0047; + public static final int PREPOT_DEVICE_LOADOUT_0 = 0x000f_0048; + public static final int PREPOT_DEVICE_LOADOUT_1 = 0x000f_0049; + public static final int PREPOT_DEVICE_LOADOUT_2 = 0x000f_004a; + public static final int PREPOT_DEVICE_LOADOUT_3 = 0x000f_004b; + public static final int PREPOT_DEVICE_LOADOUT_1_LOAD = 0x000f_004c; + public static final int PREPOT_DEVICE_LOADOUT_1_SAVE = 0x000f_004d; + public static final int PREPOT_DEVICE_LOADOUT_1_CONTENTS = 0x000f_004e; + public static final int PREPOT_DEVICE_LOADOUT_2_LOAD = 0x000f_004f; + public static final int PREPOT_DEVICE_LOADOUT_2_SAVE = 0x000f_0050; + public static final int PREPOT_DEVICE_LOADOUT_2_CONTENTS = 0x000f_0051; + public static final int PREPOT_DEVICE_LOADOUT_3_LOAD = 0x000f_0052; + public static final int PREPOT_DEVICE_LOADOUT_3_SAVE = 0x000f_0053; + public static final int PREPOT_DEVICE_LOADOUT_3_CONTENTS = 0x000f_0054; + public static final int PREPOT_DEVICE_LOADOUT_0_LOAD = 0x000f_0055; + public static final int PREPOT_DEVICE_LOADOUT_0_SAVE = 0x000f_0056; + public static final int PREPOT_DEVICE_LOADOUT_0_CONTENTS = 0x000f_0057; + public static final int RUNEPOUCH_LOAD_E = 0x000f_0058; + public static final int RUNEPOUCH_LOAD_F = 0x000f_0059; + public static final int RUNEPOUCH_LOAD_G = 0x000f_005a; + public static final int RUNEPOUCH_LOAD_H = 0x000f_005b; + public static final int RUNEPOUCH_LOAD_I = 0x000f_005c; + public static final int RUNEPOUCH_LOAD_J = 0x000f_005d; + public static final int RUNEPOUCH_NAME_SELECT_CONTAINER_GRAPHIC0 = 0x000f_005e; + public static final int RUNEPOUCH_NAME_SELECT_LIST = 0x000f_005f; + public static final int RUNEPOUCH_NAME_SELECT_SCROLLBAR = 0x000f_0060; } public static final class Oculus @@ -15818,64 +15818,6 @@ public static final class BrewWaitingRoomOverlay public static final int CONTENTS_TEXT4 = 0x01a2_0007; } - public static final class PatchyInterface - { - public static final int PATCHY_SCROLL = 0x01a3_0000; - public static final int UNIVERSE_PAGE_1 = 0x01a3_0001; - public static final int PATCHY_FIRST_PAGE = 0x01a3_0002; - public static final int UNIVERSE_PAGE_2 = 0x01a3_0003; - public static final int PATCHY_PUNCHLINE_1 = 0x01a3_0004; - public static final int PARTYHAT_LAYER = 0x01a3_0005; - public static final int WOM_HEAD = 0x01a3_0006; - public static final int PHAT_BUTTON = 0x01a3_0007; - public static final int TOPHAT_LAYER = 0x01a3_0008; - public static final int TOPHAT_MONACLE = 0x01a3_0009; - public static final int TOPHAT_BUTTON = 0x01a3_000a; - public static final int PIRATEHAT_LAYER = 0x01a3_000b; - public static final int PIRATEHAT_PATCH = 0x01a3_000c; - public static final int PIRATEHAT_PATCH_1 = 0x01a3_000d; - public static final int PIRATEHAT_BUTTON = 0x01a3_000e; - public static final int DOUBLE_EYEPATCH_LAYER = 0x01a3_000f; - public static final int DARK_FLIPPERS_LAYER = 0x01a3_0010; - public static final int DARK_FLIPPERS = 0x01a3_0011; - public static final int DARK_FLIPPERS_BUTTON = 0x01a3_0012; - public static final int DOUBLE_EYE_PATCH = 0x01a3_0013; - public static final int DOUBLE_EYEPATCH_BUTTON = 0x01a3_0014; - public static final int PATCHY_PUNCHLINE = 0x01a3_0015; - public static final int BANDANA_LAYER = 0x01a3_0016; - public static final int BANDANA_RED_LAYER = 0x01a3_0017; - public static final int BANDANA_BLUE_LAYER = 0x01a3_0018; - public static final int BANDANA_BROWN_LAYER = 0x01a3_0019; - public static final int HAT_LAYER = 0x01a3_001a; - public static final int CLAW_LAYER = 0x01a3_001b; - public static final int CAVALIER_LAYER = 0x01a3_001c; - public static final int BARRET_LAYER = 0x01a3_001d; - public static final int PATCHY_BANDANA_RED = 0x01a3_001e; - public static final int PATCHY_BANDANA_WHITE = 0x01a3_001f; - public static final int PATCHY_BANDANA_BLUE = 0x01a3_0020; - public static final int PATCHY_BANDANA_BROWN = 0x01a3_0021; - public static final int PATCHY_HAT = 0x01a3_0022; - public static final int PATCHY_HOOK_CLAW = 0x01a3_0023; - public static final int PATCHY_CAVALIER_BLACK = 0x01a3_0024; - public static final int PATCHY_BARRET_BLACK = 0x01a3_0025; - public static final int BANDANA_BLUE_BUTTON = 0x01a3_0026; - public static final int BANDANA_BROWN_BUTTON = 0x01a3_0027; - public static final int HAT_BUTTON = 0x01a3_0028; - public static final int CLAW_BUTTON = 0x01a3_0029; - public static final int BANDANA_RED_BUTTON = 0x01a3_002a; - public static final int BANDANA_BUTTON = 0x01a3_002b; - public static final int CAVALIER_BUTTON = 0x01a3_002c; - public static final int BARRET_BUTTON = 0x01a3_002d; - public static final int BANDANA_RECT_WHITE = 0x01a3_002e; - public static final int BANDANA_RECT_RED = 0x01a3_002f; - public static final int BANDANA_RECT_BLUE = 0x01a3_0030; - public static final int BANDANA_RECT_BROWN = 0x01a3_0031; - public static final int HAT_RECT = 0x01a3_0032; - public static final int HOOK_RECT = 0x01a3_0033; - public static final int PATCHY_CLOSE = 0x01a3_0034; - public static final int PATCHY_NEXT_PAGE = 0x01a3_0035; - } - public static final class Beehive { public static final int UNIVERSE = 0x01a4_0000; @@ -30784,5 +30726,35 @@ public static final class ReusableFloater { public static final int UNIVERSE = 0x03b1_0000; } + + public static final class Patchy + { + public static final int UNIVERSE = 0x03b2_0000; + public static final int UNIVERSE_MODEL0 = 0x03b2_0001; + public static final int UNIVERSE_GRAPHIC1 = 0x03b2_0002; + public static final int CONTENTS = 0x03b2_0003; + public static final int LIST = 0x03b2_0004; + public static final int INFO_CONTAINER = 0x03b2_0005; + public static final int INFO_CONTAINER_GRAPHIC0 = 0x03b2_0006; + public static final int INFO_CONTENTS = 0x03b2_0007; + public static final int CONFIRM = 0x03b2_0008; + public static final int CONFIRM_GRAPHIC0 = 0x03b2_0009; + public static final int SCROLLBAR = 0x03b2_000a; + } + + public static final class MenuNew + { + public static final int INFINITE = 0x03b3_0000; + public static final int UNIVERSE = 0x03b3_0001; + public static final int FRAME = 0x03b3_0002; + public static final int TITLE = 0x03b3_0003; + public static final int CONTENT_FRAME = 0x03b3_0004; + public static final int CONTENT = 0x03b3_0005; + public static final int KEYLISTENERS = 0x03b3_0006; + public static final int CONTENT_SCROLL = 0x03b3_0007; + public static final int GRAPHICS = 0x03b3_0008; + public static final int TEXT = 0x03b3_0009; + public static final int SCROLLBAR = 0x03b3_000a; + } /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/ItemID.java b/runelite-api/src/main/java/net/runelite/api/gameval/ItemID.java index 4876a4e9b8..4f46003755 100644 --- a/runelite-api/src/main/java/net/runelite/api/gameval/ItemID.java +++ b/runelite-api/src/main/java/net/runelite/api/gameval/ItemID.java @@ -29608,22 +29608,22 @@ public final class ItemID public static final int WITCHWOOD_ICON = 8923; /** - * Bandana eyepatch + * Bandana eyepatch (white) */ public static final int PIRATE_BANDANA_EYEPATCH = 8924; /** - * Bandana eyepatch + * Bandana eyepatch (red) */ public static final int PIRATE_BANDANA_EYEPATCH_RED = 8925; /** - * Bandana eyepatch + * Bandana eyepatch (blue) */ public static final int PIRATE_BANDANA_EYEPATCH_BLUE = 8926; /** - * Bandana eyepatch + * Bandana eyepatch (brown) */ public static final int PIRATE_BANDANA_EYEPATCH_BROWN = 8927; @@ -83698,7 +83698,7 @@ public final class ItemID public static final int LOST_SCHEMATIC_KEY_BUCCANEERS = 32413; /** - * Small key (ynsdail) + * Small key (ynysdail) */ public static final int LOST_SCHEMATIC_KEY_LLEDRITH = 32414; @@ -86091,6 +86091,336 @@ public final class ItemID */ public static final int XMAS25_CHRISTMAS_DINNER = 32934; + /** + * Crate of furs + */ + public static final int CARGO_CRATE_FURS_ALDARIN_1 = 32936; + + /** + * Crate of fish + */ + public static final int CARGO_CRATE_FISH_ARDOUGNE_1 = 32937; + + /** + * Crate of fish + */ + public static final int CARGO_CRATE_FISH_ARDOUGNE_2 = 32938; + + /** + * Crate of fish + */ + public static final int CARGO_CRATE_FISH_ARDOUGNE_3 = 32939; + + /** + * Crate of sand + */ + public static final int CARGO_CRATE_SAND_ARDOUGNE_1 = 32940; + + /** + * Crate of red coral + */ + public static final int CARGO_CRATE_RED_CORAL_ARDOUGNE_1 = 32941; + + /** + * Crate of fish + */ + public static final int CARGO_CRATE_FISH_BRIMHAVEN_1 = 32942; + + /** + * Crate of spices + */ + public static final int CARGO_CRATE_SPICES_BRIMHAVEN_1 = 32943; + + /** + * Crate of jewellery + */ + public static final int CARGO_CRATE_JEWELLERY_BRIMHAVEN_1 = 32944; + + /** + * Crate of bait + */ + public static final int CARGO_CRATE_BAIT_CATHERBY_1 = 32945; + + /** + * Crate of coconuts + */ + public static final int CARGO_CRATE_COCONUTS_CATHERBY_1 = 32946; + + /** + * Crate of arrowtips + */ + public static final int CARGO_CRATE_ARROWTIPS_CATHERBY_1 = 32947; + + /** + * Crate of pineapples + */ + public static final int CARGO_CRATE_PINEAPPLES_CIVITAS_ILLA_FORTIS_1 = 32948; + + /** + * Crate of logs + */ + public static final int CARGO_CRATE_LOGS_DEEPFIN_POINT_1 = 32949; + + /** + * Crate of planks + */ + public static final int CARGO_CRATE_PLANKS_DEEPFIN_POINT_1 = 32950; + + /** + * Crate of logs + */ + public static final int CARGO_CRATE_LOGS_DEEPFIN_POINT_2 = 32951; + + /** + * Crate of alpaca wool + */ + public static final int CARGO_CRATE_ALPACA_WOOL_DEEPFIN_POINT_1 = 32952; + + /** + * Crate of planks + */ + public static final int CARGO_CRATE_PLANKS_DEEPFIN_POINT_2 = 32953; + + /** + * Crate of fabrics + */ + public static final int CARGO_CRATE_FABRICS_DEEPFIN_POINT_1 = 32954; + + /** + * Crate of planks + */ + public static final int CARGO_CRATE_PLANKS_DEEPFIN_POINT_3 = 32955; + + /** + * Crate of logs + */ + public static final int CARGO_CRATE_LOGS_DEEPFIN_POINT_3 = 32956; + + /** + * Crate of planks + */ + public static final int CARGO_CRATE_PLANKS_DEEPFIN_POINT_4 = 32957; + + /** + * Crate of fish + */ + public static final int CARGO_CRATE_FISH_LANDS_END_1 = 32958; + + /** + * Crate of fish + */ + public static final int CARGO_CRATE_FISH_LANDS_END_2 = 32959; + + /** + * Crate of gems + */ + public static final int CARGO_CRATE_GEMS_LANDS_END_1 = 32960; + + /** + * Crate of fish + */ + public static final int CARGO_CRATE_FISH_LUNAR_ISLE_1 = 32961; + + /** + * Crate of fish + */ + public static final int CARGO_CRATE_FISH_LUNAR_ISLE_2 = 32962; + + /** + * Crate of potions + */ + public static final int CARGO_CRATE_POTIONS_LUNAR_ISLE_1 = 32963; + + /** + * Crate of furs + */ + public static final int CARGO_CRATE_FURS_PISCATORIS_1 = 32964; + + /** + * Crate of swamp paste + */ + public static final int CARGO_CRATE_SWAMP_PASTE_PORT_KHAZARD_1 = 32965; + + /** + * Crate of planks + */ + public static final int CARGO_CRATE_PLANKS_PORT_PISCARILIUS_1 = 32966; + + /** + * Crate of books + */ + public static final int CARGO_CRATE_BOOKS_PORT_PISCARILIUS_1 = 32967; + + /** + * Crate of books + */ + public static final int CARGO_CRATE_BOOKS_PORT_PISCARILIUS_2 = 32968; + + /** + * Crate of jewellery + */ + public static final int CARGO_CRATE_JEWELLERY_PORT_PISCARILIUS_1 = 32969; + + /** + * Crate of jewellery + */ + public static final int CARGO_CRATE_JEWELLERY_PORT_PISCARILIUS_2 = 32970; + + /** + * Crate of planks + */ + public static final int CARGO_CRATE_PLANKS_PORT_PISCARILIUS_2 = 32971; + + /** + * Crate of furs + */ + public static final int CARGO_CRATE_FURS_PORT_PISCARILIUS_1 = 32972; + + /** + * Crate of fish + */ + public static final int CARGO_CRATE_FISH_PORT_ROBERTS_1 = 32973; + + /** + * Crate of fish + */ + public static final int CARGO_CRATE_FISH_PORT_ROBERTS_2 = 32974; + + /** + * Crate of silk + */ + public static final int CARGO_CRATE_SILK_PORT_ROBERTS_1 = 32975; + + /** + * Crate of fish + */ + public static final int CARGO_CRATE_FISH_PORT_ROBERTS_3 = 32976; + + /** + * Crate of logs + */ + public static final int CARGO_CRATE_LOGS_PORT_SARIM_1 = 32977; + + /** + * Crate of swords + */ + public static final int CARGO_CRATE_SWORDS_PORT_SARIM_1 = 32978; + + /** + * Crate of fish + */ + public static final int CARGO_CRATE_FISH_PORT_SARIM_1 = 32979; + + /** + * Crate of fish + */ + public static final int CARGO_CRATE_FISH_PORT_SARIM_2 = 32980; + + /** + * Crate of seeds + */ + public static final int CARGO_CRATE_SEEDS_PORT_SARIM_1 = 32981; + + /** + * Crate of swords + */ + public static final int CARGO_CRATE_SWORDS_PORT_TYRAS_1 = 32982; + + /** + * Crate of platebodies + */ + public static final int CARGO_CRATE_PLATEBODIES_PORT_TYRAS_1 = 32983; + + /** + * Crate of swords + */ + public static final int CARGO_CRATE_SWORDS_PORT_TYRAS_2 = 32984; + + /** + * Crate of ores + */ + public static final int CARGO_CRATE_ORES_PORT_TYRAS_1 = 32985; + + /** + * Crate of logs + */ + public static final int CARGO_CRATE_LOGS_PRIFDDINAS_1 = 32986; + + /** + * Crate of potions + */ + public static final int CARGO_CRATE_POTIONS_PRIFDDINAS_1 = 32987; + + /** + * Crate of fish + */ + public static final int CARGO_CRATE_FISH_RED_ROCK_1 = 32988; + + /** + * Crate of fish + */ + public static final int CARGO_CRATE_FISH_RED_ROCK_2 = 32989; + + /** + * Crate of runes + */ + public static final int CARGO_CRATE_RUNES_RED_ROCK_1 = 32990; + + /** + * Crate of fish + */ + public static final int CARGO_CRATE_FISH_RED_ROCK_3 = 32991; + + /** + * Crate of planks + */ + public static final int CARGO_CRATE_PLANKS_RELLEKKA_1 = 32992; + + /** + * Crate of teak logs + */ + public static final int CARGO_CRATE_TEAK_LOGS_RELLEKKA_1 = 32993; + + /** + * Crate of runes + */ + public static final int CARGO_CRATE_RUNES_RUINS_OF_UNKAH_1 = 32994; + + /** + * Crate of cocktails + */ + public static final int CARGO_CRATE_COCKTAILS_RUINS_OF_UNKAH_1 = 32995; + + /** + * Crate of ship parts + */ + public static final int CARGO_CRATE_SHIP_PARTS_RUINS_OF_UNKAH_1 = 32996; + + /** + * Crate of rum + */ + public static final int CARGO_CRATE_RUM_THE_PANDEMONIUM_1 = 32997; + + /** + * Crate of javelins + */ + public static final int CARGO_CRATE_JAVELINS_THE_SUMMER_SHORE_1 = 32998; + + /** + * Crate of potions + */ + public static final int CARGO_CRATE_POTIONS_VOID_KNIGHTS_OUTPOST_1 = 32999; + + /** + * Crate of ores + */ + public static final int CARGO_CRATE_ORES_VOID_KNIGHTS_OUTPOST_1 = 33000; + + /** + * Crate of potions + */ + public static final int CARGO_CRATE_POTIONS_VOID_KNIGHTS_OUTPOST_2 = 33001; + public static final class Cert { public static final int TWPART1 = 7; diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/ObjectID1.java b/runelite-api/src/main/java/net/runelite/api/gameval/ObjectID1.java index 68253e1606..2199094a33 100644 --- a/runelite-api/src/main/java/net/runelite/api/gameval/ObjectID1.java +++ b/runelite-api/src/main/java/net/runelite/api/gameval/ObjectID1.java @@ -78045,5 +78045,12 @@ class ObjectID1 * Snowball pile */ public static final int XMAS25_SNOWBALL_PILE = 60616; + public static final int AGILITY_ONEWAY_RIGHT_ICON = 60617; + public static final int AGILITY_ONEWAY_LEFT_ICON = 60618; + + /** + * Shellbane Gryphon display + */ + public static final int POH_DISPLAY_GRYPHON = 60619; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/SpriteID.java b/runelite-api/src/main/java/net/runelite/api/gameval/SpriteID.java index 94615d9f15..1df419c3d6 100644 --- a/runelite-api/src/main/java/net/runelite/api/gameval/SpriteID.java +++ b/runelite-api/src/main/java/net/runelite/api/gameval/SpriteID.java @@ -4454,6 +4454,13 @@ public static final class Mapfunction public static final int _144 = 7285; public static final int _145 = 7286; public static final int _146 = 7287; + public static final int _147 = 7311; + public static final int _148 = 7312; + public static final int _149 = 7313; + public static final int _150 = 7314; + public static final int _151 = 7315; + public static final int _152 = 7316; + public static final int _153 = 7317; public static final int GENERAL_STORE = _0; public static final int SWORD_SHOP = _1; diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/VarPlayerID.java b/runelite-api/src/main/java/net/runelite/api/gameval/VarPlayerID.java index ae12726b37..d4115d0c0e 100644 --- a/runelite-api/src/main/java/net/runelite/api/gameval/VarPlayerID.java +++ b/runelite-api/src/main/java/net/runelite/api/gameval/VarPlayerID.java @@ -2585,5 +2585,7 @@ public final class VarPlayerID public static final int XMAS_25_1 = 5214; public static final int XMAS_25_2 = 5215; public static final int XMAS_25_3 = 5216; + public static final int COLLECTION_PERSONAL_BEST_TRANSMIT = 5217; + public static final int COLLECTION_PERSONAL_BEST_TRANSMIT_2 = 5218; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/VarbitID.java b/runelite-api/src/main/java/net/runelite/api/gameval/VarbitID.java index 12cb785167..76cfbfc925 100644 --- a/runelite-api/src/main/java/net/runelite/api/gameval/VarbitID.java +++ b/runelite-api/src/main/java/net/runelite/api/gameval/VarbitID.java @@ -13843,6 +13843,7 @@ public final class VarbitID public static final int SETTINGS_IRONMAN_CARGO_WARNING_TEMP = 19612; public static final int SAILING_CREW_GHOST_JENKINS_VISIBILITY_CONTROL = 19613; public static final int SETTINGS_CARGO_HOLD_PRIVACY = 19614; + public static final int SETTINGS_NEW_MENU_INTERFACE = 19615; public static final int BOAT_REPAIR_COST_WARNING_DISMISSED = 19616; public static final int XMAS_25_MAIN = 19618; public static final int XMAS_25_NPC_QUEUE = 19619; @@ -13871,5 +13872,10 @@ public final class VarbitID public static final int XMAS25_FOOD_SIDE_2 = 19642; public static final int XMAS25_FOOD_SIDE_3 = 19643; public static final int SAILING_UNEXPECTED_INPUT_LOGGED = 19645; + public static final int SETTINGS_NEW_MENU_TRANSPARENT_INTERFACE_DISABLED = 19646; + public static final int SETTINGS_RUNEPOUCH_LOADOUT_NAMES_DISABLED = 19647; + public static final int SETTINGS_FAIRYRING_MOBILE_KEYBOARD_AUTOOPEN_DISABLED = 19648; + public static final int MY2ARM_STRONGHOLD_TELE_TOGGLE = 19649; + public static final int SAILING_SIDEPANEL_BOAT_CRYSTALHELM_RESISTANCE = 19652; /* This file is automatically generated. Do not edit. */ } From e74e32af6ff350debd92e2f307e934fa94a70f7d Mon Sep 17 00:00:00 2001 From: pacf531 <30401023+pacf531@users.noreply.github.com> Date: Wed, 17 Dec 2025 17:59:12 -0800 Subject: [PATCH 14/18] gpu: use glMapBufferRange for interface pbo --- .../main/java/net/runelite/client/plugins/gpu/GpuPlugin.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java index 5a08fc3a64..2bdc05d852 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java @@ -1359,13 +1359,14 @@ private void rebuild(WorldView wv) private void prepareInterfaceTexture(int canvasWidth, int canvasHeight) { + long bufferSize = canvasWidth * canvasHeight * 4L; if (canvasWidth != lastCanvasWidth || canvasHeight != lastCanvasHeight) { lastCanvasWidth = canvasWidth; lastCanvasHeight = canvasHeight; glBindBuffer(GL_PIXEL_UNPACK_BUFFER, interfacePbo); - glBufferData(GL_PIXEL_UNPACK_BUFFER, canvasWidth * canvasHeight * 4L, GL_STREAM_DRAW); + glBufferData(GL_PIXEL_UNPACK_BUFFER, bufferSize, GL_STREAM_DRAW); glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0); glBindTexture(GL_TEXTURE_2D, interfaceTexture); @@ -1379,7 +1380,7 @@ private void prepareInterfaceTexture(int canvasWidth, int canvasHeight) final int height = bufferProvider.getHeight(); glBindBuffer(GL_PIXEL_UNPACK_BUFFER, interfacePbo); - ByteBuffer interfaceBuf = glMapBuffer(GL_PIXEL_UNPACK_BUFFER, GL_WRITE_ONLY); + ByteBuffer interfaceBuf = glMapBufferRange(GL_PIXEL_UNPACK_BUFFER, 0, bufferSize, GL_MAP_WRITE_BIT | GL_MAP_INVALIDATE_BUFFER_BIT); if (interfaceBuf != null) { interfaceBuf From 66929bf79576d404e4ed239487f9441fb80b3780 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Thu, 18 Dec 2025 01:58:45 -0700 Subject: [PATCH 15/18] devtools: render interacting on the player wv --- .../client/plugins/devtools/SceneOverlay.java | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/SceneOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/SceneOverlay.java index 06b1f7e217..7ab426f108 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/SceneOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/SceneOverlay.java @@ -32,15 +32,16 @@ import java.awt.geom.AffineTransform; import java.awt.geom.GeneralPath; import java.util.List; -import java.util.stream.Stream; import javax.inject.Inject; import net.runelite.api.Actor; import net.runelite.api.Client; import net.runelite.api.Constants; +import net.runelite.api.IndexedObjectSet; import net.runelite.api.NPC; import net.runelite.api.Perspective; import net.runelite.api.Player; import net.runelite.api.Point; +import net.runelite.api.WorldView; import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldArea; import net.runelite.api.coords.WorldPoint; @@ -385,10 +386,22 @@ private void renderLineOfSight(Graphics2D graphics) private void renderInteracting(Graphics2D graphics) { - Stream.concat( - client.getPlayers().stream(), - client.getNpcs().stream() - ).forEach(fa -> + WorldView tlwv = client.getTopLevelWorldView(); + WorldView playerWv = client.getLocalPlayer().getWorldView(); + + renderInteracting(graphics, tlwv.players()); + renderInteracting(graphics, tlwv.npcs()); + + if (playerWv != tlwv) + { + renderInteracting(graphics, playerWv.players()); + renderInteracting(graphics, playerWv.npcs()); + } + } + + private void renderInteracting(Graphics2D graphics, IndexedObjectSet set) + { + for (var fa : set) { Actor ta = fa.getInteracting(); if (ta == null) @@ -426,6 +439,6 @@ private void renderInteracting(Graphics2D graphics) graphics.fill(ARROW_HEAD); graphics.setTransform(ot); - }); + } } } From b024396ae0351cda0d6c34eeb32b0dff87c4c7a5 Mon Sep 17 00:00:00 2001 From: chsami Date: Thu, 18 Dec 2025 20:08:23 +0100 Subject: [PATCH 16/18] chore(pom): bump microbot version to 2.0.60 --- runelite-client/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index 0b0fa4f5d2..911eaddcea 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -41,7 +41,7 @@ nogit false false - 2.0.59 + 2.0.60 nogit From 566f9631d47d98e4623c7af40d3df4a671f9cb42 Mon Sep 17 00:00:00 2001 From: RuneLite updater Date: Fri, 19 Dec 2025 16:55:03 +0000 Subject: [PATCH 17/18] Release 1.12.9 --- cache/pom.xml | 2 +- pom.xml | 4 ++-- runelite-api/pom.xml | 2 +- runelite-client/pom.xml | 2 +- runelite-jshell/pom.xml | 2 +- runelite-maven-plugin/pom.xml | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/cache/pom.xml b/cache/pom.xml index faac895b00..e87e51b321 100644 --- a/cache/pom.xml +++ b/cache/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.12.9-SNAPSHOT + 1.12.9 cache diff --git a/pom.xml b/pom.xml index bb076952fd..480c2be0ab 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.12.9-SNAPSHOT + 1.12.9 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.12.9 diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml index 2a1ebf18d1..0c265d179b 100644 --- a/runelite-api/pom.xml +++ b/runelite-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.12.9-SNAPSHOT + 1.12.9 runelite-api diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index cf70fd20a0..6858117a95 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.12.9-SNAPSHOT + 1.12.9 client diff --git a/runelite-jshell/pom.xml b/runelite-jshell/pom.xml index abfd05964e..4ae7149911 100644 --- a/runelite-jshell/pom.xml +++ b/runelite-jshell/pom.xml @@ -30,7 +30,7 @@ net.runelite runelite-parent - 1.12.9-SNAPSHOT + 1.12.9 jshell diff --git a/runelite-maven-plugin/pom.xml b/runelite-maven-plugin/pom.xml index f811789d25..a7e83a0255 100644 --- a/runelite-maven-plugin/pom.xml +++ b/runelite-maven-plugin/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.12.9-SNAPSHOT + 1.12.9 runelite-maven-plugin From e73a39d2fb2c39d3d79ba1b57360663e455020e4 Mon Sep 17 00:00:00 2001 From: RuneLite updater Date: Fri, 19 Dec 2025 16:55:06 +0000 Subject: [PATCH 18/18] Bump for 1.12.10-SNAPSHOT [ci skip] --- cache/pom.xml | 2 +- pom.xml | 4 ++-- runelite-api/pom.xml | 2 +- runelite-client/pom.xml | 2 +- runelite-jshell/pom.xml | 2 +- runelite-maven-plugin/pom.xml | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/cache/pom.xml b/cache/pom.xml index e87e51b321..5085ec783e 100644 --- a/cache/pom.xml +++ b/cache/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.12.9 + 1.12.10-SNAPSHOT cache diff --git a/pom.xml b/pom.xml index 480c2be0ab..fc5e0934cb 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.12.9 + 1.12.10-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.12.9 + HEAD diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml index 0c265d179b..c9715db53c 100644 --- a/runelite-api/pom.xml +++ b/runelite-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.12.9 + 1.12.10-SNAPSHOT runelite-api diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index 6858117a95..c99ff9e604 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.12.9 + 1.12.10-SNAPSHOT client diff --git a/runelite-jshell/pom.xml b/runelite-jshell/pom.xml index 4ae7149911..171e91aa0f 100644 --- a/runelite-jshell/pom.xml +++ b/runelite-jshell/pom.xml @@ -30,7 +30,7 @@ net.runelite runelite-parent - 1.12.9 + 1.12.10-SNAPSHOT jshell diff --git a/runelite-maven-plugin/pom.xml b/runelite-maven-plugin/pom.xml index a7e83a0255..d197cd61c6 100644 --- a/runelite-maven-plugin/pom.xml +++ b/runelite-maven-plugin/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.12.9 + 1.12.10-SNAPSHOT runelite-maven-plugin