import org.openrs2.deob.annotation.OriginalArg; import org.openrs2.deob.annotation.OriginalClass; import org.openrs2.deob.annotation.OriginalMember; import org.openrs2.deob.annotation.Pc; @OriginalClass("client!bi") public final class TextureOp4 extends TextureOp { @OriginalMember(owner = "client!bi", name = "ib", descriptor = "[S") private short[] aShortArray3; @OriginalMember(owner = "client!bi", name = "lb", descriptor = "[S") private short[] aShortArray4; @OriginalMember(owner = "client!bi", name = "X", descriptor = "I") public int anInt641 = 4; @OriginalMember(owner = "client!bi", name = "eb", descriptor = "I") public int anInt646 = 4; @OriginalMember(owner = "client!bi", name = "kb", descriptor = "Z") public boolean aBoolean44 = true; @OriginalMember(owner = "client!bi", name = "gb", descriptor = "I") public int anInt648 = 1638; @OriginalMember(owner = "client!bi", name = "ab", descriptor = "[B") private byte[] aByteArray10 = new byte[512]; @OriginalMember(owner = "client!bi", name = "Z", descriptor = "I") public int anInt642 = 4; @OriginalMember(owner = "client!bi", name = "mb", descriptor = "I") public int anInt650 = 0; @OriginalMember(owner = "client!bi", name = "", descriptor = "()V") public TextureOp4() { super(0, true); } @OriginalMember(owner = "client!bi", name = "a", descriptor = "(ZI[I)V") public final void method584(@OriginalArg(1) int arg0, @OriginalArg(2) int[] arg1) { @Pc(12) int local12 = this.anInt641 * Static64.anIntArray153[arg0]; @Pc(115) int local115; @Pc(129) int local129; @Pc(40) int local40; @Pc(27) short local27; @Pc(105) int local105; @Pc(60) int local60; @Pc(54) int local54; @Pc(47) int local47; @Pc(85) int local85; @Pc(64) int local64; @Pc(68) int local68; @Pc(77) int local77; @Pc(103) int local103; if (this.anInt642 == 1) { local27 = this.aShortArray4[0]; local40 = this.aShortArray3[0] << 12; local60 = local12 * local40 >> 12; local54 = this.anInt646 * local40 >> 12; local47 = local40 * this.anInt641 >> 12; local64 = local60 >> 12; local77 = this.aByteArray10[local64 & 0xFF] & 0xFF; local60 &= 0xFFF; local85 = MonochromeImageCacheBack.anIntArray1[local60]; local68 = local64 + 1; if (local47 <= local68) { local68 = 0; } local103 = this.aByteArray10[local68 & 0xFF] & 0xFF; if (this.aBoolean44) { for (local105 = 0; local105 < Static189.anInt4457; local105++) { local115 = this.anInt646 * Static173.anIntArray367[local105]; local129 = this.method590(local40 * local115 >> 12, local103, local77, local54, local60, local85); local129 = local27 * local129 >> 12; arg1[local105] = (local129 >> 1) + 2048; } } else { for (local105 = 0; local105 < Static189.anInt4457; local105++) { local115 = this.anInt646 * Static173.anIntArray367[local105]; local129 = this.method590(local40 * local115 >> 12, local103, local77, local54, local60, local85); arg1[local105] = local27 * local129 >> 12; } } return; } local27 = this.aShortArray4[0]; if (local27 > 8 || local27 < -8) { local40 = this.aShortArray3[0] << 12; local47 = local40 * this.anInt641 >> 12; local54 = this.anInt646 * local40 >> 12; local60 = local12 * local40 >> 12; local64 = local60 >> 12; local68 = local64 + 1; local77 = this.aByteArray10[local64 & 0xFF] & 0xFF; @Pc(81) int local81 = local60 & 0xFFF; local85 = MonochromeImageCacheBack.anIntArray1[local81]; if (local68 >= local47) { local68 = 0; } local103 = this.aByteArray10[local68 & 0xFF] & 0xFF; for (local105 = 0; local105 < Static189.anInt4457; local105++) { local115 = Static173.anIntArray367[local105] * this.anInt646; local129 = this.method590(local115 * local40 >> 12, local103, local77, local54, local81, local85); arg1[local105] = local129 * local27 >> 12; } } for (@Pc(142) int local142 = 1; local142 < this.anInt642; local142++) { local27 = this.aShortArray4[local142]; if (local27 > 8 || local27 < -8) { local40 = this.aShortArray3[local142] << 12; local60 = local40 * local12 >> 12; local64 = local60 >> 12; local77 = this.aByteArray10[local64 & 0xFF] & 0xFF; local54 = this.anInt646 * local40 >> 12; local68 = local64 + 1; local60 &= 0xFFF; local85 = MonochromeImageCacheBack.anIntArray1[local60]; local47 = this.anInt641 * local40 >> 12; if (local68 >= local47) { local68 = 0; } local103 = this.aByteArray10[local68 & 0xFF] & 0xFF; if (this.aBoolean44 && local142 == this.anInt642 - 1) { for (local105 = 0; local105 < Static189.anInt4457; local105++) { local115 = Static173.anIntArray367[local105] * this.anInt646; local129 = this.method590(local40 * local115 >> 12, local103, local77, local54, local60, local85); local129 = (local27 * local129 >> 12) + arg1[local105]; arg1[local105] = (local129 >> 1) + 2048; } } else { for (local105 = 0; local105 < Static189.anInt4457; local105++) { local115 = Static173.anIntArray367[local105] * this.anInt646; local129 = this.method590(local115 * local40 >> 12, local103, local77, local54, local60, local85); arg1[local105] += local129 * local27 >> 12; } } } } } @OriginalMember(owner = "client!bi", name = "e", descriptor = "(I)V") @Override public final void method4630() { this.aByteArray10 = Static89.method1837(this.anInt650); this.method589(); for (@Pc(15) int local15 = this.anInt642 - 1; local15 >= 1; local15--) { @Pc(23) short local23 = this.aShortArray4[local15]; if (local23 > 8 || local23 < -8) { break; } this.anInt642--; } } @OriginalMember(owner = "client!bi", name = "a", descriptor = "(ILclient!wa;Z)V") @Override public final void method4629(@OriginalArg(0) int arg0, @OriginalArg(1) Buffer arg1) { if (arg0 == 0) { this.aBoolean44 = arg1.method2229() == 1; } else if (arg0 == 1) { this.anInt642 = arg1.method2229(); } else if (arg0 == 2) { this.anInt648 = arg1.method2213(); if (this.anInt648 < 0) { this.aShortArray4 = new short[this.anInt642]; for (@Pc(93) int local93 = 0; local93 < this.anInt642; local93++) { this.aShortArray4[local93] = (short) arg1.method2213(); } } } else if (arg0 == 3) { this.anInt646 = this.anInt641 = arg1.method2229(); } else if (arg0 == 4) { this.anInt650 = arg1.method2229(); } else if (arg0 == 5) { this.anInt646 = arg1.method2229(); } else if (arg0 == 6) { this.anInt641 = arg1.method2229(); } } @OriginalMember(owner = "client!bi", name = "b", descriptor = "(Z)V") private void method589() { @Pc(21) int local21; if (this.anInt648 > 0) { this.aShortArray4 = new short[this.anInt642]; this.aShortArray3 = new short[this.anInt642]; for (local21 = 0; local21 < this.anInt642; local21++) { this.aShortArray4[local21] = (short) (Math.pow((double) ((float) this.anInt648 / 4096.0F), (double) local21) * 4096.0D); this.aShortArray3[local21] = (short) Math.pow(2.0D, (double) local21); } } else if (this.aShortArray4 != null && this.aShortArray4.length == this.anInt642) { this.aShortArray3 = new short[this.anInt642]; for (local21 = 0; local21 < this.anInt642; local21++) { this.aShortArray3[local21] = (short) Math.pow(2.0D, (double) local21); } } } @OriginalMember(owner = "client!bi", name = "a", descriptor = "(IIIIIII)I") private int method590(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5) { @Pc(15) int local15 = arg4 - 4096; @Pc(19) int local19 = arg0 >> 12; @Pc(23) int local23 = local19 + 1; @Pc(27) int local27 = local19 & 0xFF; if (local23 >= arg3) { local23 = 0; } @Pc(40) int local40 = arg0 & 0xFFF; @Pc(50) int local50 = this.aByteArray10[local27 + arg2] & 0x3; @Pc(54) int local54 = MonochromeImageCacheBack.anIntArray1[local40]; @Pc(70) int local70; if (local50 > 1) { local70 = local50 == 2 ? local40 - arg4 : -local40 + -arg4; } else { local70 = local50 == 0 ? arg4 + local40 : -local40 + arg4; } local23 &= 0xFF; @Pc(92) int local92 = local40 - 4096; local50 = this.aByteArray10[arg2 + local23] & 0x3; @Pc(118) int local118; if (local50 <= 1) { local118 = local50 == 0 ? arg4 + local92 : -local92 + arg4; } else { local118 = local50 == 2 ? local92 - arg4 : -local92 + -arg4; } local50 = this.aByteArray10[local27 + arg1] & 0x3; @Pc(155) int local155 = local70 + ((local118 - local70) * local54 >> 12); if (local50 > 1) { local70 = local50 == 2 ? local40 - local15 : -local40 - local15; } else { local70 = local50 == 0 ? local40 + local15 : local15 + -local40; } local50 = this.aByteArray10[arg1 + local23] & 0x3; if (local50 > 1) { local118 = local50 == 2 ? local92 - local15 : -local15 + -local92; } else { local118 = local50 == 0 ? local92 + local15 : local15 + -local92; } @Pc(237) int local237 = local70 + ((local118 - local70) * local54 >> 12); return local155 + (arg5 * (local237 - local155) >> 12); } @OriginalMember(owner = "client!bi", name = "a", descriptor = "(IB)[I") @Override public final int[] method4626(@OriginalArg(0) int arg0) { @Pc(17) int[] local17 = this.aClass121_41.method3445(arg0); if (this.aClass121_41.aBoolean221) { this.method584(arg0, local17); } return local17; } }