diff --git a/client/src/main/java/GlModel.java b/client/src/main/java/GlModel.java index 9460822..547fe26 100644 --- a/client/src/main/java/GlModel.java +++ b/client/src/main/java/GlModel.java @@ -3070,7 +3070,7 @@ public final class GlModel extends Model { @Pc(439) short local439 = this.aShortArray80[local427]; if (local439 == -1) { GlRenderer.setTextureId(-1); - Static27.setMaterial(0, 0); + MaterialManager.setMaterial(0, 0); } else { Rasteriser.textureProvider.method3227(local439 & 0xFFFF); } diff --git a/client/src/main/java/GlRenderer.java b/client/src/main/java/GlRenderer.java index b363733..c20712f 100644 --- a/client/src/main/java/GlRenderer.java +++ b/client/src/main/java/GlRenderer.java @@ -137,7 +137,7 @@ public final class GlRenderer { @OriginalMember(owner = "client!tf", name = "a", descriptor = "()V") public static void method4149() { - Static27.setMaterial(0, 0); + MaterialManager.setMaterial(0, 0); method4163(); setTextureCombineRgbMode(1); setTextureCombineAlphaMode(1); @@ -159,7 +159,7 @@ public final class GlRenderer { @OriginalMember(owner = "client!tf", name = "c", descriptor = "()V") public static void method4151() { - Static27.setMaterial(0, 0); // MaterialManager + MaterialManager.setMaterial(0, 0); // MaterialManager method4163(); setTextureCombineRgbMode(0); setTextureCombineAlphaMode(0); @@ -214,7 +214,7 @@ public final class GlRenderer { @OriginalMember(owner = "client!tf", name = "e", descriptor = "()V") public static void method4155() { - Static27.setMaterial(0, 0); + MaterialManager.setMaterial(0, 0); method4163(); setTextureCombineRgbMode(0); setTextureCombineAlphaMode(0); @@ -341,7 +341,7 @@ public final class GlRenderer { @OriginalMember(owner = "client!tf", name = "i", descriptor = "()V") public static void method4162() { - Static27.setMaterial(0, 0); + MaterialManager.setMaterial(0, 0); method4163(); setTextureId(-1); setLightingEnabled(false); @@ -474,7 +474,7 @@ public final class GlRenderer { public static void quit() { if (gl != null) { try { - Static172.quit(); // MaterialManager + MaterialManager.quit(); // MaterialManager } catch (@Pc(5) Throwable local5) { } } @@ -807,6 +807,6 @@ public final class GlRenderer { gl.glBindTexture(GL2.GL_TEXTURE_2D, anInt5328); gl.glTexImage2D(GL2.GL_TEXTURE_2D, 0, 4, 1, 1, 0, GL2.GL_RGBA, GL2.GL_UNSIGNED_BYTE, IntBuffer.wrap(new int[] { -1 })); Static120.method2401(); - Static238.method4145(); + MaterialManager.init(); } } diff --git a/client/src/main/java/GlSolidColorTexture.java b/client/src/main/java/GlSolidColorTexture.java index 8eb71ef..ddb0bd6 100644 --- a/client/src/main/java/GlSolidColorTexture.java +++ b/client/src/main/java/GlSolidColorTexture.java @@ -48,7 +48,7 @@ public final class GlSolidColorTexture extends SecondaryNode { @OriginalMember(owner = "client!sd", name = "g", descriptor = "(B)V") public final void method3887() { - @Pc(8) int local8 = Static56.method1314(); + @Pc(8) int local8 = MaterialManager.getFlags(); if ((local8 & 0x1) == 0) { GlRenderer.setTextureId(this.anInt5058); } diff --git a/client/src/main/java/GlTexture.java b/client/src/main/java/GlTexture.java index b020d16..b5b458c 100644 --- a/client/src/main/java/GlTexture.java +++ b/client/src/main/java/GlTexture.java @@ -173,7 +173,7 @@ public final class GlTexture extends SecondaryNode { } @Pc(22) GL2 gl = GlRenderer.gl; @Pc(28) int size = arg2 ? 64 : 128; - @Pc(31) int local31 = Static56.method1314(); + @Pc(31) int local31 = MaterialManager.getFlags(); if ((local31 & 0x1) == 0) { if (this.textureId == -1) { @Pc(53) int[] temp = new int[1]; diff --git a/client/src/main/java/GlTile.java b/client/src/main/java/GlTile.java index beed432..f09a947 100644 --- a/client/src/main/java/GlTile.java +++ b/client/src/main/java/GlTile.java @@ -278,7 +278,7 @@ public final class GlTile extends Node { @Pc(257) GL2 local257 = GlRenderer.gl; if (this.anInt2485 == -1 || arg2) { GlRenderer.setTextureId(-1); - Static27.setMaterial(0, 0); + MaterialManager.setMaterial(0, 0); } else { Rasteriser.textureProvider.method3227(this.anInt2485); } diff --git a/client/src/main/java/Inv.java b/client/src/main/java/Inv.java index 7f2a82b..e5ff72a 100644 --- a/client/src/main/java/Inv.java +++ b/client/src/main/java/Inv.java @@ -4,7 +4,9 @@ import org.openrs2.deob.annotation.OriginalMember; @OriginalClass("client!qe") public final class Inv extends Node { - @OriginalMember(owner = "client!qe", name = "p", descriptor = "[I") + @OriginalMember(owner = "client!cb", name = "I", descriptor = "[I") + public static final int[] updatedInventories = new int[32]; + @OriginalMember(owner = "client!qe", name = "p", descriptor = "[I") public int[] objectIds = new int[] { -1 }; @OriginalMember(owner = "client!qe", name = "u", descriptor = "[I") diff --git a/client/src/main/java/Js5GlTextureProvider.java b/client/src/main/java/Js5GlTextureProvider.java index 31eeb1e..dd19096 100644 --- a/client/src/main/java/Js5GlTextureProvider.java +++ b/client/src/main/java/Js5GlTextureProvider.java @@ -149,7 +149,7 @@ public final class Js5GlTextureProvider implements TextureProvider { @OriginalMember(owner = "client!nk", name = "a", descriptor = "(IZ)V") @Override public final void method3227(@OriginalArg(0) int arg0) { - Static27.setMaterial(this.aByteArray61[arg0] & 0xFF, this.aByteArray62[arg0] & 0xFF); + MaterialManager.setMaterial(this.aByteArray61[arg0] & 0xFF, this.aByteArray62[arg0] & 0xFF); @Pc(23) boolean local23 = false; @Pc(28) GlTexture local28 = this.method3242(arg0); if (local28 != null) { diff --git a/client/src/main/java/LiquidMaterialRenderer.java b/client/src/main/java/LiquidMaterialRenderer.java index 74f9b5e..9c76ddf 100644 --- a/client/src/main/java/LiquidMaterialRenderer.java +++ b/client/src/main/java/LiquidMaterialRenderer.java @@ -62,7 +62,7 @@ public final class LiquidMaterialRenderer implements MaterialRenderer { @OriginalMember(owner = "client!rd", name = "a", descriptor = "()V") @Override - public final void method4602() { + public final void unbind() { if (this.anInt4831 >= 0) { @Pc(5) GL2 local5 = GlRenderer.gl; local5.glCallList(this.anInt4831 + 1); @@ -71,13 +71,13 @@ public final class LiquidMaterialRenderer implements MaterialRenderer { @OriginalMember(owner = "client!rd", name = "c", descriptor = "()I") @Override - public final int method4605() { + public final int getFlags() { return 0; } @OriginalMember(owner = "client!rd", name = "b", descriptor = "()V") @Override - public final void method4603() { + public final void bind() { if (this.anInt4831 < 0) { return; } @@ -160,7 +160,7 @@ public final class LiquidMaterialRenderer implements MaterialRenderer { @OriginalMember(owner = "client!rd", name = "a", descriptor = "(I)V") @Override - public final void method4604(@OriginalArg(0) int arg0) { + public final void setArgument(@OriginalArg(0) int arg0) { if (this.anInt4831 < 0) { return; } diff --git a/client/src/main/java/MaterialManager.java b/client/src/main/java/MaterialManager.java new file mode 100644 index 0000000..5ab9539 --- /dev/null +++ b/client/src/main/java/MaterialManager.java @@ -0,0 +1,71 @@ +import org.openrs2.deob.annotation.OriginalArg; +import org.openrs2.deob.annotation.OriginalMember; +import org.openrs2.deob.annotation.Pc; + +public class MaterialManager { + @OriginalMember(owner = "client!dl", name = "c", descriptor = "I") + public static int currentType = 0; + @OriginalMember(owner = "client!je", name = "R", descriptor = "Z") + public static boolean renderingUnderwater = false; + @OriginalMember(owner = "client!aa", name = "t", descriptor = "[Lclient!pc;") + public static MaterialRenderer[] renderers; + @OriginalMember(owner = "client!mh", name = "eb", descriptor = "I") + public static int currentArg = 0; + + @OriginalMember(owner = "client!cb", name = "b", descriptor = "(III)V") + public static void setMaterial(@OriginalArg(1) int arg, @OriginalArg(2) int type) { + if (type == 4 && !Preferences.highWaterDetail) { + type = 2; + arg = 2; + } + if (currentType != type) { + if (renderingUnderwater) { + return; + } + if (currentType != 0) { + renderers[currentType].unbind(); + } + if (type != 0) { + @Pc(61) MaterialRenderer renderer = renderers[type]; + renderer.bind(); + renderer.setArgument(arg); + } + currentType = type; + currentArg = arg; + } else if (type != 0 && arg != currentArg) { + renderers[type].setArgument(arg); + currentArg = arg; + } + } + + @OriginalMember(owner = "client!ka", name = "b", descriptor = "(II)V") + public static void resetArgument(@OriginalArg(1) int arg0) { + if (arg0 == currentType) { + @Pc(12) MaterialRenderer local12 = renderers[arg0]; + local12.setArgument(currentArg); + } + } + + @OriginalMember(owner = "client!ef", name = "a", descriptor = "(I)I") + public static int getFlags() { + return currentType == 0 ? 0 : renderers[currentType].getFlags(); + } + + @OriginalMember(owner = "client!nj", name = "a", descriptor = "(I)V") + public static void quit() { + renderers = null; + Static151.method2808(); + } + + @OriginalMember(owner = "client!te", name = "e", descriptor = "(I)V") + public static void init() { + Static151.method2809(); + renderers = new MaterialRenderer[7]; + renderers[1] = new SpecularMaterialRenderer(); + renderers[2] = new LiquidMaterialRenderer(); + renderers[3] = new UnderwaterMaterialRenderer(); + renderers[4] = new WaterMaterialRenderer(); + renderers[5] = new WaterfallMaterialRenderer(); + renderers[6] = new UnlitMaterialRenderer(); + } +} diff --git a/client/src/main/java/MaterialRenderer.java b/client/src/main/java/MaterialRenderer.java index 6967fa1..5a0c511 100644 --- a/client/src/main/java/MaterialRenderer.java +++ b/client/src/main/java/MaterialRenderer.java @@ -6,14 +6,14 @@ import org.openrs2.deob.annotation.OriginalMember; public interface MaterialRenderer { @OriginalMember(owner = "client!pc", name = "a", descriptor = "()V") - void method4602(); + void unbind(); @OriginalMember(owner = "client!pc", name = "b", descriptor = "()V") - void method4603(); + void bind(); @OriginalMember(owner = "client!pc", name = "a", descriptor = "(I)V") - void method4604(@OriginalArg(0) int arg0); + void setArgument(@OriginalArg(0) int arg0); @OriginalMember(owner = "client!pc", name = "c", descriptor = "()I") - int method4605(); + int getFlags(); } diff --git a/client/src/main/java/MidiPlayer.java b/client/src/main/java/MidiPlayer.java index f404dc8..74d6a02 100644 --- a/client/src/main/java/MidiPlayer.java +++ b/client/src/main/java/MidiPlayer.java @@ -5,6 +5,8 @@ import org.openrs2.deob.annotation.Pc; public class MidiPlayer { @OriginalMember(owner = "client!le", name = "k", descriptor = "Z") public static boolean jingle = false; + @OriginalMember(owner = "client!cb", name = "hb", descriptor = "Lclient!le;") + public static SoundBank aClass89_1; @OriginalMember(owner = "client!km", name = "c", descriptor = "(Z)Z") public static boolean method2699() { @@ -16,16 +18,16 @@ public class MidiPlayer { return false; } } - if (Static27.aClass89_1 == null) { - Static27.aClass89_1 = new SoundBank(Static78.aClass153_32, Static252.aClass153_103); + if (aClass89_1 == null) { + aClass89_1 = new SoundBank(Static78.aClass153_32, Static252.aClass153_103); } - if (Static172.aClass3_Sub3_Sub4_2.method4411(Static144.aClass3_Sub29_1, Static210.aClass153_87, Static27.aClass89_1)) { + if (Static172.aClass3_Sub3_Sub4_2.method4411(Static144.aClass3_Sub29_1, Static210.aClass153_87, aClass89_1)) { Static172.aClass3_Sub3_Sub4_2.method4412(); Static172.aClass3_Sub3_Sub4_2.method4447(Static253.anInt5527); Static172.aClass3_Sub3_Sub4_2.method4431(Static72.aBoolean116, Static144.aClass3_Sub29_1); Static14.anInt441 = 0; Static144.aClass3_Sub29_1 = null; - Static27.aClass89_1 = null; + aClass89_1 = null; Static172.aClass153_70 = null; return true; } @@ -36,7 +38,7 @@ public class MidiPlayer { Static172.aClass153_70 = null; Static144.aClass3_Sub29_1 = null; Static14.anInt441 = 0; - Static27.aClass89_1 = null; + aClass89_1 = null; } return false; } @@ -88,7 +90,7 @@ public class MidiPlayer { Static172.aClass3_Sub3_Sub4_2.method4446(); Static172.aClass3_Sub3_Sub4_2.method4426(); Static144.aClass3_Sub29_1 = null; - Static27.aClass89_1 = null; + aClass89_1 = null; if (Static172.aClass153_70 == null) { Static14.anInt441 = 0; } else { @@ -101,7 +103,7 @@ public class MidiPlayer { Static172.aClass153_70 = null; Static144.aClass3_Sub29_1 = null; Static14.anInt441 = 0; - Static27.aClass89_1 = null; + aClass89_1 = null; } } } diff --git a/client/src/main/java/Packet.java b/client/src/main/java/Packet.java index f645ae0..9a54554 100644 --- a/client/src/main/java/Packet.java +++ b/client/src/main/java/Packet.java @@ -6,6 +6,9 @@ import org.openrs2.deob.annotation.Pc; @OriginalClass("client!i") public final class Packet extends Buffer { + @OriginalMember(owner = "client!bh", name = "G", descriptor = "[I") + public static final int[] BIT_MASKS = new int[] { 0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215, 33554431, 67108863, 134217727, 268435455, 536870911, 1073741823, Integer.MAX_VALUE, -1 }; + @OriginalMember(owner = "client!i", name = "Xb", descriptor = "Lclient!ij;") private IsaacRandom aClass71_1; @@ -36,14 +39,14 @@ public final class Packet extends Buffer { @Pc(16) int local16 = 0; this.anInt2846 += arg0; while (local14 < arg0) { - local16 += (Static18.anIntArray57[local14] & this.data[local6++]) << arg0 - local14; + local16 += (BIT_MASKS[local14] & this.data[local6++]) << arg0 - local14; arg0 -= local14; local14 = 8; } if (local14 == arg0) { - local16 += this.data[local6] & Static18.anIntArray57[local14]; + local16 += this.data[local6] & BIT_MASKS[local14]; } else { - local16 += this.data[local6] >> local14 - arg0 & Static18.anIntArray57[arg0]; + local16 += this.data[local6] >> local14 - arg0 & BIT_MASKS[arg0]; } return local16; } diff --git a/client/src/main/java/Protocol.java b/client/src/main/java/Protocol.java index 06b2d07..addb90d 100644 --- a/client/src/main/java/Protocol.java +++ b/client/src/main/java/Protocol.java @@ -1473,7 +1473,7 @@ public class Protocol { } else if (opcode == 191) { local133 = inboundBuffer.g2le(); Static13.method472(local133); - Static27.updatedInventories[Static111.updatedInventoriesWriterIndex++ & 0x1F] = local133 & 0x7FFF; + Inv.updatedInventories[Static111.updatedInventoriesWriterIndex++ & 0x1F] = local133 & 0x7FFF; opcode = -1; return true; } else if (opcode == 102) { @@ -1807,7 +1807,7 @@ public class Protocol { Static43.redraw(local4956); } InterfaceList.method2245(); - Static27.updatedInventories[Static111.updatedInventoriesWriterIndex++ & 0x1F] = local786 & 0x7FFF; + Inv.updatedInventories[Static111.updatedInventoriesWriterIndex++ & 0x1F] = local786 & 0x7FFF; opcode = -1; return true; } else if (opcode == 24) { @@ -2017,7 +2017,7 @@ public class Protocol { Static43.redraw(local4956); } InterfaceList.method2245(); - Static27.updatedInventories[Static111.updatedInventoriesWriterIndex++ & 0x1F] = local786 & 0x7FFF; + Inv.updatedInventories[Static111.updatedInventoriesWriterIndex++ & 0x1F] = local786 & 0x7FFF; opcode = -1; return true; } else if (opcode == 142) { diff --git a/client/src/main/java/SpecularMaterialRenderer.java b/client/src/main/java/SpecularMaterialRenderer.java index 083a4d7..2ade107 100644 --- a/client/src/main/java/SpecularMaterialRenderer.java +++ b/client/src/main/java/SpecularMaterialRenderer.java @@ -124,7 +124,7 @@ public final class SpecularMaterialRenderer implements MaterialRenderer { @OriginalMember(owner = "client!vm", name = "a", descriptor = "()V") @Override - public final void method4602() { + public final void unbind() { @Pc(1) GL2 local1 = GlRenderer.gl; if (Preferences.highDetailLighting) { local1.glCallList(this.anInt5777 + 1); @@ -135,13 +135,13 @@ public final class SpecularMaterialRenderer implements MaterialRenderer { @OriginalMember(owner = "client!vm", name = "c", descriptor = "()I") @Override - public final int method4605() { + public final int getFlags() { return 4; } @OriginalMember(owner = "client!vm", name = "b", descriptor = "()V") @Override - public final void method4603() { + public final void bind() { @Pc(1) GL2 local1 = GlRenderer.gl; GlRenderer.setTextureCombineAlphaMode(1); if (Preferences.highDetailLighting) { @@ -153,7 +153,7 @@ public final class SpecularMaterialRenderer implements MaterialRenderer { @OriginalMember(owner = "client!vm", name = "a", descriptor = "(I)V") @Override - public final void method4604(@OriginalArg(0) int arg0) { + public final void setArgument(@OriginalArg(0) int arg0) { @Pc(1) GL2 local1 = GlRenderer.gl; if (Preferences.highDetailLighting && this.anIntArray519 != null) { local1.glActiveTexture(GL2.GL_TEXTURE1); diff --git a/client/src/main/java/Static119.java b/client/src/main/java/Static119.java index 4ec477f..21d4186 100644 --- a/client/src/main/java/Static119.java +++ b/client/src/main/java/Static119.java @@ -6,9 +6,6 @@ public final class Static119 { @OriginalMember(owner = "client!je", name = "eb", descriptor = "[I") public static int[] anIntArray282; - @OriginalMember(owner = "client!je", name = "R", descriptor = "Z") - public static boolean aBoolean153 = false; - @OriginalMember(owner = "client!je", name = "T", descriptor = "Lclient!sc;") public static HashTable aClass133_9 = new HashTable(8); diff --git a/client/src/main/java/Static120.java b/client/src/main/java/Static120.java index c3121b1..dc4e5cd 100644 --- a/client/src/main/java/Static120.java +++ b/client/src/main/java/Static120.java @@ -371,7 +371,7 @@ public final class Static120 { return; } @Pc(4) GL2 local4 = GlRenderer.gl; - Static27.setMaterial(0, 0); + MaterialManager.setMaterial(0, 0); GlRenderer.setTextureCombineRgbMode(0); GlRenderer.resetTextureMatrix(); GlRenderer.setTextureId(GlRenderer.anInt5328); diff --git a/client/src/main/java/Static128.java b/client/src/main/java/Static128.java index a929cfe..f0050b0 100644 --- a/client/src/main/java/Static128.java +++ b/client/src/main/java/Static128.java @@ -1,6 +1,4 @@ -import org.openrs2.deob.annotation.OriginalArg; import org.openrs2.deob.annotation.OriginalMember; -import org.openrs2.deob.annotation.Pc; public final class Static128 { @@ -13,11 +11,4 @@ public final class Static128 { @OriginalMember(owner = "client!ka", name = "t", descriptor = "[I") public static final int[] anIntArray294 = new int[] { 0, 0, 2, 0, 0, 2, 1, 1, 0 }; - @OriginalMember(owner = "client!ka", name = "b", descriptor = "(II)V") - public static void method2481(@OriginalArg(1) int arg0) { - if (arg0 == Static48.anInt1447) { - @Pc(12) MaterialRenderer local12 = Static2.anInterface4Array1[arg0]; - local12.method4604(Static158.anInt3857); - } - } } diff --git a/client/src/main/java/Static147.java b/client/src/main/java/Static147.java index d645c3b..0180127 100644 --- a/client/src/main/java/Static147.java +++ b/client/src/main/java/Static147.java @@ -13,8 +13,8 @@ public final class Static147 { @OriginalMember(owner = "client!lh", name = "b", descriptor = "(II)V") public static void method2761(@OriginalArg(0) int arg0) { Static170.anInt3241 = arg0; - Static128.method2481(3); - Static128.method2481(4); + MaterialManager.resetArgument(3); + MaterialManager.resetArgument(4); } @OriginalMember(owner = "client!lh", name = "a", descriptor = "(Lclient!fg;IIIIIIZ)V") diff --git a/client/src/main/java/Static156.java b/client/src/main/java/Static156.java index 9ea5b64..7bc1eb4 100644 --- a/client/src/main/java/Static156.java +++ b/client/src/main/java/Static156.java @@ -91,8 +91,8 @@ public final class Static156 { Static278.setRenderTiles(true); Static248.method3292(arg0, arg1, arg2, null, 0, (byte) 0, arg13, arg14); if (GlRenderer.enabled) { - Static119.aBoolean153 = false; - Static27.setMaterial(0, 0); + MaterialManager.renderingUnderwater = false; + MaterialManager.setMaterial(0, 0); Static161.method3066(null); Static120.method2390(); } diff --git a/client/src/main/java/Static158.java b/client/src/main/java/Static158.java index 2adb858..86a316b 100644 --- a/client/src/main/java/Static158.java +++ b/client/src/main/java/Static158.java @@ -12,9 +12,6 @@ public final class Static158 { @OriginalMember(owner = "client!mh", name = "Y", descriptor = "Z") public static boolean aBoolean187 = false; - @OriginalMember(owner = "client!mh", name = "eb", descriptor = "I") - public static int anInt3857 = 0; - @OriginalMember(owner = "client!mh", name = "h", descriptor = "(B)V") public static void decodeNpcFiles() { @Pc(10) int local10 = Static191.npcSpawnsFilesBuffer.length; diff --git a/client/src/main/java/Static172.java b/client/src/main/java/Static172.java index 2b27a76..f5b4d98 100644 --- a/client/src/main/java/Static172.java +++ b/client/src/main/java/Static172.java @@ -56,9 +56,4 @@ public final class Static172 { method3223(local24 + 1, arg1, arg2, arg3); } - @OriginalMember(owner = "client!nj", name = "a", descriptor = "(I)V") - public static void quit() { - Static2.anInterface4Array1 = null; - Static151.method2808(); - } } diff --git a/client/src/main/java/Static18.java b/client/src/main/java/Static18.java index 2f4272e..23d8199 100644 --- a/client/src/main/java/Static18.java +++ b/client/src/main/java/Static18.java @@ -13,9 +13,6 @@ public final class Static18 { @OriginalMember(owner = "client!bh", name = "C", descriptor = "Lclient!na;") public static final JagString COMPLETE_PERCENT = JagString.parse("
(X100(U(Y"); - @OriginalMember(owner = "client!bh", name = "G", descriptor = "[I") - public static final int[] anIntArray57 = new int[] { 0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215, 33554431, 67108863, 134217727, 268435455, 536870911, 1073741823, Integer.MAX_VALUE, -1 }; - @OriginalMember(owner = "client!bh", name = "a", descriptor = "(Lclient!fe;Z)V") public static void method553(@OriginalArg(0) PathingEntity arg0) { @Pc(8) int local8 = arg0.anInt3395 - client.loop; diff --git a/client/src/main/java/Static2.java b/client/src/main/java/Static2.java index fdb8702..6166510 100644 --- a/client/src/main/java/Static2.java +++ b/client/src/main/java/Static2.java @@ -7,9 +7,6 @@ public final class Static2 { @OriginalMember(owner = "client!aa", name = "m", descriptor = "I") public static int anInt15; - @OriginalMember(owner = "client!aa", name = "t", descriptor = "[Lclient!pc;") - public static MaterialRenderer[] anInterface4Array1; - @OriginalMember(owner = "client!aa", name = "a", descriptor = "I") public static int anInt7 = 0; diff --git a/client/src/main/java/Static21.java b/client/src/main/java/Static21.java index dc28373..88f036c 100644 --- a/client/src/main/java/Static21.java +++ b/client/src/main/java/Static21.java @@ -1,15 +1,3 @@ -import org.openrs2.deob.annotation.OriginalArg; -import org.openrs2.deob.annotation.OriginalMember; - public final class Static21 { - @OriginalMember(owner = "client!bk", name = "a", descriptor = "(BI)V") - public static void method619(@OriginalArg(1) int color) { - WaterMaterialRenderer.aFloatArray2[0] = (float) (color >> 16 & 0xFF) / 255.0F; - WaterMaterialRenderer.aFloatArray2[1] = (float) (color >> 8 & 0xFF) / 255.0F; - WaterMaterialRenderer.aFloatArray2[2] = (float) (color & 0xFF) / 255.0F; - Static128.method2481(3); - Static128.method2481(4); - } - } diff --git a/client/src/main/java/Static238.java b/client/src/main/java/Static238.java index def1476..29cfd48 100644 --- a/client/src/main/java/Static238.java +++ b/client/src/main/java/Static238.java @@ -33,15 +33,4 @@ public final class Static238 { return false; } - @OriginalMember(owner = "client!te", name = "e", descriptor = "(I)V") - public static void method4145() { - Static151.method2809(); - Static2.anInterface4Array1 = new MaterialRenderer[7]; - Static2.anInterface4Array1[1] = new SpecularMaterialRenderer(); - Static2.anInterface4Array1[2] = new LiquidMaterialRenderer(); - Static2.anInterface4Array1[3] = new UnderwaterMaterialRenderer(); - Static2.anInterface4Array1[4] = new WaterMaterialRenderer(); - Static2.anInterface4Array1[5] = new WaterfallMaterialRenderer(); - Static2.anInterface4Array1[6] = new UnlitMaterialRenderer(); - } } diff --git a/client/src/main/java/Static242.java b/client/src/main/java/Static242.java index f726e8d..cdf475d 100644 --- a/client/src/main/java/Static242.java +++ b/client/src/main/java/Static242.java @@ -123,7 +123,7 @@ public final class Static242 { GlRenderer.setTextureCombineAlphaMode(1); GlRenderer.resetTextureMatrix(); GlRenderer.setLightingEnabled(false); - Static27.setMaterial(0, 0); + MaterialManager.setMaterial(0, 0); local1.glDepthMask(false); for (@Pc(17) int local17 = 0; local17 < anInt5346; local17++) { label52: for (@Pc(22) int local22 = 0; local22 < anInt5345; local22++) { diff --git a/client/src/main/java/Static247.java b/client/src/main/java/Static247.java index 7d20542..a06c984 100644 --- a/client/src/main/java/Static247.java +++ b/client/src/main/java/Static247.java @@ -76,7 +76,7 @@ public final class Static247 { var10 = var9 & 0xFFFFFF; if (var10 != Static152.anInt3604) { Static152.anInt3604 = var10; - Static21.method619(var10); + WaterMaterialRenderer.method619(var10); Static161.method3066(WaterMaterialRenderer.method2422()); } local65 = var9 >>> 24 << 3; @@ -85,7 +85,7 @@ public final class Static247 { Static147.method2761(local65); } local115 = Static107.surfaceTileHeightMap[0][local18][local21] + Static107.surfaceTileHeightMap[0][local18 + 1][local21] + Static107.surfaceTileHeightMap[0][local18][local21 + 1] + Static107.surfaceTileHeightMap[0][local18 + 1][local21 + 1] >> 2; - Static27.setMaterial(-local115, 3); + MaterialManager.setMaterial(-local115, 3); local33 = 201.5F; GlRenderer.method4159(local33); } else { diff --git a/client/src/main/java/Static248.java b/client/src/main/java/Static248.java index 44620a9..6ccd54d 100644 --- a/client/src/main/java/Static248.java +++ b/client/src/main/java/Static248.java @@ -96,8 +96,8 @@ public final class Static248 { local244.glTranslatef((float) -arg0, (float) -arg1, (float) -arg2); if (local240) { Static156.method2959(); - Static27.setMaterial(-1, 3); - Static119.aBoolean153 = true; + MaterialManager.setMaterial(-1, 3); + MaterialManager.renderingUnderwater = true; UnderwaterMaterialRenderer.method4609(); Static152.anInt3604 = -1; Static22.anInt730 = -1; @@ -106,7 +106,7 @@ public final class Static248 { @Pc(294) float local294 = 251.5F - (local285.aBoolean140 ? 1.0F : 0.5F); if (local285.anInt2486 != Static152.anInt3604) { Static152.anInt3604 = local285.anInt2486; - Static21.method619(local285.anInt2486); + WaterMaterialRenderer.method619(local285.anInt2486); Static161.method3066(WaterMaterialRenderer.method2422()); } local285.method1944(Static130.aClass3_Sub5ArrayArrayArray1, local294, false); @@ -123,7 +123,7 @@ public final class Static248 { @Pc(336) GlTile local336 = Static182.aClass3_Sub14ArrayArray2[local32][local37]; @Pc(350) float local350 = 201.5F - (float) local32 * 50.0F - (local336.aBoolean140 ? 1.0F : 0.5F); if (local336.anInt2485 != -1 && Rasteriser.textureProvider.method3237(local336.anInt2485) == 4 && Preferences.highWaterDetail) { - Static21.method619(local336.anInt2486); + WaterMaterialRenderer.method619(local336.anInt2486); } local336.method1944(Static130.aClass3_Sub5ArrayArrayArray1, local350, false); } diff --git a/client/src/main/java/Static27.java b/client/src/main/java/Static27.java index 5ad7a80..61ae411 100644 --- a/client/src/main/java/Static27.java +++ b/client/src/main/java/Static27.java @@ -1,16 +1,8 @@ -import org.openrs2.deob.annotation.OriginalArg; import org.openrs2.deob.annotation.OriginalMember; -import org.openrs2.deob.annotation.Pc; public final class Static27 { - @OriginalMember(owner = "client!cb", name = "hb", descriptor = "Lclient!le;") - public static SoundBank aClass89_1; - - @OriginalMember(owner = "client!cb", name = "I", descriptor = "[I") - public static final int[] updatedInventories = new int[32]; - - @OriginalMember(owner = "client!cb", name = "ab", descriptor = "Lclient!na;") + @OriginalMember(owner = "client!cb", name = "ab", descriptor = "Lclient!na;") public static final JagString aClass100_164 = JagString.parse(" )2> "); @OriginalMember(owner = "client!cb", name = "cb", descriptor = "Lclient!na;") @@ -19,29 +11,4 @@ public final class Static27 { @OriginalMember(owner = "client!cb", name = "fb", descriptor = "Lclient!na;") public static final JagString aClass100_168 = JagString.parse(": "); - @OriginalMember(owner = "client!cb", name = "b", descriptor = "(III)V") - public static void setMaterial(@OriginalArg(1) int arg0, @OriginalArg(2) int arg1) { - if (arg1 == 4 && !Preferences.highWaterDetail) { - arg1 = 2; - arg0 = 2; - } - if (Static48.anInt1447 != arg1) { - if (Static119.aBoolean153) { - return; - } - if (Static48.anInt1447 != 0) { - Static2.anInterface4Array1[Static48.anInt1447].method4602(); - } - if (arg1 != 0) { - @Pc(61) MaterialRenderer local61 = Static2.anInterface4Array1[arg1]; - local61.method4603(); - local61.method4604(arg0); - } - Static48.anInt1447 = arg1; - Static158.anInt3857 = arg0; - } else if (arg1 != 0 && arg0 != Static158.anInt3857) { - Static2.anInterface4Array1[arg1].method4604(arg0); - Static158.anInt3857 = arg0; - } - } } diff --git a/client/src/main/java/Static36.java b/client/src/main/java/Static36.java index 0630537..2ea23b3 100644 --- a/client/src/main/java/Static36.java +++ b/client/src/main/java/Static36.java @@ -367,7 +367,7 @@ public final class Static36 { } else { outer: for (i = component.updatedInventoriesReaderIndex; i < Static111.updatedInventoriesWriterIndex; i++) { - skill = Static27.updatedInventories[i & 0x1F]; + skill = Inv.updatedInventories[i & 0x1F]; for (k = 0; k < component.inventoryTriggers.length; k++) { if (component.inventoryTriggers[k] == skill) { request2 = new HookRequest(); diff --git a/client/src/main/java/Static48.java b/client/src/main/java/Static48.java index adf62b3..d920bce 100644 --- a/client/src/main/java/Static48.java +++ b/client/src/main/java/Static48.java @@ -7,9 +7,6 @@ public final class Static48 { @OriginalMember(owner = "client!dl", name = "h", descriptor = "[[Z") public static boolean[][] aBooleanArrayArray1; - @OriginalMember(owner = "client!dl", name = "c", descriptor = "I") - public static int anInt1447 = 0; - @OriginalMember(owner = "client!dl", name = "a", descriptor = "(IIIIIIIII)V") public static void method1195(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7) { @Pc(13) int local13 = arg2 - arg6; diff --git a/client/src/main/java/Static56.java b/client/src/main/java/Static56.java index 7604078..3658fe3 100644 --- a/client/src/main/java/Static56.java +++ b/client/src/main/java/Static56.java @@ -23,8 +23,4 @@ public final class Static56 { @OriginalMember(owner = "client!ef", name = "r", descriptor = "Lclient!be;") public static Component aClass13_12 = null; - @OriginalMember(owner = "client!ef", name = "a", descriptor = "(I)I") - public static int method1314() { - return Static48.anInt1447 == 0 ? 0 : Static2.anInterface4Array1[Static48.anInt1447].method4605(); - } } diff --git a/client/src/main/java/Static83.java b/client/src/main/java/Static83.java index b3c8393..ce5cb76 100644 --- a/client/src/main/java/Static83.java +++ b/client/src/main/java/Static83.java @@ -57,6 +57,6 @@ public final class Static83 { @OriginalMember(owner = "client!gj", name = "b", descriptor = "(I)V") public static void method440() { - Static27.setMaterial(0, 0); + MaterialManager.setMaterial(0, 0); } } diff --git a/client/src/main/java/Static88.java b/client/src/main/java/Static88.java index 3cb4763..668f3ab 100644 --- a/client/src/main/java/Static88.java +++ b/client/src/main/java/Static88.java @@ -3297,7 +3297,7 @@ public final class Static88 { } if (opcode == 6012) { if (GlRenderer.enabled) { - Static27.setMaterial(0, 0); + MaterialManager.setMaterial(0, 0); } isp--; Preferences.highDetailLighting = Static254.intStack[isp] == 1; diff --git a/client/src/main/java/UnderwaterMaterialRenderer.java b/client/src/main/java/UnderwaterMaterialRenderer.java index cf2877d..722feef 100644 --- a/client/src/main/java/UnderwaterMaterialRenderer.java +++ b/client/src/main/java/UnderwaterMaterialRenderer.java @@ -127,27 +127,27 @@ public final class UnderwaterMaterialRenderer implements MaterialRenderer { @OriginalMember(owner = "client!wg", name = "b", descriptor = "()V") @Override - public final void method4603() { + public final void bind() { @Pc(1) GL2 local1 = GlRenderer.gl; local1.glCallList(this.anInt5806); } @OriginalMember(owner = "client!wg", name = "c", descriptor = "()I") @Override - public final int method4605() { + public final int getFlags() { return 0; } @OriginalMember(owner = "client!wg", name = "a", descriptor = "()V") @Override - public final void method4602() { + public final void unbind() { @Pc(1) GL2 local1 = GlRenderer.gl; local1.glCallList(this.anInt5806 + 1); } @OriginalMember(owner = "client!wg", name = "a", descriptor = "(I)V") @Override - public final void method4604(@OriginalArg(0) int arg0) { + public final void setArgument(@OriginalArg(0) int arg0) { @Pc(1) GL2 local1 = GlRenderer.gl; local1.glActiveTexture(GL2.GL_TEXTURE1); if (aBoolean308 || arg0 >= 0) { diff --git a/client/src/main/java/UnlitMaterialRenderer.java b/client/src/main/java/UnlitMaterialRenderer.java index c21da12..2859b30 100644 --- a/client/src/main/java/UnlitMaterialRenderer.java +++ b/client/src/main/java/UnlitMaterialRenderer.java @@ -7,7 +7,7 @@ public final class UnlitMaterialRenderer implements MaterialRenderer { @OriginalMember(owner = "client!ue", name = "b", descriptor = "()V") @Override - public final void method4603() { + public final void bind() { if (Preferences.highDetailLighting) { GlRenderer.setLightingEnabled(false); } @@ -15,18 +15,18 @@ public final class UnlitMaterialRenderer implements MaterialRenderer { @OriginalMember(owner = "client!ue", name = "c", descriptor = "()I") @Override - public final int method4605() { + public final int getFlags() { return 0; } @OriginalMember(owner = "client!ue", name = "a", descriptor = "(I)V") @Override - public final void method4604(@OriginalArg(0) int arg0) { + public final void setArgument(@OriginalArg(0) int arg0) { } @OriginalMember(owner = "client!ue", name = "a", descriptor = "()V") @Override - public final void method4602() { + public final void unbind() { if (Preferences.highDetailLighting) { GlRenderer.setLightingEnabled(true); } diff --git a/client/src/main/java/WaterMaterialRenderer.java b/client/src/main/java/WaterMaterialRenderer.java index da920bc..f89643f 100644 --- a/client/src/main/java/WaterMaterialRenderer.java +++ b/client/src/main/java/WaterMaterialRenderer.java @@ -43,7 +43,16 @@ public final class WaterMaterialRenderer implements MaterialRenderer { return Static251.aFloatArray28; } - @OriginalMember(owner = "client!pd", name = "d", descriptor = "()V") + @OriginalMember(owner = "client!bk", name = "a", descriptor = "(BI)V") + public static void method619(@OriginalArg(1) int color) { + aFloatArray2[0] = (float) (color >> 16 & 0xFF) / 255.0F; + aFloatArray2[1] = (float) (color >> 8 & 0xFF) / 255.0F; + aFloatArray2[2] = (float) (color & 0xFF) / 255.0F; + MaterialManager.resetArgument(3); + MaterialManager.resetArgument(4); + } + + @OriginalMember(owner = "client!pd", name = "d", descriptor = "()V") private void method3435() { @Pc(2) byte[] local2 = new byte[] { 0, -1 }; @Pc(12) GL2 local12 = GlRenderer.gl; @@ -122,13 +131,13 @@ public final class WaterMaterialRenderer implements MaterialRenderer { @OriginalMember(owner = "client!pd", name = "a", descriptor = "()V") @Override - public final void method4602() { + public final void unbind() { GlRenderer.gl.glCallList(this.anInt4440 + 1); } @OriginalMember(owner = "client!pd", name = "a", descriptor = "(I)V") @Override - public final void method4604(@OriginalArg(0) int arg0) { + public final void setArgument(@OriginalArg(0) int arg0) { @Pc(1) GL2 local1 = GlRenderer.gl; local1.glActiveTexture(GL2.GL_TEXTURE1); local1.glTexEnvfv(GL2.GL_TEXTURE_ENV, GL2.GL_TEXTURE_ENV_COLOR, aFloatArray2, 0); @@ -157,7 +166,7 @@ public final class WaterMaterialRenderer implements MaterialRenderer { @OriginalMember(owner = "client!pd", name = "b", descriptor = "()V") @Override - public final void method4603() { + public final void bind() { @Pc(1) GL2 local1 = GlRenderer.gl; GlRenderer.setTextureCombineRgbMode(2); GlRenderer.setTextureCombineAlphaMode(2); @@ -180,7 +189,7 @@ public final class WaterMaterialRenderer implements MaterialRenderer { @OriginalMember(owner = "client!pd", name = "c", descriptor = "()I") @Override - public final int method4605() { + public final int getFlags() { return 15; } } diff --git a/client/src/main/java/WaterfallMaterialRenderer.java b/client/src/main/java/WaterfallMaterialRenderer.java index 4818497..0fa25f8 100644 --- a/client/src/main/java/WaterfallMaterialRenderer.java +++ b/client/src/main/java/WaterfallMaterialRenderer.java @@ -20,13 +20,13 @@ public final class WaterfallMaterialRenderer implements MaterialRenderer { @OriginalMember(owner = "client!ob", name = "c", descriptor = "()I") @Override - public final int method4605() { + public final int getFlags() { return 0; } @OriginalMember(owner = "client!ob", name = "a", descriptor = "(I)V") @Override - public final void method4604(@OriginalArg(0) int arg0) { + public final void setArgument(@OriginalArg(0) int arg0) { @Pc(7) GL2 local7 = GlRenderer.gl; @Pc(18) float local18 = (float) ((arg0 >> 3 & 0x3) + 1) * 0.01F; @Pc(27) float local27 = -0.01F * (float) ((arg0 & 0x3) + 1); @@ -73,14 +73,14 @@ public final class WaterfallMaterialRenderer implements MaterialRenderer { @OriginalMember(owner = "client!ob", name = "a", descriptor = "()V") @Override - public final void method4602() { + public final void unbind() { @Pc(1) GL2 local1 = GlRenderer.gl; local1.glCallList(this.anInt4236 + 1); } @OriginalMember(owner = "client!ob", name = "b", descriptor = "()V") @Override - public final void method4603() { + public final void bind() { @Pc(5) GL2 local5 = GlRenderer.gl; local5.glCallList(this.anInt4236); }