Files
runelite/runescape-client/src/main/java/GZipDecompressor.java
Owain van Brakel e6be88fbeb project: rev 199
2021-08-25 13:49:53 +02:00

51 lines
1.2 KiB
Java

import java.util.zip.Inflater;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
@ObfuscatedName("pk")
@Implements("GZipDecompressor")
public class GZipDecompressor {
@ObfuscatedName("n")
@Export("inflater")
Inflater inflater;
@ObfuscatedSignature(
descriptor = "(III)V",
garbageValue = "1000000"
)
GZipDecompressor(int var1, int var2, int var3) {
}
public GZipDecompressor() {
this(-1, 1000000, 1000000);
}
@ObfuscatedName("n")
@ObfuscatedSignature(
descriptor = "(Lot;[BB)V",
garbageValue = "20"
)
@Export("decompress")
public void decompress(Buffer var1, byte[] var2) {
if (var1.array[var1.offset] == 31 && var1.array[var1.offset + 1] == -117) {
if (this.inflater == null) {
this.inflater = new Inflater(true);
}
try {
this.inflater.setInput(var1.array, var1.offset + 10, var1.array.length - (var1.offset + 8 + 10));
this.inflater.inflate(var2);
} catch (Exception var4) {
this.inflater.reset();
throw new RuntimeException("");
}
this.inflater.reset();
} else {
throw new RuntimeException("");
}
}
}