diff --git a/client/src/main/java/Class103.java b/client/src/main/java/Class103.java deleted file mode 100644 index 2db8893..0000000 --- a/client/src/main/java/Class103.java +++ /dev/null @@ -1,109 +0,0 @@ -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!nd") -public final class Class103 { - - @OriginalMember(owner = "client!nd", name = "c", descriptor = "[B") - public static final byte[] aByteArray53 = new byte[32896]; - - @OriginalMember(owner = "client!nd", name = "f", descriptor = "I") - private int anInt4062 = -1; - - @OriginalMember(owner = "client!nd", name = "k", descriptor = "I") - private int anInt4066 = 0; - - @OriginalMember(owner = "client!nd", name = "g", descriptor = "Lclient!ih;") - private LinkedList aClass69_96 = new LinkedList(); - - @OriginalMember(owner = "client!nd", name = "w", descriptor = "Z") - public boolean aBoolean195 = false; - - @OriginalMember(owner = "client!nd", name = "l", descriptor = "I") - private final int anInt4067; - - @OriginalMember(owner = "client!nd", name = "i", descriptor = "I") - private final int anInt4064; - - @OriginalMember(owner = "client!nd", name = "o", descriptor = "[Lclient!lb;") - private Class3_Sub23[] aClass3_Sub23Array1; - - @OriginalMember(owner = "client!nd", name = "a", descriptor = "[[[I") - private int[][][] anIntArrayArrayArray13; - - static { - @Pc(8) int local8 = 0; - for (@Pc(10) int local10 = 0; local10 < 256; local10++) { - for (@Pc(15) int local15 = 0; local15 <= local10; local15++) { - aByteArray53[local8++] = (byte) (255.0D / Math.sqrt((double) ((float) (local15 * local15 + local10 * local10 + 65535) / 65535.0F))); - } - } - } - - @OriginalMember(owner = "client!nd", name = "", descriptor = "(III)V") - public Class103(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) { - this.anInt4067 = arg1; - this.anInt4064 = arg0; - this.aClass3_Sub23Array1 = new Class3_Sub23[this.anInt4067]; - this.anIntArrayArrayArray13 = new int[this.anInt4064][3][arg2]; - } - - @OriginalMember(owner = "client!nd", name = "a", descriptor = "(B)[[[I") - public final int[][][] method3168() { - if (this.anInt4067 != this.anInt4064) { - throw new RuntimeException("Can only retrieve a full image cache"); - } - for (@Pc(27) int local27 = 0; local27 < this.anInt4064; local27++) { - this.aClass3_Sub23Array1[local27] = Static13.aClass3_Sub23_1; - } - return this.anIntArrayArrayArray13; - } - - @OriginalMember(owner = "client!nd", name = "b", descriptor = "(B)V") - public final void method3169() { - for (@Pc(7) int local7 = 0; local7 < this.anInt4064; local7++) { - this.anIntArrayArrayArray13[local7][0] = null; - this.anIntArrayArrayArray13[local7][1] = null; - this.anIntArrayArrayArray13[local7][2] = null; - this.anIntArrayArrayArray13[local7] = null; - } - this.aClass3_Sub23Array1 = null; - this.anIntArrayArrayArray13 = null; - this.aClass69_96.method2278(); - this.aClass69_96 = null; - } - - @OriginalMember(owner = "client!nd", name = "a", descriptor = "(BI)[[I") - public final int[][] method3173(@OriginalArg(1) int arg0) { - if (this.anInt4064 == this.anInt4067) { - this.aBoolean195 = this.aClass3_Sub23Array1[arg0] == null; - this.aClass3_Sub23Array1[arg0] = Static13.aClass3_Sub23_1; - return this.anIntArrayArrayArray13[arg0]; - } else if (this.anInt4064 == 1) { - this.aBoolean195 = this.anInt4062 != arg0; - this.anInt4062 = arg0; - return this.anIntArrayArrayArray13[0]; - } else { - @Pc(44) Class3_Sub23 local44 = this.aClass3_Sub23Array1[arg0]; - if (local44 == null) { - this.aBoolean195 = true; - if (this.anInt4066 < this.anInt4064) { - local44 = new Class3_Sub23(arg0, this.anInt4066); - this.anInt4066++; - } else { - @Pc(80) Class3_Sub23 local80 = (Class3_Sub23) this.aClass69_96.method2279(); - local44 = new Class3_Sub23(arg0, local80.anInt3468); - this.aClass3_Sub23Array1[local80.anInt3476] = null; - local80.method4658(); - } - this.aClass3_Sub23Array1[arg0] = local44; - } else { - this.aBoolean195 = false; - } - this.aClass69_96.method2283(local44); - return this.anIntArrayArrayArray13[local44.anInt3468]; - } - } -} diff --git a/client/src/main/java/Class106.java b/client/src/main/java/Class106.java index f0751b3..3563f91 100644 --- a/client/src/main/java/Class106.java +++ b/client/src/main/java/Class106.java @@ -74,7 +74,7 @@ public abstract class Class106 { @Pc(178) int local178 = local162 + 1; @Pc(182) int local182 = local170 + 1; @Pc(190) int local190 = local11[local82] * local16 >> 12; - @Pc(194) int local194 = MonochromeImageCache.anIntArray1[local166]; + @Pc(194) int local194 = MonochromeImageCacheBack.anIntArray1[local166]; @Pc(199) int local199 = local190 * this.anInt5002; @Pc(203) int local203 = local170 & 0xFF; @Pc(207) int local207 = local162 & 0xFF; @@ -96,7 +96,7 @@ public abstract class Class106 { @Pc(259) short local259 = this.aShortArray69[local236 + local232]; local126 = local138 & 0xFFF; local222 &= 0xFF; - @Pc(271) int local271 = MonochromeImageCache.anIntArray1[local126]; + @Pc(271) int local271 = MonochromeImageCacheBack.anIntArray1[local126]; @Pc(278) short local278 = this.aShortArray69[local222 + local232]; @Pc(285) short local285 = this.aShortArray69[local227 + local222]; if (local118 <= local178) { @@ -105,7 +105,7 @@ public abstract class Class106 { local178 &= 0xFF; } @Pc(300) int local300 = local190 - 4096; - @Pc(304) int local304 = MonochromeImageCache.anIntArray1[local190]; + @Pc(304) int local304 = MonochromeImageCacheBack.anIntArray1[local190]; @Pc(308) int local308 = local126 - 4096; @Pc(315) short local315 = this.aShortArray69[local227 + local236]; @Pc(327) int local327 = Static225.method3891(local166, local126, local190, this.aShortArray69[local285 + local207]); diff --git a/client/src/main/java/MonochromeImageCache.java b/client/src/main/java/MonochromeImageCache.java index a1f09ff..e26d395 100644 --- a/client/src/main/java/MonochromeImageCache.java +++ b/client/src/main/java/MonochromeImageCache.java @@ -1,16 +1,109 @@ +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!a") +@OriginalClass("client!nd") public final class MonochromeImageCache { - @OriginalMember(owner = "client!a", name = "b", descriptor = "[I") - public static final int[] anIntArray1 = new int[4096]; + @OriginalMember(owner = "client!nd", name = "c", descriptor = "[B") + public static final byte[] aByteArray53 = new byte[32896]; + + @OriginalMember(owner = "client!nd", name = "f", descriptor = "I") + private int anInt4062 = -1; + + @OriginalMember(owner = "client!nd", name = "k", descriptor = "I") + private int anInt4066 = 0; + + @OriginalMember(owner = "client!nd", name = "g", descriptor = "Lclient!ih;") + private LinkedList aClass69_96 = new LinkedList(); + + @OriginalMember(owner = "client!nd", name = "w", descriptor = "Z") + public boolean aBoolean195 = false; + + @OriginalMember(owner = "client!nd", name = "l", descriptor = "I") + private final int anInt4067; + + @OriginalMember(owner = "client!nd", name = "i", descriptor = "I") + private final int anInt4064; + + @OriginalMember(owner = "client!nd", name = "o", descriptor = "[Lclient!lb;") + private Class3_Sub23[] aClass3_Sub23Array1; + + @OriginalMember(owner = "client!nd", name = "a", descriptor = "[[[I") + private int[][][] anIntArrayArrayArray13; static { - for (@Pc(4) int local4 = 0; local4 < 4096; local4++) { - anIntArray1[local4] = Static273.method3211(local4); + @Pc(8) int local8 = 0; + for (@Pc(10) int local10 = 0; local10 < 256; local10++) { + for (@Pc(15) int local15 = 0; local15 <= local10; local15++) { + aByteArray53[local8++] = (byte) (255.0D / Math.sqrt((double) ((float) (local15 * local15 + local10 * local10 + 65535) / 65535.0F))); + } + } + } + + @OriginalMember(owner = "client!nd", name = "", descriptor = "(III)V") + public MonochromeImageCache(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) { + this.anInt4067 = arg1; + this.anInt4064 = arg0; + this.aClass3_Sub23Array1 = new Class3_Sub23[this.anInt4067]; + this.anIntArrayArrayArray13 = new int[this.anInt4064][3][arg2]; + } + + @OriginalMember(owner = "client!nd", name = "a", descriptor = "(B)[[[I") + public final int[][][] method3168() { + if (this.anInt4067 != this.anInt4064) { + throw new RuntimeException("Can only retrieve a full image cache"); + } + for (@Pc(27) int local27 = 0; local27 < this.anInt4064; local27++) { + this.aClass3_Sub23Array1[local27] = Static13.aClass3_Sub23_1; + } + return this.anIntArrayArrayArray13; + } + + @OriginalMember(owner = "client!nd", name = "b", descriptor = "(B)V") + public final void method3169() { + for (@Pc(7) int local7 = 0; local7 < this.anInt4064; local7++) { + this.anIntArrayArrayArray13[local7][0] = null; + this.anIntArrayArrayArray13[local7][1] = null; + this.anIntArrayArrayArray13[local7][2] = null; + this.anIntArrayArrayArray13[local7] = null; + } + this.aClass3_Sub23Array1 = null; + this.anIntArrayArrayArray13 = null; + this.aClass69_96.method2278(); + this.aClass69_96 = null; + } + + @OriginalMember(owner = "client!nd", name = "a", descriptor = "(BI)[[I") + public final int[][] method3173(@OriginalArg(1) int arg0) { + if (this.anInt4064 == this.anInt4067) { + this.aBoolean195 = this.aClass3_Sub23Array1[arg0] == null; + this.aClass3_Sub23Array1[arg0] = Static13.aClass3_Sub23_1; + return this.anIntArrayArrayArray13[arg0]; + } else if (this.anInt4064 == 1) { + this.aBoolean195 = this.anInt4062 != arg0; + this.anInt4062 = arg0; + return this.anIntArrayArrayArray13[0]; + } else { + @Pc(44) Class3_Sub23 local44 = this.aClass3_Sub23Array1[arg0]; + if (local44 == null) { + this.aBoolean195 = true; + if (this.anInt4066 < this.anInt4064) { + local44 = new Class3_Sub23(arg0, this.anInt4066); + this.anInt4066++; + } else { + @Pc(80) Class3_Sub23 local80 = (Class3_Sub23) this.aClass69_96.method2279(); + local44 = new Class3_Sub23(arg0, local80.anInt3468); + this.aClass3_Sub23Array1[local80.anInt3476] = null; + local80.method4658(); + } + this.aClass3_Sub23Array1[arg0] = local44; + } else { + this.aBoolean195 = false; + } + this.aClass69_96.method2283(local44); + return this.anIntArrayArrayArray13[local44.anInt3468]; } } } diff --git a/client/src/main/java/MonochromeImageCacheBack.java b/client/src/main/java/MonochromeImageCacheBack.java new file mode 100644 index 0000000..6dca73d --- /dev/null +++ b/client/src/main/java/MonochromeImageCacheBack.java @@ -0,0 +1,16 @@ +import org.openrs2.deob.annotation.OriginalClass; +import org.openrs2.deob.annotation.OriginalMember; +import org.openrs2.deob.annotation.Pc; + +@OriginalClass("client!a") +public final class MonochromeImageCacheBack { + + @OriginalMember(owner = "client!a", name = "b", descriptor = "[I") + public static final int[] anIntArray1 = new int[4096]; + + static { + for (@Pc(4) int local4 = 0; local4 < 4096; local4++) { + anIntArray1[local4] = Static273.method3211(local4); + } + } +} diff --git a/client/src/main/java/TextureOp.java b/client/src/main/java/TextureOp.java index 9c9303f..e8fa62a 100644 --- a/client/src/main/java/TextureOp.java +++ b/client/src/main/java/TextureOp.java @@ -7,7 +7,7 @@ import org.openrs2.deob.annotation.Pc; public abstract class TextureOp extends Node { @OriginalMember(owner = "client!j", name = "t", descriptor = "Lclient!nd;") - protected Class103 aClass103_41; + protected MonochromeImageCache aClass103_41; @OriginalMember(owner = "client!j", name = "G", descriptor = "I") public int anInt5840; @@ -61,7 +61,7 @@ public abstract class TextureOp extends Node { if (this.aBoolean309) { this.aClass121_41 = new ColorImageCache(local15, arg0, arg1); } else { - this.aClass103_41 = new Class103(local15, arg0, arg1); + this.aClass103_41 = new MonochromeImageCache(local15, arg0, arg1); } } diff --git a/client/src/main/java/TextureOp24.java b/client/src/main/java/TextureOp24.java index 42849dc..e70b85b 100644 --- a/client/src/main/java/TextureOp24.java +++ b/client/src/main/java/TextureOp24.java @@ -67,7 +67,7 @@ public final class TextureOp24 extends TextureOp { if (local113 > 255) { local113 = 255; } - @Pc(142) int local142 = Class103.aByteArray53[(local113 * (local113 + 1) >> 1) + local98] & 0xFF; + @Pc(142) int local142 = MonochromeImageCache.aByteArray53[(local113 * (local113 + 1) >> 1) + local98] & 0xFF; @Pc(148) int local148 = local94 * local142 >> 8; @Pc(154) int local154 = local142 * local81 >> 8; @Pc(163) int local163 = local148 * this.anIntArray406[1] >> 12; diff --git a/client/src/main/java/TextureOp4.java b/client/src/main/java/TextureOp4.java index 5971fde..6287604 100644 --- a/client/src/main/java/TextureOp4.java +++ b/client/src/main/java/TextureOp4.java @@ -63,7 +63,7 @@ public final class TextureOp4 extends TextureOp { local64 = local60 >> 12; local77 = this.aByteArray10[local64 & 0xFF] & 0xFF; local60 &= 0xFFF; - local85 = MonochromeImageCache.anIntArray1[local60]; + local85 = MonochromeImageCacheBack.anIntArray1[local60]; local68 = local64 + 1; if (local47 <= local68) { local68 = 0; @@ -95,7 +95,7 @@ public final class TextureOp4 extends TextureOp { local68 = local64 + 1; local77 = this.aByteArray10[local64 & 0xFF] & 0xFF; @Pc(81) int local81 = local60 & 0xFFF; - local85 = MonochromeImageCache.anIntArray1[local81]; + local85 = MonochromeImageCacheBack.anIntArray1[local81]; if (local68 >= local47) { local68 = 0; } @@ -116,7 +116,7 @@ public final class TextureOp4 extends TextureOp { local54 = this.anInt646 * local40 >> 12; local68 = local64 + 1; local60 &= 0xFFF; - local85 = MonochromeImageCache.anIntArray1[local60]; + local85 = MonochromeImageCacheBack.anIntArray1[local60]; local47 = this.anInt641 * local40 >> 12; if (local68 >= local47) { local68 = 0; @@ -209,7 +209,7 @@ public final class TextureOp4 extends TextureOp { } @Pc(40) int local40 = arg0 & 0xFFF; @Pc(50) int local50 = this.aByteArray10[local27 + arg2] & 0x3; - @Pc(54) int local54 = MonochromeImageCache.anIntArray1[local40]; + @Pc(54) int local54 = MonochromeImageCacheBack.anIntArray1[local40]; @Pc(70) int local70; if (local50 > 1) { local70 = local50 == 2 ? local40 - arg4 : -local40 + -arg4;