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); } }