Server/Client/src/main/java/org/runite/client/Class68.java

489 lines
17 KiB
Java

package org.runite.client;
import javax.media.opengl.GL;
final class Class68 {
private static final float[] aFloatArray1022 = new float[]{0.0F, 0.0F, 0.0F, 1.0F};
static Class43[] aClass43Array1021;
static int anInt1032 = 0;
private static int[] anIntArray1023;
private static int anInt1024;
private static int anInt1025;
private static boolean[] aBooleanArray1026;
private static int[][][] anIntArrayArrayArray1027;
private static int[] anIntArray1028;
private static int anInt1029;
private static int anInt1030;
private static int anInt1031;
private static boolean[] aBooleanArray1033;
private static int anInt1034;
private static int anInt1035;
private static int anInt1036;
static void method1263(int var0, int var1, int var2, int var3, int var4, int var5, int var6) {
if (Class106.aBoolean1441) {
if (var0 == 1 && var5 > 0) {
method1268(var1, var2, var3, var4, var5 - 1, var6);
} else if (var0 == 4 && var5 < anInt1036 - 1) {
method1268(var1, var2, var3, var4, var5 + 1, var6);
} else if (var0 == 8 && var6 > 0) {
method1268(var1, var2, var3, var4, var5, var6 - 1);
} else if (var0 == 2 && var6 < anInt1035 - 1) {
method1268(var1, var2, var3, var4, var5, var6 + 1);
} else if (var0 == 16 && var5 > 0 && var6 < anInt1035 - 1) {
method1268(var1, var2, var3, var4, var5 - 1, var6 + 1);
} else if (var0 == 32 && var5 < anInt1036 - 1 && var6 < anInt1035 - 1) {
method1268(var1, var2, var3, var4, var5 + 1, var6 + 1);
} else if (var0 == 128 && var5 > 0 && var6 > 0) {
method1268(var1, var2, var3, var4, var5 - 1, var6 - 1);
} else if (var0 == 64 && var5 < anInt1036 - 1 && var6 > 0) {
method1268(var1, var2, var3, var4, var5 + 1, var6 - 1);
}
}
}
static void method1264(Class43 var0) {
if (anInt1032 >= 255) {
System.out.println("Number of lights added exceeds maximum!");
} else {
aClass43Array1021[anInt1032++] = var0;
}
}
static void method1265() {
for (int var0 = 0; var0 < 4; ++var0) {
anIntArray1028[var0] = -1;
method1271(var0);
}
}
static void method1266(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
if (Class106.aBoolean1441) {
if (anInt1029 != var3 || anInt1031 != var4 || anInt1024 != var5 || anInt1034 != var6 || anInt1025 != var7) {
int var8;
for (var8 = 0; var8 < 4; ++var8) {
aBooleanArray1033[var8] = false;
}
var8 = 0;
int var9 = 0;
int var10;
int var11;
label105:
for (var10 = var4; var10 <= var6; ++var10) {
for (var11 = var5; var11 <= var7; ++var11) {
int var12 = anIntArrayArrayArray1027[var3][var10][var11];
label101:
while (var12 != 0) {
int var13 = (var12 & 0xFF) - 1;
var12 >>>= 8;
int var14;
for (var14 = 0; var14 < var9; ++var14) {
if (var13 == anIntArray1023[var14]) {
continue label101;
}
}
for (var14 = 0; var14 < 4; ++var14) {
if (var13 == anIntArray1028[var14]) {
if (!aBooleanArray1033[var14]) {
aBooleanArray1033[var14] = true;
++var8;
if (var8 == 4) {
break label105;
}
}
continue label101;
}
}
anIntArray1023[var9++] = var13;
++var8;
if (var8 == 4) {
break label105;
}
}
}
}
var10 = 0;
while (var10 < var9) {
var11 = 0;
while (true) {
if (var11 < 4) {
if (aBooleanArray1033[var11]) {
++var11;
continue;
}
anIntArray1028[var11] = anIntArray1023[var10];
aBooleanArray1033[var11] = true;
method1278(var11, aClass43Array1021[anIntArray1023[var10]], var0, var1, var2);
}
++var10;
break;
}
}
for (var10 = 0; var10 < 4; ++var10) {
if (!aBooleanArray1033[var10]) {
anIntArray1028[var10] = -1;
method1271(var10);
}
}
anInt1029 = var3;
anInt1031 = var4;
anInt1024 = var5;
anInt1034 = var6;
anInt1025 = var7;
}
}
}
static void method1267() {
anInt1030 = 4;
anInt1036 = 104;
anInt1035 = 104;
anIntArrayArrayArray1027 = new int[anInt1030][anInt1036][anInt1035];
}
static void method1268(int var0, int var1, int var2, int var3, int var4, int var5) {
if (Class106.aBoolean1441) {
if (anInt1029 != var3 || anInt1031 != var4 || anInt1024 != var5 || anInt1034 != var4 || anInt1025 != var5) {
int var6;
for (var6 = 0; var6 < 4; ++var6) {
aBooleanArray1033[var6] = false;
}
var6 = 0;
int var7 = anIntArrayArrayArray1027[var3][var4][var5];
int var8;
int var9;
label71:
while (var7 != 0) {
var8 = (var7 & 0xFF) - 1;
var7 >>>= 8;
for (var9 = 0; var9 < 4; ++var9) {
if (var8 == anIntArray1028[var9]) {
aBooleanArray1033[var9] = true;
continue label71;
}
}
anIntArray1023[var6++] = var8;
}
var8 = 0;
while (var8 < var6) {
var9 = 0;
while (true) {
if (var9 < 4) {
if (aBooleanArray1033[var9]) {
++var9;
continue;
}
anIntArray1028[var9] = anIntArray1023[var8];
aBooleanArray1033[var9] = true;
method1278(var9, aClass43Array1021[anIntArray1023[var8]], var0, var1, var2);
}
++var8;
break;
}
}
for (var8 = 0; var8 < 4; ++var8) {
if (!aBooleanArray1033[var8]) {
anIntArray1028[var8] = -1;
method1271(var8);
}
}
anInt1029 = var3;
anInt1031 = var4;
anInt1024 = var5;
anInt1034 = var4;
anInt1025 = var5;
}
}
}
static void method1269(int var0, boolean var1) {
for (int var2 = 0; var2 < anInt1032; ++var2) {
aClass43Array1021[var2].method1063(var1, var0);
}
anInt1029 = -1;
anInt1031 = -1;
anInt1024 = -1;
anInt1034 = -1;
anInt1025 = -1;
}
static void method1270() {
for (int var0 = 0; var0 < anInt1032; ++var0) {
Class43 var1 = aClass43Array1021[var0];
int var2 = var1.anInt704;
if (var1.aBoolean690) {
var2 = 0;
}
int var3 = var1.anInt704;
if (var1.aBoolean711) {
var3 = 3;
}
for (int var4 = var2; var4 <= var3; ++var4) {
int var5 = 0;
int var6 = (var1.anInt708 >> 7) - var1.anInt698;
if (var6 < 0) {
var5 -= var6;
var6 = 0;
}
int var7 = (var1.anInt708 >> 7) + var1.anInt698;
if (var7 > anInt1035 - 1) {
var7 = anInt1035 - 1;
}
for (int var8 = var6; var8 <= var7; ++var8) {
short var9 = var1.aShortArray706[var5++];
int var10 = (var1.anInt703 >> 7) - var1.anInt698 + (var9 >> 8);
int var11 = var10 + (var9 & 0xFF) - 1;
if (var10 < 0) {
var10 = 0;
}
if (var11 > anInt1036 - 1) {
var11 = anInt1036 - 1;
}
for (int var12 = var10; var12 <= var11; ++var12) {
int var13 = anIntArrayArrayArray1027[var4][var12][var8];
if ((var13 & 0xFF) == 0) {
anIntArrayArrayArray1027[var4][var12][var8] = var13 | var0 + 1;
} else if ((var13 & 65280) == 0) {
anIntArrayArrayArray1027[var4][var12][var8] = var13 | var0 + 1 << 8;
} else if ((var13 & 16711680) == 0) {
anIntArrayArrayArray1027[var4][var12][var8] = var13 | var0 + 1 << 16;
} else if ((var13 & -16777216) == 0) {
anIntArrayArrayArray1027[var4][var12][var8] = var13 | var0 + 1 << 24;
}
}
}
}
}
}
private static void method1271(int var0) {
if (aBooleanArray1026[var0]) {
aBooleanArray1026[var0] = false;
int var1 = var0 + 16384 + 4;
GL var2 = HDToolKit.gl;
var2.glDisable(var1);
}
}
static void method1272(int var0, int var1, int var2, int var3, int var4) {
if (Class106.aBoolean1441) {
label44:
for (int var5 = 0; var5 < 4; ++var5) {
if (anIntArray1028[var5] != -1) {
int var6 = anIntArrayArrayArray1027[var0][var1][var2];
int var7;
while (var6 != 0) {
var7 = (var6 & 0xFF) - 1;
var6 >>>= 8;
if (var7 == anIntArray1028[var5]) {
continue label44;
}
}
var6 = anIntArrayArrayArray1027[var0][var3][var4];
while (var6 != 0) {
var7 = (var6 & 0xFF) - 1;
var6 >>>= 8;
if (var7 == anIntArray1028[var5]) {
continue label44;
}
}
}
anIntArray1028[var5] = -1;
method1271(var5);
}
}
}
static void method1273() {
aClass43Array1021 = null;
anIntArray1028 = null;
aBooleanArray1026 = null;
anIntArray1023 = null;
aBooleanArray1033 = null;
anIntArrayArrayArray1027 = null;
}
static void method1275() {
GL var0 = HDToolKit.gl;
int var1;
for (var1 = 0; var1 < 4; ++var1) {
int var2 = 16388 + var1;
var0.glLightfv(var2, 4608, new float[]{0.0F, 0.0F, 0.0F, 1.0F}, 0);
var0.glLightf(var2, 4616, 0.0F);
var0.glLightf(var2, 4615, 0.0F);
}
for (var1 = 0; var1 < 4; ++var1) {
anIntArray1028[var1] = -1;
method1271(var1);
}
}
static void method1276() {
aClass43Array1021 = new Class43[255];
anIntArray1028 = new int[4];
aBooleanArray1026 = new boolean[4];
anIntArray1023 = new int[4];
aBooleanArray1033 = new boolean[4];
anIntArrayArrayArray1027 = new int[anInt1030][anInt1036][anInt1035];
}
static void method1277(Class3_Sub2[][][] var2) {
if (Class106.aBoolean1441) {
GL var3 = HDToolKit.gl;
Unsorted.method551(0, 0);
HDToolKit.method1856(0);
HDToolKit.method1823();
HDToolKit.bindTexture2D(HDToolKit.anInt1810);
var3.glDepthMask(false);
HDToolKit.method1837(false);
var3.glBlendFunc(774, 1);
var3.glFogfv(2918, new float[]{0.0F, 0.0F, 0.0F, 0.0F}, 0);
var3.glTexEnvi(8960, '\u8580', '\u8576');
var3.glTexEnvi(8960, '\u8590', 770);
label69:
for (int var4 = 0; var4 < anInt1032; ++var4) {
Class43 var5 = aClass43Array1021[var4];
int var6 = var5.anInt704;
if (var5.aBoolean696) {
--var6;
}
if (var5.aClass37_712 != null) {
int var7 = 0;
int var8 = (var5.anInt708 >> 7) - var5.anInt698;
int var9 = (var5.anInt708 >> 7) + var5.anInt698;
if (var9 >= Class126.anInt1665) {
var9 = Class126.anInt1665 - 1;
}
if (var8 < Unsorted.anInt3603) {
var7 += Unsorted.anInt3603 - var8;
var8 = Unsorted.anInt3603;
}
int var10 = var8;
while (var10 <= var9) {
short var11 = var5.aShortArray706[var7++];
int var12 = (var5.anInt703 >> 7) - var5.anInt698 + (var11 >> 8);
int var13 = var12 + (var11 & 0xFF) - 1;
if (var12 < Class163_Sub1_Sub1.anInt4006) {
var12 = Class163_Sub1_Sub1.anInt4006;
}
if (var13 >= Unsorted.anInt67) {
var13 = Unsorted.anInt67 - 1;
}
int var14 = var12;
while (true) {
if (var14 <= var13) {
Class3_Sub2 var15 = null;
if (var6 >= 0) {
var15 = var2[var6][var14][var10];
}
if (var6 >= 0 && (var15 == null || !var15.aBoolean2222)) {
++var14;
continue;
}
HDToolKit.method1832(201.5F - (float) var5.anInt704 * 50.0F - 1.5F);
var3.glTexEnvfv(8960, 8705, new float[]{0.0F, 0.0F, 0.0F, var5.aFloat707}, 0);
var5.aClass37_712.method1021();
continue label69;
}
++var10;
break;
}
}
}
}
var3.glTexEnvi(8960, '\u8580', 5890);
var3.glTexEnvi(8960, '\u8590', 768);
var3.glBlendFunc(770, 771);
var3.glDepthMask(true);
var3.glFogfv(2918, Class92.fogColor, 0);
var3.glEnableClientState('\u8078');
HDToolKit.method1846();
}
}
private static void method1278(int var0, Class43 var1, int var2, int var3, int var4) {
int var5 = var0 + 16384 + 4;
GL var6 = HDToolKit.gl;
if (!aBooleanArray1026[var0]) {
var6.glEnable(var5);
aBooleanArray1026[var0] = true;
}
var6.glLightf(var5, 4617, var1.aFloat710);
var6.glLightfv(var5, 4609, var1.aFloatArray717, 0);
aFloatArray1022[0] = (float) (var1.anInt703 - var2);
aFloatArray1022[1] = (float) (var1.anInt697 - var3);
aFloatArray1022[2] = (float) (var1.anInt708 - var4);
var6.glLightfv(var5, 4611, aFloatArray1022, 0);
}
static void method1279() {
anInt1032 = 0;
for (int var0 = 0; var0 < anInt1030; ++var0) {
for (int var1 = 0; var1 < anInt1036; ++var1) {
for (int var2 = 0; var2 < anInt1035; ++var2) {
anIntArrayArrayArray1027[var0][var1][var2] = 0;
}
}
}
}
}