Server/Client/src/main/java/org/runite/client/Class141.java
2021-03-24 15:51:22 -04:00

453 lines
14 KiB
Java

package org.runite.client;
import javax.media.opengl.GL;
final class Class141 {
static LDIndexedSprite aClass109_Sub1_1840;
static Class169[][] aClass169ArrayArray1841;
static LDIndexedSprite[] aClass109_Sub1Array1843;
private static int anInt1842;
private static int anInt1844;
private static void method2034(LDIndexedSprite var0, LDIndexedSprite var1, int var2, int var3) {
var2 += var0.anInt1470;
var3 += var0.anInt1464;
int var4 = var2 + var3 * var1.width;
int var5 = 0;
int var6 = var0.height;
int var7 = var0.width;
int var8 = var1.width - var7;
int var9 = 0;
int var10;
if (var3 <= 0) {
var10 = 1 - var3;
var6 -= var10;
var5 += var10 * var7;
var4 += var10 * var1.width;
var3 = 1;
}
if (var3 + var6 >= var1.height) {
var10 = var3 + var6 + 1 - var1.height;
var6 -= var10;
}
if (var2 <= 0) {
var10 = 1 - var2;
var7 -= var10;
var5 += var10;
var4 += var10;
var9 += var10;
var8 += var10;
var2 = 1;
}
if (var2 + var7 >= var1.width) {
var10 = var2 + var7 + 1 - var1.width;
var7 -= var10;
var9 += var10;
var8 += var10;
}
if (var7 > 0 && var6 > 0) {
method2044(var1.raster, var0.raster, var5, var4, var7, var6, var8, var9);
method2036(var2, var3, var7, var6);
}
}
private static void method2035(byte[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7) {
int var8 = -(var4 >> 2);
var4 = -(var4 & 3);
for (int var9 = -var5; var9 < 0; ++var9) {
int var10;
int var10001;
for (var10 = var8; var10 < 0; ++var10) {
var10001 = var3++;
var0[var10001] -= var1[var2++];
var10001 = var3++;
var0[var10001] -= var1[var2++];
var10001 = var3++;
var0[var10001] -= var1[var2++];
var10001 = var3++;
var0[var10001] -= var1[var2++];
}
for (var10 = var4; var10 < 0; ++var10) {
var10001 = var3++;
var0[var10001] -= var1[var2++];
}
var3 += var6;
var2 += var7;
}
}
private static void method2036(int var0, int var1, int var2, int var3) {
int var4 = var0 - 1 >> 7;
int var5 = var0 - 1 + var2 - 1 >> 7;
int var6 = var1 - 1 >> 7;
int var7 = var1 - 1 + var3 - 1 >> 7;
for (int var8 = var4; var8 <= var5; ++var8) {
for (int var9 = var6; var9 <= var7; ++var9) {
aClass169ArrayArray1841[var8][var9].aBoolean2106 = true;
}
}
}
static void method2037(int var0, int var1, boolean var2, boolean var3, int var4, int var5, int var6, int var7, int var8, int var9) {
if (!var2 || !var3) {
if (!var2 || var0 != 1) {
if (!var3 || var0 != 0) {
int var10 = var4 << 7;
int var11 = var6 + var7 + var8 + var9 >> 2;
int var12 = var5 << 7;
int var13 = var10 - (var11 * Class92.lightX >> 8) >> 3;
int var14 = var12 - (var11 * Class92.lightY >> 8) >> 3;
if (var0 != 0 && var0 != 1 && (var2 || var3)) {
method2050(aClass109_Sub1Array1843[var0], aClass109_Sub1_1840, var13 + 1, var14 + 1, var1, var2);
} else {
method2034(aClass109_Sub1Array1843[1], aClass109_Sub1_1840, var13 + 1, var14 + 1);
}
}
}
}
}
static void method2038(int var0, int var1, int var2, boolean[][] var4) {
GL var6 = HDToolKit.gl;
HDToolKit.method1856(1);
HDToolKit.method1847(1);
HDToolKit.method1823();
HDToolKit.method1837(false);
Class3_Sub28_Sub4.method551(0, 0);
var6.glDepthMask(false);
for (int var7 = 0; var7 < anInt1844; ++var7) {
int var8 = 0;
while (var8 < anInt1842) {
int var9 = var7 * 8;
while (true) {
if (var9 < var7 * 8 + 8) {
label42:
{
if (var9 - var0 >= -var2 && var9 - var0 <= var2) {
for (int var10 = var8 * 8; var10 < var8 * 8 + 8; ++var10) {
if (var10 - var1 >= -var2 && var10 - var1 <= var2 && var4[var9 - var0 + var2][var10 - var1 + var2]) {
Class169 var11 = aClass169ArrayArray1841[var7][var8];
if (var11.aBoolean2106) {
var11.method2282(aClass109_Sub1_1840, var7, var8);
var11.aBoolean2106 = false;
}
var6.glPushMatrix();
var6.glTranslatef((float) (var7 * 1024), 0.0F, (float) (var8 * 1024));
var11.method2284();
var6.glPopMatrix();
break label42;
}
}
}
++var9;
continue;
}
}
++var8;
break;
}
}
}
var6.glEnableClientState('\u8076');
var6.glDepthMask(true);
HDToolKit.method1846();
}
private static boolean method2039(byte[] var0, int var1, int var2, int var3, int var4, int var5) {
int var6 = var2 % var5;
int var7;
if (var6 == 0) {
var7 = 0;
} else {
var7 = var5 - var6;
}
int var8 = -((var3 + var5 - 1) / var5);
int var9 = -((var2 + var5 - 1) / var5);
for (int var10 = var8; var10 < 0; ++var10) {
for (int var11 = var9; var11 < 0; ++var11) {
if (var0[var1] == 0) {
return true;
}
var1 += var5;
}
var1 -= var7;
if (var0[var1 - 1] == 0) {
return true;
}
var1 += var4;
}
return false;
}
private static boolean method2040(LDIndexedSprite var0, LDIndexedSprite var1, int var2, int var3) {
var2 += var0.anInt1470;
var3 += var0.anInt1464;
int var4 = var2 + var3 * var1.width;
int var5 = var0.height;
int var6 = var0.width;
int var7 = var1.width - var6;
int var8;
if (var3 <= 0) {
var8 = 1 - var3;
var5 -= var8;
var4 += var8 * var1.width;
var3 = 1;
}
if (var3 + var5 >= var1.height) {
var8 = var3 + var5 + 1 - var1.height;
var5 -= var8;
}
if (var2 <= 0) {
var8 = 1 - var2;
var6 -= var8;
var4 += var8;
var7 += var8;
var2 = 1;
}
if (var2 + var6 >= var1.width) {
var8 = var2 + var6 + 1 - var1.width;
var6 -= var8;
var7 += var8;
}
if (var6 > 0 && var5 > 0) {
byte var9 = 8;
var7 += (var9 - 1) * var1.width;
method2036(var2, var3, var6, var5);
return method2039(var1.raster, var4, var6, var5, var7, var9);
} else {
return false;
}
}
static void method2041() {
anInt1844 = 104 + 7 >> 3;
anInt1842 = 104 + 7 >> 3;
aClass109_Sub1_1840 = new LDIndexedSprite(anInt1844 * 128 + 2, anInt1842 * 128 + 2);
aClass169ArrayArray1841 = new Class169[anInt1844][anInt1842];
for (int var2 = 0; var2 < anInt1844; ++var2) {
for (int var3 = 0; var3 < anInt1842; ++var3) {
aClass169ArrayArray1841[var2][var3] = new Class169();
}
}
}
private static void method2042(LDIndexedSprite var0, LDIndexedSprite var1, int var2, int var3) {
var2 += var0.anInt1470;
var3 += var0.anInt1464;
int var4 = var2 + var3 * var1.width;
int var5 = 0;
int var6 = var0.height;
int var7 = var0.width;
int var8 = var1.width - var7;
int var9 = 0;
int var10;
if (var3 <= 0) {
var10 = 1 - var3;
var6 -= var10;
var5 += var10 * var7;
var4 += var10 * var1.width;
var3 = 1;
}
if (var3 + var6 >= var1.height) {
var10 = var3 + var6 + 1 - var1.height;
var6 -= var10;
}
if (var2 <= 0) {
var10 = 1 - var2;
var7 -= var10;
var5 += var10;
var4 += var10;
var9 += var10;
var8 += var10;
var2 = 1;
}
if (var2 + var7 >= var1.width) {
var10 = var2 + var7 + 1 - var1.width;
var7 -= var10;
var9 += var10;
var8 += var10;
}
if (var7 > 0 && var6 > 0) {
method2035(var1.raster, var0.raster, var5, var4, var7, var6, var8, var9);
method2036(var2, var3, var7, var6);
}
}
static void method2043() {
aClass109_Sub1_1840 = null;
aClass109_Sub1Array1843 = null;
aClass169ArrayArray1841 = null;
}
private static void method2044(byte[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7) {
int var8 = -(var4 >> 2);
var4 = -(var4 & 3);
for (int var9 = -var5; var9 < 0; ++var9) {
int var10;
int var10001;
for (var10 = var8; var10 < 0; ++var10) {
var10001 = var3++;
var0[var10001] += var1[var2++];
var10001 = var3++;
var0[var10001] += var1[var2++];
var10001 = var3++;
var0[var10001] += var1[var2++];
var10001 = var3++;
var0[var10001] += var1[var2++];
}
for (var10 = var4; var10 < 0; ++var10) {
var10001 = var3++;
var0[var10001] += var1[var2++];
}
var3 += var6;
var2 += var7;
}
}
private static void method2046(byte[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6) {
for (int var7 = -16; var7 < 0; ++var7) {
for (int var8 = -4; var8 < 0; ++var8) {
int var10001 = var3++;
var0[var10001] = (byte) (var0[var10001] + (1 - var1[var2]));
var2 += var5;
var10001 = var3++;
var0[var10001] = (byte) (var0[var10001] + (1 - var1[var2]));
var2 += var5;
var10001 = var3++;
var0[var10001] = (byte) (var0[var10001] + (1 - var1[var2]));
var2 += var5;
var10001 = var3++;
var0[var10001] = (byte) (var0[var10001] + (1 - var1[var2]));
var2 += var5;
}
var3 += var4;
var2 += var6;
}
}
static void method2047(LDIndexedSprite var0, int var1, int var2, int var3) {
if (var0 != null) {
int var4 = var1 - (var2 * Class92.lightX >> 8) >> 3;
int var5 = var3 - (var2 * Class92.lightY >> 8) >> 3;
method2042(var0, aClass109_Sub1_1840, var4 + 1, var5 + 1);
}
}
private static void method2048(byte[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6) {
for (int var7 = -16; var7 < 0; ++var7) {
for (int var8 = -4; var8 < 0; ++var8) {
int var10001 = var3++;
var0[var10001] += var1[var2];
var2 += var5;
var10001 = var3++;
var0[var10001] += var1[var2];
var2 += var5;
var10001 = var3++;
var0[var10001] += var1[var2];
var2 += var5;
var10001 = var3++;
var0[var10001] += var1[var2];
var2 += var5;
}
var3 += var4;
var2 += var6;
}
}
static boolean method2049(LDIndexedSprite var0, int var1, int var2, int var3) {
if (var0 == null) {
return false;
} else {
int var4 = var1 - (var2 * Class92.lightX >> 8) >> 3;
int var5 = var3 - (var2 * Class92.lightY >> 8) >> 3;
return method2040(var0, aClass109_Sub1_1840, var4 + 1, var5 + 1);
}
}
private static void method2050(LDIndexedSprite var0, LDIndexedSprite var1, int var2, int var3, int var4, boolean var5) {
if (var2 > 0 && var3 > 0 && var2 + 16 < var1.width && var3 + 16 < var1.height) {
int var6 = var2 + var3 * var1.width;
int var7 = var1.width - 16;
short var8;
byte var9;
int var10;
if (var4 == 0) {
var8 = 240;
var9 = 1;
var10 = -var9 * 16 - 16;
} else if (var4 == 1) {
var8 = 255;
var9 = -16;
var10 = -var9 * 16 - 1;
} else if (var4 == 2) {
var8 = 15;
var9 = -1;
var10 = -var9 * 16 + 16;
} else {
var8 = 0;
var9 = 16;
var10 = -var9 * 16 + 1;
}
if (var5) {
method2046(var1.raster, var0.raster, var8, var6, var7, var9, var10);
} else {
method2048(var1.raster, var0.raster, var8, var6, var7, var9, var10);
}
method2036(var2, var3, 16, 16);
}
}
static void method2051(LDIndexedSprite var0, int var1, int var2, int var3) {
if (var0 != null) {
int var4 = var1 - (var2 * Class92.lightX >> 8) >> 3;
int var5 = var3 - (var2 * Class92.lightY >> 8) >> 3;
method2034(var0, aClass109_Sub1_1840, var4 + 1, var5 + 1);
}
}
}