import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import java.security.SecureRandom; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("bq") @Implements("MouseHandler") public class MouseHandler implements MouseListener, MouseMotionListener, FocusListener { @ObfuscatedName("x") @ObfuscatedGetter( intValue = -1802673633 ) @Export("MouseHandler_y") public static int MouseHandler_y; @ObfuscatedName("k") @ObfuscatedGetter( intValue = 9279483 ) @Export("MouseHandler_x") public static int MouseHandler_x; @ObfuscatedName("v") @ObfuscatedSignature( signature = "Lbq;" ) @Export("MouseHandler_instance") static MouseHandler MouseHandler_instance; @ObfuscatedName("q") @ObfuscatedGetter( intValue = 481106497 ) @Export("MouseHandler_idleCycles") public static volatile int MouseHandler_idleCycles; @ObfuscatedName("z") @ObfuscatedGetter( intValue = -853983883 ) @Export("MouseHandler_currentButtonVolatile") static volatile int MouseHandler_currentButtonVolatile; @ObfuscatedName("t") @ObfuscatedGetter( intValue = -2069980405 ) @Export("MouseHandler_xVolatile") static volatile int MouseHandler_xVolatile; @ObfuscatedName("e") @ObfuscatedGetter( intValue = 1032976335 ) @Export("MouseHandler_yVolatile") static volatile int MouseHandler_yVolatile; @ObfuscatedName("s") @ObfuscatedGetter( longValue = 8440490709549879739L ) @Export("MouseHandler_lastMovedVolatile") static volatile long MouseHandler_lastMovedVolatile; @ObfuscatedName("p") @ObfuscatedGetter( intValue = 440702865 ) @Export("MouseHandler_currentButton") public static int MouseHandler_currentButton; @ObfuscatedName("n") @ObfuscatedGetter( longValue = -7274898948584366517L ) @Export("MouseHandler_millis") public static long MouseHandler_millis; @ObfuscatedName("u") @ObfuscatedGetter( intValue = 329598021 ) @Export("MouseHandler_lastButtonVolatile") static volatile int MouseHandler_lastButtonVolatile; @ObfuscatedName("h") @ObfuscatedGetter( intValue = -2102823313 ) @Export("MouseHandler_lastPressedXVolatile") static volatile int MouseHandler_lastPressedXVolatile; @ObfuscatedName("g") @ObfuscatedGetter( intValue = 44004483 ) @Export("MouseHandler_lastPressedYVolatile") static volatile int MouseHandler_lastPressedYVolatile; @ObfuscatedName("i") @ObfuscatedGetter( longValue = -4336093553213135153L ) @Export("MouseHandler_lastPressedTimeMillisVolatile") static volatile long MouseHandler_lastPressedTimeMillisVolatile; @ObfuscatedName("a") @ObfuscatedGetter( intValue = 1894311513 ) @Export("MouseHandler_lastButton") public static int MouseHandler_lastButton; @ObfuscatedName("b") @ObfuscatedGetter( intValue = -894585521 ) @Export("MouseHandler_lastPressedX") public static int MouseHandler_lastPressedX; @ObfuscatedName("l") @ObfuscatedGetter( intValue = -880195683 ) @Export("MouseHandler_lastPressedY") public static int MouseHandler_lastPressedY; @ObfuscatedName("r") @ObfuscatedGetter( longValue = 5747430308835367139L ) @Export("MouseHandler_lastPressedTimeMillis") public static long MouseHandler_lastPressedTimeMillis; @ObfuscatedName("ey") @Export("secureRandom") static SecureRandom secureRandom; @ObfuscatedName("ge") @ObfuscatedGetter( intValue = 1073160651 ) static int field529; static { MouseHandler_instance = new MouseHandler(); MouseHandler_idleCycles = 0; MouseHandler_currentButtonVolatile = 0; MouseHandler_xVolatile = -1; MouseHandler_yVolatile = -1; MouseHandler_lastMovedVolatile = -1L; MouseHandler_currentButton = 0; MouseHandler_x = 0; MouseHandler_y = 0; MouseHandler_millis = 0L; MouseHandler_lastButtonVolatile = 0; MouseHandler_lastPressedXVolatile = 0; MouseHandler_lastPressedYVolatile = 0; MouseHandler_lastPressedTimeMillisVolatile = 0L; MouseHandler_lastButton = 0; MouseHandler_lastPressedX = 0; MouseHandler_lastPressedY = 0; MouseHandler_lastPressedTimeMillis = 0L; } MouseHandler() { } @ObfuscatedName("v") @ObfuscatedSignature( signature = "(Ljava/awt/event/MouseEvent;I)I", garbageValue = "-1992651704" ) @Export("getButton") final int getButton(MouseEvent var1) { int var2 = var1.getButton(); if (!var1.isAltDown() && var2 != 2) { return !var1.isMetaDown() && var2 != 3 ? 1 : 2; } else { return 4; } } public final synchronized void mouseMoved(MouseEvent var1) { if (MouseHandler_instance != null) { MouseHandler_idleCycles = 0; MouseHandler_xVolatile = var1.getX(); MouseHandler_yVolatile = var1.getY(); MouseHandler_lastMovedVolatile = var1.getWhen(); } } public final synchronized void mousePressed(MouseEvent var1) { if (MouseHandler_instance != null) { MouseHandler_idleCycles = 0; MouseHandler_lastPressedXVolatile = var1.getX(); MouseHandler_lastPressedYVolatile = var1.getY(); MouseHandler_lastPressedTimeMillisVolatile = class217.currentTimeMillis(); MouseHandler_lastButtonVolatile = this.getButton(var1); if (MouseHandler_lastButtonVolatile != 0) { MouseHandler_currentButtonVolatile = MouseHandler_lastButtonVolatile; } } if (var1.isPopupTrigger()) { var1.consume(); } } public final synchronized void mouseReleased(MouseEvent var1) { if (MouseHandler_instance != null) { MouseHandler_idleCycles = 0; MouseHandler_currentButtonVolatile = 0; } if (var1.isPopupTrigger()) { var1.consume(); } } public final void mouseClicked(MouseEvent var1) { if (var1.isPopupTrigger()) { var1.consume(); } } public final synchronized void mouseEntered(MouseEvent var1) { this.mouseMoved(var1); } public final synchronized void mouseExited(MouseEvent var1) { if (MouseHandler_instance != null) { MouseHandler_idleCycles = 0; MouseHandler_xVolatile = -1; MouseHandler_yVolatile = -1; MouseHandler_lastMovedVolatile = var1.getWhen(); } } public final void focusGained(FocusEvent var1) { } public final synchronized void focusLost(FocusEvent var1) { if (MouseHandler_instance != null) { MouseHandler_currentButtonVolatile = 0; } } public final synchronized void mouseDragged(MouseEvent var1) { this.mouseMoved(var1); } @ObfuscatedName("x") @ObfuscatedSignature( signature = "(II)Liw;", garbageValue = "-222748117" ) @Export("SpotAnimationDefinition_get") public static SpotAnimationDefinition SpotAnimationDefinition_get(int var0) { SpotAnimationDefinition var1 = (SpotAnimationDefinition)SpotAnimationDefinition.SpotAnimationDefinition_cached.get((long)var0); if (var1 != null) { return var1; } else { byte[] var2 = SpotAnimationDefinition.SpotAnimationDefinition_archive.takeFile(13, var0); var1 = new SpotAnimationDefinition(); var1.id = var0; if (var2 != null) { var1.decode(new Buffer(var2)); } SpotAnimationDefinition.SpotAnimationDefinition_cached.put(var1, (long)var0); return var1; } } @ObfuscatedName("x") @ObfuscatedSignature( signature = "(Liy;I)V", garbageValue = "-50420172" ) public static void method1206(AbstractArchive var0) { EnumDefinition.EnumDefinition_archive = var0; } @ObfuscatedName("x") @ObfuscatedSignature( signature = "(Ljava/lang/CharSequence;I)Ljava/lang/String;", garbageValue = "2112458178" ) public static String method1187(CharSequence var0) { int var1 = var0.length(); StringBuilder var2 = new StringBuilder(var1); for (int var3 = 0; var3 < var1; ++var3) { char var4 = var0.charAt(var3); if ((var4 < 'a' || var4 > 'z') && (var4 < 'A' || var4 > 'Z') && (var4 < '0' || var4 > '9') && var4 != '.' && var4 != '-' && var4 != '*' && var4 != '_') { if (var4 == ' ') { var2.append('+'); } else { byte var5 = TaskHandler.charToByteCp1252(var4); var2.append('%'); int var6 = var5 >> 4 & 15; if (var6 >= 10) { var2.append((char)(var6 + 55)); } else { var2.append((char)(var6 + 48)); } var6 = var5 & 15; if (var6 >= 10) { var2.append((char)(var6 + 55)); } else { var2.append((char)(var6 + 48)); } } } else { var2.append(var4); } } return var2.toString(); } @ObfuscatedName("d") @ObfuscatedSignature( signature = "(Lkj;I)I", garbageValue = "537227900" ) static int method1200(PacketBuffer var0) { int var1 = var0.readBits(2); int var2; if (var1 == 0) { var2 = 0; } else if (var1 == 1) { var2 = var0.readBits(5); } else if (var1 == 2) { var2 = var0.readBits(8); } else { var2 = var0.readBits(11); } return var2; } @ObfuscatedName("z") @ObfuscatedSignature( signature = "(I)Lch;", garbageValue = "815744206" ) @Export("getNextWorldListWorld") static World getNextWorldListWorld() { return World.World_listCount < World.World_count ? UserComparator2.World_worlds[++World.World_listCount - 1] : null; } @ObfuscatedName("e") @ObfuscatedSignature( signature = "(Lhe;IIII)V", garbageValue = "-951911792" ) @Export("Widget_setKeyRate") static final void Widget_setKeyRate(Widget var0, int var1, int var2, int var3) { if (var0.field2644 == null) { throw new RuntimeException(); } else { var0.field2644[var1] = var2; var0.field2695[var1] = var3; } } @ObfuscatedName("go") @ObfuscatedSignature( signature = "(IIIII)V", garbageValue = "-2142619406" ) static final void method1202(int var0, int var1, int var2, int var3) { Client.overheadTextCount = 0; boolean var4 = false; int var5 = -1; int var6 = -1; int var7 = Players.Players_count; int[] var8 = Players.Players_indices; int var9; for (var9 = 0; var9 < var7 + Client.npcCount; ++var9) { Object var10; if (var9 < var7) { var10 = Client.players[var8[var9]]; if (var8[var9] == Client.combatTargetPlayerIndex) { var4 = true; var5 = var9; continue; } if (var10 == ByteArrayPool.localPlayer) { var6 = var9; continue; } } else { var10 = Client.npcs[Client.npcIndices[var9 - var7]]; } WorldMapSection1.drawActor2d((Actor)var10, var9, var0, var1, var2, var3); } if (Client.renderSelf && var6 != -1) { WorldMapSection1.drawActor2d(ByteArrayPool.localPlayer, var6, var0, var1, var2, var3); } if (var4) { WorldMapSection1.drawActor2d(Client.players[Client.combatTargetPlayerIndex], var5, var0, var1, var2, var3); } for (var9 = 0; var9 < Client.overheadTextCount; ++var9) { int var19 = Client.overheadTextXs[var9]; int var11 = Client.overheadTextYs[var9]; int var12 = Client.overheadTextXOffsets[var9]; int var13 = Client.overheadTextAscents[var9]; boolean var14 = true; while (var14) { var14 = false; for (int var15 = 0; var15 < var9; ++var15) { if (var11 + 2 > Client.overheadTextYs[var15] - Client.overheadTextAscents[var15] && var11 - var13 < Client.overheadTextYs[var15] + 2 && var19 - var12 < Client.overheadTextXOffsets[var15] + Client.overheadTextXs[var15] && var12 + var19 > Client.overheadTextXs[var15] - Client.overheadTextXOffsets[var15] && Client.overheadTextYs[var15] - Client.overheadTextAscents[var15] < var11) { var11 = Client.overheadTextYs[var15] - Client.overheadTextAscents[var15]; var14 = true; } } } Client.viewportTempX = Client.overheadTextXs[var9]; Client.viewportTempY = Client.overheadTextYs[var9] = var11; String var20 = Client.overheadText[var9]; if (Client.chatEffects == 0) { int var16 = 16776960; if (Client.overheadTextColors[var9] < 6) { var16 = Client.field895[Client.overheadTextColors[var9]]; } if (Client.overheadTextColors[var9] == 6) { var16 = Client.viewportDrawCount % 20 < 10 ? 16711680 : 16776960; } if (Client.overheadTextColors[var9] == 7) { var16 = Client.viewportDrawCount % 20 < 10 ? 255 : '\uffff'; } if (Client.overheadTextColors[var9] == 8) { var16 = Client.viewportDrawCount % 20 < 10 ? '뀀' : 8454016; } int var17; if (Client.overheadTextColors[var9] == 9) { var17 = 150 - Client.overheadTextCyclesRemaining[var9]; if (var17 < 50) { var16 = var17 * 1280 + 16711680; } else if (var17 < 100) { var16 = 16776960 - (var17 - 50) * 327680; } else if (var17 < 150) { var16 = (var17 - 100) * 5 + 65280; } } if (Client.overheadTextColors[var9] == 10) { var17 = 150 - Client.overheadTextCyclesRemaining[var9]; if (var17 < 50) { var16 = var17 * 5 + 16711680; } else if (var17 < 100) { var16 = 16711935 - (var17 - 50) * 327680; } else if (var17 < 150) { var16 = (var17 - 100) * 327680 + 255 - (var17 - 100) * 5; } } if (Client.overheadTextColors[var9] == 11) { var17 = 150 - Client.overheadTextCyclesRemaining[var9]; if (var17 < 50) { var16 = 16777215 - var17 * 327685; } else if (var17 < 100) { var16 = (var17 - 50) * 327685 + 65280; } else if (var17 < 150) { var16 = 16777215 - (var17 - 100) * 327680; } } if (Client.overheadTextEffects[var9] == 0) { TaskHandler.fontBold12.drawCentered(var20, var0 + Client.viewportTempX, Client.viewportTempY + var1, var16, 0); } if (Client.overheadTextEffects[var9] == 1) { TaskHandler.fontBold12.drawCenteredWave(var20, var0 + Client.viewportTempX, Client.viewportTempY + var1, var16, 0, Client.viewportDrawCount); } if (Client.overheadTextEffects[var9] == 2) { TaskHandler.fontBold12.drawCenteredWave2(var20, var0 + Client.viewportTempX, Client.viewportTempY + var1, var16, 0, Client.viewportDrawCount); } if (Client.overheadTextEffects[var9] == 3) { TaskHandler.fontBold12.drawCenteredShake(var20, var0 + Client.viewportTempX, Client.viewportTempY + var1, var16, 0, Client.viewportDrawCount, 150 - Client.overheadTextCyclesRemaining[var9]); } if (Client.overheadTextEffects[var9] == 4) { var17 = (150 - Client.overheadTextCyclesRemaining[var9]) * (TaskHandler.fontBold12.stringWidth(var20) + 100) / 150; Rasterizer2D.Rasterizer2D_expandClip(var0 + Client.viewportTempX - 50, var1, var0 + Client.viewportTempX + 50, var3 + var1); TaskHandler.fontBold12.draw(var20, var0 + Client.viewportTempX + 50 - var17, Client.viewportTempY + var1, var16, 0); Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); } if (Client.overheadTextEffects[var9] == 5) { var17 = 150 - Client.overheadTextCyclesRemaining[var9]; int var18 = 0; if (var17 < 25) { var18 = var17 - 25; } else if (var17 > 125) { var18 = var17 - 125; } Rasterizer2D.Rasterizer2D_expandClip(var0, Client.viewportTempY + var1 - TaskHandler.fontBold12.ascent - 1, var0 + var2, Client.viewportTempY + var1 + 5); TaskHandler.fontBold12.drawCentered(var20, var0 + Client.viewportTempX, var18 + Client.viewportTempY + var1, var16, 0); Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); } } else { TaskHandler.fontBold12.drawCentered(var20, var0 + Client.viewportTempX, Client.viewportTempY + var1, 16776960, 0); } } } @ObfuscatedName("il") @ObfuscatedSignature( signature = "([Lhe;Lhe;ZI)V", garbageValue = "584998144" ) @Export("revalidateWidgetScroll") static void revalidateWidgetScroll(Widget[] var0, Widget var1, boolean var2) { int var3 = var1.scrollWidth != 0 ? var1.scrollWidth * 108625295 * -1973747345 : var1.width * -1065823023 * 2144076849; int var4 = var1.scrollHeight != 0 ? var1.scrollHeight * 1982360223 * -1503121057 : var1.height * 379197055 * -959731329; InterfaceParent.resizeInterface(var0, var1.id, var3, var4, var2); if (var1.children != null) { InterfaceParent.resizeInterface(var1.children, var1.id, var3, var4, var2); } InterfaceParent var5 = (InterfaceParent)Client.interfaceParents.get((long)var1.id); if (var5 != null) { int var6 = var5.group; if (LoginScreenAnimation.loadInterface(var6)) { InterfaceParent.resizeInterface(Widget.Widget_interfaceComponents[var6], -1, var3, var4, var2); } } if (var1.contentType == 1337) { } } }