diff --git a/client/src/main/java/ByteArrayNode.java b/client/src/main/java/ByteArrayNode.java index ce22c11..94a7dbf 100644 --- a/client/src/main/java/ByteArrayNode.java +++ b/client/src/main/java/ByteArrayNode.java @@ -6,10 +6,10 @@ import org.openrs2.deob.annotation.OriginalMember; public final class ByteArrayNode extends SecondaryNode { @OriginalMember(owner = "client!hc", name = "Q", descriptor = "[B") - public final byte[] aByteArray37; + public final byte[] value; @OriginalMember(owner = "client!hc", name = "", descriptor = "([B)V") public ByteArrayNode(@OriginalArg(0) byte[] arg0) { - this.aByteArray37 = arg0; + this.value = arg0; } } diff --git a/client/src/main/java/Bzip2DState.java b/client/src/main/java/Bzip2DState.java index 6f54877..552b3a5 100644 --- a/client/src/main/java/Bzip2DState.java +++ b/client/src/main/java/Bzip2DState.java @@ -5,98 +5,98 @@ import org.openrs2.deob.annotation.OriginalMember; public final class Bzip2DState { @OriginalMember(owner = "client!bb", name = "e", descriptor = "B") - public byte aByte1; + public byte stateOutCh; @OriginalMember(owner = "client!bb", name = "k", descriptor = "[B") - public byte[] aByteArray3; + public byte[] strmNextOut; @OriginalMember(owner = "client!bb", name = "o", descriptor = "I") - public int anInt392; + public int saveNblock; @OriginalMember(owner = "client!bb", name = "u", descriptor = "I") - public int anInt394; + public int strmAvailOut; @OriginalMember(owner = "client!bb", name = "v", descriptor = "[B") - public byte[] aByteArray4; + public byte[] strmNextIn; @OriginalMember(owner = "client!bb", name = "w", descriptor = "I") - public int anInt395; + public int bsLive; @OriginalMember(owner = "client!bb", name = "x", descriptor = "I") - public int anInt396; + public int k0; @OriginalMember(owner = "client!bb", name = "z", descriptor = "I") - public int anInt397; + public int nblockused; @OriginalMember(owner = "client!bb", name = "B", descriptor = "I") - public int anInt398; + public int tPos; @OriginalMember(owner = "client!bb", name = "D", descriptor = "I") - public int anInt399; + public int origPtr; @OriginalMember(owner = "client!bb", name = "F", descriptor = "I") - public int anInt401; + public int nInUse; @OriginalMember(owner = "client!bb", name = "I", descriptor = "I") - public int anInt402; + public int bsBuff; @OriginalMember(owner = "client!bb", name = "J", descriptor = "I") - public int anInt403; + public int strmTotalOutLo32; @OriginalMember(owner = "client!bb", name = "K", descriptor = "I") - public int anInt404; + public int blockSize100k; @OriginalMember(owner = "client!bb", name = "L", descriptor = "I") - public int anInt405; + public int stateOutLen; @OriginalMember(owner = "client!bb", name = "P", descriptor = "I") - public int anInt407; + public int strmTotalInLo32; @OriginalMember(owner = "client!bb", name = "b", descriptor = "[B") - public final byte[] aByteArray1 = new byte[4096]; + public final byte[] mfta = new byte[4096]; @OriginalMember(owner = "client!bb", name = "f", descriptor = "[Z") - public final boolean[] aBooleanArray13 = new boolean[256]; + public final boolean[] inUse = new boolean[256]; @OriginalMember(owner = "client!bb", name = "d", descriptor = "[[I") - public final int[][] anIntArrayArray2 = new int[6][258]; + public final int[][] perm = new int[6][258]; @OriginalMember(owner = "client!bb", name = "h", descriptor = "[B") - public final byte[] aByteArray2 = new byte[256]; + public final byte[] seqToUnseq = new byte[256]; @OriginalMember(owner = "client!bb", name = "a", descriptor = "[[I") - public final int[][] anIntArrayArray1 = new int[6][258]; + public final int[][] base = new int[6][258]; @OriginalMember(owner = "client!bb", name = "l", descriptor = "I") - public int anInt390 = 0; + public int strmNextOutPtr = 0; @OriginalMember(owner = "client!bb", name = "i", descriptor = "[[I") - public final int[][] anIntArrayArray3 = new int[6][258]; + public final int[][] limit = new int[6][258]; @OriginalMember(owner = "client!bb", name = "j", descriptor = "I") - public int anInt389 = 0; + public int strmNextInPtr = 0; @OriginalMember(owner = "client!bb", name = "C", descriptor = "[I") - public final int[] anIntArray26 = new int[256]; + public final int[] unfztab = new int[256]; @OriginalMember(owner = "client!bb", name = "p", descriptor = "[I") - public final int[] anIntArray24 = new int[257]; + public final int[] cftab = new int[257]; @OriginalMember(owner = "client!bb", name = "y", descriptor = "[B") - public final byte[] aByteArray5 = new byte[18002]; + public final byte[] selector = new byte[18002]; @OriginalMember(owner = "client!bb", name = "r", descriptor = "[Z") - public final boolean[] aBooleanArray14 = new boolean[16]; + public final boolean[] inUse16 = new boolean[16]; @OriginalMember(owner = "client!bb", name = "q", descriptor = "[I") - public final int[] anIntArray25 = new int[16]; + public final int[] mtfbase = new int[16]; @OriginalMember(owner = "client!bb", name = "H", descriptor = "[B") - public final byte[] aByteArray6 = new byte[18002]; + public final byte[] selectorMtf = new byte[18002]; @OriginalMember(owner = "client!bb", name = "G", descriptor = "[I") - public final int[] anIntArray27 = new int[6]; + public final int[] minLens = new int[6]; @OriginalMember(owner = "client!bb", name = "O", descriptor = "[[B") - public final byte[][] aByteArrayArray3 = new byte[6][258]; + public final byte[][] len = new byte[6][258]; } diff --git a/client/src/main/java/Bzip2Decompressor.java b/client/src/main/java/Bzip2Decompressor.java index d89e57f..cc914de 100644 --- a/client/src/main/java/Bzip2Decompressor.java +++ b/client/src/main/java/Bzip2Decompressor.java @@ -5,46 +5,46 @@ import org.openrs2.deob.annotation.Pc; public final class Bzip2Decompressor { @OriginalMember(owner = "client!oc", name = "a", descriptor = "Lclient!bb;") - private static final Bzip2DState aClass11_1 = new Bzip2DState(); + private static final Bzip2DState state = new Bzip2DState(); @OriginalMember(owner = "client!oc", name = "a", descriptor = "(ILclient!bb;)I") - private static int method3309(@OriginalArg(0) int arg0, @OriginalArg(1) Bzip2DState arg1) { - while (arg1.anInt395 < arg0) { - arg1.anInt402 = arg1.anInt402 << 8 | arg1.aByteArray4[arg1.anInt389] & 0xFF; - arg1.anInt395 += 8; - arg1.anInt389++; - arg1.anInt407++; - if (arg1.anInt407 == 0) { + private static int getBits(@OriginalArg(0) int arg0, @OriginalArg(1) Bzip2DState arg1) { + while (arg1.bsLive < arg0) { + arg1.bsBuff = arg1.bsBuff << 8 | arg1.strmNextIn[arg1.strmNextInPtr] & 0xFF; + arg1.bsLive += 8; + arg1.strmNextInPtr++; + arg1.strmTotalInLo32++; + if (arg1.strmTotalInLo32 == 0) { } } - @Pc(17) int local17 = arg1.anInt402 >> arg1.anInt395 - arg0 & (0x1 << arg0) - 1; - arg1.anInt395 -= arg0; + @Pc(17) int local17 = arg1.bsBuff >> arg1.bsLive - arg0 & (0x1 << arg0) - 1; + arg1.bsLive -= arg0; return local17; } @OriginalMember(owner = "client!oc", name = "a", descriptor = "(Lclient!bb;)V") - private static void method3310(@OriginalArg(0) Bzip2DState arg0) { - @Pc(2) byte local2 = arg0.aByte1; - @Pc(5) int local5 = arg0.anInt405; - @Pc(8) int local8 = arg0.anInt397; - @Pc(11) int local11 = arg0.anInt396; - @Pc(13) int[] local13 = Static221.anIntArray374; - @Pc(16) int local16 = arg0.anInt398; - @Pc(19) byte[] local19 = arg0.aByteArray3; - @Pc(22) int local22 = arg0.anInt390; - @Pc(25) int local25 = arg0.anInt394; + private static void unRleObufToOutputFast(@OriginalArg(0) Bzip2DState arg0) { + @Pc(2) byte local2 = arg0.stateOutCh; + @Pc(5) int local5 = arg0.stateOutLen; + @Pc(8) int local8 = arg0.nblockused; + @Pc(11) int local11 = arg0.k0; + @Pc(13) int[] local13 = Static221.tt; + @Pc(16) int local16 = arg0.tPos; + @Pc(19) byte[] local19 = arg0.strmNextOut; + @Pc(22) int local22 = arg0.strmNextOutPtr; + @Pc(25) int local25 = arg0.strmAvailOut; @Pc(27) int local27 = local25; - @Pc(32) int local32 = arg0.anInt392 + 1; - label67: while (true) { + @Pc(32) int local32 = arg0.saveNblock + 1; + returnNotr: while (true) { if (local5 > 0) { while (true) { if (local25 == 0) { - break label67; + break returnNotr; } if (local5 == 1) { if (local25 == 0) { local5 = 1; - break label67; + break returnNotr; } local19[local22] = local2; local22++; @@ -63,7 +63,7 @@ public final class Bzip2Decompressor { local62 = false; if (local8 == local32) { local5 = 0; - break label67; + break returnNotr; } local2 = (byte) local11; local16 = local13[local16]; @@ -74,7 +74,7 @@ public final class Bzip2Decompressor { local11 = local84; if (local25 == 0) { local5 = 1; - break label67; + break returnNotr; } local19[local22] = local2; local22++; @@ -83,7 +83,7 @@ public final class Bzip2Decompressor { } else if (local8 == local32) { if (local25 == 0) { local5 = 1; - break label67; + break returnNotr; } local19[local22] = local2; local22++; @@ -123,23 +123,23 @@ public final class Bzip2Decompressor { } } } - @Pc(215) int local215 = arg0.anInt403; - arg0.anInt403 += local27 - local25; - if (arg0.anInt403 < local215) { + @Pc(215) int local215 = arg0.strmTotalOutLo32; + arg0.strmTotalOutLo32 += local27 - local25; + if (arg0.strmTotalOutLo32 < local215) { } - arg0.aByte1 = local2; - arg0.anInt405 = local5; - arg0.anInt397 = local8; - arg0.anInt396 = local11; - Static221.anIntArray374 = local13; - arg0.anInt398 = local16; - arg0.aByteArray3 = local19; - arg0.anInt390 = local22; - arg0.anInt394 = local25; + arg0.stateOutCh = local2; + arg0.stateOutLen = local5; + arg0.nblockused = local8; + arg0.k0 = local11; + Static221.tt = local13; + arg0.tPos = local16; + arg0.strmNextOut = local19; + arg0.strmNextOutPtr = local22; + arg0.strmAvailOut = local25; } @OriginalMember(owner = "client!oc", name = "a", descriptor = "([I[I[I[BIII)V") - private static void method3311(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(2) int[] arg2, @OriginalArg(3) byte[] arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6) { + private static void hbCreateDecodeTables(@OriginalArg(0) int[] arg0, @OriginalArg(1) int[] arg1, @OriginalArg(2) int[] arg2, @OriginalArg(3) byte[] arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6) { @Pc(1) int local1 = 0; @Pc(3) int local3; for (local3 = arg4; local3 <= arg5; local3++) { @@ -174,86 +174,86 @@ public final class Bzip2Decompressor { } @OriginalMember(owner = "client!oc", name = "b", descriptor = "(Lclient!bb;)V") - private static void method3312(@OriginalArg(0) Bzip2DState arg0) { - arg0.anInt401 = 0; + private static void makeMapsD(@OriginalArg(0) Bzip2DState arg0) { + arg0.nInUse = 0; for (@Pc(4) int local4 = 0; local4 < 256; local4++) { - if (arg0.aBooleanArray13[local4]) { - arg0.aByteArray2[arg0.anInt401] = (byte) local4; - arg0.anInt401++; + if (arg0.inUse[local4]) { + arg0.seqToUnseq[arg0.nInUse] = (byte) local4; + arg0.nInUse++; } } } @OriginalMember(owner = "client!oc", name = "c", descriptor = "(Lclient!bb;)B") - private static byte method3313(@OriginalArg(0) Bzip2DState arg0) { - return (byte) method3309(8, arg0); + private static byte getUchar(@OriginalArg(0) Bzip2DState arg0) { + return (byte) getBits(8, arg0); } @OriginalMember(owner = "client!oc", name = "d", descriptor = "(Lclient!bb;)V") - private static void method3314(@OriginalArg(0) Bzip2DState arg0) { - arg0.anInt404 = 1; - if (Static221.anIntArray374 == null) { - Static221.anIntArray374 = new int[arg0.anInt404 * 100000]; + private static void decompress(@OriginalArg(0) Bzip2DState arg0) { + arg0.blockSize100k = 1; + if (Static221.tt == null) { + Static221.tt = new int[arg0.blockSize100k * 100000]; } @Pc(56) boolean local56 = true; while (true) { while (local56) { - @Pc(61) byte local61 = method3313(arg0); + @Pc(61) byte local61 = getUchar(arg0); if (local61 == 23) { return; } - local61 = method3313(arg0); - local61 = method3313(arg0); - local61 = method3313(arg0); - local61 = method3313(arg0); - local61 = method3313(arg0); - local61 = method3313(arg0); - local61 = method3313(arg0); - local61 = method3313(arg0); - local61 = method3313(arg0); - local61 = method3315(arg0); + local61 = getUchar(arg0); + local61 = getUchar(arg0); + local61 = getUchar(arg0); + local61 = getUchar(arg0); + local61 = getUchar(arg0); + local61 = getUchar(arg0); + local61 = getUchar(arg0); + local61 = getUchar(arg0); + local61 = getUchar(arg0); + local61 = getBit(arg0); if (local61 != 0) { } - arg0.anInt399 = 0; - local61 = method3313(arg0); - arg0.anInt399 = arg0.anInt399 << 8 | local61 & 0xFF; - local61 = method3313(arg0); - arg0.anInt399 = arg0.anInt399 << 8 | local61 & 0xFF; - local61 = method3313(arg0); - arg0.anInt399 = arg0.anInt399 << 8 | local61 & 0xFF; + arg0.origPtr = 0; + local61 = getUchar(arg0); + arg0.origPtr = arg0.origPtr << 8 | local61 & 0xFF; + local61 = getUchar(arg0); + arg0.origPtr = arg0.origPtr << 8 | local61 & 0xFF; + local61 = getUchar(arg0); + arg0.origPtr = arg0.origPtr << 8 | local61 & 0xFF; @Pc(141) int local141; for (local141 = 0; local141 < 16; local141++) { - local61 = method3315(arg0); + local61 = getBit(arg0); if (local61 == 1) { - arg0.aBooleanArray14[local141] = true; + arg0.inUse16[local141] = true; } else { - arg0.aBooleanArray14[local141] = false; + arg0.inUse16[local141] = false; } } for (local141 = 0; local141 < 256; local141++) { - arg0.aBooleanArray13[local141] = false; + arg0.inUse[local141] = false; } @Pc(187) int local187; for (local141 = 0; local141 < 16; local141++) { - if (arg0.aBooleanArray14[local141]) { + if (arg0.inUse16[local141]) { for (local187 = 0; local187 < 16; local187++) { - local61 = method3315(arg0); + local61 = getBit(arg0); if (local61 == 1) { - arg0.aBooleanArray13[local141 * 16 + local187] = true; + arg0.inUse[local141 * 16 + local187] = true; } } } } - method3312(arg0); - @Pc(216) int local216 = arg0.anInt401 + 2; - @Pc(220) int local220 = method3309(3, arg0); - @Pc(224) int local224 = method3309(15, arg0); + makeMapsD(arg0); + @Pc(216) int local216 = arg0.nInUse + 2; + @Pc(220) int local220 = getBits(3, arg0); + @Pc(224) int local224 = getBits(15, arg0); for (local141 = 0; local141 < local224; local141++) { local187 = 0; while (true) { - local61 = method3315(arg0); + local61 = getBit(arg0); if (local61 == 0) { - arg0.aByteArray6[local141] = (byte) local187; + arg0.selectorMtf[local141] = (byte) local187; break; } local187++; @@ -265,26 +265,26 @@ public final class Bzip2Decompressor { local250[local252] = local252++; } for (local141 = 0; local141 < local224; local141++) { - local252 = arg0.aByteArray6[local141]; + local252 = arg0.selectorMtf[local141]; @Pc(279) byte local279 = local250[local252]; while (local252 > 0) { local250[local252] = local250[local252 - 1]; local252--; } local250[0] = local279; - arg0.aByteArray5[local141] = local279; + arg0.selector[local141] = local279; } @Pc(308) int local308; for (local308 = 0; local308 < local220; local308++) { - @Pc(315) int local315 = method3309(5, arg0); + @Pc(315) int local315 = getBits(5, arg0); for (local141 = 0; local141 < local216; local141++) { while (true) { - local61 = method3315(arg0); + local61 = getBit(arg0); if (local61 == 0) { - arg0.aByteArrayArray3[local308][local141] = (byte) local315; + arg0.len[local308][local141] = (byte) local315; break; } - local61 = method3315(arg0); + local61 = getBit(arg0); if (local61 == 0) { local315++; } else { @@ -297,46 +297,46 @@ public final class Bzip2Decompressor { @Pc(354) byte local354 = 32; @Pc(356) byte local356 = 0; for (local141 = 0; local141 < local216; local141++) { - if (arg0.aByteArrayArray3[local308][local141] > local356) { - local356 = arg0.aByteArrayArray3[local308][local141]; + if (arg0.len[local308][local141] > local356) { + local356 = arg0.len[local308][local141]; } - if (arg0.aByteArrayArray3[local308][local141] < local354) { - local354 = arg0.aByteArrayArray3[local308][local141]; + if (arg0.len[local308][local141] < local354) { + local354 = arg0.len[local308][local141]; } } - method3311(arg0.anIntArrayArray3[local308], arg0.anIntArrayArray1[local308], arg0.anIntArrayArray2[local308], arg0.aByteArrayArray3[local308], local354, local356, local216); - arg0.anIntArray27[local308] = local354; + hbCreateDecodeTables(arg0.limit[local308], arg0.base[local308], arg0.perm[local308], arg0.len[local308], local354, local356, local216); + arg0.minLens[local308] = local354; } - @Pc(425) int local425 = arg0.anInt401 + 1; + @Pc(425) int local425 = arg0.nInUse + 1; @Pc(427) byte local427 = -1; for (local141 = 0; local141 <= 255; local141++) { - arg0.anIntArray26[local141] = 0; + arg0.unfztab[local141] = 0; } @Pc(443) int local443 = 4095; @Pc(445) int local445; @Pc(449) int local449; for (local445 = 15; local445 >= 0; local445--) { for (local449 = 15; local449 >= 0; local449--) { - arg0.aByteArray1[local443] = (byte) (local445 * 16 + local449); + arg0.mfta[local443] = (byte) (local445 * 16 + local449); local443--; } - arg0.anIntArray25[local445] = local443 + 1; + arg0.mtfbase[local445] = local443 + 1; } @Pc(475) int local475 = 0; @Pc(478) int local478 = local427 + 1; @Pc(480) byte local480 = 50; - @Pc(485) byte local485 = arg0.aByteArray5[0]; - @Pc(490) int local490 = arg0.anIntArray27[local485]; - @Pc(495) int[] local495 = arg0.anIntArrayArray3[local485]; - @Pc(500) int[] local500 = arg0.anIntArrayArray2[local485]; - @Pc(505) int[] local505 = arg0.anIntArrayArray1[local485]; + @Pc(485) byte local485 = arg0.selector[0]; + @Pc(490) int local490 = arg0.minLens[local485]; + @Pc(495) int[] local495 = arg0.limit[local485]; + @Pc(500) int[] local500 = arg0.perm[local485]; + @Pc(505) int[] local505 = arg0.base[local485]; @Pc(506) int local506 = local480 - 1; @Pc(508) int local508 = local490; @Pc(512) int local512; @Pc(522) byte local522; - for (local512 = method3309(local490, arg0); local512 > local495[local508]; local512 = local512 << 1 | local522) { + for (local512 = getBits(local490, arg0); local512 > local495[local508]; local512 = local512 << 1 | local522) { local508++; - local522 = method3315(arg0); + local522 = getBit(arg0); } @Pc(537) int local537 = local500[local512 - local505[local508]]; while (true) { @@ -354,25 +354,25 @@ public final class Bzip2Decompressor { if (local506 == 0) { local478++; local506 = 50; - local485 = arg0.aByteArray5[local478]; - local490 = arg0.anIntArray27[local485]; - local495 = arg0.anIntArrayArray3[local485]; - local500 = arg0.anIntArrayArray2[local485]; - local505 = arg0.anIntArrayArray1[local485]; + local485 = arg0.selector[local478]; + local490 = arg0.minLens[local485]; + local495 = arg0.limit[local485]; + local500 = arg0.perm[local485]; + local505 = arg0.base[local485]; } local506--; local508 = local490; - for (local512 = method3309(local490, arg0); local512 > local495[local508]; local512 = local512 << 1 | local522) { + for (local512 = getBits(local490, arg0); local512 > local495[local508]; local512 = local512 << 1 | local522) { local508++; - local522 = method3315(arg0); + local522 = getBit(arg0); } local537 = local500[local512 - local505[local508]]; } while (local537 == 0 || local537 == 1); local548++; - local61 = arg0.aByteArray2[arg0.aByteArray1[arg0.anIntArray25[0]] & 0xFF]; - arg0.anIntArray26[local61 & 0xFF] += local548; + local61 = arg0.seqToUnseq[arg0.mfta[arg0.mtfbase[0]] & 0xFF]; + arg0.unfztab[local61 & 0xFF] += local548; while (local548 > 0) { - Static221.anIntArray374[local475] = local61 & 0xFF; + Static221.tt[local475] = local61 & 0xFF; local475++; local548--; } @@ -380,93 +380,93 @@ public final class Bzip2Decompressor { @Pc(678) int local678 = local537 - 1; @Pc(686) int local686; if (local678 < 16) { - local686 = arg0.anIntArray25[0]; - local61 = arg0.aByteArray1[local686 + local678]; + local686 = arg0.mtfbase[0]; + local61 = arg0.mfta[local686 + local678]; while (local678 > 3) { @Pc(700) int local700 = local686 + local678; - arg0.aByteArray1[local700] = arg0.aByteArray1[local700 - 1]; - arg0.aByteArray1[local700 - 1] = arg0.aByteArray1[local700 - 2]; - arg0.aByteArray1[local700 - 2] = arg0.aByteArray1[local700 - 3]; - arg0.aByteArray1[local700 - 3] = arg0.aByteArray1[local700 - 4]; + arg0.mfta[local700] = arg0.mfta[local700 - 1]; + arg0.mfta[local700 - 1] = arg0.mfta[local700 - 2]; + arg0.mfta[local700 - 2] = arg0.mfta[local700 - 3]; + arg0.mfta[local700 - 3] = arg0.mfta[local700 - 4]; local678 -= 4; } while (local678 > 0) { - arg0.aByteArray1[local686 + local678] = arg0.aByteArray1[local686 + local678 - 1]; + arg0.mfta[local686 + local678] = arg0.mfta[local686 + local678 - 1]; local678--; } - arg0.aByteArray1[local686] = local61; + arg0.mfta[local686] = local61; } else { @Pc(776) int local776 = local678 / 16; @Pc(780) int local780 = local678 % 16; - local686 = arg0.anIntArray25[local776] + local780; - local61 = arg0.aByteArray1[local686]; - while (local686 > arg0.anIntArray25[local776]) { - arg0.aByteArray1[local686] = arg0.aByteArray1[local686 - 1]; + local686 = arg0.mtfbase[local776] + local780; + local61 = arg0.mfta[local686]; + while (local686 > arg0.mtfbase[local776]) { + arg0.mfta[local686] = arg0.mfta[local686 - 1]; local686--; } - @Pc(815) int local815 = arg0.anIntArray25[local776]++; + @Pc(815) int local815 = arg0.mtfbase[local776]++; while (local776 > 0) { - local815 = arg0.anIntArray25[local776]--; - arg0.aByteArray1[arg0.anIntArray25[local776]] = arg0.aByteArray1[arg0.anIntArray25[local776 - 1] + 16 - 1]; + local815 = arg0.mtfbase[local776]--; + arg0.mfta[arg0.mtfbase[local776]] = arg0.mfta[arg0.mtfbase[local776 - 1] + 16 - 1]; local776--; } - local815 = arg0.anIntArray25[0]--; - arg0.aByteArray1[arg0.anIntArray25[0]] = local61; - if (arg0.anIntArray25[0] == 0) { + local815 = arg0.mtfbase[0]--; + arg0.mfta[arg0.mtfbase[0]] = local61; + if (arg0.mtfbase[0] == 0) { local443 = 4095; for (local445 = 15; local445 >= 0; local445--) { for (local449 = 15; local449 >= 0; local449--) { - arg0.aByteArray1[local443] = arg0.aByteArray1[arg0.anIntArray25[local445] + local449]; + arg0.mfta[local443] = arg0.mfta[arg0.mtfbase[local445] + local449]; local443--; } - arg0.anIntArray25[local445] = local443 + 1; + arg0.mtfbase[local445] = local443 + 1; } } } - arg0.anIntArray26[arg0.aByteArray2[local61 & 0xFF] & 0xFF]++; - Static221.anIntArray374[local475] = arg0.aByteArray2[local61 & 0xFF] & 0xFF; + arg0.unfztab[arg0.seqToUnseq[local61 & 0xFF] & 0xFF]++; + Static221.tt[local475] = arg0.seqToUnseq[local61 & 0xFF] & 0xFF; local475++; if (local506 == 0) { local478++; local506 = 50; - local485 = arg0.aByteArray5[local478]; - local490 = arg0.anIntArray27[local485]; - local495 = arg0.anIntArrayArray3[local485]; - local500 = arg0.anIntArrayArray2[local485]; - local505 = arg0.anIntArrayArray1[local485]; + local485 = arg0.selector[local478]; + local490 = arg0.minLens[local485]; + local495 = arg0.limit[local485]; + local500 = arg0.perm[local485]; + local505 = arg0.base[local485]; } local506--; local508 = local490; - for (local512 = method3309(local490, arg0); local512 > local495[local508]; local512 = local512 << 1 | local522) { + for (local512 = getBits(local490, arg0); local512 > local495[local508]; local512 = local512 << 1 | local522) { local508++; - local522 = method3315(arg0); + local522 = getBit(arg0); } local537 = local500[local512 - local505[local508]]; } } - arg0.anInt405 = 0; - arg0.aByte1 = 0; - arg0.anIntArray24[0] = 0; + arg0.stateOutLen = 0; + arg0.stateOutCh = 0; + arg0.cftab[0] = 0; for (local141 = 1; local141 <= 256; local141++) { - arg0.anIntArray24[local141] = arg0.anIntArray26[local141 - 1]; + arg0.cftab[local141] = arg0.unfztab[local141 - 1]; } for (local141 = 1; local141 <= 256; local141++) { - arg0.anIntArray24[local141] += arg0.anIntArray24[local141 - 1]; + arg0.cftab[local141] += arg0.cftab[local141 - 1]; } for (local141 = 0; local141 < local475; local141++) { - local61 = (byte) (Static221.anIntArray374[local141] & 0xFF); - Static221.anIntArray374[arg0.anIntArray24[local61 & 0xFF]] |= local141 << 8; - arg0.anIntArray24[local61 & 0xFF]++; + local61 = (byte) (Static221.tt[local141] & 0xFF); + Static221.tt[arg0.cftab[local61 & 0xFF]] |= local141 << 8; + arg0.cftab[local61 & 0xFF]++; } - arg0.anInt398 = Static221.anIntArray374[arg0.anInt399] >> 8; - arg0.anInt397 = 0; - arg0.anInt398 = Static221.anIntArray374[arg0.anInt398]; - arg0.anInt396 = (byte) (arg0.anInt398 & 0xFF); - arg0.anInt398 >>= 0x8; - arg0.anInt397++; - arg0.anInt392 = local475; - method3310(arg0); - if (arg0.anInt397 == arg0.anInt392 + 1 && arg0.anInt405 == 0) { + arg0.tPos = Static221.tt[arg0.origPtr] >> 8; + arg0.nblockused = 0; + arg0.tPos = Static221.tt[arg0.tPos]; + arg0.k0 = (byte) (arg0.tPos & 0xFF); + arg0.tPos >>= 0x8; + arg0.nblockused++; + arg0.saveNblock = local475; + unRleObufToOutputFast(arg0); + if (arg0.nblockused == arg0.saveNblock + 1 && arg0.stateOutLen == 0) { local56 = true; break; } @@ -479,27 +479,27 @@ public final class Bzip2Decompressor { } @OriginalMember(owner = "client!oc", name = "e", descriptor = "(Lclient!bb;)B") - private static byte method3315(@OriginalArg(0) Bzip2DState arg0) { - return (byte) method3309(1, arg0); + private static byte getBit(@OriginalArg(0) Bzip2DState arg0) { + return (byte) getBits(1, arg0); } @OriginalMember(owner = "client!oc", name = "a", descriptor = "([BI[BII)I") - public static int method3316(@OriginalArg(0) byte[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) byte[] arg2, @OriginalArg(3) int arg3) { - @Pc(2) Bzip2DState local2 = aClass11_1; - synchronized (aClass11_1) { - aClass11_1.aByteArray4 = arg2; - aClass11_1.anInt389 = 9; - aClass11_1.aByteArray3 = arg0; - aClass11_1.anInt390 = 0; - aClass11_1.anInt394 = arg1; - aClass11_1.anInt395 = 0; - aClass11_1.anInt402 = 0; - aClass11_1.anInt407 = 0; - aClass11_1.anInt403 = 0; - method3314(aClass11_1); - @Pc(37) int local37 = arg1 - aClass11_1.anInt394; - aClass11_1.aByteArray4 = null; - aClass11_1.aByteArray3 = null; + public static int bunzip2(@OriginalArg(0) byte[] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) byte[] arg2, @OriginalArg(3) int arg3) { + @Pc(2) Bzip2DState local2 = state; + synchronized (state) { + state.strmNextIn = arg2; + state.strmNextInPtr = 9; + state.strmNextOut = arg0; + state.strmNextOutPtr = 0; + state.strmAvailOut = arg1; + state.bsLive = 0; + state.bsBuff = 0; + state.strmTotalInLo32 = 0; + state.strmTotalOutLo32 = 0; + decompress(state); + @Pc(37) int local37 = arg1 - state.strmAvailOut; + state.strmNextIn = null; + state.strmNextOut = null; return local37; } } diff --git a/client/src/main/java/Static162.java b/client/src/main/java/Static162.java index 6fc45e2..1427c2d 100644 --- a/client/src/main/java/Static162.java +++ b/client/src/main/java/Static162.java @@ -36,7 +36,7 @@ public final class Static162 { } @Pc(85) byte[] local85 = new byte[local65]; if (local21 == 1) { - Bzip2Decompressor.method3316(local85, local65, arg0, local25); + Bzip2Decompressor.bunzip2(local85, local65, arg0, local25); } else { Static156.aClass56_1.method1842(local85, local17); } diff --git a/client/src/main/java/Static221.java b/client/src/main/java/Static221.java index 17599d4..9e2a104 100644 --- a/client/src/main/java/Static221.java +++ b/client/src/main/java/Static221.java @@ -5,7 +5,7 @@ import org.openrs2.deob.annotation.Pc; public final class Static221 { @OriginalMember(owner = "client!s", name = "a", descriptor = "[I") - public static int[] anIntArray374; + public static int[] tt; @OriginalMember(owner = "client!s", name = "i", descriptor = "[I") public static int[] anIntArray376; diff --git a/client/src/main/java/Static89.java b/client/src/main/java/Static89.java index afaaef0..d7b28e7 100644 --- a/client/src/main/java/Static89.java +++ b/client/src/main/java/Static89.java @@ -95,7 +95,7 @@ public final class Static89 { local10 = new ByteArrayNode(local27); Static53.aClass54_5.put(local10, (long) arg0); } - return local10.aByteArray37; + return local10.value; } @OriginalMember(owner = "client!ha", name = "a", descriptor = "([IJIZ)Lclient!na;")