import java.io.EOFException; import java.io.IOException; import java.io.InputStream; import java.util.Iterator; 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("mr") @Implements("BufferedSource") public class BufferedSource implements Runnable { @ObfuscatedName("u") @Export("cacheSubPaths") public static String[] cacheSubPaths; @ObfuscatedName("bv") @Export("otp") static String otp; @ObfuscatedName("c") @Export("thread") Thread thread; @ObfuscatedName("b") @Export("inputStream") InputStream inputStream; @ObfuscatedName("p") @ObfuscatedGetter( intValue = -1854638595 ) @Export("capacity") int capacity; @ObfuscatedName("m") @Export("buffer") byte[] buffer; @ObfuscatedName("t") @ObfuscatedGetter( intValue = 1353886439 ) @Export("position") int position; @ObfuscatedName("s") @ObfuscatedGetter( intValue = 980101141 ) @Export("limit") int limit; @ObfuscatedName("j") @Export("exception") IOException exception; BufferedSource(InputStream var1, int var2) { this.position = 0; this.limit = 0; this.inputStream = var1; this.capacity = var2 + 1; this.buffer = new byte[this.capacity]; this.thread = new Thread(this); this.thread.setDaemon(true); this.thread.start(); } @ObfuscatedName("c") @ObfuscatedSignature( descriptor = "(II)Z", garbageValue = "1211615101" ) @Export("isAvailable") boolean isAvailable(int var1) throws IOException { if (var1 == 0) { return true; } else if (var1 > 0 && var1 < this.capacity) { synchronized(this) { int var3; if (this.position <= this.limit) { var3 = this.limit - this.position; } else { var3 = this.capacity - this.position + this.limit; } if (var3 < var1) { if (this.exception != null) { throw new IOException(this.exception.toString()); } else { this.notifyAll(); return false; } } else { return true; } } } else { throw new IOException(); } } @ObfuscatedName("b") @ObfuscatedSignature( descriptor = "(I)I", garbageValue = "-146970254" ) @Export("available") int available() throws IOException { synchronized(this) { int var2; if (this.position <= this.limit) { var2 = this.limit - this.position; } else { var2 = this.capacity - this.position + this.limit; } if (var2 <= 0 && this.exception != null) { throw new IOException(this.exception.toString()); } else { this.notifyAll(); return var2; } } } @ObfuscatedName("p") @ObfuscatedSignature( descriptor = "(B)I", garbageValue = "52" ) @Export("readUnsignedByte") int readUnsignedByte() throws IOException { synchronized(this) { if (this.position == this.limit) { if (this.exception != null) { throw new IOException(this.exception.toString()); } else { return -1; } } else { int var2 = this.buffer[this.position] & 255; this.position = (this.position + 1) % this.capacity; this.notifyAll(); return var2; } } } @ObfuscatedName("m") @ObfuscatedSignature( descriptor = "([BIIB)I", garbageValue = "126" ) @Export("read") int read(byte[] var1, int var2, int var3) throws IOException { if (var3 >= 0 && var2 >= 0 && var3 + var2 <= var1.length) { synchronized(this) { int var5; if (this.position <= this.limit) { var5 = this.limit - this.position; } else { var5 = this.capacity - this.position + this.limit; } if (var3 > var5) { var3 = var5; } if (var3 == 0 && this.exception != null) { throw new IOException(this.exception.toString()); } else { if (var3 + this.position <= this.capacity) { System.arraycopy(this.buffer, this.position, var1, var2, var3); } else { int var6 = this.capacity - this.position; System.arraycopy(this.buffer, this.position, var1, var2, var6); System.arraycopy(this.buffer, 0, var1, var6 + var2, var3 - var6); } this.position = (var3 + this.position) % this.capacity; this.notifyAll(); return var3; } } } else { throw new IOException(); } } @ObfuscatedName("t") @ObfuscatedSignature( descriptor = "(I)V", garbageValue = "1858620597" ) @Export("close") void close() { synchronized(this) { if (this.exception == null) { this.exception = new IOException(""); } this.notifyAll(); } try { this.thread.join(); } catch (InterruptedException var3) { } } public void run() { while (true) { int var1; synchronized(this) { while (true) { if (this.exception != null) { return; } if (this.position == 0) { var1 = this.capacity - this.limit - 1; } else if (this.position <= this.limit) { var1 = this.capacity - this.limit; } else { var1 = this.position - this.limit - 1; } if (var1 > 0) { break; } try { this.wait(); } catch (InterruptedException var10) { } } } int var7; try { var7 = this.inputStream.read(this.buffer, this.limit, var1); if (var7 == -1) { throw new EOFException(); } } catch (IOException var11) { IOException var3 = var11; synchronized(this) { this.exception = var3; return; } } synchronized(this) { this.limit = (var7 + this.limit) % this.capacity; } } } @ObfuscatedName("c") @ObfuscatedSignature( descriptor = "(ILjava/lang/String;Llf;II)Liw;", garbageValue = "821161285" ) public static PacketBufferNode method6527(int var0, String var1, Language var2, int var3) { PacketBufferNode var4 = HitSplatDefinition.getPacketBufferNode(ClientPacket.field2897, Client.packetWriter.isaacCipher); var4.packetBuffer.writeByte(0); int var5 = var4.packetBuffer.offset; var4.packetBuffer.writeByte(var0); String var6 = var1.toLowerCase(); byte var7 = 0; if (var6.startsWith("yellow:")) { var7 = 0; var1 = var1.substring("yellow:".length()); } else if (var6.startsWith("red:")) { var7 = 1; var1 = var1.substring("red:".length()); } else if (var6.startsWith("green:")) { var7 = 2; var1 = var1.substring("green:".length()); } else if (var6.startsWith("cyan:")) { var7 = 3; var1 = var1.substring("cyan:".length()); } else if (var6.startsWith("purple:")) { var7 = 4; var1 = var1.substring("purple:".length()); } else if (var6.startsWith("white:")) { var7 = 5; var1 = var1.substring("white:".length()); } else if (var6.startsWith("flash1:")) { var7 = 6; var1 = var1.substring("flash1:".length()); } else if (var6.startsWith("flash2:")) { var7 = 7; var1 = var1.substring("flash2:".length()); } else if (var6.startsWith("flash3:")) { var7 = 8; var1 = var1.substring("flash3:".length()); } else if (var6.startsWith("glow1:")) { var7 = 9; var1 = var1.substring("glow1:".length()); } else if (var6.startsWith("glow2:")) { var7 = 10; var1 = var1.substring("glow2:".length()); } else if (var6.startsWith("glow3:")) { var7 = 11; var1 = var1.substring("glow3:".length()); } else if (var2 != Language.Language_EN) { if (var6.startsWith("yellow:")) { var7 = 0; var1 = var1.substring("yellow:".length()); } else if (var6.startsWith("red:")) { var7 = 1; var1 = var1.substring("red:".length()); } else if (var6.startsWith("green:")) { var7 = 2; var1 = var1.substring("green:".length()); } else if (var6.startsWith("cyan:")) { var7 = 3; var1 = var1.substring("cyan:".length()); } else if (var6.startsWith("purple:")) { var7 = 4; var1 = var1.substring("purple:".length()); } else if (var6.startsWith("white:")) { var7 = 5; var1 = var1.substring("white:".length()); } else if (var6.startsWith("flash1:")) { var7 = 6; var1 = var1.substring("flash1:".length()); } else if (var6.startsWith("flash2:")) { var7 = 7; var1 = var1.substring("flash2:".length()); } else if (var6.startsWith("flash3:")) { var7 = 8; var1 = var1.substring("flash3:".length()); } else if (var6.startsWith("glow1:")) { var7 = 9; var1 = var1.substring("glow1:".length()); } else if (var6.startsWith("glow2:")) { var7 = 10; var1 = var1.substring("glow2:".length()); } else if (var6.startsWith("glow3:")) { var7 = 11; var1 = var1.substring("glow3:".length()); } } var6 = var1.toLowerCase(); byte var8 = 0; if (var6.startsWith("wave:")) { var8 = 1; var1 = var1.substring("wave:".length()); } else if (var6.startsWith("wave2:")) { var8 = 2; var1 = var1.substring("wave2:".length()); } else if (var6.startsWith("shake:")) { var8 = 3; var1 = var1.substring("shake:".length()); } else if (var6.startsWith("scroll:")) { var8 = 4; var1 = var1.substring("scroll:".length()); } else if (var6.startsWith("slide:")) { var8 = 5; var1 = var1.substring("slide:".length()); } else if (var2 != Language.Language_EN) { if (var6.startsWith("wave:")) { var8 = 1; var1 = var1.substring("wave:".length()); } else if (var6.startsWith("wave2:")) { var8 = 2; var1 = var1.substring("wave2:".length()); } else if (var6.startsWith("shake:")) { var8 = 3; var1 = var1.substring("shake:".length()); } else if (var6.startsWith("scroll:")) { var8 = 4; var1 = var1.substring("scroll:".length()); } else if (var6.startsWith("slide:")) { var8 = 5; var1 = var1.substring("slide:".length()); } } var4.packetBuffer.writeByte(var7); var4.packetBuffer.writeByte(var8); class370.method6755(var4.packetBuffer, var1); if (var0 == class282.field3379.rsOrdinal()) { var4.packetBuffer.writeByte(var3); } var4.packetBuffer.method7357(var4.packetBuffer.offset - var5); return var4; } @ObfuscatedName("j") @ObfuscatedSignature( descriptor = "(I)V", garbageValue = "843929154" ) static void method6516() { Iterator var0 = Messages.Messages_hashTable.iterator(); while (var0.hasNext()) { Message var1 = (Message)var0.next(); var1.clearIsFromIgnored(); } } }