diff --git a/client/src/main/java/rt4/Camera.java b/client/src/main/java/rt4/Camera.java index 0cf6be0..63fd97c 100644 --- a/client/src/main/java/rt4/Camera.java +++ b/client/src/main/java/rt4/Camera.java @@ -85,6 +85,8 @@ public class Camera { public static int anInt4774 = 0; @OriginalMember(owner = "client!sj", name = "H", descriptor = "I") public static int anInt5161 = 0; + @OriginalMember(owner = "client!af", name = "d", descriptor = "I") + public static int anInt40; public static double mod(double a, double b) { return ((a % b) + b) % b; @@ -140,7 +142,7 @@ public class Camera { if (anInt4612 >= 100) { renderX = anInt5375 * 128 + 64; renderZ = anInt4232 * 128 + 64; - Static5.anInt40 = SceneGraph.getTileHeight(Player.level, renderX, renderZ) - Static231.anInt5203; + anInt40 = SceneGraph.getTileHeight(Player.level, renderX, renderZ) - Static231.anInt5203; } else { if (renderX < local15) { renderX += Static233.anInt5225 + anInt4612 * (local15 - renderX) / 1000; @@ -148,10 +150,10 @@ public class Camera { renderX = local15; } } - if (Static5.anInt40 < local23) { - Static5.anInt40 += (local23 - Static5.anInt40) * anInt4612 / 1000 + Static233.anInt5225; - if (Static5.anInt40 > local23) { - Static5.anInt40 = local23; + if (anInt40 < local23) { + anInt40 += (local23 - anInt40) * anInt4612 / 1000 + Static233.anInt5225; + if (anInt40 > local23) { + anInt40 = local23; } } if (renderX > local15) { @@ -166,10 +168,10 @@ public class Camera { renderZ = local9; } } - if (local23 < Static5.anInt40) { - Static5.anInt40 -= (Static5.anInt40 - local23) * anInt4612 / 1000 + Static233.anInt5225; - if (local23 > Static5.anInt40) { - Static5.anInt40 = local23; + if (local23 < anInt40) { + anInt40 -= (anInt40 - local23) * anInt4612 / 1000 + Static233.anInt5225; + if (local23 > anInt40) { + anInt40 = local23; } } if (renderZ > local9) { @@ -182,7 +184,7 @@ public class Camera { local9 = anInt5765 * 128 + 64; local15 = anInt5449 * 128 + 64; local23 = SceneGraph.getTileHeight(Player.level, local15, local9) - anInt1744; - @Pc(236) int local236 = local23 - Static5.anInt40; + @Pc(236) int local236 = local23 - anInt40; @Pc(241) int local241 = local9 - renderZ; @Pc(246) int local246 = local15 - renderX; @Pc(257) int local257 = (int) Math.sqrt((double) (local246 * local246 + local241 * local241)); @@ -272,7 +274,7 @@ public class Camera { local173 = anIntArrayArrayArray9[anInt3718][local70 + 2][local72] + local131 - local119 - local111; renderCoordinates[local72] = (float) local119 + (((float) local173 * local66 + (float) local155) * local66 + (float) local146) * local66; } - Static5.anInt40 = (int) renderCoordinates[1] * -1; + anInt40 = (int) renderCoordinates[1] * -1; renderX = (int) renderCoordinates[0] - originX * 128; renderZ = (int) renderCoordinates[2] - originZ * 128; @Pc(226) float[] local226 = new float[3]; @@ -308,7 +310,7 @@ public class Camera { @Pc(30) int local30 = anInt5449 * 128 + 64; @Pc(36) int local36 = anInt5765 * 128 + 64; @Pc(44) int local44 = SceneGraph.getTileHeight(Player.level, local30, local36) - anInt1744; - @Pc(49) int local49 = local44 - Static5.anInt40; + @Pc(49) int local49 = local44 - anInt40; @Pc(54) int local54 = local30 - renderX; @Pc(59) int local59 = local36 - renderZ; @Pc(70) int local70 = (int) Math.sqrt((double) (local59 * local59 + local54 * local54)); @@ -334,7 +336,7 @@ public class Camera { if (arg0 && anInt4612 >= 100) { renderX = anInt5375 * 128 + 64; renderZ = anInt4232 * 128 + 64; - Static5.anInt40 = SceneGraph.getTileHeight(Player.level, renderX, renderZ) - Static231.anInt5203; + anInt40 = SceneGraph.getTileHeight(Player.level, renderX, renderZ) - Static231.anInt5203; } cameraType = 2; } @@ -381,4 +383,44 @@ public class Camera { clampCameraAngle(); } } + + @OriginalMember(owner = "client!bh", name = "a", descriptor = "(IIIIIIII)V") + public static void method555(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6) { + @Pc(5) int local5; + @Pc(29) int local29; + if (GlRenderer.enabled) { + local5 = arg1 - 334; + if (local5 < 0) { + local5 = 0; + } else if (local5 > 100) { + local5 = 100; + } + local29 = local5 * (ScriptRunner.aShort27 - ScriptRunner.aShort30) / 100 + ScriptRunner.aShort30; + arg3 = local29 * arg3 >> 8; + } + local5 = 2048 - arg6 & 0x7FF; + local29 = 2048 - arg4 & 0x7FF; + @Pc(55) int local55 = 0; + @Pc(57) int local57 = arg3; + @Pc(59) int local59 = 0; + @Pc(72) int local72; + @Pc(68) int local68; + if (local5 != 0) { + local68 = MathUtils.cos[local5]; + local72 = MathUtils.sin[local5]; + local59 = local72 * -arg3 >> 16; + local57 = local68 * arg3 >> 16; + } + if (local29 != 0) { + local72 = MathUtils.sin[local29]; + local68 = MathUtils.cos[local29]; + local55 = local72 * local57 >> 16; + local57 = local57 * local68 >> 16; + } + cameraPitch = arg6; + cameraYaw = arg4; + renderZ = arg5 - local57; + renderX = arg0 - local55; + anInt40 = arg2 - local59; + } } diff --git a/client/src/main/java/rt4/ClientProt.java b/client/src/main/java/rt4/ClientProt.java index 8db78bb..94d49a3 100644 --- a/client/src/main/java/rt4/ClientProt.java +++ b/client/src/main/java/rt4/ClientProt.java @@ -9,6 +9,8 @@ import java.io.IOException; public class ClientProt { @OriginalMember(owner = "client!e", name = "Dc", descriptor = "Lclient!na;") public static final JagString aClass100_363 = JagString.parse("_labels"); + @OriginalMember(owner = "client!bh", name = "C", descriptor = "Lclient!na;") + public static final JagString COMPLETE_PERCENT = JagString.parse("
(X100(U(Y"); @OriginalMember(owner = "client!wc", name = "g", descriptor = "I") public static int anInt5804 = 0; @OriginalMember(owner = "client!nm", name = "U", descriptor = "I") @@ -265,7 +267,7 @@ public class ClientProt { } if (Static233.loadingScreenState != 0) { - Static114.drawTextOnScreen(true, JagString.concatenate(new JagString[] { LocalizedText.LOADING, Static18.COMPLETE_PERCENT})); + Static114.drawTextOnScreen(true, JagString.concatenate(new JagString[] { LocalizedText.LOADING, COMPLETE_PERCENT})); } client.audioLoop(); @@ -347,9 +349,9 @@ public class ClientProt { if (i < Player.level - 1) { } if (SceneGraph.allLevelsAreVisible()) { - Static146.method2750(0); + SceneGraph.method2750(0); } else { - Static146.method2750(SceneGraph.firstVisibleLevel); + SceneGraph.method2750(SceneGraph.firstVisibleLevel); } SceneGraph.unload(); if (GlRenderer.enabled && hasUnderWaterMap) { @@ -381,7 +383,7 @@ public class ClientProt { } for (chunkX = 0; chunkX < 104; chunkX++) { for (chunkZ = 0; chunkZ < 104; chunkZ++) { - Static220.spawnGroundObject(chunkZ, chunkX); + Protocol.spawnGroundObject(chunkZ, chunkX); } } ScriptRunner.method2218(); diff --git a/client/src/main/java/rt4/LightingManager.java b/client/src/main/java/rt4/LightingManager.java index 3a19c19..01a200a 100644 --- a/client/src/main/java/rt4/LightingManager.java +++ b/client/src/main/java/rt4/LightingManager.java @@ -21,7 +21,7 @@ public class LightingManager { @OriginalMember(owner = "client!ch", name = "w", descriptor = "I") public static int anInt987; @OriginalMember(owner = "client!id", name = "b", descriptor = "I") -public static int anInt2875 = -1; + public static int anInt2875 = -1; @OriginalMember(owner = "client!jf", name = "c", descriptor = "[I") private static int[] anIntArray283; @OriginalMember(owner = "client!jf", name = "d", descriptor = "I") @@ -29,7 +29,7 @@ public static int anInt2875 = -1; @OriginalMember(owner = "client!jf", name = "e", descriptor = "I") private static int anInt3030; @OriginalMember(owner = "client!jf", name = "f", descriptor = "[Z") - private static boolean[] aBooleanArray65; + private static boolean[] enabledLights; @OriginalMember(owner = "client!jf", name = "g", descriptor = "[[[I") private static int[][][] anIntArrayArrayArray11; @OriginalMember(owner = "client!jf", name = "h", descriptor = "[I") @@ -45,9 +45,9 @@ public static int anInt2875 = -1; @OriginalMember(owner = "client!jf", name = "n", descriptor = "I") private static int anInt3035; @OriginalMember(owner = "client!jf", name = "o", descriptor = "I") - private static int anInt3036; + private static int length; @OriginalMember(owner = "client!jf", name = "p", descriptor = "I") - private static int anInt3037; + private static int width; @OriginalMember(owner = "client!jf", name = "a", descriptor = "(IIIIIII)V") public static void method2388(@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(6) int arg6) { @@ -56,19 +56,19 @@ public static int anInt2875 = -1; } if (arg0 == 1 && arg5 > 0) { method2393(arg1, arg2, arg3, arg4, arg5 - 1, arg6); - } else if (arg0 == 4 && arg5 < anInt3037 - 1) { + } else if (arg0 == 4 && arg5 < width - 1) { method2393(arg1, arg2, arg3, arg4, arg5 + 1, arg6); } else if (arg0 == 8 && arg6 > 0) { method2393(arg1, arg2, arg3, arg4, arg5, arg6 - 1); - } else if (arg0 == 2 && arg6 < anInt3036 - 1) { + } else if (arg0 == 2 && arg6 < length - 1) { method2393(arg1, arg2, arg3, arg4, arg5, arg6 + 1); - } else if (arg0 == 16 && arg5 > 0 && arg6 < anInt3036 - 1) { + } else if (arg0 == 16 && arg5 > 0 && arg6 < length - 1) { method2393(arg1, arg2, arg3, arg4, arg5 - 1, arg6 + 1); - } else if (arg0 == 32 && arg5 < anInt3037 - 1 && arg6 < anInt3036 - 1) { + } else if (arg0 == 32 && arg5 < width - 1 && arg6 < length - 1) { method2393(arg1, arg2, arg3, arg4, arg5 + 1, arg6 + 1); } else if (arg0 == 128 && arg5 > 0 && arg6 > 0) { method2393(arg1, arg2, arg3, arg4, arg5 - 1, arg6 - 1); - } else if (arg0 == 64 && arg5 < anInt3037 - 1 && arg6 > 0) { + } else if (arg0 == 64 && arg5 < width - 1 && arg6 > 0) { method2393(arg1, arg2, arg3, arg4, arg5 + 1, arg6 - 1); } } @@ -86,7 +86,7 @@ public static int anInt2875 = -1; public static void method2390() { for (@Pc(1) int local1 = 0; local1 < 4; local1++) { anIntArray284[local1] = -1; - method2396(local1); + disableLight(local1); } } @@ -155,7 +155,7 @@ public static int anInt2875 = -1; for (local35 = 0; local35 < 4; local35++) { if (!aBooleanArray66[local35]) { anIntArray284[local35] = -1; - method2396(local35); + disableLight(local35); } } anInt3031 = arg3; @@ -168,9 +168,9 @@ public static int anInt2875 = -1; @OriginalMember(owner = "client!jf", name = "a", descriptor = "(III)V") public static void method2392() { anInt3032 = 4; - anInt3037 = 104; - anInt3036 = 104; - anIntArrayArrayArray11 = new int[anInt3032][anInt3037][anInt3036]; + width = 104; + length = 104; + anIntArrayArrayArray11 = new int[anInt3032][width][length]; } @OriginalMember(owner = "client!jf", name = "a", descriptor = "(IIIIII)V") @@ -211,7 +211,7 @@ public static int anInt2875 = -1; for (local47 = 0; local47 < 4; local47++) { if (!aBooleanArray66[local47]) { anIntArray284[local47] = -1; - method2396(local47); + disableLight(local47); } } anInt3031 = arg3; @@ -255,8 +255,8 @@ public static int anInt2875 = -1; local39 = 0; } @Pc(55) int local55 = (local8.z >> 7) + local8.radius; - if (local55 > anInt3036 - 1) { - local55 = anInt3036 - 1; + if (local55 > length - 1) { + local55 = length - 1; } for (@Pc(66) int local66 = local39; local66 <= local55; local66++) { @Pc(75) short local75 = local8.aShortArray30[local31++]; @@ -265,8 +265,8 @@ public static int anInt2875 = -1; if (local87 < 0) { local87 = 0; } - if (local95 > anInt3037 - 1) { - local95 = anInt3037 - 1; + if (local95 > width - 1) { + local95 = width - 1; } for (@Pc(110) int local110 = local87; local110 <= local95; local110++) { @Pc(121) int local121 = anIntArrayArrayArray11[local26][local110][local66]; @@ -286,12 +286,12 @@ public static int anInt2875 = -1; } @OriginalMember(owner = "client!jf", name = "a", descriptor = "(I)V") - private static void method2396(@OriginalArg(0) int arg0) { - if (aBooleanArray65[arg0]) { - aBooleanArray65[arg0] = false; - @Pc(14) int local14 = arg0 + 16384 + 4; - @Pc(16) GL2 local16 = GlRenderer.gl; - local16.glDisable(local14); + private static void disableLight(@OriginalArg(0) int i) { + if (enabledLights[i]) { + enabledLights[i] = false; + @Pc(14) int light = i + 16384 + 4; + @Pc(16) GL2 gl = GlRenderer.gl; + gl.glDisable(light); } } @@ -321,7 +321,7 @@ public static int anInt2875 = -1; } } anIntArray284[local4] = -1; - method2396(local4); + disableLight(local4); } } @@ -329,7 +329,7 @@ public static int anInt2875 = -1; public static void method2398() { lights = null; anIntArray284 = null; - aBooleanArray65 = null; + enabledLights = null; anIntArray283 = null; aBooleanArray66 = null; anIntArrayArrayArray11 = null; @@ -347,7 +347,7 @@ public static int anInt2875 = -1; } for (local3 = 0; local3 < 4; local3++) { anIntArray284[local3] = -1; - method2396(local3); + disableLight(local3); } } @@ -355,10 +355,10 @@ public static int anInt2875 = -1; public static void method2401() { lights = new Light[255]; anIntArray284 = new int[4]; - aBooleanArray65 = new boolean[4]; + enabledLights = new boolean[4]; anIntArray283 = new int[4]; aBooleanArray66 = new boolean[4]; - anIntArrayArrayArray11 = new int[anInt3032][anInt3037][anInt3036]; + anIntArrayArrayArray11 = new int[anInt3032][width][length]; } @OriginalMember(owner = "client!jf", name = "a", descriptor = "(II[[[Lclient!bj;)V") @@ -366,17 +366,17 @@ public static int anInt2875 = -1; if (!Preferences.highDetailLighting) { return; } - @Pc(4) GL2 local4 = GlRenderer.gl; + @Pc(4) GL2 gl = GlRenderer.gl; MaterialManager.setMaterial(0, 0); GlRenderer.setTextureCombineRgbMode(0); GlRenderer.resetTextureMatrix(); GlRenderer.setTextureId(GlRenderer.anInt5328); - local4.glDepthMask(false); + gl.glDepthMask(false); GlRenderer.setLightingEnabled(false); - local4.glBlendFunc(GL2.GL_DST_COLOR, GL2.GL_ONE); - local4.glFogfv(GL2.GL_FOG_COLOR, new float[] { 0.0F, 0.0F, 0.0F, 0.0F }, 0); - local4.glTexEnvi(GL2.GL_TEXTURE_ENV, GL2.GL_SRC0_RGB, GL2.GL_CONSTANT); - local4.glTexEnvi(GL2.GL_TEXTURE_ENV, GL2.GL_OPERAND0_RGB, GL2.GL_SRC_ALPHA); + gl.glBlendFunc(GL2.GL_DST_COLOR, GL2.GL_ONE); + gl.glFogfv(GL2.GL_FOG_COLOR, new float[] { 0.0F, 0.0F, 0.0F, 0.0F }, 0); + gl.glTexEnvi(GL2.GL_TEXTURE_ENV, GL2.GL_SRC0_RGB, GL2.GL_CONSTANT); + gl.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.level; @@ -411,7 +411,7 @@ public static int anInt2875 = -1; } if (local66 < 0 || local160 != null && local160.aBoolean45) { 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); + gl.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; } @@ -419,50 +419,41 @@ public static int anInt2875 = -1; } } } - local4.glTexEnvi(GL2.GL_TEXTURE_ENV, GL2.GL_SRC0_RGB, GL2.GL_TEXTURE); - local4.glTexEnvi(GL2.GL_TEXTURE_ENV, GL2.GL_OPERAND0_RGB, GL2.GL_SRC_COLOR); - local4.glBlendFunc(GL2.GL_SRC_ALPHA, GL2.GL_ONE_MINUS_SRC_ALPHA); - local4.glDepthMask(true); - local4.glFogfv(GL2.GL_FOG_COLOR, FogManager.fogColor, 0); - local4.glEnableClientState(GL2.GL_TEXTURE_COORD_ARRAY); + gl.glTexEnvi(GL2.GL_TEXTURE_ENV, GL2.GL_SRC0_RGB, GL2.GL_TEXTURE); + gl.glTexEnvi(GL2.GL_TEXTURE_ENV, GL2.GL_OPERAND0_RGB, GL2.GL_SRC_COLOR); + gl.glBlendFunc(GL2.GL_SRC_ALPHA, GL2.GL_ONE_MINUS_SRC_ALPHA); + gl.glDepthMask(true); + gl.glFogfv(GL2.GL_FOG_COLOR, FogManager.fogColor, 0); + gl.glEnableClientState(GL2.GL_TEXTURE_COORD_ARRAY); GlRenderer.restoreLighting(); } @OriginalMember(owner = "client!jf", name = "a", descriptor = "(ILclient!gi;III)V") private static void method2403(@OriginalArg(0) int arg0, @OriginalArg(1) Light arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4) { @Pc(5) int local5 = arg0 + 16384 + 4; - @Pc(7) GL2 local7 = GlRenderer.gl; - if (!aBooleanArray65[arg0]) { - local7.glEnable(local5); - aBooleanArray65[arg0] = true; + @Pc(7) GL2 gl = GlRenderer.gl; + if (!enabledLights[arg0]) { + gl.glEnable(local5); + enabledLights[arg0] = true; } - local7.glLightf(local5, GL2.GL_QUADRATIC_ATTENUATION, arg1.aFloat9); - local7.glLightfv(local5, GL2.GL_DIFFUSE, arg1.diffuse, 0); + gl.glLightf(local5, GL2.GL_QUADRATIC_ATTENUATION, arg1.aFloat9); + gl.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); + gl.glLightfv(local5, GL2.GL_POSITION, aFloatArray17, 0); } @OriginalMember(owner = "client!jf", name = "g", descriptor = "()V") public static void method2404() { lightCount = 0; for (@Pc(3) int local3 = 0; local3 < anInt3032; local3++) { - for (@Pc(8) int local8 = 0; local8 < anInt3037; local8++) { - for (@Pc(13) int local13 = 0; local13 < anInt3036; local13++) { + for (@Pc(8) int local8 = 0; local8 < width; local8++) { + for (@Pc(13) int local13 = 0; local13 < length; local13++) { anIntArrayArrayArray11[local3][local8][local13] = 0; } } } } - @OriginalMember(owner = "client!ch", name = "c", descriptor = "(I)V") - public static void method846() { - if (!SceneGraph.allLevelsAreVisible() && LoginManager.centralPlane != Player.level) { - LoginManager.method2463(Player.level, LoginManager.centralZoneZ, LoginManager.centralZoneX, PlayerList.self.movementQueueZ[0], false, PlayerList.self.movementQueueX[0]); - } else if (Player.level != anInt2875 && MiniMap.renderMap(Player.level)) { - anInt2875 = Player.level; - ScriptRunner.method2218(); - } - } } diff --git a/client/src/main/java/rt4/LoginManager.java b/client/src/main/java/rt4/LoginManager.java index 5e7bad2..632b731 100644 --- a/client/src/main/java/rt4/LoginManager.java +++ b/client/src/main/java/rt4/LoginManager.java @@ -833,444 +833,9 @@ public class LoginManager { @Pc(45) int local45 = (regionBitPacked[local25] >> 8) * 64 - Camera.originX; @Pc(56) int local56 = (regionBitPacked[local25] & 0xFF) * 64 - Camera.originZ; client.audioLoop(); - method2437(local45, arg0, local32, local56, PathFinder.collisionMaps); + SceneGraph.method2437(local45, arg0, local32, local56, PathFinder.collisionMaps); } } } - @OriginalMember(owner = "client!jk", name = "a", descriptor = "(IZ[BII[Lclient!mj;)V") - public static void method2437(@OriginalArg(0) int arg0, @OriginalArg(1) boolean arg1, @OriginalArg(2) byte[] arg2, @OriginalArg(3) int arg3, @OriginalArg(5) CollisionMap[] arg4) { - @Pc(10) Buffer local10 = new Buffer(arg2); - @Pc(12) int local12 = -1; - while (true) { - @Pc(16) int local16 = local10.gVarSmart(); - if (local16 == 0) { - return; - } - local12 += local16; - @Pc(27) int local27 = 0; - while (true) { - @Pc(31) int local31 = local10.gsmarts(); - if (local31 == 0) { - break; - } - local27 += local31 - 1; - @Pc(46) int local46 = local27 & 0x3F; - @Pc(50) int local50 = local27 >> 12; - @Pc(56) int local56 = local27 >> 6 & 0x3F; - @Pc(60) int local60 = local10.g1(); - @Pc(64) int local64 = local60 >> 2; - @Pc(68) int local68 = local60 & 0x3; - @Pc(72) int local72 = arg0 + local56; - @Pc(76) int local76 = local46 + arg3; - if (local72 > 0 && local76 > 0 && local72 < 103 && local76 < 103) { - @Pc(90) CollisionMap local90 = null; - if (!arg1) { - @Pc(95) int local95 = local50; - if ((SceneGraph.tileFlags[1][local72][local76] & 0x2) == 2) { - local95 = local50 - 1; - } - if (local95 >= 0) { - local90 = arg4[local95]; - } - } - method3397(local50, !arg1, local50, arg1, local90, local12, local64, local72, local76, local68); - } - } - } - } - - @OriginalMember(owner = "client!p", name = "a", descriptor = "(IZIZLclient!mj;IIIBII)V") - public static void method3397(@OriginalArg(0) int arg0, @OriginalArg(1) boolean arg1, @OriginalArg(2) int arg2, @OriginalArg(3) boolean arg3, @OriginalArg(4) CollisionMap arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(9) int arg8, @OriginalArg(10) int arg9) { - if (arg1 && !SceneGraph.allLevelsAreVisible() && (SceneGraph.tileFlags[0][arg7][arg8] & 0x2) == 0) { - if ((SceneGraph.tileFlags[arg2][arg7][arg8] & 0x10) != 0) { - return; - } - if (Static4.method22(arg8, arg7, arg2) != centralPlane) { - return; - } - } - if (arg2 < SceneGraph.firstVisibleLevel) { - SceneGraph.firstVisibleLevel = arg2; - } - @Pc(62) LocType local62 = LocTypeList.get(arg5); - if (GlRenderer.enabled && local62.aBoolean216) { - return; - } - @Pc(84) int local84; - @Pc(81) int local81; - if (arg9 == 1 || arg9 == 3) { - local81 = local62.width; - local84 = local62.length; - } else { - local84 = local62.width; - local81 = local62.length; - } - @Pc(103) int local103; - @Pc(112) int local112; - if (arg7 + local84 <= 104) { - local103 = arg7 + (local84 >> 1); - local112 = arg7 + (local84 + 1 >> 1); - } else { - local112 = arg7 + 1; - local103 = arg7; - } - @Pc(129) int local129; - @Pc(133) int local133; - if (local81 + arg8 > 104) { - local129 = arg8; - local133 = arg8 + 1; - } else { - local129 = (local81 >> 1) + arg8; - local133 = arg8 + (local81 + 1 >> 1); - } - @Pc(153) int[][] local153 = SceneGraph.tileHeights[arg0]; - @Pc(165) int local165 = (local84 << 6) + (arg7 << 7); - @Pc(173) int local173 = (local81 << 6) + (arg8 << 7); - @Pc(199) int local199 = local153[local103][local133] + local153[local112][local129] + local153[local103][local129] + local153[local112][local133] >> 2; - @Pc(201) int local201 = 0; - @Pc(213) int[][] local213; - if (GlRenderer.enabled && arg0 != 0) { - local213 = SceneGraph.tileHeights[0]; - local201 = local199 - (local213[local112][local133] + local213[local112][local129] + local213[local103][local129] + local213[local103][local133] >> 2); - } - local213 = null; - @Pc(261) long local261 = (long) (arg7 | 0x40000000 | arg8 << 7 | arg6 << 14 | arg9 << 20); - if (arg3) { - local213 = SceneGraph.surfaceTileHeights[0]; - } else if (arg0 < 3) { - local213 = SceneGraph.tileHeights[arg0 + 1]; - } - if (local62.anInt4429 == 0 || arg3) { - local261 |= Long.MIN_VALUE; - } - if (local62.anInt4438 == 1) { - local261 |= 0x400000L; - } - if (local62.aBoolean213) { - local261 |= 0x80000000L; - } - if (local62.hasAreaSound()) { - AreaSoundManager.add(arg8, local62, arg9, null, arg7, arg2, null); - } - @Pc(330) boolean local330 = local62.aBoolean212 & !arg3; - local261 |= (long) arg5 << 32; - @Pc(387) Entity local387; - @Pc(403) Loc_Class139 local403; - if (arg6 == 22) { - if (Preferences.showGroundDecorations || local62.anInt4429 != 0 || local62.anInt4435 == 1 || local62.aBoolean206) { - if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { - local403 = local62.method3428(arg9, local165, local153, 22, local199, local213, arg1, null, local330, local173); - if (GlRenderer.enabled && local330) { - ShadowManager.method4211(local403.aClass36_Sub1_3, local165, local201, local173); - } - local387 = local403.aClass8_10; - } else { - local387 = new Loc(arg5, 22, arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); - } - SceneGraph.setGroundDecor(arg2, arg7, arg8, local199, local387, local261, local62.aBoolean211); - if (local62.anInt4435 == 1 && arg4 != null) { - arg4.flagGroundDecor(arg7, arg8); - } - } - } else if (arg6 == 10 || arg6 == 11) { - if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { - local403 = local62.method3428(arg6 == 11 ? arg9 + 4 : arg9, local165, local153, 10, local199, local213, arg1, null, local330, local173); - if (GlRenderer.enabled && local330) { - ShadowManager.method4211(local403.aClass36_Sub1_3, local165, local201, local173); - } - local387 = local403.aClass8_10; - } else { - local387 = new Loc(arg5, 10, arg6 == 11 ? arg9 + 4 : arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); - } - if (local387 != null) { - @Pc(531) boolean local531 = Static5.method35(arg2, arg7, arg8, local199, local84, local81, local387, local261); - if (local62.aBoolean215 && local531 && arg1) { - @Pc(541) int local541 = 15; - if (local387 instanceof Model) { - local541 = ((Model) local387).method4566() / 4; - if (local541 > 30) { - local541 = 30; - } - } - for (@Pc(560) int local560 = 0; local560 <= local84; local560++) { - for (@Pc(565) int local565 = 0; local565 <= local81; local565++) { - if (SceneGraph.aByteArrayArrayArray9[arg2][arg7 + local560][local565 + arg8] < local541) { - SceneGraph.aByteArrayArrayArray9[arg2][arg7 + local560][arg8 + local565] = (byte) local541; - } - } - } - } - } - if (local62.anInt4435 != 0 && arg4 != null) { - arg4.flagScenery(arg7, local62.aBoolean207, arg8, local84, local81); - } - } else if (arg6 >= 12) { - if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { - local403 = local62.method3428(arg9, local165, local153, arg6, local199, local213, arg1, null, local330, local173); - if (GlRenderer.enabled && local330) { - ShadowManager.method4211(local403.aClass36_Sub1_3, local165, local201, local173); - } - local387 = local403.aClass8_10; - } else { - local387 = new Loc(arg5, arg6, arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); - } - Static5.method35(arg2, arg7, arg8, local199, 1, 1, local387, local261); - if (arg1 && arg6 >= 12 && arg6 <= 17 && arg6 != 13 && arg2 > 0) { - SceneGraph.anIntArrayArrayArray6[arg2][arg7][arg8] |= 0x4; - } - if (local62.anInt4435 != 0 && arg4 != null) { - arg4.flagScenery(arg7, local62.aBoolean207, arg8, local84, local81); - } - } else if (arg6 == 0) { - if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { - local403 = local62.method3428(arg9, local165, local153, 0, local199, local213, arg1, null, local330, local173); - if (GlRenderer.enabled && local330) { - ShadowManager.method4211(local403.aClass36_Sub1_3, local165, local201, local173); - } - local387 = local403.aClass8_10; - } else { - local387 = new Loc(arg5, 0, arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); - } - SceneGraph.setWall(arg2, arg7, arg8, local199, local387, null, Static267.anIntArray517[arg9], 0, local261); - if (arg1) { - if (arg9 == 0) { - if (local62.aBoolean215) { - SceneGraph.aByteArrayArrayArray9[arg2][arg7][arg8] = 50; - SceneGraph.aByteArrayArrayArray9[arg2][arg7][arg8 + 1] = 50; - } - if (local62.aBoolean220) { - SceneGraph.anIntArrayArrayArray6[arg2][arg7][arg8] |= 0x1; - } - } else if (arg9 == 1) { - if (local62.aBoolean215) { - SceneGraph.aByteArrayArrayArray9[arg2][arg7][arg8 + 1] = 50; - SceneGraph.aByteArrayArrayArray9[arg2][arg7 + 1][arg8 + 1] = 50; - } - if (local62.aBoolean220) { - SceneGraph.anIntArrayArrayArray6[arg2][arg7][arg8 + 1] |= 0x2; - } - } else if (arg9 == 2) { - if (local62.aBoolean215) { - SceneGraph.aByteArrayArrayArray9[arg2][arg7 + 1][arg8] = 50; - SceneGraph.aByteArrayArrayArray9[arg2][arg7 + 1][arg8 + 1] = 50; - } - if (local62.aBoolean220) { - SceneGraph.anIntArrayArrayArray6[arg2][arg7 + 1][arg8] |= 0x1; - } - } else if (arg9 == 3) { - if (local62.aBoolean215) { - SceneGraph.aByteArrayArrayArray9[arg2][arg7][arg8] = 50; - SceneGraph.aByteArrayArrayArray9[arg2][arg7 + 1][arg8] = 50; - } - if (local62.aBoolean220) { - SceneGraph.anIntArrayArrayArray6[arg2][arg7][arg8] |= 0x2; - } - } - } - if (local62.anInt4435 != 0 && arg4 != null) { - arg4.flagWall(arg9, arg6, local62.aBoolean207, arg8, arg7); - } - if (local62.wallDecorOffsetScale != 16) { - Static18.method559(arg2, arg7, arg8, local62.wallDecorOffsetScale); - } - } else if (arg6 == 1) { - if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { - local403 = local62.method3428(arg9, local165, local153, 1, local199, local213, arg1, null, local330, local173); - if (GlRenderer.enabled && local330) { - ShadowManager.method4211(local403.aClass36_Sub1_3, local165, local201, local173); - } - local387 = local403.aClass8_10; - } else { - local387 = new Loc(arg5, 1, arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); - } - SceneGraph.setWall(arg2, arg7, arg8, local199, local387, null, anIntArray204[arg9], 0, local261); - if (local62.aBoolean215 && arg1) { - if (arg9 == 0) { - SceneGraph.aByteArrayArrayArray9[arg2][arg7][arg8 + 1] = 50; - } else if (arg9 == 1) { - SceneGraph.aByteArrayArrayArray9[arg2][arg7 + 1][arg8 + 1] = 50; - } else if (arg9 == 2) { - SceneGraph.aByteArrayArrayArray9[arg2][arg7 + 1][arg8] = 50; - } else if (arg9 == 3) { - SceneGraph.aByteArrayArrayArray9[arg2][arg7][arg8] = 50; - } - } - if (local62.anInt4435 != 0 && arg4 != null) { - arg4.flagWall(arg9, arg6, local62.aBoolean207, arg8, arg7); - } - } else { - @Pc(1226) int local1226; - if (arg6 == 2) { - local1226 = arg9 + 1 & 0x3; - @Pc(1269) Entity local1269; - @Pc(1254) Entity local1254; - if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { - @Pc(1287) Loc_Class139 local1287 = local62.method3428(arg9 + 4, local165, local153, 2, local199, local213, arg1, null, local330, local173); - if (GlRenderer.enabled && local330) { - ShadowManager.method4211(local1287.aClass36_Sub1_3, local165, local201, local173); - } - local1254 = local1287.aClass8_10; - local1287 = local62.method3428(local1226, local165, local153, 2, local199, local213, arg1, null, local330, local173); - if (GlRenderer.enabled && local330) { - ShadowManager.method4211(local1287.aClass36_Sub1_3, local165, local201, local173); - } - local1269 = local1287.aClass8_10; - } else { - local1254 = new Loc(arg5, 2, arg9 + 4, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); - local1269 = new Loc(arg5, 2, local1226, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); - } - SceneGraph.setWall(arg2, arg7, arg8, local199, local1254, local1269, Static267.anIntArray517[arg9], Static267.anIntArray517[local1226], local261); - if (local62.aBoolean220 && arg1) { - if (arg9 == 0) { - SceneGraph.anIntArrayArrayArray6[arg2][arg7][arg8] |= 0x1; - SceneGraph.anIntArrayArrayArray6[arg2][arg7][arg8 + 1] |= 0x2; - } else if (arg9 == 1) { - SceneGraph.anIntArrayArrayArray6[arg2][arg7][arg8 + 1] |= 0x2; - SceneGraph.anIntArrayArrayArray6[arg2][arg7 + 1][arg8] |= 0x1; - } else if (arg9 == 2) { - SceneGraph.anIntArrayArrayArray6[arg2][arg7 + 1][arg8] |= 0x1; - SceneGraph.anIntArrayArrayArray6[arg2][arg7][arg8] |= 0x2; - } else if (arg9 == 3) { - SceneGraph.anIntArrayArrayArray6[arg2][arg7][arg8] |= 0x2; - SceneGraph.anIntArrayArrayArray6[arg2][arg7][arg8] |= 0x1; - } - } - if (local62.anInt4435 != 0 && arg4 != null) { - arg4.flagWall(arg9, arg6, local62.aBoolean207, arg8, arg7); - } - if (local62.wallDecorOffsetScale != 16) { - Static18.method559(arg2, arg7, arg8, local62.wallDecorOffsetScale); - } - } else if (arg6 == 3) { - if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { - local403 = local62.method3428(arg9, local165, local153, 3, local199, local213, arg1, null, local330, local173); - if (GlRenderer.enabled && local330) { - ShadowManager.method4211(local403.aClass36_Sub1_3, local165, local201, local173); - } - local387 = local403.aClass8_10; - } else { - local387 = new Loc(arg5, 3, arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); - } - SceneGraph.setWall(arg2, arg7, arg8, local199, local387, null, anIntArray204[arg9], 0, local261); - if (local62.aBoolean215 && arg1) { - if (arg9 == 0) { - SceneGraph.aByteArrayArrayArray9[arg2][arg7][arg8 + 1] = 50; - } else if (arg9 == 1) { - SceneGraph.aByteArrayArrayArray9[arg2][arg7 + 1][arg8 + 1] = 50; - } else if (arg9 == 2) { - SceneGraph.aByteArrayArrayArray9[arg2][arg7 + 1][arg8] = 50; - } else if (arg9 == 3) { - SceneGraph.aByteArrayArrayArray9[arg2][arg7][arg8] = 50; - } - } - if (local62.anInt4435 != 0 && arg4 != null) { - arg4.flagWall(arg9, arg6, local62.aBoolean207, arg8, arg7); - } - } else if (arg6 == 9) { - if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { - local403 = local62.method3428(arg9, local165, local153, arg6, local199, local213, arg1, null, local330, local173); - if (GlRenderer.enabled && local330) { - ShadowManager.method4211(local403.aClass36_Sub1_3, local165, local201, local173); - } - local387 = local403.aClass8_10; - } else { - local387 = new Loc(arg5, arg6, arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); - } - Static5.method35(arg2, arg7, arg8, local199, 1, 1, local387, local261); - if (local62.anInt4435 != 0 && arg4 != null) { - arg4.flagScenery(arg7, local62.aBoolean207, arg8, local84, local81); - } - if (local62.wallDecorOffsetScale != 16) { - Static18.method559(arg2, arg7, arg8, local62.wallDecorOffsetScale); - } - } else if (arg6 == 4) { - if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { - local403 = local62.method3428(arg9, local165, local153, 4, local199, local213, arg1, null, local330, local173); - if (GlRenderer.enabled && local330) { - ShadowManager.method4211(local403.aClass36_Sub1_3, local165, local201, local173); - } - local387 = local403.aClass8_10; - } else { - local387 = new Loc(arg5, 4, arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); - } - Static185.method1880(arg2, arg7, arg8, local199, local387, null, Static267.anIntArray517[arg9], 0, 0, 0, local261); - } else { - @Pc(1889) long local1889; - @Pc(1934) Entity local1934; - @Pc(1950) Loc_Class139 local1950; - if (arg6 == 5) { - local1226 = 16; - local1889 = SceneGraph.getWallKey(arg2, arg7, arg8); - if (local1889 != 0L) { - local1226 = LocTypeList.get(Integer.MAX_VALUE & (int) (local1889 >>> 32)).wallDecorOffsetScale; - } - if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { - local1950 = local62.method3428(arg9, local165, local153, 4, local199, local213, arg1, null, local330, local173); - if (GlRenderer.enabled && local330) { - ShadowManager.method4211(local1950.aClass36_Sub1_3, local165 - Static34.anIntArray80[arg9] * 8, local201, local173 - SceneGraph.anIntArray469[arg9] * 8); - } - local1934 = local1950.aClass8_10; - } else { - local1934 = new Loc(arg5, 4, arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); - } - Static185.method1880(arg2, arg7, arg8, local199, local1934, null, Static267.anIntArray517[arg9], 0, local1226 * Static34.anIntArray80[arg9], SceneGraph.anIntArray469[arg9] * local1226, local261); - } else if (arg6 == 6) { - local1226 = 8; - local1889 = SceneGraph.getWallKey(arg2, arg7, arg8); - if (local1889 != 0L) { - local1226 = LocTypeList.get(Integer.MAX_VALUE & (int) (local1889 >>> 32)).wallDecorOffsetScale / 2; - } - if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { - local1950 = local62.method3428(arg9 + 4, local165, local153, 4, local199, local213, arg1, null, local330, local173); - if (GlRenderer.enabled && local330) { - ShadowManager.method4211(local1950.aClass36_Sub1_3, local165 - Static114.anIntArray565[arg9] * 8, local201, local173 - SceneGraph.anIntArray154[arg9] * 8); - } - local1934 = local1950.aClass8_10; - } else { - local1934 = new Loc(arg5, 4, arg9 + 4, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); - } - Static185.method1880(arg2, arg7, arg8, local199, local1934, null, 256, arg9, local1226 * Static114.anIntArray565[arg9], local1226 * SceneGraph.anIntArray154[arg9], local261); - } else if (arg6 == 7) { - @Pc(2137) int local2137 = arg9 + 2 & 0x3; - if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { - @Pc(2183) Loc_Class139 local2183 = local62.method3428(local2137 + 4, local165, local153, 4, local199, local213, arg1, null, local330, local173); - if (GlRenderer.enabled && local330) { - ShadowManager.method4211(local2183.aClass36_Sub1_3, local165, local201, local173); - } - local387 = local2183.aClass8_10; - } else { - local387 = new Loc(arg5, 4, local2137 + 4, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); - } - Static185.method1880(arg2, arg7, arg8, local199, local387, null, 256, local2137, 0, 0, local261); - } else if (arg6 == 8) { - local1226 = 8; - local1889 = SceneGraph.getWallKey(arg2, arg7, arg8); - if (local1889 != 0L) { - local1226 = LocTypeList.get(Integer.MAX_VALUE & (int) (local1889 >>> 32)).wallDecorOffsetScale / 2; - } - @Pc(2244) int local2244 = arg9 + 2 & 0x3; - @Pc(2289) Entity local2289; - if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { - @Pc(2297) int local2297 = SceneGraph.anIntArray154[arg9] * 8; - @Pc(2303) int local2303 = Static114.anIntArray565[arg9] * 8; - @Pc(2319) Loc_Class139 local2319 = local62.method3428(arg9 + 4, local165, local153, 4, local199, local213, arg1, null, local330, local173); - if (GlRenderer.enabled && local330) { - ShadowManager.method4211(local2319.aClass36_Sub1_3, local165 - local2303, local201, local173 - local2297); - } - local1934 = local2319.aClass8_10; - local2319 = local62.method3428(local2244 + 4, local165, local153, 4, local199, local213, arg1, null, local330, local173); - if (GlRenderer.enabled && local330) { - ShadowManager.method4211(local2319.aClass36_Sub1_3, local165 - local2303, local201, local173 - local2297); - } - local2289 = local2319.aClass8_10; - } else { - local1934 = new Loc(arg5, 4, arg9 + 4, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); - local2289 = new Loc(arg5, 4, local2244 + 4, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); - } - Static185.method1880(arg2, arg7, arg8, local199, local1934, local2289, 256, arg9, local1226 * Static114.anIntArray565[arg9], SceneGraph.anIntArray154[arg9] * local1226, local261); - } - } - } - } } diff --git a/client/src/main/java/rt4/MiniMenu.java b/client/src/main/java/rt4/MiniMenu.java index eb5bad1..063dbf7 100644 --- a/client/src/main/java/rt4/MiniMenu.java +++ b/client/src/main/java/rt4/MiniMenu.java @@ -121,6 +121,14 @@ public class MiniMenu { public static int anInt7 = 0; @OriginalMember(owner = "client!cl", name = "Y", descriptor = "I") public static int anInt1092 = -1; + @OriginalMember(owner = "client!p", name = "e", descriptor = "I") + public static int anInt4370; + @OriginalMember(owner = "client!jg", name = "b", descriptor = "I") + public static int anInt3039; + @OriginalMember(owner = "client!th", name = "n", descriptor = "Z") + public static boolean aBoolean302 = false; + @OriginalMember(owner = "client!bh", name = "t", descriptor = "I") + public static int clickedInventoryIndex = 0; @OriginalMember(owner = "client!va", name = "a", descriptor = "(IZILclient!be;)V") public static void addComponentEntries(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) Component component) { @@ -128,7 +136,7 @@ public class MiniMenu { add(-1, 0L, JagString.EMPTY, 0, (short) 8, component.aClass100_89, component.id); } @Pc(47) JagString local47; - if (component.anInt530 == 2 && !Static241.aBoolean302) { + if (component.anInt530 == 2 && !aBoolean302) { local47 = MiniMap.getTargetVerb(component); if (local47 != null) { add(-1, 0L, JagString.concatenate(new JagString[] {COLOR_GREEN, component.aClass100_85 }), -1, (short) 32, local47, component.id); @@ -160,17 +168,17 @@ public class MiniMenu { } if (arg1 >= local195 && local202 <= arg0 && local195 + 32 > arg1 && local202 + 32 > arg0) { InterfaceList.mouseOverInventoryInterface = component; - Static18.clickedInventoryIndex = local171; + clickedInventoryIndex = local171; if (component.objTypes[local171] > 0) { @Pc(267) ServerActiveProperties local267 = InterfaceList.getServerActiveProperties(component); @Pc(276) ObjType local276 = ObjTypeList.get(component.objTypes[local171] - 1); if (anInt5014 == 1 && local267.isObjOpsEnabled()) { - if (MiniMap.anInt5062 != component.id || Static185.anInt4370 != local171) { + if (MiniMap.anInt5062 != component.id || anInt4370 != local171) { add(-1, (long) local276.id, JagString.concatenate(new JagString[] { aClass100_203, aClass100_947, local276.name}), local171, (short) 40, LocalizedText.USE, component.id); } - } else if (Static241.aBoolean302 && local267.isObjOpsEnabled()) { - @Pc(596) ParamType local596 = Static121.anInt3039 == -1 ? null : ParamTypeList.get(Static121.anInt3039); - if ((anInt4999 & 0x10) != 0 && (local596 == null || local276.getParam(local596.defaultInt, Static121.anInt3039) != local596.defaultInt)) { + } else if (aBoolean302 && local267.isObjOpsEnabled()) { + @Pc(596) ParamType local596 = anInt3039 == -1 ? null : ParamTypeList.get(anInt3039); + if ((anInt4999 & 0x10) != 0 && (local596 == null || local276.getParam(local596.defaultInt, anInt3039) != local596.defaultInt)) { add(anInt5393, (long) local276.id, JagString.concatenate(new JagString[] { aClass100_466, aClass100_947, local276.name}), local171, (short) 3, aClass100_545, component.id); } } else { @@ -250,7 +258,7 @@ public class MiniMenu { if (!component.if3) { return; } - if (!Static241.aBoolean302) { + if (!aBoolean302) { for (local171 = 9; local171 >= 5; local171--) { @Pc(765) JagString local765 = InterfaceList.getOp(component, local171); if (local765 != null) { @@ -379,7 +387,7 @@ public class MiniMenu { } if (local23 == 40) { Protocol.outboundBuffer.p1isaac(27); - Protocol.outboundBuffer.p2(Static185.anInt4370); + Protocol.outboundBuffer.p2(anInt4370); Protocol.outboundBuffer.ip4(local19); Protocol.outboundBuffer.ip2(local15); Protocol.outboundBuffer.ip4(MiniMap.anInt5062); @@ -602,7 +610,7 @@ public class MiniMenu { Protocol.outboundBuffer.p2add(Camera.originX + local15); Protocol.outboundBuffer.p2(anInt4997); Protocol.outboundBuffer.ip2(local19 + Camera.originZ); - Protocol.outboundBuffer.p2(Static185.anInt4370); + Protocol.outboundBuffer.p2(anInt4370); Protocol.outboundBuffer.mp4(MiniMap.anInt5062); Protocol.outboundBuffer.p2add((int) (local31 >>> 32) & Integer.MAX_VALUE); } @@ -665,7 +673,7 @@ public class MiniMenu { if (local693 != null) { method1294(); @Pc(1493) ServerActiveProperties local1493 = InterfaceList.getServerActiveProperties(local693); - Static247.method4246(local19, local15, local1493.getTargetMask(), local1493.anInt540, local693.anInt499, local693.anInt484); + method4246(local19, local15, local1493.getTargetMask(), local1493.anInt540, local693.anInt499, local693.anInt484); anInt5014 = 0; aClass100_545 = MiniMap.getTargetVerb(local693); if (aClass100_545 == null) { @@ -776,7 +784,7 @@ public class MiniMenu { Cross.x = Mouse.clickX; Protocol.outboundBuffer.p1isaac(115); Protocol.outboundBuffer.mp4(MiniMap.anInt5062); - Protocol.outboundBuffer.ip2(Static185.anInt4370); + Protocol.outboundBuffer.ip2(anInt4370); Protocol.outboundBuffer.ip2(local36); Protocol.outboundBuffer.ip2add(anInt4997); } @@ -802,7 +810,7 @@ public class MiniMenu { Cross.type = 2; Protocol.outboundBuffer.p1isaac(101); Protocol.outboundBuffer.ip2add(local15 + Camera.originX); - Protocol.outboundBuffer.ip2(Static185.anInt4370); + Protocol.outboundBuffer.ip2(anInt4370); Protocol.outboundBuffer.ip2(anInt4997); Protocol.outboundBuffer.ip2(local36); Protocol.outboundBuffer.ip2add(Camera.originZ + local19); @@ -850,7 +858,7 @@ public class MiniMenu { Protocol.outboundBuffer.p1isaac(248); Protocol.outboundBuffer.ip2add(local36); Protocol.outboundBuffer.p2(anInt4997); - Protocol.outboundBuffer.p2(Static185.anInt4370); + Protocol.outboundBuffer.p2(anInt4370); Protocol.outboundBuffer.mp4(MiniMap.anInt5062); } } @@ -914,7 +922,7 @@ public class MiniMenu { method1294(); local693 = InterfaceList.getComponent(local19); MiniMap.anInt5062 = local19; - Static185.anInt4370 = local15; + anInt4370 = local15; anInt5014 = 1; anInt4997 = local36; InterfaceList.redraw(local693); @@ -1042,7 +1050,7 @@ public class MiniMenu { anInt5014 = 0; InterfaceList.redraw(InterfaceList.getComponent(MiniMap.anInt5062)); } - if (Static241.aBoolean302) { + if (aBoolean302) { method1294(); } if (pressedInventoryComponent != null && anInt2043 == 0) { @@ -1083,7 +1091,7 @@ public class MiniMenu { @Pc(19) int local19 = Rasteriser.screenLowerX; @Pc(33) int local33 = (arg5 - arg3) * (local17 - local19) / arg1 + local19; x = local15 + (local13 - local15) * (arg4 - arg0) / arg2; - if (Static241.aBoolean302 && (anInt4999 & 0x40) != 0) { + if (aBoolean302 && (anInt4999 & 0x40) != 0) { @Pc(61) Component local61 = InterfaceList.method1418(anInt2512, anInt506); if (local61 == null) { method1294(); @@ -1117,9 +1125,9 @@ public class MiniMenu { } if (anInt5014 == 1) { add(MiniMap.anInt4075, local121, JagString.concatenate(new JagString[] {aClass100_203, aClass100_164, local172.name}), x, (short) 14, LocalizedText.USE, z); - } else if (Static241.aBoolean302) { - @Pc(363) ParamType local363 = Static121.anInt3039 == -1 ? null : ParamTypeList.get(Static121.anInt3039); - if ((anInt4999 & 0x4) != 0 && (local363 == null || local172.getParam(local363.defaultInt, Static121.anInt3039) != local363.defaultInt)) { + } else if (aBoolean302) { + @Pc(363) ParamType local363 = anInt3039 == -1 ? null : ParamTypeList.get(anInt3039); + if ((anInt4999 & 0x4) != 0 && (local363 == null || local172.getParam(local363.defaultInt, anInt3039) != local363.defaultInt)) { add(anInt5393, local121, JagString.concatenate(new JagString[] { aClass100_466, aClass100_164, local172.name}), x, (short) 38, aClass100_545, z); } } else { @@ -1222,9 +1230,9 @@ public class MiniMenu { @Pc(951) ObjType local951 = ObjTypeList.get(local240); if (anInt5014 == 1) { add(MiniMap.anInt4075, (long) local240, JagString.concatenate(new JagString[] { aClass100_203, aClass100_947, local951.name }), x, (short) 33, LocalizedText.USE, z); - } else if (Static241.aBoolean302) { - @Pc(1142) ParamType local1142 = Static121.anInt3039 == -1 ? null : ParamTypeList.get(Static121.anInt3039); - if ((anInt4999 & 0x1) != 0 && (local1142 == null || local951.getParam(local1142.defaultInt, Static121.anInt3039) != local1142.defaultInt)) { + } else if (aBoolean302) { + @Pc(1142) ParamType local1142 = anInt3039 == -1 ? null : ParamTypeList.get(anInt3039); + if ((anInt4999 & 0x1) != 0 && (local1142 == null || local951.getParam(local1142.defaultInt, anInt3039) != local1142.defaultInt)) { add(anInt5393, (long) local240, JagString.concatenate(new JagString[] { aClass100_466, aClass100_947, local951.name }), x, (short) 39, aClass100_545, z); } } else { @@ -1274,7 +1282,7 @@ public class MiniMenu { @Pc(32) JagString local32; if (anInt5014 == 1 && size < 2) { local32 = JagString.concatenate(new JagString[] { LocalizedText.USE, LocalizedText.MINISEPARATOR, aClass100_203, aClass100_961}); - } else if (Static241.aBoolean302 && size < 2) { + } else if (aBoolean302 && size < 2) { local32 = JagString.concatenate(new JagString[] { aClass100_545, LocalizedText.MINISEPARATOR, aClass100_466, aClass100_961}); } else if (Cheat.shiftClick && Keyboard.pressedKeys[Keyboard.KEY_SHIFT] && size > 2) { local32 = getOp(size - 2); @@ -1317,9 +1325,9 @@ public class MiniMenu { } if (anInt5014 == 1) { add(MiniMap.anInt4075, (long) arg2, JagString.concatenate(new JagString[] {aClass100_203, aClass100_407, local35 }), arg1, (short) 26, LocalizedText.USE, arg3); - } else if (Static241.aBoolean302) { - @Pc(378) ParamType local378 = Static121.anInt3039 == -1 ? null : ParamTypeList.get(Static121.anInt3039); - if ((anInt4999 & 0x2) != 0 && (local378 == null || arg0.getParam(Static121.anInt3039, local378.defaultInt) != local378.defaultInt)) { + } else if (aBoolean302) { + @Pc(378) ParamType local378 = anInt3039 == -1 ? null : ParamTypeList.get(anInt3039); + if ((anInt4999 & 0x2) != 0 && (local378 == null || arg0.getParam(anInt3039, local378.defaultInt) != local378.defaultInt)) { add(anInt5393, (long) arg2, JagString.concatenate(new JagString[] {aClass100_466, aClass100_407, local35 }), arg1, (short) 45, aClass100_545, arg3); } } else { @@ -1424,7 +1432,7 @@ public class MiniMenu { @Pc(275) int local275; if (anInt5014 == 1) { add(MiniMap.anInt4075, (long) arg0, JagString.concatenate(new JagString[] {aClass100_203, aClass100_561, string }), arg3, (short) 1, LocalizedText.USE, arg1); - } else if (!Static241.aBoolean302) { + } else if (!aBoolean302) { for (local275 = 7; local275 >= 0; local275--) { if (Player.options[local275] != null) { @Pc(291) short local291 = 0; @@ -1503,7 +1511,7 @@ public class MiniMenu { @OriginalMember(owner = "client!ec", name = "a", descriptor = "(B)V") public static void method1294() { - if (!Static241.aBoolean302) { + if (!aBoolean302) { return; } @Pc(19) Component local19 = InterfaceList.method1418(anInt2512, anInt506); @@ -1513,8 +1521,27 @@ public class MiniMenu { local29.source = local19; ScriptRunner.run(local29); } - Static241.aBoolean302 = false; + aBoolean302 = false; anInt1092 = -1; InterfaceList.redraw(local19); } + + @OriginalMember(owner = "client!ub", name = "b", descriptor = "(IIIIIII)V") + public static void method4246(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(6) int arg5) { + @Pc(8) Component local8 = InterfaceList.method1418(arg0, arg1); + if (local8 != null && local8.onUse != null) { + @Pc(19) HookRequest local19 = new HookRequest(); + local19.source = local8; + local19.arguments = local8.onUse; + ScriptRunner.run(local19); + } + anInt506 = arg1; + anInt3039 = arg3; + anInt2512 = arg0; + anInt4999 = arg2; + aBoolean302 = true; + anInt5393 = arg4; + anInt1092 = arg5; + InterfaceList.redraw(local8); + } } diff --git a/client/src/main/java/rt4/MouseRecorder.java b/client/src/main/java/rt4/MouseRecorder.java index 2ee571d..a41987c 100644 --- a/client/src/main/java/rt4/MouseRecorder.java +++ b/client/src/main/java/rt4/MouseRecorder.java @@ -13,6 +13,8 @@ public final class MouseRecorder implements Runnable { public static boolean enabled = false; @OriginalMember(owner = "client!oe", name = "a", descriptor = "I") public static int mouseRecorderPrevY = 0; + @OriginalMember(owner = "client!vh", name = "s", descriptor = "I") + public static int mouseRecorderPrevX = 0; @OriginalMember(owner = "client!jd", name = "e", descriptor = "Z") public boolean running = true; diff --git a/client/src/main/java/rt4/ObjTypeList.java b/client/src/main/java/rt4/ObjTypeList.java index ff05cfb..4be8cd0 100644 --- a/client/src/main/java/rt4/ObjTypeList.java +++ b/client/src/main/java/rt4/ObjTypeList.java @@ -44,7 +44,7 @@ public class ObjTypeList { if (local6 != null) { return local6; } - @Pc(25) byte[] local25 = archive.fetchFile(Static18.method554(arg0), Static247.method4247(arg0)); + @Pc(25) byte[] local25 = archive.fetchFile(method554(arg0), method4247(arg0)); local6 = new ObjType(); local6.id = arg0; if (local25 != null) { @@ -106,4 +106,14 @@ public class ObjTypeList { public static void clearSprites() { objectSpriteCache.clear(); } + + @OriginalMember(owner = "client!ub", name = "a", descriptor = "(IB)I") + public static int method4247(@OriginalArg(0) int arg0) { + return arg0 & 0xFF; + } + + @OriginalMember(owner = "client!bh", name = "a", descriptor = "(IB)I") + public static int method554(@OriginalArg(0) int arg0) { + return arg0 >>> 8; + } } diff --git a/client/src/main/java/rt4/Protocol.java b/client/src/main/java/rt4/Protocol.java index fb61af4..8e269bc 100644 --- a/client/src/main/java/rt4/Protocol.java +++ b/client/src/main/java/rt4/Protocol.java @@ -104,6 +104,8 @@ public class Protocol { public static int anInt4422 = 0; @OriginalMember(owner = "client!fe", name = "R", descriptor = "Z") public static boolean prevFocus = true; + @OriginalMember(owner = "client!rm", name = "c", descriptor = "I") + public static int anInt4941 = 1; @OriginalMember(owner = "client!g", name = "b", descriptor = "(B)V") public static void readLocationPacket() { @@ -132,7 +134,7 @@ public class Protocol { SceneGraph.objStacks[Player.level][local19][local27] = new LinkedList(); } SceneGraph.objStacks[Player.level][local19][local27].addTail(new ObjStackNode(local122)); - Static220.spawnGroundObject(local27, local19); + spawnGroundObject(local27, local19); } } else if (opcode == ServerProt.LOCATION_PACKET_121) { int local15 = inboundBuffer.g1(); @@ -233,7 +235,7 @@ public class Protocol { break; } } - Static220.spawnGroundObject(local19, local23); + spawnGroundObject(local19, local23); } } } else if (opcode == ServerProt.LOCATION_PACKET_135) { @@ -251,7 +253,7 @@ public class Protocol { SceneGraph.objStacks[Player.level][local19][local27] = new LinkedList(); } SceneGraph.objStacks[Player.level][local19][local27].addTail(new ObjStackNode(local812)); - Static220.spawnGroundObject(local27, local19); + spawnGroundObject(local27, local19); } } else if (opcode == ServerProt.LOCATION_PACKET_16) { int local15 = inboundBuffer.g1(); @@ -381,7 +383,7 @@ public class Protocol { if (local1565.head() == null) { SceneGraph.objStacks[Player.level][local23][local19] = null; } - Static220.spawnGroundObject(local19, local23); + spawnGroundObject(local19, local23); } } } @@ -554,7 +556,7 @@ public class Protocol { @Pc(106) int local106 = -1; @Pc(127) JagString message; if (local35) { - @Pc(112) QuickChatPhrase phrase = Static264.method3568(chatBuffer); + @Pc(112) QuickChatPhrase phrase = QuickChatPhraseType.method3568(chatBuffer); int1 &= 0x7FFF; local106 = phrase.id; message = phrase.type.decodeMessage(chatBuffer); @@ -1495,7 +1497,7 @@ public class Protocol { for (int z = SceneGraph.currentChunkZ; z < SceneGraph.currentChunkZ + 8; z++) { if (SceneGraph.objStacks[Player.level][x][z] != null) { SceneGraph.objStacks[Player.level][x][z] = null; - Static220.spawnGroundObject(z, x); + spawnGroundObject(z, x); } } } @@ -2419,9 +2421,9 @@ public class Protocol { y = -1; x = -1; } - if (Static264.mouseRecorderPrevX != x || y != MouseRecorder.mouseRecorderPrevY) { - dx = x - Static264.mouseRecorderPrevX; - Static264.mouseRecorderPrevX = x; + if (MouseRecorder.mouseRecorderPrevX != x || y != MouseRecorder.mouseRecorderPrevY) { + dx = x - MouseRecorder.mouseRecorderPrevX; + MouseRecorder.mouseRecorderPrevX = x; dy = y - MouseRecorder.mouseRecorderPrevY; MouseRecorder.mouseRecorderPrevY = y; if (anInt4762 < 8 && dx >= -32 && dx <= 31 && dy >= -32 && dy <= 31) { @@ -2531,7 +2533,7 @@ public class Protocol { outboundBuffer.p4(Preferences.toInt()); Preferences.sentToServer = true; } - LightingManager.method846(); + SceneGraph.method846(); if (client.gameState != 30) { return; } @@ -2694,7 +2696,7 @@ public class Protocol { if (Mouse.pressedButton == 0) { if (Static123.draggingClickedInventoryObject && InterfaceList.clickedInventoryComponentCycle >= 5) { - if (InterfaceList.clickedInventoryComponent == InterfaceList.mouseOverInventoryInterface && Static4.mouseOverInventoryObjectIndex != Static18.clickedInventoryIndex) { + if (InterfaceList.clickedInventoryComponent == InterfaceList.mouseOverInventoryInterface && Static4.mouseOverInventoryObjectIndex != MiniMenu.clickedInventoryIndex) { component = InterfaceList.clickedInventoryComponent; @Pc(1363) byte inserting = 0; @@ -2702,19 +2704,19 @@ public class Protocol { inserting = 1; } - if (component.objTypes[Static18.clickedInventoryIndex] <= 0) { + if (component.objTypes[MiniMenu.clickedInventoryIndex] <= 0) { inserting = 0; } if (InterfaceList.getServerActiveProperties(component).isObjReplaceEnabled()) { int newIndex = Static4.mouseOverInventoryObjectIndex; - int currentIndex = Static18.clickedInventoryIndex; + int currentIndex = MiniMenu.clickedInventoryIndex; component.objTypes[currentIndex] = component.objTypes[newIndex]; component.objCounts[currentIndex] = component.objCounts[newIndex]; component.objTypes[newIndex] = -1; component.objCounts[newIndex] = 0; } else if (inserting == 1) { - int currentIndex = Static18.clickedInventoryIndex; + int currentIndex = MiniMenu.clickedInventoryIndex; int newIndex = Static4.mouseOverInventoryObjectIndex; while (currentIndex != newIndex) { if (currentIndex > newIndex) { @@ -2726,12 +2728,12 @@ public class Protocol { } } } else { - component.swapObjs(Static18.clickedInventoryIndex, Static4.mouseOverInventoryObjectIndex); + component.swapObjs(MiniMenu.clickedInventoryIndex, Static4.mouseOverInventoryObjectIndex); } outboundBuffer.p1isaac(231); outboundBuffer.p2(Static4.mouseOverInventoryObjectIndex); outboundBuffer.ip4(InterfaceList.clickedInventoryComponent.id); - outboundBuffer.p2add(Static18.clickedInventoryIndex); + outboundBuffer.p2add(MiniMenu.clickedInventoryIndex); outboundBuffer.p1sub(inserting); } } else if ((VarpDomain.anInt2952 == 1 || MiniMenu.method4640(MiniMenu.size - 1)) && MiniMenu.size > 2) { @@ -2892,7 +2894,7 @@ public class Protocol { anInt3486 = 0; modelId = (int) (Math.random() * 8.0D); if ((modelId & 0x4) == 4) { - Camera.anInt5161 += Static220.anInt4941; + Camera.anInt5161 += anInt4941; } if ((modelId & 0x2) == 2) { Camera.anInt4774 += anInt659; @@ -2927,13 +2929,13 @@ public class Protocol { anInt659 = -2; } if (Camera.anInt5161 < -40) { - Static220.anInt4941 = 1; + anInt4941 = 1; } if (Camera.anInt3291 > 50) { Camera.anInt4229 = -2; } if (Camera.anInt5161 > 40) { - Static220.anInt4941 = -1; + anInt4941 = -1; } if (MiniMap.anInt4130 > 10) { MiniMap.anInt4262 = -1; @@ -3444,4 +3446,47 @@ public class Protocol { local126.length = local51; return local126; } + + @OriginalMember(owner = "client!rm", name = "a", descriptor = "(IBI)V") + public static void spawnGroundObject(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) { + @Pc(9) LinkedList local9 = SceneGraph.objStacks[Player.level][arg1][arg0]; + if (local9 == null) { + SceneGraph.method3420(Player.level, arg1, arg0); + return; + } + @Pc(28) int local28 = -99999999; + @Pc(30) ObjStackNode local30 = null; + @Pc(35) ObjStackNode local35; + for (local35 = (ObjStackNode) local9.head(); local35 != null; local35 = (ObjStackNode) local9.next()) { + @Pc(44) ObjType local44 = ObjTypeList.get(local35.value.type); + @Pc(47) int local47 = local44.cost; + if (local44.stackable == 1) { + local47 *= local35.value.anInt5550 + 1; + } + if (local28 < local47) { + local28 = local47; + local30 = local35; + } + } + if (local30 == null) { + SceneGraph.method3420(Player.level, arg1, arg0); + return; + } + local9.addHead(local30); + @Pc(89) ObjStack local89 = null; + @Pc(91) ObjStack local91 = null; + for (local35 = (ObjStackNode) local9.head(); local35 != null; local35 = (ObjStackNode) local9.next()) { + @Pc(103) ObjStack local103 = local35.value; + if (local103.type != local30.value.type) { + if (local89 == null) { + local89 = local103; + } + if (local103.type != local89.type && local91 == null) { + local91 = local103; + } + } + } + @Pc(152) long local152 = (long) ((arg0 << 7) + arg1 + 1610612736); + SceneGraph.method1543(Player.level, arg1, arg0, SceneGraph.getTileHeight(Player.level, arg1 * 128 + 64, arg0 * 128 + 64), local30.value, local152, local89, local91); + } } diff --git a/client/src/main/java/rt4/QuickChatPhraseType.java b/client/src/main/java/rt4/QuickChatPhraseType.java index f431962..ad0bd5f 100644 --- a/client/src/main/java/rt4/QuickChatPhraseType.java +++ b/client/src/main/java/rt4/QuickChatPhraseType.java @@ -16,6 +16,8 @@ public final class QuickChatPhraseType extends SecondaryNode { public static final int[] anIntArray51 = new int[] { 2, 2, 4, 2, 1, 8, 4, 1, 4, 4, 2, 1, 1, 1, 4, 1 }; @OriginalMember(owner = "client!qg", name = "U", descriptor = "Lclient!na;") public static final JagString aClass100_891 = JagString.parse(""); + @OriginalMember(owner = "client!vh", name = "p", descriptor = "[I") + public static final int[] anIntArray412 = new int[] { 1, 0, 0, 0, 1, 0, 2, 1, 1, 1, 0, 2, 0, 0, 1, 0 }; @OriginalMember(owner = "client!cb", name = "L", descriptor = "[I") private int[] anIntArray71; @@ -31,7 +33,15 @@ public final class QuickChatPhraseType extends SecondaryNode { @OriginalMember(owner = "client!cb", name = "O", descriptor = "Z") public boolean aBoolean60 = true; - @OriginalMember(owner = "client!cb", name = "a", descriptor = "(Lclient!wa;[IZ)V") + @OriginalMember(owner = "client!vh", name = "a", descriptor = "(ILclient!wa;)Lclient!bd;") + public static QuickChatPhrase method3568(@OriginalArg(1) Buffer arg0) { + @Pc(3) QuickChatPhrase local3 = new QuickChatPhrase(); + local3.id = arg0.g2(); + local3.type = QuickChatPhraseTypeList.get(local3.id); + return local3; + } + + @OriginalMember(owner = "client!cb", name = "a", descriptor = "(Lclient!wa;[IZ)V") public final void encodeMessage(@OriginalArg(0) Buffer arg0, @OriginalArg(1) int[] arg1) { if (this.anIntArray71 == null) { return; @@ -106,8 +116,8 @@ public final class QuickChatPhraseType extends SecondaryNode { for (local42 = 0; local42 < local32; local42++) { @Pc(49) int local49 = arg0.g2(); this.anIntArray71[local42] = local49; - this.anIntArrayArray5[local42] = new int[Static264.anIntArray412[local49]]; - for (@Pc(64) int local64 = 0; local64 < Static264.anIntArray412[local49]; local64++) { + this.anIntArrayArray5[local42] = new int[anIntArray412[local49]]; + for (@Pc(64) int local64 = 0; local64 < anIntArray412[local49]; local64++) { this.anIntArrayArray5[local42][local64] = arg0.g2(); } } diff --git a/client/src/main/java/rt4/SceneGraph.java b/client/src/main/java/rt4/SceneGraph.java index 20cae4f..f7b9e0c 100644 --- a/client/src/main/java/rt4/SceneGraph.java +++ b/client/src/main/java/rt4/SceneGraph.java @@ -1,5 +1,6 @@ package rt4; +import com.jogamp.opengl.GL2; import org.openrs2.deob.annotation.OriginalArg; import org.openrs2.deob.annotation.OriginalMember; import org.openrs2.deob.annotation.Pc; @@ -8,22 +9,22 @@ public class SceneGraph { @OriginalMember(owner = "client!bb", name = "g", descriptor = "[[[B") public static final byte[][][] tileFlags = new byte[4][104][104]; @OriginalMember(owner = "client!mi", name = "Y", descriptor = "[[[Lclient!ih;") - public static final LinkedList[][][] objStacks = new LinkedList[4][104][104]; + public static final LinkedList[][][] objStacks = new LinkedList[4][104][104]; @OriginalMember(owner = "client!te", name = "B", descriptor = "[I") - public static final int[] anIntArray469 = new int[] { 0, -1, 0, 1 }; + public static final int[] anIntArray469 = new int[]{0, -1, 0, 1}; @OriginalMember(owner = "client!fb", name = "q", descriptor = "[I") - public static final int[] anIntArray154 = new int[] { -1, -1, 1, 1 }; + public static final int[] anIntArray154 = new int[]{-1, -1, 1, 1}; @OriginalMember(owner = "client!kc", name = "o", descriptor = "[[[Lclient!bj;") public static Tile[][][] tiles; @OriginalMember(owner = "client!gj", name = "m", descriptor = "[[[I") - public static int[][][] tileHeights; + public static int[][][] tileHeights; @OriginalMember(owner = "client!id", name = "i", descriptor = "[[[I") public static int[][][] surfaceTileHeights; @OriginalMember(owner = "client!tg", name = "g", descriptor = "[[[B") public static byte[][][] tileOverlays; @OriginalMember(owner = "client!n", name = "h", descriptor = "[[[B") - public static byte[][][] tileShapes; + public static byte[][][] tileShapes; @OriginalMember(owner = "client!ac", name = "e", descriptor = "[[[B") public static byte[][][] tileAngles; @OriginalMember(owner = "client!ui", name = "eb", descriptor = "[[[B") @@ -49,7 +50,7 @@ public class SceneGraph { @OriginalMember(owner = "client!rh", name = "k", descriptor = "I") public static int anInt4870 = 0; @OriginalMember(owner = "client!bl", name = "T", descriptor = "I") - public static int sceneryLen = 0; + public static int sceneryLen = 0; @OriginalMember(owner = "client!pm", name = "cb", descriptor = "[[[Lclient!bj;") public static Tile[][][] surfaceGroundTiles; @OriginalMember(owner = "client!client", name = "kb", descriptor = "[[Lclient!hg;") @@ -67,7 +68,7 @@ public class SceneGraph { @OriginalMember(owner = "client!cd", name = "s", descriptor = "I") public static int anInt917; @OriginalMember(owner = "client!tk", name = "D", descriptor = "[Lclient!ec;") - public static Scenery[] scenery; + public static Scenery[] scenery; @OriginalMember(owner = "client!c", name = "bb", descriptor = "[Lclient!ec;") public static Scenery[] aClass31Array2; @OriginalMember(owner = "client!gf", name = "O", descriptor = "[[[I") @@ -77,15 +78,15 @@ public class SceneGraph { @OriginalMember(owner = "client!jm", name = "r", descriptor = "I") public static int levels; @OriginalMember(owner = "client!sm", name = "e", descriptor = "[[[B") - public static byte[][][] aByteArrayArrayArray13; + public static byte[][][] aByteArrayArrayArray13; @OriginalMember(owner = "client!wi", name = "db", descriptor = "I") - public static int visibility; + public static int visibility; @OriginalMember(owner = "client!f", name = "ab", descriptor = "[[I") public static int[][] anIntArrayArray11; @OriginalMember(owner = "client!la", name = "i", descriptor = "[[[I") public static int[][][] anIntArrayArrayArray12; @OriginalMember(owner = "client!dl", name = "h", descriptor = "[[Z") - public static boolean[][] aBooleanArrayArray1; + public static boolean[][] aBooleanArrayArray1; @OriginalMember(owner = "client!ha", name = "k", descriptor = "[[Z") public static boolean[][] aBooleanArrayArray3; @OriginalMember(owner = "client!og", name = "b", descriptor = "I") @@ -93,7 +94,7 @@ public class SceneGraph { @OriginalMember(owner = "client!ja", name = "q", descriptor = "I") public static int currentChunkX; @OriginalMember(owner = "client!gm", name = "R", descriptor = "I") - public static int anInt2293 = (int) (Math.random() * 17.0D) - 8; + public static int anInt2293 = (int) (Math.random() * 17.0D) - 8; @OriginalMember(owner = "client!ok", name = "c", descriptor = "I") public static int anInt4272 = (int) (Math.random() * 33.0D) - 16; @@ -340,10 +341,10 @@ public class SceneGraph { } @OriginalMember(owner = "client!bj", name = "a", descriptor = "(III)J") - public static long getGroundDecorKey(@OriginalArg(0) int level, @OriginalArg(1) int x, @OriginalArg(2) int z) { - @Pc(7) Tile tile = tiles[level][x][z]; - return tile == null || tile.groundDecor == null ? 0L : tile.groundDecor.key; - } + public static long getGroundDecorKey(@OriginalArg(0) int level, @OriginalArg(1) int x, @OriginalArg(2) int z) { + @Pc(7) Tile tile = tiles[level][x][z]; + return tile == null || tile.groundDecor == null ? 0L : tile.groundDecor.key; + } @OriginalMember(owner = "client!wj", name = "a", descriptor = "(Z)V") public static void setUnderwater(@OriginalArg(0) boolean underwater) { @@ -491,38 +492,38 @@ public class SceneGraph { } @OriginalMember(owner = "client!ia", name = "a", descriptor = "(IB)I") - public static int method2251(@OriginalArg(0) int arg0) { - @Pc(11) int local11 = arg0 & 0x3F; - @Pc(17) int local17 = arg0 >> 6 & 0x3; - if (local11 == 18) { - if (local17 == 0) { - return 1; - } - if (local17 == 1) { - return 2; - } - if (local17 == 2) { - return 4; - } - if (local17 == 3) { - return 8; - } - } else if (local11 == 19 || local11 == 21) { - if (local17 == 0) { - return 16; - } - if (local17 == 1) { - return 32; - } - if (local17 == 2) { - return 64; - } - if (local17 == 3) { - return 128; - } - } - return 0; - } + public static int method2251(@OriginalArg(0) int arg0) { + @Pc(11) int local11 = arg0 & 0x3F; + @Pc(17) int local17 = arg0 >> 6 & 0x3; + if (local11 == 18) { + if (local17 == 0) { + return 1; + } + if (local17 == 1) { + return 2; + } + if (local17 == 2) { + return 4; + } + if (local17 == 3) { + return 8; + } + } else if (local11 == 19 || local11 == 21) { + if (local17 == 0) { + return 16; + } + if (local17 == 1) { + return 32; + } + if (local17 == 2) { + return 64; + } + if (local17 == 3) { + return 128; + } + } + return 0; + } @OriginalMember(owner = "client!vf", name = "a", descriptor = "(IIIILclient!th;Lclient!th;IIJ)V") public static void setWall(@OriginalArg(0) int level, @OriginalArg(1) int x, @OriginalArg(2) int z, @OriginalArg(3) int arg3, @OriginalArg(4) Entity primary, @OriginalArg(5) Entity secondary, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) long key) { @@ -584,16 +585,16 @@ public class SceneGraph { } @OriginalMember(owner = "client!vj", name = "a", descriptor = "(III)J") - public static long getWallKey(@OriginalArg(0) int level, @OriginalArg(1) int x, @OriginalArg(2) int z) { - @Pc(7) Tile tile = tiles[level][x][z]; - return tile == null || tile.wall == null ? 0L : tile.wall.key; - } + public static long getWallKey(@OriginalArg(0) int level, @OriginalArg(1) int x, @OriginalArg(2) int z) { + @Pc(7) Tile tile = tiles[level][x][z]; + return tile == null || tile.wall == null ? 0L : tile.wall.key; + } @OriginalMember(owner = "client!l", name = "a", descriptor = "(III)J") - public static long getWallDecorKey(@OriginalArg(0) int level, @OriginalArg(1) int x, @OriginalArg(2) int z) { - @Pc(7) Tile tile = tiles[level][x][z]; - return tile == null || tile.wallDecor == null ? 0L : tile.wallDecor.key; - } + public static long getWallDecorKey(@OriginalArg(0) int level, @OriginalArg(1) int x, @OriginalArg(2) int z) { + @Pc(7) Tile tile = tiles[level][x][z]; + return tile == null || tile.wallDecor == null ? 0L : tile.wallDecor.key; + } @OriginalMember(owner = "client!cl", name = "a", descriptor = "(III)J") public static long getSceneryKey(@OriginalArg(0) int level, @OriginalArg(1) int x, @OriginalArg(2) int z) { @@ -623,20 +624,20 @@ public class SceneGraph { } @OriginalMember(owner = "client!dk", name = "a", descriptor = "(III)Lclient!ec;") - public static Scenery removeScenery(@OriginalArg(0) int level, @OriginalArg(1) int x, @OriginalArg(2) int z) { - @Pc(7) Tile tile = tiles[level][x][z]; - if (tile == null) { - return null; - } - for (@Pc(13) int i = 0; i < tile.sceneryLen; i++) { - @Pc(22) Scenery scenery = tile.scenery[i]; - if ((scenery.key >> 29 & 0x3L) == 2L && scenery.xMin == x && scenery.zMin == z) { - removeScenery(scenery); - return scenery; - } - } - return null; - } + public static Scenery removeScenery(@OriginalArg(0) int level, @OriginalArg(1) int x, @OriginalArg(2) int z) { + @Pc(7) Tile tile = tiles[level][x][z]; + if (tile == null) { + return null; + } + for (@Pc(13) int i = 0; i < tile.sceneryLen; i++) { + @Pc(22) Scenery scenery = tile.scenery[i]; + if ((scenery.key >> 29 & 0x3L) == 2L && scenery.xMin == x && scenery.zMin == z) { + removeScenery(scenery); + return scenery; + } + } + return null; + } @OriginalMember(owner = "client!vl", name = "a", descriptor = "(III)Lclient!bm;") public static GroundDecor removeGroundDecor(@OriginalArg(0) int level, @OriginalArg(1) int x, @OriginalArg(2) int z) { @@ -678,475 +679,480 @@ public class SceneGraph { } @OriginalMember(owner = "client!di", name = "a", descriptor = "([Lclient!mj;ZI)V") - public static void method1169(@OriginalArg(0) CollisionMap[] collisionMaps, @OriginalArg(1) boolean underwater) { - @Pc(10) int level; - @Pc(15) int x; - if (!underwater) { - for (level = 0; level < 4; level++) { - for (x = 0; x < 104; x++) { - for (@Pc(22) int z = 0; z < 104; z++) { - if ((tileFlags[level][x][z] & 0x1) == 1) { - @Pc(43) int transformedLevel = level; - if ((tileFlags[1][x][z] & 0x2) == 2) { - transformedLevel = level - 1; - } - if (transformedLevel >= 0) { - collisionMaps[transformedLevel].flagTile(z, x); - } - } - } - } - } - anInt4272 += (int) (Math.random() * 5.0D) - 2; - if (anInt4272 < -16) { - anInt4272 = -16; - } - if (anInt4272 > 16) { - anInt4272 = 16; - } - anInt2293 += (int) (Math.random() * 5.0D) - 2; - if (anInt2293 < -8) { - anInt2293 = -8; - } - if (anInt2293 > 8) { - anInt2293 = 8; - } - } - @Pc(128) byte levels; - if (underwater) { - levels = 1; - } else { - levels = 4; - } - level = anInt2293 >> 2 << 10; - @Pc(142) int[][] local142 = new int[104][104]; - @Pc(146) int[][] local146 = new int[104][104]; - x = anInt4272 >> 1; - @Pc(152) int local152; - @Pc(168) int local168; - @Pc(173) int local173; - @Pc(178) int local178; - @Pc(194) int overlay; - @Pc(200) int local200; - @Pc(202) int local202; - @Pc(209) int local209; - @Pc(349) int local349; - @Pc(234) int local234; - @Pc(254) int local254; - @Pc(267) int local267; - for (local152 = 0; local152 < levels; local152++) { - @Pc(159) byte[][] local159 = aByteArrayArrayArray9[local152]; - @Pc(273) int local273; - @Pc(326) int local326; - @Pc(332) int local332; - @Pc(322) int local322; - if (!GlRenderer.enabled) { - local168 = (int) Math.sqrt(5100.0D); - local173 = local168 * 768 >> 8; - for (local178 = 1; local178 < 103; local178++) { - for (overlay = 1; overlay < 103; overlay++) { - local209 = tileHeights[local152][overlay][local178 + 1] - tileHeights[local152][overlay][local178 - 1]; - local202 = tileHeights[local152][overlay + 1][local178] - tileHeights[local152][overlay - 1][local178]; - local349 = (int) Math.sqrt((double) (local202 * local202 + local209 * local209 + 65536)); - local267 = (local209 << 8) / local349; - local254 = -65536 / local349; - local234 = (local202 << 8) / local349; - local273 = (local159[overlay][local178] >> 1) + (local159[overlay][local178 - 1] >> 2) + (local159[overlay - -1][local178] >> 3) + (local159[overlay - 1][local178] >> 2) + (local159[overlay][local178 + 1] >> 3); - local200 = (local267 * -50 + local234 * -50 + local254 * -10) / local173 + 74; - local146[overlay][local178] = local200 - local273; - } - } - } else if (Preferences.highDetailLighting) { - for (local168 = 1; local168 < 103; local168++) { - for (local173 = 1; local173 < 103; local173++) { - overlay = (local159[local173 + 1][local168] >> 3) + (local159[local173 - 1][local168] >> 2) + (local159[local173][local168 + -1] >> 2) + (local159[local173][local168 + 1] >> 3) + (local159[local173][local168] >> 1); - local146[local173][local168] = 74 - overlay; - } - } - } else { - local168 = (int) FogManager.aFloatArray18[0]; - local173 = (int) FogManager.aFloatArray18[1]; - local178 = (int) FogManager.aFloatArray18[2]; - overlay = (int) Math.sqrt((double) (local173 * local173 + local168 * local168 + local178 * local178)); - local200 = overlay * 1024 >> 8; - for (local202 = 1; local202 < 103; local202++) { - for (local209 = 1; local209 < 103; local209++) { - local234 = tileHeights[local152][local209 + 1][local202] - tileHeights[local152][local209 - 1][local202]; - local254 = tileHeights[local152][local209][local202 + 1] - tileHeights[local152][local209][local202 - 1]; - local267 = (int) Math.sqrt((double) (local234 * local234 + local254 * local254 + 65536)); - local273 = (local234 << 8) / local267; - local322 = (local159[local209][local202 + 1] >> 3) + (local159[local209][local202 - 1] >> 2) + (local159[local209 - 1][local202] >> 2) + (local159[local209 + 1][local202] >> 3) + (local159[local209][local202] >> 1); - local326 = -65536 / local267; - local332 = (local254 << 8) / local267; - local349 = (local178 * local332 + local168 * local273 + local326 * local173) / local200 + 96; - local146[local209][local202] = local349 - (int) ((float) local322 * 1.7F); - } - } - } - for (local168 = 0; local168 < 104; local168++) { + public static void method1169(@OriginalArg(0) CollisionMap[] collisionMaps, @OriginalArg(1) boolean underwater) { + @Pc(10) int level; + @Pc(15) int x; + if (!underwater) { + for (level = 0; level < 4; level++) { + for (x = 0; x < 104; x++) { + for (@Pc(22) int z = 0; z < 104; z++) { + if ((tileFlags[level][x][z] & 0x1) == 1) { + @Pc(43) int transformedLevel = level; + if ((tileFlags[1][x][z] & 0x2) == 2) { + transformedLevel = level - 1; + } + if (transformedLevel >= 0) { + collisionMaps[transformedLevel].flagTile(z, x); + } + } + } + } + } + anInt4272 += (int) (Math.random() * 5.0D) - 2; + if (anInt4272 < -16) { + anInt4272 = -16; + } + if (anInt4272 > 16) { + anInt4272 = 16; + } + anInt2293 += (int) (Math.random() * 5.0D) - 2; + if (anInt2293 < -8) { + anInt2293 = -8; + } + if (anInt2293 > 8) { + anInt2293 = 8; + } + } + @Pc(128) byte levels; + if (underwater) { + levels = 1; + } else { + levels = 4; + } + level = anInt2293 >> 2 << 10; + @Pc(142) int[][] local142 = new int[104][104]; + @Pc(146) int[][] local146 = new int[104][104]; + x = anInt4272 >> 1; + @Pc(152) int local152; + @Pc(168) int local168; + @Pc(173) int local173; + @Pc(178) int local178; + @Pc(194) int overlay; + @Pc(200) int local200; + @Pc(202) int local202; + @Pc(209) int local209; + @Pc(349) int local349; + @Pc(234) int local234; + @Pc(254) int local254; + @Pc(267) int local267; + for (local152 = 0; local152 < levels; local152++) { + @Pc(159) byte[][] local159 = aByteArrayArrayArray9[local152]; + @Pc(273) int local273; + @Pc(326) int local326; + @Pc(332) int local332; + @Pc(322) int local322; + if (!GlRenderer.enabled) { + local168 = (int) Math.sqrt(5100.0D); + local173 = local168 * 768 >> 8; + for (local178 = 1; local178 < 103; local178++) { + for (overlay = 1; overlay < 103; overlay++) { + local209 = tileHeights[local152][overlay][local178 + 1] - tileHeights[local152][overlay][local178 - 1]; + local202 = tileHeights[local152][overlay + 1][local178] - tileHeights[local152][overlay - 1][local178]; + local349 = (int) Math.sqrt(local202 * local202 + local209 * local209 + 65536); + local267 = (local209 << 8) / local349; + local254 = -65536 / local349; + local234 = (local202 << 8) / local349; + local273 = (local159[overlay][local178] >> 1) + (local159[overlay][local178 - 1] >> 2) + (local159[overlay - -1][local178] >> 3) + (local159[overlay - 1][local178] >> 2) + (local159[overlay][local178 + 1] >> 3); + local200 = (local267 * -50 + local234 * -50 + local254 * -10) / local173 + 74; + local146[overlay][local178] = local200 - local273; + } + } + } else if (Preferences.highDetailLighting) { + for (local168 = 1; local168 < 103; local168++) { + for (local173 = 1; local173 < 103; local173++) { + overlay = (local159[local173 + 1][local168] >> 3) + (local159[local173 - 1][local168] >> 2) + (local159[local173][local168 + -1] >> 2) + (local159[local173][local168 + 1] >> 3) + (local159[local173][local168] >> 1); + local146[local173][local168] = 74 - overlay; + } + } + } else { + local168 = (int) FogManager.aFloatArray18[0]; + local173 = (int) FogManager.aFloatArray18[1]; + local178 = (int) FogManager.aFloatArray18[2]; + overlay = (int) Math.sqrt(local173 * local173 + local168 * local168 + local178 * local178); + local200 = overlay * 1024 >> 8; + for (local202 = 1; local202 < 103; local202++) { + for (local209 = 1; local209 < 103; local209++) { + local234 = tileHeights[local152][local209 + 1][local202] - tileHeights[local152][local209 - 1][local202]; + local254 = tileHeights[local152][local209][local202 + 1] - tileHeights[local152][local209][local202 - 1]; + local267 = (int) Math.sqrt(local234 * local234 + local254 * local254 + 65536); + local273 = (local234 << 8) / local267; + local322 = (local159[local209][local202 + 1] >> 3) + (local159[local209][local202 - 1] >> 2) + (local159[local209 - 1][local202] >> 2) + (local159[local209 + 1][local202] >> 3) + (local159[local209][local202] >> 1); + local326 = -65536 / local267; + local332 = (local254 << 8) / local267; + local349 = (local178 * local332 + local168 * local273 + local326 * local173) / local200 + 96; + local146[local209][local202] = local349 - (int) ((float) local322 * 1.7F); + } + } + } + for (local168 = 0; local168 < 104; local168++) { rowWeightedHue[local168] = 0; rowSaturation[local168] = 0; rowLightness[local168] = 0; rowChroma[local168] = 0; rowCount[local168] = 0; - } - for (local168 = -5; local168 < 104; local168++) { - for (local173 = 0; local173 < 104; local173++) { - local178 = local168 + 5; - @Pc(729) int local729; - if (local178 < 104) { - overlay = tileUnderlays[local152][local178][local173] & 0xFF; - if (overlay > 0) { - @Pc(693) FluType type = FluTypeList.get(overlay - 1); - rowWeightedHue[local173] += type.weightedHue; - rowSaturation[local173] += type.saturation; - rowLightness[local173] += type.lightness; - rowChroma[local173] += type.chroma; - local729 = rowCount[local173]++; - } - } - overlay = local168 - 5; - if (overlay >= 0) { - local200 = tileUnderlays[local152][overlay][local173] & 0xFF; - if (local200 > 0) { - @Pc(758) FluType local758 = FluTypeList.get(local200 - 1); - rowWeightedHue[local173] -= local758.weightedHue; - rowSaturation[local173] -= local758.saturation; - rowLightness[local173] -= local758.lightness; - rowChroma[local173] -= local758.chroma; - local729 = rowCount[local173]--; - } - } - } - if (local168 >= 0) { - local173 = 0; - overlay = 0; - local178 = 0; - local200 = 0; - local202 = 0; - for (local209 = -5; local209 < 104; local209++) { - local349 = local209 + 5; - if (local349 < 104) { - local178 += rowSaturation[local349]; - local202 += rowCount[local349]; - local173 += rowWeightedHue[local349]; - local200 += rowChroma[local349]; - overlay += rowLightness[local349]; - } - local234 = local209 - 5; - if (local234 >= 0) { - local178 -= rowSaturation[local234]; - local200 -= rowChroma[local234]; - local173 -= rowWeightedHue[local234]; - local202 -= rowCount[local234]; - overlay -= rowLightness[local234]; - } - if (local209 >= 0 && local202 > 0) { - local142[local168][local209] = method1309(overlay / local202, local178 / local202, local173 * 256 / local200); - } - } - } - } - for (local168 = 1; local168 < 103; local168++) { - label771: for (local173 = 1; local173 < 103; local173++) { - if (underwater || allLevelsAreVisible() || (tileFlags[0][local168][local173] & 0x2) != 0 || (tileFlags[local152][local168][local173] & 0x10) == 0 && Static4.method22(local173, local168, local152) == LoginManager.centralPlane) { - if (firstVisibleLevel > local152) { - firstVisibleLevel = local152; - } - local178 = tileUnderlays[local152][local168][local173] & 0xFF; - overlay = tileOverlays[local152][local168][local173] & 0xFF; - if (local178 > 0 || overlay > 0) { - local202 = tileHeights[local152][local168 + 1][local173]; - local200 = tileHeights[local152][local168][local173]; - local349 = tileHeights[local152][local168][local173 + 1]; - local209 = tileHeights[local152][local168 + 1][local173 + 1]; - if (local152 > 0) { - @Pc(1067) boolean local1067 = true; - if (local178 == 0 && tileShapes[local152][local168][local173] != 0) { - local1067 = false; - } - if (overlay > 0 && !FloTypeList.method4395(overlay - 1).aBoolean312) { - local1067 = false; - } - if (local1067 && local200 == local202 && local200 == local209 && local349 == local200) { - anIntArrayArrayArray6[local152][local168][local173] |= 0x4; - } - } - if (local178 <= 0) { - local234 = -1; - local254 = 0; - } else { - local234 = local142[local168][local173]; - local267 = (local234 & 0x7F) + x; - if (local267 < 0) { - local267 = 0; - } else if (local267 > 127) { - local267 = 127; - } - local273 = (local234 & 0x380) + (local234 + level & 0xFC00) + local267; - local254 = Rasteriser.palette[ColorUtils.multiplyLightnessSafe(96, local273)]; - } - local267 = local146[local168][local173]; - local332 = local146[local168][local173 + 1]; - local273 = local146[local168 + 1][local173]; - local326 = local146[local168 + 1][local173 + 1]; - if (overlay == 0) { - setTile(local152, local168, local173, 0, 0, -1, local200, local202, local209, local349, ColorUtils.multiplyLightnessSafe(local267, local234), ColorUtils.multiplyLightnessSafe(local273, local234), ColorUtils.multiplyLightnessSafe(local326, local234), ColorUtils.multiplyLightnessSafe(local332, local234), 0, 0, 0, 0, local254, 0); - if (GlRenderer.enabled && local152 > 0 && local234 != -1 && FluTypeList.get(local178 - 1).aBoolean198) { - ShadowManager.method4197(0, 0, true, false, local168, local173, local200 - tileHeights[0][local168][local173], -tileHeights[0][local168 + 1][local173] + local202, local209 - tileHeights[0][local168 + 1][local173 + 1], local349 - tileHeights[0][local168][local173 + 1]); - } - if (GlRenderer.enabled && !underwater && anIntArrayArray11 != null && local152 == 0) { - for (local322 = local168 - 1; local322 <= local168 + 1; local322++) { - for (@Pc(1794) int local1794 = local173 - 1; local1794 <= local173 + 1; local1794++) { - if ((local322 != local168 || local173 != local1794) && local322 >= 0 && local322 < 104 && local1794 >= 0 && local1794 < 104) { - @Pc(1834) int local1834 = tileOverlays[local152][local322][local1794] & 0xFF; - if (local1834 != 0) { - @Pc(1842) FloType local1842 = FloTypeList.method4395(local1834 - 1); - if (local1842.texture != -1 && Rasteriser.textureProvider.getMaterialType(local1842.texture) == MaterialManager.WATER) { - anIntArrayArray11[local168][local173] = local1842.anInt5889 + (local1842.anInt5898 << 24); - continue label771; - } - } - } - } - } - } - } else { - local322 = tileShapes[local152][local168][local173] + 1; - @Pc(1242) byte local1242 = tileAngles[local152][local168][local173]; - @Pc(1248) FloType local1248 = FloTypeList.method4395(overlay - 1); - @Pc(1301) int local1301; - @Pc(1353) int local1353; - @Pc(1288) int texture; - if (GlRenderer.enabled && !underwater && anIntArrayArray11 != null && local152 == 0) { - if (local1248.texture != -1 && Rasteriser.textureProvider.getMaterialType(local1248.texture) == MaterialManager.WATER) { - anIntArrayArray11[local168][local173] = (local1248.anInt5898 << 24) + local1248.anInt5889; - } else { - label737: for (texture = local168 - 1; texture <= local168 + 1; texture++) { - for (local1301 = local173 - 1; local1301 <= local173 + 1; local1301++) { - if ((local168 != texture || local1301 != local173) && texture >= 0 && texture < 104 && local1301 >= 0 && local1301 < 104) { - local1353 = tileOverlays[local152][texture][local1301] & 0xFF; - if (local1353 != 0) { - @Pc(1366) FloType local1366 = FloTypeList.method4395(local1353 - 1); - if (local1366.texture != -1 && Rasteriser.textureProvider.getMaterialType(local1366.texture) == MaterialManager.WATER) { - anIntArrayArray11[local168][local173] = local1366.anInt5889 + (local1366.anInt5898 << 24); - break label737; - } - } - } - } - } - } - } - texture = local1248.texture; - if (texture >= 0 && !Rasteriser.textureProvider.method3236(texture)) { - texture = -1; - } - @Pc(1458) int local1458; - @Pc(1429) int local1429; - if (texture >= 0) { - local1301 = -1; - local1353 = Rasteriser.palette[ColorUtils.multiplyLightnessGrayscale(Rasteriser.textureProvider.getAverageColor(texture), 96)]; - } else if (local1248.anInt5899 == -1) { - local1301 = -2; - local1353 = 0; - } else { - local1301 = local1248.anInt5899; - local1429 = x + (local1301 & 0x7F); - if (local1429 < 0) { - local1429 = 0; - } else if (local1429 > 127) { - local1429 = 127; - } - local1458 = (local1301 & 0x380) + ((local1301 + level & 0xFC00) + local1429); - local1353 = Rasteriser.palette[ColorUtils.multiplyLightnessGrayscale(local1458, 96)]; - } - if (local1248.anInt5894 >= 0) { - local1429 = local1248.anInt5894; - local1458 = x + (local1429 & 0x7F); - if (local1458 < 0) { - local1458 = 0; - } else if (local1458 > 127) { - local1458 = 127; - } - @Pc(1529) int local1529 = (local1429 & 0x380) + ((local1429 + level & 0xFC00) + local1458); - local1353 = Rasteriser.palette[ColorUtils.multiplyLightnessGrayscale(local1529, 96)]; - } - setTile(local152, local168, local173, local322, local1242, texture, local200, local202, local209, local349, ColorUtils.multiplyLightnessSafe(local267, local234), ColorUtils.multiplyLightnessSafe(local273, local234), ColorUtils.multiplyLightnessSafe(local326, local234), ColorUtils.multiplyLightnessSafe(local332, local234), ColorUtils.multiplyLightnessGrayscale(local1301, local267), ColorUtils.multiplyLightnessGrayscale(local1301, local273), ColorUtils.multiplyLightnessGrayscale(local1301, local326), ColorUtils.multiplyLightnessGrayscale(local1301, local332), local254, local1353); - if (GlRenderer.enabled && local152 > 0) { - ShadowManager.method4197(local322, local1242, local1301 == -2 || !local1248.aBoolean311, local234 == -1 || !FluTypeList.get(local178 - 1).aBoolean198, local168, local173, local200 - tileHeights[0][local168][local173], local202 - tileHeights[0][local168 + 1][local173], local209 - tileHeights[0][local168 + 1][local173 + 1], -tileHeights[0][local168][local173 + 1] + local349); - } - } - } - } - } - } - if (GlRenderer.enabled) { - @Pc(1888) float[][] local1888 = new float[105][105]; - @Pc(1892) int[][] local1892 = tileHeights[local152]; - @Pc(1896) float[][] local1896 = new float[105][105]; - @Pc(1900) float[][] local1900 = new float[105][105]; - local200 = 1; - while (true) { - if (local200 > 103) { - @Pc(2025) GlTile[] local2025; - if (underwater) { - local2025 = Static193.method3501(tileFlags, tileShapes[local152], tileUnderlays[local152], local146, local1896, anIntArrayArray11, tileOverlays[local152], tileAngles[local152], local1888, local152, local1900, local142, tileHeights[local152], surfaceTileHeights[0]); - method2280(local152, local2025); - break; - } - local2025 = Static193.method3501(tileFlags, tileShapes[local152], tileUnderlays[local152], local146, local1896, null, tileOverlays[local152], tileAngles[local152], local1888, local152, local1900, local142, tileHeights[local152], null); - @Pc(2049) GlTile[] local2049 = Static1.method2(local1896, local1888, tileHeights[local152], local152, local1900, tileAngles[local152], local146, tileShapes[local152], tileUnderlays[local152], tileOverlays[local152], tileFlags); - @Pc(2057) GlTile[] local2057 = new GlTile[local2025.length + local2049.length]; - for (local349 = 0; local349 < local2025.length; local349++) { - local2057[local349] = local2025[local349]; - } - for (local349 = 0; local349 < local2049.length; local349++) { - local2057[local2025.length + local349] = local2049[local349]; - } - method2280(local152, local2057); - Static221.method3393(local1900, tileUnderlays[local152], tileAngles[local152], LightingManager.lights, local152, LightingManager.lightCount, local1896, tileShapes[local152], tileOverlays[local152], tileHeights[local152], local1888); - break; - } - for (local202 = 1; local202 <= 103; local202++) { - local349 = local1892[local202][local200 + 1] - local1892[local202][local200 - 1]; - local209 = local1892[local202 + 1][local200] - local1892[local202 - 1][local200]; - @Pc(1962) float local1962 = (float) Math.sqrt((double) (local209 * local209 + local349 * local349 + 65536)); - local1888[local202][local200] = (float) local209 / local1962; - local1896[local202][local200] = -256.0F / local1962; - local1900[local202][local200] = (float) local349 / local1962; - } - local200++; - } - } - tileUnderlays[local152] = null; - tileOverlays[local152] = null; - tileShapes[local152] = null; - tileAngles[local152] = null; - aByteArrayArrayArray9[local152] = null; - } - method3801(); - if (underwater) { - return; - } - @Pc(2204) int local2204; - for (local152 = 0; local152 < 104; local152++) { - for (local2204 = 0; local2204 < 104; local2204++) { - if ((tileFlags[1][local152][local2204] & 0x2) == 2) { - method3884(local152, local2204); - } - } - } - for (local152 = 0; local152 < 4; local152++) { - for (local2204 = 0; local2204 <= 104; local2204++) { - for (local168 = 0; local168 <= 104; local168++) { - if ((anIntArrayArrayArray6[local152][local168][local2204] & 0x1) != 0) { - local200 = local152; - for (local173 = local2204; local173 > 0 && (anIntArrayArrayArray6[local152][local168][local173 - 1] & 0x1) != 0; local173--) { - } - overlay = local152; - for (local178 = local2204; local178 < 104 && (anIntArrayArrayArray6[local152][local168][local178 + 1] & 0x1) != 0; local178++) { - } - label454: while (overlay > 0) { - for (local202 = local173; local202 <= local178; local202++) { - if ((anIntArrayArrayArray6[overlay - 1][local168][local202] & 0x1) == 0) { - break label454; - } - } - overlay--; - } - label443: while (local200 < 3) { - for (local202 = local173; local202 <= local178; local202++) { - if ((anIntArrayArrayArray6[local200 + 1][local168][local202] & 0x1) == 0) { - break label443; - } - } - local200++; - } - local202 = (local200 + 1 - overlay) * (-local173 + (local178 - -1)); - if (local202 >= 8) { - local349 = tileHeights[local200][local168][local173] - 240; - local234 = tileHeights[overlay][local168][local173]; - SceneGraph_Class120.method4647(1, local168 * 128, local168 * 128, local173 * 128, local178 * 128 + 128, local349, local234); - for (local254 = overlay; local254 <= local200; local254++) { - for (local267 = local173; local267 <= local178; local267++) { - anIntArrayArrayArray6[local254][local168][local267] &= 0xFFFFFFFE; - } - } - } - } - if ((anIntArrayArrayArray6[local152][local168][local2204] & 0x2) != 0) { - for (local173 = local168; local173 > 0 && (anIntArrayArrayArray6[local152][local173 - 1][local2204] & 0x2) != 0; local173--) { - } - local200 = local152; - overlay = local152; - for (local178 = local168; local178 < 104 && (anIntArrayArrayArray6[local152][local178 + 1][local2204] & 0x2) != 0; local178++) { - } - label508: while (overlay > 0) { - for (local202 = local173; local202 <= local178; local202++) { - if ((anIntArrayArrayArray6[overlay - 1][local202][local2204] & 0x2) == 0) { - break label508; - } - } - overlay--; - } - label497: while (local200 < 3) { - for (local202 = local173; local202 <= local178; local202++) { - if ((anIntArrayArrayArray6[local200 + 1][local202][local2204] & 0x2) == 0) { - break label497; - } - } - local200++; - } - local202 = (local178 + 1 - local173) * (-overlay + local200 - -1); - if (local202 >= 8) { - local349 = tileHeights[local200][local173][local2204] - 240; - local234 = tileHeights[overlay][local173][local2204]; - SceneGraph_Class120.method4647(2, local173 * 128, local178 * 128 + 128, local2204 * 128, local2204 * 128, local349, local234); - for (local254 = overlay; local254 <= local200; local254++) { - for (local267 = local173; local267 <= local178; local267++) { - anIntArrayArrayArray6[local254][local267][local2204] &= 0xFFFFFFFD; - } - } - } - } - if ((anIntArrayArrayArray6[local152][local168][local2204] & 0x4) != 0) { - local173 = local168; - local178 = local168; - for (overlay = local2204; overlay > 0 && (anIntArrayArrayArray6[local152][local168][overlay - 1] & 0x4) != 0; overlay--) { - } - for (local200 = local2204; local200 < 104 && (anIntArrayArrayArray6[local152][local168][local200 + 1] & 0x4) != 0; local200++) { - } - label562: while (local173 > 0) { - for (local202 = overlay; local202 <= local200; local202++) { - if ((anIntArrayArrayArray6[local152][local173 - 1][local202] & 0x4) == 0) { - break label562; - } - } - local173--; - } - label551: while (local178 < 104) { - for (local202 = overlay; local202 <= local200; local202++) { - if ((anIntArrayArrayArray6[local152][local178 + 1][local202] & 0x4) == 0) { - break label551; - } - } - local178++; - } - if ((local178 + 1 - local173) * (local200 - (overlay - 1)) >= 4) { - local202 = tileHeights[local152][local173][overlay]; - SceneGraph_Class120.method4647(4, local173 * 128, local178 * 128 + 128, overlay * 128, local200 * 128 + 128, local202, local202); - for (local209 = local173; local209 <= local178; local209++) { - for (local349 = overlay; local349 <= local200; local349++) { - anIntArrayArrayArray6[local152][local209][local349] &= 0xFFFFFFFB; - } - } - } - } - } - } - } - } + } + for (local168 = -5; local168 < 104; local168++) { + for (local173 = 0; local173 < 104; local173++) { + local178 = local168 + 5; + @Pc(729) int local729; + if (local178 < 104) { + overlay = tileUnderlays[local152][local178][local173] & 0xFF; + if (overlay > 0) { + @Pc(693) FluType type = FluTypeList.get(overlay - 1); + rowWeightedHue[local173] += type.weightedHue; + rowSaturation[local173] += type.saturation; + rowLightness[local173] += type.lightness; + rowChroma[local173] += type.chroma; + local729 = rowCount[local173]++; + } + } + overlay = local168 - 5; + if (overlay >= 0) { + local200 = tileUnderlays[local152][overlay][local173] & 0xFF; + if (local200 > 0) { + @Pc(758) FluType local758 = FluTypeList.get(local200 - 1); + rowWeightedHue[local173] -= local758.weightedHue; + rowSaturation[local173] -= local758.saturation; + rowLightness[local173] -= local758.lightness; + rowChroma[local173] -= local758.chroma; + local729 = rowCount[local173]--; + } + } + } + if (local168 >= 0) { + local173 = 0; + overlay = 0; + local178 = 0; + local200 = 0; + local202 = 0; + for (local209 = -5; local209 < 104; local209++) { + local349 = local209 + 5; + if (local349 < 104) { + local178 += rowSaturation[local349]; + local202 += rowCount[local349]; + local173 += rowWeightedHue[local349]; + local200 += rowChroma[local349]; + overlay += rowLightness[local349]; + } + local234 = local209 - 5; + if (local234 >= 0) { + local178 -= rowSaturation[local234]; + local200 -= rowChroma[local234]; + local173 -= rowWeightedHue[local234]; + local202 -= rowCount[local234]; + overlay -= rowLightness[local234]; + } + if (local209 >= 0 && local202 > 0) { + local142[local168][local209] = method1309(overlay / local202, local178 / local202, local173 * 256 / local200); + } + } + } + } + for (local168 = 1; local168 < 103; local168++) { + label771: + for (local173 = 1; local173 < 103; local173++) { + if (underwater || allLevelsAreVisible() || (tileFlags[0][local168][local173] & 0x2) != 0 || (tileFlags[local152][local168][local173] & 0x10) == 0 && Static4.method22(local173, local168, local152) == LoginManager.centralPlane) { + if (firstVisibleLevel > local152) { + firstVisibleLevel = local152; + } + local178 = tileUnderlays[local152][local168][local173] & 0xFF; + overlay = tileOverlays[local152][local168][local173] & 0xFF; + if (local178 > 0 || overlay > 0) { + local202 = tileHeights[local152][local168 + 1][local173]; + local200 = tileHeights[local152][local168][local173]; + local349 = tileHeights[local152][local168][local173 + 1]; + local209 = tileHeights[local152][local168 + 1][local173 + 1]; + if (local152 > 0) { + @Pc(1067) boolean local1067 = local178 != 0 || tileShapes[local152][local168][local173] == 0; + if (overlay > 0 && !FloTypeList.method4395(overlay - 1).aBoolean312) { + local1067 = false; + } + if (local1067 && local200 == local202 && local200 == local209 && local349 == local200) { + anIntArrayArrayArray6[local152][local168][local173] |= 0x4; + } + } + if (local178 <= 0) { + local234 = -1; + local254 = 0; + } else { + local234 = local142[local168][local173]; + local267 = (local234 & 0x7F) + x; + if (local267 < 0) { + local267 = 0; + } else if (local267 > 127) { + local267 = 127; + } + local273 = (local234 & 0x380) + (local234 + level & 0xFC00) + local267; + local254 = Rasteriser.palette[ColorUtils.multiplyLightnessSafe(96, local273)]; + } + local267 = local146[local168][local173]; + local332 = local146[local168][local173 + 1]; + local273 = local146[local168 + 1][local173]; + local326 = local146[local168 + 1][local173 + 1]; + if (overlay == 0) { + setTile(local152, local168, local173, 0, 0, -1, local200, local202, local209, local349, ColorUtils.multiplyLightnessSafe(local267, local234), ColorUtils.multiplyLightnessSafe(local273, local234), ColorUtils.multiplyLightnessSafe(local326, local234), ColorUtils.multiplyLightnessSafe(local332, local234), 0, 0, 0, 0, local254, 0); + if (GlRenderer.enabled && local152 > 0 && local234 != -1 && FluTypeList.get(local178 - 1).aBoolean198) { + ShadowManager.method4197(0, 0, true, false, local168, local173, local200 - tileHeights[0][local168][local173], -tileHeights[0][local168 + 1][local173] + local202, local209 - tileHeights[0][local168 + 1][local173 + 1], local349 - tileHeights[0][local168][local173 + 1]); + } + if (GlRenderer.enabled && !underwater && anIntArrayArray11 != null && local152 == 0) { + for (local322 = local168 - 1; local322 <= local168 + 1; local322++) { + for (@Pc(1794) int local1794 = local173 - 1; local1794 <= local173 + 1; local1794++) { + if ((local322 != local168 || local173 != local1794) && local322 >= 0 && local322 < 104 && local1794 >= 0 && local1794 < 104) { + @Pc(1834) int local1834 = tileOverlays[local152][local322][local1794] & 0xFF; + if (local1834 != 0) { + @Pc(1842) FloType local1842 = FloTypeList.method4395(local1834 - 1); + if (local1842.texture != -1 && Rasteriser.textureProvider.getMaterialType(local1842.texture) == MaterialManager.WATER) { + anIntArrayArray11[local168][local173] = local1842.anInt5889 + (local1842.anInt5898 << 24); + continue label771; + } + } + } + } + } + } + } else { + local322 = tileShapes[local152][local168][local173] + 1; + @Pc(1242) byte local1242 = tileAngles[local152][local168][local173]; + @Pc(1248) FloType local1248 = FloTypeList.method4395(overlay - 1); + @Pc(1301) int local1301; + @Pc(1353) int local1353; + @Pc(1288) int texture; + if (GlRenderer.enabled && !underwater && anIntArrayArray11 != null && local152 == 0) { + if (local1248.texture != -1 && Rasteriser.textureProvider.getMaterialType(local1248.texture) == MaterialManager.WATER) { + anIntArrayArray11[local168][local173] = (local1248.anInt5898 << 24) + local1248.anInt5889; + } else { + label737: + for (texture = local168 - 1; texture <= local168 + 1; texture++) { + for (local1301 = local173 - 1; local1301 <= local173 + 1; local1301++) { + if ((local168 != texture || local1301 != local173) && texture >= 0 && texture < 104 && local1301 >= 0 && local1301 < 104) { + local1353 = tileOverlays[local152][texture][local1301] & 0xFF; + if (local1353 != 0) { + @Pc(1366) FloType local1366 = FloTypeList.method4395(local1353 - 1); + if (local1366.texture != -1 && Rasteriser.textureProvider.getMaterialType(local1366.texture) == MaterialManager.WATER) { + anIntArrayArray11[local168][local173] = local1366.anInt5889 + (local1366.anInt5898 << 24); + break label737; + } + } + } + } + } + } + } + texture = local1248.texture; + if (texture >= 0 && !Rasteriser.textureProvider.method3236(texture)) { + texture = -1; + } + @Pc(1458) int local1458; + @Pc(1429) int local1429; + if (texture >= 0) { + local1301 = -1; + local1353 = Rasteriser.palette[ColorUtils.multiplyLightnessGrayscale(Rasteriser.textureProvider.getAverageColor(texture), 96)]; + } else if (local1248.anInt5899 == -1) { + local1301 = -2; + local1353 = 0; + } else { + local1301 = local1248.anInt5899; + local1429 = x + (local1301 & 0x7F); + if (local1429 < 0) { + local1429 = 0; + } else if (local1429 > 127) { + local1429 = 127; + } + local1458 = (local1301 & 0x380) + ((local1301 + level & 0xFC00) + local1429); + local1353 = Rasteriser.palette[ColorUtils.multiplyLightnessGrayscale(local1458, 96)]; + } + if (local1248.anInt5894 >= 0) { + local1429 = local1248.anInt5894; + local1458 = x + (local1429 & 0x7F); + if (local1458 < 0) { + local1458 = 0; + } else if (local1458 > 127) { + local1458 = 127; + } + @Pc(1529) int local1529 = (local1429 & 0x380) + ((local1429 + level & 0xFC00) + local1458); + local1353 = Rasteriser.palette[ColorUtils.multiplyLightnessGrayscale(local1529, 96)]; + } + setTile(local152, local168, local173, local322, local1242, texture, local200, local202, local209, local349, ColorUtils.multiplyLightnessSafe(local267, local234), ColorUtils.multiplyLightnessSafe(local273, local234), ColorUtils.multiplyLightnessSafe(local326, local234), ColorUtils.multiplyLightnessSafe(local332, local234), ColorUtils.multiplyLightnessGrayscale(local1301, local267), ColorUtils.multiplyLightnessGrayscale(local1301, local273), ColorUtils.multiplyLightnessGrayscale(local1301, local326), ColorUtils.multiplyLightnessGrayscale(local1301, local332), local254, local1353); + if (GlRenderer.enabled && local152 > 0) { + ShadowManager.method4197(local322, local1242, local1301 == -2 || !local1248.aBoolean311, local234 == -1 || !FluTypeList.get(local178 - 1).aBoolean198, local168, local173, local200 - tileHeights[0][local168][local173], local202 - tileHeights[0][local168 + 1][local173], local209 - tileHeights[0][local168 + 1][local173 + 1], -tileHeights[0][local168][local173 + 1] + local349); + } + } + } + } + } + } + if (GlRenderer.enabled) { + @Pc(1888) float[][] local1888 = new float[105][105]; + @Pc(1892) int[][] local1892 = tileHeights[local152]; + @Pc(1896) float[][] local1896 = new float[105][105]; + @Pc(1900) float[][] local1900 = new float[105][105]; + local200 = 1; + while (true) { + if (local200 > 103) { + @Pc(2025) GlTile[] local2025; + if (underwater) { + local2025 = Static193.method3501(tileFlags, tileShapes[local152], tileUnderlays[local152], local146, local1896, anIntArrayArray11, tileOverlays[local152], tileAngles[local152], local1888, local152, local1900, local142, tileHeights[local152], surfaceTileHeights[0]); + method2280(local152, local2025); + break; + } + local2025 = Static193.method3501(tileFlags, tileShapes[local152], tileUnderlays[local152], local146, local1896, null, tileOverlays[local152], tileAngles[local152], local1888, local152, local1900, local142, tileHeights[local152], null); + @Pc(2049) GlTile[] local2049 = Static1.method2(local1896, local1888, tileHeights[local152], local152, local1900, tileAngles[local152], local146, tileShapes[local152], tileUnderlays[local152], tileOverlays[local152], tileFlags); + @Pc(2057) GlTile[] local2057 = new GlTile[local2025.length + local2049.length]; + for (local349 = 0; local349 < local2025.length; local349++) { + local2057[local349] = local2025[local349]; + } + for (local349 = 0; local349 < local2049.length; local349++) { + local2057[local2025.length + local349] = local2049[local349]; + } + method2280(local152, local2057); + Static221.method3393(local1900, tileUnderlays[local152], tileAngles[local152], LightingManager.lights, local152, LightingManager.lightCount, local1896, tileShapes[local152], tileOverlays[local152], tileHeights[local152], local1888); + break; + } + for (local202 = 1; local202 <= 103; local202++) { + local349 = local1892[local202][local200 + 1] - local1892[local202][local200 - 1]; + local209 = local1892[local202 + 1][local200] - local1892[local202 - 1][local200]; + @Pc(1962) float local1962 = (float) Math.sqrt(local209 * local209 + local349 * local349 + 65536); + local1888[local202][local200] = (float) local209 / local1962; + local1896[local202][local200] = -256.0F / local1962; + local1900[local202][local200] = (float) local349 / local1962; + } + local200++; + } + } + tileUnderlays[local152] = null; + tileOverlays[local152] = null; + tileShapes[local152] = null; + tileAngles[local152] = null; + aByteArrayArrayArray9[local152] = null; + } + method3801(); + if (underwater) { + return; + } + @Pc(2204) int local2204; + for (local152 = 0; local152 < 104; local152++) { + for (local2204 = 0; local2204 < 104; local2204++) { + if ((tileFlags[1][local152][local2204] & 0x2) == 2) { + method3884(local152, local2204); + } + } + } + for (local152 = 0; local152 < 4; local152++) { + for (local2204 = 0; local2204 <= 104; local2204++) { + for (local168 = 0; local168 <= 104; local168++) { + if ((anIntArrayArrayArray6[local152][local168][local2204] & 0x1) != 0) { + local200 = local152; + for (local173 = local2204; local173 > 0 && (anIntArrayArrayArray6[local152][local168][local173 - 1] & 0x1) != 0; local173--) { + } + overlay = local152; + for (local178 = local2204; local178 < 104 && (anIntArrayArrayArray6[local152][local168][local178 + 1] & 0x1) != 0; local178++) { + } + label454: + while (overlay > 0) { + for (local202 = local173; local202 <= local178; local202++) { + if ((anIntArrayArrayArray6[overlay - 1][local168][local202] & 0x1) == 0) { + break label454; + } + } + overlay--; + } + label443: + while (local200 < 3) { + for (local202 = local173; local202 <= local178; local202++) { + if ((anIntArrayArrayArray6[local200 + 1][local168][local202] & 0x1) == 0) { + break label443; + } + } + local200++; + } + local202 = (local200 + 1 - overlay) * (-local173 + (local178 - -1)); + if (local202 >= 8) { + local349 = tileHeights[local200][local168][local173] - 240; + local234 = tileHeights[overlay][local168][local173]; + SceneGraph_Class120.method4647(1, local168 * 128, local168 * 128, local173 * 128, local178 * 128 + 128, local349, local234); + for (local254 = overlay; local254 <= local200; local254++) { + for (local267 = local173; local267 <= local178; local267++) { + anIntArrayArrayArray6[local254][local168][local267] &= 0xFFFFFFFE; + } + } + } + } + if ((anIntArrayArrayArray6[local152][local168][local2204] & 0x2) != 0) { + for (local173 = local168; local173 > 0 && (anIntArrayArrayArray6[local152][local173 - 1][local2204] & 0x2) != 0; local173--) { + } + local200 = local152; + overlay = local152; + for (local178 = local168; local178 < 104 && (anIntArrayArrayArray6[local152][local178 + 1][local2204] & 0x2) != 0; local178++) { + } + label508: + while (overlay > 0) { + for (local202 = local173; local202 <= local178; local202++) { + if ((anIntArrayArrayArray6[overlay - 1][local202][local2204] & 0x2) == 0) { + break label508; + } + } + overlay--; + } + label497: + while (local200 < 3) { + for (local202 = local173; local202 <= local178; local202++) { + if ((anIntArrayArrayArray6[local200 + 1][local202][local2204] & 0x2) == 0) { + break label497; + } + } + local200++; + } + local202 = (local178 + 1 - local173) * (-overlay + local200 - -1); + if (local202 >= 8) { + local349 = tileHeights[local200][local173][local2204] - 240; + local234 = tileHeights[overlay][local173][local2204]; + SceneGraph_Class120.method4647(2, local173 * 128, local178 * 128 + 128, local2204 * 128, local2204 * 128, local349, local234); + for (local254 = overlay; local254 <= local200; local254++) { + for (local267 = local173; local267 <= local178; local267++) { + anIntArrayArrayArray6[local254][local267][local2204] &= 0xFFFFFFFD; + } + } + } + } + if ((anIntArrayArrayArray6[local152][local168][local2204] & 0x4) != 0) { + local173 = local168; + local178 = local168; + for (overlay = local2204; overlay > 0 && (anIntArrayArrayArray6[local152][local168][overlay - 1] & 0x4) != 0; overlay--) { + } + for (local200 = local2204; local200 < 104 && (anIntArrayArrayArray6[local152][local168][local200 + 1] & 0x4) != 0; local200++) { + } + label562: + while (local173 > 0) { + for (local202 = overlay; local202 <= local200; local202++) { + if ((anIntArrayArrayArray6[local152][local173 - 1][local202] & 0x4) == 0) { + break label562; + } + } + local173--; + } + label551: + while (local178 < 104) { + for (local202 = overlay; local202 <= local200; local202++) { + if ((anIntArrayArrayArray6[local152][local178 + 1][local202] & 0x4) == 0) { + break label551; + } + } + local178++; + } + if ((local178 + 1 - local173) * (local200 - (overlay - 1)) >= 4) { + local202 = tileHeights[local152][local173][overlay]; + SceneGraph_Class120.method4647(4, local173 * 128, local178 * 128 + 128, overlay * 128, local200 * 128 + 128, local202, local202); + for (local209 = local173; local209 <= local178; local209++) { + for (local349 = overlay; local349 <= local200; local349++) { + anIntArrayArrayArray6[local152][local209][local349] &= 0xFFFFFFFB; + } + } + } + } + } + } + } + } @OriginalMember(owner = "client!ih", name = "a", descriptor = "(I[Lclient!hg;)V") public static void method2280(@OriginalArg(0) int arg0, @OriginalArg(1) GlTile[] arg1) { @@ -1193,9 +1199,9 @@ public class SceneGraph { if (local22 != null) { @Pc(27) Wall local27 = local22.wall; if (local27 != null && local27.primary.method4543()) { - Static69.method1544(local27.primary, level, x, z, 1, 1); + method1544(local27.primary, level, x, z, 1, 1); if (local27.secondary != null && local27.secondary.method4543()) { - Static69.method1544(local27.secondary, level, x, z, 1, 1); + method1544(local27.secondary, level, x, z, 1, 1); local27.primary.method4544(local27.secondary, 0, 0, 0, false); local27.secondary = local27.secondary.createModel(); } @@ -1204,13 +1210,13 @@ public class SceneGraph { for (@Pc(83) int local83 = 0; local83 < local22.sceneryLen; local83++) { @Pc(92) Scenery local92 = local22.scenery[local83]; if (local92 != null && local92.entity.method4543()) { - Static69.method1544(local92.entity, level, x, z, local92.xMax + 1 - local92.xMin, local92.zMax - local92.zMin + 1); + method1544(local92.entity, level, x, z, local92.xMax + 1 - local92.xMin, local92.zMax - local92.zMin + 1); local92.entity = local92.entity.createModel(); } } @Pc(131) GroundDecor local131 = local22.groundDecor; if (local131 != null && local131.entity.method4543()) { - Static264.method3574(local131.entity, level, x, z); + method3574(local131.entity, level, x, z); local131.entity = local131.entity.createModel(); } } @@ -1496,11 +1502,7 @@ public class SceneGraph { @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 return method4394(local169, local156, local182); } else if (Static9.method187(arg0, arg1, arg3)) { local16 = arg1 << 7; local20 = arg3 << 7; @@ -1509,4 +1511,1671 @@ public class SceneGraph { return false; } } + + @OriginalMember(owner = "client!hc", name = "a", descriptor = "(IIIILclient!th;Lclient!th;IIIIJ)V") + public static void setWallDecor(@OriginalArg(0) int level, @OriginalArg(1) int x, @OriginalArg(2) int z, @OriginalArg(3) int arg3, @OriginalArg(4) Entity primary, @OriginalArg(5) Entity secondary, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) int xOffset, @OriginalArg(9) int zOffset, @OriginalArg(10) long key) { + if (primary == null) { + return; + } + @Pc(6) WallDecor wallDecor = new WallDecor(); + wallDecor.key = key; + wallDecor.xFine = x * 128 + 64; + wallDecor.zFine = z * 128 + 64; + wallDecor.anInt1391 = arg3; + wallDecor.primary = primary; + wallDecor.secondary = secondary; + wallDecor.anInt1395 = arg6; + wallDecor.anInt1388 = arg7; + wallDecor.xOffset = xOffset; + wallDecor.zOffset = zOffset; + for (@Pc(46) int level0 = level; level0 >= 0; level0--) { + if (tiles[level0][x][z] == null) { + tiles[level0][x][z] = new Tile(level0, x, z); + } + } + tiles[level][x][z].wallDecor = wallDecor; + } + + @OriginalMember(owner = "client!pb", name = "b", descriptor = "(III)Lclient!jj;") + public static ObjStackEntity method3420(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) { + @Pc(7) Tile local7 = tiles[arg0][arg1][arg2]; + if (local7 == null) { + return null; + } else { + @Pc(14) ObjStackEntity local14 = local7.aClass79_1; + local7.aClass79_1 = null; + return local14; + } + } + + @OriginalMember(owner = "client!ub", name = "a", descriptor = "(Lclient!bj;Z)V") + public static void method4245(@OriginalArg(0) Tile arg0, @OriginalArg(1) boolean arg1) { + Static7.aClass69_32.addTail(arg0); + while (true) { + @Pc(8) Tile local8; + @Pc(18) int local18; + @Pc(21) int local21; + @Pc(24) int local24; + @Pc(27) int local27; + @Pc(31) Tile[][] local31; + @Pc(65) int local65; + @Pc(115) int local115; + @Pc(894) int local894; + @Pc(899) int local899; + @Pc(904) int local904; + @Pc(153) Tile local153; + @Pc(1332) int local1332; + do { + do { + do { + do { + do { + do { + while (true) { + @Pc(44) int var9; + @Pc(48) int var10; + @Pc(907) int var17; + @Pc(916) int var18; + @Pc(363) Wall var22; + @Pc(469) boolean var24; + @Pc(425) Scenery var25; + @Pc(1179) Tile var32; + while (true) { + do { + local8 = (Tile) Static7.aClass69_32.removeHead(); + if (local8 == null) { + return; + } + } while (!local8.aBoolean46); + local18 = local8.anInt669; + local21 = local8.anInt666; + local24 = local8.anInt672; + local27 = local8.anInt668; + local31 = tiles[local24]; + @Pc(33) float local33 = 0.0F; + if (GlRenderer.enabled) { + if (underwaterTileHeights == tileHeights) { + var9 = anIntArrayArray11[local18][local21]; + var10 = var9 & 0xFFFFFF; + if (var10 != Static152.anInt3604) { + Static152.anInt3604 = var10; + WaterMaterialRenderer.method619(var10); + FogManager.method3066(WaterMaterialRenderer.method2422()); + } + local65 = var9 >>> 24 << 3; + if (local65 != Static247.anInt730) { + Static247.anInt730 = local65; + Static147.method2761(local65); + } + local115 = surfaceTileHeights[0][local18][local21] + surfaceTileHeights[0][local18 + 1][local21] + surfaceTileHeights[0][local18][local21 + 1] + surfaceTileHeights[0][local18 + 1][local21 + 1] >> 2; + MaterialManager.setMaterial(-local115, 3); + local33 = 201.5F; + GlRenderer.method4159(local33); + } else { + local33 = 201.5F - (float) (local27 + 1) * 50.0F; + GlRenderer.method4159(local33); + } + } + if (!local8.aBoolean45) { + break; + } + if (arg1) { + if (local24 > 0) { + local153 = tiles[local24 - 1][local18][local21]; + if (local153 != null && local153.aBoolean46) { + continue; + } + } + if (local18 <= Static123.anInt4069 && local18 > LightingManager.anInt987) { + local153 = local31[local18 - 1][local21]; + if (local153 != null && local153.aBoolean46 && (local153.aBoolean45 || (local8.allInteriorFlags & 0x1) == 0)) { + continue; + } + } + if (local18 >= Static123.anInt4069 && local18 < LightingManager.anInt15 - 1) { + local153 = local31[local18 + 1][local21]; + if (local153 != null && local153.aBoolean46 && (local153.aBoolean45 || (local8.allInteriorFlags & 0x4) == 0)) { + continue; + } + } + if (local21 <= Static193.anInt4539 && local21 > LightingManager.anInt4698) { + local153 = local31[local18][local21 - 1]; + if (local153 != null && local153.aBoolean46 && (local153.aBoolean45 || (local8.allInteriorFlags & 0x8) == 0)) { + continue; + } + } + if (local21 >= Static193.anInt4539 && local21 < LightingManager.anInt4866 - 1) { + local153 = local31[local18][local21 + 1]; + if (local153 != null && local153.aBoolean46 && (local153.aBoolean45 || (local8.allInteriorFlags & 0x2) == 0)) { + continue; + } + } + } else { + arg1 = true; + } + local8.aBoolean45 = false; + if (local8.aClass3_Sub5_1 != null) { + local153 = local8.aClass3_Sub5_1; + if (GlRenderer.enabled) { + GlRenderer.method4159(201.5F - (float) (local153.anInt668 + 1) * 50.0F); + } + if (local153.plainTile == null) { + if (local153.shapedTile != null) { + Static147.method2762(local153.shapedTile, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local18, local21, Static9.method187(0, local18, local21)); + } + } else + Static247.method2610(local153.plainTile, 0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local18, local21, Static9.method187(0, local18, local21)); + var22 = local153.wall; + if (var22 != null) { + if (GlRenderer.enabled) { + if ((var22.anInt3049 & local8.anInt670) == 0) { + LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); + } else { + LightingManager.method2388(var22.anInt3049, Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local27, local18, local21); + } + } + var22.primary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, var22.xFine - Static123.anInt3555, var22.anInt3051 - Static123.anInt3947, var22.zFine - Static217.anInt4903, var22.key, local24, null); + } + for (local65 = 0; local65 < local153.sceneryLen; local65++) { + var25 = local153.scenery[local65]; + if (var25 != null) { + if (GlRenderer.enabled) { + LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); + } + var25.entity.render(var25.anInt1714, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, var25.anInt1699 - Static123.anInt3555, var25.anInt1706 - Static123.anInt3947, var25.anInt1703 - Static217.anInt4903, var25.key, local24, null); + } + } + if (GlRenderer.enabled) { + GlRenderer.method4159(local33); + } + } + var24 = false; + if (local8.plainTile == null) { + if (local8.shapedTile != null) { + if (Static9.method187(local27, local18, local21)) { + Static147.method2762(local8.shapedTile, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local18, local21, true); + } else { + var24 = true; + Static147.method2762(local8.shapedTile, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local18, local21, false); + } + } + } else if (Static9.method187(local27, local18, local21)) { + Static247.method2610(local8.plainTile, local27, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local18, local21, true); + } else { + var24 = true; + if (local8.plainTile.anInt4865 != 12345678 || MiniMenu.aBoolean187 && local24 <= MiniMenu.anInt3902) { + Static247.method2610(local8.plainTile, local27, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local18, local21, false); + } + } + if (var24) { + @Pc(549) GroundDecor local549 = local8.groundDecor; + if (local549 != null && (local549.key & 0x80000000L) != 0L) { + if (GlRenderer.enabled && local549.aBoolean49) { + GlRenderer.method4159(local33 + 50.0F - 1.5F); + } + if (GlRenderer.enabled) { + LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); + } + local549.entity.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local549.xFine - Static123.anInt3555, local549.anInt733 - Static123.anInt3947, local549.zFine - Static217.anInt4903, local549.key, local24, null); + if (GlRenderer.enabled && local549.aBoolean49) { + GlRenderer.method4159(local33); + } + } + } + var10 = 0; + local65 = 0; + @Pc(616) Wall local616 = local8.wall; + @Pc(619) WallDecor local619 = local8.wallDecor; + if (local616 != null || local619 != null) { + if (Static123.anInt4069 == local18) { + var10++; + } else if (Static123.anInt4069 < local18) { + var10 += 2; + } + if (Static193.anInt4539 == local21) { + var10 += 3; + } else if (Static193.anInt4539 > local21) { + var10 += 6; + } + local65 = Static247.anIntArray324[var10]; + local8.anInt670 = Static191.anIntArray386[var10]; + } + if (local616 != null) { + if ((local616.anInt3049 & Static247.anIntArray215[var10]) == 0) { + local8.anInt663 = 0; + } else if (local616.anInt3049 == 16) { + local8.anInt663 = 3; + local8.anInt665 = Static247.anIntArray294[var10]; + local8.anInt667 = 3 - local8.anInt665; + } else if (local616.anInt3049 == 32) { + local8.anInt663 = 6; + local8.anInt665 = Static247.anIntArray489[var10]; + local8.anInt667 = 6 - local8.anInt665; + } else if (local616.anInt3049 == 64) { + local8.anInt663 = 12; + local8.anInt665 = Static247.anIntArray211[var10]; + local8.anInt667 = 12 - local8.anInt665; + } else { + local8.anInt663 = 9; + local8.anInt665 = Static247.anIntArray307[var10]; + local8.anInt667 = 9 - local8.anInt665; + } + if ((local616.anInt3049 & local65) != 0 && !method3850(local27, local18, local21, local616.anInt3049)) { + if (GlRenderer.enabled) { + LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); + } + local616.primary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local616.xFine - Static123.anInt3555, local616.anInt3051 - Static123.anInt3947, local616.zFine - Static217.anInt4903, local616.key, local24, null); + } + if ((local616.anInt3052 & local65) != 0 && !method3850(local27, local18, local21, local616.anInt3052)) { + if (GlRenderer.enabled) { + LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); + } + local616.secondary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local616.xFine - Static123.anInt3555, local616.anInt3051 - Static123.anInt3947, local616.zFine - Static217.anInt4903, local616.key, local24, null); + } + } + if (local619 != null && !method4611(local27, local18, local21, local619.primary.getMinY())) { + if (GlRenderer.enabled) { + GlRenderer.method4159(local33 - 0.5F); + } + if ((local619.anInt1395 & local65) != 0) { + if (GlRenderer.enabled) { + LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); + } + local619.primary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local619.xFine + local619.xOffset - Static123.anInt3555, local619.anInt1391 - Static123.anInt3947, local619.zFine + local619.zOffset - Static217.anInt4903, local619.key, local24, null); + } else if (local619.anInt1395 == 256) { + local894 = local619.xFine - Static123.anInt3555; + local899 = local619.anInt1391 - Static123.anInt3947; + local904 = local619.zFine - Static217.anInt4903; + var17 = local619.anInt1388; + if (var17 == 1 || var17 == 2) { + var18 = -local894; + } else { + var18 = local894; + } + @Pc(928) int local928; + if (var17 == 2 || var17 == 3) { + local928 = -local904; + } else { + local928 = local904; + } + if (local928 < var18) { + if (GlRenderer.enabled) { + LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); + } + local619.primary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local894 + local619.xOffset, local899, local904 + local619.zOffset, local619.key, local24, null); + } else if (local619.secondary != null) { + if (GlRenderer.enabled) { + LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); + } + local619.secondary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local894, local899, local904, local619.key, local24, null); + } + } + if (GlRenderer.enabled) { + GlRenderer.method4159(local33); + } + } + if (var24) { + @Pc(1001) GroundDecor local1001 = local8.groundDecor; + if (local1001 != null && (local1001.key & 0x80000000L) == 0L) { + if (GlRenderer.enabled && local1001.aBoolean49) { + GlRenderer.method4159(local33 + 50.0F - 1.5F); + } + if (GlRenderer.enabled) { + LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); + } + local1001.entity.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local1001.xFine - Static123.anInt3555, local1001.anInt733 - Static123.anInt3947, local1001.zFine - Static217.anInt4903, local1001.key, local24, null); + if (GlRenderer.enabled && local1001.aBoolean49) { + GlRenderer.method4159(local33); + } + } + @Pc(1064) ObjStackEntity local1064 = local8.aClass79_1; + if (local1064 != null && local1064.anInt3063 == 0) { + if (GlRenderer.enabled) { + LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); + } + if (local1064.aClass8_7 != null) { + local1064.aClass8_7.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local1064.anInt3064 - Static123.anInt3555, local1064.anInt3057 - Static123.anInt3947, local1064.anInt3061 - Static217.anInt4903, local1064.aLong108, local24, null); + } + if (local1064.aClass8_8 != null) { + local1064.aClass8_8.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local1064.anInt3064 - Static123.anInt3555, local1064.anInt3057 - Static123.anInt3947, local1064.anInt3061 - Static217.anInt4903, local1064.aLong108, local24, null); + } + if (local1064.aClass8_9 != null) { + local1064.aClass8_9.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local1064.anInt3064 - Static123.anInt3555, local1064.anInt3057 - Static123.anInt3947, local1064.anInt3061 - Static217.anInt4903, local1064.aLong108, local24, null); + } + } + } + local894 = local8.allInteriorFlags; + if (local894 != 0) { + if (local18 < Static123.anInt4069 && (local894 & 0x4) != 0) { + var32 = local31[local18 + 1][local21]; + if (var32 != null && var32.aBoolean46) { + Static7.aClass69_32.addTail(var32); + } + } + if (local21 < Static193.anInt4539 && (local894 & 0x2) != 0) { + var32 = local31[local18][local21 + 1]; + if (var32 != null && var32.aBoolean46) { + Static7.aClass69_32.addTail(var32); + } + } + if (local18 > Static123.anInt4069 && (local894 & 0x1) != 0) { + var32 = local31[local18 - 1][local21]; + if (var32 != null && var32.aBoolean46) { + Static7.aClass69_32.addTail(var32); + } + } + if (local21 > Static193.anInt4539 && (local894 & 0x8) != 0) { + var32 = local31[local18][local21 - 1]; + if (var32 != null && var32.aBoolean46) { + Static7.aClass69_32.addTail(var32); + } + } + } + break; + } + if (local8.anInt663 != 0) { + var24 = true; + for (var10 = 0; var10 < local8.sceneryLen; var10++) { + if (local8.scenery[var10].anInt1707 != Static156.anInt437 && (local8.interiorFlags[var10] & local8.anInt663) == local8.anInt665) { + var24 = false; + break; + } + } + if (var24) { + var22 = local8.wall; + if (!method3850(local27, local18, local21, var22.anInt3049)) { + if (GlRenderer.enabled) { + label882: + { + if ((var22.key & 0xFC000L) == 16384L) { + local65 = var22.xFine - Static123.anInt3555; + local115 = var22.zFine - Static217.anInt4903; + local1332 = (int) (var22.key >> 20 & 0x3L); + if (local1332 == 0) { + local65 -= 64; + local115 += 64; + if (local115 < local65 && local18 > 0 && local21 < length - 1) { + LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18 - 1, local21 + 1); + break label882; + } + } else if (local1332 == 1) { + local65 += 64; + local115 += 64; + if (local115 < -local65 && local18 < width - 1 && local21 < length - 1) { + LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18 + 1, local21 + 1); + break label882; + } + } else if (local1332 == 2) { + local65 += 64; + local115 -= 64; + if (local115 > local65 && local18 < width - 1 && local21 > 0) { + LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18 + 1, local21 - 1); + break label882; + } + } else if (local1332 == 3) { + local65 -= 64; + local115 -= 64; + if (local115 > -local65 && local18 > 0 && local21 > 0) { + LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18 - 1, local21 - 1); + break label882; + } + } + } + LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); + } + } + var22.primary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, var22.xFine - Static123.anInt3555, var22.anInt3051 - Static123.anInt3947, var22.zFine - Static217.anInt4903, var22.key, local24, null); + } + local8.anInt663 = 0; + } + } + if (!local8.aBoolean47) { + break; + } + try { + var9 = local8.sceneryLen; + local8.aBoolean47 = false; + var10 = 0; + label767: + for (local65 = 0; local65 < var9; local65++) { + var25 = local8.scenery[local65]; + if (var25.anInt1707 != Static156.anInt437) { + for (local1332 = var25.xMin; local1332 <= var25.xMax; local1332++) { + for (local894 = var25.zMin; local894 <= var25.zMax; local894++) { + var32 = local31[local1332][local894]; + if (var32.aBoolean45) { + local8.aBoolean47 = true; + continue label767; + } + if (var32.anInt663 != 0) { + local904 = 0; + if (local1332 > var25.xMin) { + local904++; + } + if (local1332 < var25.xMax) { + local904 += 4; + } + if (local894 > var25.zMin) { + local904 += 8; + } + if (local894 < var25.zMax) { + local904 += 2; + } + if ((local904 & var32.anInt663) == local8.anInt667) { + local8.aBoolean47 = true; + continue label767; + } + } + } + } + aClass31Array2[var10++] = var25; + local1332 = Static123.anInt4069 - var25.xMin; + local894 = var25.xMax - Static123.anInt4069; + if (local894 > local1332) { + local1332 = local894; + } + local899 = Static193.anInt4539 - var25.zMin; + local904 = var25.zMax - Static193.anInt4539; + if (local904 > local899) { + var25.anInt1705 = local1332 + local904; + } else { + var25.anInt1705 = local1332 + local899; + } + } + } + while (var10 > 0) { + local65 = -50; + local115 = -1; + for (local1332 = 0; local1332 < var10; local1332++) { + @Pc(1628) Scenery local1628 = aClass31Array2[local1332]; + if (local1628.anInt1707 != Static156.anInt437) { + if (local1628.anInt1705 > local65) { + local65 = local1628.anInt1705; + local115 = local1332; + } else if (local1628.anInt1705 == local65) { + local899 = local1628.anInt1699 - Static123.anInt3555; + local904 = local1628.anInt1703 - Static217.anInt4903; + var17 = aClass31Array2[local115].anInt1699 - Static123.anInt3555; + var18 = aClass31Array2[local115].anInt1703 - Static217.anInt4903; + if (local899 * local899 + local904 * local904 > var17 * var17 + var18 * var18) { + local115 = local1332; + } + } + } + } + if (local115 == -1) { + break; + } + @Pc(1697) Scenery local1697 = aClass31Array2[local115]; + local1697.anInt1707 = Static156.anInt437; + if (!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); + local894 = local1697.anInt1699 - Static123.anInt3555; + local899 = local1697.anInt1703 - Static217.anInt4903; + local904 = (int) (local1697.key >> 20 & 0x3L); + if (local904 == 1 || local904 == 3) { + if (local899 > -local894) { + LightingManager.method2397(local24, local18, local21 - 1, local18 - 1, local21); + } else { + LightingManager.method2397(local24, local18, local21 + 1, local18 + 1, local21); + } + } else if (local899 > local894) { + LightingManager.method2397(local24, local18, local21 - 1, local18 + 1, local21); + } else { + LightingManager.method2397(local24, local18, local21 + 1, local18 - 1, local21); + } + } else { + LightingManager.method2391(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local1697.xMin, local1697.zMin, local1697.xMax, local1697.zMax); + } + } + local1697.entity.render(local1697.anInt1714, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local1697.anInt1699 - Static123.anInt3555, local1697.anInt1706 - Static123.anInt3947, local1697.anInt1703 - Static217.anInt4903, local1697.key, local24, null); + } + for (local894 = local1697.xMin; local894 <= local1697.xMax; local894++) { + for (local899 = local1697.zMin; local899 <= local1697.zMax; local899++) { + @Pc(1863) Tile local1863 = local31[local894][local899]; + if (local1863.anInt663 != 0) { + Static7.aClass69_32.addTail(local1863); + } else if ((local894 != local18 || local899 != local21) && local1863.aBoolean46) { + Static7.aClass69_32.addTail(local1863); + } + } + } + } + if (!local8.aBoolean47) { + break; + } + } catch (@Pc(1895) Exception local1895) { + local8.aBoolean47 = false; + break; + } + } + } while (!local8.aBoolean46); + } while (local8.anInt663 != 0); + if (local18 > Static123.anInt4069 || local18 <= LightingManager.anInt987) { + break; + } + local153 = local31[local18 - 1][local21]; + } while (local153 != null && local153.aBoolean46); + if (local18 < Static123.anInt4069 || local18 >= LightingManager.anInt15 - 1) { + break; + } + local153 = local31[local18 + 1][local21]; + } while (local153 != null && local153.aBoolean46); + if (local21 > Static193.anInt4539 || local21 <= LightingManager.anInt4698) { + break; + } + local153 = local31[local18][local21 - 1]; + } while (local153 != null && local153.aBoolean46); + if (local21 < Static193.anInt4539 || local21 >= LightingManager.anInt4866 - 1) { + break; + } + local153 = local31[local18][local21 + 1]; + } while (local153 != null && local153.aBoolean46); + local8.aBoolean46 = false; + Static156.anInt1142--; + @Pc(1999) ObjStackEntity local1999 = local8.aClass79_1; + if (local1999 != null && local1999.anInt3063 != 0) { + if (GlRenderer.enabled) { + LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); + } + if (local1999.aClass8_7 != null) { + local1999.aClass8_7.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local1999.anInt3064 - Static123.anInt3555, local1999.anInt3057 - Static123.anInt3947 - local1999.anInt3063, local1999.anInt3061 - Static217.anInt4903, local1999.aLong108, local24, null); + } + if (local1999.aClass8_8 != null) { + local1999.aClass8_8.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local1999.anInt3064 - Static123.anInt3555, local1999.anInt3057 - Static123.anInt3947 - local1999.anInt3063, local1999.anInt3061 - Static217.anInt4903, local1999.aLong108, local24, null); + } + if (local1999.aClass8_9 != null) { + local1999.aClass8_9.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local1999.anInt3064 - Static123.anInt3555, local1999.anInt3057 - Static123.anInt3947 - local1999.anInt3063, local1999.anInt3061 - Static217.anInt4903, local1999.aLong108, local24, null); + } + } + if (local8.anInt670 != 0) { + @Pc(2109) WallDecor local2109 = local8.wallDecor; + if (local2109 != null && !method4611(local27, local18, local21, local2109.primary.getMinY())) { + if ((local2109.anInt1395 & local8.anInt670) != 0) { + if (GlRenderer.enabled) { + LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); + } + local2109.primary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local2109.xFine + local2109.xOffset - Static123.anInt3555, local2109.anInt1391 - Static123.anInt3947, local2109.zFine + local2109.zOffset - Static217.anInt4903, local2109.key, local24, null); + } else if (local2109.anInt1395 == 256) { + local65 = local2109.xFine - Static123.anInt3555; + local115 = local2109.anInt1391 - Static123.anInt3947; + local1332 = local2109.zFine - Static217.anInt4903; + local894 = local2109.anInt1388; + if (local894 == 1 || local894 == 2) { + local899 = -local65; + } else { + local899 = local65; + } + if (local894 == 2 || local894 == 3) { + local904 = -local1332; + } else { + local904 = local1332; + } + if (local904 >= local899) { + if (GlRenderer.enabled) { + LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); + } + local2109.primary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local65 + local2109.xOffset, local115, local1332 + local2109.zOffset, local2109.key, local24, null); + } else if (local2109.secondary != null) { + if (GlRenderer.enabled) { + LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); + } + local2109.secondary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local65, local115, local1332, local2109.key, local24, null); + } + } + } + @Pc(2275) Wall local2275 = local8.wall; + if (local2275 != null) { + if ((local2275.anInt3052 & local8.anInt670) != 0 && !method3850(local27, local18, local21, local2275.anInt3052)) { + if (GlRenderer.enabled) { + LightingManager.method2388(local2275.anInt3052, Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local27, local18, local21); + } + local2275.secondary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local2275.xFine - Static123.anInt3555, local2275.anInt3051 - Static123.anInt3947, local2275.zFine - Static217.anInt4903, local2275.key, local24, null); + } + if ((local2275.anInt3049 & local8.anInt670) != 0 && !method3850(local27, local18, local21, local2275.anInt3049)) { + if (GlRenderer.enabled) { + LightingManager.method2388(local2275.anInt3049, Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local27, local18, local21); + } + local2275.primary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local2275.xFine - Static123.anInt3555, local2275.anInt3051 - Static123.anInt3947, local2275.zFine - Static217.anInt4903, local2275.key, local24, null); + } + } + } + @Pc(2388) Tile local2388; + if (local24 < levels - 1) { + local2388 = tiles[local24 + 1][local18][local21]; + if (local2388 != null && local2388.aBoolean46) { + Static7.aClass69_32.addTail(local2388); + } + } + if (local18 < Static123.anInt4069) { + local2388 = local31[local18 + 1][local21]; + if (local2388 != null && local2388.aBoolean46) { + Static7.aClass69_32.addTail(local2388); + } + } + if (local21 < Static193.anInt4539) { + local2388 = local31[local18][local21 + 1]; + if (local2388 != null && local2388.aBoolean46) { + Static7.aClass69_32.addTail(local2388); + } + } + if (local18 > Static123.anInt4069) { + local2388 = local31[local18 - 1][local21]; + if (local2388 != null && local2388.aBoolean46) { + Static7.aClass69_32.addTail(local2388); + } + } + if (local21 > Static193.anInt4539) { + local2388 = local31[local18][local21 - 1]; + if (local2388 != null && local2388.aBoolean46) { + Static7.aClass69_32.addTail(local2388); + } + } + } + } + + @OriginalMember(owner = "client!wh", name = "a", descriptor = "(IIII)Z") + public static boolean method4611(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) { + if (Static9.method187(arg0, arg1, arg2)) { + @Pc(10) int local10 = arg1 << 7; + @Pc(14) int local14 = arg2 << 7; + return method4394(local10 + 1, tileHeights[arg0][arg1][arg2] + arg3, local14 + 1) && method4394(local10 + 128 - 1, tileHeights[arg0][arg1 + 1][arg2] + arg3, local14 + 1) && method4394(local10 + 128 - 1, tileHeights[arg0][arg1 + 1][arg2 + 1] + arg3, local14 + 128 - 1) && method4394(local10 + 1, tileHeights[arg0][arg1][arg2 + 1] + arg3, local14 + 128 - 1); + } else { + return false; + } + } + + @OriginalMember(owner = "client!vd", name = "b", descriptor = "(IIII)Z") + public static boolean method3850(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) { + if (!Static9.method187(arg0, arg1, arg2)) { + return false; + } + @Pc(10) int local10 = arg1 << 7; + @Pc(14) int local14 = arg2 << 7; + @Pc(24) int local24 = tileHeights[arg0][arg1][arg2] - 1; + @Pc(28) int local28 = local24 - 120; + @Pc(32) int local32 = local24 - 230; + @Pc(36) int local36 = local24 - 238; + if (arg3 < 16) { + if (arg3 == 1) { + if (local10 > Static123.anInt3555) { + if (!method4394(local10, local24, local14)) { + return false; + } + if (!method4394(local10, local24, local14 + 128)) { + return false; + } + } + if (arg0 > 0) { + if (!method4394(local10, local28, local14)) { + return false; + } + if (!method4394(local10, local28, local14 + 128)) { + return false; + } + } + if (!method4394(local10, local32, local14)) { + return false; + } + return method4394(local10, local32, local14 + 128); + } + if (arg3 == 2) { + if (local14 < Static217.anInt4903) { + if (!method4394(local10, local24, local14 + 128)) { + return false; + } + if (!method4394(local10 + 128, local24, local14 + 128)) { + return false; + } + } + if (arg0 > 0) { + if (!method4394(local10, local28, local14 + 128)) { + return false; + } + if (!method4394(local10 + 128, local28, local14 + 128)) { + return false; + } + } + if (!method4394(local10, local32, local14 + 128)) { + return false; + } + return method4394(local10 + 128, local32, local14 + 128); + } + if (arg3 == 4) { + if (local10 < Static123.anInt3555) { + if (!method4394(local10 + 128, local24, local14)) { + return false; + } + if (!method4394(local10 + 128, local24, local14 + 128)) { + return false; + } + } + if (arg0 > 0) { + if (!method4394(local10 + 128, local28, local14)) { + return false; + } + if (!method4394(local10 + 128, local28, local14 + 128)) { + return false; + } + } + if (!method4394(local10 + 128, local32, local14)) { + return false; + } + return method4394(local10 + 128, local32, local14 + 128); + } + if (arg3 == 8) { + if (local14 > Static217.anInt4903) { + if (!method4394(local10, local24, local14)) { + return false; + } + if (!method4394(local10 + 128, local24, local14)) { + return false; + } + } + if (arg0 > 0) { + if (!method4394(local10, local28, local14)) { + return false; + } + if (!method4394(local10 + 128, local28, local14)) { + return false; + } + } + if (!method4394(local10, local32, local14)) { + return false; + } + return method4394(local10 + 128, local32, local14); + } + } + if (!method4394(local10 + 64, local36, local14 + 64)) { + return false; + } else if (arg3 == 16) { + return method4394(local10, local32, local14 + 128); + } else if (arg3 == 32) { + return method4394(local10 + 128, local32, local14 + 128); + } else if (arg3 == 64) { + return method4394(local10 + 128, local32, local14); + } else if (arg3 == 128) { + return method4394(local10, local32, local14); + } else { + return true; + } + } + + @OriginalMember(owner = "client!p", name = "a", descriptor = "(IZIZLclient!mj;IIIBII)V") + public static void method3397(@OriginalArg(0) int arg0, @OriginalArg(1) boolean arg1, @OriginalArg(2) int arg2, @OriginalArg(3) boolean arg3, @OriginalArg(4) CollisionMap arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(9) int arg8, @OriginalArg(10) int arg9) { + if (arg1 && !allLevelsAreVisible() && (tileFlags[0][arg7][arg8] & 0x2) == 0) { + if ((tileFlags[arg2][arg7][arg8] & 0x10) != 0) { + return; + } + if (Static4.method22(arg8, arg7, arg2) != LoginManager.centralPlane) { + return; + } + } + if (arg2 < firstVisibleLevel) { + firstVisibleLevel = arg2; + } + @Pc(62) LocType local62 = LocTypeList.get(arg5); + if (GlRenderer.enabled && local62.aBoolean216) { + return; + } + @Pc(84) int local84; + @Pc(81) int local81; + if (arg9 == 1 || arg9 == 3) { + local81 = local62.width; + local84 = local62.length; + } else { + local84 = local62.width; + local81 = local62.length; + } + @Pc(103) int local103; + @Pc(112) int local112; + if (arg7 + local84 <= 104) { + local103 = arg7 + (local84 >> 1); + local112 = arg7 + (local84 + 1 >> 1); + } else { + local112 = arg7 + 1; + local103 = arg7; + } + @Pc(129) int local129; + @Pc(133) int local133; + if (local81 + arg8 > 104) { + local129 = arg8; + local133 = arg8 + 1; + } else { + local129 = (local81 >> 1) + arg8; + local133 = arg8 + (local81 + 1 >> 1); + } + @Pc(153) int[][] local153 = tileHeights[arg0]; + @Pc(165) int local165 = (local84 << 6) + (arg7 << 7); + @Pc(173) int local173 = (local81 << 6) + (arg8 << 7); + @Pc(199) int local199 = local153[local103][local133] + local153[local112][local129] + local153[local103][local129] + local153[local112][local133] >> 2; + @Pc(201) int local201 = 0; + @Pc(213) int[][] local213; + if (GlRenderer.enabled && arg0 != 0) { + local213 = tileHeights[0]; + local201 = local199 - (local213[local112][local133] + local213[local112][local129] + local213[local103][local129] + local213[local103][local133] >> 2); + } + local213 = null; + @Pc(261) long local261 = (long) (arg7 | 0x40000000 | arg8 << 7 | arg6 << 14 | arg9 << 20); + if (arg3) { + local213 = surfaceTileHeights[0]; + } else if (arg0 < 3) { + local213 = tileHeights[arg0 + 1]; + } + if (local62.anInt4429 == 0 || arg3) { + local261 |= Long.MIN_VALUE; + } + if (local62.anInt4438 == 1) { + local261 |= 0x400000L; + } + if (local62.aBoolean213) { + local261 |= 0x80000000L; + } + if (local62.hasAreaSound()) { + AreaSoundManager.add(arg8, local62, arg9, null, arg7, arg2, null); + } + @Pc(330) boolean local330 = local62.aBoolean212 & !arg3; + local261 |= (long) arg5 << 32; + @Pc(387) Entity local387; + @Pc(403) Loc_Class139 local403; + if (arg6 == 22) { + if (Preferences.showGroundDecorations || local62.anInt4429 != 0 || local62.anInt4435 == 1 || local62.aBoolean206) { + if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { + local403 = local62.method3428(arg9, local165, local153, 22, local199, local213, arg1, null, local330, local173); + if (GlRenderer.enabled && local330) { + ShadowManager.method4211(local403.aClass36_Sub1_3, local165, local201, local173); + } + local387 = local403.aClass8_10; + } else { + local387 = new Loc(arg5, 22, arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); + } + setGroundDecor(arg2, arg7, arg8, local199, local387, local261, local62.aBoolean211); + if (local62.anInt4435 == 1 && arg4 != null) { + arg4.flagGroundDecor(arg7, arg8); + } + } + } else if (arg6 == 10 || arg6 == 11) { + if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { + local403 = local62.method3428(arg6 == 11 ? arg9 + 4 : arg9, local165, local153, 10, local199, local213, arg1, null, local330, local173); + if (GlRenderer.enabled && local330) { + ShadowManager.method4211(local403.aClass36_Sub1_3, local165, local201, local173); + } + local387 = local403.aClass8_10; + } else { + local387 = new Loc(arg5, 10, arg6 == 11 ? arg9 + 4 : arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); + } + if (local387 != null) { + @Pc(531) boolean local531 = Static5.method35(arg2, arg7, arg8, local199, local84, local81, local387, local261); + if (local62.aBoolean215 && local531 && arg1) { + @Pc(541) int local541 = 15; + if (local387 instanceof Model) { + local541 = ((Model) local387).method4566() / 4; + if (local541 > 30) { + local541 = 30; + } + } + for (@Pc(560) int local560 = 0; local560 <= local84; local560++) { + for (@Pc(565) int local565 = 0; local565 <= local81; local565++) { + if (aByteArrayArrayArray9[arg2][arg7 + local560][local565 + arg8] < local541) { + aByteArrayArrayArray9[arg2][arg7 + local560][arg8 + local565] = (byte) local541; + } + } + } + } + } + if (local62.anInt4435 != 0 && arg4 != null) { + arg4.flagScenery(arg7, local62.aBoolean207, arg8, local84, local81); + } + } else if (arg6 >= 12) { + if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { + local403 = local62.method3428(arg9, local165, local153, arg6, local199, local213, arg1, null, local330, local173); + if (GlRenderer.enabled && local330) { + ShadowManager.method4211(local403.aClass36_Sub1_3, local165, local201, local173); + } + local387 = local403.aClass8_10; + } else { + local387 = new Loc(arg5, arg6, arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); + } + Static5.method35(arg2, arg7, arg8, local199, 1, 1, local387, local261); + if (arg1 && arg6 >= 12 && arg6 <= 17 && arg6 != 13 && arg2 > 0) { + anIntArrayArrayArray6[arg2][arg7][arg8] |= 0x4; + } + if (local62.anInt4435 != 0 && arg4 != null) { + arg4.flagScenery(arg7, local62.aBoolean207, arg8, local84, local81); + } + } else if (arg6 == 0) { + if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { + local403 = local62.method3428(arg9, local165, local153, 0, local199, local213, arg1, null, local330, local173); + if (GlRenderer.enabled && local330) { + ShadowManager.method4211(local403.aClass36_Sub1_3, local165, local201, local173); + } + local387 = local403.aClass8_10; + } else { + local387 = new Loc(arg5, 0, arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); + } + setWall(arg2, arg7, arg8, local199, local387, null, Static267.anIntArray517[arg9], 0, local261); + if (arg1) { + if (arg9 == 0) { + if (local62.aBoolean215) { + aByteArrayArrayArray9[arg2][arg7][arg8] = 50; + aByteArrayArrayArray9[arg2][arg7][arg8 + 1] = 50; + } + if (local62.aBoolean220) { + anIntArrayArrayArray6[arg2][arg7][arg8] |= 0x1; + } + } else if (arg9 == 1) { + if (local62.aBoolean215) { + aByteArrayArrayArray9[arg2][arg7][arg8 + 1] = 50; + aByteArrayArrayArray9[arg2][arg7 + 1][arg8 + 1] = 50; + } + if (local62.aBoolean220) { + anIntArrayArrayArray6[arg2][arg7][arg8 + 1] |= 0x2; + } + } else if (arg9 == 2) { + if (local62.aBoolean215) { + aByteArrayArrayArray9[arg2][arg7 + 1][arg8] = 50; + aByteArrayArrayArray9[arg2][arg7 + 1][arg8 + 1] = 50; + } + if (local62.aBoolean220) { + anIntArrayArrayArray6[arg2][arg7 + 1][arg8] |= 0x1; + } + } else if (arg9 == 3) { + if (local62.aBoolean215) { + aByteArrayArrayArray9[arg2][arg7][arg8] = 50; + aByteArrayArrayArray9[arg2][arg7 + 1][arg8] = 50; + } + if (local62.aBoolean220) { + anIntArrayArrayArray6[arg2][arg7][arg8] |= 0x2; + } + } + } + if (local62.anInt4435 != 0 && arg4 != null) { + arg4.flagWall(arg9, arg6, local62.aBoolean207, arg8, arg7); + } + if (local62.wallDecorOffsetScale != 16) { + method559(arg2, arg7, arg8, local62.wallDecorOffsetScale); + } + } else if (arg6 == 1) { + if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { + local403 = local62.method3428(arg9, local165, local153, 1, local199, local213, arg1, null, local330, local173); + if (GlRenderer.enabled && local330) { + ShadowManager.method4211(local403.aClass36_Sub1_3, local165, local201, local173); + } + local387 = local403.aClass8_10; + } else { + local387 = new Loc(arg5, 1, arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); + } + setWall(arg2, arg7, arg8, local199, local387, null, LoginManager.anIntArray204[arg9], 0, local261); + if (local62.aBoolean215 && arg1) { + if (arg9 == 0) { + aByteArrayArrayArray9[arg2][arg7][arg8 + 1] = 50; + } else if (arg9 == 1) { + aByteArrayArrayArray9[arg2][arg7 + 1][arg8 + 1] = 50; + } else if (arg9 == 2) { + aByteArrayArrayArray9[arg2][arg7 + 1][arg8] = 50; + } else if (arg9 == 3) { + aByteArrayArrayArray9[arg2][arg7][arg8] = 50; + } + } + if (local62.anInt4435 != 0 && arg4 != null) { + arg4.flagWall(arg9, arg6, local62.aBoolean207, arg8, arg7); + } + } else { + @Pc(1226) int local1226; + if (arg6 == 2) { + local1226 = arg9 + 1 & 0x3; + @Pc(1269) Entity local1269; + @Pc(1254) Entity local1254; + if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { + @Pc(1287) Loc_Class139 local1287 = local62.method3428(arg9 + 4, local165, local153, 2, local199, local213, arg1, null, local330, local173); + if (GlRenderer.enabled && local330) { + ShadowManager.method4211(local1287.aClass36_Sub1_3, local165, local201, local173); + } + local1254 = local1287.aClass8_10; + local1287 = local62.method3428(local1226, local165, local153, 2, local199, local213, arg1, null, local330, local173); + if (GlRenderer.enabled && local330) { + ShadowManager.method4211(local1287.aClass36_Sub1_3, local165, local201, local173); + } + local1269 = local1287.aClass8_10; + } else { + local1254 = new Loc(arg5, 2, arg9 + 4, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); + local1269 = new Loc(arg5, 2, local1226, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); + } + setWall(arg2, arg7, arg8, local199, local1254, local1269, Static267.anIntArray517[arg9], Static267.anIntArray517[local1226], local261); + if (local62.aBoolean220 && arg1) { + if (arg9 == 0) { + anIntArrayArrayArray6[arg2][arg7][arg8] |= 0x1; + anIntArrayArrayArray6[arg2][arg7][arg8 + 1] |= 0x2; + } else if (arg9 == 1) { + anIntArrayArrayArray6[arg2][arg7][arg8 + 1] |= 0x2; + anIntArrayArrayArray6[arg2][arg7 + 1][arg8] |= 0x1; + } else if (arg9 == 2) { + anIntArrayArrayArray6[arg2][arg7 + 1][arg8] |= 0x1; + anIntArrayArrayArray6[arg2][arg7][arg8] |= 0x2; + } else if (arg9 == 3) { + anIntArrayArrayArray6[arg2][arg7][arg8] |= 0x2; + anIntArrayArrayArray6[arg2][arg7][arg8] |= 0x1; + } + } + if (local62.anInt4435 != 0 && arg4 != null) { + arg4.flagWall(arg9, arg6, local62.aBoolean207, arg8, arg7); + } + if (local62.wallDecorOffsetScale != 16) { + method559(arg2, arg7, arg8, local62.wallDecorOffsetScale); + } + } else if (arg6 == 3) { + if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { + local403 = local62.method3428(arg9, local165, local153, 3, local199, local213, arg1, null, local330, local173); + if (GlRenderer.enabled && local330) { + ShadowManager.method4211(local403.aClass36_Sub1_3, local165, local201, local173); + } + local387 = local403.aClass8_10; + } else { + local387 = new Loc(arg5, 3, arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); + } + setWall(arg2, arg7, arg8, local199, local387, null, LoginManager.anIntArray204[arg9], 0, local261); + if (local62.aBoolean215 && arg1) { + if (arg9 == 0) { + aByteArrayArrayArray9[arg2][arg7][arg8 + 1] = 50; + } else if (arg9 == 1) { + aByteArrayArrayArray9[arg2][arg7 + 1][arg8 + 1] = 50; + } else if (arg9 == 2) { + aByteArrayArrayArray9[arg2][arg7 + 1][arg8] = 50; + } else if (arg9 == 3) { + aByteArrayArrayArray9[arg2][arg7][arg8] = 50; + } + } + if (local62.anInt4435 != 0 && arg4 != null) { + arg4.flagWall(arg9, arg6, local62.aBoolean207, arg8, arg7); + } + } else if (arg6 == 9) { + if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { + local403 = local62.method3428(arg9, local165, local153, arg6, local199, local213, arg1, null, local330, local173); + if (GlRenderer.enabled && local330) { + ShadowManager.method4211(local403.aClass36_Sub1_3, local165, local201, local173); + } + local387 = local403.aClass8_10; + } else { + local387 = new Loc(arg5, arg6, arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); + } + Static5.method35(arg2, arg7, arg8, local199, 1, 1, local387, local261); + if (local62.anInt4435 != 0 && arg4 != null) { + arg4.flagScenery(arg7, local62.aBoolean207, arg8, local84, local81); + } + if (local62.wallDecorOffsetScale != 16) { + method559(arg2, arg7, arg8, local62.wallDecorOffsetScale); + } + } else if (arg6 == 4) { + if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { + local403 = local62.method3428(arg9, local165, local153, 4, local199, local213, arg1, null, local330, local173); + if (GlRenderer.enabled && local330) { + ShadowManager.method4211(local403.aClass36_Sub1_3, local165, local201, local173); + } + local387 = local403.aClass8_10; + } else { + local387 = new Loc(arg5, 4, arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); + } + setWallDecor(arg2, arg7, arg8, local199, local387, null, Static267.anIntArray517[arg9], 0, 0, 0, local261); + } else { + @Pc(1889) long local1889; + @Pc(1934) Entity local1934; + @Pc(1950) Loc_Class139 local1950; + if (arg6 == 5) { + local1226 = 16; + local1889 = getWallKey(arg2, arg7, arg8); + if (local1889 != 0L) { + local1226 = LocTypeList.get(Integer.MAX_VALUE & (int) (local1889 >>> 32)).wallDecorOffsetScale; + } + if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { + local1950 = local62.method3428(arg9, local165, local153, 4, local199, local213, arg1, null, local330, local173); + if (GlRenderer.enabled && local330) { + ShadowManager.method4211(local1950.aClass36_Sub1_3, local165 - Static34.anIntArray80[arg9] * 8, local201, local173 - anIntArray469[arg9] * 8); + } + local1934 = local1950.aClass8_10; + } else { + local1934 = new Loc(arg5, 4, arg9, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); + } + setWallDecor(arg2, arg7, arg8, local199, local1934, null, Static267.anIntArray517[arg9], 0, local1226 * Static34.anIntArray80[arg9], anIntArray469[arg9] * local1226, local261); + } else if (arg6 == 6) { + local1226 = 8; + local1889 = getWallKey(arg2, arg7, arg8); + if (local1889 != 0L) { + local1226 = LocTypeList.get(Integer.MAX_VALUE & (int) (local1889 >>> 32)).wallDecorOffsetScale / 2; + } + if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { + local1950 = local62.method3428(arg9 + 4, local165, local153, 4, local199, local213, arg1, null, local330, local173); + if (GlRenderer.enabled && local330) { + ShadowManager.method4211(local1950.aClass36_Sub1_3, local165 - Static114.anIntArray565[arg9] * 8, local201, local173 - anIntArray154[arg9] * 8); + } + local1934 = local1950.aClass8_10; + } else { + local1934 = new Loc(arg5, 4, arg9 + 4, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); + } + setWallDecor(arg2, arg7, arg8, local199, local1934, null, 256, arg9, local1226 * Static114.anIntArray565[arg9], local1226 * anIntArray154[arg9], local261); + } else if (arg6 == 7) { + @Pc(2137) int local2137 = arg9 + 2 & 0x3; + if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { + @Pc(2183) Loc_Class139 local2183 = local62.method3428(local2137 + 4, local165, local153, 4, local199, local213, arg1, null, local330, local173); + if (GlRenderer.enabled && local330) { + ShadowManager.method4211(local2183.aClass36_Sub1_3, local165, local201, local173); + } + local387 = local2183.aClass8_10; + } else { + local387 = new Loc(arg5, 4, local2137 + 4, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); + } + setWallDecor(arg2, arg7, arg8, local199, local387, null, 256, local2137, 0, 0, local261); + } else if (arg6 == 8) { + local1226 = 8; + local1889 = getWallKey(arg2, arg7, arg8); + if (local1889 != 0L) { + local1226 = LocTypeList.get(Integer.MAX_VALUE & (int) (local1889 >>> 32)).wallDecorOffsetScale / 2; + } + @Pc(2244) int local2244 = arg9 + 2 & 0x3; + @Pc(2289) Entity local2289; + if (local62.anInt4430 == -1 && local62.multiLocs == null && !local62.aBoolean214) { + @Pc(2297) int local2297 = anIntArray154[arg9] * 8; + @Pc(2303) int local2303 = Static114.anIntArray565[arg9] * 8; + @Pc(2319) Loc_Class139 local2319 = local62.method3428(arg9 + 4, local165, local153, 4, local199, local213, arg1, null, local330, local173); + if (GlRenderer.enabled && local330) { + ShadowManager.method4211(local2319.aClass36_Sub1_3, local165 - local2303, local201, local173 - local2297); + } + local1934 = local2319.aClass8_10; + local2319 = local62.method3428(local2244 + 4, local165, local153, 4, local199, local213, arg1, null, local330, local173); + if (GlRenderer.enabled && local330) { + ShadowManager.method4211(local2319.aClass36_Sub1_3, local165 - local2303, local201, local173 - local2297); + } + local2289 = local2319.aClass8_10; + } else { + local1934 = new Loc(arg5, 4, arg9 + 4, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); + local2289 = new Loc(arg5, 4, local2244 + 4, arg0, arg7, arg8, local62.anInt4430, local62.aBoolean209, null); + } + setWallDecor(arg2, arg7, arg8, local199, local1934, local2289, 256, arg9, local1226 * Static114.anIntArray565[arg9], anIntArray154[arg9] * local1226, local261); + } + } + } + } + + @OriginalMember(owner = "client!ch", name = "c", descriptor = "(I)V") + public static void method846() { + if (!allLevelsAreVisible() && LoginManager.centralPlane != Player.level) { + LoginManager.method2463(Player.level, LoginManager.centralZoneZ, LoginManager.centralZoneX, PlayerList.self.movementQueueZ[0], false, PlayerList.self.movementQueueX[0]); + } else if (Player.level != LightingManager.anInt2875 && MiniMap.renderMap(Player.level)) { + LightingManager.anInt2875 = Player.level; + ScriptRunner.method2218(); + } + } + + @OriginalMember(owner = "client!jk", name = "a", descriptor = "(IZ[BII[Lclient!mj;)V") + public static void method2437(@OriginalArg(0) int arg0, @OriginalArg(1) boolean arg1, @OriginalArg(2) byte[] arg2, @OriginalArg(3) int arg3, @OriginalArg(5) CollisionMap[] arg4) { + @Pc(10) Buffer local10 = new Buffer(arg2); + @Pc(12) int local12 = -1; + while (true) { + @Pc(16) int local16 = local10.gVarSmart(); + if (local16 == 0) { + return; + } + local12 += local16; + @Pc(27) int local27 = 0; + while (true) { + @Pc(31) int local31 = local10.gsmarts(); + if (local31 == 0) { + break; + } + local27 += local31 - 1; + @Pc(46) int local46 = local27 & 0x3F; + @Pc(50) int local50 = local27 >> 12; + @Pc(56) int local56 = local27 >> 6 & 0x3F; + @Pc(60) int local60 = local10.g1(); + @Pc(64) int local64 = local60 >> 2; + @Pc(68) int local68 = local60 & 0x3; + @Pc(72) int local72 = arg0 + local56; + @Pc(76) int local76 = local46 + arg3; + if (local72 > 0 && local76 > 0 && local72 < 103 && local76 < 103) { + @Pc(90) CollisionMap local90 = null; + if (!arg1) { + @Pc(95) int local95 = local50; + if ((tileFlags[1][local72][local76] & 0x2) == 2) { + local95 = local50 - 1; + } + if (local95 >= 0) { + local90 = arg4[local95]; + } + } + method3397(local50, !arg1, local50, arg1, local90, local12, local64, local72, local76, local68); + } + } + } + } + + @OriginalMember(owner = "client!vh", name = "a", descriptor = "(Lclient!th;III)V") + public static void method3574(@OriginalArg(0) Entity arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) { + @Pc(12) Tile local12; + if (arg2 < width) { + local12 = tiles[arg1][arg2 + 1][arg3]; + if (local12 != null && local12.groundDecor != null && local12.groundDecor.entity.method4543()) { + arg0.method4544(local12.groundDecor.entity, 128, 0, 0, true); + } + } + if (arg3 < width) { + local12 = tiles[arg1][arg2][arg3 + 1]; + if (local12 != null && local12.groundDecor != null && local12.groundDecor.entity.method4543()) { + arg0.method4544(local12.groundDecor.entity, 0, 0, 128, true); + } + } + if (arg2 < width && arg3 < length) { + local12 = tiles[arg1][arg2 + 1][arg3 + 1]; + if (local12 != null && local12.groundDecor != null && local12.groundDecor.entity.method4543()) { + arg0.method4544(local12.groundDecor.entity, 128, 0, 128, true); + } + } + if (arg2 < width && arg3 > 0) { + local12 = tiles[arg1][arg2 + 1][arg3 - 1]; + if (local12 != null && local12.groundDecor != null && local12.groundDecor.entity.method4543()) { + arg0.method4544(local12.groundDecor.entity, 128, 0, -128, true); + } + } + } + + @OriginalMember(owner = "client!mf", name = "a", descriptor = "(IIIII[[[B[I[I[I[I[IIBII)V") + public static void method2954(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) byte[][][] arg5, @OriginalArg(6) int[] arg6, @OriginalArg(7) int[] arg7, @OriginalArg(8) int[] arg8, @OriginalArg(9) int[] arg9, @OriginalArg(10) int[] arg10, @OriginalArg(11) int arg11, @OriginalArg(12) byte arg12, @OriginalArg(13) int arg13, @OriginalArg(14) int arg14) { + if (arg0 < 0) { + arg0 = 0; + } else if (arg0 >= width * 128) { + arg0 = width * 128 - 1; + } + if (arg2 < 0) { + arg2 = 0; + } else if (arg2 >= length * 128) { + arg2 = length * 128 - 1; + } + Static160.anInt2886 = MathUtils.sin[arg3]; + Static121.anInt3038 = MathUtils.cos[arg3]; + Static231.anInt5205 = MathUtils.sin[arg4]; + Static81.anInt2222 = MathUtils.cos[arg4]; + Static123.anInt3555 = arg0; + Static123.anInt3947 = arg1; + Static217.anInt4903 = arg2; + Static123.anInt4069 = arg0 / 128; + Static193.anInt4539 = arg2 / 128; + LightingManager.anInt987 = Static123.anInt4069 - visibility; + if (LightingManager.anInt987 < 0) { + LightingManager.anInt987 = 0; + } + LightingManager.anInt4698 = Static193.anInt4539 - visibility; + if (LightingManager.anInt4698 < 0) { + LightingManager.anInt4698 = 0; + } + LightingManager.anInt15 = Static123.anInt4069 + visibility; + if (LightingManager.anInt15 > width) { + LightingManager.anInt15 = width; + } + LightingManager.anInt4866 = Static193.anInt4539 + visibility; + if (LightingManager.anInt4866 > length) { + LightingManager.anInt4866 = length; + } + @Pc(99) short local99; + if (GlRenderer.enabled) { + local99 = (short)GlobalConfig.VIEW_DISTANCE; + } else { + local99 = 3500; + } + @Pc(104) int local104; + @Pc(113) int local113; + for (local104 = 0; local104 < visibility + visibility + 2; local104++) { + for (local113 = 0; local113 < visibility + visibility + 2; local113++) { + @Pc(130) int local130 = (local104 - visibility << 7) - (Static123.anInt3555 & 0x7F); + @Pc(140) int local140 = (local113 - visibility << 7) - (Static217.anInt4903 & 0x7F); + @Pc(146) int local146 = Static123.anInt4069 + local104 - visibility; + @Pc(152) int local152 = Static193.anInt4539 + local113 - visibility; + if (local146 >= 0 && local152 >= 0 && local146 < width && local152 < length) { + @Pc(176) int local176; + if (underwaterTileHeights == null) { + local176 = surfaceTileHeights[0][local146][local152] + 128 - Static123.anInt3947; + } else { + local176 = underwaterTileHeights[0][local146][local152] + 128 - Static123.anInt3947; + } + @Pc(201) int local201 = surfaceTileHeights[3][local146][local152] - Static123.anInt3947 - 1000; + aBooleanArrayArray3[local104][local113] = Static160.method3049(local130, local201, local176, local140, local99); + } else { + aBooleanArrayArray3[local104][local113] = false; + } + } + } + for (local104 = 0; local104 < visibility + visibility + 1; local104++) { + for (local113 = 0; local113 < visibility + visibility + 1; local113++) { + aBooleanArrayArray1[local104][local113] = aBooleanArrayArray3[local104][local113] || aBooleanArrayArray3[local104 + 1][local113] || aBooleanArrayArray3[local104][local113 + 1] || aBooleanArrayArray3[local104 + 1][local113 + 1]; + } + } + Static8.anIntArray8 = arg6; + Static123.anIntArray292 = arg7; + Static96.anIntArray234 = arg8; + Static123.anIntArray454 = arg9; + Static123.anIntArray427 = arg10; + Static123.method2419(); + if (underWaterGroundTiles != null) { + setUnderwater(true); + method3292(arg0, arg1, arg2, null, 0, (byte) 0, arg13, arg14); + if (GlRenderer.enabled) { + MaterialManager.renderingUnderwater = false; + MaterialManager.setMaterial(0, 0); + FogManager.method3066(null); + LightingManager.method2390(); + } + setUnderwater(false); + } + method3292(arg0, arg1, arg2, arg5, arg11, arg12, arg13, arg14); + } + + @OriginalMember(owner = "client!uc", name = "a", descriptor = "(III[[[BIBII)V") + public static void method3292(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) byte[][][] arg3, @OriginalArg(4) int arg4, @OriginalArg(5) byte arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7) { + Static156.anInt437++; + Static156.anInt1142 = 0; + @Pc(9) int local9 = arg6 - 16; + @Pc(13) int local13 = arg6 + 16; + @Pc(17) int local17 = arg7 - 16; + @Pc(21) int local21 = arg7 + 16; + @Pc(32) int local32; + @Pc(37) int local37; + @Pc(183) int local183; + for (@Pc(23) int local23 = Static156.anInt5276; local23 < levels; local23++) { + @Pc(30) Tile[][] local30 = tiles[local23]; + for (local32 = LightingManager.anInt987; local32 < LightingManager.anInt15; local32++) { + for (local37 = LightingManager.anInt4698; local37 < LightingManager.anInt4866; local37++) { + @Pc(46) Tile local46 = local30[local32][local37]; + if (local46 != null) { + if (aBooleanArrayArray1[local32 + visibility - Static123.anInt4069][local37 + visibility - Static193.anInt4539] && (arg3 == null || local23 < arg4 || arg3[local23][local32][local37] != arg5)) { + local46.aBoolean45 = true; + local46.aBoolean46 = true; + if (local46.sceneryLen > 0) { + local46.aBoolean47 = true; + } else { + local46.aBoolean47 = false; + } + Static156.anInt1142++; + } else { + local46.aBoolean45 = false; + local46.aBoolean46 = false; + local46.anInt663 = 0; + if (local32 >= local9 && local32 <= local13 && local37 >= local17 && local37 <= local21) { + if (local46.wall != null) { + @Pc(103) Wall local103 = local46.wall; + local103.primary.method4545(0, local23, local103.anInt3051, local103.xFine, local103.zFine); + if (local103.secondary != null) { + local103.secondary.method4545(0, local23, local103.anInt3051, local103.xFine, local103.zFine); + } + } + if (local46.wallDecor != null) { + @Pc(134) WallDecor local134 = local46.wallDecor; + local134.primary.method4545(local134.anInt1388, local23, local134.anInt1391, local134.xFine, local134.zFine); + if (local134.secondary != null) { + local134.secondary.method4545(local134.anInt1388, local23, local134.anInt1391, local134.xFine, local134.zFine); + } + } + if (local46.groundDecor != null) { + @Pc(167) GroundDecor local167 = local46.groundDecor; + local167.entity.method4545(0, local23, local167.anInt733, local167.xFine, local167.zFine); + } + if (local46.scenery != null) { + for (local183 = 0; local183 < local46.sceneryLen; local183++) { + @Pc(192) Scenery local192 = local46.scenery[local183]; + local192.entity.method4545(local192.anInt1714, local23, local192.anInt1706, local192.anInt1699, local192.anInt1703); + } + } + } + } + } + } + } + } + @Pc(240) boolean local240 = tileHeights == underwaterTileHeights; + if (GlRenderer.enabled) { + @Pc(244) GL2 gl = GlRenderer.gl; + gl.glPushMatrix(); + gl.glTranslatef((float) -arg0, (float) -arg1, (float) -arg2); + if (local240) { + UnderwaterMaterialRenderer.applyFogFade(); + MaterialManager.setMaterial(-1, 3); + MaterialManager.renderingUnderwater = true; + UnderwaterMaterialRenderer.method4609(); + Static152.anInt3604 = -1; + Static247.anInt730 = -1; + for (local32 = 0; local32 < underwaterHdTiles[0].length; local32++) { + @Pc(285) GlTile local285 = underwaterHdTiles[0][local32]; + @Pc(294) float local294 = 251.5F - (local285.blend ? 1.0F : 0.5F); + if (local285.underwaterColor != Static152.anInt3604) { + Static152.anInt3604 = local285.underwaterColor; + WaterMaterialRenderer.method619(local285.underwaterColor); + FogManager.method3066(WaterMaterialRenderer.method2422()); + } + local285.method1944(tiles, local294, false); + } + UnderwaterMaterialRenderer.method4608(); + } else { + local32 = Static156.anInt5276; + while (true) { + if (local32 >= levels) { + LightingManager.method2402(Static123.anInt4069, Static193.anInt4539, tiles); + break; + } + for (local37 = 0; local37 < underwaterHdTiles[local32].length; local37++) { + @Pc(336) GlTile local336 = underwaterHdTiles[local32][local37]; + @Pc(350) float local350 = 201.5F - (float) local32 * 50.0F - (local336.blend ? 1.0F : 0.5F); + if (local336.texture != -1 && Rasteriser.textureProvider.getMaterialType(local336.texture) == MaterialManager.WATER && Preferences.highWaterDetail) { + WaterMaterialRenderer.method619(local336.underwaterColor); + } + local336.method1944(tiles, local350, false); + } + if (local32 == 0 && Preferences.sceneryShadowsType > 0) { + GlRenderer.method4159(101.5F); + ShadowManager.method4198(Static123.anInt4069, Static193.anInt4539, visibility, arg1, aBooleanArrayArray1, tileHeights[0]); + } + local32++; + } + } + gl.glPopMatrix(); + } + @Pc(434) int local434; + @Pc(438) int local438; + @Pc(450) Tile local450; + @Pc(399) int local399; + @Pc(406) Tile[][] local406; + @Pc(415) int local415; + @Pc(428) int local428; + for (local399 = Static156.anInt5276; local399 < levels; local399++) { + local406 = tiles[local399]; + for (local37 = -visibility; local37 <= 0; local37++) { + local415 = Static123.anInt4069 + local37; + local183 = Static123.anInt4069 - local37; + if (local415 >= LightingManager.anInt987 || local183 < LightingManager.anInt15) { + for (local428 = -visibility; local428 <= 0; local428++) { + local434 = Static193.anInt4539 + local428; + local438 = Static193.anInt4539 - local428; + if (local415 >= LightingManager.anInt987) { + if (local434 >= LightingManager.anInt4698) { + local450 = local406[local415][local434]; + if (local450 != null && local450.aBoolean45) { + method4245(local450, true); + } + } + if (local438 < LightingManager.anInt4866) { + local450 = local406[local415][local438]; + if (local450 != null && local450.aBoolean45) { + method4245(local450, true); + } + } + } + if (local183 < LightingManager.anInt15) { + if (local434 >= LightingManager.anInt4698) { + local450 = local406[local183][local434]; + if (local450 != null && local450.aBoolean45) { + method4245(local450, true); + } + } + if (local438 < LightingManager.anInt4866) { + local450 = local406[local183][local438]; + if (local450 != null && local450.aBoolean45) { + method4245(local450, true); + } + } + } + if (Static156.anInt1142 == 0) { + if (!local240) { + MiniMenu.aBoolean187 = false; + } + return; + } + } + } + } + } + for (local399 = Static156.anInt5276; local399 < levels; local399++) { + local406 = tiles[local399]; + for (local37 = -visibility; local37 <= 0; local37++) { + local415 = Static123.anInt4069 + local37; + local183 = Static123.anInt4069 - local37; + if (local415 >= LightingManager.anInt987 || local183 < LightingManager.anInt15) { + for (local428 = -visibility; local428 <= 0; local428++) { + local434 = Static193.anInt4539 + local428; + local438 = Static193.anInt4539 - local428; + if (local415 >= LightingManager.anInt987) { + if (local434 >= LightingManager.anInt4698) { + local450 = local406[local415][local434]; + if (local450 != null && local450.aBoolean45) { + method4245(local450, false); + } + } + if (local438 < LightingManager.anInt4866) { + local450 = local406[local415][local438]; + if (local450 != null && local450.aBoolean45) { + method4245(local450, false); + } + } + } + if (local183 < LightingManager.anInt15) { + if (local434 >= LightingManager.anInt4698) { + local450 = local406[local183][local434]; + if (local450 != null && local450.aBoolean45) { + method4245(local450, false); + } + } + if (local438 < LightingManager.anInt4866) { + local450 = local406[local183][local438]; + if (local450 != null && local450.aBoolean45) { + method4245(local450, false); + } + } + } + if (Static156.anInt1142 == 0) { + if (!local240) { + MiniMenu.aBoolean187 = false; + } + return; + } + } + } + } + } + MiniMenu.aBoolean187 = false; + } + + @OriginalMember(owner = "client!lg", name = "a", descriptor = "(I)V") + public static void method2750(@OriginalArg(0) int arg0) { + Static156.anInt5276 = arg0; + for (@Pc(3) int local3 = 0; local3 < width; local3++) { + for (@Pc(8) int local8 = 0; local8 < length; local8++) { + if (tiles[arg0][local3][local8] == null) { + tiles[arg0][local3][local8] = new Tile(arg0, local3, local8); + } + } + } + } + + @OriginalMember(owner = "client!fh", name = "a", descriptor = "(IIIILclient!th;JLclient!th;Lclient!th;)V") + public static void method1543(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) Entity arg4, @OriginalArg(5) long arg5, @OriginalArg(6) Entity arg6, @OriginalArg(7) Entity arg7) { + @Pc(3) ObjStackEntity local3 = new ObjStackEntity(); + local3.aClass8_9 = arg4; + local3.anInt3064 = arg1 * 128 + 64; + local3.anInt3061 = arg2 * 128 + 64; + local3.anInt3057 = arg3; + local3.aLong108 = arg5; + local3.aClass8_7 = arg6; + local3.aClass8_8 = arg7; + @Pc(34) int local34 = 0; + @Pc(42) Tile local42 = tiles[arg0][arg1][arg2]; + if (local42 != null) { + for (@Pc(46) int local46 = 0; local46 < local42.sceneryLen; local46++) { + @Pc(55) Scenery local55 = local42.scenery[local46]; + if ((local55.key & 0x400000L) == 4194304L) { + @Pc(66) int local66 = local55.entity.getMinY(); + if (local66 != -32768 && local66 < local34) { + local34 = local66; + } + } + } + } + local3.anInt3063 = -local34; + if (tiles[arg0][arg1][arg2] == null) { + tiles[arg0][arg1][arg2] = new Tile(arg0, arg1, arg2); + } + tiles[arg0][arg1][arg2].aClass79_1 = local3; + } + + @OriginalMember(owner = "client!fh", name = "a", descriptor = "(Lclient!th;IIIII)V") + public static void method1544(@OriginalArg(0) Entity arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5) { + @Pc(1) boolean local1 = true; + @Pc(3) int local3 = arg2; + @Pc(7) int local7 = arg2 + arg4; + @Pc(11) int local11 = arg3 - 1; + @Pc(15) int local15 = arg3 + arg5; + for (@Pc(17) int local17 = arg1; local17 <= arg1 + 1; local17++) { + if (local17 != levels) { + for (@Pc(28) int local28 = local3; local28 <= local7; local28++) { + if (local28 >= 0 && local28 < width) { + for (@Pc(39) int local39 = local11; local39 <= local15; local39++) { + if (local39 >= 0 && local39 < length && (!local1 || local28 >= local7 || local39 >= local15 || local39 < arg3 && local28 != arg2)) { + @Pc(71) Tile local71 = tiles[local17][local28][local39]; + if (local71 != null) { + @Pc(158) int local158 = (tileHeights[local17][local28][local39] + tileHeights[local17][local28 + 1][local39] + tileHeights[local17][local28][local39 + 1] + tileHeights[local17][local28 + 1][local39 + 1]) / 4 - (tileHeights[arg1][arg2][arg3] + tileHeights[arg1][arg2 + 1][arg3] + tileHeights[arg1][arg2][arg3 + 1] + tileHeights[arg1][arg2 + 1][arg3 + 1]) / 4; + @Pc(161) Wall local161 = local71.wall; + if (local161 != null) { + if (local161.primary.method4543()) { + arg0.method4544(local161.primary, (local28 - arg2) * 128 + (1 - arg4) * 64, local158, (local39 - arg3) * 128 + (1 - arg5) * 64, local1); + } + if (local161.secondary != null && local161.secondary.method4543()) { + arg0.method4544(local161.secondary, (local28 - arg2) * 128 + (1 - arg4) * 64, local158, (local39 - arg3) * 128 + (1 - arg5) * 64, local1); + } + } + for (@Pc(232) int local232 = 0; local232 < local71.sceneryLen; local232++) { + @Pc(241) Scenery local241 = local71.scenery[local232]; + if (local241 != null && local241.entity.method4543() && (local28 == local241.xMin || local28 == local3) && (local39 == local241.zMin || local39 == local11)) { + @Pc(270) int local270 = local241.xMax + 1 - local241.xMin; + @Pc(278) int local278 = local241.zMax + 1 - local241.zMin; + arg0.method4544(local241.entity, (local241.xMin - arg2) * 128 + (local270 - arg4) * 64, local158, (local241.zMin - arg3) * 128 + (local278 - arg5) * 64, local1); + } + } + } + } + } + } + } + local3--; + local1 = false; + } + } + } + + @OriginalMember(owner = "client!bh", name = "a", descriptor = "(IIII)V") + public static void method559(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) { + @Pc(7) Tile local7 = tiles[arg0][arg1][arg2]; + if (local7 == null) { + return; + } + @Pc(13) WallDecor local13 = local7.wallDecor; + if (local13 != null) { + local13.xOffset = local13.xOffset * arg3 / 16; + local13.zOffset = local13.zOffset * arg3 / 16; + } + } } diff --git a/client/src/main/java/rt4/ScriptRunner.java b/client/src/main/java/rt4/ScriptRunner.java index f334ba2..d36c917 100644 --- a/client/src/main/java/rt4/ScriptRunner.java +++ b/client/src/main/java/rt4/ScriptRunner.java @@ -232,9 +232,9 @@ public final class ScriptRunner { if (Static176.customCameraActive[4] && Camera.cameraAmplitude[4] + 128 > local59) { local59 = Camera.cameraAmplitude[4] + 128; } - Static18.method555(Camera.cameraX, arg0, SceneGraph.getTileHeight(Player.level, PlayerList.self.xFine, PlayerList.self.zFine) - 50, Camera.ZOOM - -(local59 * 3), local57, Camera.cameraZ, local59); + Camera.method555(Camera.cameraX, arg0, SceneGraph.getTileHeight(Player.level, PlayerList.self.xFine, PlayerList.self.zFine) - 50, Camera.ZOOM - -(local59 * 3), local57, Camera.cameraZ, local59); } - local57 = Static5.anInt40; + local57 = Camera.anInt40; local59 = Camera.renderX; @Pc(121) int local121 = Camera.renderZ; @Pc(123) int local123 = Camera.cameraPitch; @@ -260,7 +260,7 @@ public final class ScriptRunner { Camera.renderZ += local171; } if (local127 == 1) { - Static5.anInt40 += local171; + Camera.anInt40 += local171; } if (local127 == 0) { Camera.renderX += local171; @@ -307,9 +307,9 @@ public final class ScriptRunner { } LightingManager.method2394(client.loop, !Preferences.flickeringEffectsOn); GlRenderer.clearColorAndDepthBuffers(local171); - MaterialManager.method2731(Camera.cameraPitch, Camera.renderZ, Static5.anInt40, Camera.renderX, Camera.cameraYaw); + MaterialManager.method2731(Camera.cameraPitch, Camera.renderZ, Camera.anInt40, Camera.renderX, Camera.cameraYaw); GlRenderer.anInt5323 = client.loop; - Static156.method2954(Camera.renderX, Static5.anInt40, Camera.renderZ, Camera.cameraPitch, Camera.cameraYaw, aByteArrayArrayArray15, anIntArray205, anIntArray338, anIntArray518, anIntArray134, anIntArray476, Player.level + 1, local387, PlayerList.self.xFine >> 7, PlayerList.self.zFine >> 7); + SceneGraph.method2954(Camera.renderX, Camera.anInt40, Camera.renderZ, Camera.cameraPitch, Camera.cameraYaw, aByteArrayArrayArray15, anIntArray205, anIntArray338, anIntArray518, anIntArray134, anIntArray476, Player.level + 1, local387, PlayerList.self.xFine >> 7, PlayerList.self.zFine >> 7); aBoolean299 = true; LightingManager.method2390(); MaterialManager.method2731(0, 0, 0, 0, 0); @@ -319,7 +319,7 @@ public final class ScriptRunner { Static233.method4000(arg3, arg2, arg0, anInt5029, anInt5029, arg4); } else { SoftwareRaster.fillRect(arg2, arg4, arg3, arg0, 0); - Static156.method2954(Camera.renderX, Static5.anInt40, Camera.renderZ, Camera.cameraPitch, Camera.cameraYaw, aByteArrayArrayArray15, anIntArray205, anIntArray338, anIntArray518, anIntArray134, anIntArray476, Player.level + 1, local387, PlayerList.self.xFine >> 7, PlayerList.self.zFine >> 7); + SceneGraph.method2954(Camera.renderX, Camera.anInt40, Camera.renderZ, Camera.cameraPitch, Camera.cameraYaw, aByteArrayArrayArray15, anIntArray205, anIntArray338, anIntArray518, anIntArray134, anIntArray476, Player.level + 1, local387, PlayerList.self.xFine >> 7, PlayerList.self.zFine >> 7); client.audioLoop(); method3858(); method2726(arg4, arg3, arg2, 256, arg0, 256); @@ -329,7 +329,7 @@ public final class ScriptRunner { Player.method2310(arg3, arg4, arg0, arg2); Camera.cameraPitch = local123; Camera.renderZ = local121; - Static5.anInt40 = local57; + Camera.anInt40 = local57; Camera.renderX = local59; Camera.cameraYaw = local125; if (aBoolean43 && client.js5NetQueue.getUrgentRequestCount() == 0) { @@ -1236,7 +1236,7 @@ public final class ScriptRunner { } @Pc(38) int local38 = SceneGraph.getTileHeight(Player.level, arg5, arg2) - arg3; @Pc(42) int local42 = arg2 - Camera.renderZ; - @Pc(46) int local46 = local38 - Static5.anInt40; + @Pc(46) int local46 = local38 - Camera.anInt40; @Pc(50) int local50 = arg5 - Camera.renderX; @Pc(54) int local54 = MathUtils.sin[Camera.cameraPitch]; @Pc(58) int local58 = MathUtils.cos[Camera.cameraPitch]; @@ -5283,7 +5283,7 @@ public final class ScriptRunner { @Pc(10247) WorldInfo local10247; @Pc(10191) World world; if (opcode == Cs2Opcodes.getFirstWorldData) { - world = Static18.getFirstWorld(); + world = WorldList.getFirstWorld(); if (world == null) { intStack[isp++] = -1; intStack[isp++] = 0; diff --git a/client/src/main/java/rt4/Static121.java b/client/src/main/java/rt4/Static121.java index ffd1ce4..3f0ab07 100644 --- a/client/src/main/java/rt4/Static121.java +++ b/client/src/main/java/rt4/Static121.java @@ -9,10 +9,7 @@ public final class Static121 { @OriginalMember(owner = "client!jg", name = "a", descriptor = "I") public static int anInt3038; - @OriginalMember(owner = "client!jg", name = "b", descriptor = "I") - public static int anInt3039; - - @OriginalMember(owner = "client!jg", name = "e", descriptor = "Z") + @OriginalMember(owner = "client!jg", name = "e", descriptor = "Z") public static boolean qaOpTest = false; @OriginalMember(owner = "client!jg", name = "a", descriptor = "(IBIII)V") diff --git a/client/src/main/java/rt4/Static146.java b/client/src/main/java/rt4/Static146.java index 2f422e0..4989781 100644 --- a/client/src/main/java/rt4/Static146.java +++ b/client/src/main/java/rt4/Static146.java @@ -1,8 +1,6 @@ package rt4; -import org.openrs2.deob.annotation.OriginalArg; import org.openrs2.deob.annotation.OriginalMember; -import org.openrs2.deob.annotation.Pc; public final class Static146 { @@ -12,15 +10,4 @@ public final class Static146 { @OriginalMember(owner = "client!lg", name = "b", descriptor = "Z") public static boolean aBoolean174 = false; - @OriginalMember(owner = "client!lg", name = "a", descriptor = "(I)V") - public static void method2750(@OriginalArg(0) int arg0) { - Static156.anInt5276 = arg0; - for (@Pc(3) int local3 = 0; local3 < SceneGraph.width; local3++) { - for (@Pc(8) int local8 = 0; local8 < SceneGraph.length; local8++) { - if (SceneGraph.tiles[arg0][local3][local8] == null) { - SceneGraph.tiles[arg0][local3][local8] = new Tile(arg0, local3, local8); - } - } - } - } } diff --git a/client/src/main/java/rt4/Static156.java b/client/src/main/java/rt4/Static156.java index 6718e6d..eb31c4f 100644 --- a/client/src/main/java/rt4/Static156.java +++ b/client/src/main/java/rt4/Static156.java @@ -1,9 +1,6 @@ package rt4; -import com.jogamp.opengl.GL2; -import org.openrs2.deob.annotation.OriginalArg; import org.openrs2.deob.annotation.OriginalMember; -import org.openrs2.deob.annotation.Pc; public final class Static156 { @@ -16,310 +13,4 @@ public final class Static156 { @OriginalMember(owner = "client!rc", name = "p", descriptor = "I") public static int anInt1142 = 0; - @OriginalMember(owner = "client!mf", name = "a", descriptor = "(IIIII[[[B[I[I[I[I[IIBII)V") - public static void method2954(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) byte[][][] arg5, @OriginalArg(6) int[] arg6, @OriginalArg(7) int[] arg7, @OriginalArg(8) int[] arg8, @OriginalArg(9) int[] arg9, @OriginalArg(10) int[] arg10, @OriginalArg(11) int arg11, @OriginalArg(12) byte arg12, @OriginalArg(13) int arg13, @OriginalArg(14) int arg14) { - if (arg0 < 0) { - arg0 = 0; - } else if (arg0 >= SceneGraph.width * 128) { - arg0 = SceneGraph.width * 128 - 1; - } - if (arg2 < 0) { - arg2 = 0; - } else if (arg2 >= SceneGraph.length * 128) { - arg2 = SceneGraph.length * 128 - 1; - } - Static160.anInt2886 = MathUtils.sin[arg3]; - Static121.anInt3038 = MathUtils.cos[arg3]; - Static231.anInt5205 = MathUtils.sin[arg4]; - Static81.anInt2222 = MathUtils.cos[arg4]; - Static123.anInt3555 = arg0; - Static123.anInt3947 = arg1; - Static217.anInt4903 = arg2; - Static123.anInt4069 = arg0 / 128; - Static193.anInt4539 = arg2 / 128; - LightingManager.anInt987 = Static123.anInt4069 - SceneGraph.visibility; - if (LightingManager.anInt987 < 0) { - LightingManager.anInt987 = 0; - } - LightingManager.anInt4698 = Static193.anInt4539 - SceneGraph.visibility; - if (LightingManager.anInt4698 < 0) { - LightingManager.anInt4698 = 0; - } - LightingManager.anInt15 = Static123.anInt4069 + SceneGraph.visibility; - if (LightingManager.anInt15 > SceneGraph.width) { - LightingManager.anInt15 = SceneGraph.width; - } - LightingManager.anInt4866 = Static193.anInt4539 + SceneGraph.visibility; - if (LightingManager.anInt4866 > SceneGraph.length) { - LightingManager.anInt4866 = SceneGraph.length; - } - @Pc(99) short local99; - if (GlRenderer.enabled) { - local99 = (short)GlobalConfig.VIEW_DISTANCE; - } else { - local99 = 3500; - } - @Pc(104) int local104; - @Pc(113) int local113; - for (local104 = 0; local104 < SceneGraph.visibility + SceneGraph.visibility + 2; local104++) { - for (local113 = 0; local113 < SceneGraph.visibility + SceneGraph.visibility + 2; local113++) { - @Pc(130) int local130 = (local104 - SceneGraph.visibility << 7) - (Static123.anInt3555 & 0x7F); - @Pc(140) int local140 = (local113 - SceneGraph.visibility << 7) - (Static217.anInt4903 & 0x7F); - @Pc(146) int local146 = Static123.anInt4069 + local104 - SceneGraph.visibility; - @Pc(152) int local152 = Static193.anInt4539 + local113 - SceneGraph.visibility; - if (local146 >= 0 && local152 >= 0 && local146 < SceneGraph.width && local152 < SceneGraph.length) { - @Pc(176) int local176; - if (SceneGraph.underwaterTileHeights == null) { - local176 = SceneGraph.surfaceTileHeights[0][local146][local152] + 128 - Static123.anInt3947; - } else { - local176 = SceneGraph.underwaterTileHeights[0][local146][local152] + 128 - Static123.anInt3947; - } - @Pc(201) int local201 = SceneGraph.surfaceTileHeights[3][local146][local152] - Static123.anInt3947 - 1000; - SceneGraph.aBooleanArrayArray3[local104][local113] = Static160.method3049(local130, local201, local176, local140, local99); - } else { - SceneGraph.aBooleanArrayArray3[local104][local113] = false; - } - } - } - for (local104 = 0; local104 < SceneGraph.visibility + SceneGraph.visibility + 1; local104++) { - for (local113 = 0; local113 < SceneGraph.visibility + SceneGraph.visibility + 1; local113++) { - SceneGraph.aBooleanArrayArray1[local104][local113] = SceneGraph.aBooleanArrayArray3[local104][local113] || SceneGraph.aBooleanArrayArray3[local104 + 1][local113] || SceneGraph.aBooleanArrayArray3[local104][local113 + 1] || SceneGraph.aBooleanArrayArray3[local104 + 1][local113 + 1]; - } - } - Static8.anIntArray8 = arg6; - Static123.anIntArray292 = arg7; - Static96.anIntArray234 = arg8; - Static123.anIntArray454 = arg9; - Static123.anIntArray427 = arg10; - Static123.method2419(); - if (SceneGraph.underWaterGroundTiles != null) { - SceneGraph.setUnderwater(true); - method3292(arg0, arg1, arg2, null, 0, (byte) 0, arg13, arg14); - if (GlRenderer.enabled) { - MaterialManager.renderingUnderwater = false; - MaterialManager.setMaterial(0, 0); - FogManager.method3066(null); - LightingManager.method2390(); - } - SceneGraph.setUnderwater(false); - } - method3292(arg0, arg1, arg2, arg5, arg11, arg12, arg13, arg14); - } - - @OriginalMember(owner = "client!mf", name = "a", descriptor = "(BLclient!wa;)Lclient!ta;") - public static TextureOp29SubOp4 method2960(@OriginalArg(1) Buffer arg0) { - return new TextureOp29SubOp4(arg0.g2b(), arg0.g2b(), arg0.g2b(), arg0.g2b(), arg0.g3(), arg0.g3(), arg0.g1()); - } - - @OriginalMember(owner = "client!uc", name = "a", descriptor = "(III[[[BIBII)V") - public static void method3292(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) byte[][][] arg3, @OriginalArg(4) int arg4, @OriginalArg(5) byte arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7) { - anInt437++; - anInt1142 = 0; - @Pc(9) int local9 = arg6 - 16; - @Pc(13) int local13 = arg6 + 16; - @Pc(17) int local17 = arg7 - 16; - @Pc(21) int local21 = arg7 + 16; - @Pc(32) int local32; - @Pc(37) int local37; - @Pc(183) int local183; - for (@Pc(23) int local23 = anInt5276; local23 < SceneGraph.levels; local23++) { - @Pc(30) Tile[][] local30 = SceneGraph.tiles[local23]; - for (local32 = LightingManager.anInt987; local32 < LightingManager.anInt15; local32++) { - for (local37 = LightingManager.anInt4698; local37 < LightingManager.anInt4866; local37++) { - @Pc(46) Tile local46 = local30[local32][local37]; - if (local46 != null) { - if (SceneGraph.aBooleanArrayArray1[local32 + SceneGraph.visibility - Static123.anInt4069][local37 + SceneGraph.visibility - Static193.anInt4539] && (arg3 == null || local23 < arg4 || arg3[local23][local32][local37] != arg5)) { - local46.aBoolean45 = true; - local46.aBoolean46 = true; - if (local46.sceneryLen > 0) { - local46.aBoolean47 = true; - } else { - local46.aBoolean47 = false; - } - anInt1142++; - } else { - local46.aBoolean45 = false; - local46.aBoolean46 = false; - local46.anInt663 = 0; - if (local32 >= local9 && local32 <= local13 && local37 >= local17 && local37 <= local21) { - if (local46.wall != null) { - @Pc(103) Wall local103 = local46.wall; - local103.primary.method4545(0, local23, local103.anInt3051, local103.xFine, local103.zFine); - if (local103.secondary != null) { - local103.secondary.method4545(0, local23, local103.anInt3051, local103.xFine, local103.zFine); - } - } - if (local46.wallDecor != null) { - @Pc(134) WallDecor local134 = local46.wallDecor; - local134.primary.method4545(local134.anInt1388, local23, local134.anInt1391, local134.anInt1390, local134.anInt1393); - if (local134.secondary != null) { - local134.secondary.method4545(local134.anInt1388, local23, local134.anInt1391, local134.anInt1390, local134.anInt1393); - } - } - if (local46.groundDecor != null) { - @Pc(167) GroundDecor local167 = local46.groundDecor; - local167.entity.method4545(0, local23, local167.anInt733, local167.xFine, local167.zFine); - } - if (local46.scenery != null) { - for (local183 = 0; local183 < local46.sceneryLen; local183++) { - @Pc(192) Scenery local192 = local46.scenery[local183]; - local192.entity.method4545(local192.anInt1714, local23, local192.anInt1706, local192.anInt1699, local192.anInt1703); - } - } - } - } - } - } - } - } - @Pc(240) boolean local240 = SceneGraph.tileHeights == SceneGraph.underwaterTileHeights; - if (GlRenderer.enabled) { - @Pc(244) GL2 gl = GlRenderer.gl; - gl.glPushMatrix(); - gl.glTranslatef((float) -arg0, (float) -arg1, (float) -arg2); - if (local240) { - UnderwaterMaterialRenderer.applyFogFade(); - MaterialManager.setMaterial(-1, 3); - MaterialManager.renderingUnderwater = true; - UnderwaterMaterialRenderer.method4609(); - Static152.anInt3604 = -1; - Static247.anInt730 = -1; - for (local32 = 0; local32 < SceneGraph.underwaterHdTiles[0].length; local32++) { - @Pc(285) GlTile local285 = SceneGraph.underwaterHdTiles[0][local32]; - @Pc(294) float local294 = 251.5F - (local285.blend ? 1.0F : 0.5F); - if (local285.underwaterColor != Static152.anInt3604) { - Static152.anInt3604 = local285.underwaterColor; - WaterMaterialRenderer.method619(local285.underwaterColor); - FogManager.method3066(WaterMaterialRenderer.method2422()); - } - local285.method1944(SceneGraph.tiles, local294, false); - } - UnderwaterMaterialRenderer.method4608(); - } else { - local32 = anInt5276; - while (true) { - if (local32 >= SceneGraph.levels) { - LightingManager.method2402(Static123.anInt4069, Static193.anInt4539, SceneGraph.tiles); - break; - } - for (local37 = 0; local37 < SceneGraph.underwaterHdTiles[local32].length; local37++) { - @Pc(336) GlTile local336 = SceneGraph.underwaterHdTiles[local32][local37]; - @Pc(350) float local350 = 201.5F - (float) local32 * 50.0F - (local336.blend ? 1.0F : 0.5F); - if (local336.texture != -1 && Rasteriser.textureProvider.getMaterialType(local336.texture) == MaterialManager.WATER && Preferences.highWaterDetail) { - WaterMaterialRenderer.method619(local336.underwaterColor); - } - local336.method1944(SceneGraph.tiles, local350, false); - } - if (local32 == 0 && Preferences.sceneryShadowsType > 0) { - GlRenderer.method4159(101.5F); - ShadowManager.method4198(Static123.anInt4069, Static193.anInt4539, SceneGraph.visibility, arg1, SceneGraph.aBooleanArrayArray1, SceneGraph.tileHeights[0]); - } - local32++; - } - } - gl.glPopMatrix(); - } - @Pc(434) int local434; - @Pc(438) int local438; - @Pc(450) Tile local450; - @Pc(399) int local399; - @Pc(406) Tile[][] local406; - @Pc(415) int local415; - @Pc(428) int local428; - for (local399 = anInt5276; local399 < SceneGraph.levels; local399++) { - local406 = SceneGraph.tiles[local399]; - for (local37 = -SceneGraph.visibility; local37 <= 0; local37++) { - local415 = Static123.anInt4069 + local37; - local183 = Static123.anInt4069 - local37; - if (local415 >= LightingManager.anInt987 || local183 < LightingManager.anInt15) { - for (local428 = -SceneGraph.visibility; local428 <= 0; local428++) { - local434 = Static193.anInt4539 + local428; - local438 = Static193.anInt4539 - local428; - if (local415 >= LightingManager.anInt987) { - if (local434 >= LightingManager.anInt4698) { - local450 = local406[local415][local434]; - if (local450 != null && local450.aBoolean45) { - Static247.method4245(local450, true); - } - } - if (local438 < LightingManager.anInt4866) { - local450 = local406[local415][local438]; - if (local450 != null && local450.aBoolean45) { - Static247.method4245(local450, true); - } - } - } - if (local183 < LightingManager.anInt15) { - if (local434 >= LightingManager.anInt4698) { - local450 = local406[local183][local434]; - if (local450 != null && local450.aBoolean45) { - Static247.method4245(local450, true); - } - } - if (local438 < LightingManager.anInt4866) { - local450 = local406[local183][local438]; - if (local450 != null && local450.aBoolean45) { - Static247.method4245(local450, true); - } - } - } - if (anInt1142 == 0) { - if (!local240) { - MiniMenu.aBoolean187 = false; - } - return; - } - } - } - } - } - for (local399 = anInt5276; local399 < SceneGraph.levels; local399++) { - local406 = SceneGraph.tiles[local399]; - for (local37 = -SceneGraph.visibility; local37 <= 0; local37++) { - local415 = Static123.anInt4069 + local37; - local183 = Static123.anInt4069 - local37; - if (local415 >= LightingManager.anInt987 || local183 < LightingManager.anInt15) { - for (local428 = -SceneGraph.visibility; local428 <= 0; local428++) { - local434 = Static193.anInt4539 + local428; - local438 = Static193.anInt4539 - local428; - if (local415 >= LightingManager.anInt987) { - if (local434 >= LightingManager.anInt4698) { - local450 = local406[local415][local434]; - if (local450 != null && local450.aBoolean45) { - Static247.method4245(local450, false); - } - } - if (local438 < LightingManager.anInt4866) { - local450 = local406[local415][local438]; - if (local450 != null && local450.aBoolean45) { - Static247.method4245(local450, false); - } - } - } - if (local183 < LightingManager.anInt15) { - if (local434 >= LightingManager.anInt4698) { - local450 = local406[local183][local434]; - if (local450 != null && local450.aBoolean45) { - Static247.method4245(local450, false); - } - } - if (local438 < LightingManager.anInt4866) { - local450 = local406[local183][local438]; - if (local450 != null && local450.aBoolean45) { - Static247.method4245(local450, false); - } - } - } - if (anInt1142 == 0) { - if (!local240) { - MiniMenu.aBoolean187 = false; - } - return; - } - } - } - } - } - MiniMenu.aBoolean187 = false; - } } diff --git a/client/src/main/java/rt4/Static18.java b/client/src/main/java/rt4/Static18.java deleted file mode 100644 index d0881ab..0000000 --- a/client/src/main/java/rt4/Static18.java +++ /dev/null @@ -1,78 +0,0 @@ -package rt4; - -import org.openrs2.deob.annotation.OriginalArg; -import org.openrs2.deob.annotation.OriginalMember; -import org.openrs2.deob.annotation.Pc; - -public final class Static18 { - - @OriginalMember(owner = "client!bh", name = "t", descriptor = "I") - public static int clickedInventoryIndex = 0; - - @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 = "a", descriptor = "(IB)I") - public static int method554(@OriginalArg(0) int arg0) { - return arg0 >>> 8; - } - - @OriginalMember(owner = "client!bh", name = "a", descriptor = "(IIIIIIII)V") - public static void method555(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6) { - @Pc(5) int local5; - @Pc(29) int local29; - if (GlRenderer.enabled) { - local5 = arg1 - 334; - if (local5 < 0) { - local5 = 0; - } else if (local5 > 100) { - local5 = 100; - } - local29 = local5 * (ScriptRunner.aShort27 - ScriptRunner.aShort30) / 100 + ScriptRunner.aShort30; - arg3 = local29 * arg3 >> 8; - } - local5 = 2048 - arg6 & 0x7FF; - local29 = 2048 - arg4 & 0x7FF; - @Pc(55) int local55 = 0; - @Pc(57) int local57 = arg3; - @Pc(59) int local59 = 0; - @Pc(72) int local72; - @Pc(68) int local68; - if (local5 != 0) { - local68 = MathUtils.cos[local5]; - local72 = MathUtils.sin[local5]; - local59 = local72 * -arg3 >> 16; - local57 = local68 * arg3 >> 16; - } - if (local29 != 0) { - local72 = MathUtils.sin[local29]; - local68 = MathUtils.cos[local29]; - local55 = local72 * local57 >> 16; - local57 = local57 * local68 >> 16; - } - Camera.cameraPitch = arg6; - Camera.cameraYaw = arg4; - Camera.renderZ = arg5 - local57; - Camera.renderX = arg0 - local55; - Static5.anInt40 = arg2 - local59; - } - - @OriginalMember(owner = "client!bh", name = "a", descriptor = "(B)Lclient!ba;") - public static World getFirstWorld() { - WorldList.worldPos = 0; - return WorldList.getNextWorld(); - } - - @OriginalMember(owner = "client!bh", name = "a", descriptor = "(IIII)V") - public static void method559(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) { - @Pc(7) Tile local7 = SceneGraph.tiles[arg0][arg1][arg2]; - if (local7 == null) { - return; - } - @Pc(13) WallDecor local13 = local7.wallDecor; - if (local13 != null) { - local13.anInt1394 = local13.anInt1394 * arg3 / 16; - local13.anInt1392 = local13.anInt1392 * arg3 / 16; - } - } -} diff --git a/client/src/main/java/rt4/Static185.java b/client/src/main/java/rt4/Static185.java deleted file mode 100644 index 76e3597..0000000 --- a/client/src/main/java/rt4/Static185.java +++ /dev/null @@ -1,35 +0,0 @@ -package rt4; - -import org.openrs2.deob.annotation.OriginalArg; -import org.openrs2.deob.annotation.OriginalMember; -import org.openrs2.deob.annotation.Pc; - -public final class Static185 { - - @OriginalMember(owner = "client!p", name = "e", descriptor = "I") - public static int anInt4370; - - @OriginalMember(owner = "client!hc", name = "a", descriptor = "(IIIILclient!th;Lclient!th;IIIIJ)V") - public static void method1880(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) Entity arg4, @OriginalArg(5) Entity arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) int arg8, @OriginalArg(9) int arg9, @OriginalArg(10) long arg10) { - if (arg4 == null) { - return; - } - @Pc(6) WallDecor local6 = new WallDecor(); - local6.key = arg10; - local6.anInt1390 = arg1 * 128 + 64; - local6.anInt1393 = arg2 * 128 + 64; - local6.anInt1391 = arg3; - local6.primary = arg4; - local6.secondary = arg5; - local6.anInt1395 = arg6; - local6.anInt1388 = arg7; - local6.anInt1394 = arg8; - local6.anInt1392 = arg9; - for (@Pc(46) int local46 = arg0; local46 >= 0; local46--) { - if (SceneGraph.tiles[local46][arg1][arg2] == null) { - SceneGraph.tiles[local46][arg1][arg2] = new Tile(local46, arg1, arg2); - } - } - SceneGraph.tiles[arg0][arg1][arg2].wallDecor = local6; - } -} diff --git a/client/src/main/java/rt4/Static217.java b/client/src/main/java/rt4/Static217.java index 6d391a2..c03ad6e 100644 --- a/client/src/main/java/rt4/Static217.java +++ b/client/src/main/java/rt4/Static217.java @@ -56,7 +56,7 @@ public final class Static217 { local154 = arg0[local159]; } } - LoginManager.method3397(arg1, !arg7, arg1, arg7, local154, local7, local68, local120, local137, local72 + arg4 & 0x3); + SceneGraph.method3397(arg1, !arg7, arg1, arg7, local154, local7, local68, local120, local137, local72 + arg4 & 0x3); } } } diff --git a/client/src/main/java/rt4/Static220.java b/client/src/main/java/rt4/Static220.java deleted file mode 100644 index 74f4933..0000000 --- a/client/src/main/java/rt4/Static220.java +++ /dev/null @@ -1,69 +0,0 @@ -package rt4; - -import org.openrs2.deob.annotation.OriginalArg; -import org.openrs2.deob.annotation.OriginalMember; -import org.openrs2.deob.annotation.Pc; - -public final class Static220 { - - @OriginalMember(owner = "client!rm", name = "c", descriptor = "I") - public static int anInt4941 = 1; - - @OriginalMember(owner = "client!rm", name = "i", descriptor = "Lclient!na;") - public static final JagString aClass100_930 = JagString.parse("(Z"); - - @OriginalMember(owner = "client!rm", name = "a", descriptor = "(IBI)V") - public static void spawnGroundObject(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) { - @Pc(9) LinkedList local9 = SceneGraph.objStacks[Player.level][arg1][arg0]; - if (local9 == null) { - method3420(Player.level, arg1, arg0); - return; - } - @Pc(28) int local28 = -99999999; - @Pc(30) ObjStackNode local30 = null; - @Pc(35) ObjStackNode local35; - for (local35 = (ObjStackNode) local9.head(); local35 != null; local35 = (ObjStackNode) local9.next()) { - @Pc(44) ObjType local44 = ObjTypeList.get(local35.value.type); - @Pc(47) int local47 = local44.cost; - if (local44.stackable == 1) { - local47 *= local35.value.anInt5550 + 1; - } - if (local28 < local47) { - local28 = local47; - local30 = local35; - } - } - if (local30 == null) { - method3420(Player.level, arg1, arg0); - return; - } - local9.addHead(local30); - @Pc(89) ObjStack local89 = null; - @Pc(91) ObjStack local91 = null; - for (local35 = (ObjStackNode) local9.head(); local35 != null; local35 = (ObjStackNode) local9.next()) { - @Pc(103) ObjStack local103 = local35.value; - if (local103.type != local30.value.type) { - if (local89 == null) { - local89 = local103; - } - if (local103.type != local89.type && local91 == null) { - local91 = local103; - } - } - } - @Pc(152) long local152 = (long) ((arg0 << 7) + arg1 + 1610612736); - Static69.method1543(Player.level, arg1, arg0, SceneGraph.getTileHeight(Player.level, arg1 * 128 + 64, arg0 * 128 + 64), local30.value, local152, local89, local91); - } - - @OriginalMember(owner = "client!pb", name = "b", descriptor = "(III)Lclient!jj;") - public static ObjStackEntity method3420(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) { - @Pc(7) Tile local7 = SceneGraph.tiles[arg0][arg1][arg2]; - if (local7 == null) { - return null; - } else { - @Pc(14) ObjStackEntity local14 = local7.aClass79_1; - local7.aClass79_1 = null; - return local14; - } - } -} diff --git a/client/src/main/java/rt4/Static241.java b/client/src/main/java/rt4/Static241.java index ff9fa29..f3afbf4 100644 --- a/client/src/main/java/rt4/Static241.java +++ b/client/src/main/java/rt4/Static241.java @@ -15,9 +15,6 @@ public final class Static241 { @OriginalMember(owner = "client!th", name = "i", descriptor = "[I") public static final int[] anIntArray520 = new int[14]; - @OriginalMember(owner = "client!th", name = "n", descriptor = "Z") - public static boolean aBoolean302 = false; - @OriginalMember(owner = "client!th", name = "a", descriptor = "(IIBIIII)I") public static int method4541(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5) { if ((arg4 & 0x1) == 1) { diff --git a/client/src/main/java/rt4/Static247.java b/client/src/main/java/rt4/Static247.java index 34b0410..cf84b5e 100644 --- a/client/src/main/java/rt4/Static247.java +++ b/client/src/main/java/rt4/Static247.java @@ -36,803 +36,7 @@ public final class Static247 { } } - @OriginalMember(owner = "client!ub", name = "a", descriptor = "(Lclient!bj;Z)V") - public static void method4245(@OriginalArg(0) Tile arg0, @OriginalArg(1) boolean arg1) { - Static7.aClass69_32.addTail(arg0); - while (true) { - @Pc(8) Tile local8; - @Pc(18) int local18; - @Pc(21) int local21; - @Pc(24) int local24; - @Pc(27) int local27; - @Pc(31) Tile[][] local31; - @Pc(65) int local65; - @Pc(115) int local115; - @Pc(894) int local894; - @Pc(899) int local899; - @Pc(904) int local904; - @Pc(153) Tile local153; - @Pc(1332) int local1332; - do { - do { - do { - do { - do { - do { - while (true) { - @Pc(44) int var9; - @Pc(48) int var10; - @Pc(907) int var17; - @Pc(916) int var18; - @Pc(363) Wall var22; - @Pc(469) boolean var24; - @Pc(425) Scenery var25; - @Pc(1179) Tile var32; - while (true) { - do { - local8 = (Tile) Static7.aClass69_32.removeHead(); - if (local8 == null) { - return; - } - } while (!local8.aBoolean46); - local18 = local8.anInt669; - local21 = local8.anInt666; - local24 = local8.anInt672; - local27 = local8.anInt668; - local31 = SceneGraph.tiles[local24]; - @Pc(33) float local33 = 0.0F; - if (GlRenderer.enabled) { - if (SceneGraph.underwaterTileHeights == SceneGraph.tileHeights) { - var9 = SceneGraph.anIntArrayArray11[local18][local21]; - var10 = var9 & 0xFFFFFF; - if (var10 != Static152.anInt3604) { - Static152.anInt3604 = var10; - WaterMaterialRenderer.method619(var10); - FogManager.method3066(WaterMaterialRenderer.method2422()); - } - local65 = var9 >>> 24 << 3; - if (local65 != anInt730) { - anInt730 = local65; - Static147.method2761(local65); - } - local115 = SceneGraph.surfaceTileHeights[0][local18][local21] + SceneGraph.surfaceTileHeights[0][local18 + 1][local21] + SceneGraph.surfaceTileHeights[0][local18][local21 + 1] + SceneGraph.surfaceTileHeights[0][local18 + 1][local21 + 1] >> 2; - MaterialManager.setMaterial(-local115, 3); - local33 = 201.5F; - GlRenderer.method4159(local33); - } else { - local33 = 201.5F - (float) (local27 + 1) * 50.0F; - GlRenderer.method4159(local33); - } - } - if (!local8.aBoolean45) { - break; - } - if (arg1) { - if (local24 > 0) { - local153 = SceneGraph.tiles[local24 - 1][local18][local21]; - if (local153 != null && local153.aBoolean46) { - continue; - } - } - if (local18 <= Static123.anInt4069 && local18 > LightingManager.anInt987) { - local153 = local31[local18 - 1][local21]; - if (local153 != null && local153.aBoolean46 && (local153.aBoolean45 || (local8.allInteriorFlags & 0x1) == 0)) { - continue; - } - } - if (local18 >= Static123.anInt4069 && local18 < LightingManager.anInt15 - 1) { - local153 = local31[local18 + 1][local21]; - if (local153 != null && local153.aBoolean46 && (local153.aBoolean45 || (local8.allInteriorFlags & 0x4) == 0)) { - continue; - } - } - if (local21 <= Static193.anInt4539 && local21 > LightingManager.anInt4698) { - local153 = local31[local18][local21 - 1]; - if (local153 != null && local153.aBoolean46 && (local153.aBoolean45 || (local8.allInteriorFlags & 0x8) == 0)) { - continue; - } - } - if (local21 >= Static193.anInt4539 && local21 < LightingManager.anInt4866 - 1) { - local153 = local31[local18][local21 + 1]; - if (local153 != null && local153.aBoolean46 && (local153.aBoolean45 || (local8.allInteriorFlags & 0x2) == 0)) { - continue; - } - } - } else { - arg1 = true; - } - local8.aBoolean45 = false; - if (local8.aClass3_Sub5_1 != null) { - local153 = local8.aClass3_Sub5_1; - if (GlRenderer.enabled) { - GlRenderer.method4159(201.5F - (float) (local153.anInt668 + 1) * 50.0F); - } - if (local153.plainTile == null) { - if (local153.shapedTile != null) { - if (Static9.method187(0, local18, local21)) { - Static147.method2762(local153.shapedTile, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local18, local21, true); - } else { - Static147.method2762(local153.shapedTile, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local18, local21, false); - } - } - } else if (Static9.method187(0, local18, local21)) { - method2610(local153.plainTile, 0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local18, local21, true); - } else { - method2610(local153.plainTile, 0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local18, local21, false); - } - var22 = local153.wall; - if (var22 != null) { - if (GlRenderer.enabled) { - if ((var22.anInt3049 & local8.anInt670) == 0) { - LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); - } else { - LightingManager.method2388(var22.anInt3049, Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local27, local18, local21); - } - } - var22.primary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, var22.xFine - Static123.anInt3555, var22.anInt3051 - Static123.anInt3947, var22.zFine - Static217.anInt4903, var22.key, local24, null); - } - for (local65 = 0; local65 < local153.sceneryLen; local65++) { - var25 = local153.scenery[local65]; - if (var25 != null) { - if (GlRenderer.enabled) { - LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); - } - var25.entity.render(var25.anInt1714, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, var25.anInt1699 - Static123.anInt3555, var25.anInt1706 - Static123.anInt3947, var25.anInt1703 - Static217.anInt4903, var25.key, local24, null); - } - } - if (GlRenderer.enabled) { - GlRenderer.method4159(local33); - } - } - var24 = false; - if (local8.plainTile == null) { - if (local8.shapedTile != null) { - if (Static9.method187(local27, local18, local21)) { - Static147.method2762(local8.shapedTile, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local18, local21, true); - } else { - var24 = true; - Static147.method2762(local8.shapedTile, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local18, local21, false); - } - } - } else if (Static9.method187(local27, local18, local21)) { - method2610(local8.plainTile, local27, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local18, local21, true); - } else { - var24 = true; - if (local8.plainTile.anInt4865 != 12345678 || MiniMenu.aBoolean187 && local24 <= MiniMenu.anInt3902) { - method2610(local8.plainTile, local27, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local18, local21, false); - } - } - if (var24) { - @Pc(549) GroundDecor local549 = local8.groundDecor; - if (local549 != null && (local549.key & 0x80000000L) != 0L) { - if (GlRenderer.enabled && local549.aBoolean49) { - GlRenderer.method4159(local33 + 50.0F - 1.5F); - } - if (GlRenderer.enabled) { - LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); - } - local549.entity.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local549.xFine - Static123.anInt3555, local549.anInt733 - Static123.anInt3947, local549.zFine - Static217.anInt4903, local549.key, local24, null); - if (GlRenderer.enabled && local549.aBoolean49) { - GlRenderer.method4159(local33); - } - } - } - var10 = 0; - local65 = 0; - @Pc(616) Wall local616 = local8.wall; - @Pc(619) WallDecor local619 = local8.wallDecor; - if (local616 != null || local619 != null) { - if (Static123.anInt4069 == local18) { - var10++; - } else if (Static123.anInt4069 < local18) { - var10 += 2; - } - if (Static193.anInt4539 == local21) { - var10 += 3; - } else if (Static193.anInt4539 > local21) { - var10 += 6; - } - local65 = anIntArray324[var10]; - local8.anInt670 = Static191.anIntArray386[var10]; - } - if (local616 != null) { - if ((local616.anInt3049 & anIntArray215[var10]) == 0) { - local8.anInt663 = 0; - } else if (local616.anInt3049 == 16) { - local8.anInt663 = 3; - local8.anInt665 = anIntArray294[var10]; - local8.anInt667 = 3 - local8.anInt665; - } else if (local616.anInt3049 == 32) { - local8.anInt663 = 6; - local8.anInt665 = anIntArray489[var10]; - local8.anInt667 = 6 - local8.anInt665; - } else if (local616.anInt3049 == 64) { - local8.anInt663 = 12; - local8.anInt665 = anIntArray211[var10]; - local8.anInt667 = 12 - local8.anInt665; - } else { - local8.anInt663 = 9; - local8.anInt665 = anIntArray307[var10]; - local8.anInt667 = 9 - local8.anInt665; - } - if ((local616.anInt3049 & local65) != 0 && !method3850(local27, local18, local21, local616.anInt3049)) { - if (GlRenderer.enabled) { - LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); - } - local616.primary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local616.xFine - Static123.anInt3555, local616.anInt3051 - Static123.anInt3947, local616.zFine - Static217.anInt4903, local616.key, local24, null); - } - if ((local616.anInt3052 & local65) != 0 && !method3850(local27, local18, local21, local616.anInt3052)) { - if (GlRenderer.enabled) { - LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); - } - local616.secondary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local616.xFine - Static123.anInt3555, local616.anInt3051 - Static123.anInt3947, local616.zFine - Static217.anInt4903, local616.key, local24, null); - } - } - if (local619 != null && !method4611(local27, local18, local21, local619.primary.getMinY())) { - if (GlRenderer.enabled) { - GlRenderer.method4159(local33 - 0.5F); - } - if ((local619.anInt1395 & local65) != 0) { - if (GlRenderer.enabled) { - LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); - } - local619.primary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local619.anInt1390 + local619.anInt1394 - Static123.anInt3555, local619.anInt1391 - Static123.anInt3947, local619.anInt1393 + local619.anInt1392 - Static217.anInt4903, local619.key, local24, null); - } else if (local619.anInt1395 == 256) { - local894 = local619.anInt1390 - Static123.anInt3555; - local899 = local619.anInt1391 - Static123.anInt3947; - local904 = local619.anInt1393 - Static217.anInt4903; - var17 = local619.anInt1388; - if (var17 == 1 || var17 == 2) { - var18 = -local894; - } else { - var18 = local894; - } - @Pc(928) int local928; - if (var17 == 2 || var17 == 3) { - local928 = -local904; - } else { - local928 = local904; - } - if (local928 < var18) { - if (GlRenderer.enabled) { - LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); - } - local619.primary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local894 + local619.anInt1394, local899, local904 + local619.anInt1392, local619.key, local24, null); - } else if (local619.secondary != null) { - if (GlRenderer.enabled) { - LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); - } - local619.secondary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local894, local899, local904, local619.key, local24, null); - } - } - if (GlRenderer.enabled) { - GlRenderer.method4159(local33); - } - } - if (var24) { - @Pc(1001) GroundDecor local1001 = local8.groundDecor; - if (local1001 != null && (local1001.key & 0x80000000L) == 0L) { - if (GlRenderer.enabled && local1001.aBoolean49) { - GlRenderer.method4159(local33 + 50.0F - 1.5F); - } - if (GlRenderer.enabled) { - LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); - } - local1001.entity.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local1001.xFine - Static123.anInt3555, local1001.anInt733 - Static123.anInt3947, local1001.zFine - Static217.anInt4903, local1001.key, local24, null); - if (GlRenderer.enabled && local1001.aBoolean49) { - GlRenderer.method4159(local33); - } - } - @Pc(1064) ObjStackEntity local1064 = local8.aClass79_1; - if (local1064 != null && local1064.anInt3063 == 0) { - if (GlRenderer.enabled) { - LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); - } - if (local1064.aClass8_7 != null) { - local1064.aClass8_7.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local1064.anInt3064 - Static123.anInt3555, local1064.anInt3057 - Static123.anInt3947, local1064.anInt3061 - Static217.anInt4903, local1064.aLong108, local24, null); - } - if (local1064.aClass8_8 != null) { - local1064.aClass8_8.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local1064.anInt3064 - Static123.anInt3555, local1064.anInt3057 - Static123.anInt3947, local1064.anInt3061 - Static217.anInt4903, local1064.aLong108, local24, null); - } - if (local1064.aClass8_9 != null) { - local1064.aClass8_9.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local1064.anInt3064 - Static123.anInt3555, local1064.anInt3057 - Static123.anInt3947, local1064.anInt3061 - Static217.anInt4903, local1064.aLong108, local24, null); - } - } - } - local894 = local8.allInteriorFlags; - if (local894 != 0) { - if (local18 < Static123.anInt4069 && (local894 & 0x4) != 0) { - var32 = local31[local18 + 1][local21]; - if (var32 != null && var32.aBoolean46) { - Static7.aClass69_32.addTail(var32); - } - } - if (local21 < Static193.anInt4539 && (local894 & 0x2) != 0) { - var32 = local31[local18][local21 + 1]; - if (var32 != null && var32.aBoolean46) { - Static7.aClass69_32.addTail(var32); - } - } - if (local18 > Static123.anInt4069 && (local894 & 0x1) != 0) { - var32 = local31[local18 - 1][local21]; - if (var32 != null && var32.aBoolean46) { - Static7.aClass69_32.addTail(var32); - } - } - if (local21 > Static193.anInt4539 && (local894 & 0x8) != 0) { - var32 = local31[local18][local21 - 1]; - if (var32 != null && var32.aBoolean46) { - Static7.aClass69_32.addTail(var32); - } - } - } - break; - } - if (local8.anInt663 != 0) { - var24 = true; - for (var10 = 0; var10 < local8.sceneryLen; var10++) { - if (local8.scenery[var10].anInt1707 != Static156.anInt437 && (local8.interiorFlags[var10] & local8.anInt663) == local8.anInt665) { - var24 = false; - break; - } - } - if (var24) { - var22 = local8.wall; - if (!method3850(local27, local18, local21, var22.anInt3049)) { - if (GlRenderer.enabled) { - label882: { - if ((var22.key & 0xFC000L) == 16384L) { - local65 = var22.xFine - Static123.anInt3555; - local115 = var22.zFine - Static217.anInt4903; - local1332 = (int) (var22.key >> 20 & 0x3L); - if (local1332 == 0) { - local65 -= 64; - local115 += 64; - if (local115 < local65 && local18 > 0 && local21 < SceneGraph.length - 1) { - LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18 - 1, local21 + 1); - break label882; - } - } else if (local1332 == 1) { - local65 += 64; - local115 += 64; - if (local115 < -local65 && local18 < SceneGraph.width - 1 && local21 < SceneGraph.length - 1) { - LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18 + 1, local21 + 1); - break label882; - } - } else if (local1332 == 2) { - local65 += 64; - local115 -= 64; - if (local115 > local65 && local18 < SceneGraph.width - 1 && local21 > 0) { - LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18 + 1, local21 - 1); - break label882; - } - } else if (local1332 == 3) { - local65 -= 64; - local115 -= 64; - if (local115 > -local65 && local18 > 0 && local21 > 0) { - LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18 - 1, local21 - 1); - break label882; - } - } - } - LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); - } - } - var22.primary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, var22.xFine - Static123.anInt3555, var22.anInt3051 - Static123.anInt3947, var22.zFine - Static217.anInt4903, var22.key, local24, null); - } - local8.anInt663 = 0; - } - } - if (!local8.aBoolean47) { - break; - } - try { - var9 = local8.sceneryLen; - local8.aBoolean47 = false; - var10 = 0; - label767: for (local65 = 0; local65 < var9; local65++) { - var25 = local8.scenery[local65]; - if (var25.anInt1707 != Static156.anInt437) { - for (local1332 = var25.xMin; local1332 <= var25.xMax; local1332++) { - for (local894 = var25.zMin; local894 <= var25.zMax; local894++) { - var32 = local31[local1332][local894]; - if (var32.aBoolean45) { - local8.aBoolean47 = true; - continue label767; - } - if (var32.anInt663 != 0) { - local904 = 0; - if (local1332 > var25.xMin) { - local904++; - } - if (local1332 < var25.xMax) { - local904 += 4; - } - if (local894 > var25.zMin) { - local904 += 8; - } - if (local894 < var25.zMax) { - local904 += 2; - } - if ((local904 & var32.anInt663) == local8.anInt667) { - local8.aBoolean47 = true; - continue label767; - } - } - } - } - SceneGraph.aClass31Array2[var10++] = var25; - local1332 = Static123.anInt4069 - var25.xMin; - local894 = var25.xMax - Static123.anInt4069; - if (local894 > local1332) { - local1332 = local894; - } - local899 = Static193.anInt4539 - var25.zMin; - local904 = var25.zMax - Static193.anInt4539; - if (local904 > local899) { - var25.anInt1705 = local1332 + local904; - } else { - var25.anInt1705 = local1332 + local899; - } - } - } - while (var10 > 0) { - local65 = -50; - local115 = -1; - for (local1332 = 0; local1332 < var10; local1332++) { - @Pc(1628) Scenery local1628 = SceneGraph.aClass31Array2[local1332]; - if (local1628.anInt1707 != Static156.anInt437) { - if (local1628.anInt1705 > local65) { - local65 = local1628.anInt1705; - local115 = local1332; - } else if (local1628.anInt1705 == local65) { - local899 = local1628.anInt1699 - Static123.anInt3555; - local904 = local1628.anInt1703 - Static217.anInt4903; - var17 = SceneGraph.aClass31Array2[local115].anInt1699 - Static123.anInt3555; - var18 = SceneGraph.aClass31Array2[local115].anInt1703 - Static217.anInt4903; - if (local899 * local899 + local904 * local904 > var17 * var17 + var18 * var18) { - local115 = local1332; - } - } - } - } - if (local115 == -1) { - break; - } - @Pc(1697) Scenery local1697 = SceneGraph.aClass31Array2[local115]; - local1697.anInt1707 = Static156.anInt437; - 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); - local894 = local1697.anInt1699 - Static123.anInt3555; - local899 = local1697.anInt1703 - Static217.anInt4903; - local904 = (int) (local1697.key >> 20 & 0x3L); - if (local904 == 1 || local904 == 3) { - if (local899 > -local894) { - LightingManager.method2397(local24, local18, local21 - 1, local18 - 1, local21); - } else { - LightingManager.method2397(local24, local18, local21 + 1, local18 + 1, local21); - } - } else if (local899 > local894) { - LightingManager.method2397(local24, local18, local21 - 1, local18 + 1, local21); - } else { - LightingManager.method2397(local24, local18, local21 + 1, local18 - 1, local21); - } - } else { - LightingManager.method2391(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local1697.xMin, local1697.zMin, local1697.xMax, local1697.zMax); - } - } - local1697.entity.render(local1697.anInt1714, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local1697.anInt1699 - Static123.anInt3555, local1697.anInt1706 - Static123.anInt3947, local1697.anInt1703 - Static217.anInt4903, local1697.key, local24, null); - } - for (local894 = local1697.xMin; local894 <= local1697.xMax; local894++) { - for (local899 = local1697.zMin; local899 <= local1697.zMax; local899++) { - @Pc(1863) Tile local1863 = local31[local894][local899]; - if (local1863.anInt663 != 0) { - Static7.aClass69_32.addTail(local1863); - } else if ((local894 != local18 || local899 != local21) && local1863.aBoolean46) { - Static7.aClass69_32.addTail(local1863); - } - } - } - } - if (!local8.aBoolean47) { - break; - } - } catch (@Pc(1895) Exception local1895) { - local8.aBoolean47 = false; - break; - } - } - } while (!local8.aBoolean46); - } while (local8.anInt663 != 0); - if (local18 > Static123.anInt4069 || local18 <= LightingManager.anInt987) { - break; - } - local153 = local31[local18 - 1][local21]; - } while (local153 != null && local153.aBoolean46); - if (local18 < Static123.anInt4069 || local18 >= LightingManager.anInt15 - 1) { - break; - } - local153 = local31[local18 + 1][local21]; - } while (local153 != null && local153.aBoolean46); - if (local21 > Static193.anInt4539 || local21 <= LightingManager.anInt4698) { - break; - } - local153 = local31[local18][local21 - 1]; - } while (local153 != null && local153.aBoolean46); - if (local21 < Static193.anInt4539 || local21 >= LightingManager.anInt4866 - 1) { - break; - } - local153 = local31[local18][local21 + 1]; - } while (local153 != null && local153.aBoolean46); - local8.aBoolean46 = false; - Static156.anInt1142--; - @Pc(1999) ObjStackEntity local1999 = local8.aClass79_1; - if (local1999 != null && local1999.anInt3063 != 0) { - if (GlRenderer.enabled) { - LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); - } - if (local1999.aClass8_7 != null) { - local1999.aClass8_7.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local1999.anInt3064 - Static123.anInt3555, local1999.anInt3057 - Static123.anInt3947 - local1999.anInt3063, local1999.anInt3061 - Static217.anInt4903, local1999.aLong108, local24, null); - } - if (local1999.aClass8_8 != null) { - local1999.aClass8_8.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local1999.anInt3064 - Static123.anInt3555, local1999.anInt3057 - Static123.anInt3947 - local1999.anInt3063, local1999.anInt3061 - Static217.anInt4903, local1999.aLong108, local24, null); - } - if (local1999.aClass8_9 != null) { - local1999.aClass8_9.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local1999.anInt3064 - Static123.anInt3555, local1999.anInt3057 - Static123.anInt3947 - local1999.anInt3063, local1999.anInt3061 - Static217.anInt4903, local1999.aLong108, local24, null); - } - } - if (local8.anInt670 != 0) { - @Pc(2109) WallDecor local2109 = local8.wallDecor; - if (local2109 != null && !method4611(local27, local18, local21, local2109.primary.getMinY())) { - if ((local2109.anInt1395 & local8.anInt670) != 0) { - if (GlRenderer.enabled) { - LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); - } - local2109.primary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local2109.anInt1390 + local2109.anInt1394 - Static123.anInt3555, local2109.anInt1391 - Static123.anInt3947, local2109.anInt1393 + local2109.anInt1392 - Static217.anInt4903, local2109.key, local24, null); - } else if (local2109.anInt1395 == 256) { - local65 = local2109.anInt1390 - Static123.anInt3555; - local115 = local2109.anInt1391 - Static123.anInt3947; - local1332 = local2109.anInt1393 - Static217.anInt4903; - local894 = local2109.anInt1388; - if (local894 == 1 || local894 == 2) { - local899 = -local65; - } else { - local899 = local65; - } - if (local894 == 2 || local894 == 3) { - local904 = -local1332; - } else { - local904 = local1332; - } - if (local904 >= local899) { - if (GlRenderer.enabled) { - LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); - } - local2109.primary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local65 + local2109.anInt1394, local115, local1332 + local2109.anInt1392, local2109.key, local24, null); - } else if (local2109.secondary != null) { - if (GlRenderer.enabled) { - LightingManager.method2393(Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local24, local18, local21); - } - local2109.secondary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local65, local115, local1332, local2109.key, local24, null); - } - } - } - @Pc(2275) Wall local2275 = local8.wall; - if (local2275 != null) { - if ((local2275.anInt3052 & local8.anInt670) != 0 && !method3850(local27, local18, local21, local2275.anInt3052)) { - if (GlRenderer.enabled) { - LightingManager.method2388(local2275.anInt3052, Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local27, local18, local21); - } - local2275.secondary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local2275.xFine - Static123.anInt3555, local2275.anInt3051 - Static123.anInt3947, local2275.zFine - Static217.anInt4903, local2275.key, local24, null); - } - if ((local2275.anInt3049 & local8.anInt670) != 0 && !method3850(local27, local18, local21, local2275.anInt3049)) { - if (GlRenderer.enabled) { - LightingManager.method2388(local2275.anInt3049, Static123.anInt3555, Static123.anInt3947, Static217.anInt4903, local27, local18, local21); - } - local2275.primary.render(0, Static160.anInt2886, Static121.anInt3038, Static231.anInt5205, Static81.anInt2222, local2275.xFine - Static123.anInt3555, local2275.anInt3051 - Static123.anInt3947, local2275.zFine - Static217.anInt4903, local2275.key, local24, null); - } - } - } - @Pc(2388) Tile local2388; - if (local24 < SceneGraph.levels - 1) { - local2388 = SceneGraph.tiles[local24 + 1][local18][local21]; - if (local2388 != null && local2388.aBoolean46) { - Static7.aClass69_32.addTail(local2388); - } - } - if (local18 < Static123.anInt4069) { - local2388 = local31[local18 + 1][local21]; - if (local2388 != null && local2388.aBoolean46) { - Static7.aClass69_32.addTail(local2388); - } - } - if (local21 < Static193.anInt4539) { - local2388 = local31[local18][local21 + 1]; - if (local2388 != null && local2388.aBoolean46) { - Static7.aClass69_32.addTail(local2388); - } - } - if (local18 > Static123.anInt4069) { - local2388 = local31[local18 - 1][local21]; - if (local2388 != null && local2388.aBoolean46) { - Static7.aClass69_32.addTail(local2388); - } - } - if (local21 > Static193.anInt4539) { - local2388 = local31[local18][local21 - 1]; - if (local2388 != null && local2388.aBoolean46) { - Static7.aClass69_32.addTail(local2388); - } - } - } - } - - @OriginalMember(owner = "client!ub", name = "b", descriptor = "(IIIIIII)V") - public static void method4246(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(6) int arg5) { - @Pc(8) Component local8 = InterfaceList.method1418(arg0, arg1); - if (local8 != null && local8.onUse != null) { - @Pc(19) HookRequest local19 = new HookRequest(); - local19.source = local8; - local19.arguments = local8.onUse; - ScriptRunner.run(local19); - } - MiniMenu.anInt506 = arg1; - Static121.anInt3039 = arg3; - MiniMenu.anInt2512 = arg0; - MiniMenu.anInt4999 = arg2; - Static241.aBoolean302 = true; - MiniMenu.anInt5393 = arg4; - MiniMenu.anInt1092 = arg5; - InterfaceList.redraw(local8); - } - - @OriginalMember(owner = "client!ub", name = "a", descriptor = "(IB)I") - public static int method4247(@OriginalArg(0) int arg0) { - return arg0 & 0xFF; - } - - @OriginalMember(owner = "client!wh", name = "a", descriptor = "(IIII)Z") - public static boolean method4611(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) { - if (Static9.method187(arg0, arg1, arg2)) { - @Pc(10) int local10 = arg1 << 7; - @Pc(14) int local14 = arg2 << 7; - return SceneGraph.method4394(local10 + 1, SceneGraph.tileHeights[arg0][arg1][arg2] + arg3, local14 + 1) && SceneGraph.method4394(local10 + 128 - 1, SceneGraph.tileHeights[arg0][arg1 + 1][arg2] + arg3, local14 + 1) && SceneGraph.method4394(local10 + 128 - 1, SceneGraph.tileHeights[arg0][arg1 + 1][arg2 + 1] + arg3, local14 + 128 - 1) && SceneGraph.method4394(local10 + 1, SceneGraph.tileHeights[arg0][arg1][arg2 + 1] + arg3, local14 + 128 - 1); - } else { - return false; - } - } - - @OriginalMember(owner = "client!vd", name = "b", descriptor = "(IIII)Z") - public static boolean method3850(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) { - if (!Static9.method187(arg0, arg1, arg2)) { - return false; - } - @Pc(10) int local10 = arg1 << 7; - @Pc(14) int local14 = arg2 << 7; - @Pc(24) int local24 = SceneGraph.tileHeights[arg0][arg1][arg2] - 1; - @Pc(28) int local28 = local24 - 120; - @Pc(32) int local32 = local24 - 230; - @Pc(36) int local36 = local24 - 238; - if (arg3 < 16) { - if (arg3 == 1) { - if (local10 > Static123.anInt3555) { - if (!SceneGraph.method4394(local10, local24, local14)) { - return false; - } - if (!SceneGraph.method4394(local10, local24, local14 + 128)) { - return false; - } - } - if (arg0 > 0) { - if (!SceneGraph.method4394(local10, local28, local14)) { - return false; - } - if (!SceneGraph.method4394(local10, local28, local14 + 128)) { - return false; - } - } - if (!SceneGraph.method4394(local10, local32, local14)) { - return false; - } - if (!SceneGraph.method4394(local10, local32, local14 + 128)) { - return false; - } - return true; - } - if (arg3 == 2) { - if (local14 < Static217.anInt4903) { - if (!SceneGraph.method4394(local10, local24, local14 + 128)) { - return false; - } - if (!SceneGraph.method4394(local10 + 128, local24, local14 + 128)) { - return false; - } - } - if (arg0 > 0) { - if (!SceneGraph.method4394(local10, local28, local14 + 128)) { - return false; - } - if (!SceneGraph.method4394(local10 + 128, local28, local14 + 128)) { - return false; - } - } - if (!SceneGraph.method4394(local10, local32, local14 + 128)) { - return false; - } - if (!SceneGraph.method4394(local10 + 128, local32, local14 + 128)) { - return false; - } - return true; - } - if (arg3 == 4) { - if (local10 < Static123.anInt3555) { - if (!SceneGraph.method4394(local10 + 128, local24, local14)) { - return false; - } - if (!SceneGraph.method4394(local10 + 128, local24, local14 + 128)) { - return false; - } - } - if (arg0 > 0) { - if (!SceneGraph.method4394(local10 + 128, local28, local14)) { - return false; - } - if (!SceneGraph.method4394(local10 + 128, local28, local14 + 128)) { - return false; - } - } - if (!SceneGraph.method4394(local10 + 128, local32, local14)) { - return false; - } - if (!SceneGraph.method4394(local10 + 128, local32, local14 + 128)) { - return false; - } - return true; - } - if (arg3 == 8) { - if (local14 > Static217.anInt4903) { - if (!SceneGraph.method4394(local10, local24, local14)) { - return false; - } - if (!SceneGraph.method4394(local10 + 128, local24, local14)) { - return false; - } - } - if (arg0 > 0) { - if (!SceneGraph.method4394(local10, local28, local14)) { - return false; - } - if (!SceneGraph.method4394(local10 + 128, local28, local14)) { - return false; - } - } - if (!SceneGraph.method4394(local10, local32, local14)) { - return false; - } - if (!SceneGraph.method4394(local10 + 128, local32, local14)) { - return false; - } - return true; - } - } - if (!SceneGraph.method4394(local10 + 64, local36, local14 + 64)) { - return false; - } else if (arg3 == 16) { - return SceneGraph.method4394(local10, local32, local14 + 128); - } else if (arg3 == 32) { - return SceneGraph.method4394(local10 + 128, local32, local14 + 128); - } else if (arg3 == 64) { - return SceneGraph.method4394(local10 + 128, local32, local14); - } else if (arg3 == 128) { - return SceneGraph.method4394(local10, local32, local14); - } else { - return true; - } - } - - @OriginalMember(owner = "client!ke", name = "a", descriptor = "(Lclient!rh;IIIIIIIZ)V") + @OriginalMember(owner = "client!ke", name = "a", descriptor = "(Lclient!rh;IIIIIIIZ)V") public static void method2610(@OriginalArg(0) PlainTile arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) boolean arg8) { @Pc(6) int local6; @Pc(7) int local7 = local6 = (arg6 << 7) - Static123.anInt3555; diff --git a/client/src/main/java/rt4/Static252.java b/client/src/main/java/rt4/Static252.java index 405ce1b..bce98f4 100644 --- a/client/src/main/java/rt4/Static252.java +++ b/client/src/main/java/rt4/Static252.java @@ -34,7 +34,7 @@ public final class Static252 { } if (Camera.cameraType != 1) { local33 = SceneGraph.getTileHeight(Player.level, Camera.renderX, Camera.renderZ); - if (local33 - Static5.anInt40 < 800 && (SceneGraph.tileFlags[Player.level][Camera.renderX >> 7][Camera.renderZ >> 7] & 0x4) != 0) { + if (local33 - Camera.anInt40 < 800 && (SceneGraph.tileFlags[Player.level][Camera.renderX >> 7][Camera.renderZ >> 7] & 0x4) != 0) { ScriptRunner.method4348(false, Camera.renderX >> 7, Camera.renderZ >> 7, SceneGraph.tiles, 1); } return; diff --git a/client/src/main/java/rt4/Static264.java b/client/src/main/java/rt4/Static264.java deleted file mode 100644 index f1c3fff..0000000 --- a/client/src/main/java/rt4/Static264.java +++ /dev/null @@ -1,51 +0,0 @@ -package rt4; - -import org.openrs2.deob.annotation.OriginalArg; -import org.openrs2.deob.annotation.OriginalMember; -import org.openrs2.deob.annotation.Pc; - -public final class Static264 { - - @OriginalMember(owner = "client!vh", name = "p", descriptor = "[I") - public static final int[] anIntArray412 = new int[] { 1, 0, 0, 0, 1, 0, 2, 1, 1, 1, 0, 2, 0, 0, 1, 0 }; - - @OriginalMember(owner = "client!vh", name = "s", descriptor = "I") - public static int mouseRecorderPrevX = 0; - - @OriginalMember(owner = "client!vh", name = "a", descriptor = "(ILclient!wa;)Lclient!bd;") - public static QuickChatPhrase method3568(@OriginalArg(1) Buffer arg0) { - @Pc(3) QuickChatPhrase local3 = new QuickChatPhrase(); - local3.id = arg0.g2(); - local3.type = QuickChatPhraseTypeList.get(local3.id); - return local3; - } - - @OriginalMember(owner = "client!vh", name = "a", descriptor = "(Lclient!th;III)V") - public static void method3574(@OriginalArg(0) Entity arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) { - @Pc(12) Tile local12; - if (arg2 < SceneGraph.width) { - local12 = SceneGraph.tiles[arg1][arg2 + 1][arg3]; - if (local12 != null && local12.groundDecor != null && local12.groundDecor.entity.method4543()) { - arg0.method4544(local12.groundDecor.entity, 128, 0, 0, true); - } - } - if (arg3 < SceneGraph.width) { - local12 = SceneGraph.tiles[arg1][arg2][arg3 + 1]; - if (local12 != null && local12.groundDecor != null && local12.groundDecor.entity.method4543()) { - arg0.method4544(local12.groundDecor.entity, 0, 0, 128, true); - } - } - if (arg2 < SceneGraph.width && arg3 < SceneGraph.length) { - local12 = SceneGraph.tiles[arg1][arg2 + 1][arg3 + 1]; - if (local12 != null && local12.groundDecor != null && local12.groundDecor.entity.method4543()) { - arg0.method4544(local12.groundDecor.entity, 128, 0, 128, true); - } - } - if (arg2 < SceneGraph.width && arg3 > 0) { - local12 = SceneGraph.tiles[arg1][arg2 + 1][arg3 - 1]; - if (local12 != null && local12.groundDecor != null && local12.groundDecor.entity.method4543()) { - arg0.method4544(local12.groundDecor.entity, 128, 0, -128, true); - } - } - } -} diff --git a/client/src/main/java/rt4/Static49.java b/client/src/main/java/rt4/Static49.java index ed82110..c6cc084 100644 --- a/client/src/main/java/rt4/Static49.java +++ b/client/src/main/java/rt4/Static49.java @@ -99,7 +99,7 @@ public final class Static49 { @OriginalMember(owner = "client!dm", name = "a", descriptor = "(Lclient!be;III)V") public static void method1207(@OriginalArg(0) Component arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2) { - if (MiniMenu.size < 2 && MiniMenu.anInt5014 == 0 && !Static241.aBoolean302) { + if (MiniMenu.size < 2 && MiniMenu.anInt5014 == 0 && !MiniMenu.aBoolean302) { return; } @Pc(24) JagString local24 = MiniMenu.method471(); diff --git a/client/src/main/java/rt4/Static5.java b/client/src/main/java/rt4/Static5.java index f4b38e8..0abf552 100644 --- a/client/src/main/java/rt4/Static5.java +++ b/client/src/main/java/rt4/Static5.java @@ -6,9 +6,6 @@ import org.openrs2.deob.annotation.Pc; public final class Static5 { - @OriginalMember(owner = "client!af", name = "d", descriptor = "I") - public static int anInt40; - @OriginalMember(owner = "client!af", name = "l", descriptor = "[S") public static final short[] aShortArray2 = new short[] { 30, 6, 31, 29, 10, 44, 37, 57 }; diff --git a/client/src/main/java/rt4/Static69.java b/client/src/main/java/rt4/Static69.java index 20eceae..96f5b33 100644 --- a/client/src/main/java/rt4/Static69.java +++ b/client/src/main/java/rt4/Static69.java @@ -24,80 +24,6 @@ public final class Static69 { } } - @OriginalMember(owner = "client!fh", name = "a", descriptor = "(IIIILclient!th;JLclient!th;Lclient!th;)V") - public static void method1543(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) Entity arg4, @OriginalArg(5) long arg5, @OriginalArg(6) Entity arg6, @OriginalArg(7) Entity arg7) { - @Pc(3) ObjStackEntity local3 = new ObjStackEntity(); - local3.aClass8_9 = arg4; - local3.anInt3064 = arg1 * 128 + 64; - local3.anInt3061 = arg2 * 128 + 64; - local3.anInt3057 = arg3; - local3.aLong108 = arg5; - local3.aClass8_7 = arg6; - local3.aClass8_8 = arg7; - @Pc(34) int local34 = 0; - @Pc(42) Tile local42 = SceneGraph.tiles[arg0][arg1][arg2]; - if (local42 != null) { - for (@Pc(46) int local46 = 0; local46 < local42.sceneryLen; local46++) { - @Pc(55) Scenery local55 = local42.scenery[local46]; - if ((local55.key & 0x400000L) == 4194304L) { - @Pc(66) int local66 = local55.entity.getMinY(); - if (local66 != -32768 && local66 < local34) { - local34 = local66; - } - } - } - } - local3.anInt3063 = -local34; - if (SceneGraph.tiles[arg0][arg1][arg2] == null) { - SceneGraph.tiles[arg0][arg1][arg2] = new Tile(arg0, arg1, arg2); - } - SceneGraph.tiles[arg0][arg1][arg2].aClass79_1 = local3; - } - - @OriginalMember(owner = "client!fh", name = "a", descriptor = "(Lclient!th;IIIII)V") - public static void method1544(@OriginalArg(0) Entity arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5) { - @Pc(1) boolean local1 = true; - @Pc(3) int local3 = arg2; - @Pc(7) int local7 = arg2 + arg4; - @Pc(11) int local11 = arg3 - 1; - @Pc(15) int local15 = arg3 + arg5; - for (@Pc(17) int local17 = arg1; local17 <= arg1 + 1; local17++) { - if (local17 != SceneGraph.levels) { - for (@Pc(28) int local28 = local3; local28 <= local7; local28++) { - if (local28 >= 0 && local28 < SceneGraph.width) { - for (@Pc(39) int local39 = local11; local39 <= local15; local39++) { - if (local39 >= 0 && local39 < SceneGraph.length && (!local1 || local28 >= local7 || local39 >= local15 || local39 < arg3 && local28 != arg2)) { - @Pc(71) Tile local71 = SceneGraph.tiles[local17][local28][local39]; - if (local71 != null) { - @Pc(158) int local158 = (SceneGraph.tileHeights[local17][local28][local39] + SceneGraph.tileHeights[local17][local28 + 1][local39] + SceneGraph.tileHeights[local17][local28][local39 + 1] + SceneGraph.tileHeights[local17][local28 + 1][local39 + 1]) / 4 - (SceneGraph.tileHeights[arg1][arg2][arg3] + SceneGraph.tileHeights[arg1][arg2 + 1][arg3] + SceneGraph.tileHeights[arg1][arg2][arg3 + 1] + SceneGraph.tileHeights[arg1][arg2 + 1][arg3 + 1]) / 4; - @Pc(161) Wall local161 = local71.wall; - if (local161 != null) { - if (local161.primary.method4543()) { - arg0.method4544(local161.primary, (local28 - arg2) * 128 + (1 - arg4) * 64, local158, (local39 - arg3) * 128 + (1 - arg5) * 64, local1); - } - if (local161.secondary != null && local161.secondary.method4543()) { - arg0.method4544(local161.secondary, (local28 - arg2) * 128 + (1 - arg4) * 64, local158, (local39 - arg3) * 128 + (1 - arg5) * 64, local1); - } - } - for (@Pc(232) int local232 = 0; local232 < local71.sceneryLen; local232++) { - @Pc(241) Scenery local241 = local71.scenery[local232]; - if (local241 != null && local241.entity.method4543() && (local28 == local241.xMin || local28 == local3) && (local39 == local241.zMin || local39 == local11)) { - @Pc(270) int local270 = local241.xMax + 1 - local241.xMin; - @Pc(278) int local278 = local241.zMax + 1 - local241.zMin; - arg0.method4544(local241.entity, (local241.xMin - arg2) * 128 + (local270 - arg4) * 64, local158, (local241.zMin - arg3) * 128 + (local278 - arg5) * 64, local1); - } - } - } - } - } - } - } - local3--; - local1 = false; - } - } - } - @OriginalMember(owner = "client!fh", name = "a", descriptor = "(BLclient!ek;)V") public static void method1545(@OriginalArg(1) SoftwareIndexedSprite arg0) { @Pc(5) int local5; diff --git a/client/src/main/java/rt4/Static79.java b/client/src/main/java/rt4/Static79.java index 901a18c..da814b4 100644 --- a/client/src/main/java/rt4/Static79.java +++ b/client/src/main/java/rt4/Static79.java @@ -29,7 +29,7 @@ public final class Static79 { if (arg0 >= 0) { @Pc(92) boolean local92 = Preferences.showGroundDecorations; Preferences.showGroundDecorations = true; - LoginManager.method3397(local39, false, arg2, false, PathFinder.collisionMaps[arg2], arg0, arg5, arg1, arg4, arg3); + SceneGraph.method3397(local39, false, arg2, false, PathFinder.collisionMaps[arg2], arg0, arg5, arg1, arg4, arg3); Preferences.showGroundDecorations = local92; } } diff --git a/client/src/main/java/rt4/Static87.java b/client/src/main/java/rt4/Static87.java index 8dc667d..d818b61 100644 --- a/client/src/main/java/rt4/Static87.java +++ b/client/src/main/java/rt4/Static87.java @@ -244,7 +244,7 @@ public final class Static87 { local556 = local276 * color + local270 * cardMemory >> 11; local563 = PlayerList.self.xFine + local556 >> 7; local571 = PlayerList.self.zFine - objId >> 7; - if (Static241.aBoolean302 && (MiniMenu.anInt4999 & 0x40) != 0) { + if (MiniMenu.aBoolean302 && (MiniMenu.anInt4999 & 0x40) != 0) { @Pc(583) Component local583 = InterfaceList.method1418(MiniMenu.anInt2512, MiniMenu.anInt506); if (local583 == null) { MiniMenu.method1294(); @@ -416,7 +416,7 @@ public final class Static87 { if (arg0 < x + 32 && x < arg4 && arg6 < y + 32 && y < arg7 || component == InterfaceList.clickedInventoryComponent && Static4.mouseOverInventoryObjectIndex == local270) { @Pc(1476) Sprite sprite; - if (MiniMenu.anInt5014 == 1 && Static185.anInt4370 == local270 && component.id == MiniMap.anInt5062) { + if (MiniMenu.anInt5014 == 1 && MiniMenu.anInt4370 == local270 && component.id == MiniMap.anInt5062) { sprite = Inv.getObjectSprite(2, objId, component.objDrawText, component.objCounts[local270], 0); } else { sprite = Inv.getObjectSprite(1, objId, component.objDrawText, component.objCounts[local270], 3153952); diff --git a/client/src/main/java/rt4/StringUtils.java b/client/src/main/java/rt4/StringUtils.java index c5958a5..d437ec0 100644 --- a/client/src/main/java/rt4/StringUtils.java +++ b/client/src/main/java/rt4/StringUtils.java @@ -9,6 +9,8 @@ public class StringUtils { public static final JagString aClass100_17 = JagString.parse("0"); @OriginalMember(owner = "client!ca", name = "cb", descriptor = "Lclient!na;") public static final JagString nonBreakingSpace = JagString.getNbsp(); + @OriginalMember(owner = "client!rm", name = "i", descriptor = "Lclient!na;") + public static final JagString aClass100_930 = JagString.parse("(Z"); @OriginalMember(owner = "client!gj", name = "a", descriptor = "(II)Z") public static boolean isAlphaNumeric(@OriginalArg(0) int arg0) { @@ -44,7 +46,7 @@ public class StringUtils { @OriginalMember(owner = "client!vf", name = "a", descriptor = "(IB)Lclient!na;") public static JagString method4510(@OriginalArg(0) int arg0) { - return arg0 >= 999999999 ? Static220.aClass100_930 : JagString.parseInt(arg0); + return arg0 >= 999999999 ? aClass100_930 : JagString.parseInt(arg0); } @OriginalMember(owner = "client!ld", name = "a", descriptor = "(IB)I") diff --git a/client/src/main/java/rt4/TextureOp29.java b/client/src/main/java/rt4/TextureOp29.java index 9b77798..f7ef17f 100644 --- a/client/src/main/java/rt4/TextureOp29.java +++ b/client/src/main/java/rt4/TextureOp29.java @@ -79,7 +79,7 @@ public final class TextureOp29 extends TextureOp { } else if (local24 == 1) { this.aClass18Array1[local11] = TextureOp29SubOp3.create(arg1); } else if (local24 == 2) { - this.aClass18Array1[local11] = Static156.method2960(arg1); + this.aClass18Array1[local11] = TextureOp29SubOp4.method2960(arg1); } else if (local24 == 3) { this.aClass18Array1[local11] = TextureOp29SubOp2.method2664(arg1); } diff --git a/client/src/main/java/rt4/TextureOp29SubOp4.java b/client/src/main/java/rt4/TextureOp29SubOp4.java index b19ccfe..4ccce98 100644 --- a/client/src/main/java/rt4/TextureOp29SubOp4.java +++ b/client/src/main/java/rt4/TextureOp29SubOp4.java @@ -142,7 +142,12 @@ public final class TextureOp29SubOp4 extends TextureOp29SubOp { } } - @OriginalMember(owner = "client!ta", name = "a", descriptor = "(IZI)V") + @OriginalMember(owner = "client!mf", name = "a", descriptor = "(BLclient!wa;)Lclient!ta;") + public static TextureOp29SubOp4 method2960(@OriginalArg(1) Buffer arg0) { + return new TextureOp29SubOp4(arg0.g2b(), arg0.g2b(), arg0.g2b(), arg0.g2b(), arg0.g3(), arg0.g3(), arg0.g1()); + } + + @OriginalMember(owner = "client!ta", name = "a", descriptor = "(IZI)V") @Override public final void method4009(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) { @Pc(10) int local10 = arg1 * this.anInt5238 >> 12; diff --git a/client/src/main/java/rt4/WallDecor.java b/client/src/main/java/rt4/WallDecor.java index 5a1ff73..06e98ba 100644 --- a/client/src/main/java/rt4/WallDecor.java +++ b/client/src/main/java/rt4/WallDecor.java @@ -13,22 +13,22 @@ public final class WallDecor { public Entity secondary; @OriginalMember(owner = "client!df", name = "e", descriptor = "I") - public int anInt1390; + public int xFine; @OriginalMember(owner = "client!df", name = "f", descriptor = "I") public int anInt1391; @OriginalMember(owner = "client!df", name = "g", descriptor = "I") - public int anInt1392; + public int zOffset; @OriginalMember(owner = "client!df", name = "h", descriptor = "I") - public int anInt1393; + public int zFine; @OriginalMember(owner = "client!df", name = "j", descriptor = "Lclient!th;") public Entity primary; @OriginalMember(owner = "client!df", name = "k", descriptor = "I") - public int anInt1394; + public int xOffset; @OriginalMember(owner = "client!df", name = "m", descriptor = "I") public int anInt1395; diff --git a/client/src/main/java/rt4/WorldList.java b/client/src/main/java/rt4/WorldList.java index de00df1..43d6ca3 100644 --- a/client/src/main/java/rt4/WorldList.java +++ b/client/src/main/java/rt4/WorldList.java @@ -254,4 +254,10 @@ public class WorldList { method1697(arg0, arg1, local15 - 1, arg3, arg4, arg5); method1697(arg0, arg1, arg2, arg3, local15 + 1, arg5); } + + @OriginalMember(owner = "client!bh", name = "a", descriptor = "(B)Lclient!ba;") + public static World getFirstWorld() { + worldPos = 0; + return getNextWorld(); + } } diff --git a/client/src/main/java/rt4/client.java b/client/src/main/java/rt4/client.java index 3346da6..52355c6 100644 --- a/client/src/main/java/rt4/client.java +++ b/client/src/main/java/rt4/client.java @@ -547,7 +547,7 @@ public final class client extends GameShell { PlayerList.size = 0; MiniMap.state = 0; Camera.anInt4774 = (int) (Math.random() * 110.0D) - 55; - Static241.aBoolean302 = false; + MiniMenu.aBoolean302 = false; MiniMap.anInt4130 = (int) (Math.random() * 30.0D) - 20; SoundPlayer.size = 0; LoginManager.mapFlagX = 0;