Files
runelite/runescape-client/src/main/java/PacketBuffer.java
2022-05-11 21:14:59 +10:00

161 lines
4.1 KiB
Java

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("pc")
@Implements("PacketBuffer")
public class PacketBuffer extends Buffer {
@ObfuscatedName("q")
static final int[] field4675;
@ObfuscatedName("o")
@ObfuscatedSignature(
descriptor = "Lqh;"
)
@Export("isaacCipher")
IsaacCipher isaacCipher;
@ObfuscatedName("l")
@ObfuscatedGetter(
intValue = 1367739327
)
@Export("bitIndex")
int bitIndex;
static {
field4675 = new int[]{0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215, 33554431, 67108863, 134217727, 268435455, 536870911, 1073741823, Integer.MAX_VALUE, -1}; // L: 7
}
public PacketBuffer(int var1) {
super(var1); // L: 11
} // L: 12
@ObfuscatedName("o")
@ObfuscatedSignature(
descriptor = "([IB)V",
garbageValue = "36"
)
@Export("newIsaacCipher")
public void newIsaacCipher(int[] var1) {
this.isaacCipher = new IsaacCipher(var1); // L: 15
} // L: 16
@ObfuscatedName("q")
@ObfuscatedSignature(
descriptor = "(Lqh;I)V",
garbageValue = "-1716220711"
)
@Export("setIsaacCipher")
public void setIsaacCipher(IsaacCipher var1) {
this.isaacCipher = var1; // L: 19
} // L: 20
@ObfuscatedName("l")
@ObfuscatedSignature(
descriptor = "(IB)V",
garbageValue = "9"
)
@Export("writeByteIsaac")
public void writeByteIsaac(int var1) {
super.array[++super.offset - 1] = (byte)(var1 + this.isaacCipher.nextInt()); // L: 23
} // L: 24
@ObfuscatedName("k")
@ObfuscatedSignature(
descriptor = "(B)I",
garbageValue = "88"
)
@Export("readByteIsaac")
public int readByteIsaac() {
return super.array[++super.offset - 1] - this.isaacCipher.nextInt() & 255; // L: 27
}
@ObfuscatedName("a")
@ObfuscatedSignature(
descriptor = "(I)Z",
garbageValue = "1904848037"
)
public boolean method7495() {
int var1 = super.array[super.offset] - this.isaacCipher.method8108() & 255; // L: 31
return var1 >= 128; // L: 32
}
@ObfuscatedName("m")
@ObfuscatedSignature(
descriptor = "(I)I",
garbageValue = "-1838826462"
)
@Export("readSmartByteShortIsaac")
public int readSmartByteShortIsaac() {
int var1 = super.array[++super.offset - 1] - this.isaacCipher.nextInt() & 255; // L: 37
return var1 < 128 ? var1 : (var1 - 128 << 8) + (super.array[++super.offset - 1] - this.isaacCipher.nextInt() & 255); // L: 38 39
}
@ObfuscatedName("p")
@ObfuscatedSignature(
descriptor = "([BIIB)V",
garbageValue = "102"
)
public void method7460(byte[] var1, int var2, int var3) {
for (int var4 = 0; var4 < var3; ++var4) { // L: 43
var1[var4 + var2] = (byte)(super.array[++super.offset - 1] - this.isaacCipher.nextInt());
}
} // L: 44
@ObfuscatedName("s")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "257249853"
)
@Export("importIndex")
public void importIndex() {
this.bitIndex = super.offset * 8; // L: 47
} // L: 48
@ObfuscatedName("r")
@ObfuscatedSignature(
descriptor = "(II)I",
garbageValue = "1769393200"
)
@Export("readBits")
public int readBits(int var1) {
int var2 = this.bitIndex >> 3; // L: 51
int var3 = 8 - (this.bitIndex & 7); // L: 52
int var4 = 0; // L: 53
for (this.bitIndex += var1; var1 > var3; var3 = 8) { // L: 54 55 58
var4 += (super.array[var2++] & field4675[var3]) << var1 - var3; // L: 56
var1 -= var3; // L: 57
}
if (var3 == var1) { // L: 60
var4 += super.array[var2] & field4675[var3];
} else {
var4 += super.array[var2] >> var3 - var1 & field4675[var1]; // L: 61
}
return var4; // L: 62
}
@ObfuscatedName("v")
@ObfuscatedSignature(
descriptor = "(B)V",
garbageValue = "103"
)
@Export("exportIndex")
public void exportIndex() {
super.offset = (this.bitIndex + 7) / 8; // L: 66
} // L: 67
@ObfuscatedName("y")
@ObfuscatedSignature(
descriptor = "(II)I",
garbageValue = "-2036713962"
)
@Export("bitsRemaining")
public int bitsRemaining(int var1) {
return var1 * 8 - this.bitIndex; // L: 70
}
}