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;