diff --git a/client/src/main/java/rt4/Chat.java b/client/src/main/java/rt4/Chat.java index 891c6ab..2291422 100644 --- a/client/src/main/java/rt4/Chat.java +++ b/client/src/main/java/rt4/Chat.java @@ -52,4 +52,9 @@ public class Chat { public static void add(@OriginalArg(0) JagString arg0, @OriginalArg(1) int arg1, @OriginalArg(2) JagString arg2) { add(-1, arg1, arg2, null, arg0); } + + @OriginalMember(owner = "client!fm", name = "a", descriptor = "(ILclient!na;Lclient!na;Lclient!na;I)V") + public static void method1598(@OriginalArg(1) JagString arg0, @OriginalArg(2) JagString arg1, @OriginalArg(3) JagString arg2) { + add(-1, 9, arg0, arg2, arg1); + } } diff --git a/client/src/main/java/rt4/ClientProt.java b/client/src/main/java/rt4/ClientProt.java index ff3c50f..8db78bb 100644 --- a/client/src/main/java/rt4/ClientProt.java +++ b/client/src/main/java/rt4/ClientProt.java @@ -532,7 +532,7 @@ public class ClientProt { @Pc(9) Environment local9 = new Environment(); for (@Pc(18) int local18 = 0; local18 < 13; local18++) { for (@Pc(25) int local25 = 0; local25 < 13; local25++) { - Static103.aClass92ArrayArray1[local18][local25] = local9; + Static73.aClass92ArrayArray1[local18][local25] = local9; } } } diff --git a/client/src/main/java/rt4/InterfaceList.java b/client/src/main/java/rt4/InterfaceList.java index ace8763..2a30576 100644 --- a/client/src/main/java/rt4/InterfaceList.java +++ b/client/src/main/java/rt4/InterfaceList.java @@ -1034,4 +1034,42 @@ public class InterfaceList { return arg0 == 8 || arg0 == 32 || arg0 == 28 || arg0 == 59 || arg0 == 51 || arg0 == 41; } } + + @OriginalMember(owner = "client!fm", name = "a", descriptor = "(ZI)V") + public static void method1596(@OriginalArg(0) boolean arg0) { + if (arg0) { + if (topLevelInterface != -1) { + method2275(topLevelInterface); + } + for (@Pc(18) ComponentPointer local18 = (ComponentPointer) openInterfaces.head(); local18 != null; local18 = (ComponentPointer) openInterfaces.next()) { + closeInterface(true, local18); + } + topLevelInterface = -1; + openInterfaces = new HashTable(8); + method1287(); + topLevelInterface = Static156.loginScreenId; + method3712(false); + Static87.method1807(); + method1626(topLevelInterface); + } + MiniMenu.anInt1092 = -1; + Static81.method1750(ScriptRunner.anInt5794); + PlayerList.self = new Player(); + PlayerList.self.zFine = 3000; + PlayerList.self.xFine = 3000; + if (!GlRenderer.enabled) { + Static145.method2743(client.js5Archive8); + client.setGameState(10); + return; + } + if (Camera.cameraType == 2) { + Camera.renderX = Camera.anInt5375 << 7; + Camera.renderZ = Camera.anInt4232 << 7; + } else { + Camera.updateLoginScreenCamera(); + } + Static103.setInstantFade(); + LoginManager.setupLoadingScreenRegion(); + client.setGameState(28); + } } diff --git a/client/src/main/java/rt4/Light.java b/client/src/main/java/rt4/Light.java index 3bd83aa..2269a53 100644 --- a/client/src/main/java/rt4/Light.java +++ b/client/src/main/java/rt4/Light.java @@ -9,30 +9,30 @@ import org.openrs2.deob.annotation.Pc; public final class Light { @OriginalMember(owner = "client!f", name = "P", descriptor = "[I") - public static int[] anIntArray150; + public static int[] NOISE; @OriginalMember(owner = "client!gi", name = "a", descriptor = "Z") public final boolean aBoolean124; @OriginalMember(owner = "client!gi", name = "d", descriptor = "I") - private int anInt2232; + private int alphaMax; @OriginalMember(owner = "client!gi", name = "e", descriptor = "I") private int anInt2233; @OriginalMember(owner = "client!gi", name = "i", descriptor = "I") - public int anInt2235; + public int y; @OriginalMember(owner = "client!gi", name = "j", descriptor = "I") - public final int anInt2236; + public final int radius; @OriginalMember(owner = "client!gi", name = "p", descriptor = "I") - private int anInt2239; + private int alphaMin; @OriginalMember(owner = "client!gi", name = "q", descriptor = "I") - public int anInt2240; + public int x; @OriginalMember(owner = "client!gi", name = "r", descriptor = "I") - public int anInt2241; + public int level; @OriginalMember(owner = "client!gi", name = "t", descriptor = "I") public final int anInt2243; @@ -41,10 +41,10 @@ public final class Light { public final short[] aShortArray30; @OriginalMember(owner = "client!gi", name = "w", descriptor = "F") - public float aFloat8; + public float alpha; @OriginalMember(owner = "client!gi", name = "x", descriptor = "I") - public int anInt2245; + public int z; @OriginalMember(owner = "client!gi", name = "y", descriptor = "I") private int anInt2246; @@ -59,7 +59,7 @@ public final class Light { public Light_Class45 aClass45_1; @OriginalMember(owner = "client!gi", name = "C", descriptor = "I") - public final int anInt2247; + public final int color; @OriginalMember(owner = "client!gi", name = "E", descriptor = "I") private final int anInt2249; @@ -68,28 +68,28 @@ public final class Light { public boolean aBoolean125 = false; @OriginalMember(owner = "client!gi", name = "I", descriptor = "[F") - public final float[] aFloatArray3 = new float[4]; + public final float[] diffuse = new float[4]; @OriginalMember(owner = "client!gi", name = "", descriptor = "(Lclient!wa;)V") public Light(@OriginalArg(0) Buffer arg0) { - if (anIntArray150 == null) { - method1771(); + if (NOISE == null) { + init(); } - this.anInt2241 = arg0.g1(); - this.aBoolean124 = (this.anInt2241 & 0x10) != 0; - this.aBoolean126 = (this.anInt2241 & 0x8) != 0; - this.anInt2241 &= 0x7; - this.anInt2240 = arg0.g2(); - this.anInt2245 = arg0.g2(); - this.anInt2235 = arg0.g2(); - this.anInt2236 = arg0.g1(); + this.level = arg0.g1(); + this.aBoolean124 = (this.level & 0x10) != 0; + this.aBoolean126 = (this.level & 0x8) != 0; + this.level &= 0x7; + this.x = arg0.g2(); + this.z = arg0.g2(); + this.y = arg0.g2(); + this.radius = arg0.g1(); this.method1763(); - this.aShortArray30 = new short[this.anInt2236 * 2 + 1]; + this.aShortArray30 = new short[this.radius * 2 + 1]; @Pc(87) int local87; for (local87 = 0; local87 < this.aShortArray30.length; local87++) { this.aShortArray30[local87] = (short) arg0.g2(); } - this.anInt2247 = Rasteriser.palette[arg0.g2()]; + this.color = Rasteriser.palette[arg0.g2()]; local87 = arg0.g1(); this.anInt2249 = (local87 & 0xE0) << 3; this.anInt2243 = local87 & 0x1F; @@ -99,12 +99,12 @@ public final class Light { } @OriginalMember(owner = "client!gk", name = "b", descriptor = "(B)V") - public static void method1771() { - anIntArray150 = method3679(0.4F); + public static void init() { + NOISE = craeteNoise(0.4F); } @OriginalMember(owner = "client!qk", name = "a", descriptor = "(ZIIIIFII)[I") - public static int[] method3679(@OriginalArg(5) float arg0) { + public static int[] craeteNoise(@OriginalArg(5) float arg0) { @Pc(11) int[] local11 = new int[2048]; @Pc(15) TextureOp34 local15 = new TextureOp34(); local15.anInt646 = 8; @@ -122,127 +122,127 @@ public final class Light { @OriginalMember(owner = "client!gi", name = "a", descriptor = "(BIIII)V") public final void method1762(@OriginalArg(1) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3) { this.anInt2233 = arg0; - this.anInt2239 = arg2; - this.anInt2232 = arg3; + this.alphaMin = arg2; + this.alphaMax = arg3; this.anInt2246 = arg1; } @OriginalMember(owner = "client!gi", name = "a", descriptor = "(I)V") private void method1763() { - @Pc(10) int local10 = (this.anInt2236 << 7) + 64; + @Pc(10) int local10 = (this.radius << 7) + 64; this.aFloat9 = 1.0F / (float) (local10 * local10); } @OriginalMember(owner = "client!gi", name = "a", descriptor = "(ZII)V") - public final void method1765(@OriginalArg(0) boolean arg0, @OriginalArg(1) int arg1) { - @Pc(26) int local26 = this.anInt2249 + arg1 * this.anInt2246 / 50 & 0x7FF; + public final void method1765(@OriginalArg(0) boolean disableFlicker, @OriginalArg(1) int arg1) { + @Pc(26) int t = this.anInt2249 + arg1 * this.anInt2246 / 50 & 0x7FF; @Pc(29) int local29 = this.anInt2233; - @Pc(62) int local62; + @Pc(62) int alpha; if (local29 == 1) { - local62 = (MathUtils.sin[local26] >> 6) + 1024; + alpha = (MathUtils.sin[t] >> 6) + 1024; } else if (local29 == 3) { - local62 = anIntArray150[local26] >> 1; + alpha = NOISE[t] >> 1; } else if (local29 == 4) { - local62 = local26 >> 10 << 11; + alpha = t >> 10 << 11; } else if (local29 == 2) { - local62 = local26; + alpha = t; } else if (local29 == 5) { - local62 = (local26 < 1024 ? local26 : 2048 - local26) << 1; + alpha = (t < 1024 ? t : 2048 - t) << 1; } else { - local62 = 2048; + alpha = 2048; } - if (arg0) { - local62 = 2048; + if (disableFlicker) { + alpha = 2048; } - this.aFloat8 = (float) (this.anInt2232 + (local62 * this.anInt2239 >> 11)) / 2048.0F; - @Pc(123) float local123 = this.aFloat8 / 255.0F; - this.aFloatArray3[0] = (float) (this.anInt2247 >> 16 & 0xFF) * local123; - this.aFloatArray3[2] = local123 * (float) (this.anInt2247 & 0xFF); - this.aFloatArray3[1] = (float) (this.anInt2247 >> 8 & 0xFF) * local123; + this.alpha = (float) (this.alphaMax + (alpha * this.alphaMin >> 11)) / 2048.0F; + @Pc(123) float local123 = this.alpha / 255.0F; + this.diffuse[0] = (float) (this.color >> 16 & 0xFF) * local123; + this.diffuse[2] = local123 * (float) (this.color & 0xFF); + this.diffuse[1] = (float) (this.color >> 8 & 0xFF) * local123; } @OriginalMember(owner = "client!gi", name = "c", descriptor = "(I)V") private void method1766() { @Pc(4) int local4 = this.anInt2243; if (local4 == 2) { - this.anInt2239 = 2048; - this.anInt2232 = 0; + this.alphaMin = 2048; + this.alphaMax = 0; this.anInt2233 = 1; this.anInt2246 = 2048; } else if (local4 == 3) { - this.anInt2232 = 0; + this.alphaMax = 0; this.anInt2246 = 4096; this.anInt2233 = 1; - this.anInt2239 = 2048; + this.alphaMin = 2048; } else if (local4 == 4) { - this.anInt2232 = 0; - this.anInt2239 = 2048; + this.alphaMax = 0; + this.alphaMin = 2048; this.anInt2233 = 4; this.anInt2246 = 2048; } else if (local4 == 5) { this.anInt2233 = 4; - this.anInt2239 = 2048; + this.alphaMin = 2048; this.anInt2246 = 8192; - this.anInt2232 = 0; + this.alphaMax = 0; } else if (local4 == 12) { - this.anInt2239 = 2048; + this.alphaMin = 2048; this.anInt2233 = 2; this.anInt2246 = 2048; - this.anInt2232 = 0; + this.alphaMax = 0; } else if (local4 == 13) { this.anInt2246 = 8192; - this.anInt2239 = 2048; + this.alphaMin = 2048; this.anInt2233 = 2; - this.anInt2232 = 0; + this.alphaMax = 0; } else if (local4 == 10) { - this.anInt2239 = 512; + this.alphaMin = 512; this.anInt2233 = 3; - this.anInt2232 = 1536; + this.alphaMax = 1536; this.anInt2246 = 2048; } else if (local4 == 11) { this.anInt2233 = 3; this.anInt2246 = 4096; - this.anInt2239 = 512; - this.anInt2232 = 1536; + this.alphaMin = 512; + this.alphaMax = 1536; } else if (local4 == 6) { - this.anInt2239 = 768; - this.anInt2232 = 1280; + this.alphaMin = 768; + this.alphaMax = 1280; this.anInt2233 = 3; this.anInt2246 = 2048; } else if (local4 == 7) { - this.anInt2239 = 768; - this.anInt2232 = 1280; + this.alphaMin = 768; + this.alphaMax = 1280; this.anInt2246 = 4096; this.anInt2233 = 3; } else if (local4 == 8) { this.anInt2246 = 2048; this.anInt2233 = 3; - this.anInt2239 = 1024; - this.anInt2232 = 1024; + this.alphaMin = 1024; + this.alphaMax = 1024; } else if (local4 == 9) { this.anInt2246 = 4096; - this.anInt2232 = 1024; - this.anInt2239 = 1024; + this.alphaMax = 1024; + this.alphaMin = 1024; this.anInt2233 = 3; } else if (local4 == 14) { this.anInt2246 = 2048; - this.anInt2232 = 1280; + this.alphaMax = 1280; this.anInt2233 = 1; - this.anInt2239 = 768; + this.alphaMin = 768; } else if (local4 == 15) { - this.anInt2239 = 512; + this.alphaMin = 512; this.anInt2246 = 4096; - this.anInt2232 = 1536; + this.alphaMax = 1536; this.anInt2233 = 1; } else if (local4 == 16) { this.anInt2246 = 8192; - this.anInt2232 = 1792; + this.alphaMax = 1792; this.anInt2233 = 1; - this.anInt2239 = 256; + this.alphaMin = 256; } else { this.anInt2246 = 2048; - this.anInt2232 = 0; - this.anInt2239 = 2048; + this.alphaMax = 0; + this.alphaMin = 2048; this.anInt2233 = 0; } } diff --git a/client/src/main/java/rt4/Light_Class45.java b/client/src/main/java/rt4/Light_Class45.java index 9203a77..c0a8612 100644 --- a/client/src/main/java/rt4/Light_Class45.java +++ b/client/src/main/java/rt4/Light_Class45.java @@ -68,16 +68,16 @@ public final class Light_Class45 { return local23.value; } } - @Pc(31) int local31 = arg0.anInt2247; - @Pc(37) float local37 = (float) (arg0.anInt2240 - arg1); - @Pc(43) float local43 = (float) (arg0.anInt2235 - arg2); - @Pc(49) float local49 = (float) (arg0.anInt2245 - arg3); + @Pc(31) int local31 = arg0.color; + @Pc(37) float local37 = (float) (arg0.x - arg1); + @Pc(43) float local43 = (float) (arg0.y - arg2); + @Pc(49) float local49 = (float) (arg0.z - arg3); @Pc(64) float local64 = (float) Math.sqrt((double) (local37 * local37 + local43 * local43 + local49 * local49)); @Pc(68) float local68 = 1.0F / local64; @Pc(72) float local72 = local37 * local68; @Pc(76) float local76 = local43 * local68; @Pc(80) float local80 = local49 * local68; - @Pc(90) float local90 = local64 / (float) ((arg0.anInt2236 << 7) + 64); + @Pc(90) float local90 = local64 / (float) ((arg0.radius << 7) + 64); @Pc(96) float local96 = 1.0F - local90 * local90; if (local96 < 0.0F) { local96 = 0.0F; diff --git a/client/src/main/java/rt4/LightingManager.java b/client/src/main/java/rt4/LightingManager.java index 5eb9732..3a19c19 100644 --- a/client/src/main/java/rt4/LightingManager.java +++ b/client/src/main/java/rt4/LightingManager.java @@ -239,28 +239,28 @@ public static int anInt2875 = -1; public static void method2395() { for (@Pc(1) int local1 = 0; local1 < lightCount; local1++) { @Pc(8) Light local8 = lights[local1]; - @Pc(11) int local11 = local8.anInt2241; + @Pc(11) int local11 = local8.level; if (local8.aBoolean124) { local11 = 0; } - @Pc(19) int local19 = local8.anInt2241; + @Pc(19) int local19 = local8.level; if (local8.aBoolean126) { local19 = 3; } for (@Pc(26) int local26 = local11; local26 <= local19; local26++) { @Pc(31) int local31 = 0; - @Pc(39) int local39 = (local8.anInt2245 >> 7) - local8.anInt2236; + @Pc(39) int local39 = (local8.z >> 7) - local8.radius; if (local39 < 0) { local31 = -local39; local39 = 0; } - @Pc(55) int local55 = (local8.anInt2245 >> 7) + local8.anInt2236; + @Pc(55) int local55 = (local8.z >> 7) + local8.radius; if (local55 > anInt3036 - 1) { local55 = anInt3036 - 1; } for (@Pc(66) int local66 = local39; local66 <= local55; local66++) { @Pc(75) short local75 = local8.aShortArray30[local31++]; - @Pc(87) int local87 = (local8.anInt2240 >> 7) + (local75 >> 8) - local8.anInt2236; + @Pc(87) int local87 = (local8.x >> 7) + (local75 >> 8) - local8.radius; @Pc(95) int local95 = local87 + (local75 & 0xFF) - 1; if (local87 < 0) { local87 = 0; @@ -379,14 +379,14 @@ public static int anInt2875 = -1; local4.glTexEnvi(GL2.GL_TEXTURE_ENV, GL2.GL_OPERAND0_RGB, GL2.GL_SRC_ALPHA); label71: for (@Pc(56) int local56 = 0; local56 < lightCount; local56++) { @Pc(63) Light local63 = lights[local56]; - @Pc(66) int local66 = local63.anInt2241; + @Pc(66) int local66 = local63.level; if (local63.aBoolean125) { local66--; } if (local63.aClass45_1 != null) { @Pc(76) int local76 = 0; - @Pc(84) int local84 = (local63.anInt2245 >> 7) - local63.anInt2236; - @Pc(92) int local92 = (local63.anInt2245 >> 7) + local63.anInt2236; + @Pc(84) int local84 = (local63.z >> 7) - local63.radius; + @Pc(92) int local92 = (local63.z >> 7) + local63.radius; if (local92 >= anInt4866) { local92 = anInt4866 - 1; } @@ -396,7 +396,7 @@ public static int anInt2875 = -1; } for (@Pc(112) int local112 = local84; local112 <= local92; local112++) { @Pc(121) short local121 = local63.aShortArray30[local76++]; - @Pc(133) int local133 = (local63.anInt2240 >> 7) + (local121 >> 8) - local63.anInt2236; + @Pc(133) int local133 = (local63.x >> 7) + (local121 >> 8) - local63.radius; @Pc(141) int local141 = local133 + (local121 & 0xFF) - 1; if (local133 < anInt987) { local133 = anInt987; @@ -410,8 +410,8 @@ public static int anInt2875 = -1; local160 = arg2[local66][local155][local112]; } if (local66 < 0 || local160 != null && local160.aBoolean45) { - GlRenderer.method4159(201.5F - (float) local63.anInt2241 * 50.0F - 1.5F); - local4.glTexEnvfv(GL2.GL_TEXTURE_ENV, GL2.GL_TEXTURE_ENV_COLOR, new float[] { 0.0F, 0.0F, 0.0F, local63.aFloat8 }, 0); + GlRenderer.method4159(201.5F - (float) local63.level * 50.0F - 1.5F); + local4.glTexEnvfv(GL2.GL_TEXTURE_ENV, GL2.GL_TEXTURE_ENV_COLOR, new float[] { 0.0F, 0.0F, 0.0F, local63.alpha}, 0); local63.aClass45_1.method1556(); continue label71; } @@ -437,10 +437,10 @@ public static int anInt2875 = -1; aBooleanArray65[arg0] = true; } local7.glLightf(local5, GL2.GL_QUADRATIC_ATTENUATION, arg1.aFloat9); - local7.glLightfv(local5, GL2.GL_DIFFUSE, arg1.aFloatArray3, 0); - aFloatArray17[0] = arg1.anInt2240 - arg2; - aFloatArray17[1] = arg1.anInt2235 - arg3; - aFloatArray17[2] = arg1.anInt2245 - arg4; + local7.glLightfv(local5, GL2.GL_DIFFUSE, arg1.diffuse, 0); + aFloatArray17[0] = arg1.x - arg2; + aFloatArray17[1] = arg1.y - arg3; + aFloatArray17[2] = arg1.z - arg4; local7.glLightfv(local5, GL2.GL_POSITION, aFloatArray17, 0); } diff --git a/client/src/main/java/rt4/LoginManager.java b/client/src/main/java/rt4/LoginManager.java index 7944838..5e7bad2 100644 --- a/client/src/main/java/rt4/LoginManager.java +++ b/client/src/main/java/rt4/LoginManager.java @@ -648,7 +648,7 @@ public class LoginManager { Camera.resetCameraEffects(); Protocol.verifyId = 0; VarpDomain.reset(); - Static73.method1596(true); + InterfaceList.method1596(true); } @OriginalMember(owner = "client!k", name = "a", descriptor = "(IIIIZIZ)V") diff --git a/client/src/main/java/rt4/MaterialManager_Class106.java b/client/src/main/java/rt4/MaterialManager_Class106.java index 142c63d..04b4985 100644 --- a/client/src/main/java/rt4/MaterialManager_Class106.java +++ b/client/src/main/java/rt4/MaterialManager_Class106.java @@ -163,7 +163,7 @@ public abstract class MaterialManager_Class106 { } for (local14 = 0; local14 < 255; local14++) { @Pc(41) int local41 = 255 - local14; - @Pc(46) int local46 = Static171.method3219(local41, local12); + @Pc(46) int local46 = Texture.method3219(local41, local12); @Pc(51) short local51 = this.aShortArray69[local46]; this.aShortArray69[local46] = this.aShortArray69[local41]; this.aShortArray69[local41] = this.aShortArray69[local41 + 256] = local51; diff --git a/client/src/main/java/rt4/Protocol.java b/client/src/main/java/rt4/Protocol.java index cac03ac..fb61af4 100644 --- a/client/src/main/java/rt4/Protocol.java +++ b/client/src/main/java/rt4/Protocol.java @@ -2019,11 +2019,11 @@ public class Protocol { Chat.messageCounter = (Chat.messageCounter + 1) % 100; JagString message = Font.escape(formatChatMessage(inboundBuffer).encodeMessage()); if (rights == 2 || rights == 3) { - Static73.method1598(message, JagString.concatenate(new JagString[] { Static44.IMG1, Base37.decode37(name37).toTitleCase() }), Base37.decode37(chat37).toTitleCase()); + Chat.method1598(message, JagString.concatenate(new JagString[] { Static44.IMG1, Base37.decode37(name37).toTitleCase() }), Base37.decode37(chat37).toTitleCase()); } else if (rights == 1) { - Static73.method1598(message, JagString.concatenate(new JagString[] { IMG0, Base37.decode37(name37).toTitleCase() }), Base37.decode37(chat37).toTitleCase()); + Chat.method1598(message, JagString.concatenate(new JagString[] { IMG0, Base37.decode37(name37).toTitleCase() }), Base37.decode37(chat37).toTitleCase()); } else { - Static73.method1598(message, Base37.decode37(name37).toTitleCase(), Base37.decode37(chat37).toTitleCase()); + Chat.method1598(message, Base37.decode37(name37).toTitleCase(), Base37.decode37(chat37).toTitleCase()); } } opcode = -1; diff --git a/client/src/main/java/rt4/SceneGraph.java b/client/src/main/java/rt4/SceneGraph.java index b764b24..20cae4f 100644 --- a/client/src/main/java/rt4/SceneGraph.java +++ b/client/src/main/java/rt4/SceneGraph.java @@ -1470,4 +1470,43 @@ public class SceneGraph { tiles[0][arg0][arg1].aClass3_Sub5_1 = local7; tiles[3][arg0][arg1] = null; } + + @OriginalMember(owner = "client!fm", name = "a", descriptor = "(IIIIII)Z") + public static boolean method1599(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5) { + @Pc(16) int local16; + @Pc(20) int local20; + if (arg1 != arg2 || arg3 != arg4) { + for (local16 = arg1; local16 <= arg2; local16++) { + for (local20 = arg3; local20 <= arg4; local20++) { + if (anIntArrayArrayArray12[arg0][local16][local20] == -Static156.anInt437) { + return false; + } + } + } + local16 = (arg1 << 7) + 1; + local20 = (arg3 << 7) + 2; + @Pc(156) int local156 = tileHeights[arg0][arg1][arg3] + arg5; + if (!method4394(local16, local156, local20)) { + return false; + } + @Pc(169) int local169 = (arg2 << 7) - 1; + if (!method4394(local169, local156, local20)) { + return false; + } + @Pc(182) int local182 = (arg4 << 7) - 1; + if (!method4394(local16, local156, local182)) { + return false; + } else if (method4394(local169, local156, local182)) { + return true; + } else { + return false; + } + } else if (Static9.method187(arg0, arg1, arg3)) { + local16 = arg1 << 7; + local20 = arg3 << 7; + return method4394(local16 + 1, tileHeights[arg0][arg1][arg3] + arg5, local20 + 1) && method4394(local16 + 128 - 1, tileHeights[arg0][arg1 + 1][arg3] + arg5, local20 + 1) && method4394(local16 + 128 - 1, tileHeights[arg0][arg1 + 1][arg3 + 1] + arg5, local20 + 128 - 1) && method4394(local16 + 1, tileHeights[arg0][arg1][arg3 + 1] + arg5, local20 + 128 - 1); + } else { + return false; + } + } } diff --git a/client/src/main/java/rt4/Static103.java b/client/src/main/java/rt4/Static103.java index 31ac87c..3f116c8 100644 --- a/client/src/main/java/rt4/Static103.java +++ b/client/src/main/java/rt4/Static103.java @@ -6,8 +6,6 @@ import org.openrs2.deob.annotation.Pc; public final class Static103 { - @OriginalMember(owner = "client!ph", name = "b", descriptor = "[[Lclient!li;") - public static final Environment[][] aClass92ArrayArray1 = new Environment[13][13]; @OriginalMember(owner = "client!i", name = "ec", descriptor = "[I") public static int[] anIntArray254; @@ -51,8 +49,6 @@ public final class Static103 { public static int anInt2161; @OriginalMember(owner = "client!sa", name = "W", descriptor = "Z") public static boolean instantScreenFade = true; - @OriginalMember(owner = "client!gl", name = "f", descriptor = "I") - public static int anInt2263; @OriginalMember(owner = "client!i", name = "b", descriptor = "(IIIII)I") public static int method2235(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) { @@ -60,7 +56,7 @@ public final class Static103 { arg0 = 1000000; instantScreenFade = false; } - @Pc(15) Environment local15 = aClass92ArrayArray1[arg3][arg1]; + @Pc(15) Environment local15 = Static73.aClass92ArrayArray1[arg3][arg1]; @Pc(25) float local25 = ((float) arg2 * 0.1F + 0.7F) * local15.aFloat16; @Pc(28) float local28 = local15.aFloat18; @Pc(31) int local31 = local15.anInt3526; @@ -103,7 +99,7 @@ public final class Static103 { } FogManager.method3060(anInt5731, aFloat7, aFloat36, aFloat5); FogManager.method3062(anInt3709, anInt2161); - FogManager.method3063((float) anInt2263, (float) Static73.anInt3893, (float) Static73.anInt3534); + FogManager.method3063((float) Static73.anInt2263, (float) Static73.anInt3893, (float) Static73.anInt3534); FogManager.method3058(); return anInt3709; } diff --git a/client/src/main/java/rt4/Static171.java b/client/src/main/java/rt4/Static171.java deleted file mode 100644 index 4ab74bf..0000000 --- a/client/src/main/java/rt4/Static171.java +++ /dev/null @@ -1,49 +0,0 @@ -package rt4; - -import java.util.Random; -import org.openrs2.deob.annotation.OriginalArg; -import org.openrs2.deob.annotation.OriginalMember; -import org.openrs2.deob.annotation.Pc; - -public final class Static171 { - - @OriginalMember(owner = "client!ni", name = "a", descriptor = "(ILclient!na;)I") - public static int method3218(@OriginalArg(1) JagString arg0) { - if (WorldMap.labels == null || arg0.length() == 0) { - return -1; - } - for (@Pc(20) int local20 = 0; local20 < WorldMap.labels.anInt5074; local20++) { - if (WorldMap.labels.aClass100Array153[local20].method3140(WorldMap.aClass100_538, WorldMap.aClass100_872).method3142(arg0)) { - return local20; - } - } - return -1; - } - - @OriginalMember(owner = "client!ni", name = "a", descriptor = "(BILjava/util/Random;)I") - public static int method3219(@OriginalArg(1) int arg0, @OriginalArg(2) Random arg1) { - if (arg0 <= 0) { - throw new IllegalArgumentException(); - } else if (method3702(arg0)) { - return (int) (((long) arg1.nextInt() & 0xFFFFFFFFL) * (long) arg0 >> 32); - } else { - @Pc(38) int local38 = Integer.MIN_VALUE - (int) (4294967296L % (long) arg0); - @Pc(41) int local41; - do { - local41 = arg1.nextInt(); - } while (local38 <= local41); - return method990(local41, arg0); - } - } - - @OriginalMember(owner = "client!d", name = "c", descriptor = "(III)I") - public static int method990(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { - @Pc(11) int local11 = arg1 - 1 & arg0 >> 31; - return local11 + (arg0 + (arg0 >>> 31)) % arg1; - } - - @OriginalMember(owner = "client!ra", name = "a", descriptor = "(BI)Z") - public static boolean method3702(@OriginalArg(1) int arg0) { - return arg0 == (-arg0 & arg0); - } -} diff --git a/client/src/main/java/rt4/Static221.java b/client/src/main/java/rt4/Static221.java index 4faf551..8f27267 100644 --- a/client/src/main/java/rt4/Static221.java +++ b/client/src/main/java/rt4/Static221.java @@ -65,16 +65,16 @@ public final class Static221 { public static void method3393(@OriginalArg(0) float[][] arg0, @OriginalArg(1) byte[][] arg1, @OriginalArg(2) byte[][] arg2, @OriginalArg(3) Light[] arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) float[][] arg6, @OriginalArg(7) byte[][] arg7, @OriginalArg(8) byte[][] arg8, @OriginalArg(9) int[][] arg9, @OriginalArg(11) float[][] arg10) { for (@Pc(7) int local7 = 0; local7 < arg5; local7++) { @Pc(18) Light local18 = arg3[local7]; - if (local18.anInt2241 == arg4) { + if (local18.level == arg4) { @Pc(24) int local24 = 0; @Pc(28) Light_Class45 local28 = new Light_Class45(); - @Pc(37) int local37 = (local18.anInt2240 >> 7) - local18.anInt2236; - @Pc(46) int local46 = (local18.anInt2245 >> 7) - local18.anInt2236; + @Pc(37) int local37 = (local18.x >> 7) - local18.radius; + @Pc(46) int local46 = (local18.z >> 7) - local18.radius; if (local46 < 0) { local24 = -local46; local46 = 0; } - @Pc(65) int local65 = local18.anInt2236 + (local18.anInt2245 >> 7); + @Pc(65) int local65 = local18.radius + (local18.z >> 7); if (local65 > 103) { local65 = 103; } @@ -212,8 +212,8 @@ public final class Static221 { } local24 = 0; local28.method1555(); - if ((local18.anInt2245 >> 7) - local18.anInt2236 < 0) { - local24 = local18.anInt2236 - (local18.anInt2245 >> 7); + if ((local18.z >> 7) - local18.radius < 0) { + local24 = local18.radius - (local18.z >> 7); } for (local72 = local46; local72 <= local65; local72++) { local84 = local18.aShortArray30[local24]; diff --git a/client/src/main/java/rt4/Static247.java b/client/src/main/java/rt4/Static247.java index cc07cbf..34b0410 100644 --- a/client/src/main/java/rt4/Static247.java +++ b/client/src/main/java/rt4/Static247.java @@ -501,7 +501,7 @@ public final class Static247 { } @Pc(1697) Scenery local1697 = SceneGraph.aClass31Array2[local115]; local1697.anInt1707 = Static156.anInt437; - if (!Static73.method1599(local27, local1697.xMin, local1697.xMax, local1697.zMin, local1697.zMax, local1697.entity.getMinY())) { + if (!SceneGraph.method1599(local27, local1697.xMin, local1697.xMax, local1697.zMin, local1697.zMax, local1697.entity.getMinY())) { if (GlRenderer.enabled) { if ((local1697.key & 0xFC000L) == 147456L) { LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); diff --git a/client/src/main/java/rt4/Static73.java b/client/src/main/java/rt4/Static73.java index fb2b14c..6f024e9 100644 --- a/client/src/main/java/rt4/Static73.java +++ b/client/src/main/java/rt4/Static73.java @@ -2,7 +2,6 @@ package rt4; import org.openrs2.deob.annotation.OriginalArg; import org.openrs2.deob.annotation.OriginalMember; -import org.openrs2.deob.annotation.Pc; public final class Static73 { @@ -11,98 +10,21 @@ public final class Static73 { @OriginalMember(owner = "client!fm", name = "fb", descriptor = "[I") public static final int[] anIntArray183 = new int[14]; - @OriginalMember(owner = "client!li", name = "t", descriptor = "I") + @OriginalMember(owner = "client!ph", name = "b", descriptor = "[[Lclient!li;") + public static final Environment[][] aClass92ArrayArray1 = new Environment[13][13]; + @OriginalMember(owner = "client!li", name = "t", descriptor = "I") public static int anInt3534; @OriginalMember(owner = "client!mi", name = "Z", descriptor = "I") public static int anInt3893; - - @OriginalMember(owner = "client!fm", name = "a", descriptor = "(ZI)V") - public static void method1596(@OriginalArg(0) boolean arg0) { - if (arg0) { - if (InterfaceList.topLevelInterface != -1) { - InterfaceList.method2275(InterfaceList.topLevelInterface); - } - for (@Pc(18) ComponentPointer local18 = (ComponentPointer) InterfaceList.openInterfaces.head(); local18 != null; local18 = (ComponentPointer) InterfaceList.openInterfaces.next()) { - InterfaceList.closeInterface(true, local18); - } - InterfaceList.topLevelInterface = -1; - InterfaceList.openInterfaces = new HashTable(8); - InterfaceList.method1287(); - InterfaceList.topLevelInterface = Static156.loginScreenId; - InterfaceList.method3712(false); - Static87.method1807(); - InterfaceList.method1626(InterfaceList.topLevelInterface); - } - MiniMenu.anInt1092 = -1; - Static81.method1750(ScriptRunner.anInt5794); - PlayerList.self = new Player(); - PlayerList.self.zFine = 3000; - PlayerList.self.xFine = 3000; - if (!GlRenderer.enabled) { - Static145.method2743(client.js5Archive8); - client.setGameState(10); - return; - } - if (Camera.cameraType == 2) { - Camera.renderX = Camera.anInt5375 << 7; - Camera.renderZ = Camera.anInt4232 << 7; - } else { - Camera.updateLoginScreenCamera(); - } - Static103.setInstantFade(); - LoginManager.setupLoadingScreenRegion(); - client.setGameState(28); - } + @OriginalMember(owner = "client!gl", name = "f", descriptor = "I") + public static int anInt2263; @OriginalMember(owner = "client!fm", name = "a", descriptor = "(ZII)V") public static void setLightPosition(@OriginalArg(1) int arg0, @OriginalArg(2) int arg1) { - Static103.anInt2263 = Static103.aClass92ArrayArray1[arg1][arg0].anInt3530; - anInt3893 = Static103.aClass92ArrayArray1[arg1][arg0].anInt3528; - anInt3534 = Static103.aClass92ArrayArray1[arg1][arg0].anInt3527; - FogManager.method3063((float) Static103.anInt2263, (float) anInt3893, (float) anInt3534); + anInt2263 = aClass92ArrayArray1[arg1][arg0].anInt3530; + anInt3893 = aClass92ArrayArray1[arg1][arg0].anInt3528; + anInt3534 = aClass92ArrayArray1[arg1][arg0].anInt3527; + FogManager.method3063((float) anInt2263, (float) anInt3893, (float) anInt3534); } - @OriginalMember(owner = "client!fm", name = "a", descriptor = "(ILclient!na;Lclient!na;Lclient!na;I)V") - public static void method1598(@OriginalArg(1) JagString arg0, @OriginalArg(2) JagString arg1, @OriginalArg(3) JagString arg2) { - Chat.add(-1, 9, arg0, arg2, arg1); - } - - @OriginalMember(owner = "client!fm", name = "a", descriptor = "(IIIIII)Z") - public static boolean method1599(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5) { - @Pc(16) int local16; - @Pc(20) int local20; - if (arg1 != arg2 || arg3 != arg4) { - for (local16 = arg1; local16 <= arg2; local16++) { - for (local20 = arg3; local20 <= arg4; local20++) { - if (SceneGraph.anIntArrayArrayArray12[arg0][local16][local20] == -Static156.anInt437) { - return false; - } - } - } - local16 = (arg1 << 7) + 1; - local20 = (arg3 << 7) + 2; - @Pc(156) int local156 = SceneGraph.tileHeights[arg0][arg1][arg3] + arg5; - if (!SceneGraph.method4394(local16, local156, local20)) { - return false; - } - @Pc(169) int local169 = (arg2 << 7) - 1; - if (!SceneGraph.method4394(local169, local156, local20)) { - return false; - } - @Pc(182) int local182 = (arg4 << 7) - 1; - if (!SceneGraph.method4394(local16, local156, local182)) { - return false; - } else if (SceneGraph.method4394(local169, local156, local182)) { - return true; - } else { - return false; - } - } else if (Static9.method187(arg0, arg1, arg3)) { - local16 = arg1 << 7; - local20 = arg3 << 7; - return SceneGraph.method4394(local16 + 1, SceneGraph.tileHeights[arg0][arg1][arg3] + arg5, local20 + 1) && SceneGraph.method4394(local16 + 128 - 1, SceneGraph.tileHeights[arg0][arg1 + 1][arg3] + arg5, local20 + 1) && SceneGraph.method4394(local16 + 128 - 1, SceneGraph.tileHeights[arg0][arg1 + 1][arg3 + 1] + arg5, local20 + 128 - 1) && SceneGraph.method4394(local16 + 1, SceneGraph.tileHeights[arg0][arg1][arg3 + 1] + arg5, local20 + 128 - 1); - } else { - return false; - } - } } diff --git a/client/src/main/java/rt4/Static87.java b/client/src/main/java/rt4/Static87.java index 190a4bd..8dc667d 100644 --- a/client/src/main/java/rt4/Static87.java +++ b/client/src/main/java/rt4/Static87.java @@ -608,8 +608,8 @@ public final class Static87 { if (GlRenderer.enabled) { GlRaster.method1183(local123, local114, component.width + local123, component.height + local114); - @Pc(2274) boolean local2274 = Static171.method3702(sprite.width); - @Pc(2279) boolean local2279 = Static171.method3702(sprite.height); + @Pc(2274) boolean local2274 = Texture.method3702(sprite.width); + @Pc(2279) boolean local2279 = Texture.method3702(sprite.height); @Pc(2282) GlSprite local2282 = (GlSprite) sprite; if (local2274 && local2279) { if (alpha == 0) { @@ -1099,7 +1099,7 @@ public final class Static87 { local243 = local117 + (arg4 >> 3); local188 = (arg3 >> 3) + local515; if (local243 >= 0 && local243 < 13 && local188 >= 0 && local188 < 13) { - Static103.aClass92ArrayArray1[local243][local188] = local490; + Static73.aClass92ArrayArray1[local243][local188] = local490; } } } @@ -1111,13 +1111,13 @@ public final class Static87 { @Pc(541) LightType local541 = LightTypeList.get(local95.g2()); local529.method1762(local541.anInt2865, local541.anInt2873, local541.anInt2867, local541.anInt2872); } - local529.anInt2245 += arg3 << 7; - local529.anInt2240 += arg4 << 7; - local194 = local529.anInt2245 >> 7; - local190 = local529.anInt2240 >> 7; + local529.z += arg3 << 7; + local529.x += arg4 << 7; + local194 = local529.z >> 7; + local190 = local529.x >> 7; if (local190 >= 0 && local194 >= 0 && local190 < 104 && local194 < 104) { local529.aBoolean125 = (SceneGraph.tileFlags[1][local190][local194] & 0x2) != 0; - local529.anInt2235 = SceneGraph.tileHeights[local529.anInt2241][local190][local194] - local529.anInt2235; + local529.y = SceneGraph.tileHeights[local529.level][local190][local194] - local529.y; LightingManager.method2389(local529); } } diff --git a/client/src/main/java/rt4/Static89.java b/client/src/main/java/rt4/Static89.java index c2a9587..32276bd 100644 --- a/client/src/main/java/rt4/Static89.java +++ b/client/src/main/java/rt4/Static89.java @@ -63,7 +63,7 @@ public final class Static89 { } for (local29 = 0; local29 < 255; local29++) { @Pc(53) int local53 = 255 - local29; - @Pc(58) int local58 = Static171.method3219(local53, local24); + @Pc(58) int local58 = Texture.method3219(local53, local24); @Pc(62) byte local62 = local27[local58]; local27[local58] = local27[local53]; local27[local53] = local27[511 - local29] = local62; @@ -346,7 +346,7 @@ public final class Static89 { if (local472 == null) { local472 = new Environment(); } - Static103.aClass92ArrayArray1[arg1 >> 3][arg4 >> 3] = local472; + Static73.aClass92ArrayArray1[arg1 >> 3][arg4 >> 3] = local472; break label207; } while (local497 <= 0); for (local232 = 0; local232 < local497; local232++) { @@ -355,18 +355,18 @@ public final class Static89 { @Pc(529) LightType local529 = LightTypeList.get(local96.g2()); local517.method1762(local529.anInt2865, local529.anInt2873, local529.anInt2867, local529.anInt2872); } - local417 = local517.anInt2240 >> 7; - local255 = local517.anInt2245 >> 7; - if (arg6 == local517.anInt2241 && local417 >= arg8 && arg8 + 8 > local417 && arg7 <= local255 && arg7 + 8 > local255) { - local266 = method3675(arg0, local517.anInt2240 & 0x3FF, local517.anInt2245 & 0x3FF) + (arg1 << 7); - local316 = method3388(local517.anInt2240 & 0x3FF, arg0, local517.anInt2245 & 0x3FF) + (arg4 << 7); - local517.anInt2240 = local266; - local517.anInt2245 = local316; - local417 = local517.anInt2240 >> 7; - local255 = local517.anInt2245 >> 7; + local417 = local517.x >> 7; + local255 = local517.z >> 7; + if (arg6 == local517.level && local417 >= arg8 && arg8 + 8 > local417 && arg7 <= local255 && arg7 + 8 > local255) { + local266 = method3675(arg0, local517.x & 0x3FF, local517.z & 0x3FF) + (arg1 << 7); + local316 = method3388(local517.x & 0x3FF, arg0, local517.z & 0x3FF) + (arg4 << 7); + local517.x = local266; + local517.z = local316; + local417 = local517.x >> 7; + local255 = local517.z >> 7; if (local417 >= 0 && local255 >= 0 && local417 < 104 && local255 < 104) { local517.aBoolean125 = (SceneGraph.tileFlags[1][local417][local255] & 0x2) != 0; - local517.anInt2235 = SceneGraph.tileHeights[local517.anInt2241][local417][local255] - local517.anInt2235; + local517.y = SceneGraph.tileHeights[local517.level][local417][local255] - local517.y; LightingManager.method2389(local517); } } diff --git a/client/src/main/java/rt4/Texture.java b/client/src/main/java/rt4/Texture.java index b07d585..ee50f6b 100644 --- a/client/src/main/java/rt4/Texture.java +++ b/client/src/main/java/rt4/Texture.java @@ -5,6 +5,8 @@ import org.openrs2.deob.annotation.OriginalClass; import org.openrs2.deob.annotation.OriginalMember; import org.openrs2.deob.annotation.Pc; +import java.util.Random; + @OriginalClass("client!lc") public final class Texture { @@ -238,6 +240,33 @@ public final class Texture { heightMask = height - 1; } + @OriginalMember(owner = "client!ni", name = "a", descriptor = "(BILjava/util/Random;)I") + public static int method3219(@OriginalArg(1) int arg0, @OriginalArg(2) Random arg1) { + if (arg0 <= 0) { + throw new IllegalArgumentException(); + } else if (method3702(arg0)) { + return (int) (((long) arg1.nextInt() & 0xFFFFFFFFL) * (long) arg0 >> 32); + } else { + @Pc(38) int local38 = Integer.MIN_VALUE - (int) (0x100000000L % (long) arg0); + @Pc(41) int local41; + do { + local41 = arg1.nextInt(); + } while (local38 <= local41); + return method990(local41, arg0); + } + } + + @OriginalMember(owner = "client!d", name = "c", descriptor = "(III)I") + public static int method990(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { + @Pc(11) int local11 = arg1 - 1 & arg0 >> 31; + return local11 + (arg0 + (arg0 >>> 31)) % arg1; + } + + @OriginalMember(owner = "client!ra", name = "a", descriptor = "(BI)Z") + public static boolean method3702(@OriginalArg(1) int arg0) { + return arg0 == (-arg0 & arg0); + } + @OriginalMember(owner = "client!lc", name = "a", descriptor = "(IZIDILclient!ve;Lclient!m;Z)[I") public final int[] method2725(@OriginalArg(0) int arg0, @OriginalArg(1) boolean arg1, @OriginalArg(2) int arg2, @OriginalArg(3) double arg3, @OriginalArg(5) Js5 arg4, @OriginalArg(6) TextureProvider arg5, @OriginalArg(7) boolean arg6) { setBrightness(arg3); diff --git a/client/src/main/java/rt4/TextureOp15.java b/client/src/main/java/rt4/TextureOp15.java index 455c574..5253805 100644 --- a/client/src/main/java/rt4/TextureOp15.java +++ b/client/src/main/java/rt4/TextureOp15.java @@ -52,7 +52,7 @@ public final class TextureOp15 extends TextureOp { this.aShortArray35 = new short[512]; if (this.anInt2636 > 0) { for (@Pc(26) int local26 = 0; local26 < 512; local26++) { - this.aShortArray35[local26] = (short) Static171.method3219(this.anInt2636, local12); + this.aShortArray35[local26] = (short) Texture.method3219(this.anInt2636, local12); } } } diff --git a/client/src/main/java/rt4/TextureOp28.java b/client/src/main/java/rt4/TextureOp28.java index f42c95f..d02b1ee 100644 --- a/client/src/main/java/rt4/TextureOp28.java +++ b/client/src/main/java/rt4/TextureOp28.java @@ -80,8 +80,8 @@ public final class TextureOp28 extends TextureOp { @Pc(113) Random local113 = new Random((long) this.anInt4354); while (true) { while (true) { - @Pc(123) int local123 = local54 + Static171.method3219(local61 - local54, local113); - @Pc(133) int local133 = Static171.method3219(local68 - local75, local113) + local75; + @Pc(123) int local123 = local54 + Texture.method3219(local61 - local54, local113); + @Pc(133) int local133 = Texture.method3219(local68 - local75, local113) + local75; @Pc(137) int local137 = local31 + local123; if (Texture.width < local137) { local137 = Texture.width; @@ -173,7 +173,7 @@ public final class TextureOp28 extends TextureOp { local47 = 0; local407[2] = local133 + local158; local407[1] = local137; - local37 = Static171.method3219(Texture.width, local113); + local37 = Texture.method3219(Texture.width, local113); local35 = local37 - local33; @Pc(439) int[][] local439 = local102; local31 = 0; @@ -210,9 +210,9 @@ public final class TextureOp28 extends TextureOp { @OriginalMember(owner = "client!ol", name = "a", descriptor = "(ILjava/util/Random;IIBI[[I)V") private void method3386(@OriginalArg(0) int arg0, @OriginalArg(1) Random arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int[][] arg5) { - @Pc(26) int local26 = this.anInt4360 > 0 ? 4096 - Static171.method3219(this.anInt4360, arg1) : 4096; + @Pc(26) int local26 = this.anInt4360 > 0 ? 4096 - Texture.method3219(this.anInt4360, arg1) : 4096; @Pc(34) int local34 = this.anInt4344 * this.anInt4356 >> 12; - @Pc(47) int local47 = this.anInt4356 - (local34 > 0 ? Static171.method3219(local34, arg1) : 0); + @Pc(47) int local47 = this.anInt4356 - (local34 > 0 ? Texture.method3219(local34, arg1) : 0); if (Texture.width <= arg2) { arg2 -= Texture.width; } diff --git a/client/src/main/java/rt4/TextureOp38.java b/client/src/main/java/rt4/TextureOp38.java index 738434c..68ab19f 100644 --- a/client/src/main/java/rt4/TextureOp38.java +++ b/client/src/main/java/rt4/TextureOp38.java @@ -60,10 +60,10 @@ public final class TextureOp38 extends TextureOp { @Pc(33) int[][] local33 = this.monochromeImageCache.method3446(); @Pc(40) Random local40 = new Random((long) this.anInt5716); for (@Pc(42) int local42 = 0; local42 < this.anInt5712; local42++) { - @Pc(64) int local64 = this.anInt5714 > 0 ? this.anInt5709 + Static171.method3219(this.anInt5714, local40) - local28 : this.anInt5709; - @Pc(69) int local69 = Static171.method3219(Texture.width, local40); + @Pc(64) int local64 = this.anInt5714 > 0 ? this.anInt5709 + Texture.method3219(this.anInt5714, local40) - local28 : this.anInt5709; + @Pc(69) int local69 = Texture.method3219(Texture.width, local40); @Pc(75) int local75 = local64 >> 4 & 0xFF; - @Pc(80) int local80 = Static171.method3219(Texture.height, local40); + @Pc(80) int local80 = Texture.method3219(Texture.height, local40); @Pc(92) int local92 = local69 + (this.anInt5715 * TextureOp.COSINE[local75] >> 12); @Pc(103) int local103 = local80 + (TextureOp.SINE[local75] * this.anInt5715 >> 12); @Pc(107) int local107 = local92 - local69; @@ -101,7 +101,7 @@ public final class TextureOp38 extends TextureOp { local190 = -local190; } @Pc(206) int local206 = -local152 / 2; - @Pc(216) int local216 = 1024 - (Static171.method3219(4096, local40) >> 2); + @Pc(216) int local216 = 1024 - (Texture.method3219(4096, local40) >> 2); @Pc(227) int local227 = local103 <= local80 ? -1 : 1; @Pc(231) int local231 = 2048 / local152; for (@Pc(233) int local233 = local69; local233 < local92; local233++) { diff --git a/client/src/main/java/rt4/TextureOp4.java b/client/src/main/java/rt4/TextureOp4.java index 673a270..2d5775c 100644 --- a/client/src/main/java/rt4/TextureOp4.java +++ b/client/src/main/java/rt4/TextureOp4.java @@ -101,7 +101,7 @@ public final class TextureOp4 extends TextureOp { @Pc(94) int local94; if (local66 > 0) { local82 = this.anInt3670; - local94 = (Static171.method3219(4096, local8) - 2048) * this.anInt3667 >> 12; + local94 = (Texture.method3219(4096, local8) - 2048) * this.anInt3667 >> 12; @Pc(102) int local102 = local82 + (local94 * local34 >> 12); this.anIntArray352[local66] = this.anIntArray352[local66 - 1] + local102; } @@ -109,11 +109,11 @@ public final class TextureOp4 extends TextureOp { for (local82 = 0; local82 < this.anInt3685; local82++) { if (local82 > 0) { local94 = this.anInt3679; - @Pc(150) int local150 = (Static171.method3219(4096, local8) - 2048) * this.anInt3681 >> 12; + @Pc(150) int local150 = (Texture.method3219(4096, local8) - 2048) * this.anInt3681 >> 12; local94 += local64 * local150 >> 12; this.anIntArrayArray26[local66][local82] = this.anIntArrayArray26[local66][local82 - 1] + local94; } - this.anIntArrayArray27[local66][local82] = this.anInt3673 <= 0 ? 4096 : 4096 - Static171.method3219(this.anInt3673, local8); + this.anIntArrayArray27[local66][local82] = this.anInt3673 <= 0 ? 4096 : 4096 - Texture.method3219(this.anInt3673, local8); } this.anIntArrayArray26[local66][this.anInt3685] = 4096; } diff --git a/client/src/main/java/rt4/WorldMap.java b/client/src/main/java/rt4/WorldMap.java index bc92278..d321f1d 100644 --- a/client/src/main/java/rt4/WorldMap.java +++ b/client/src/main/java/rt4/WorldMap.java @@ -1022,7 +1022,7 @@ public class WorldMap { @OriginalMember(owner = "client!ab", name = "a", descriptor = "(Lclient!na;I)V") public static void method4656(@OriginalArg(0) JagString arg0) { - @Pc(9) int local9 = Static171.method3218(arg0); + @Pc(9) int local9 = method3218(arg0); if (local9 != -1) { method3616(labels.aShortArray73[local9], labels.aShortArray72[local9]); } @@ -1030,7 +1030,7 @@ public class WorldMap { @OriginalMember(owner = "client!rc", name = "a", descriptor = "(Lclient!na;Z)Lclient!na;") public static JagString method923(@OriginalArg(0) JagString arg0) { - @Pc(12) int local12 = Static171.method3218(arg0); + @Pc(12) int local12 = method3218(arg0); return local12 == -1 ? aClass100_517 : labels.aClass100Array153[local12].method3140(aClass100_538, aClass100_872); } @@ -1788,4 +1788,17 @@ public class WorldMap { } } } + + @OriginalMember(owner = "client!ni", name = "a", descriptor = "(ILclient!na;)I") + public static int method3218(@OriginalArg(1) JagString arg0) { + if (labels == null || arg0.length() == 0) { + return -1; + } + for (@Pc(20) int local20 = 0; local20 < labels.anInt5074; local20++) { + if (labels.aClass100Array153[local20].method3140(aClass100_538, aClass100_872).method3142(arg0)) { + return local20; + } + } + return -1; + } } diff --git a/client/src/main/java/rt4/client.java b/client/src/main/java/rt4/client.java index e71019c..3346da6 100644 --- a/client/src/main/java/rt4/client.java +++ b/client/src/main/java/rt4/client.java @@ -505,7 +505,7 @@ public final class client extends GameShell { TitleScreen.load(js5Archive8); } if (gameState == 10) { - Static73.method1596(false); + InterfaceList.method1596(false); } if (gameState == 30) { setGameState(25); @@ -1550,7 +1550,7 @@ public final class client extends GameShell { mainLoadState = 160; mainLoadSecondaryText = LocalizedText.MAINLOAD150B; } else if (mainLoadState == 160) { - Static73.method1596(true); + InterfaceList.method1596(true); } }