307 lines
9.7 KiB
Java
307 lines
9.7 KiB
Java
import java.awt.event.FocusEvent;
|
|
import java.awt.event.FocusListener;
|
|
import java.awt.event.KeyEvent;
|
|
import java.awt.event.KeyListener;
|
|
import java.io.IOException;
|
|
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("ay")
|
|
@Implements("KeyHandler")
|
|
public final class KeyHandler implements KeyListener, FocusListener {
|
|
@ObfuscatedName("oh")
|
|
@ObfuscatedSignature(
|
|
signature = "Lch;"
|
|
)
|
|
@Export("varcs")
|
|
static Varcs varcs;
|
|
@ObfuscatedName("s")
|
|
@ObfuscatedSignature(
|
|
signature = "Lay;"
|
|
)
|
|
@Export("KeyHandler_instance")
|
|
public static KeyHandler KeyHandler_instance;
|
|
@ObfuscatedName("t")
|
|
public static short[] field387;
|
|
@ObfuscatedName("cp")
|
|
@Export("KeyHandler_pressedKeys")
|
|
public static boolean[] KeyHandler_pressedKeys;
|
|
@ObfuscatedName("cb")
|
|
public static int[] field374;
|
|
@ObfuscatedName("ch")
|
|
@ObfuscatedGetter(
|
|
intValue = 495485409
|
|
)
|
|
public static int field375;
|
|
@ObfuscatedName("cn")
|
|
@ObfuscatedGetter(
|
|
intValue = -2076273353
|
|
)
|
|
public static int field378;
|
|
@ObfuscatedName("cr")
|
|
static char[] field377;
|
|
@ObfuscatedName("cl")
|
|
static int[] field376;
|
|
@ObfuscatedName("cg")
|
|
public static int[] field379;
|
|
@ObfuscatedName("cy")
|
|
@ObfuscatedGetter(
|
|
intValue = -1379841439
|
|
)
|
|
public static int field380;
|
|
@ObfuscatedName("cz")
|
|
@ObfuscatedGetter(
|
|
intValue = -1494145321
|
|
)
|
|
public static int field385;
|
|
@ObfuscatedName("cv")
|
|
@ObfuscatedGetter(
|
|
intValue = 1845463833
|
|
)
|
|
public static int field382;
|
|
@ObfuscatedName("cq")
|
|
@ObfuscatedGetter(
|
|
intValue = 1982695045
|
|
)
|
|
public static int field383;
|
|
@ObfuscatedName("ct")
|
|
@ObfuscatedGetter(
|
|
intValue = 1884223821
|
|
)
|
|
@Export("KeyHandler_idleCycles")
|
|
public static volatile int KeyHandler_idleCycles;
|
|
@ObfuscatedName("cx")
|
|
@Export("KeyHandler_keyCodes")
|
|
static int[] KeyHandler_keyCodes;
|
|
|
|
static {
|
|
KeyHandler_instance = new KeyHandler();
|
|
KeyHandler_pressedKeys = new boolean[112];
|
|
field374 = new int[128];
|
|
field375 = 0;
|
|
field378 = 0;
|
|
field377 = new char[128];
|
|
field376 = new int[128];
|
|
field379 = new int[128];
|
|
field380 = 0;
|
|
field385 = 0;
|
|
field382 = 0;
|
|
field383 = 0;
|
|
KeyHandler_idleCycles = 0;
|
|
KeyHandler_keyCodes = new int[]{-1, -1, -1, -1, -1, -1, -1, -1, 85, 80, 84, -1, 91, -1, -1, -1, 81, 82, 86, -1, -1, -1, -1, -1, -1, -1, -1, 13, -1, -1, -1, -1, 83, 104, 105, 103, 102, 96, 98, 97, 99, -1, -1, -1, -1, -1, -1, -1, 25, 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, 48, 68, 66, 50, 34, 51, 52, 53, 39, 54, 55, 56, 70, 69, 40, 41, 32, 35, 49, 36, 38, 67, 33, 65, 37, 64, -1, -1, -1, -1, -1, 228, 231, 227, 233, 224, 219, 225, 230, 226, 232, 89, 87, -1, 88, 229, 90, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1};
|
|
}
|
|
|
|
KeyHandler() {
|
|
}
|
|
|
|
public final synchronized void keyPressed(KeyEvent var1) {
|
|
if (KeyHandler_instance != null) {
|
|
int var2 = var1.getKeyCode();
|
|
if (var2 >= 0 && var2 < KeyHandler_keyCodes.length) {
|
|
var2 = KeyHandler_keyCodes[var2];
|
|
if ((var2 & 128) != 0) {
|
|
var2 = -1;
|
|
}
|
|
} else {
|
|
var2 = -1;
|
|
}
|
|
|
|
if (field378 >= 0 && var2 >= 0) {
|
|
field374[field378] = var2;
|
|
field378 = field378 + 1 & 127;
|
|
if (field375 == field378) {
|
|
field378 = -1;
|
|
}
|
|
}
|
|
|
|
int var3;
|
|
if (var2 >= 0) {
|
|
var3 = field382 + 1 & 127;
|
|
if (var3 != field385) {
|
|
field376[field382] = var2;
|
|
field377[field382] = 0;
|
|
field382 = var3;
|
|
}
|
|
}
|
|
|
|
var3 = var1.getModifiers();
|
|
if ((var3 & 10) != 0 || var2 == 85 || var2 == 10) {
|
|
var1.consume();
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
public final synchronized void keyReleased(KeyEvent var1) {
|
|
if (KeyHandler_instance != null) {
|
|
int var2 = var1.getKeyCode();
|
|
if (var2 >= 0 && var2 < KeyHandler_keyCodes.length) {
|
|
var2 = KeyHandler_keyCodes[var2] & -129;
|
|
} else {
|
|
var2 = -1;
|
|
}
|
|
|
|
if (field378 >= 0 && var2 >= 0) {
|
|
field374[field378] = ~var2;
|
|
field378 = field378 + 1 & 127;
|
|
if (field375 == field378) {
|
|
field378 = -1;
|
|
}
|
|
}
|
|
}
|
|
|
|
var1.consume();
|
|
}
|
|
|
|
public final synchronized void focusLost(FocusEvent var1) {
|
|
if (KeyHandler_instance != null) {
|
|
field378 = -1;
|
|
}
|
|
|
|
}
|
|
|
|
public final void focusGained(FocusEvent var1) {
|
|
}
|
|
|
|
public final void keyTyped(KeyEvent var1) {
|
|
if (KeyHandler_instance != null) {
|
|
char var2 = var1.getKeyChar();
|
|
if (var2 != 0 && var2 != '\uffff' && class218.method4019(var2)) {
|
|
int var3 = field382 + 1 & 127;
|
|
if (var3 != field385) {
|
|
field376[field382] = -1;
|
|
field377[field382] = var2;
|
|
field382 = var3;
|
|
}
|
|
}
|
|
}
|
|
|
|
var1.consume();
|
|
}
|
|
|
|
@ObfuscatedName("s")
|
|
@ObfuscatedSignature(
|
|
signature = "([BIII)Ljava/lang/String;",
|
|
garbageValue = "1700061188"
|
|
)
|
|
public static String method786(byte[] var0, int var1, int var2) {
|
|
char[] var3 = new char[var2];
|
|
int var4 = 0;
|
|
int var5 = var1;
|
|
|
|
int var8;
|
|
for (int var6 = var2 + var1; var5 < var6; var3[var4++] = (char)var8) {
|
|
int var7 = var0[var5++] & 255;
|
|
if (var7 < 128) {
|
|
if (var7 == 0) {
|
|
var8 = 65533;
|
|
} else {
|
|
var8 = var7;
|
|
}
|
|
} else if (var7 < 192) {
|
|
var8 = 65533;
|
|
} else if (var7 < 224) {
|
|
if (var5 < var6 && (var0[var5] & 192) == 128) {
|
|
var8 = (var7 & 31) << 6 | var0[var5++] & 63;
|
|
if (var8 < 128) {
|
|
var8 = 65533;
|
|
}
|
|
} else {
|
|
var8 = 65533;
|
|
}
|
|
} else if (var7 < 240) {
|
|
if (var5 + 1 < var6 && (var0[var5] & 192) == 128 && (var0[var5 + 1] & 192) == 128) {
|
|
var8 = (var7 & 15) << 12 | (var0[var5++] & 63) << 6 | var0[var5++] & 63;
|
|
if (var8 < 2048) {
|
|
var8 = 65533;
|
|
}
|
|
} else {
|
|
var8 = 65533;
|
|
}
|
|
} else if (var7 < 248) {
|
|
if (var5 + 2 < var6 && (var0[var5] & 192) == 128 && (var0[var5 + 1] & 192) == 128 && (var0[var5 + 2] & 192) == 128) {
|
|
var8 = (var7 & 7) << 18 | (var0[var5++] & 63) << 12 | (var0[var5++] & 63) << 6 | var0[var5++] & 63;
|
|
if (var8 >= 65536 && var8 <= 1114111) {
|
|
var8 = 65533;
|
|
} else {
|
|
var8 = 65533;
|
|
}
|
|
} else {
|
|
var8 = 65533;
|
|
}
|
|
} else {
|
|
var8 = 65533;
|
|
}
|
|
}
|
|
|
|
return new String(var3, 0, var4);
|
|
}
|
|
|
|
@ObfuscatedName("s")
|
|
@ObfuscatedSignature(
|
|
signature = "(Lhz;B)V",
|
|
garbageValue = "-71"
|
|
)
|
|
@Export("InvDefinition_setArchives")
|
|
public static void InvDefinition_setArchives(AbstractArchive var0) {
|
|
InvDefinition.InvDefinition_archive = var0;
|
|
}
|
|
|
|
@ObfuscatedName("gk")
|
|
@ObfuscatedSignature(
|
|
signature = "(ZI)V",
|
|
garbageValue = "2136399840"
|
|
)
|
|
@Export("addNpcsToScene")
|
|
static final void addNpcsToScene(boolean var0) {
|
|
for (int var1 = 0; var1 < Client.npcCount; ++var1) {
|
|
NPC var2 = Client.npcs[Client.npcIndices[var1]];
|
|
if (var2 != null && var2.isVisible() && var2.definition.isVisible == var0 && var2.definition.transformIsVisible()) {
|
|
int var3 = var2.x >> 7;
|
|
int var4 = var2.y >> 7;
|
|
if (var3 >= 0 && var3 < 104 && var4 >= 0 && var4 < 104) {
|
|
if (var2.size * -1143635904 == 1 && (var2.x & 127) == 64 && (var2.y & 127) == 64) {
|
|
if (Client.tileLastDrawnActor[var3][var4] == Client.viewportDrawCount) {
|
|
continue;
|
|
}
|
|
|
|
Client.tileLastDrawnActor[var3][var4] = Client.viewportDrawCount;
|
|
}
|
|
|
|
long var5 = WorldMapSprite.calculateTag(0, 0, 1, !var2.definition.isInteractable, Client.npcIndices[var1]);
|
|
var2.playerCycle = Client.cycle;
|
|
Player.scene.drawEntity(ItemContainer.plane, var2.x, var2.y, GrandExchangeOfferTotalQuantityComparator.getTileHeight(var2.size * -178253824 - 64 + var2.x, var2.size * -178253824 - 64 + var2.y, ItemContainer.plane), var2.size * -178253824 - 64 + 60, var2, var2.rotation, var5, var2.isWalking);
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("gl")
|
|
@ObfuscatedSignature(
|
|
signature = "(ZI)V",
|
|
garbageValue = "2032247175"
|
|
)
|
|
static final void method787(boolean var0) {
|
|
WorldMapSectionType.playPcmPlayers();
|
|
++Client.packetWriter.pendingWrites;
|
|
if (Client.packetWriter.pendingWrites >= 50 || var0) {
|
|
Client.packetWriter.pendingWrites = 0;
|
|
if (!Client.field672 && Client.packetWriter.getSocket() != null) {
|
|
PacketBufferNode var1 = MenuAction.getPacketBufferNode(ClientPacket.field2207, Client.packetWriter.isaacCipher);
|
|
Client.packetWriter.addNode(var1);
|
|
|
|
try {
|
|
Client.packetWriter.flush();
|
|
} catch (IOException var3) {
|
|
Client.field672 = true;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|