import java.io.DataInputStream; import java.net.InetAddress; import java.net.Socket; import java.net.URL; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("ew") @Implements("TaskHandler") public class TaskHandler implements Runnable { @ObfuscatedName("l") @Export("javaVendor") public static String javaVendor; @ObfuscatedName("q") @Export("javaVersion") public static String javaVersion; @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "Lep;" ) @Export("current") Task current; @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "Lep;" ) @Export("task") Task task; @ObfuscatedName("m") @Export("thread") Thread thread; @ObfuscatedName("k") @Export("isClosed") boolean isClosed; public TaskHandler() { this.current = null; this.task = null; this.isClosed = false; javaVendor = "Unknown"; javaVersion = "1.6"; try { javaVendor = System.getProperty("java.vendor"); javaVersion = System.getProperty("java.version"); } catch (Exception var2) { } this.isClosed = false; this.thread = new Thread(this); this.thread.setPriority(10); this.thread.setDaemon(true); this.thread.start(); } @ObfuscatedName("l") @ObfuscatedSignature( descriptor = "(I)V", garbageValue = "-2080769600" ) @Export("close") public final void close() { synchronized(this) { this.isClosed = true; this.notifyAll(); } try { this.thread.join(); } catch (InterruptedException var3) { } } @ObfuscatedName("q") @ObfuscatedSignature( descriptor = "(IIILjava/lang/Object;S)Lep;", garbageValue = "3207" ) @Export("newTask") final Task newTask(int var1, int var2, int var3, Object var4) { Task var5 = new Task(); var5.type = var1; var5.intArgument = var2; var5.objectArgument = var4; synchronized(this) { if (this.task != null) { this.task.next = var5; this.task = var5; } else { this.task = this.current = var5; } this.notify(); return var5; } } @ObfuscatedName("f") @ObfuscatedSignature( descriptor = "(Ljava/lang/String;II)Lep;", garbageValue = "-1536302643" ) @Export("newSocketTask") public final Task newSocketTask(String var1, int var2) { return this.newTask(1, var2, 0, var1); } @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(Ljava/lang/Runnable;II)Lep;", garbageValue = "1508388325" ) @Export("newThreadTask") public final Task newThreadTask(Runnable var1, int var2) { return this.newTask(2, var2, 0, var1); } public final void run() { while (true) { Task var1; synchronized(this) { while (true) { if (this.isClosed) { return; } if (this.current != null) { var1 = this.current; this.current = this.current.next; if (this.current == null) { this.task = null; } break; } try { this.wait(); } catch (InterruptedException var8) { } } } try { int var5 = var1.type; if (var5 == 1) { var1.result = new Socket(InetAddress.getByName((String)var1.objectArgument), var1.intArgument); } else if (var5 == 2) { Thread var3 = new Thread((Runnable)var1.objectArgument); var3.setDaemon(true); var3.start(); var3.setPriority(var1.intArgument); var1.result = var3; } else if (var5 == 4) { var1.result = new DataInputStream(((URL)var1.objectArgument).openStream()); } var1.status = 1; } catch (ThreadDeath var6) { throw var6; } catch (Throwable var7) { var1.status = 2; } } } @ObfuscatedName("it") @ObfuscatedSignature( descriptor = "(IIIIB)V", garbageValue = "-117" ) @Export("addSceneMenuOptions") static final void addSceneMenuOptions(int var0, int var1, int var2, int var3) { if (Client.isItemSelected == 0 && !Client.isSpellSelected) { GameBuild.insertMenuItemNoShift("Walk here", "", 23, 0, var0 - var2, var1 - var3); } long var4 = -1L; long var6 = -1L; int var8; for (var8 = 0; var8 < BuddyRankComparator.method2458(); ++var8) { long var24 = WorldMapSection1.method3912(var8); if (var24 != var6) { var6 = var24; int var11 = UserComparator1.method7162(var8); int var12 = ItemComposition.method3327(ViewportMouse.ViewportMouse_entityTags[var8]); int var13 = var12; long var16 = ViewportMouse.ViewportMouse_entityTags[var8]; int var15 = (int)(var16 >>> 14 & 3L); int var26 = InterfaceParent.Entity_unpackID(ViewportMouse.ViewportMouse_entityTags[var8]); int var17 = var26; if (var15 == 2 && PlayerComposition.scene.getObjectFlags(VertexNormal.Client_plane, var11, var12, var24) >= 0) { ObjectComposition var18 = class245.getObjectDefinition(var26); if (var18.transforms != null) { var18 = var18.transform(); } if (var18 == null) { continue; } if (Client.isItemSelected == 1) { GameBuild.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + FloorUnderlayDefinition.colorStartTag(65535) + var18.name, 1, var26, var11, var12); } else if (Client.isSpellSelected) { if ((ObjectComposition.selectedSpellFlags & 4) == 4) { GameBuild.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + FloorUnderlayDefinition.colorStartTag(65535) + var18.name, 2, var26, var11, var12); } } else { String[] var19 = var18.actions; if (var19 != null) { for (int var20 = 4; var20 >= 0; --var20) { if (var19[var20] != null) { short var21 = 0; if (var20 == 0) { var21 = 3; } if (var20 == 1) { var21 = 4; } if (var20 == 2) { var21 = 5; } if (var20 == 3) { var21 = 6; } if (var20 == 4) { var21 = 1001; } GameBuild.insertMenuItemNoShift(var19[var20], FloorUnderlayDefinition.colorStartTag(65535) + var18.name, var21, var17, var11, var13); } } } GameBuild.insertMenuItemNoShift("Examine", FloorUnderlayDefinition.colorStartTag(65535) + var18.name, 1002, var18.id, var11, var13); } } Player var22; int var27; NPC var28; int var35; int[] var36; if (var15 == 1) { NPC var31 = Client.npcs[var17]; if (var31 == null) { continue; } if (var31.definition.size == 1 && (var31.x & 127) == 64 && (var31.y & 127) == 64) { for (var27 = 0; var27 < Client.npcCount; ++var27) { var28 = Client.npcs[Client.npcIndices[var27]]; if (var28 != null && var31 != var28 && var28.definition.size == 1 && var31.x == var28.x && var31.y == var28.y) { class275.addNpcToMenu(var28.definition, Client.npcIndices[var27], var11, var13); } } var27 = Players.Players_count; var36 = Players.Players_indices; for (var35 = 0; var35 < var27; ++var35) { var22 = Client.players[var36[var35]]; if (var22 != null && var31.x == var22.x && var22.y == var31.y) { ScriptFrame.addPlayerToMenu(var22, var36[var35], var11, var13); } } } class275.addNpcToMenu(var31.definition, var17, var11, var13); } if (var15 == 0) { Player var32 = Client.players[var17]; if (var32 == null) { continue; } if ((var32.x & 127) == 64 && (var32.y & 127) == 64) { for (var27 = 0; var27 < Client.npcCount; ++var27) { var28 = Client.npcs[Client.npcIndices[var27]]; if (var28 != null && var28.definition.size == 1 && var32.x == var28.x && var28.y == var32.y) { class275.addNpcToMenu(var28.definition, Client.npcIndices[var27], var11, var13); } } var27 = Players.Players_count; var36 = Players.Players_indices; for (var35 = 0; var35 < var27; ++var35) { var22 = Client.players[var36[var35]]; if (var22 != null && var22 != var32 && var22.x == var32.x && var22.y == var32.y) { ScriptFrame.addPlayerToMenu(var22, var36[var35], var11, var13); } } } if (var17 != Client.combatTargetPlayerIndex) { ScriptFrame.addPlayerToMenu(var32, var17, var11, var13); } else { var4 = var24; } } if (var15 == 3) { NodeDeque var34 = Client.groundItems[VertexNormal.Client_plane][var11][var13]; if (var34 != null) { for (TileItem var33 = (TileItem)var34.first(); var33 != null; var33 = (TileItem)var34.next()) { ItemComposition var37 = class87.ItemDefinition_get(var33.id); if (Client.isItemSelected == 1) { GameBuild.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + FloorUnderlayDefinition.colorStartTag(16748608) + var37.name, 16, var33.id, var11, var13); } else if (Client.isSpellSelected) { if ((ObjectComposition.selectedSpellFlags & 1) == 1) { GameBuild.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + FloorUnderlayDefinition.colorStartTag(16748608) + var37.name, 17, var33.id, var11, var13); } } else { String[] var29 = var37.groundActions; for (int var30 = 4; var30 >= 0; --var30) { if (var29 != null && var29[var30] != null) { byte var23 = 0; if (var30 == 0) { var23 = 18; } if (var30 == 1) { var23 = 19; } if (var30 == 2) { var23 = 20; } if (var30 == 3) { var23 = 21; } if (var30 == 4) { var23 = 22; } GameBuild.insertMenuItemNoShift(var29[var30], FloorUnderlayDefinition.colorStartTag(16748608) + var37.name, var23, var33.id, var11, var13); } else if (var30 == 2) { GameBuild.insertMenuItemNoShift("Take", FloorUnderlayDefinition.colorStartTag(16748608) + var37.name, 20, var33.id, var11, var13); } } GameBuild.insertMenuItemNoShift("Examine", FloorUnderlayDefinition.colorStartTag(16748608) + var37.name, 1004, var33.id, var11, var13); } } } } } } if (-1L != var4) { var8 = Widget.method5030(var4); int var9 = ItemComposition.method3327(var4); Player var10 = Client.players[Client.combatTargetPlayerIndex]; ScriptFrame.addPlayerToMenu(var10, Client.combatTargetPlayerIndex, var8, var9); } } @ObfuscatedName("il") @ObfuscatedSignature( descriptor = "([Ljt;Ljt;ZB)V", garbageValue = "8" ) @Export("revalidateWidgetScroll") static void revalidateWidgetScroll(Widget[] var0, Widget var1, boolean var2) { int var3 = var1.scrollWidth != 0 ? var1.scrollWidth * -1993150083 * 873320405 : var1.width * -2019463933 * -351378005; int var4 = var1.scrollHeight != 0 ? var1.scrollHeight * 1068415699 * -118379173 : var1.height * 1232982299 * -1955651309; WorldMapSection1.resizeInterface(var0, var1.id, var3, var4, var2); if (var1.children != null) { WorldMapSection1.resizeInterface(var1.children, var1.id, var3, var4, var2); } InterfaceParent var5 = (InterfaceParent)Client.interfaceParents.get((long)var1.id); if (var5 != null) { Canvas.method380(var5.group, var3, var4, var2); } if (var1.contentType == 1337) { } } }