Added initial version

This commit is contained in:
Ceikry 2021-03-07 20:37:32 -06:00
commit b1dccb3fed
14153 changed files with 1285206 additions and 0 deletions

View file

@ -0,0 +1,18 @@
package org.runite.client;
abstract class AbstractIndexedSprite {
int width;
static int anInt1462;
int anInt1464;
int anInt1467;
int height;
int anInt1469;
int anInt1470;
abstract void method1666(int var1, int var2, int var3);
abstract void method1667(int var1, int var2);
}

View file

@ -0,0 +1,52 @@
package org.runite.client;
import org.rs09.client.Node;
public abstract class AbstractSprite extends Node {
public int height;
int anInt3697;
int anInt3698;
public static int anInt3699 = 0;
int anInt3701;
static int anInt3704;
int anInt3706;
public int width;
static RSInterface aClass11_3708 = null;
abstract void method635(int var1, int var2);
abstract void method636(int var1, int var2, int var3, int var4, int var5, int var6);
abstract void method637(int var1, int var2, int var3);
public static RSInterface method638(int var1, int var2) {
try {
RSInterface var3 = Class7.getRSInterface(var1);
return var2 == -1 ?var3: var3 != null && var3.aClass11Array262 != null && var2 < var3.aClass11Array262.length ?var3.aClass11Array262[var2]:null;
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "qf.P(" + (byte) -19 + ',' + var1 + ',' + var2 + ')');
}
}
abstract void method639(int var1, int var2, int var3, int var4);
public final void drawScaledOrRotated(int x, int y, int angle, int scale) {
try {
int var6 = this.anInt3697 << 3;
int var7 = this.anInt3706 << 3;
scale = (scale << 4) + (var6 & 15);
x = (x << 4) + (15 & var7);
this.method636(var6, var7, scale, x, y, angle);
} catch (RuntimeException var8) {
throw ClientErrorException.clientError(var8, "qf.F(" + x + ',' + y + ',' + angle + ',' + scale + ',' + -1470985020 + ')');
}
}
abstract void method641(int var1, int var2);
abstract void method642(int var1, int var2, int var3, int var4, int var5);
public abstract void drawAt(int var1, int var2);
}

View file

@ -0,0 +1,210 @@
package org.runite.client;
final class AnimationHeader {
boolean aBoolean1382 = false;
int anInt1383;
Class3_Sub17 skins;
short[] aShortArray1385;
boolean aBoolean1386 = false;
short[] aShortArray1387;
short[] aShortArray1388;
private static byte[] aByteArray1389 = new byte[500];
private static short[] aShortArray1390 = new short[500];
private static short[] aShortArray1391 = new short[500];
private static short[] aShortArray1392 = new short[500];
byte[] aByteArray1393;
private static short[] aShortArray1394 = new short[500];
short[] aShortArray1395;
short[] aShortArray1396;
private static short[] aShortArray1397 = new short[500];
// AnimationHeader(byte[] bs, Class3_Sub17 skin) {
// this.skins = skin;
// RSByteBuffer buffer = new RSByteBuffer(bs);
// RSByteBuffer parent = new RSByteBuffer(bs);
// buffer.index = 2;
// int size = buffer.getByte((byte)-86);
// int var6 = 0;
// int var7 = -1;
// parent.index = buffer.index + size;
//
// int i;
// for(i = 0; i < size; ++i) {
//
// int var11 = buffer.getByte((byte)-55);
// if(var11 > 0) {
// int var10 = this.skins.anIntArray2466[i];
// if (skins.anIntArray2466[i] != 0) {
// for (int j = i - 1; j > var7; j--) {
// if (skins.anIntArray2466[j] == 0) {
// aShortArray1397[var7] = (short) j;
// aShortArray1394[var7] = 0;
// aShortArray1391[var7] = 0;
// aShortArray1390[var7] = 0;
// var6++;
// break;
// }
// }
// aShortArray1397[var6] = (short)i;
// short var12 = 0;
// if(var10 == 3) {
// var12 = 128;
// }
//
// if((var11 & 1) != 0) {
// aShortArray1394[var6] = (short)parent.getSmart(-21208);
// } else {
// aShortArray1394[var6] = var12;
// }
//
// if((var11 & 2) != 0) {
// aShortArray1391[var6] = (short)parent.getSmart(-21208);
// } else {
// aShortArray1391[var6] = var12;
// }
//
// if((var11 & 4) != 0) {
// aShortArray1390[var6] = (short)parent.getSmart(-21208);
// } else {
// aShortArray1390[var6] = var12;
// }
//
// aByteArray1389[var6] = (byte)(var11 >>> 3 & 3);
// if(var10 == 2) {
// aShortArray1394[var6] = (short)(((aShortArray1394[var6] & 255) << 3) + (aShortArray1394[var6] >> 8 & 7));
// aShortArray1391[var6] = (short)(((aShortArray1391[var6] & 255) << 3) + (aShortArray1391[var6] >> 8 & 7));
// aShortArray1390[var6] = (short)(((aShortArray1390[var6] & 255) << 3) + (aShortArray1390[var6] >> 8 & 7));
// }
// var7 = i;
// if(var10 != 1 && var10 != 2 && var10 != 3) {
// if(var10 == 5) {
// this.aBoolean1386 = true;
// } else if(var10 == 7) {
// this.aBoolean1382 = true;
// }
// }
//
// ++var6;
// }
// }
//
// if(parent.index != bs.length) {
// throw new RuntimeException();
// } else {
// this.anInt1383 = var6;
// this.aShortArray1385 = new short[var6];
// this.aShortArray1388 = new short[var6];
// this.aShortArray1396 = new short[var6];
// this.aShortArray1395 = new short[var6];
// this.aShortArray1387 = new short[var6];
// this.aByteArray1393 = new byte[var6];
//
// for(i = 0; i < var6; ++i) {
// this.aShortArray1385[i] = aShortArray1397[i];
// this.aShortArray1388[i] = aShortArray1394[i];
// this.aShortArray1396[i] = aShortArray1391[i];
// this.aShortArray1395[i] = aShortArray1390[i];
// this.aShortArray1387[i] = aShortArray1392[i];
// this.aByteArray1393[i] = aByteArray1389[i];
// }
//
// }
// }
// }
AnimationHeader(byte[] bs, Class3_Sub17 skin) {
this.skins = skin;
DataBuffer buffer = new DataBuffer(bs);
DataBuffer parent = new DataBuffer(bs);
buffer.index = 2;
int size = buffer.readUnsignedByte();
int var6 = 0;
int var7 = -1;
int var8 = -1;
parent.index = buffer.index + size;
int i;
for(i = 0; i < size; ++i) {
int var10 = this.skins.anIntArray2466[i];
if(var10 == 0) {
var7 = i;
}
int var11 = buffer.readUnsignedByte();
if(var11 > 0) {
if(var10 == 0) {
var8 = i;
}
aShortArray1397[var6] = (short)i;
short var12 = 0;
if(var10 == 3) {
var12 = 128;
}
if((var11 & 1) == 0) {
aShortArray1394[var6] = var12;
} else {
aShortArray1394[var6] = (short)parent.getSmart(-21208);
}
if((var11 & 2) == 0) {
aShortArray1391[var6] = var12;
} else {
aShortArray1391[var6] = (short)parent.getSmart(-21208);
}
if((var11 & 4) == 0) {
aShortArray1390[var6] = var12;
} else {
aShortArray1390[var6] = (short)parent.getSmart(-21208);
}
aByteArray1389[var6] = (byte)(var11 >>> 3 & 3);
if(var10 == 2) {
aShortArray1394[var6] = (short)(((aShortArray1394[var6] & 255) << 3) + (aShortArray1394[var6] >> 8 & 7));
aShortArray1391[var6] = (short)(((aShortArray1391[var6] & 255) << 3) + (aShortArray1391[var6] >> 8 & 7));
aShortArray1390[var6] = (short)(((aShortArray1390[var6] & 255) << 3) + (aShortArray1390[var6] >> 8 & 7));
}
aShortArray1392[var6] = -1;
if(var10 != 1 && var10 != 2 && var10 != 3) {
if(var10 == 5) {
this.aBoolean1386 = true;
} else if(var10 == 7) {
this.aBoolean1382 = true;
}
} else if(var7 > var8) {
aShortArray1392[var6] = (short)var7;
var8 = var7;
}
++var6;
}
}
if(parent.index == bs.length) {
this.anInt1383 = var6;
this.aShortArray1385 = new short[var6];
this.aShortArray1388 = new short[var6];
this.aShortArray1396 = new short[var6];
this.aShortArray1395 = new short[var6];
this.aShortArray1387 = new short[var6];
this.aByteArray1393 = new byte[var6];
for(i = 0; i < var6; ++i) {
this.aShortArray1385[i] = aShortArray1397[i];
this.aShortArray1388[i] = aShortArray1394[i];
this.aShortArray1396[i] = aShortArray1391[i];
this.aShortArray1395[i] = aShortArray1390[i];
this.aShortArray1387[i] = aShortArray1392[i];
this.aByteArray1393[i] = aByteArray1389[i];
}
} else {
throw new RuntimeException();
}
}
}

View file

@ -0,0 +1,18 @@
package org.runite.client;
import org.rs09.client.Node;
import org.rs09.client.data.HashTable;
final class AssembledMethod extends Node {
// The ints are loaded in this order
int numberOfIntsToCopy;
int numberOfRSStringsToCopy;
int numberOfIntArguments;
int numberOfStringArguments;
int[] assemblyInstructions;
int[] instructionOperands;
HashTable[] switchHashTable;
RSString[] stringInstructionOperands;
}

View file

@ -0,0 +1,8 @@
package org.runite.client;
final class AssembledMethodContainer {
int[] intArguments;
RSString[] stringArguments;
AssembledMethod assembledMethod;
int currentProgramCounter = -1;
}

View file

@ -0,0 +1,137 @@
package org.runite.client;
import org.rs09.client.data.HashTable;
final class AtmosphereParser {
static HashTable aHashTable_3679 = new HashTable(16);
static AtmosphereParser[][] aAtmosphereParserArrayArray1581 = new AtmosphereParser[13][13];
int anInt1175;
int anInt1177;
int anInt1178;
int anInt1181;
static Class91[] aClass91Array1182 = new Class91[4];
int anInt1184;
int anInt1185;
static Class41 aClass41_1186;
float aFloat1187;
float aFloat1189;
float aFloat1190;
static int anInt1191;
static int screenLowerY;
static void method1427(int var1) {
try {
if (-1 == var1 && !Class83.aBoolean1158) {
GameObject.method1870();
} else if (var1 != -1 && (Class129.anInt1691 != var1 || Class79.method1391(-1)) && Unsorted.anInt120 != 0 && !Class83.aBoolean1158) {
Unsorted.method2099(var1, CacheIndex.musicIndex, Unsorted.anInt120);
}
Class129.anInt1691 = var1;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "li.B(" + true + ',' + var1 + ')');
}
}
static void method1428(int var0, int var2) {
try {
ItemDefinition.ram[var0] = var2;
Class3_Sub7 var3 = (Class3_Sub7) aHashTable_3679.get((long) var0);
if (var3 == null) {
var3 = new Class3_Sub7(TimeUtils.time() - -500L);
aHashTable_3679.put((long) var0, var3);
} else {
var3.aLong2295 = 500L + TimeUtils.time();
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "li.D(" + var0 + ',' + var2 + ')');
}
}
static Class3_Sub28_Sub17_Sub1 method1430(int var1) {
try {
Class3_Sub28_Sub17_Sub1 var2 = (Class3_Sub28_Sub17_Sub1) Unsorted.aReferenceCache_1135.get(var1);
if (var2 == null) {
byte[] var3 = CacheIndex.fontsIndex.getFile(var1, 0);
var2 = new Class3_Sub28_Sub17_Sub1(var3);
var2.method697(Class3_Sub13_Sub22.nameIconsSpriteArray, null);
Unsorted.aReferenceCache_1135.put(var2, var1);
}
return var2;
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "li.A(" + -28922 + ',' + var1 + ')');
}
}
public AtmosphereParser() {
try {
this.anInt1177 = Class92.defaultScreenColorRgb;
this.aFloat1189 = 1.2F;
this.anInt1178 = -50;
this.aFloat1187 = 1.1523438F;
this.anInt1175 = Class92.defaultRegionAmbientRGB;
this.anInt1181 = -60;
this.aFloat1190 = 0.69921875F;
this.anInt1184 = 0;
this.anInt1185 = -50;
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "li.<init>()");
}
}
AtmosphereParser(DataBuffer var1) {
try {
int var2 = var1.readUnsignedByte();
if ((var2 & 1) == 0) {
this.anInt1177 = Class92.defaultScreenColorRgb;
} else {
this.anInt1177 = var1.readInt();
}
if ((2 & var2) == 0) {
this.aFloat1187 = 1.1523438F;
} else {
this.aFloat1187 = (float) var1.readUnsignedShort() / 256.0F;
}
if ((var2 & 4) == 0) {
this.aFloat1190 = 0.69921875F;
} else {
this.aFloat1190 = (float) var1.readUnsignedShort() / 256.0F;
}
if ((var2 & 8) == 0) {
this.aFloat1189 = 1.2F;
} else {
this.aFloat1189 = (float) var1.readUnsignedShort() / 256.0F;
}
if ((16 & var2) == 0) {
this.anInt1178 = -50;
this.anInt1185 = -50;
this.anInt1181 = -60;
} else {
this.anInt1185 = var1.readSignedShort();
this.anInt1181 = var1.readSignedShort();
this.anInt1178 = var1.readSignedShort();
}
if ((32 & var2) == 0) {
this.anInt1175 = Class92.defaultRegionAmbientRGB;
} else {
this.anInt1175 = var1.readInt();
}
if ((64 & var2) == 0) {
this.anInt1184 = 0;
} else {
this.anInt1184 = var1.readUnsignedShort();
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "li.<init>(" + (var1 != null ? "{...}" : "null") + ')');
}
}
}

View file

@ -0,0 +1,36 @@
package org.runite.client;
final class Bzip2Context {
int[][] anIntArrayArray108 = new int[6][258];
byte[] aByteArray109 = new byte[4096];
int[][] anIntArrayArray110 = new int[6][258];
byte aByte111;
boolean[] aBooleanArray112 = new boolean[256];
byte[] aByteArray114 = new byte[256];
int[][] anIntArrayArray115 = new int[6][258];
int anInt116 = 0;
byte[] aByteArray117;
int anInt118 = 0;
int anInt121;
int[] anIntArray122 = new int[257];
int[] anIntArray123 = new int[16];
boolean[] aBooleanArray124 = new boolean[16];
int anInt126;
byte[] aByteArray127;
int anInt128;
int anInt129;
byte[] aByteArray130 = new byte[18002];
int anInt131;
int anInt133;
int[] anIntArray134 = new int[256];
int anInt135;
int anInt137;
int[] anIntArray138 = new int[6];
byte[] aByteArray139 = new byte[18002];
int anInt140;
int anInt141;
int anInt142;
int anInt143;
byte[][] aByteArrayArray146 = new byte[6][258];
int anInt147;
}

View file

@ -0,0 +1,554 @@
package org.runite.client;
public final class Bzip2Decompressor {
private static Bzip2Context context = new Bzip2Context();
private static int method1633(int var0, Bzip2Context var1) {
while(var1.anInt128 < var0) {
var1.anInt140 = var1.anInt140 << 8 | var1.aByteArray127[var1.anInt116] & 255;
var1.anInt128 += 8;
++var1.anInt116;
++var1.anInt147;
}
int var3 = var1.anInt140 >> var1.anInt128 - var0 & (1 << var0) - 1;
var1.anInt128 -= var0;
return var3;
}
private static void method1634(Bzip2Context var0) {
byte var2 = var0.aByte111;
int var3 = var0.anInt143;
int var4 = var0.anInt131;
int var5 = var0.anInt129;
int[] var6 = Class129.anIntArray1690;
int var7 = var0.anInt133;
byte[] var8 = var0.aByteArray117;
int var9 = var0.anInt118;
int var10 = var0.anInt126;
int var12 = var0.anInt121 + 1;
label67:
while(true) {
if(var3 > 0) {
while(true) {
if(var10 == 0) {
break label67;
}
if(var3 == 1) {
var8[var9] = var2;
++var9;
--var10;
break;
}
var8[var9] = var2;
--var3;
++var9;
--var10;
}
}
boolean var14 = true;
byte var1;
while(var14) {
var14 = false;
if(var4 == var12) {
var3 = 0;
break label67;
}
var2 = (byte)var5;
var7 = var6[var7];
var1 = (byte)(var7 & 255);
var7 >>= 8;
++var4;
if(var1 != var5) {
var5 = var1;
if(var10 == 0) {
var3 = 1;
break label67;
}
var8[var9] = var2;
++var9;
--var10;
var14 = true;
} else if(var4 == var12) {
if(var10 == 0) {
var3 = 1;
break label67;
}
var8[var9] = var2;
++var9;
--var10;
var14 = true;
}
}
var3 = 2;
var7 = var6[var7];
var1 = (byte)(var7 & 255);
var7 >>= 8;
++var4;
if(var4 != var12) {
if(var1 == var5) {
var3 = 3;
var7 = var6[var7];
var1 = (byte)(var7 & 255);
var7 >>= 8;
++var4;
if(var4 != var12) {
if(var1 == var5) {
var7 = var6[var7];
var1 = (byte)(var7 & 255);
var7 >>= 8;
++var4;
var3 = (var1 & 255) + 4;
var7 = var6[var7];
var5 = (byte)(var7 & 255);
var7 >>= 8;
++var4;
} else {
var5 = var1;
}
}
} else {
var5 = var1;
}
}
}
var0.aByte111 = var2;
var0.anInt143 = var3;
var0.anInt131 = var4;
var0.anInt129 = var5;
Class129.anIntArray1690 = var6;
var0.anInt133 = var7;
var0.aByteArray117 = var8;
var0.anInt118 = var9;
var0.anInt126 = var10;
}
private static void method1635(int[] var0, int[] var1, int[] var2, byte[] var3, int var4, int var5, int var6) {
int var7 = 0;
int var8;
for(var8 = var4; var8 <= var5; ++var8) {
for(int var9 = 0; var9 < var6; ++var9) {
if(var3[var9] == var8) {
var2[var7] = var9;
++var7;
}
}
}
for(var8 = 0; var8 < 23; ++var8) {
var1[var8] = 0;
}
for(var8 = 0; var8 < var6; ++var8) {
++var1[var3[var8] + 1];
}
for(var8 = 1; var8 < 23; ++var8) {
var1[var8] += var1[var8 - 1];
}
for(var8 = 0; var8 < 23; ++var8) {
var0[var8] = 0;
}
int var10 = 0;
for(var8 = var4; var8 <= var5; ++var8) {
var10 += var1[var8 + 1] - var1[var8];
var0[var8] = var10 - 1;
var10 <<= 1;
}
for(var8 = var4 + 1; var8 <= var5; ++var8) {
var1[var8] = (var0[var8 - 1] + 1 << 1) - var1[var8];
}
}
private static void method1636(Bzip2Context var0) {
var0.anInt137 = 0;
for(int var1 = 0; var1 < 256; ++var1) {
if(var0.aBooleanArray112[var1]) {
var0.aByteArray114[var0.anInt137] = (byte)var1;
++var0.anInt137;
}
}
}
private static byte method1637(Bzip2Context var0) {
return (byte)method1633(8, var0);
}
private static void method1638(Bzip2Context var0) {
int var22;
int[] var23;
int[] var24;
int[] var25;
var0.anInt142 = 1;
if(Class129.anIntArray1690 == null) {
Class129.anIntArray1690 = new int[var0.anInt142 * 100000];
}
boolean var26 = true;
while(var26) {
byte var1 = method1637(var0);
if(var1 == 23) {
return;
}
var1 = method1637(var0);
var1 = method1637(var0);
var1 = method1637(var0);
var1 = method1637(var0);
var1 = method1637(var0);
var1 = method1637(var0);
var1 = method1637(var0);
var1 = method1637(var0);
var1 = method1637(var0);
var1 = method1639(var0);
var0.anInt135 = 0;
var1 = method1637(var0);
var0.anInt135 = var0.anInt135 << 8 | var1 & 255;
var1 = method1637(var0);
var0.anInt135 = var0.anInt135 << 8 | var1 & 255;
var1 = method1637(var0);
var0.anInt135 = var0.anInt135 << 8 | var1 & 255;
int var35;
for(var35 = 0; var35 < 16; ++var35) {
var1 = method1639(var0);
var0.aBooleanArray124[var35] = var1 == 1;
}
for(var35 = 0; var35 < 256; ++var35) {
var0.aBooleanArray112[var35] = false;
}
int var36;
for(var35 = 0; var35 < 16; ++var35) {
if(var0.aBooleanArray124[var35]) {
for(var36 = 0; var36 < 16; ++var36) {
var1 = method1639(var0);
if(var1 == 1) {
var0.aBooleanArray112[var35 * 16 + var36] = true;
}
}
}
}
method1636(var0);
int var38 = var0.anInt137 + 2;
int var39 = method1633(3, var0);
int var40 = method1633(15, var0);
var35 = 0;
while(var35 < var40) {
var36 = 0;
while(true) {
var1 = method1639(var0);
if(var1 == 0) {
var0.aByteArray139[var35] = (byte)var36;
++var35;
break;
}
++var36;
}
}
byte[] var27 = new byte[6];
byte var29;
for(var29 = 0; var29 < var39; var27[var29] = var29++) {
}
for(var35 = 0; var35 < var40; ++var35) {
var29 = var0.aByteArray139[var35];
byte var28;
for(var28 = var27[var29]; var29 > 0; --var29) {
var27[var29] = var27[var29 - 1];
}
var27[0] = var28;
var0.aByteArray130[var35] = var28;
}
int var37;
for(var37 = 0; var37 < var39; ++var37) {
int var49 = method1633(5, var0);
var35 = 0;
while(var35 < var38) {
while(true) {
var1 = method1639(var0);
if(var1 == 0) {
var0.aByteArrayArray146[var37][var35] = (byte)var49;
++var35;
break;
}
var1 = method1639(var0);
if(var1 == 0) {
++var49;
} else {
--var49;
}
}
}
}
for(var37 = 0; var37 < var39; ++var37) {
byte var2 = 32;
byte var3 = 0;
for(var35 = 0; var35 < var38; ++var35) {
if(var0.aByteArrayArray146[var37][var35] > var3) {
var3 = var0.aByteArrayArray146[var37][var35];
}
if(var0.aByteArrayArray146[var37][var35] < var2) {
var2 = var0.aByteArrayArray146[var37][var35];
}
}
method1635(var0.anIntArrayArray115[var37], var0.anIntArrayArray108[var37], var0.anIntArrayArray110[var37], var0.aByteArrayArray146[var37], var2, var3, var38);
var0.anIntArray138[var37] = var2;
}
int var42 = var0.anInt137 + 1;
int var41 = -1;
byte var43;
for(var35 = 0; var35 <= 255; ++var35) {
var0.anIntArray134[var35] = 0;
}
int var56 = 4095;
int var55;
int var54;
for(var55 = 15; var55 >= 0; --var55) {
for(var54 = 15; var54 >= 0; --var54) {
var0.aByteArray109[var56] = (byte)(var55 * 16 + var54);
--var56;
}
var0.anIntArray123[var55] = var56 + 1;
}
int var47 = 0;
byte var53;
++var41;
var43 = 50;
var53 = var0.aByteArray130[var41];
var22 = var0.anIntArray138[var53];
var23 = var0.anIntArrayArray115[var53];
var25 = var0.anIntArrayArray110[var53];
var24 = var0.anIntArrayArray108[var53];
int var45 = var43 - 1;
int var51 = var22;
int var50;
byte var52;
for(var50 = method1633(var22, var0); var50 > var23[var51]; var50 = var50 << 1 | var52) {
++var51;
var52 = method1639(var0);
}
int var44 = var25[var50 - var24[var51]];
while(var44 != var42) {
if(var44 == 0 || var44 == 1) {
int var46 = -1;
int var48 = 1;
do {
if(var44 == 0) {
var46 += var48;
} else {
var46 += 2 * var48;
}
var48 *= 2;
if(var45 == 0) {
++var41;
var45 = 50;
var53 = var0.aByteArray130[var41];
var22 = var0.anIntArray138[var53];
var23 = var0.anIntArrayArray115[var53];
var25 = var0.anIntArrayArray110[var53];
var24 = var0.anIntArrayArray108[var53];
}
--var45;
var51 = var22;
for(var50 = method1633(var22, var0); var50 > var23[var51]; var50 = var50 << 1 | var52) {
++var51;
var52 = method1639(var0);
}
var44 = var25[var50 - var24[var51]];
} while(var44 == 0 || var44 == 1);
++var46;
var1 = var0.aByteArray114[var0.aByteArray109[var0.anIntArray123[0]] & 255];
for(var0.anIntArray134[var1 & 255] += var46; var46 > 0; --var46) {
Class129.anIntArray1690[var47] = var1 & 255;
++var47;
}
} else {
int var33 = var44 - 1;
int var30;
if(var33 < 16) {
var30 = var0.anIntArray123[0];
for(var1 = var0.aByteArray109[var30 + var33]; var33 > 3; var33 -= 4) {
int var34 = var30 + var33;
var0.aByteArray109[var34] = var0.aByteArray109[var34 - 1];
var0.aByteArray109[var34 - 1] = var0.aByteArray109[var34 - 2];
var0.aByteArray109[var34 - 2] = var0.aByteArray109[var34 - 3];
var0.aByteArray109[var34 - 3] = var0.aByteArray109[var34 - 4];
}
while(var33 > 0) {
var0.aByteArray109[var30 + var33] = var0.aByteArray109[var30 + var33 - 1];
--var33;
}
var0.aByteArray109[var30] = var1;
} else {
int var31 = var33 / 16;
int var32 = var33 % 16;
var30 = var0.anIntArray123[var31] + var32;
for(var1 = var0.aByteArray109[var30]; var30 > var0.anIntArray123[var31]; --var30) {
var0.aByteArray109[var30] = var0.aByteArray109[var30 - 1];
}
++var0.anIntArray123[var31];
while(var31 > 0) {
--var0.anIntArray123[var31];
var0.aByteArray109[var0.anIntArray123[var31]] = var0.aByteArray109[var0.anIntArray123[var31 - 1] + 16 - 1];
--var31;
}
--var0.anIntArray123[0];
var0.aByteArray109[var0.anIntArray123[0]] = var1;
if(var0.anIntArray123[0] == 0) {
var56 = 4095;
for(var55 = 15; var55 >= 0; --var55) {
for(var54 = 15; var54 >= 0; --var54) {
var0.aByteArray109[var56] = var0.aByteArray109[var0.anIntArray123[var55] + var54];
--var56;
}
var0.anIntArray123[var55] = var56 + 1;
}
}
}
++var0.anIntArray134[var0.aByteArray114[var1 & 255] & 255];
Class129.anIntArray1690[var47] = var0.aByteArray114[var1 & 255] & 255;
++var47;
if(var45 == 0) {
++var41;
var45 = 50;
var53 = var0.aByteArray130[var41];
var22 = var0.anIntArray138[var53];
var23 = var0.anIntArrayArray115[var53];
var25 = var0.anIntArrayArray110[var53];
var24 = var0.anIntArrayArray108[var53];
}
--var45;
var51 = var22;
for(var50 = method1633(var22, var0); var50 > var23[var51]; var50 = var50 << 1 | var52) {
++var51;
var52 = method1639(var0);
}
var44 = var25[var50 - var24[var51]];
}
}
var0.anInt143 = 0;
var0.aByte111 = 0;
var0.anIntArray122[0] = 0;
for(var35 = 1; var35 <= 256; ++var35) {
var0.anIntArray122[var35] = var0.anIntArray134[var35 - 1];
}
for(var35 = 1; var35 <= 256; ++var35) {
var0.anIntArray122[var35] += var0.anIntArray122[var35 - 1];
}
for(var35 = 0; var35 < var47; ++var35) {
var1 = (byte)(Class129.anIntArray1690[var35] & 255);
Class129.anIntArray1690[var0.anIntArray122[var1 & 255]] |= var35 << 8;
++var0.anIntArray122[var1 & 255];
}
var0.anInt133 = Class129.anIntArray1690[var0.anInt135] >> 8;
var0.anInt131 = 0;
var0.anInt133 = Class129.anIntArray1690[var0.anInt133];
var0.anInt129 = (byte)(var0.anInt133 & 255);
var0.anInt133 >>= 8;
++var0.anInt131;
var0.anInt121 = var47;
method1634(var0);
var26 = var0.anInt131 == var0.anInt121 + 1 && var0.anInt143 == 0;
}
}
private static byte method1639(Bzip2Context var0) {
return (byte)method1633(1, var0);
}
public static void decompress(byte[] var0, int var1, byte[] var2) {
Bzip2Context context = Bzip2Decompressor.context;
synchronized(context) {
Bzip2Decompressor.context.aByteArray127 = var2;
Bzip2Decompressor.context.anInt116 = 9;
Bzip2Decompressor.context.aByteArray117 = var0;
Bzip2Decompressor.context.anInt118 = 0;
Bzip2Decompressor.context.anInt126 = var1;
Bzip2Decompressor.context.anInt128 = 0;
Bzip2Decompressor.context.anInt140 = 0;
Bzip2Decompressor.context.anInt147 = 0;
Bzip2Decompressor.context.anInt141 = 0;
method1638(Bzip2Decompressor.context);
var1 -= Bzip2Decompressor.context.anInt126;
Bzip2Decompressor.context.aByteArray127 = null;
Bzip2Decompressor.context.aByteArray117 = null;
}
}
}

View file

@ -0,0 +1,87 @@
package org.runite.client;
public enum CS2AsmOpcodes {
// Copies the operand specified by the instruction to the int stack
PUSH_INT(0),
// Copies the int from ram onto the int stack specified by the operand
PUSH_INT_FROM_RAM(1),
// Copies an int from the stack onto ram, using the ram address specified by the operand
POP_INT_TO_RAM(2),
// Copies the operand specified by the instruction to the string stack
PUSH_STR(3),
// Jump to the relative location given by the operand. EG an op of 4 will jump ahead 4 instructions.
JUMP(6),
// Jumps to the relative location given by the operand IFF the last two values pushed on the int stack are NOT equal
// THIS ALSO POPS THE STACK TWICE
BRANCH_NOT_EQUAL(7),
// Jumps to the relative location given by the operand IFF the last two values on the int stack are equal
// THIS ALSO POPS THE STACK TWICE
BRANCH_EQUAL(8),
// Jumps to the relative location given by operand IFF the most recent value on the int stack > the second most recent one
// THIS ALSO POPS THE STACK TWICE
BRANCH_GREATER_THAN(9),
// See above but in reverse
BRANCH_LESS_THAN(10),
// Returns from the current method, completely analogous to returning from a method in any other programming language.
// It places you back on the previous method and resumes execution right after the call.
// IT DOES NOT TOUCH THE INT OR STRING STACK OR THE RAM.
RETURN(21),
// TODO: Opcode 25, opcode 27. I suspect these are tied together
// See 9 and 10
BRANCH_GREATER_OR_EQUAL(31),
BRANCH_LESS_OR_EQUAL(32),
// Copies the int from the int args array onto the stack specified by the operand.
// eg if the operand is 2 it copies the second int arg onto the stack
PUSH_INT_FROM_ARGS(33),
// Copies an int from the stack onto the int args array. It copies it onto the argument array index specified
// by the operand.
POP_INT_TO_ARGS(34),
// See above but for the string array and string args.
PUSH_STRING_FROM_ARGS(35),
POP_STRING_TO_ARGS(36),
// TODO: Opcode 37
// Pops int/string from the stack without using it. Effectively throwing it away.
POP_INT(38),
POP_STRING(39),
// Calls the method specified by the operand. The method's arguments are LOADED from the int and string stack
// If it has 4 int arguments, for instance, it will pop the int stack four times and assign these values in
// REVERSE order. That is, the first popped value becomes the LAST argument. Number of arguments are given in
// AssembledMethod.NumberOf[X]Arguments
// This effectively "resets" the program counter. It DOES NOT RESET THE INT OR STRING STACK OR THE RAM.
// Also It adds the previous method to the method stack. SEE RETURN(21)
CALL(40),
// TODO: Opcodes 42 and 43. 42 saves to a special different kind of ram that only 43 can load from. 43
// does some weird shit with this number
// allocates one of the five paged ram pages as selected by the top 16 bits of the operand.
// If the bottom 16 bits equal 105, this will be allocated as all zeroes.
// Otherwise it will be allocated with all -1s. Why?? Jagex is fucking stupid idk.
// THE NUMBER OF INTS ALLOCATED IS BASED ON THE VALUE ON INT STACK.
// POPS THE INT STACK
ALLOCATE_PAGED_RAM(44),
// Replaces the value at the end of the stack with the value in the ram page specified by the operand
// and the page entry specified by the last value of the int stack
REPLACE_STACK_PAGED_RAM(45),
// Copies an int from the int stack to paged ram. The page is given by the operand and the
// page entry is given by the NEXT value on the int stack.
// Thus this pops the int stack TWICE.
POP_TO_PAGED_RAM(46);
private int op;
public int getOp() {
return this.op;
}
private CS2AsmOpcodes(int op) {
this.op = op;
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,652 @@
package org.runite.client;
import org.rs09.client.config.GameConfig;
import org.rs09.client.filestore.ReferenceTable;
import org.rs09.client.filestore.ResourceProvider;
import org.rs09.client.filestore.compression.Container;
import org.rs09.client.util.ArrayUtils;
import org.rs09.client.util.CRC;
import java.util.Objects;
public final class CacheIndex {
/**
* These Indexes listed below are mostly used for CRC checks
*/
public static CacheIndex fontsIndex;
static CacheIndex skeletonsIndex;
static CacheIndex skinsIndex;
static CacheIndex configurationsIndex;
static CacheIndex interfacesIndex;
static CacheIndex soundFXIndex;
static CacheIndex landscapesIndex;
static CacheIndex musicIndex;
static CacheIndex modelsIndex;
public static CacheIndex spritesIndex;
static CacheIndex texturesIndex;
static CacheIndex huffmanEncodingIndex;
static CacheIndex music2Index;
static CacheIndex interfaceScriptsIndex;
static CacheIndex soundFX2Index;
static CacheIndex soundFX3Index;
static CacheIndex objectConfigIndex;
static CacheIndex clientscriptMaskIndex;
static CacheIndex npcConfigIndex;
static CacheIndex itemConfigIndex;
static CacheIndex animationIndex;
static CacheIndex graphicFXIndex;
static CacheIndex clientScriptConfigIndex;
static CacheIndex worldmapIndex;
static CacheIndex quickchatMessagesIndex;
static CacheIndex quickchatMenusIndex;
static CacheIndex materialsIndex;
static CacheIndex particlesConfigIndex;
static CacheIndex libIndex;
/**
*/
private boolean discardPacked;
private final boolean aBoolean1946;
private final ResourceProvider provider;
private ReferenceTable referenceTable = null;
private Object[] packed;
private Object[][] unpacked;
private static Object wrap(byte[] data) {
if (data == null) {
return null;
}
if (data.length > 136 && !GameConfig.CACHE_DEBUG) {
try {
Class144 buffer = new Class144_Sub1();
buffer.setBytes(data);
return buffer;
} catch (Throwable var4) {
GameConfig.CACHE_DEBUG = true;
}
}
return data;
}
final boolean method2113() {
try {
if (this.isReady()) {
boolean var2 = true;
for (int var3 = 0; this.referenceTable.validArchiveIds.length > var3; ++var3) {
int var4 = this.referenceTable.validArchiveIds[var3];
if (null == this.packed[var4]) {
this.load(var4);
if (null == this.packed[var4]) {
var2 = false;
}
}
}
return var2;
} else {
return false;
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "ve.IA()");
}
}
private int method2114(int var1) {
if (this.isValidArchive(var1)) {
return this.packed[var1] != null ? 100 : this.provider.percentComplete(var1);
} else {
return 0;
}
}
final void method2115(int var1, boolean var2) {
try {
if (this.isReady()) {
if (var2) {
this.referenceTable.archiveNameHash = null;
this.referenceTable.setALookupTable_949(null);
}
this.referenceTable.setALookupTableArray962(null);
this.referenceTable.setFileNameHashes(null);
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "ve.R(" + var1 + ',' + var2 + ',' + true + ')');
}
}
final int method2116(RSString var2) {
try {
if (this.isReady()) {
var2 = var2.toLowercase();
int var3 = this.referenceTable.getALookupTable_949().get(var2.method1574());
return this.method2114(var3);
} else {
return 0;
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "ve.P(" + 22813 + ',' + (var2 != null ? "{...}" : "null") + ')');
}
}
final boolean method2117(int var2) {
if (this.isValidArchive(var2)) {
if (null == this.packed[var2]) {
this.load(var2);
return null != this.packed[var2];
} else {
return true;
}
} else {
return false;
}
}
final int getReferenceTableCrc() {
if (this.isReady()) {
return this.referenceTable.getCrc();
} else {
throw new IllegalStateException("");
}
}
final int getArchiveForName(RSString name) {
try {
if (this.isReady()) {
name = name.toLowercase();
int var3 = this.referenceTable.getALookupTable_949().get(name.method1574());
return this.isValidArchive(var3) ? var3 : -1;
} else {
return -1;
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "ve.EA(" + (name != null ? "{...}" : "null") + ',' + (byte) -30 + ')');
}
}
final int method2121() {
try {
if (this.isReady()) {
return this.referenceTable.archiveLengths.length;
} else {
return -1;
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "ve.D(" + 0 + ')');
}
}
private boolean isReady() {
if (this.referenceTable == null) {
this.referenceTable = this.provider.getReferenceTable();
if (this.referenceTable == null) {
return false;
}
this.unpacked = new Object[this.referenceTable.getArchiveAmount()][];
this.packed = new Object[this.referenceTable.getArchiveAmount()];
}
return true;
}
final byte[] method2123(RSString var2, RSString var3) {
try {
if (this.isReady()) {
var3 = var3.toLowercase();
var2 = var2.toLowercase();
int var4 = this.referenceTable.getALookupTable_949().get(var3.method1574());
if (this.isValidArchive(var4)) {
int var5 = this.referenceTable.getALookupTableArray962()[var4].get(var2.method1574());
return this.getFile(var4, var5);
} else {
return null;
}
} else {
return null;
}
} catch (RuntimeException var6) {
throw ClientErrorException.clientError(var6, "ve.C(" + 0 + ',' + (var2 != null ? "{...}" : "null") + ',' + (var3 != null ? "{...}" : "null") + ')');
}
}
final void method2124(int var1, RSString var2) {
try {
if (this.isReady()) {
var2 = var2.toLowercase();
int var3 = this.referenceTable.getALookupTable_949().get(var2.method1574());
this.request(var3);
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "ve.V(" + var1 + ',' + (var2 != null ? "{...}" : "null") + ')');
}
}
final boolean method2125(RSString var1, RSString var3) {
try {
if (this.isReady()) {
var3 = var3.toLowercase();
var1 = var1.toLowercase();
int var4 = this.referenceTable.getALookupTable_949().get(var3.method1574());
if (this.isValidArchive(var4)) {
int var5 = this.referenceTable.getALookupTableArray962()[var4].get(var1.method1574());
return this.method2129((byte) 70, var5, var4);
} else {
return false;
}
} else {
return false;
}
} catch (RuntimeException var6) {
throw ClientErrorException.clientError(var6, "ve.DA(" + (var1 != null ? "{...}" : "null") + ',' + (byte) 116 + ',' + (var3 != null ? "{...}" : "null") + ')');
}
}
final byte[] getFile(int archive, int file, int[] xtea) {
if (!this.isValidFile(archive, file)) {
return null;
}
if (this.unpacked[archive] == null || this.unpacked[archive][file] == null) {
boolean loaded = this.unpack(archive, xtea);
if (!loaded) {
this.load(archive);
loaded = this.unpack(archive, xtea);
if (!loaded) {
return null;
}
}
}
byte[] var7 = NPC.method1985(this.unpacked[archive][file], false);
if (this.aBoolean1946) {
this.unpacked[archive][file] = null;
if (this.referenceTable.archiveLengths[archive] == 1) {
this.unpacked[archive] = null;
}
}
return var7;
}
final boolean method2127(RSString var2) {
try {
if (this.isReady()) {
var2 = var2.toLowercase();
int var3 = this.referenceTable.getALookupTable_949().get(var2.method1574());
return this.method2117(var3);
} else {
return false;
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "ve.O(" + (byte) -83 + ',' + (var2 != null ? "{...}" : "null") + ')');
}
}
final void method2128(int var2) {
try {
if (this.isValidArchive(var2)) {
if (null != this.unpacked) {
this.unpacked[var2] = null;
}
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "ve.B(" + 7561 + ',' + var2 + ')');
}
}
final boolean method2129(byte var1, int var2, int var3) {
try {
if (this.isValidFile(var3, var2)) {
if (this.unpacked[var3] != null && null != this.unpacked[var3][var2]) {
return true;
} else if (this.packed[var3] == null) {
this.load(var3);
return this.packed[var3] != null;
} else {
return true;
}
} else {
return false;
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "ve.FA(" + var1 + ',' + var2 + ',' + var3 + ')');
}
}
private boolean isValidArchive(int archiveId) {
if (!this.isReady()) {
return false;
}
if (archiveId >= 0
&& this.referenceTable.archiveLengths.length > archiveId
&& this.referenceTable.archiveLengths[archiveId] != 0)
return true;
if (GameConfig.CACHE_DEBUG)
throw new IllegalArgumentException(Integer.toString(archiveId));
return false;
}
private void request(int archive) {
this.provider.request(archive);
}
private boolean unpack(int archive, int[] xtea) {
if (!isValidArchive(archive)) return false;
if (packed[archive] == null) return false;
int count = this.referenceTable.archiveFileLengths[archive];
int[] indices = this.referenceTable.validFileIds[archive];
if (this.unpacked[archive] == null) {
this.unpacked[archive] = new Object[this.referenceTable.archiveLengths[archive]];
}
boolean finished = true;
Object[] objects = this.unpacked[archive];
for (int i = 0; i < count; ++i) {
int index;
if (indices == null) {
index = i;
} else {
index = indices[i];
}
if (objects[index] == null) {
finished = false;
break;
}
}
if (finished) return true;
byte[] decrypted;
if (xtea != null && (xtea[0] != 0 || xtea[1] != 0 || xtea[2] != 0 || xtea[3] != 0)) {
decrypted = NPC.method1985(this.packed[archive], true);
DataBuffer buffer = new DataBuffer(decrypted);
buffer.method770(xtea, buffer.buffer.length);
} else {
decrypted = NPC.method1985(this.packed[archive], false);
}
byte[] data = new byte[0];
try {
data = Container.INSTANCE.decode(decrypted);//Class3_Sub28_Sub13.decodeContainer(var21);
} catch (Throwable e) {
System.out.println("Tried to go into a null area");
System.out.println("T3 - " + (xtea != null) + "," + archive + "," + Objects.requireNonNull(decrypted).length + "," + CRC.INSTANCE.crc32(decrypted, decrypted.length) + "," + CRC.INSTANCE.crc32(decrypted, decrypted.length - 2) + "," + this.referenceTable.archiveCRCs[archive] + "," + this.referenceTable.getCrc());
//throw ClientErrorException.clientError(e, "T3 - " + (xtea != null) + "," + archive + "," + Objects.requireNonNull(decrypted).length + "," + CRC.INSTANCE.crc32(decrypted, decrypted.length) + "," + CRC.INSTANCE.crc32(decrypted, decrypted.length - 2) + "," + this.referenceTable.archiveCRCs[archive] + "," + this.referenceTable.getCrc());
}
if (this.discardPacked) {
this.packed[archive] = null;
}
int start;
if (count > 1) {
start = data.length;
start--;
int blockCount = data[start] & 0xff;
start -= count * blockCount * 4;
DataBuffer buffer = new DataBuffer(data);
buffer.index = start;
int[] var13 = new int[count];
int var15;
int var16;
for (int var14 = 0; blockCount > var14; ++var14) {
var15 = 0;
for (var16 = 0; var16 < count; ++var16) {
var15 += buffer.readInt();
var13[var16] += var15;
}
}
byte[][] var24 = new byte[count][];
for (var15 = 0; count > var15; ++var15) {
var24[var15] = new byte[var13[var15]];
var13[var15] = 0;
}
buffer.index = start;
var15 = 0;
int var17;
for (var16 = 0; blockCount > var16; ++var16) {
var17 = 0;
for (int var18 = 0; var18 < count; ++var18) {
var17 += buffer.readInt();
ArrayUtils.arraycopy(data, var15, var24[var18], var13[var18], var17);
var15 += var17;
var13[var18] += var17;
}
}
for (var16 = 0; var16 < count; ++var16) {
if (indices == null) {
var17 = var16;
} else {
var17 = indices[var16];
}
if (this.aBoolean1946) {
objects[var17] = var24[var16];
} else {
objects[var17] = wrap(var24[var16]);
}
}
} else {
if (null == indices) {
start = 0;
} else {
start = indices[0];
}
if (this.aBoolean1946) {
objects[start] = data;
} else {
objects[start] = wrap(data);
}
}
return true;
}
public final byte[] getFile(int archive, int file) {
return this.getFile(archive, file, null);
}
private void load(int archive) {
if (this.discardPacked) {
this.packed[archive] = this.provider.get(archive);
} else {
this.packed[archive] = wrap(this.provider.get(archive));
}
}
final boolean method2135(RSString var1) {
try {
if (this.isReady()) {
var1 = var1.toLowercase();
int var3 = this.referenceTable.getALookupTable_949().get(var1.method1574());
return var3 >= 0;
} else {
return false;
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "ve.S(" + (var1 != null ? "{...}" : "null") + ')');
}
}
final int method2136(byte var1) {
try {
if (var1 > -121) {
Unsorted.anInt1950 = -3;
}
if (this.isReady()) {
int var2 = 0;
int var3 = 0;
int var4;
for (var4 = 0; var4 < this.packed.length; ++var4) {
if (0 < this.referenceTable.archiveFileLengths[var4]) {
var2 += 100;
var3 += this.method2114(var4);
}
}
if (var2 == 0) {
return 100;
} else {
var4 = var3 * 100 / var2;
return var4;
}
} else {
return 0;
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "ve.N(" + var1 + ')');
}
}
final void method2137() {
try {
if (this.unpacked != null) {
for (int var2 = 0; this.unpacked.length > var2; ++var2) {
this.unpacked[var2] = null;
}
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "ve.Q(" + ')');
}
}
final byte[] method2138(int var1) {
try {
if (!this.isReady()) {
return null;
} else if (this.referenceTable.archiveLengths.length == 1) {
return this.getFile(0, var1);
} else if (!this.isValidArchive(var1)) {
return null;
} else if (this.referenceTable.archiveLengths[var1] == 1) {
return this.getFile(var1, 0);
} else {
throw new RuntimeException();
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "ve.HA(" + var1 + ',' + 0 + ')');
}
}
private boolean isValidFile(int archive, int file) {
if (!this.isReady()) {
return false;
}
if (0 <= archive
&& file >= 0 && archive < this.referenceTable.archiveLengths.length
&& this.referenceTable.archiveLengths[archive] > file)
return true;
if (GameConfig.CACHE_DEBUG)
throw new IllegalArgumentException(archive + "," + file);
return false;
}
final byte[] method2140(int file, int archive) {
if (this.isValidFile(archive, file)) {
if (this.unpacked[archive] == null || null == this.unpacked[archive][file]) {
boolean var4 = this.unpack(archive, (int[]) null);
if (!var4) {
this.load(archive);
var4 = this.unpack(archive, (int[]) null);
if (!var4) {
return null;
}
}
}
return NPC.method1985(this.unpacked[archive][file], false);
} else {
return null;
}
}
final int[] getFileIds(int archiveId) {
try {
if (this.isValidArchive(archiveId)) {
int[] var3 = this.referenceTable.validFileIds[archiveId];
if (null == var3) {
var3 = new int[this.referenceTable.archiveFileLengths[archiveId]];
for (int var4 = 0; var3.length > var4; var3[var4] = var4++) {
}
}
return var3;
} else {
return null;
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "ve.G(" + (byte) -128 + ',' + archiveId + ')');
}
}
public CacheIndex(ResourceProvider provider, boolean var2, boolean var3) {
this.provider = provider;
this.discardPacked = var2;
this.aBoolean1946 = var3;
}
final int getFileAmount(int archiveId) {
try {
if (this.isValidArchive(archiveId)) {
return this.referenceTable.archiveLengths[archiveId];
} else {
return 0;
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "ve.H(" + archiveId + ')');
}
}
public final boolean retrieveSpriteFile(int archiveId) {
try {
if (!this.isReady()) {
return false;
} else if (this.referenceTable.archiveLengths.length == 1) {
return this.method2129((byte) 86, archiveId, 0);
} else if (this.isValidArchive(archiveId)) {
if (1 == this.referenceTable.archiveLengths[archiveId]) {
return this.method2129((byte) 109, 0, archiveId);
} else {
throw new RuntimeException();
}
} else {
return false;
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "ve.A(" + 0 + ',' + archiveId + ')');
}
}
}

View file

@ -0,0 +1,20 @@
package org.runite.client;
final class CacheResourceRequest extends ResourceRequest {
Class41 cache;
byte[] data;
int type;
final byte[] getData() {
if (this.waiting) {
throw new RuntimeException("Attempted to get data while request was not completed yet");
}
return this.data;
}
final int getCompletion() {
return this.waiting ? 0 : 100;
}
}

View file

@ -0,0 +1,124 @@
package org.runite.client;
import org.rs09.client.data.Queue;
import java.util.Objects;
final class CacheResourceWorker implements Runnable {
private final Queue<CacheResourceRequest> requests = new Queue<>();
private boolean stopped = false;
private Thread thread;
public int remaining = 0;
private void addRequest(CacheResourceRequest request) {
synchronized (this.requests) {
this.requests.offer(request);
this.remaining++;
this.requests.notifyAll();
}
}
public final void stop() {
this.stopped = true;
synchronized (this.requests) {
this.requests.notifyAll();
}
try {
this.thread.join();
} catch (InterruptedException var4) {
}
this.thread = null;
}
public final void write(Class41 cache, int archive, byte[] data) {
CacheResourceRequest var5 = new CacheResourceRequest();
var5.data = data;
var5.priority = false;
var5.nodeKey = archive;
var5.cache = cache;
var5.type = 2;
this.addRequest(var5);
}
public final CacheResourceRequest read(Class41 cache, int archive) {
CacheResourceRequest var4 = new CacheResourceRequest();
var4.cache = cache;
var4.type = 3;
var4.priority = false;
var4.nodeKey = archive;
this.addRequest(var4);
return var4;
}
public final CacheResourceRequest priorityRead(Class41 cache, int archive) {
CacheResourceRequest var4 = new CacheResourceRequest();
var4.type = 1;
synchronized (this.requests) {
CacheResourceRequest var6 = this.requests.getFront();
while (var6 != null) {
if ((long) archive == var6.nodeKey && var6.cache == cache && var6.type == 2) {
var4.data = var6.data;
var4.waiting = false;
return var4;
}
var6 = this.requests.next();
}
}
var4.data = cache.read(archive);
var4.waiting = false;
var4.priority = true;
return var4;
}
public final void run() {
while (!this.stopped) {
CacheResourceRequest request;
synchronized (this.requests) {
request = this.requests.poll();
if (request == null) {
try {
this.requests.wait();
} catch (InterruptedException var6) {
}
continue;
}
this.remaining--;
}
try {
if (request.type == 2) {
request.cache.write((int) request.nodeKey, request.data.length, request.data);
} else if (request.type == 3) {
request.data = request.cache.read((int) request.nodeKey);
}
} catch (Exception var5) {
Class49.method1125(null, var5, (byte) 111);
}
request.waiting = false;
}
}
public CacheResourceWorker() {
Class64 var1 = Class38.aClass87_665.method1451(5, this);
while (Objects.requireNonNull(var1).anInt978 == 0) {
TimeUtils.sleep(10L);
}
if (var1.anInt978 == 2) {
throw new RuntimeException();
} else {
this.thread = (Thread) var1.anObject974;
}
}
}

View file

@ -0,0 +1,684 @@
package org.runite.client;
import org.rs09.client.data.HashTable;
import org.rs09.client.rendering.Toolkit;
final class Class1 {
static int[] anIntArray52 = new int[4096];
static boolean[] aBooleanArray54;
static int screenUpperY;
static int anInt56;
static int anInt57;
static RSString aClass94_58;
static int[] anIntArray2642 = new int[]{1, 1, 1, 1, 4, 1, 1, 5, 6, 1, 5, 0, 7, 0, 4, 1, 7, 2, 1, 1, 6, 1, 1, 3, 6, 1, 7, 0, 0, 6, 7, 0, 1, 7, 6, 1, 1, 1, 5, 4, 3, 2, 1, 1, 0, 4, 1, 5};
static void method69(Class36 var0) {
try {
Class3_Sub13_Sub9.aClass36_3112 = var0;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "a.B(" + (var0 != null ? "{...}" : "null") + ')');
}
}
static Class3_Sub11[] method70(float[][] var0, float[][] var1, int[][] var2, int var3, float[][] var4, byte[][] var5, int[][] var6, byte[][] var8, byte[][] var9, byte[][] var10, byte[][][] var11) {
try {
HashTable var12 = new HashTable(128);
int var13;
int var14;
int var15;
int var16;
int var21;
int var23;
int var22;
int var25;
int var24;
int var27;
int var26;
int var29;
int var28;
int var30;
int var35;
byte var33;
int var36;
int var58;
int var65;
boolean[] var79;
int var73;
int var74;
boolean[] var75;
boolean[] var81;
for (var13 = 1; var13 <= 102; ++var13) {
for (var14 = 1; var14 <= 102; ++var14) {
var15 = var9[var13][var14] & 255;
var16 = 255 & var10[var13][var14];
if (var16 != 0) {
Class168 var17 = Class3_Sub13_Sub37.method350((byte) -81, -1 + var16);
if (var17.anInt2103 == -1) {
continue;
}
Class3_Sub11 var18 = method2052(var12, var17);
byte var19 = var8[var13][var14];
int[] var20 = Class134.anIntArrayArray1763[var19];
var18.anInt2342 += var20.length / 2;
++var18.anInt2344;
if (var17.aBoolean2092 && var15 != 0) {
var18.anInt2342 += Unsorted.anIntArray3607[var19];
}
}
if ((var9[var13][var14] & 255) != 0 || var16 != 0 && var8[var13][var14] == 0) {
var58 = 0;
int var60 = 0;
var21 = 0;
var65 = 0;
var23 = 255 & var10[var13][1 + var14];
var25 = var10[var13][var14 - 1] & 255;
var24 = var10[-1 + var13][var14] & 255;
int[] var63 = new int[8];
var22 = 0;
var27 = 255 & var10[var13 + -1][1 + var14];
var26 = var10[var13 + 1][var14] & 255;
var29 = 255 & var10[var13 + 1][-1 + var14];
var28 = var10[var13 - 1][-1 + var14] & 255;
var30 = var10[1 + var13][var14 - -1] & 255;
Class168 var31;
int var34;
byte var32;
if (0 == var27 || var27 == var16) {
} else {
var31 = Class3_Sub13_Sub37.method350((byte) 106, -1 + var27);
if (var31.aBoolean2092 && var31.anInt2103 != -1) {
var32 = var5[var13 + -1][var14 - -1];
var33 = var8[-1 + var13][var14 + 1];
var34 = anIntArray2642[4 * var33 - -(2 + var32 & 3)];
var35 = anIntArray2642[(3 + var32 & 3) + 4 * var33];
if (Class3_Sub13_Sub39.aBooleanArrayArray3468[var35][1] && Class3_Sub13_Sub39.aBooleanArrayArray3468[var34][0]) {
} else {
for (var36 = 0; 8 > var36; ++var36) {
if (var58 == var36) {
var63[var58++] = var27;
break;
}
if (var63[var36] == var27) {
break;
}
}
}
} else {
}
}
if (var28 == 0 || var28 == var16) {
} else {
var31 = Class3_Sub13_Sub37.method350((byte) 114, -1 + var28);
if (var31.aBoolean2092 && var31.anInt2103 != -1) {
var32 = var5[-1 + var13][var14 + -1];
var33 = var8[-1 + var13][-1 + var14];
var34 = anIntArray2642[var33 * 4 - -(var32 & 3)];
var35 = anIntArray2642[(var32 - -3 & 3) + var33 * 4];
if (Class3_Sub13_Sub39.aBooleanArrayArray3468[var34][1] && Class3_Sub13_Sub39.aBooleanArrayArray3468[var35][0]) {
} else {
for (var36 = 0; var36 < 8; ++var36) {
if (var36 == var58) {
var63[var58++] = var28;
break;
}
if (var28 == var63[var36]) {
break;
}
}
}
} else {
}
}
if (var29 == 0 || var29 == var16) {
} else {
var31 = Class3_Sub13_Sub37.method350((byte) 107, var29 - 1);
if (var31.aBoolean2092 && var31.anInt2103 != -1) {
var32 = var5[1 + var13][var14 - 1];
var33 = var8[var13 - -1][var14 + -1];
var35 = anIntArray2642[4 * var33 + (3 & 1 + var32)];
var34 = anIntArray2642[var33 * 4 - -(var32 & 3)];
if (Class3_Sub13_Sub39.aBooleanArrayArray3468[var35][1] && Class3_Sub13_Sub39.aBooleanArrayArray3468[var34][0]) {
} else {
for (var36 = 0; var36 < 8; ++var36) {
if (var36 == var58) {
var63[var58++] = var29;
break;
}
if (var63[var36] == var29) {
break;
}
}
}
} else {
}
}
if (var30 == 0 || var16 == var30) {
} else {
var31 = Class3_Sub13_Sub37.method350((byte) 105, var30 + -1);
if (var31.aBoolean2092 && var31.anInt2103 != -1) {
var32 = var5[var13 - -1][1 + var14];
var33 = var8[var13 + 1][1 + var14];
var35 = anIntArray2642[4 * var33 + (var32 - -1 & 3)];
var34 = anIntArray2642[var33 * 4 + (var32 - -2 & 3)];
if (Class3_Sub13_Sub39.aBooleanArrayArray3468[var34][1] && Class3_Sub13_Sub39.aBooleanArrayArray3468[var35][0]) {
} else {
for (var36 = 0; var36 < 8; ++var36) {
if (var58 == var36) {
var63[var58++] = var30;
break;
}
if (var63[var36] == var30) {
break;
}
}
}
} else {
}
}
if (var23 != 0 && var23 != var16) {
var31 = Class3_Sub13_Sub37.method350((byte) -29, -1 + var23);
if (var31.aBoolean2092 && var31.anInt2103 != -1) {
var60 = anIntArray2642[4 * var8[var13][var14 - -1] + (var5[var13][var14 - -1] - -2 & 3)];
for (var74 = 0; var74 < 8; ++var74) {
if (var74 == var58) {
var63[var58++] = var23;
break;
}
if (var63[var74] == var23) {
break;
}
}
}
}
if (0 != var24 && var24 != var16) {
var31 = Class3_Sub13_Sub37.method350((byte) -32, var24 + -1);
if (var31.aBoolean2092 && var31.anInt2103 != -1) {
var65 = anIntArray2642[(3 & 3 + var5[var13 + -1][var14]) + var8[var13 + -1][var14] * 4];
for (var74 = 0; var74 < 8; ++var74) {
if (var58 == var74) {
var63[var58++] = var24;
break;
}
if (var63[var74] == var24) {
break;
}
}
}
}
if (var25 != 0 && var16 != var25) {
var31 = Class3_Sub13_Sub37.method350((byte) 112, -1 + var25);
if (var31.aBoolean2092 && var31.anInt2103 != -1) {
var21 = anIntArray2642[(3 & var5[var13][var14 + -1]) + var8[var13][var14 + -1] * 4];
for (var74 = 0; var74 < 8; ++var74) {
if (var58 == var74) {
var63[var58++] = var25;
break;
}
if (var25 == var63[var74]) {
break;
}
}
}
}
if (0 != var26 && var16 != var26) {
var31 = Class3_Sub13_Sub37.method350((byte) -41, var26 - 1);
if (var31.aBoolean2092 && var31.anInt2103 != -1) {
var22 = anIntArray2642[(3 & var5[var13 + 1][var14] + 1) + 4 * var8[1 + var13][var14]];
for (var74 = 0; var74 < 8; ++var74) {
if (var74 == var58) {
var63[var58++] = var26;
break;
}
if (var63[var74] == var26) {
break;
}
}
}
}
for (var73 = 0; var58 > var73; ++var73) {
var74 = var63[var73];
var79 = Class3_Sub13_Sub39.aBooleanArrayArray3468[var74 != var24 ? 0 : var65];
var75 = Class3_Sub13_Sub39.aBooleanArrayArray3468[var25 != var74 ? 0 : var21];
boolean[] var80 = Class3_Sub13_Sub39.aBooleanArrayArray3468[var23 == var74 ? var60 : 0];
var81 = Class3_Sub13_Sub39.aBooleanArrayArray3468[var26 == var74 ? var22 : 0];
Class168 var37 = Class3_Sub13_Sub37.method350((byte) 113, -1 + var74);
Class3_Sub11 var38 = method2052(var12, var37);
var38.anInt2342 += 5;
var38.anInt2342 += -2 + var80.length;
var38.anInt2342 += -2 + var79.length;
var38.anInt2342 += var75.length - 2;
var38.anInt2342 += -2 + var81.length;
++var38.anInt2344;
}
}
}
}
Class3_Sub11 var56;
for (var56 = (Class3_Sub11) var12.first(); null != var56; var56 = (Class3_Sub11) var12.next()) {
var56.method145();
}
for (var13 = 1; 102 >= var13; ++var13) {
for (var14 = 1; var14 <= 102; ++var14) {
var16 = 255 & var9[var13][var14];
var58 = 255 & var10[var13][var14];
if ((8 & var11[var3][var13][var14]) != 0) {
var15 = 0;
} else if (2 == (var11[1][var13][var14] & 2) && var3 > 0) {
var15 = var3 + -1;
} else {
var15 = var3;
}
if (0 != var58) {
Class168 var62 = Class3_Sub13_Sub37.method350((byte) -25, -1 + var58);
if (var62.anInt2103 == -1) {
continue;
}
Class3_Sub11 var66 = method2052(var12, var62);
byte var67 = var8[var13][var14];
byte var68 = var5[var13][var14];
var22 = Class3_Sub13_Sub4.method190(var62.anInt2095, var62.anInt2103, (byte) -111, var6[var13][var14]);
var23 = Class3_Sub13_Sub4.method190(var62.anInt2095, var62.anInt2103, (byte) 65, var6[var13 + 1][var14]);
var24 = Class3_Sub13_Sub4.method190(var62.anInt2095, var62.anInt2103, (byte) 68, var6[1 + var13][var14 + 1]);
var25 = Class3_Sub13_Sub4.method190(var62.anInt2095, var62.anInt2103, (byte) -84, var6[var13][var14 - -1]);
Class29.method971(var22, var2, var1, var13, var0, var23, var68, var15, var24, var16 != 0 && var62.aBoolean2092, var67, var14, var4, var25, var66);
}
if ((var9[var13][var14] & 255) != 0 || var58 != 0 && 0 == var8[var13][var14]) {
int[] var64 = new int[8];
var65 = 0;
int var61 = 0;
var21 = 0;
var22 = 0;
var24 = var10[var13][var14 - -1] & 255;
var23 = 0;
var25 = var10[-1 + var13][var14] & 255;
var27 = var10[1 + var13][var14] & 255;
var26 = var10[var13][-1 + var14] & 255;
var28 = 255 & var10[-1 + var13][var14 + 1];
var29 = 255 & var10[var13 - 1][var14 - 1];
var30 = 255 & var10[1 + var13][var14 + -1];
var73 = var10[1 + var13][var14 + 1] & 255;
Class168 var76;
byte var77;
int var83;
if (0 == var28 || var28 == var58) {
var28 = 0;
} else {
var76 = Class3_Sub13_Sub37.method350((byte) -88, -1 + var28);
if (var76.aBoolean2092 && var76.anInt2103 != -1) {
var33 = var5[var13 + -1][1 + var14];
var77 = var8[-1 + var13][1 + var14];
var35 = anIntArray2642[4 * var77 - -(2 + var33 & 3)];
var36 = anIntArray2642[var77 * 4 - -(3 + var33 & 3)];
if (Class3_Sub13_Sub39.aBooleanArrayArray3468[var36][1] && Class3_Sub13_Sub39.aBooleanArrayArray3468[var35][0]) {
var28 = 0;
} else {
for (var83 = 0; var83 < 8; ++var83) {
if (var61 == var83) {
var64[var61++] = var28;
break;
}
if (var28 == var64[var83]) {
break;
}
}
}
} else {
var28 = 0;
}
}
if (0 == var29 || var29 == var58) {
var29 = 0;
} else {
var76 = Class3_Sub13_Sub37.method350((byte) -87, -1 + var29);
if (var76.aBoolean2092 && -1 != var76.anInt2103) {
var33 = var5[var13 + -1][-1 + var14];
var77 = var8[-1 + var13][var14 + -1];
var35 = anIntArray2642[(3 & var33) + var77 * 4];
var36 = anIntArray2642[(var33 - -3 & 3) + 4 * var77];
if (Class3_Sub13_Sub39.aBooleanArrayArray3468[var35][1] && Class3_Sub13_Sub39.aBooleanArrayArray3468[var36][0]) {
var29 = 0;
} else {
for (var83 = 0; 8 > var83; ++var83) {
if (var83 == var61) {
var64[var61++] = var29;
break;
}
if (var29 == var64[var83]) {
break;
}
}
}
} else {
var29 = 0;
}
}
if (var30 == 0 || var58 == var30) {
var30 = 0;
} else {
var76 = Class3_Sub13_Sub37.method350((byte) -123, -1 + var30);
if (var76.aBoolean2092 && -1 != var76.anInt2103) {
var33 = var5[1 + var13][var14 - 1];
var77 = var8[1 + var13][var14 + -1];
var36 = anIntArray2642[(1 + var33 & 3) + 4 * var77];
var35 = anIntArray2642[var77 * 4 + (var33 & 3)];
if (Class3_Sub13_Sub39.aBooleanArrayArray3468[var36][1] && Class3_Sub13_Sub39.aBooleanArrayArray3468[var35][0]) {
var30 = 0;
} else {
for (var83 = 0; 8 > var83; ++var83) {
if (var61 == var83) {
var64[var61++] = var30;
break;
}
if (var64[var83] == var30) {
break;
}
}
}
} else {
var30 = 0;
}
}
if (var73 == 0 || var73 == var58) {
var73 = 0;
} else {
var76 = Class3_Sub13_Sub37.method350((byte) 119, -1 + var73);
if (var76.aBoolean2092 && var76.anInt2103 != -1) {
var77 = var8[1 + var13][1 + var14];
var33 = var5[1 + var13][var14 + 1];
var35 = anIntArray2642[(3 & var33 - -2) + 4 * var77];
var36 = anIntArray2642[(var33 + 1 & 3) + 4 * var77];
if (Class3_Sub13_Sub39.aBooleanArrayArray3468[var35][1] && Class3_Sub13_Sub39.aBooleanArrayArray3468[var36][0]) {
var73 = 0;
} else {
for (var83 = 0; var83 < 8; ++var83) {
if (var61 == var83) {
var64[var61++] = var73;
break;
}
if (var64[var83] == var73) {
break;
}
}
}
} else {
var73 = 0;
}
}
int var78;
if (var24 != 0 && var58 != var24) {
var76 = Class3_Sub13_Sub37.method350((byte) 113, var24 - 1);
if (var76.aBoolean2092 && -1 != var76.anInt2103) {
var65 = anIntArray2642[var8[var13][var14 - -1] * 4 + (2 + var5[var13][var14 - -1] & 3)];
for (var78 = 0; 8 > var78; ++var78) {
if (var61 == var78) {
var64[var61++] = var24;
break;
}
if (var24 == var64[var78]) {
break;
}
}
}
}
if (var25 != 0 && var58 != var25) {
var76 = Class3_Sub13_Sub37.method350((byte) -103, var25 + -1);
if (var76.aBoolean2092 && var76.anInt2103 != -1) {
var21 = anIntArray2642[(3 & var5[var13 - 1][var14] - -3) + 4 * var8[var13 + -1][var14]];
for (var78 = 0; var78 < 8; ++var78) {
if (var78 == var61) {
var64[var61++] = var25;
break;
}
if (var25 == var64[var78]) {
break;
}
}
}
}
if (var26 != 0 && var58 != var26) {
var76 = Class3_Sub13_Sub37.method350((byte) 126, var26 - 1);
if (var76.aBoolean2092 && -1 != var76.anInt2103) {
var22 = anIntArray2642[(var5[var13][var14 + -1] & 3) + 4 * var8[var13][-1 + var14]];
for (var78 = 0; var78 < 8; ++var78) {
if (var78 == var61) {
var64[var61++] = var26;
break;
}
if (var64[var78] == var26) {
break;
}
}
}
}
if (var27 != 0 && var27 != var58) {
var76 = Class3_Sub13_Sub37.method350((byte) 116, var27 + -1);
if (var76.aBoolean2092 && var76.anInt2103 != -1) {
var23 = anIntArray2642[4 * var8[1 + var13][var14] - -(3 & var5[var13 + 1][var14] - -1)];
for (var78 = 0; var78 < 8; ++var78) {
if (var61 == var78) {
var64[var61++] = var27;
break;
}
if (var27 == var64[var78]) {
break;
}
}
}
}
for (var74 = 0; var61 > var74; ++var74) {
var78 = var64[var74];
var79 = Class3_Sub13_Sub39.aBooleanArrayArray3468[var78 == var24 ? var65 : 0];
var75 = Class3_Sub13_Sub39.aBooleanArrayArray3468[var25 == var78 ? var21 : 0];
var81 = Class3_Sub13_Sub39.aBooleanArrayArray3468[var26 == var78 ? var22 : 0];
boolean[] var84 = Class3_Sub13_Sub39.aBooleanArrayArray3468[var78 != var27 ? 0 : var23];
Class168 var82 = Class3_Sub13_Sub37.method350((byte) 121, -1 + var78);
Class3_Sub11 var39 = method2052(var12, var82);
int var40 = Class3_Sub13_Sub4.method190(var82.anInt2095, var82.anInt2103, (byte) -76, var6[var13][var14]) << 8 | 255;
byte var44 = 6;
int var41 = 255 | Class3_Sub13_Sub4.method190(var82.anInt2095, var82.anInt2103, (byte) -85, var6[1 + var13][var14]) << 8;
int var42 = Class3_Sub13_Sub4.method190(var82.anInt2095, var82.anInt2103, (byte) 123, var6[var13 - -1][var14 - -1]) << 8 | 255;
int var43 = 255 | Class3_Sub13_Sub4.method190(var82.anInt2095, var82.anInt2103, (byte) 106, var6[var13][var14 - -1]) << 8;
boolean var48 = var29 != var78 && var81[0] && var75[1];
boolean var47 = var73 != var78 && var79[0] && var84[1];
boolean var46 = var28 != var78 && var75[0] && var79[1];
int var85 = var44 + -2 + var79.length;
boolean var49 = var30 != var78 && var84[0] && var81[1];
var85 += -2 + var75.length;
var85 += var81.length - 2;
var85 += -2 + var84.length;
int var50 = Class121.method1734(var43, 0.0F, var40, var41, (int[][]) null, var2, var13, var4, var42, (byte) -127, 0, true, var39, var1, var14, 64, var0, 64);
int[] var45 = new int[var85];
var44 = 0;
int var51 = Class121.method1734(var43, 0.0F, var40, var41, (int[][]) null, var2, var13, var4, var42, (byte) -112, 0, var46, var39, var1, var14, 0, var0, 128);
int var52 = Class121.method1734(var43, 0.0F, var40, var41, (int[][]) null, var2, var13, var4, var42, (byte) -119, 0, var47, var39, var1, var14, 128, var0, 128);
int var53 = Class121.method1734(var43, 0.0F, var40, var41, (int[][]) null, var2, var13, var4, var42, (byte) -127, 0, var48, var39, var1, var14, 0, var0, 0);
int var54 = Class121.method1734(var43, 0.0F, var40, var41, (int[][]) null, var2, var13, var4, var42, (byte) -114, 0, var49, var39, var1, var14, 128, var0, 0);
var85 = var44 + 1;
var45[var44] = var50;
var45[var85++] = var52;
if (var79.length > 2) {
var45[var85++] = Class121.method1734(var43, 0.0F, var40, var41, (int[][]) null, var2, var13, var4, var42, (byte) -117, 0, var79[2], var39, var1, var14, 64, var0, 128);
}
var45[var85++] = var51;
if (var75.length > 2) {
var45[var85++] = Class121.method1734(var43, 0.0F, var40, var41, (int[][]) null, var2, var13, var4, var42, (byte) -128, 0, var75[2], var39, var1, var14, 0, var0, 64);
}
var45[var85++] = var53;
if (var81.length > 2) {
var45[var85++] = Class121.method1734(var43, 0.0F, var40, var41, (int[][]) null, var2, var13, var4, var42, (byte) -112, 0, var81[2], var39, var1, var14, 64, var0, 0);
}
var45[var85++] = var54;
if (var84.length > 2) {
var45[var85++] = Class121.method1734(var43, 0.0F, var40, var41, (int[][]) null, var2, var13, var4, var42, (byte) -127, 0, var84[2], var39, var1, var14, 128, var0, 64);
}
var45[var85++] = var52;
var39.method150(var15, var13, var14, var45, (int[]) null, true);
}
}
}
}
for (var56 = (Class3_Sub11) var12.first(); null != var56; var56 = (Class3_Sub11) var12.next()) {
if (var56.anInt2343 == 0) {
var56.unlink();
} else {
var56.method148();
}
}
var13 = var12.size();
Class3_Sub11[] var57 = new Class3_Sub11[var13];
long[] var59 = new long[var13];
var12.values(var57);
for (var16 = 0; var16 < var13; ++var16) {
var59[var16] = var57[var16].linkableKey;
}
PacketParser.method824(var59, var57, -27);
return var57;
} catch (RuntimeException var55) {
throw ClientErrorException.clientError(var55, "a.A(" + (var0 != null ? "{...}" : "null") + ',' + (var1 != null ? "{...}" : "null") + ',' + (var2 != null ? "{...}" : "null") + ',' + var3 + ',' + (var4 != null ? "{...}" : "null") + ',' + (var5 != null ? "{...}" : "null") + ',' + (var6 != null ? "{...}" : "null") + ',' + 0 + ',' + (var8 != null ? "{...}" : "null") + ',' + (var9 != null ? "{...}" : "null") + ',' + (var10 != null ? "{...}" : "null") + ',' + (var11 != null ? "{...}" : "null") + ')');
}
}
static void worldMapMinimap(int var0, int var1, int var2, int var4) {
try {
if (HDToolKit.highDetail) {
Class22.setClipping(var0, var4, var2 + var0, var1 + var4);
Toolkit.OPENGL_TOOLKIT.method934(var0, var4, var2, var1, 0); //Specific openGL call because set Clipping is not migrated
} else {
Class74.setClipping(var0, var4, var2 + var0, var4 + var1);
Toolkit.JAVA_TOOLKIT.method934(var0, var4, var2, var1, 0); //Specific JTK call because set Clipping is not migrated
}
if (WorldMap.anInt2737 >= 100) {
if (null == Class36.aAbstractSprite_637 || var2 != Class36.aAbstractSprite_637.width || Class36.aAbstractSprite_637.height != var1) {
Class3_Sub28_Sub16_Sub2 var5 = new Class3_Sub28_Sub16_Sub2(var2, var1);
Class74.setBuffer(var5.anIntArray4081, var2, var1);
Unsorted.method523(var2, 0, Class23.anInt455, 0, 0, Class108.anInt1460, var1, 0);
if (HDToolKit.highDetail) {
Class36.aAbstractSprite_637 = new HDSprite(var5);
} else {
Class36.aAbstractSprite_637 = var5;
}
if (HDToolKit.highDetail) {
Toolkit.JAVA_TOOLKIT.resetBuffer();
} else {
Class164_Sub1.aClass158_3009.method2182();
}
}
Class36.aAbstractSprite_637.method635(var0, var4);
int var6 = var1 * Class60.anInt934 / Class108.anInt1460 + var4;
int var8 = Class17.anInt410 * var1 / Class108.anInt1460;
int var15 = var0 + var2 * Class60.anInt930 / Class23.anInt455;
int var7 = var2 * Class49.anInt817 / Class23.anInt455;
int var9 = 16711680;
if (Class158.anInt2014 == 1) {
var9 = 16777215;
}
Toolkit.getActiveToolkit().drawRect(var15, var6, var7, var8, var9, 255);
if (AbstractSprite.anInt3704 > 0) {
int var10;
if (Class3_Sub28_Sub8.anInt3611 > 10) {
var10 = (-Class3_Sub28_Sub8.anInt3611 + 20) * 25;
} else {
var10 = 25 * Class3_Sub28_Sub8.anInt3611;
}
for (Class3_Sub23 var11 = (Class3_Sub23) Class84.aClass61_1162.method1222(); var11 != null; var11 = (Class3_Sub23) Class84.aClass61_1162.method1221()) {
if (Class8.anInt101 == var11.anInt2532) {
int var13 = var4 - -(var11.anInt2539 * var1 / Class108.anInt1460);
int var12 = var2 * var11.anInt2531 / Class23.anInt455 + var0;
Toolkit.getActiveToolkit().fillRect(var12 - 2, var13 - 2, 4, 4, 16776960, var10);
}
}
}
}
} catch (RuntimeException var14) {
throw ClientErrorException.clientError(var14, "a.D(" + var0 + ',' + var1 + ',' + var2 + ',' + 19481 + ',' + var4 + ')');
}
}
static {
for (int var0 = 0; var0 < 4096; ++var0) {
anIntArray52[var0] = Class164_Sub2.method2246(var0);
}
aBooleanArray54 = new boolean[8];
anInt57 = 0;
aClass94_58 = RSString.parse("<col=ffffff> )4 ");
}
static Class3_Sub11 method2052(HashTable var0, Class168 var2) {
try {
long var3 = (long)((var2.anInt2095 - -1 << 16) + var2.anInt2090) + (((long)var2.anInt2100 << 56) - -((long)var2.anInt2094 << 32));
Class3_Sub11 var5 = (Class3_Sub11)var0.get(var3);
if(null == var5) {
var5 = new Class3_Sub11(var2.anInt2095, (float)var2.anInt2090, true, false, var2.anInt2094);
var0.put(var3, var5);
}
return var5;
} catch (RuntimeException var6) {
throw ClientErrorException.clientError(var6, "tk.J(" + (var0 != null?"{...}":"null") + ',' + false + ',' + (var2 != null?"{...}":"null") + ')');
}
}
}

View file

@ -0,0 +1,54 @@
package org.runite.client;
final class Class10 {
int anInt149;
Class3_Sub28_Sub4 aClass3_Sub28_Sub4_151;
static CacheIndex aClass153_152;
int[] anIntArray153;
static int anInt154 = 0;
static Class3_Sub28_Sub16_Sub2[] method851() {
try {
Class3_Sub28_Sub16_Sub2[] var1 = new Class3_Sub28_Sub16_Sub2[Class95.anInt1338];
for(int var2 = 0; Class95.anInt1338 > var2; ++var2) {
int var3 = Unsorted.anIntArray3076[var2] * Class140_Sub7.anIntArray2931[var2];
byte[] var4 = Class163_Sub1.aByteArrayArray2987[var2];
int[] var5 = new int[var3];
for(int var6 = 0; var3 > var6; ++var6) {
var5[var6] = Class3_Sub13_Sub38.spritePalette[Unsorted.bitwiseAnd(255, var4[var6])];
}
var1[var2] = new Class3_Sub28_Sub16_Sub2(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[var2], Unsorted.anIntArray2591[var2], Class140_Sub7.anIntArray2931[var2], Unsorted.anIntArray3076[var2], var5);
}
Class39.method1035((byte)113);
return var1;
} catch (RuntimeException var7) {
throw ClientErrorException.clientError(var7, "bd.B(" + true + ')');
}
}
static void method852(byte var0, int var1) {
try {
Class3_Sub25 var2 = (Class3_Sub25)Class3_Sub2.aHashTable_2220.get((long)var1);
if(var2 != null) {
if(var0 != 114) {
aClass153_152 = (CacheIndex)null;
}
for(int var3 = 0; var2.anIntArray2547.length > var3; ++var3) {
var2.anIntArray2547[var3] = -1;
var2.anIntArray2551[var3] = 0;
}
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "bd.C(" + var0 + ',' + var1 + ')');
}
}
}

View file

@ -0,0 +1,84 @@
package org.runite.client;
final class Class101 {
static CacheIndex aClass153_1420;
static Class3_Sub24_Sub4 aClass3_Sub24_Sub4_1421;
static Class30 aClass30_1422;
static CacheIndex aClass153_1423;
static int anInt1425 = 0;
static int[] anIntArray1426;
static int anInt1427;
static short[][] aShortArrayArray1429;
static void method1607(int var0, int var1, boolean var2, int[] var3, int[] var4) {
try {
if(var2) {
method1608((byte)106);
}
if(var1 > var0) {
int var5 = (var1 + var0) / 2;
int var6 = var0;
int var7 = var3[var5];
var3[var5] = var3[var1];
var3[var1] = var7;
int var8 = var4[var5];
var4[var5] = var4[var1];
var4[var1] = var8;
for(int var9 = var0; var9 < var1; ++var9) {
if((var9 & 1) + var7 < var3[var9]) {
int var10 = var3[var9];
var3[var9] = var3[var6];
var3[var6] = var10;
int var11 = var4[var9];
var4[var9] = var4[var6];
var4[var6++] = var11;
}
}
var3[var1] = var3[var6];
var3[var6] = var7;
var4[var1] = var4[var6];
var4[var6] = var8;
method1607(var0, var6 - 1, var2, var3, var4);
method1607(var6 + 1, var1, var2, var3, var4);
}
} catch (RuntimeException var12) {
throw ClientErrorException.clientError(var12, "nj.C(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + (var4 != null?"{...}":"null") + ')');
}
}
public static void method1608(byte var0) {
try {
CacheIndex.npcConfigIndex = null;
Class136.aClass61_1424 = null;
aShortArrayArray1429 = (short[][])null;
anIntArray1426 = null;
aClass3_Sub24_Sub4_1421 = null;
aClass30_1422 = null;
aClass153_1423 = null;
if(var0 != 110) {
method1607(46, 78, true, (int[])null, (int[])null);
}
aClass153_1420 = null;
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "nj.A(" + var0 + ')');
}
}
static void method1609() {
try {
Unsorted.anShaderInterfaceArray70 = null;
Class88.method1455();
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "nj.B(" + 90 + ')');
}
}
}

View file

@ -0,0 +1,577 @@
package org.runite.client;
import org.rs09.client.data.NodeCache;
final class Class102 implements Interface2 {
private final boolean[] aBooleanArray2122;
private final CacheIndex aClass153_2123;
private final boolean[] aBooleanArray2124;
static int[] anIntArray2125;
private final byte[] aByteArray2126;
private final CacheIndex aClass153_2127;
private final boolean[] aBooleanArray2128;
private final byte[] aByteArray2129;
static Class135[] aClass135Array2131 = new Class135[50];
private boolean aBoolean2134;
private final boolean[] aBooleanArray2135;
static int anInt2136;
private final short[] aShortArray2137;
private NodeCache aClass47_2138;
private int anInt2139;
static Player player;
private NodeCache aClass47_2142;
private final byte[] aByteArray2143;
private final byte[] aByteArray2144;
final void method1610(int var2) {
try {
for(Class3_Sub28_Sub20 var3 = (Class3_Sub28_Sub20)this.aClass47_2142.first(); null != var3; var3 = (Class3_Sub28_Sub20)this.aClass47_2142.next()) {
if(var3.aBoolean3797) {
var3.method723(var2);
var3.aBoolean3797 = false;
}
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "nk.P(" + true + ',' + var2 + ')');
}
}
static void method1611(int var0, boolean var1) {
try {
int var2;
NPC var3;
int var6;
int var7;
int var8;
int var9;
int var10;
for(var2 = 0; var2 < Class163.localNPCCount; ++var2) {
var3 = NPC.npcs[Class15.localNPCIndexes[var2]];
if(null != var3 && var3.hasDefinitions() && var3.definition.aBoolean1263 == var1 && var3.definition.method1472()) {
int var4 = var3.getSize();
int var5;
if(1 != var4) {
if(((1 & var4) != 0 || (127 & var3.anInt2819) == 0 && 0 == (127 & var3.anInt2829)) && ((var4 & 1) != 1 || (127 & var3.anInt2819) == 64 && 64 == (127 & var3.anInt2829))) {
var5 = var3.anInt2819 + -(var4 * 64) >> 7;
var6 = -(var4 * 64) + var3.anInt2829 >> 7;
var7 = var3.getSize() + var5;
if(var5 < 0) {
var5 = 0;
}
if(var7 > 104) {
var7 = 104;
}
var8 = var6 + var3.getSize();
if(var6 < 0) {
var6 = 0;
}
if(104 < var8) {
var8 = 104;
}
for(var9 = var5; var9 < var7; ++var9) {
for(var10 = var6; var8 > var10; ++var10) {
++Class163_Sub1_Sub1.anIntArrayArray4010[var9][var10];
}
}
}
} else if((127 & var3.anInt2819) == 64 && (var3.anInt2829 & 127) == 64) {
var5 = var3.anInt2819 >> 7;
var6 = var3.anInt2829 >> 7;
if(var5 >= 0 && var5 < 104 && var6 >= 0 && var6 < 104) {
++Class163_Sub1_Sub1.anIntArrayArray4010[var5][var6];
}
}
}
}
label200:
for(var2 = 0; Class163.localNPCCount > var2; ++var2) {
var3 = NPC.npcs[Class15.localNPCIndexes[var2]];
long var15 = (long)Class15.localNPCIndexes[var2] << 32 | 536870912L;
if(var3 != null && var3.hasDefinitions() && !var3.definition.aBoolean1263 == !var1 && var3.definition.method1472()) {
var6 = var3.getSize();
if(var6 != 1) {
if((var6 & 1) == 0 && (var3.anInt2819 & 127) == 0 && (127 & var3.anInt2829) == 0 || (var6 & 1) == 1 && (var3.anInt2819 & 127) == 64 && (127 & var3.anInt2829) == 64) {
var7 = -(64 * var6) + var3.anInt2819 >> 7;
var8 = -(var6 * 64) + var3.anInt2829 >> 7;
var10 = var8 - -var6;
if(var8 < 0) {
var8 = 0;
}
boolean var11 = true;
var9 = var7 + var6;
if(var10 > 104) {
var10 = 104;
}
if(var7 < 0) {
var7 = 0;
}
if(var9 > 104) {
var9 = 104;
}
int var12;
int var13;
for(var12 = var7; var12 < var9; ++var12) {
for(var13 = var8; var10 > var13; ++var13) {
if(Class163_Sub1_Sub1.anIntArrayArray4010[var12][var13] <= 1) {
var11 = false;
break;
}
}
}
if(var11) {
var12 = var7;
while(true) {
if(var12 >= var9) {
continue label200;
}
for(var13 = var8; var13 < var10; ++var13) {
--Class163_Sub1_Sub1.anIntArrayArray4010[var12][var13];
}
++var12;
}
}
}
} else if((127 & var3.anInt2819) == 64 && (127 & var3.anInt2829) == 64) {
var7 = var3.anInt2819 >> 7;
var8 = var3.anInt2829 >> 7;
if(0 > var7 || var7 >= 104 || var8 < 0 || var8 >= 104) {
continue;
}
if(1 < Class163_Sub1_Sub1.anIntArrayArray4010[var7][var8]) {
--Class163_Sub1_Sub1.anIntArrayArray4010[var7][var8];
continue;
}
}
if(!var3.definition.aBoolean1270) {
var15 |= Long.MIN_VALUE;
}
var3.anInt2831 = Class121.method1736(WorldListCountry.localPlane, 1, var3.anInt2819, var3.anInt2829);
Class20.method907(WorldListCountry.localPlane, var3.anInt2819, var3.anInt2829, var3.anInt2831, -64 + 64 * var6 + 60, var3, var3.anInt2785, var15, var3.aBoolean2810);
}
}
} catch (RuntimeException var14) {
throw ClientErrorException.clientError(var14, "nk.V(" + var0 + ',' + var1 + ')');
}
}
public final int[] method16(int var1, int var2) {
try {
if(var1 != 64) {
this.method12(105, -92);
}
Class3_Sub28_Sub20 var3 = this.method1613(var2);
return null == var3?null:var3.method720(this.aBoolean2134 || this.aBooleanArray2122[var2], this, this.aClass153_2123);
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "nk.F(" + var1 + ',' + var2 + ')');
}
}
public static void method1612(int var0) {
try {
player = null;
if(var0 != -11565) {
method1614(false, (long[])null, (int[])null);
}
anIntArray2125 = null;
Sprites.aClass3_Sub28_Sub16_Sub2Array2140 = null;
aClass135Array2131 = null;
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "nk.W(" + var0 + ')');
}
}
public final void method8(int var1, boolean var2) {
try {
Class3_Sub28_Sub4.method551(255 & this.aByteArray2143[var1], this.aByteArray2144[var1] & 255);
if(var2) {
boolean var3 = false;
Class3_Sub28_Sub20 var4 = this.method1613(var1);
if(var4 != null) {
var3 = var4.method719(this.aClass153_2123, this, this.aBoolean2134 || this.aBooleanArray2122[var1]);
}
if(!var3) {
Class3_Sub28_Sub18 var6 = this.method1615(var1);
var6.method712();
}
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "nk.G(" + var1 + ',' + var2 + ')');
}
}
private Class3_Sub28_Sub20 method1613(int var1) {
try {
Class3_Sub28_Sub20 var3 = (Class3_Sub28_Sub20)this.aClass47_2142.get((long)var1);
if(null == var3) {
byte[] var4 = this.aClass153_2127.getFile(var1, 0);
if(null == var4) {
return null;
} else {
DataBuffer var5 = new DataBuffer(var4);
var3 = new Class3_Sub28_Sub20(var5);
this.aClass47_2142.put((long)var1, var3);
return var3;
}
} else {
return var3;
}
} catch (RuntimeException var6) {
throw ClientErrorException.clientError(var6, "nk.T(" + var1 + ',' + 1 + ')');
}
}
public final int method9(int var1, boolean var2) {
try {
return var2?-63:255 & this.aByteArray2143[var1];
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "nk.D(" + var1 + ',' + ')');
}
}
public final int method18(int var1, int var2) {
try {
if(var2 != 255) {
method1612(-48);
}
return 255 & this.aByteArray2144[var1];
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "nk.B(" + var1 + ',' + var2 + ')');
}
}
static void method1614(boolean var0, long[] var1, int[] var2) {
try {
Class44.method1069(var1, 0, -1 + var1.length, var2);
if(!var0) {
method1612(103);
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "nk.Q(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ')');
}
}
public final int method10(int var1, int var2) {
try {
return this.aByteArray2126[var2] & 255;
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "nk.C(" + var1 + ',' + var2 + ')');
}
}
public final boolean method7(byte var1, int var2) {
try {
if(var1 != 88) {
this.method19(-99, -37);
}
return this.aBooleanArray2128[var2];
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "nk.M(" + var1 + ',' + var2 + ')');
}
}
private Class3_Sub28_Sub18 method1615(int var2) {
try {
Class3_Sub28_Sub18 var4 = (Class3_Sub28_Sub18)this.aClass47_2138.get((long)var2);
if(null == var4) {
var4 = new Class3_Sub28_Sub18(this.aShortArray2137[var2] & '\uffff');
this.aClass47_2138.put((long)var2, var4);
}
return var4;
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "nk.U(" + 48 + ',' + var2 + ')');
}
}
public final boolean method11(int var1, int var2) {
try {
if(var1 < 0) {
this.method7((byte)68, -47);
}
Class3_Sub28_Sub20 var3 = this.method1613(var2);
return null != var3 && var3.method722(this, this.aClass153_2123);
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "nk.H(" + var1 + ',' + var2 + ')');
}
}
final void method1616(boolean var1) {
try {
this.aBoolean2134 = var1;
this.method1618();
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "nk.S(" + var1 + ',' + -17830 + ')');
}
}
static void method1617(int var0, int var1, int var2, int var3, int var4) {
try {
if(Class57.anInt902 >= var4 && Class159.anInt2020 <= var2) {
boolean var6;
if(Class101.anInt1425 <= var1) {
if(Class3_Sub28_Sub18.anInt3765 >= var1) {
var6 = true;
} else {
var6 = false;
var1 = Class3_Sub28_Sub18.anInt3765;
}
} else {
var6 = false;
var1 = Class101.anInt1425;
}
boolean var7;
if(var3 < Class101.anInt1425) {
var3 = Class101.anInt1425;
var7 = false;
} else if(Class3_Sub28_Sub18.anInt3765 < var3) {
var3 = Class3_Sub28_Sub18.anInt3765;
var7 = false;
} else {
var7 = true;
}
if(Class159.anInt2020 > var4) {
var4 = Class159.anInt2020;
} else {
Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var4++], var1, -66, var3, var0);
}
if(var2 <= Class57.anInt902) {
Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var2--], var1, -54, var3, var0);
} else {
var2 = Class57.anInt902;
}
int var8;
if(var6 && var7) {
for(var8 = var4; var8 <= var2; ++var8) {
int[] var9 = Class38.anIntArrayArray663[var8];
var9[var1] = var9[var3] = var0;
}
} else if(var6) {
for(var8 = var4; var2 >= var8; ++var8) {
Class38.anIntArrayArray663[var8][var1] = var0;
}
} else if (var7) {
for (var8 = var4; var8 <= var2; ++var8) {
Class38.anIntArrayArray663[var8][var3] = var0;
}
}
}
} catch (RuntimeException var10) {
throw ClientErrorException.clientError(var10, "nk.R(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + (byte) 29 + ')');
}
}
public final boolean method12(int var1, int var2) {
try {
if(var2 != -65) {
method1614(false, (long[])null, (int[])null);
}
return this.aBooleanArray2135[var1];
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "nk.I(" + var1 + ',' + var2 + ')');
}
}
public final int method19(int var1, int var2) {
try {
return 255 & this.aByteArray2129[var2];
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "nk.A(" + var1 + ',' + var2 + ')');
}
}
final void method1618() {
try {
this.aClass47_2142.clear();
if(null != this.aClass47_2138) {
this.aClass47_2138.clear();
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "nk.O(" + 0 + ')');
}
}
public final int method15(int var1, int var2) {
try {
if(var2 != '\uffff') {
this.method11(-82, -17);
}
return '\uffff' & this.aShortArray2137[var1];
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "nk.E(" + var1 + ',' + var2 + ')');
}
}
public final boolean method14(byte var1, int var2) {
try {
return var1 >= -97 || (this.aBoolean2134 || this.aBooleanArray2122[var2]);
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "nk.J(" + var1 + ',' + var2 + ')');
}
}
final void method1619(int var1) {
try {
this.anInt2139 = var1;
this.aClass47_2142 = new NodeCache(this.anInt2139);
if(HDToolKit.highDetail) {
this.aClass47_2138 = new NodeCache(this.anInt2139);
} else {
this.aClass47_2138 = null;
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "nk.N(" + var1 + ',' + -1 + ')');
}
}
public final boolean method17(int var1, int var2) {
try {
return this.aBooleanArray2124[var1];
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "nk.K(" + var1 + ',' + var2 + ')');
}
}
Class102(CacheIndex var1, CacheIndex var2, CacheIndex var3, boolean var5) {
try {
this.aClass153_2123 = var3;
this.aBoolean2134 = var5;
this.anInt2139 = 20;
this.aClass153_2127 = var1;
this.aClass47_2142 = new NodeCache(this.anInt2139);
if(HDToolKit.highDetail) {
this.aClass47_2138 = new NodeCache(this.anInt2139);
} else {
this.aClass47_2138 = null;
}
DataBuffer var6 = new DataBuffer(var2.getFile(0, 0));
int var7 = var6.readUnsignedShort();
this.aByteArray2143 = new byte[var7];
this.aByteArray2129 = new byte[var7];
this.aByteArray2126 = new byte[var7];
this.aShortArray2137 = new short[var7];
this.aByteArray2144 = new byte[var7];
this.aBooleanArray2128 = new boolean[var7];
this.aBooleanArray2122 = new boolean[var7];
this.aBooleanArray2124 = new boolean[var7];
boolean[] aBooleanArray2133 = new boolean[var7];
this.aBooleanArray2135 = new boolean[var7];
int var8;
for(var8 = 0; var8 < var7; ++var8) {
aBooleanArray2133[var8] = 1 == var6.readUnsignedByte();
}
for(var8 = 0; var8 < var7; ++var8) {
if(aBooleanArray2133[var8]) {
this.aBooleanArray2124[var8] = var6.readUnsignedByte() == 1;
}
}
for(var8 = 0; var7 > var8; ++var8) {
if(aBooleanArray2133[var8]) {
this.aBooleanArray2128[var8] = 1 == var6.readUnsignedByte();
}
}
for(var8 = 0; var7 > var8; ++var8) {
if(aBooleanArray2133[var8]) {
this.aBooleanArray2122[var8] = var6.readUnsignedByte() == 1;
}
}
for(var8 = 0; var8 < var7; ++var8) {
if(aBooleanArray2133[var8]) {
this.aBooleanArray2135[var8] = var6.readUnsignedByte() == 1;
}
}
for(var8 = 0; var7 > var8; ++var8) {
if(aBooleanArray2133[var8]) {
this.aByteArray2126[var8] = var6.readSignedByte();
}
}
for(var8 = 0; var7 > var8; ++var8) {
if(aBooleanArray2133[var8]) {
this.aByteArray2129[var8] = var6.readSignedByte();
}
}
for(var8 = 0; var8 < var7; ++var8) {
if(aBooleanArray2133[var8]) {
this.aByteArray2144[var8] = var6.readSignedByte();
}
}
for(var8 = 0; var7 > var8; ++var8) {
if(aBooleanArray2133[var8]) {
this.aByteArray2143[var8] = var6.readSignedByte();
}
}
for(var8 = 0; var7 > var8; ++var8) {
if(aBooleanArray2133[var8]) {
this.aShortArray2137[var8] = (short)var6.readUnsignedShort();
}
}
} catch (RuntimeException var9) {
throw ClientErrorException.clientError(var9, "nk.<init>(" + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ',' + 20 + ',' + var5 + ')');
}
}
public final int[] method13(int var1, boolean var2, float var3) {
try {
Class3_Sub28_Sub20 var4 = this.method1613(var1);
if(null == var4) {
return null;
} else {
var4.aBoolean3797 = var2;
return var4.method718(this, var3, this.aClass153_2123, this.aBoolean2134 || this.aBooleanArray2122[var1]);
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "nk.L(" + var1 + ',' + var2 + ',' + var3 + ')');
}
}
}

View file

@ -0,0 +1,115 @@
package org.runite.client;
final class Class103 {
private final int[][][] anIntArrayArrayArray1430 = new int[2][2][4];
private static float[][] aFloatArrayArray1431 = new float[2][8];
private final int[][][] anIntArrayArrayArray1432 = new int[2][2][4];
private static float aFloat1433;
int[] anIntArray1434 = new int[2];
private final int[] anIntArray1437 = new int[2];
final void method1620(DataBuffer var1, Class34 var2) {
int var3 = var1.readUnsignedByte();
this.anIntArray1434[0] = var3 >> 4;
this.anIntArray1434[1] = var3 & 15;
if(var3 == 0) {
this.anIntArray1437[0] = this.anIntArray1437[1] = 0;
} else {
this.anIntArray1437[0] = var1.readUnsignedShort();
this.anIntArray1437[1] = var1.readUnsignedShort();
int var4 = var1.readUnsignedByte();
int var5;
int var6;
for(var5 = 0; var5 < 2; ++var5) {
for(var6 = 0; var6 < this.anIntArray1434[var5]; ++var6) {
this.anIntArrayArrayArray1430[var5][0][var6] = var1.readUnsignedShort();
this.anIntArrayArrayArray1432[var5][0][var6] = var1.readUnsignedShort();
}
}
for(var5 = 0; var5 < 2; ++var5) {
for(var6 = 0; var6 < this.anIntArray1434[var5]; ++var6) {
if((var4 & 1 << var5 * 4 << var6) == 0) {
this.anIntArrayArrayArray1430[var5][1][var6] = this.anIntArrayArrayArray1430[var5][0][var6];
this.anIntArrayArrayArray1432[var5][1][var6] = this.anIntArrayArrayArray1432[var5][0][var6];
} else {
this.anIntArrayArrayArray1430[var5][1][var6] = var1.readUnsignedShort();
this.anIntArrayArrayArray1432[var5][1][var6] = var1.readUnsignedShort();
}
}
}
if(var4 != 0 || this.anIntArray1437[1] != this.anIntArray1437[0]) {
var2.method1009(var1);
}
}
}
private static float method1621(float var0) {
float var1 = 32.703197F * (float)Math.pow(2.0D, (double)var0);
return var1 * 3.1415927F / 11025.0F;
}
final int method1622(int var1, float var2) {
float var3;
if(var1 == 0) {
var3 = (float)this.anIntArray1437[0] + (float)(this.anIntArray1437[1] - this.anIntArray1437[0]) * var2;
var3 *= 0.0030517578F;
aFloat1433 = (float)Math.pow(0.1D, (double)(var3 / 20.0F));
Class116.anInt1436 = (int)(aFloat1433 * 65536.0F);
}
if(this.anIntArray1434[var1] == 0) {
return 0;
} else {
var3 = this.method1624(var1, 0, var2);
aFloatArrayArray1431[var1][0] = -2.0F * var3 * (float)Math.cos((double)this.method1625(var1, 0, var2));
aFloatArrayArray1431[var1][1] = var3 * var3;
int var4;
for(var4 = 1; var4 < this.anIntArray1434[var1]; ++var4) {
var3 = this.method1624(var1, var4, var2);
float var5 = -2.0F * var3 * (float)Math.cos((double)this.method1625(var1, var4, var2));
float var6 = var3 * var3;
aFloatArrayArray1431[var1][var4 * 2 + 1] = aFloatArrayArray1431[var1][var4 * 2 - 1] * var6;
aFloatArrayArray1431[var1][var4 * 2] = aFloatArrayArray1431[var1][var4 * 2 - 1] * var5 + aFloatArrayArray1431[var1][var4 * 2 - 2] * var6;
for(int var7 = var4 * 2 - 1; var7 >= 2; --var7) {
aFloatArrayArray1431[var1][var7] += aFloatArrayArray1431[var1][var7 - 1] * var5 + aFloatArrayArray1431[var1][var7 - 2] * var6;
}
aFloatArrayArray1431[var1][1] += aFloatArrayArray1431[var1][0] * var5 + var6;
aFloatArrayArray1431[var1][0] += var5;
}
if(var1 == 0) {
for(var4 = 0; var4 < this.anIntArray1434[0] * 2; ++var4) {
aFloatArrayArray1431[0][var4] *= aFloat1433;
}
}
for(var4 = 0; var4 < this.anIntArray1434[var1] * 2; ++var4) {
Class116.anIntArrayArray1435[var1][var4] = (int)(aFloatArrayArray1431[var1][var4] * 65536.0F);
}
return this.anIntArray1434[var1] * 2;
}
}
private float method1624(int var1, int var2, float var3) {
float var4 = (float)this.anIntArrayArrayArray1432[var1][0][var2] + var3 * (float)(this.anIntArrayArrayArray1432[var1][1][var2] - this.anIntArrayArrayArray1432[var1][0][var2]);
var4 *= 0.0015258789F;
return 1.0F - (float)Math.pow(10.0D, (double)(-var4 / 20.0F));
}
private float method1625(int var1, int var2, float var3) {
float var4 = (float)this.anIntArrayArrayArray1430[var1][0][var2] + var3 * (float)(this.anIntArrayArrayArray1430[var1][1][var2] - this.anIntArrayArrayArray1430[var1][0][var2]);
var4 *= 1.2207031E-4F;
return method1621(var4);
}
}

View file

@ -0,0 +1,36 @@
package org.runite.client;
final class Class106 {
static boolean aBoolean1441 = true;
static int anInt1442 = 0;
static int anInt1446 = 0;
int anInt1447;
int anInt1449;
int anInt1450;
static boolean hasInternetExplorer6 = false;
static void method1642(RSString var1) {
try {
if(null != PacketParser.aClass3_Sub19Array3694) {
long var3 = var1.toLong();
int var2 = 0;
if(var3 != 0L) {
while(PacketParser.aClass3_Sub19Array3694.length > var2 && var3 != PacketParser.aClass3_Sub19Array3694[var2].linkableKey) {
++var2;
}
if(var2 < PacketParser.aClass3_Sub19Array3694.length && null != PacketParser.aClass3_Sub19Array3694[var2]) {
Class3_Sub13_Sub1.outgoingBuffer.putOpcode(162);
Class3_Sub13_Sub1.outgoingBuffer.writeLong(PacketParser.aClass3_Sub19Array3694[var2].linkableKey);
}
}
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "od.C(" + 3803 + ',' + (var1 != null?"{...}":"null") + ')');
}
}
}

View file

@ -0,0 +1,85 @@
package org.runite.client;
final class Class107 {
static RSInterface aClass11_1453;
static CacheIndex aClass153_878;
static void method1645(CacheIndex var0, CacheIndex var1) {
try {
KeyboardListener.aClass153_1916 = var1;
int var4 = (int)(21.0D * Math.random()) - 10;
aClass153_878 = var0;
int var5 = (int)(21.0D * Math.random()) - 10;
aClass153_878.getFileAmount(34);
int var3 = (int)(Math.random() * 21.0D) + -10;
int var6 = -20 + (int)(41.0D * Math.random());
Class158.anInt2015 = var6 + var5;
Class46.anInt740 = var4 + var6;
Class102.anInt2136 = var6 + var3;
} catch (RuntimeException var7) {
throw ClientErrorException.clientError(var7, "og.F(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + (byte) -67 + ')');
}
}
static void method1647(int var1, int var2, Class140_Sub4 var3, int var4, int var5, int var6) {
try {
Unsorted.method1724(var6, var2, var3.anInt2829, var5, var1, var3.anInt2819, (byte)-85, var4);
} catch (RuntimeException var8) {
throw ClientErrorException.clientError(var8, "og.A(" + (byte) 122 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + var5 + ',' + var6 + ')');
}
}
static void method1648(CacheIndex var0) {
try {
Class101.aClass153_1420 = var0;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "og.B(" + (var0 != null?"{...}":"null") + ',' + 255 + ')');
}
}
static void method1649(int var0, int var1) {
try {
if(var1 <= -65) {
InterfaceWidget var2 = InterfaceWidget.getWidget(10, var0);
var2.a();
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "og.C(" + var0 + ',' + var1 + ')');
}
}
// static void method1650() {
// try {
// Class61.aReferenceCache_939.clearSoftReferences();
//
// } catch (RuntimeException var2) {
// throw ClientErrorException.clientError(var2, "og.G(" + 21 + ')');
// }
// }
static int method1651(int var1, int var2) {
try {
int var3;
if(var1 > var2) {
var3 = var2;
var2 = var1;
var1 = var3;
}
while(var1 != 0) {
var3 = var2 % var1;
var2 = var1;
var1 = var3;
}
return var2;
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "og.D(" + 19067 + ',' + var1 + ',' + var2 + ')');
}
}
}

View file

@ -0,0 +1,104 @@
package org.runite.client;
import java.util.Objects;
final class Class108 {
static int anInt1460;
static void method1652(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) {
try {
if(Class101.anInt1425 <= var5 && Class3_Sub28_Sub18.anInt3765 >= var5 && var0 >= Class101.anInt1425 && Class3_Sub28_Sub18.anInt3765 >= var0 && Class101.anInt1425 <= var6 && var6 <= Class3_Sub28_Sub18.anInt3765 && var1 >= Class101.anInt1425 && Class3_Sub28_Sub18.anInt3765 >= var1 && var4 >= Class159.anInt2020 && Class57.anInt902 >= var4 && Class159.anInt2020 <= var7 && Class57.anInt902 >= var7 && var2 >= Class159.anInt2020 && var2 <= Class57.anInt902 && Class159.anInt2020 <= var3 && Class57.anInt902 >= var3) {
Class3_Sub5.method114(var2, var8, var7, var6, var1, var3, var4, var0, var5);
} else {
Class95.method1583(var5, var0, var7, var8, var3, var2, var1, var6, var4);
}
} catch (RuntimeException var11) {
throw ClientErrorException.clientError(var11, "oi.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + 0 + ')');
}
}
static RSString method1653(int var0) {
try {
return RSString.stringCombiner(new RSString[]{RSString.stringAnimator(255 & var0 >> 24), TextCore.aClass94_4023, RSString.stringAnimator((var0 & 16712751) >> 16), TextCore.aClass94_4023, RSString.stringAnimator(255 & var0 >> 8), TextCore.aClass94_4023, RSString.stringAnimator(var0 & 255)});
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "oi.F(" + var0 + ',' + 0 + ')');
}
}
// static void method1654(int var0) { //Separated into method1656 + clearClientCacheMemory
// try {
// Class140_Sub4.aReferenceCache_2792.clearSoftReferences();
// } catch (RuntimeException var2) {
// throw ClientErrorException.clientError(var2, "oi.E(" + var0 + ')');
// }
// }
static void method1656(CacheIndex var0, byte var1) {
try {
if(!Class140_Sub2.aBoolean2713) {
if(HDToolKit.highDetail) {
Class22.method932();
} else {
Class74.method1320();
}
Class40.aAbstractSprite_680 = Class75_Sub2.method1344(var0, Class154.anInt1966);
int var2 = Class140_Sub7.anInt2934;
int var3 = var2 * 956 / 503;
Objects.requireNonNull(Class40.aAbstractSprite_680).method639((Class23.anInt454 + -var3) / 2, 0, var3, var2);
SequenceDefinition.aClass109_1856 = InterfaceWidget.a(Class79.anInt1124, var0);
Objects.requireNonNull(SequenceDefinition.aClass109_1856).method1667(Class23.anInt454 / 2 + -(SequenceDefinition.aClass109_1856.width / 2), 18);
Class140_Sub2.aBoolean2713 = true;
if(var1 > -50) {
Class140_Sub4.aReferenceCache_2792.clearSoftReferences();
}
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "oi.B(" + (var0 != null?"{...}":"null") + ',' + var1 + ')');
}
}
static void method1657(int var0) {
try {
InterfaceWidget var2 = InterfaceWidget.getWidget(5, var0);
var2.a();
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "oi.J(" + var0 + ',' + -903 + ')');
}
}
static void method1658(int[] var1, Object[] var2) {
try {
Class25.method956(var2, var1.length - 1, var1, 74, 0);
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "oi.I(" + 21 + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ')');
}
}
static void method1659() {
try {
Class61.aReferenceCache_939.clear();
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "oi.G(" + 16712751 + ')');
}
}
static void method1661(CacheIndex var1, CacheIndex var2) {
try {
Sprites.aBoolean337 = true;
Unsorted.aClass153_1043 = var2;
Class85.aClass153_1171 = var1;
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "oi.D(" + 2 + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + true + ')');
}
}
}

View file

@ -0,0 +1,487 @@
package org.runite.client;
import java.util.Objects;
final class Class110 {
static int anInt1472 = 0;
static int[] anIntArray2386 = new int[]{1, -1, -1, 1};
static void method1681(int var0) {
try {
if(LoginHandler.loginStage == 5) {
if(var0 != -1) {
TextCore.COMMAND_BREAK_JS5_SERVER_CONNECTION = null;
}
LoginHandler.loginStage = 6;
}
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "p.A(" + var0 + ')');
}
}
static void method1683(int var0, boolean var1, int var2, boolean var3, Class91 var4, int objectId, int type, int var7, int var9, int var10) {
try {
var2 %= 4;
if(var1 && !NPC.method1986(103) && 0 == (2 & Unsorted.aByteArrayArrayArray113[0][var7][var9])) {
if(0 != (16 & Unsorted.aByteArrayArrayArray113[var2][var7][var9])) {
return;
}
if(Class140_Sub3.anInt2745 != PacketParser.method823(var9, var7, (byte) 50 ^ -127, var2)) {
return;
}
}
if(Class85.anInt1174 > var2) {
Class85.anInt1174 = var2;
}
ObjectDefinition def = ObjectDefinition.getObjectDefinition(objectId);
if(!HDToolKit.highDetail || !def.aBoolean1530) {
int var12;
int var13;
if(var10 == 1 || var10 == 3) {
var13 = def.SizeX;
var12 = def.SizeY;
} else {
var12 = def.SizeX;
var13 = def.SizeY;
}
int var14;
int var15;
if(var7 + var12 <= 104) {
var14 = var7 + (var12 >> 1);
var15 = var7 - -(1 + var12 >> 1);
} else {
var15 = 1 + var7;
var14 = var7;
}
int var17;
int var16;
if(var13 + var9 > 104) {
var16 = var9;
var17 = var9 - -1;
} else {
var16 = (var13 >> 1) + var9;
var17 = var9 + (var13 + 1 >> 1);
}
int[][] var18 = Class44.anIntArrayArrayArray723[var0];
int var20 = (var12 << 6) + (var7 << 7);
int var21 = (var13 << 6) + (var9 << 7);
int var19 = var18[var14][var17] + var18[var15][var16] + var18[var14][var16] + var18[var15][var17] >> 2;
int var22 = 0;
int[][] var23;
if(HDToolKit.highDetail && var0 != 0) {
var23 = Class44.anIntArrayArrayArray723[0];
var22 = var19 - (var23[var15][var17] + var23[var15][var16] + var23[var14][var16] + var23[var14][var17] >> 2);
}
var23 = (int[][])null;
long var24 = (long)(1073741824 | var7 | var9 << 7 | type << 14 | var10 << 20);
if(var3) {
var23 = Class58.anIntArrayArrayArray914[0];
} else if(var0 < 3) {
var23 = Class44.anIntArrayArrayArray723[1 + var0];
}
if(0 == def.SecondInt || var3) {
var24 |= Long.MIN_VALUE;
}
if(1 == def.anInt1540) {
var24 |= 4194304L;
}
if(def.aBoolean1507) {
var24 |= 2147483648L;
}
if(def.method1690()) {
Class70.method1286(var9, def, var10, (NPC)null, var7, var2, (Player)null);
}
boolean var26 = def.aBoolean1503 & !var3;
var24 |= (long)objectId << 32;
Object object;
Class136 var28;
if(22 != type) {
if(10 == type || 11 == type) {
if(def.animationId == -1 && def.ChildrenIds == null && !def.aBoolean1510) {
var28 = def.method1696(type == 11?4 + var10:var10, var20, var18, 10, var19, var23, var1, (LDIndexedSprite)null, (byte)-26, var26, var21);
if(HDToolKit.highDetail && var26) {
Class141.method2051(Objects.requireNonNull(var28).aClass109_Sub1_1770, var20, var22, var21);
}
object = Objects.requireNonNull(var28).aClass140_1777;
} else {
object = new Class140_Sub3(objectId, 10, 11 == type?4 - -var10:var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject)null);
}
if(object != null) {
boolean var37 = Class7.method835(var2, var7, var9, var19, var12, var13, (GameObject)object, var24);
if(def.aBoolean1525 && var37 && var1) {
int var29 = 15;
if(object instanceof Model) {
var29 = ((Model)object).method1888() / 4;
if(var29 > 30) {
var29 = 30;
}
}
for(int var30 = 0; var30 <= var12; ++var30) {
for(int var31 = 0; var13 >= var31; ++var31) {
if(var29 > Class67.aByteArrayArrayArray1014[var2][var7 + var30][var31 + var9]) {
Class67.aByteArrayArrayArray1014[var2][var7 - -var30][var9 - -var31] = (byte)var29;
}
}
}
}
}
if(0 != def.ClipType && null != var4) {
var4.method1489(var7, def.ProjectileClipped, (byte)96, var9, var12, var13);
}
} else if (12 <= type) {
if (-1 == def.animationId && null == def.ChildrenIds && !def.aBoolean1510) {
var28 = def.method1696(var10, var20, var18, type, var19, var23, var1, (LDIndexedSprite) null, (byte) -82, var26, var21);
if (HDToolKit.highDetail && var26) {
Class141.method2051(Objects.requireNonNull(var28).aClass109_Sub1_1770, var20, var22, var21);
}
object = Objects.requireNonNull(var28).aClass140_1777;
} else {
object = new Class140_Sub3(objectId, type, var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject) null);
}
Class7.method835(var2, var7, var9, var19, 1, 1, (GameObject) object, var24);
if (var1 && type <= 17 && type != 13 && var2 > 0) {
Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9], 4);
}
if (def.ClipType != 0 && null != var4) {
var4.method1489(var7, def.ProjectileClipped, (byte) 73, var9, var12, var13);
}
} else if (0 == type) {
if (def.animationId == -1 && null == def.ChildrenIds && !def.aBoolean1510) {
var28 = def.method1696(var10, var20, var18, 0, var19, var23, var1, (LDIndexedSprite) null, (byte) -74, var26, var21);
if (HDToolKit.highDetail && var26) {
Class141.method2051(Objects.requireNonNull(var28).aClass109_Sub1_1770, var20, var22, var21);
}
object = Objects.requireNonNull(var28).aClass140_1777;
} else {
object = new Class140_Sub3(objectId, 0, var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject) null);
}
Class154.method2146(var2, var7, var9, var19, (GameObject) object, (GameObject) null, Class159.anIntArray2017[var10], 0, var24);
if (var1) {
if (var10 == 0) {
if (def.aBoolean1525) {
Class67.aByteArrayArrayArray1014[var2][var7][var9] = 50;
Class67.aByteArrayArrayArray1014[var2][var7][1 + var9] = 50;
}
if (def.aBoolean1542) {
Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9], 1);
}
} else if (1 == var10) {
if (def.aBoolean1525) {
Class67.aByteArrayArrayArray1014[var2][var7][var9 - -1] = 50;
Class67.aByteArrayArrayArray1014[var2][var7 - -1][var9 + 1] = 50;
}
if (def.aBoolean1542) {
Class38_Sub1.anIntArrayArrayArray2609[var2][var7][1 + var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][1 + var9], 2);
}
} else if (var10 == 2) {
if (def.aBoolean1525) {
Class67.aByteArrayArrayArray1014[var2][var7 + 1][var9] = 50;
Class67.aByteArrayArrayArray1014[var2][1 + var7][1 + var9] = 50;
}
if (def.aBoolean1542) {
Class38_Sub1.anIntArrayArrayArray2609[var2][var7 - -1][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7 - -1][var9], 1);
}
} else if (var10 == 3) {
if (def.aBoolean1525) {
Class67.aByteArrayArrayArray1014[var2][var7][var9] = 50;
Class67.aByteArrayArrayArray1014[var2][1 + var7][var9] = 50;
}
if (def.aBoolean1542) {
Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9], 2);
}
}
}
if (0 != def.ClipType && var4 != null) {
var4.method1486(var10, type, def.ProjectileClipped, var9, var7);
}
if (def.anInt1528 != 16) {
Class140_Sub2.method1956(var2, var7, var9, def.anInt1528);
}
} else if (type == 1) {
if (-1 == def.animationId && def.ChildrenIds == null && !def.aBoolean1510) {
var28 = def.method1696(var10, var20, var18, 1, var19, var23, var1, (LDIndexedSprite) null, (byte) -83, var26, var21);
if (HDToolKit.highDetail && var26) {
Class141.method2051(Objects.requireNonNull(var28).aClass109_Sub1_1770, var20, var22, var21);
}
object = Objects.requireNonNull(var28).aClass140_1777;
} else {
object = new Class140_Sub3(objectId, 1, var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject) null);
}
Class154.method2146(var2, var7, var9, var19, (GameObject) object, (GameObject) null, Class40.anIntArray675[var10], 0, var24);
if (def.aBoolean1525 && var1) {
if (0 == var10) {
Class67.aByteArrayArrayArray1014[var2][var7][var9 + 1] = 50;
} else if (var10 == 1) {
Class67.aByteArrayArrayArray1014[var2][var7 - -1][1 + var9] = 50;
} else if (var10 == 2) {
Class67.aByteArrayArrayArray1014[var2][1 + var7][var9] = 50;
} else if (3 == var10) {
Class67.aByteArrayArrayArray1014[var2][var7][var9] = 50;
}
}
if (def.ClipType != 0 && null != var4) {
var4.method1486(var10, type, def.ProjectileClipped, var9, var7);
}
} else {
int var43;
if (type == 2) {
var43 = 1 + var10 & 3;
Object var38;
Object var42;
if (def.animationId == -1 && def.ChildrenIds == null && !def.aBoolean1510) {
Class136 var45 = def.method1696(var10 + 4, var20, var18, 2, var19, var23, var1, (LDIndexedSprite) null, (byte) -108, var26, var21);
if (HDToolKit.highDetail && var26) {
Class141.method2051(Objects.requireNonNull(var45).aClass109_Sub1_1770, var20, var22, var21);
}
var42 = Objects.requireNonNull(var45).aClass140_1777;
var45 = def.method1696(var43, var20, var18, 2, var19, var23, var1, (LDIndexedSprite) null, (byte) -69, var26, var21);
if (HDToolKit.highDetail && var26) {
Class141.method2051(Objects.requireNonNull(var45).aClass109_Sub1_1770, var20, var22, var21);
}
var38 = Objects.requireNonNull(var45).aClass140_1777;
} else {
var42 = new Class140_Sub3(objectId, 2, 4 + var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject) null);
var38 = new Class140_Sub3(objectId, 2, var43, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject) null);
}
Class154.method2146(var2, var7, var9, var19, (GameObject) var42, (GameObject) var38, Class159.anIntArray2017[var10], Class159.anIntArray2017[var43], var24);
if (def.aBoolean1542 && var1) {
if (var10 == 0) {
Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9], 1);
Class38_Sub1.anIntArrayArrayArray2609[var2][var7][1 + var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][1 + var9], 2);
} else if (var10 == 1) {
Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9 - -1] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9 - -1], 2);
Class38_Sub1.anIntArrayArrayArray2609[var2][var7 - -1][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7 - -1][var9], 1);
} else if (var10 == 2) {
Class38_Sub1.anIntArrayArrayArray2609[var2][1 + var7][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][1 + var7][var9], 1);
Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9], 2);
} else if (var10 == 3) {
Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9], 2);
Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9], 1);
}
}
if (def.ClipType != 0 && var4 != null) {
var4.method1486(var10, type, def.ProjectileClipped, var9, var7);
}
if (def.anInt1528 != 16) {
Class140_Sub2.method1956(var2, var7, var9, def.anInt1528);
}
} else if (type == 3) {
if (def.animationId == -1 && null == def.ChildrenIds && !def.aBoolean1510) {
var28 = def.method1696(var10, var20, var18, 3, var19, var23, var1, (LDIndexedSprite) null, (byte) -54, var26, var21);
if (HDToolKit.highDetail && var26) {
Class141.method2051(Objects.requireNonNull(var28).aClass109_Sub1_1770, var20, var22, var21);
}
object = Objects.requireNonNull(var28).aClass140_1777;
} else {
object = new Class140_Sub3(objectId, 3, var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject) null);
}
Class154.method2146(var2, var7, var9, var19, (GameObject) object, (GameObject) null, Class40.anIntArray675[var10], 0, var24);
if (def.aBoolean1525 && var1) {
if (0 == var10) {
Class67.aByteArrayArrayArray1014[var2][var7][var9 + 1] = 50;
} else if (var10 == 1) {
Class67.aByteArrayArrayArray1014[var2][1 + var7][var9 + 1] = 50;
} else if (var10 == 2) {
Class67.aByteArrayArrayArray1014[var2][1 + var7][var9] = 50;
} else if (var10 == 3) {
Class67.aByteArrayArrayArray1014[var2][var7][var9] = 50;
}
}
if (0 != def.ClipType && var4 != null) {
var4.method1486(var10, type, def.ProjectileClipped, var9, var7);
}
} else if (type == 9) {
if (def.animationId == -1 && def.ChildrenIds == null && !def.aBoolean1510) {
var28 = def.method1696(var10, var20, var18, type, var19, var23, var1, (LDIndexedSprite) null, (byte) -30, var26, var21);
if (HDToolKit.highDetail && var26) {
Class141.method2051(Objects.requireNonNull(var28).aClass109_Sub1_1770, var20, var22, var21);
}
object = Objects.requireNonNull(var28).aClass140_1777;
} else {
object = new Class140_Sub3(objectId, type, var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject) null);
}
Class7.method835(var2, var7, var9, var19, 1, 1, (GameObject) object, var24);
if (def.ClipType != 0 && var4 != null) {
var4.method1489(var7, def.ProjectileClipped, (byte) 127, var9, var12, var13);
}
if (def.anInt1528 != 16) {
Class140_Sub2.method1956(var2, var7, var9, def.anInt1528);
}
} else if (4 == type) {
if (def.animationId == -1 && null == def.ChildrenIds && !def.aBoolean1510) {
var28 = def.method1696(var10, var20, var18, 4, var19, var23, var1, (LDIndexedSprite) null, (byte) -103, var26, var21);
if (HDToolKit.highDetail && var26) {
Class141.method2051(Objects.requireNonNull(var28).aClass109_Sub1_1770, var20, var22, var21);
}
object = Objects.requireNonNull(var28).aClass140_1777;
} else {
object = new Class140_Sub3(objectId, 4, var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject) null);
}
Class3_Sub28_Sub8.method577(var2, var7, var9, var19, (GameObject) object, (GameObject) null, Class159.anIntArray2017[var10], 0, 0, 0, var24);
} else {
Object var39;
Class136 var47;
long var44;
if (type == 5) {
var43 = 16;
var44 = Class157.method2174(var2, var7, var9);
if (var44 != 0) {
var43 = ObjectDefinition.getObjectDefinition(Integer.MAX_VALUE & (int) (var44 >>> 32)).anInt1528;
}
if (def.animationId == -1 && null == def.ChildrenIds && !def.aBoolean1510) {
var47 = def.method1696(var10, var20, var18, 4, var19, var23, var1, (LDIndexedSprite) null, (byte) -125, var26, var21);
if (HDToolKit.highDetail && var26) {
Class141.method2051(Objects.requireNonNull(var47).aClass109_Sub1_1770, var20 + -(RenderAnimationDefinition.anIntArray356[var10] * 8), var22, -(Class3_Sub24_Sub3.anIntArray3491[var10] * 8) + var21);
}
var39 = Objects.requireNonNull(var47).aClass140_1777;
} else {
var39 = new Class140_Sub3(objectId, 4, var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject) null);
}
Class3_Sub28_Sub8.method577(var2, var7, var9, var19, (GameObject) var39, (GameObject) null, Class159.anIntArray2017[var10], 0, var43 * RenderAnimationDefinition.anIntArray356[var10], Class3_Sub24_Sub3.anIntArray3491[var10] * var43, var24);
} else if (type == 6) {
var43 = 8;
var44 = Class157.method2174(var2, var7, var9);
if (var44 != 0) {
var43 = ObjectDefinition.getObjectDefinition(Integer.MAX_VALUE & (int) (var44 >>> 32)).anInt1528 / 2;
}
if (def.animationId == -1 && def.ChildrenIds == null && !def.aBoolean1510) {
var47 = def.method1696(var10 + 4, var20, var18, 4, var19, var23, var1, (LDIndexedSprite) null, (byte) -65, var26, var21);
if (HDToolKit.highDetail && var26) {
Class141.method2051(Objects.requireNonNull(var47).aClass109_Sub1_1770, -(8 * anIntArray2386[var10]) + var20, var22, -(8 * Class163_Sub3.anIntArray3007[var10]) + var21);
}
var39 = Objects.requireNonNull(var47).aClass140_1777;
} else {
var39 = new Class140_Sub3(objectId, 4, 4 + var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject) null);
}
Class3_Sub28_Sub8.method577(var2, var7, var9, var19, (GameObject) var39, (GameObject) null, 256, var10, var43 * anIntArray2386[var10], var43 * Class163_Sub3.anIntArray3007[var10], var24);
} else if (7 == type) {
int var40 = 3 & var10 - -2;
if (def.animationId == -1 && def.ChildrenIds == null && !def.aBoolean1510) {
Class136 var41 = def.method1696(var40 - -4, var20, var18, 4, var19, var23, var1, (LDIndexedSprite) null, (byte) -39, var26, var21);
if (HDToolKit.highDetail && var26) {
Class141.method2051(Objects.requireNonNull(var41).aClass109_Sub1_1770, var20, var22, var21);
}
object = Objects.requireNonNull(var41).aClass140_1777;
} else {
object = new Class140_Sub3(objectId, 4, var40 + 4, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject) null);
}
Class3_Sub28_Sub8.method577(var2, var7, var9, var19, (GameObject) object, (GameObject) null, 256, var40, 0, 0, var24);
} else if (type == 8) {
var43 = 8;
var44 = Class157.method2174(var2, var7, var9);
if (var44 != 0) {
var43 = ObjectDefinition.getObjectDefinition(Integer.MAX_VALUE & (int) (var44 >>> 32)).anInt1528 / 2;
}
int var32 = var10 + 2 & 3;
Object var46;
if (-1 == def.animationId && null == def.ChildrenIds && !def.aBoolean1510) {
int var34 = 8 * Class163_Sub3.anIntArray3007[var10];
int var33 = anIntArray2386[var10] * 8;
Class136 var35 = def.method1696(4 + var10, var20, var18, 4, var19, var23, var1, (LDIndexedSprite) null, (byte) -25, var26, var21);
if (HDToolKit.highDetail && var26) {
Class141.method2051(Objects.requireNonNull(var35).aClass109_Sub1_1770, var20 + -var33, var22, -var34 + var21);
}
var39 = Objects.requireNonNull(var35).aClass140_1777;
var35 = def.method1696(var32 - -4, var20, var18, 4, var19, var23, var1, (LDIndexedSprite) null, (byte) -101, var26, var21);
if (HDToolKit.highDetail && var26) {
Class141.method2051(Objects.requireNonNull(var35).aClass109_Sub1_1770, var20 - var33, var22, -var34 + var21);
}
var46 = Objects.requireNonNull(var35).aClass140_1777;
} else {
var39 = new Class140_Sub3(objectId, 4, 4 + var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject) null);
var46 = new Class140_Sub3(objectId, 4, var32 + 4, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject) null);
}
Class3_Sub28_Sub8.method577(var2, var7, var9, var19, (GameObject) var39, (GameObject) var46, 256, var10, var43 * anIntArray2386[var10], Class163_Sub3.anIntArray3007[var10] * var43, var24);
}
}
}
} else if(KeyboardListener.aBoolean1905 || def.SecondInt != 0 || def.ClipType == 1 || def.aBoolean1483) {
if(def.animationId == -1 && def.ChildrenIds == null && !def.aBoolean1510) {
var28 = def.method1696(var10, var20, var18, 22, var19, var23, var1, (LDIndexedSprite)null, (byte)-126, var26, var21);
if(HDToolKit.highDetail && var26) {
Class141.method2051(Objects.requireNonNull(var28).aClass109_Sub1_1770, var20, var22, var21);
}
object = Objects.requireNonNull(var28).aClass140_1777;
} else {
object = new Class140_Sub3(objectId, 22, var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject)null);
}
Class3_Sub13_Sub23.method276(var2, var7, var9, var19, (GameObject)object, var24, def.aBoolean1502);
if(def.ClipType == 1 && null != var4) {
var4.method1503(var7, var9);
}
}
}
} catch (RuntimeException var36) {
throw ClientErrorException.clientError(var36, "p.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ',' + objectId + ',' + type + ',' + var7 + ',' + (byte) 50 + ',' + var9 + ',' + var10 + ')');
}
}
}

View file

@ -0,0 +1,39 @@
package org.runite.client;
final class Class113 {
static int interfacePacketCounter = 0;
int anInt1544;
int anInt1545;
int anInt1547;
int anInt1548;
int anInt1549;
int anInt1550;
int anInt1551;
static int anInt1552 = 0;
int anInt1553;
int anInt1554;
int anInt1555;
int anInt1557;
static int anInt1559;
int anInt1560;
int anInt1561;
int anInt1562;
int anInt1563;
int anInt1564;
int anInt1565;
int anInt1566;
static void method1702(boolean var1) {
try {
if(var1 == !Sprites.aBoolean337) {
Sprites.aBoolean337 = var1;
Class3_Sub10.method139(76);
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "pe.B(" + (byte) -124 + ',' + var1 + ')');
}
}
}

View file

@ -0,0 +1,165 @@
package org.runite.client;
import org.rs09.client.data.ReferenceCache;
import java.util.Objects;
final class Class114 {
private final int anInt1568;
static ReferenceCache aReferenceCache_1569 = new ReferenceCache(200);
private int anInt1570 = 0;
private Class3_Sub26[] aClass3_Sub26Array1571;
private int[][] anIntArrayArray1573;
static long[] ignores = new long[100];
private int anInt1576 = -1;
private Class61 aClass61_1577 = new Class61();
static int[] anIntArray1578 = new int[500];
private final int anInt1579;
boolean aBoolean1580 = false;
static float[] method1705(int var0, int var1) {
try {
float var2 = Class92.method1514() + Class92.getLightingModelAmbient();
int var3 = Class92.screenColorRgb();
float var7 = 0.58823526F;
MouseListeningClass.aFloatArray1919[3] = 1.0F;
float var4 = (float)(var3 >> 16 & 255) / 255.0F;
float var5 = (float)(('\uff1e' & var3) >> 8) / 255.0F;
MouseListeningClass.aFloatArray1919[1] = var2 * (float) Unsorted.bitwiseAnd(var0 >> 8, 255) / 255.0F * var5 * var7;
MouseListeningClass.aFloatArray1919[var1] = var2 * var7 * var4 * ((float)(Unsorted.bitwiseAnd(16754958, var0) >> 16) / 255.0F);
float var6 = (float)(var3 & 255) / 255.0F;
MouseListeningClass.aFloatArray1919[2] = (float) Unsorted.bitwiseAnd(255, var0) / 255.0F * var6 * var7 * var2;
return MouseListeningClass.aFloatArray1919;
} catch (RuntimeException var8) {
throw ClientErrorException.clientError(var8, "pf.F(" + var0 + ',' + var1 + ')');
}
}
final void method1706() {
try {
for(int var2 = 0; var2 < this.anInt1579; ++var2) {
this.anIntArrayArray1573[var2] = null;
}
this.anIntArrayArray1573 = (int[][])null;
this.aClass3_Sub26Array1571 = null;
this.aClass61_1577.method1211(-85);
this.aClass61_1577 = null;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "pf.A(" + 1127165736 + ')');
}
}
static AbstractSprite method1707(int var0, int var1, boolean var2, int var3, int var4) {
try {
int var7 = (!var2?0:65536) + var1 + (var0 << 17) + (var4 << 19);
long var8 = (long)var7 * 3849834839L + 3147483667L * (long)var3;
AbstractSprite var10 = (AbstractSprite)Class67.aReferenceCache_1013.get(var8);
if(var10 == null) {
Class51.aBoolean837 = false;
var10 = Unsorted.method1570(var4, (byte)13, false, var1, var2, var0, var3, false);
if(var10 != null && !Class51.aBoolean837) {
Class67.aReferenceCache_1013.put(var10, var8);
}
}
return var10;
} catch (RuntimeException var11) {
throw ClientErrorException.clientError(var11, "pf.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + 65536 + ')');
}
}
static void method1708(int var0, int var1) {
try {
InterfaceWidget var3 = InterfaceWidget.getWidget(13, var1);
var3.flagUpdate();
var3.anInt3598 = var0;
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "pf.E(" + var0 + ',' + var1 + ',' + -2553 + ')');
}
}
final int[] method1709(int var2) {
try {
if(this.anInt1579 == this.anInt1568) {
this.aBoolean1580 = this.aClass3_Sub26Array1571[var2] == null;
this.aClass3_Sub26Array1571[var2] = Class56.aClass3_Sub26_884;
return this.anIntArrayArray1573[var2];
} else if (this.anInt1579 == 1) {
this.aBoolean1580 = this.anInt1576 != var2;
this.anInt1576 = var2;
return this.anIntArrayArray1573[0];
} else {
Class3_Sub26 var3 = this.aClass3_Sub26Array1571[var2];
if (null == var3) {
this.aBoolean1580 = true;
if (this.anInt1570 < this.anInt1579) {
var3 = new Class3_Sub26(var2, this.anInt1570);
++this.anInt1570;
} else {
Class3_Sub26 var4 = (Class3_Sub26) this.aClass61_1577.method1212();
var3 = new Class3_Sub26(var2, Objects.requireNonNull(var4).anInt2555);
this.aClass3_Sub26Array1571[var4.anInt2553] = null;
var4.unlink();
}
this.aClass3_Sub26Array1571[var2] = var3;
} else {
this.aBoolean1580 = false;
}
this.aClass61_1577.method1216(var3);
return this.anIntArrayArray1573[var3.anInt2555];
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "pf.C(" + -16409 + ',' + var2 + ')');
}
}
final int[][] method1710(byte var1) {
try {
if(var1 <= 67) {
return (int[][])((int[][])null);
} else if(this.anInt1579 == this.anInt1568) {
for(int var2 = 0; this.anInt1579 > var2; ++var2) {
this.aClass3_Sub26Array1571[var2] = Class56.aClass3_Sub26_884;
}
return this.anIntArrayArray1573;
} else {
throw new RuntimeException("Can only retrieve a full image cache");
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "pf.H(" + var1 + ')');
}
}
static void method1711(int var0, int var1) {
try {
Class3_Sub28_Sub4.aReferenceCache_3572.sweep(var0);
Class143.aReferenceCache_1874.sweep(var0);
Class67.aReferenceCache_1013.sweep(var0);
if(var1 != 255) {
method1711(20, 87);
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "pf.D(" + var0 + ',' + var1 + ')');
}
}
Class114(int var1, int var2, int var3) {
try {
this.anInt1568 = var2;
this.aClass3_Sub26Array1571 = new Class3_Sub26[this.anInt1568];
this.anInt1579 = var1;
this.anIntArrayArray1573 = new int[this.anInt1579][var3];
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "pf.<init>(" + var1 + ',' + var2 + ',' + var3 + ')');
}
}
}

View file

@ -0,0 +1,119 @@
package org.runite.client;
final class Class115 {
static void method1713() {
try {
while(true) {
Class3_Sub5 var1 = (Class3_Sub5) Unsorted.aClass61_2468.method1220();
if(var1 == null) {
return;
}
Class140_Sub4 var2;
int var3;
if(0 > var1.anInt2273) {
var3 = -var1.anInt2273 - 1;
if(Class3_Sub1.localIndex == var3) {
var2 = Class102.player;
} else {
var2 = Class3_Sub13_Sub22.players[var3];
}
} else {
var3 = var1.anInt2273 - 1;
var2 = NPC.npcs[var3];
}
if(var2 != null) {
ObjectDefinition var20 = ObjectDefinition.getObjectDefinition(var1.anInt2270);
int var4;
int var5;
if(var1.anInt2284 == 1 || var1.anInt2284 == 3) {
var5 = var20.SizeX;
var4 = var20.SizeY;
} else {
var4 = var20.SizeX;
var5 = var20.SizeY;
}
int var7 = (var4 - -1 >> 1) + var1.anInt2271;
int var6 = (var4 >> 1) + var1.anInt2271;
int var8 = (var5 >> 1) + var1.anInt2282;
int var9 = (var5 + 1 >> 1) + var1.anInt2282;
int[][] var10 = Class44.anIntArrayArrayArray723[WorldListCountry.localPlane];
int var11 = var10[var7][var9] + var10[var6][var9] + (var10[var6][var8] - -var10[var7][var8]) >> 2;
GameObject var12 = null;
int var13 = Class75.anIntArray1107[var1.anInt2278];
if(var13 == 0) {
Class70 var14 = Class154.method2147(WorldListCountry.localPlane, var1.anInt2271, var1.anInt2282);
if(var14 != null) {
var12 = var14.aClass140_1049;
}
} else if(var13 == 1) {
Class19 var21 = Class44.method1068(WorldListCountry.localPlane, var1.anInt2271, var1.anInt2282);
if(null != var21) {
var12 = var21.aClass140_429;
}
} else if (2 == var13) {
Class25 var23 = Class75.method1336(WorldListCountry.localPlane, var1.anInt2271, var1.anInt2282);
if (null != var23) {
var12 = var23.aClass140_479;
}
} else if (var13 == 3) {
Class12 var24 = Unsorted.method784(WorldListCountry.localPlane, var1.anInt2271, var1.anInt2282);
if (null != var24) {
var12 = var24.object;
}
}
if(null != var12) {
Unsorted.method881(WorldListCountry.localPlane, var1.anInt2282, -96, 0, var1.anInt2271, var1.anInt2283 - -1, -1, var13, 0, var1.anInt2266 - -1);
var2.anInt2778 = var1.anInt2283 + Class44.anInt719;
var2.anInt2833 = 64 * var5 + var1.anInt2282 * 128;
var2.anInt2782 = var4 * 64 + 128 * var1.anInt2271;
var2.anObject2796 = var12;
int var22 = var1.anInt2268;
var2.anInt2812 = var11;
var2.anInt2797 = Class44.anInt719 + var1.anInt2266;
int var15 = var1.anInt2272;
int var16 = var1.anInt2277;
int var17 = var1.anInt2279;
int var18;
if(var22 > var15) {
var18 = var22;
var22 = var15;
var15 = var18;
}
var2.anInt2818 = var1.anInt2271 + var15;
if(var17 < var16) {
var18 = var16;
var16 = var17;
var17 = var18;
}
var2.anInt2777 = var1.anInt2282 + var16;
var2.anInt2817 = var17 + var1.anInt2282;
var2.anInt2788 = var1.anInt2271 - -var22;
}
}
}
} catch (RuntimeException var19) {
throw ClientErrorException.clientError(var19, "ph.A(" + (byte) -91 + ')');
}
}
// static void method1714() {
// try {
// KeyboardListener.aReferenceCache_1911.clearSoftReferences();
//
// Unsorted.aReferenceCache_1131.clearSoftReferences();
// } catch (RuntimeException var2) {
// throw ClientErrorException.clientError(var2, "ph.C(" + (byte) -6 + ')');
// }
// }
}

View file

@ -0,0 +1,302 @@
package org.runite.client;
import org.rs09.client.util.ArrayUtils;
import java.util.Random;
final class Class116 {
static int[][] anIntArrayArray1435 = new int[2][8];
static int anInt1436;
private Class34 aClass34_1584;
private Class34 aClass34_1585;
int anInt1586 = 500;
private Class34 aClass34_1587;
private Class34 aClass34_1588;
private Class34 aClass34_1589;
private int anInt1590 = 0;
private static int[] anIntArray1591;
private Class34 aClass34_1592;
int anInt1593 = 0;
private static int[] anIntArray1594 = new int['\u8000'];
private Class34 aClass34_1595;
private final int[] anIntArray1596 = new int[]{0, 0, 0, 0, 0};
private final int[] anIntArray1597 = new int[]{0, 0, 0, 0, 0};
private static int[] anIntArray1598;
private static int[] anIntArray1599;
private static int[] anIntArray1600;
private static int[] anIntArray1601;
private static int[] anIntArray1602;
private static int[] anIntArray1603;
private int anInt1604 = 100;
private final int[] anIntArray1605 = new int[]{0, 0, 0, 0, 0};
private Class103 aClass103_1606;
private Class34 aClass34_1607;
private Class34 aClass34_1608;
private int method1716(int var1, int var2, int var3) {
return var3 == 1?((var1 & 32767) < 16384?var2:-var2):(var3 == 2?anIntArray1591[var1 & 32767] * var2 >> 14:(var3 == 3?((var1 & 32767) * var2 >> 14) - var2:(var3 == 4?anIntArray1594[var1 / 2607 & 32767] * var2:0)));
}
final int[] method1717(int var1, int var2) {
ArrayUtils.zero(anIntArray1598, 0, var1);
if (var2 >= 10) {
double var3 = (double) var1 / ((double) var2 + 0.0D);
this.aClass34_1589.method1008();
this.aClass34_1587.method1008();
int var5 = 0;
int var6 = 0;
int var7 = 0;
if (this.aClass34_1608 != null) {
this.aClass34_1608.method1008();
this.aClass34_1607.method1008();
var5 = (int) ((double) (this.aClass34_1608.anInt605 - this.aClass34_1608.anInt603) * 32.768D / var3);
var6 = (int) ((double) this.aClass34_1608.anInt603 * 32.768D / var3);
}
int var8 = 0;
int var9 = 0;
int var10 = 0;
if (this.aClass34_1595 != null) {
this.aClass34_1595.method1008();
this.aClass34_1584.method1008();
var8 = (int) ((double) (this.aClass34_1595.anInt605 - this.aClass34_1595.anInt603) * 32.768D / var3);
var9 = (int) ((double) this.aClass34_1595.anInt603 * 32.768D / var3);
}
int var11;
for (var11 = 0; var11 < 5; ++var11) {
if (this.anIntArray1596[var11] != 0) {
anIntArray1601[var11] = 0;
anIntArray1602[var11] = (int) ((double) this.anIntArray1597[var11] * var3);
anIntArray1603[var11] = (this.anIntArray1596[var11] << 14) / 100;
anIntArray1599[var11] = (int) ((double) (this.aClass34_1589.anInt605 - this.aClass34_1589.anInt603) * 32.768D * Math.pow(1.0057929410678534D, (double) this.anIntArray1605[var11]) / var3);
anIntArray1600[var11] = (int) ((double) this.aClass34_1589.anInt603 * 32.768D / var3);
}
}
int var12;
int var13;
int var14;
int var15;
for (var11 = 0; var11 < var1; ++var11) {
var12 = this.aClass34_1589.method1007(var1);
var13 = this.aClass34_1587.method1007(var1);
if (this.aClass34_1608 != null) {
var14 = this.aClass34_1608.method1007(var1);
var15 = this.aClass34_1607.method1007(var1);
var12 += this.method1716(var7, var15, this.aClass34_1608.anInt601) >> 1;
var7 += (var14 * var5 >> 16) + var6;
}
if (this.aClass34_1595 != null) {
var14 = this.aClass34_1595.method1007(var1);
var15 = this.aClass34_1584.method1007(var1);
var13 = var13 * ((this.method1716(var10, var15, this.aClass34_1595.anInt601) >> 1) + '\u8000') >> 15;
var10 += (var14 * var8 >> 16) + var9;
}
for (var14 = 0; var14 < 5; ++var14) {
if (this.anIntArray1596[var14] != 0) {
var15 = var11 + anIntArray1602[var14];
if (var15 < var1) {
anIntArray1598[var15] += this.method1716(anIntArray1601[var14], var13 * anIntArray1603[var14] >> 15, this.aClass34_1589.anInt601);
anIntArray1601[var14] += (var12 * anIntArray1599[var14] >> 16) + anIntArray1600[var14];
}
}
}
}
int var16;
if (this.aClass34_1585 != null) {
this.aClass34_1585.method1008();
this.aClass34_1588.method1008();
var11 = 0;
for (var14 = 0; var14 < var1; ++var14) {
var15 = this.aClass34_1585.method1007(var1);
var16 = this.aClass34_1588.method1007(var1);
var12 = this.aClass34_1585.anInt603 + ((this.aClass34_1585.anInt605 - this.aClass34_1585.anInt603) * var15 >> 8);
var11 += 256;
if (var11 >= var12) {
var11 = 0;
} else {
anIntArray1598[var14] = 0;
}
}
}
if (this.anInt1590 > 0 && this.anInt1604 > 0) {
var11 = (int) ((double) this.anInt1590 * var3);
for (var12 = var11; var12 < var1; ++var12) {
anIntArray1598[var12] += anIntArray1598[var12 - var11] * this.anInt1604 / 100;
}
}
if (this.aClass103_1606.anIntArray1434[0] > 0 || this.aClass103_1606.anIntArray1434[1] > 0) {
this.aClass34_1592.method1008();
var11 = this.aClass34_1592.method1007(var1 + 1);
var12 = this.aClass103_1606.method1622(0, (float) var11 / 65536.0F);
var13 = this.aClass103_1606.method1622(1, (float) var11 / 65536.0F);
if (var1 >= var12 + var13) {
var14 = 0;
var15 = var13;
if (var13 > var1 - var12) {
var15 = var1 - var12;
}
int var17;
while (var14 < var15) {
var16 = (int) ((long) anIntArray1598[var14 + var12] * (long) anInt1436 >> 16);
for (var17 = 0; var17 < var12; ++var17) {
var16 += (int) ((long) anIntArray1598[var14 + var12 - 1 - var17] * (long) anIntArrayArray1435[0][var17] >> 16);
}
for (var17 = 0; var17 < var14; ++var17) {
var16 -= (int) ((long) anIntArray1598[var14 - 1 - var17] * (long) anIntArrayArray1435[1][var17] >> 16);
}
anIntArray1598[var14] = var16;
var11 = this.aClass34_1592.method1007(var1 + 1);
++var14;
}
var15 = 128;
while (true) {
if (var15 > var1 - var12) {
var15 = var1 - var12;
}
while (var14 < var15) {
var16 = (int) ((long) anIntArray1598[var14 + var12] * (long) anInt1436 >> 16);
for (var17 = 0; var17 < var12; ++var17) {
var16 += (int) ((long) anIntArray1598[var14 + var12 - 1 - var17] * (long) anIntArrayArray1435[0][var17] >> 16);
}
for (var17 = 0; var17 < var13; ++var17) {
var16 -= (int) ((long) anIntArray1598[var14 - 1 - var17] * (long) anIntArrayArray1435[1][var17] >> 16);
}
anIntArray1598[var14] = var16;
var11 = this.aClass34_1592.method1007(var1 + 1);
++var14;
}
if (var14 >= var1 - var12) {
while (var14 < var1) {
var16 = 0;
for (var17 = var14 + var12 - var1; var17 < var12; ++var17) {
var16 += (int) ((long) anIntArray1598[var14 + var12 - 1 - var17] * (long) anIntArrayArray1435[0][var17] >> 16);
}
for (var17 = 0; var17 < var13; ++var17) {
var16 -= (int) ((long) anIntArray1598[var14 - 1 - var17] * (long) anIntArrayArray1435[1][var17] >> 16);
}
anIntArray1598[var14] = var16;
this.aClass34_1592.method1007(var1 + 1);
++var14;
}
break;
}
var12 = this.aClass103_1606.method1622(0, (float) var11 / 65536.0F);
var13 = this.aClass103_1606.method1622(1, (float) var11 / 65536.0F);
var15 += 128;
}
}
}
for (var11 = 0; var11 < var1; ++var11) {
if (anIntArray1598[var11] < -32768) {
anIntArray1598[var11] = -32768;
}
if (anIntArray1598[var11] > 32767) {
anIntArray1598[var11] = 32767;
}
}
}
return anIntArray1598;
}
final void method1718(DataBuffer var1) {
this.aClass34_1589 = new Class34();
this.aClass34_1589.method1010(var1);
this.aClass34_1587 = new Class34();
this.aClass34_1587.method1010(var1);
int var2 = var1.readUnsignedByte();
if(var2 != 0) {
--var1.index;
this.aClass34_1608 = new Class34();
this.aClass34_1608.method1010(var1);
this.aClass34_1607 = new Class34();
this.aClass34_1607.method1010(var1);
}
var2 = var1.readUnsignedByte();
if(var2 != 0) {
--var1.index;
this.aClass34_1595 = new Class34();
this.aClass34_1595.method1010(var1);
this.aClass34_1584 = new Class34();
this.aClass34_1584.method1010(var1);
}
var2 = var1.readUnsignedByte();
if(var2 != 0) {
--var1.index;
this.aClass34_1585 = new Class34();
this.aClass34_1585.method1010(var1);
this.aClass34_1588 = new Class34();
this.aClass34_1588.method1010(var1);
}
for(int var3 = 0; var3 < 10; ++var3) {
int var4 = var1.getSmart();
if(var4 == 0) {
break;
}
this.anIntArray1596[var3] = var4;
this.anIntArray1605[var3] = var1.getSmart(-21208);
this.anIntArray1597[var3] = var1.getSmart();
}
this.anInt1590 = var1.getSmart();
this.anInt1604 = var1.getSmart();
this.anInt1586 = var1.readUnsignedShort();
this.anInt1593 = var1.readUnsignedShort();
this.aClass103_1606 = new Class103();
this.aClass34_1592 = new Class34();
this.aClass103_1606.method1620(var1, this.aClass34_1592);
}
static {
Random var0 = new Random(0L);
int var1;
for(var1 = 0; var1 < '\u8000'; ++var1) {
anIntArray1594[var1] = (var0.nextInt() & 2) - 1;
}
anIntArray1591 = new int['\u8000'];
for(var1 = 0; var1 < '\u8000'; ++var1) {
anIntArray1591[var1] = (int)(Math.sin((double)var1 / 5215.1903D) * 16384.0D);
}
anIntArray1598 = new int[220500];
anIntArray1599 = new int[5];
anIntArray1600 = new int[5];
anIntArray1601 = new int[5];
anIntArray1603 = new int[5];
anIntArray1602 = new int[5];
}
}

View file

@ -0,0 +1,117 @@
package org.runite.client;
final class Class117 {
static WorldListEntry[] worldList;
static int[] anIntArray1613 = new int[500];
static void method1719(int var0) {
try {
if(Class143.loadingStage != var0) {
if(Class143.loadingStage == 0) {
Unsorted.method1517();
}
if(var0 == 40) {
Class24.method951();
}
boolean var2 = var0 == 5 || var0 == 10 || var0 == 28;
if(40 != var0 && null != Class163_Sub2_Sub1.aClass89_4012) {
Class163_Sub2_Sub1.aClass89_4012.close();
Class163_Sub2_Sub1.aClass89_4012 = null;
}
if(var0 == 25 || var0 == 28) {
Class162.anInt2038 = 0;
LinkableRSString.anInt2579 = 1;
Class163_Sub2_Sub1.anInt4019 = 0;
Client.anInt2275 = 1;
Class40.anInt3293 = 0;
Unsorted.method1250(102, true);
}
if(var0 == 25 || var0 == 10) {
Class72.method1293();
}
if(var0 == 5) {
Class108.method1656(CacheIndex.spritesIndex, (byte)-111);
} else {
Class3_Sub13_Sub17.method247((byte)-121);
}
boolean var3 = 5 == Class143.loadingStage || Class143.loadingStage == 10 || Class143.loadingStage == 28;
if(var3 == !var2) {
if(var2) {
Class129.anInt1691 = KeyboardListener.loginThemeSongArchiveID;
if(Unsorted.anInt120 == 0) {
Unsorted.method882();
} else {
Unsorted.method2099(KeyboardListener.loginThemeSongArchiveID, CacheIndex.musicIndex, 255);
}
Class58.aJs5Worker_917.sendLoginState(false);
} else {
Unsorted.method882();
Class58.aJs5Worker_917.sendLoginState(true);
}
}
if(HDToolKit.highDetail && (25 == var0 || var0 == 28 || var0 == 40)) {
HDToolKit.method1833();
}
Class143.loadingStage = var0;
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "pl.C(" + var0 + ',' + 5 + ')');
}
}
static void method1720(boolean var0, int var1) {
try {
Class129.anIntArray1695 = new int[104];
Unsorted.anIntArray1138 = new int[104];
Class85.anInt1174 = 99;
MouseListeningClass.anIntArray1920 = new int[104];
byte var2;
if(var0) {
var2 = 1;
} else {
var2 = 4;
}
Unsorted.aByteArrayArrayArray1328 = new byte[var2][104][104];
Unsorted.anIntArray2469 = new int[104];
Class38_Sub1.anIntArrayArrayArray2609 = new int[var2][105][var1];
Class67.aByteArrayArrayArray1014 = new byte[var2][105][105];
Class158_Sub1.aByteArrayArrayArray1828 = new byte[var2][104][104];
Class3_Sub31.anIntArray2606 = new int[104];
PacketParser.aByteArrayArrayArray81 = new byte[var2][104][104];
Class3_Sub13_Sub36.aByteArrayArrayArray3430 = new byte[var2][104][104];
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "pl.B(" + var0 + ',' + var1 + ')');
}
}
static Class3_Sub28_Sub16_Sub2 method1722(int var0) {
try {
int var1 = Class140_Sub7.anIntArray2931[0] * Unsorted.anIntArray3076[0];
byte[] var2 = Class163_Sub1.aByteArrayArray2987[0];
int[] var3 = new int[var1];
for(int var4 = 0; var1 > var4; ++var4) {
var3[var4] = Class3_Sub13_Sub38.spritePalette[Unsorted.bitwiseAnd(var2[var4], 255)];
}
Class3_Sub28_Sub16_Sub2 var6 = new Class3_Sub28_Sub16_Sub2(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[0], Unsorted.anIntArray2591[0], Class140_Sub7.anIntArray2931[0], Unsorted.anIntArray3076[0], var3);
Class39.method1035((byte)122);
return var0 >= -51?(Class3_Sub28_Sub16_Sub2)null:var6;
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "pl.A(" + var0 + ')');
}
}
}

View file

@ -0,0 +1,9 @@
package org.runite.client;
import org.rs09.client.data.reference.ObjectReference;
public abstract class Class118 {
public abstract <T> ObjectReference<T> method1725(ObjectReference<T> var1);
}

View file

@ -0,0 +1,11 @@
package org.runite.client;
import org.rs09.client.data.reference.ObjectReference;
import org.rs09.client.data.reference.SoftObjectReference;
public final class Class118_Sub1 extends Class118 {
public final <T> ObjectReference<T> method1725(ObjectReference<T> var1) {
return new SoftObjectReference<>(var1.getValue());
}
}

View file

@ -0,0 +1,99 @@
package org.runite.client;
import java.awt.Container;
import java.awt.Insets;
final class Class119 {
static Class131 aClass131_1624;
static Class33 aClass33_1626;
static CacheIndex aClass153_1628;
static void method1729() {
try {
Object var1;
if(null == Class3_Sub13_Sub10.aFrame3121) {
if(GameShell.frame == null) {
var1 = Class38.aClass87_665.applet;
} else {
var1 = GameShell.frame;
}
} else {
var1 = Class3_Sub13_Sub10.aFrame3121;
}
Unsorted.anInt2334 = ((Container)var1).getSize().width;
Class70.anInt1047 = ((Container)var1).getSize().height;
Insets var2;
if(var1 == GameShell.frame) {
var2 = GameShell.frame.getInsets();
Class70.anInt1047 -= var2.bottom + var2.top;
Unsorted.anInt2334 -= var2.right + var2.left;
}
if(Class83.method1411(0) >= 2) {
Class23.anInt454 = Unsorted.anInt2334;
Class84.anInt1164 = 0;
Class106.anInt1442 = 0;
Class140_Sub7.anInt2934 = Class70.anInt1047;
} else {
Class106.anInt1442 = 0;
Class84.anInt1164 = (-765 + Unsorted.anInt2334) / 2;
Class140_Sub7.anInt2934 = 503;
Class23.anInt454 = 765;
}
if(HDToolKit.highDetail) {
HDToolKit.method1854(Class23.anInt454, Class140_Sub7.anInt2934);
}
GameShell.canvas.setSize(Class23.anInt454, Class140_Sub7.anInt2934);
if(var1 == GameShell.frame) {
var2 = GameShell.frame.getInsets();
GameShell.canvas.setLocation(var2.left + Class84.anInt1164, Class106.anInt1442 + var2.top);
} else {
GameShell.canvas.setLocation(Class84.anInt1164, Class106.anInt1442);
}
if(Class3_Sub28_Sub12.anInt3655 != -1) {
Class124.method1746(true, (byte)-125);
}
Unsorted.method1396(-1);
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "qh.C(" + true + ')');
}
}
static void method1730(Signlink var0) {
try {
RandomAccessFileWrapper var2 = null;
try {
Class64 var3 = var0.method1433("runescape", 12);
while(0 == var3.anInt978) {
TimeUtils.sleep(1L);
}
if(var3.anInt978 == 1) {
var2 = (RandomAccessFileWrapper)var3.anObject974;
DataBuffer var4 = Class23.method939();
var2.write(var4.buffer, var4.index, 0);
}
} catch (Exception var6) {
}
try {
if(var2 != null) {
var2.close();
}
} catch (Exception var5) {
}
} catch (RuntimeException var7) {
throw ClientErrorException.clientError(var7, "qh.A(" + (var0 != null?"{...}":"null") + ',' + (byte) 14 + ')');
}
}
}

View file

@ -0,0 +1,97 @@
package org.runite.client;
import org.rs09.client.util.ArrayUtils;
public final class Class12 {
static float aFloat319;
GameObject object;
public static CacheIndex aClass153_322;
public static CacheIndex aClass153_323;
int anInt324;
int anInt326;
long aLong328;
boolean aBoolean329 = false;
int anInt330;
static void method870(int var0, byte var1, int var2, int var3, int var4, int var5) {
try {
int var6;
int var7;
for(var6 = var2; var4 + var2 >= var6; ++var6) {
for(var7 = var3; var5 + var3 >= var7; ++var7) {
if(var7 >= 0 && 104 > var7 && var6 >= 0 && 104 > var6) {
Class67.aByteArrayArrayArray1014[var0][var7][var6] = 127;
}
}
}
for(var6 = var2; var4 + var2 > var6; ++var6) {
for(var7 = var3; var7 < var3 + var5; ++var7) {
if(var7 >= 0 && var7 < 104 && var6 >= 0 && var6 < 104) {
Class44.anIntArrayArrayArray723[var0][var7][var6] = var0 <= 0?0:Class44.anIntArrayArrayArray723[var0 + -1][var7][var6];
}
}
}
if(0 < var3 && var3 < 104) {
for(var6 = 1 + var2; var6 < var2 + var4; ++var6) {
if(var6 >= 0 && var6 < 104) {
Class44.anIntArrayArrayArray723[var0][var3][var6] = Class44.anIntArrayArrayArray723[var0][var3 - 1][var6];
}
}
}
if(var2 > 0 && var2 < 104) {
for(var6 = var3 + 1; var6 < var3 - -var5; ++var6) {
if(var6 >= 0 && 104 > var6) {
Class44.anIntArrayArrayArray723[var0][var6][var2] = Class44.anIntArrayArrayArray723[var0][var6][var2 + -1];
}
}
}
if(var3 >= 0 && var2 >= 0 && var3 < 104 && var2 < 104) {
if(var0 != 0) {
if(var3 > 0 && Class44.anIntArrayArrayArray723[-1 + var0][var3 + -1][var2] != Class44.anIntArrayArrayArray723[var0][-1 + var3][var2]) {
Class44.anIntArrayArrayArray723[var0][var3][var2] = Class44.anIntArrayArrayArray723[var0][-1 + var3][var2];
} else if(0 < var2 && Class44.anIntArrayArrayArray723[-1 + var0][var3][var2 + -1] != Class44.anIntArrayArrayArray723[var0][var3][-1 + var2]) {
Class44.anIntArrayArrayArray723[var0][var3][var2] = Class44.anIntArrayArrayArray723[var0][var3][var2 - 1];
} else if(var3 > 0 && var2 > 0 && Class44.anIntArrayArrayArray723[var0 - 1][-1 + var3][var2 - 1] != Class44.anIntArrayArrayArray723[var0][-1 + var3][var2 - 1]) {
Class44.anIntArrayArrayArray723[var0][var3][var2] = Class44.anIntArrayArrayArray723[var0][-1 + var3][var2 - 1];
}
} else if(0 < var3 && 0 != Class44.anIntArrayArrayArray723[var0][var3 + -1][var2]) {
Class44.anIntArrayArrayArray723[var0][var3][var2] = Class44.anIntArrayArrayArray723[var0][var3 + -1][var2];
} else if(var2 > 0 && Class44.anIntArrayArrayArray723[var0][var3][var2 - 1] != 0) {
Class44.anIntArrayArrayArray723[var0][var3][var2] = Class44.anIntArrayArrayArray723[var0][var3][var2 + -1];
} else if(var3 > 0 && 0 < var2 && Class44.anIntArrayArrayArray723[var0][var3 - 1][var2 + -1] != 0) {
Class44.anIntArrayArrayArray723[var0][var3][var2] = Class44.anIntArrayArrayArray723[var0][var3 - 1][var2 + -1];
}
}
} catch (RuntimeException var8) {
throw ClientErrorException.clientError(var8, "bm.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')');
}
}
static int method872(int var1, int var2) {
try {
Class3_Sub25 var3 = (Class3_Sub25)Class3_Sub2.aHashTable_2220.get((long)var1);
return null == var3?0:(var2 >= 0 && var2 < var3.anIntArray2551.length?var3.anIntArray2551[var2]:0);
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "bm.C(" + -1 + ',' + var1 + ',' + var2 + ')');
}
}
static byte[] method873(byte[] var1) {
try {
int var2 = var1.length;
byte[] var3 = new byte[var2];
ArrayUtils.arraycopy(var1, 0, var3, 0, var2);
return var3;
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "bm.D(" + (byte) 62 + ',' + (var1 != null?"{...}":"null") + ')');
}
}
}

View file

@ -0,0 +1,41 @@
package org.runite.client;
final class Class120 {
static long[] aLongArray1631 = new long[256];
int anInt1632;
int anInt1634;
int anInt1635;
static int[] anIntArray1638;
static RSString method1732(RSInterface var0, byte var1, int var2) {
try {
if(var1 >= -8) {
anIntArray1638 = (int[])null;
}
return !Client.method44(var0).method92(var2, (byte)-110) && var0.anObjectArray314 == null?null:(null != var0.aClass94Array171 && var0.aClass94Array171.length > var2 && var0.aClass94Array171[var2] != null && var0.aClass94Array171[var2].trim(1).length() != 0 ?var0.aClass94Array171[var2]:(!ClientCommands.commandQaOpEnabled?null: RSString.stringCombiner(new RSString[]{TextCore.aClass94_1645, RSString.stringAnimator(var2)})));
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "qj.B(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ')');
}
}
static {
for(int var2 = 0; 256 > var2; ++var2) {
long var0 = (long)var2;
for(int var3 = 0; 8 > var3; ++var3) {
if((1L & var0) == 1) {
var0 = var0 >>> 1 ^ -3932672073523589310L;
} else {
var0 >>>= 1;
}
}
aLongArray1631[var2] = var0;
}
anIntArray1638 = new int[128];
}
}

View file

@ -0,0 +1,250 @@
package org.runite.client;
import org.rs09.client.config.GameConfig;
import org.rs09.client.net.Connection;
import java.io.IOException;
import java.net.Socket;
import java.nio.ByteBuffer;
final class Class121 {
int anInt1639 = 0;
boolean aBoolean1640 = false;
static boolean aBoolean1641 = false;
static int anInt1642 = 0;
Class156 aClass156_1643;
ByteBuffer aByteBuffer1644;
int anInt1648 = 0;
static int method1734(int var0, float var1, int var2, int var3, int[][] var4, int[][] var5, int var6, float[][] var7, int var8, byte var9, int var10, boolean var11, Class3_Sub11 var12, float[][] var13, int var14, int var15, float[][] var16, int var17) {
try {
int var18;
if(var10 == 1) {
var18 = var15;
var15 = var17;
var17 = -var18 + 128;
} else if (var10 == 2) {
var17 = -var17 + 128;
var15 = -var15 + 128;
} else if (var10 == 3) {
var18 = var15;
var15 = 128 + -var17;
var17 = var18;
}
float var19;
int var21;
float var20;
float var30;
if(var15 == 0 && var17 == 0) {
var19 = var16[var6][var14];
var20 = var7[var6][var14];
var30 = var13[var6][var14];
var21 = var2;
} else if(var15 == 128 && var17 == 0) {
var21 = var3;
var19 = var16[var6 + 1][var14];
var20 = var7[1 + var6][var14];
var30 = var13[var6 + 1][var14];
} else if(var15 == 128 && var17 == 128) {
var20 = var7[1 + var6][var14 - -1];
var30 = var13[var6 + 1][1 + var14];
var19 = var16[1 + var6][var14 - -1];
var21 = var8;
} else if(var15 == 0 && var17 == 128) {
var20 = var7[var6][1 + var14];
var19 = var16[var6][1 + var14];
var30 = var13[var6][var14 - -1];
var21 = var0;
} else {
var30 = var13[var6][var14];
var19 = var16[var6][var14];
float var23 = (float)var17 / 128.0F;
float var22 = (float)var15 / 128.0F;
var30 += (var13[var6 - -1][var14] - var30) * var22;
var19 += (-var19 + var16[var6 + 1][var14]) * var22;
float var24 = var13[var6][var14 + 1];
float var25 = var16[var6][var14 - -1];
var25 += (-var25 + var16[var6 + 1][var14 - -1]) * var22;
var20 = var7[var6][var14];
var19 += var23 * (-var19 + var25);
float var26 = var7[var6][1 + var14];
var24 += (-var24 + var13[var6 - -1][var14 + 1]) * var22;
var30 += var23 * (-var30 + var24);
var26 += (-var26 + var7[1 + var6][var14 - -1]) * var22;
var20 += (-var20 + var7[var6 - -1][var14]) * var22;
var20 += (-var20 + var26) * var23;
int var27 = Class3_Sub13_Sub10.method210(var15, var2, var3);
int var28 = Class3_Sub13_Sub10.method210(var15, var0, var8);
var21 = Class3_Sub13_Sub10.method210(var17, var27, var28);
}
if(var9 > -111) {
return -54;
} else {
int var32 = var17 + (var14 << 7);
int var33 = Class3_Sub23.method408(var15, (byte)-51, var14, var5, var6, var17);
int var31 = (var6 << 7) - -var15;
return var12.method146(var31, var33, var32, var30, var19, var20, !var11?var21:-256 & var21, var4 != null?(float)(var33 + -Class3_Sub23.method408(var15, (byte)103, var14, var4, var6, var17)) / var1:0.0F);
}
} catch (RuntimeException var29) {
throw ClientErrorException.clientError(var29, "ql.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ',' + (var5 != null?"{...}":"null") + ',' + var6 + ',' + (var7 != null?"{...}":"null") + ',' + var8 + ',' + var9 + ',' + var10 + ',' + var11 + ',' + (var12 != null?"{...}":"null") + ',' + (var13 != null?"{...}":"null") + ',' + var14 + ',' + var15 + ',' + (var16 != null?"{...}":"null") + ',' + var17 + ')');
}
}
static int method1735() {
try {
try {
if(Class43.anInt692 == 0) {
if(Class3_Sub13_Sub34.aLong3411 > TimeUtils.time() + -5000L) {
return 0;
}
Class3_Sub9.aClass64_2318 = Class38.aClass87_665.method1441((byte)8, GameConfig.IP_MANAGEMENT, GameConfig.WL_PORT);//, Class123.anInt1658);
RSInterface.aLong261 = TimeUtils.time();
Class43.anInt692 = 1;
}
if(30000L + RSInterface.aLong261 < TimeUtils.time()) {
return Class3_Sub13_Sub3.method179((byte)92, 1000);
}
int wlUpdateStamp;
int var2;
if(1 == Class43.anInt692) {
if(Class3_Sub9.aClass64_2318.anInt978 == 2) {
return Class3_Sub13_Sub3.method179((byte)92, 1001);
}
if(1 != Class3_Sub9.aClass64_2318.anInt978) {
return -1;
}
Class3_Sub15.activeConnection = new Connection((Socket)Class3_Sub9.aClass64_2318.anObject974, Class38.aClass87_665);
Class3_Sub13_Sub1.outgoingBuffer.index = 0;
Class3_Sub9.aClass64_2318 = null;
wlUpdateStamp = 0;
if(Class30.loadedWorldList) {
wlUpdateStamp = Unsorted.updateStamp;
}
Class3_Sub13_Sub1.outgoingBuffer.writeByte(255);
Class3_Sub13_Sub1.outgoingBuffer.writeInt(wlUpdateStamp);
Class3_Sub15.activeConnection.sendBytes(Class3_Sub13_Sub1.outgoingBuffer.buffer, Class3_Sub13_Sub1.outgoingBuffer.index);
if(null != WorldListEntry.aClass155_2627) {
WorldListEntry.aClass155_2627.method2159(67);
}
if(null != Class3_Sub21.aClass155_2491) {
Class3_Sub21.aClass155_2491.method2159(101);
}
var2 = Class3_Sub15.activeConnection.readByte();
//System.out.println(var2); //Not sure what this was debugging
if(WorldListEntry.aClass155_2627 != null) {
WorldListEntry.aClass155_2627.method2159(55);
}
if(null != Class3_Sub21.aClass155_2491) {
Class3_Sub21.aClass155_2491.method2159(29984 ^ 30075);
}
if(var2 != 0) {
return Class3_Sub13_Sub3.method179((byte)92, var2);
}
Class43.anInt692 = 2;
}
if(Class43.anInt692 == 2) {
if(2 > Class3_Sub15.activeConnection.availableBytes()) {
return -1;
}
Unsorted.wlPacketSize = Class3_Sub15.activeConnection.readByte();
Unsorted.wlPacketSize <<= 8;
Unsorted.wlPacketSize += Class3_Sub15.activeConnection.readByte();
Class43.anInt692 = 3;
Class3_Sub20.wlPacketIndex = 0;
Class3_Sub13_Sub33.aByteArray3396 = new byte[Unsorted.wlPacketSize];
}
if(Class43.anInt692 == 3) {
wlUpdateStamp = Class3_Sub15.activeConnection.availableBytes();
if(1 > wlUpdateStamp) {
return -1;
}
if(wlUpdateStamp > -Class3_Sub20.wlPacketIndex + Unsorted.wlPacketSize) {
wlUpdateStamp = Unsorted.wlPacketSize + -Class3_Sub20.wlPacketIndex;
}
Class3_Sub15.activeConnection.readBytes(Class3_Sub13_Sub33.aByteArray3396, Class3_Sub20.wlPacketIndex, wlUpdateStamp);
Class3_Sub20.wlPacketIndex += wlUpdateStamp;
if(Class3_Sub20.wlPacketIndex >= Unsorted.wlPacketSize) {
if(Class3_Sub13_Sub23.handleWorldListUpdate(Class3_Sub13_Sub33.aByteArray3396)) {
Unsorted.aClass44_Sub1Array3201 = new WorldListEntry[Class57.activeWorldListSize];
var2 = 0;
for(int var3 = Class53.worldListOffset; var3 <= WorldListEntry.worldListArraySize; ++var3) {
WorldListEntry var4 = Class3_Sub8.getWorld(91, var3);
if(null != var4) {
Unsorted.aClass44_Sub1Array3201[var2++] = var4;
}
//System.out.println("world = " +var4.worldId);
}
Class3_Sub15.activeConnection.close();
Class3_Sub15.activeConnection = null;
Unsorted.anInt1088 = 0;
Class43.anInt692 = 0;
Class3_Sub13_Sub33.aByteArray3396 = null;
Class3_Sub13_Sub34.aLong3411 = TimeUtils.time();
return 0;
}
return Class3_Sub13_Sub3.method179((byte)92, 1002);
}
return -1;
}
} catch (IOException var5) {
return Class3_Sub13_Sub3.method179((byte)92, 1003);
}
return -1;
} catch (RuntimeException var6) {
throw ClientErrorException.clientError(var6, "ql.D(" + 29984 + ')');
}
}
static int method1736(int var0, int var1, int var2, int var3) {
try {
if(null == Class44.anIntArrayArrayArray723) {
return 0;
} else {
int var4 = var2 >> 7;
int var5 = var3 >> 7;
if(var4 >= 0 && 0 <= var5 && var4 <= 103 && 103 >= var5) {
int var7 = 127 & var2;
int var8 = var3 & 127;
int var6 = var0;
if(3 > var0 && (2 & Unsorted.aByteArrayArrayArray113[1][var4][var5]) == 2) {
var6 = var0 + 1;
}
int var10 = var7 * Class44.anIntArrayArrayArray723[var6][var1 + var4][1 + var5] + Class44.anIntArrayArrayArray723[var6][var4][var5 + 1] * (-var7 + 128) >> 7;
int var9 = var7 * Class44.anIntArrayArrayArray723[var6][var4 + 1][var5] + (-var7 + 128) * Class44.anIntArrayArrayArray723[var6][var4][var5] >> 7;
return var8 * var10 + (128 - var8) * var9 >> 7;
} else {
return 0;
}
}
} catch (RuntimeException var11) {
throw ClientErrorException.clientError(var11, "ql.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ')');
}
}
}

View file

@ -0,0 +1,10 @@
package org.runite.client;
final class Class123 {
static SequenceDefinition[] aClass142Array1654 = new SequenceDefinition[14];
static boolean aBoolean1656 = false;
static int anInt1658;
}

View file

@ -0,0 +1,52 @@
package org.runite.client;
import org.rs09.client.data.HashTable;
final class Class124 {
static HashTable aHashTable_1659 = new HashTable(512);
static CacheIndex aClass153_1661;
static void method1745() {
try {
for(int var1 = 0; var1 < 104; ++var1) {
for(int var2 = 0; 104 > var2; ++var2) {
Class163_Sub1_Sub1.anIntArrayArray4010[var1][var2] = 0;
}
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "rb.B(" + 0 + ')');
}
}
static void method1746(boolean var0, byte var1) {
try {
if(var1 > -31) {
aClass153_1661 = (CacheIndex)null;
}
Class75_Sub4.method1352(Class140_Sub7.anInt2934, var0, Class3_Sub28_Sub12.anInt3655, Class23.anInt454);
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "rb.C(" + var0 + ',' + var1 + ')');
}
}
static Class3_Sub28_Sub3 method1747(DataBuffer var0) {
try {
Class3_Sub28_Sub3 var2 = new Class3_Sub28_Sub3(var0.readString(), var0.readString(), var0.readUnsignedShort(), var0.readUnsignedShort(), var0.readInt(), var0.readUnsignedByte() == 1, var0.readUnsignedByte());
int var3 = var0.readUnsignedByte();
for(int var4 = 0; var3 > var4; ++var4) {
var2.aClass61_3560.method1215(new Class3_Sub21(var0.readUnsignedShort(), var0.readUnsignedShort(), var0.readUnsignedShort(), var0.readUnsignedShort()));
}
var2.method538();
return var2;
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "rb.D(" + (var0 != null?"{...}":"null") + ',' + true + ')');
}
}
}

View file

@ -0,0 +1,184 @@
package org.runite.client;
import javax.media.opengl.GL;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
final class Class125 implements ShaderInterface {
private int anInt2182 = -1;
private FloatBuffer aFloatBuffer2183;
private int anInt2184;
private static float[] aFloatArray2185 = new float[4];
private int anInt2186 = -1;
public final void method21() {
if(this.anInt2186 >= 0) {
GL var1 = HDToolKit.gl;
var1.glCallList(this.anInt2186 + 1);
}
}
public final int method24() {
return 0;
}
public final void method22() {
if(this.anInt2186 >= 0) {
GL var1 = HDToolKit.gl;
var1.glCallList(this.anInt2186);
var1.glActiveTexture('\u84c1');
var1.glMatrixMode(5890);
var1.glTranslatef((float) Unsorted.anInt144, (float) Unsorted.anInt3695, (float) LinkableRSString.anInt2587);
var1.glRotatef(-((float)Class3_Sub13_Sub8.anInt3103 * 360.0F) / 2048.0F, 0.0F, 1.0F, 0.0F);
var1.glRotatef(-((float)Class140_Sub7.anInt2938 * 360.0F) / 2048.0F, 1.0F, 0.0F, 0.0F);
var1.glRotatef(-180.0F, 1.0F, 0.0F, 0.0F);
var1.glMatrixMode(5888);
if(!Class88.Texture3DEnabled) {
var1.glBindTexture(3553, Class88.anIntArray1224[(int)((float)(HDToolKit.anInt1791 * 64) * 0.0050F) % 64]);
}
var1.glActiveTexture('\u84c0');
if(this.anInt2182 != HDToolKit.anInt1791) {
int var2 = (HDToolKit.anInt1791 & 255) * 256;
for(int var3 = 0; var3 < 64; ++var3) {
this.aFloatBuffer2183.position(var2);
var1.glProgramLocalParameter4fvARB('\u8620', var3, this.aFloatBuffer2183);
var2 += 4;
}
if(Class88.Texture3DEnabled) {
var1.glProgramLocalParameter4fARB('\u8620', 65, (float)HDToolKit.anInt1791 * 0.0050F, 0.0F, 0.0F, 1.0F);
} else {
var1.glProgramLocalParameter4fARB('\u8620', 65, 0.0F, 0.0F, 0.0F, 1.0F);
}
this.anInt2182 = HDToolKit.anInt1791;
}
}
}
private void method1749() {
GL var1 = HDToolKit.gl;
this.anInt2186 = var1.glGenLists(2);
var1.glNewList(this.anInt2186, 4864);
var1.glActiveTexture('\u84c1');
if(Class88.Texture3DEnabled) {
var1.glBindTexture('\u806f', Class88.anInt1228);
}
var1.glTexEnvi(8960, '\u8571', 260);
var1.glTexEnvi(8960, '\u8572', 7681);
var1.glTexEnvi(8960, '\u8588', '\u8578');
var1.glActiveTexture('\u84c0');
var1.glBindProgramARB('\u8620', this.anInt2184);
var1.glEnable('\u8620');
var1.glEndList();
var1.glNewList(this.anInt2186 + 1, 4864);
var1.glActiveTexture('\u84c1');
var1.glMatrixMode(5890);
var1.glLoadIdentity();
var1.glMatrixMode(5888);
var1.glTexEnvi(8960, '\u8571', 8448);
var1.glTexEnvi(8960, '\u8572', 8448);
var1.glTexEnvi(8960, '\u8588', 5890);
var1.glDisable(Class88.Texture3DEnabled?'\u806f':3553);
var1.glActiveTexture('\u84c0');
var1.glBindProgramARB('\u8620', 0);
var1.glDisable('\u8620');
var1.glDisable('\u8804');
var1.glEndList();
}
private void method1750() {
if(this.anInt2186 >= 0) {
GL var1 = HDToolKit.gl;
int[] var2 = new int[1];
var1.glBindProgramARB('\u8620', this.anInt2184);
var1.glProgramStringARB('\u8620', '\u8875', "!!ARBvp1.0\nATTRIB iPos = vertex.position;\nATTRIB iColour = vertex.color;\nOUTPUT oPos = result.position;\nOUTPUT oColour = result.color;\nOUTPUT oTexCoord0 = result.texcoord[0];\nOUTPUT oTexCoord1 = result.texcoord[1];\nOUTPUT oFogCoord = result.fogcoord;\nPARAM time = program.local[65];\nPARAM turbulence = program.local[64];\nPARAM lightAmbient = program.local[66]; \nPARAM pMatrix[4] = { state.matrix.projection };\nPARAM mvMatrix[4] = { state.matrix.modelview };\nPARAM ivMatrix[4] = { state.matrix.texture[1] };\nPARAM fNoise[64] = { program.local[0..63] };\nTEMP noise, clipPos, viewPos, worldPos;\nADDRESS noiseAddr;\nDP4 viewPos.x, mvMatrix[0], iPos;\nDP4 viewPos.y, mvMatrix[1], iPos;\nDP4 viewPos.z, mvMatrix[2], iPos;\nDP4 viewPos.w, mvMatrix[3], iPos;\nDP4 worldPos.x, ivMatrix[0], viewPos;\nDP4 worldPos.y, ivMatrix[1], viewPos;\nDP4 worldPos.z, ivMatrix[2], viewPos;\nDP4 worldPos.w, ivMatrix[3], viewPos;\nADD noise.x, worldPos.x, worldPos.z;SUB noise.y, worldPos.z, worldPos.x;MUL noise, noise, 0.0001220703125;\nFRC noise, noise;\nMUL noise, noise, 64;\nARL noiseAddr.x, noise.x;\nMOV noise.x, fNoise[noiseAddr.x].x;\nARL noiseAddr.x, noise.y;\nMOV noise.y, fNoise[noiseAddr.x].y;\nMUL noise, noise, turbulence.x;\nMAD oTexCoord0, worldPos.xzww, 0.0078125, noise;\nMOV oTexCoord0.w, 1;\nMUL oTexCoord1.xy, worldPos.xzww, 0.0009765625;\nMOV oTexCoord1.zw, time.xxxw;\nDP4 clipPos.x, pMatrix[0], viewPos;\nDP4 clipPos.y, pMatrix[1], viewPos;\nDP4 clipPos.z, pMatrix[2], viewPos;\nDP4 clipPos.w, pMatrix[3], viewPos;\nMUL oColour.xyz, iColour, lightAmbient;\nMOV oColour.w, 1;\nMOV oFogCoord.x, clipPos.z;\nMOV oPos, clipPos; \nEND".length(), "!!ARBvp1.0\nATTRIB iPos = vertex.position;\nATTRIB iColour = vertex.color;\nOUTPUT oPos = result.position;\nOUTPUT oColour = result.color;\nOUTPUT oTexCoord0 = result.texcoord[0];\nOUTPUT oTexCoord1 = result.texcoord[1];\nOUTPUT oFogCoord = result.fogcoord;\nPARAM time = program.local[65];\nPARAM turbulence = program.local[64];\nPARAM lightAmbient = program.local[66]; \nPARAM pMatrix[4] = { state.matrix.projection };\nPARAM mvMatrix[4] = { state.matrix.modelview };\nPARAM ivMatrix[4] = { state.matrix.texture[1] };\nPARAM fNoise[64] = { program.local[0..63] };\nTEMP noise, clipPos, viewPos, worldPos;\nADDRESS noiseAddr;\nDP4 viewPos.x, mvMatrix[0], iPos;\nDP4 viewPos.y, mvMatrix[1], iPos;\nDP4 viewPos.z, mvMatrix[2], iPos;\nDP4 viewPos.w, mvMatrix[3], iPos;\nDP4 worldPos.x, ivMatrix[0], viewPos;\nDP4 worldPos.y, ivMatrix[1], viewPos;\nDP4 worldPos.z, ivMatrix[2], viewPos;\nDP4 worldPos.w, ivMatrix[3], viewPos;\nADD noise.x, worldPos.x, worldPos.z;SUB noise.y, worldPos.z, worldPos.x;MUL noise, noise, 0.0001220703125;\nFRC noise, noise;\nMUL noise, noise, 64;\nARL noiseAddr.x, noise.x;\nMOV noise.x, fNoise[noiseAddr.x].x;\nARL noiseAddr.x, noise.y;\nMOV noise.y, fNoise[noiseAddr.x].y;\nMUL noise, noise, turbulence.x;\nMAD oTexCoord0, worldPos.xzww, 0.0078125, noise;\nMOV oTexCoord0.w, 1;\nMUL oTexCoord1.xy, worldPos.xzww, 0.0009765625;\nMOV oTexCoord1.zw, time.xxxw;\nDP4 clipPos.x, pMatrix[0], viewPos;\nDP4 clipPos.y, pMatrix[1], viewPos;\nDP4 clipPos.z, pMatrix[2], viewPos;\nDP4 clipPos.w, pMatrix[3], viewPos;\nMUL oColour.xyz, iColour, lightAmbient;\nMOV oColour.w, 1;\nMOV oFogCoord.x, clipPos.z;\nMOV oPos, clipPos; \nEND");
var1.glGetIntegerv('\u864b', var2, 0);
if(var2[0] != -1) {
return;
}
}
}
public final void method23(int var1) {
if(this.anInt2186 >= 0) {
GL var2 = HDToolKit.gl;
var2.glActiveTexture('\u84c1');
if((var1 & 128) == 0) {
var2.glEnable(Class88.Texture3DEnabled?'\u806f':3553);
} else {
var2.glDisable(Class88.Texture3DEnabled?'\u806f':3553);
}
var2.glActiveTexture('\u84c0');
if((var1 & 64) == 0) {
var2.glGetFloatv(2899, aFloatArray2185, 0);
var2.glProgramLocalParameter4fvARB('\u8620', 66, aFloatArray2185, 0);
} else {
var2.glProgramLocalParameter4fARB('\u8620', 66, 1.0F, 1.0F, 1.0F, 1.0F);
}
int var3 = var1 & 3;
if(var3 == 2) {
var2.glProgramLocalParameter4fARB('\u8620', 64, 0.05F, 1.0F, 1.0F, 1.0F);
} else if(var3 == 3) {
var2.glProgramLocalParameter4fARB('\u8620', 64, 0.1F, 1.0F, 1.0F, 1.0F);
} else {
var2.glProgramLocalParameter4fARB('\u8620', 64, 0.025F, 1.0F, 1.0F, 1.0F);
}
}
}
public Class125() {
if(HDToolKit.supportVertexProgram && HDToolKit.maxTextureUnits >= 2) {
int[] var1 = new int[1];
GL var2 = HDToolKit.gl;
var2.glGenProgramsARB(1, var1, 0);
this.anInt2184 = var1[0];
int[][] var3 = Class15.method895(0);
int[][] var4 = Class15.method895(8);
DataBuffer var5 = new DataBuffer(262144);
for(int var6 = 0; var6 < 256; ++var6) {
int[] var7 = var3[var6];
int[] var8 = var4[var6];
for(int var9 = 0; var9 < 64; ++var9) {
if(HDToolKit.aBoolean1790) {
var5.writeFloat((float)var7[var9] / 4096.0F);
var5.writeFloat((float)var8[var9] / 4096.0F);
var5.writeFloat(1.0F);
var5.writeFloat(1.0F);
} else {
var5.writeFloatLE((float)var7[var9] / 4096.0F);
var5.writeFloatLE((float)var8[var9] / 4096.0F);
var5.writeFloatLE(1.0F);
var5.writeFloatLE(1.0F);
}
}
}
ByteBuffer var10 = ByteBuffer.allocateDirect(var5.index).order(ByteOrder.nativeOrder());
var10.put(var5.buffer, 0, var5.index);
var10.flip();
this.aFloatBuffer2183 = var10.asFloatBuffer().asReadOnlyBuffer();
this.method1749();
this.method1750();
}
}
}

View file

@ -0,0 +1,35 @@
package org.runite.client;
import org.rs09.client.data.Queue;
public final class Class126 {
int anInt1663;
int anInt1664;
static int anInt1665;
static Queue aClass13_1666 = new Queue();
int anInt1667;
public static Class3_Sub28_Sub17 aClass3_Sub28_Sub17_1669;
int anInt1670;
static Client aClient1671;
int anInt1673;
boolean aBoolean1674;
int anInt1675;
static int anInt1676 = 0;
Class126(int var1, int var2, int var3, int var4, int var5, int var6, boolean var7) {
try {
this.anInt1667 = var2;
this.anInt1664 = var3;
this.anInt1675 = var1;
this.anInt1673 = var6;
this.aBoolean1674 = var7;
this.anInt1663 = var4;
this.anInt1670 = var5;
} catch (RuntimeException var9) {
throw ClientErrorException.clientError(var9, "rh.<init>(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')');
}
}
}

View file

@ -0,0 +1,46 @@
package org.runite.client;
import javax.media.opengl.GL;
import java.nio.FloatBuffer;
final class Class127_Sub1 extends LoginHandler {
private static int anInt2682;
static void method1755() {
GL var0 = HDToolKit.gl;
if(var0.isExtensionAvailable("GL_ARB_point_parameters")) {
float[] var1 = new float[]{1.0F, 0.0F, 5.0E-4F};
var0.glPointParameterfvARB('\u8129', var1, 0);
FloatBuffer var2 = FloatBuffer.allocate(1);
var0.glGetFloatv('\u8127', var2);
float var3 = var2.get(0);
if(var3 > 1024.0F) {
var3 = 1024.0F;
}
var0.glPointParameterfARB('\u8126', 1.0F);
var0.glPointParameterfARB('\u8127', var3);
}
if(var0.isExtensionAvailable("GL_ARB_point_sprite")) {
}
}
static int method1757() {
return anInt2682;
}
static void method1758(int var0) {
anInt2682 = var0;
}
static {
new Class128();
anInt2682 = 2;
new DataBuffer(131056);
}
}

View file

@ -0,0 +1,173 @@
package org.runite.client;
import org.rs09.client.Node;
import org.rs09.client.data.ReferenceCache;
import java.util.Arrays;
final class Class128 {
static ReferenceCache aReferenceCache_1683 = new ReferenceCache(64);
static boolean aBoolean1685 = true;
static void method1760(int var0, int var2) {
try {
if (WorldListCountry.localPlane > 3 || WorldListCountry.localPlane < 0) {
System.err.println("Local plane " + WorldListCountry.localPlane + " is out of bounds - rendering log=" + Arrays.toString(Class163_Sub3.PLAYER_RENDER_LOG) + "!");
WorldListCountry.localPlane %= 4;
}
Class61 var3 = Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[WorldListCountry.localPlane][var2][var0];
if(var3 == null) {
ObjectDefinition.method1688(WorldListCountry.localPlane, var2, var0);
} else {
int var4 = -99999999;
WorldMap var5 = null;
WorldMap var6;
for (var6 = (WorldMap) var3.method1222(); null != var6; var6 = (WorldMap) var3.method1221()) {
ItemDefinition var7 = ItemDefinition.getItemDefinition(var6.aClass140_Sub7_3676.anInt2936);
int var8 = var7.value;
if (var7.stackingType == 1) {
var8 *= 1 + var6.aClass140_Sub7_3676.anInt2930;
}
if (var4 < var8) {
var4 = var8;
var5 = var6;
}
}
if (null == var5) {
ObjectDefinition.method1688(WorldListCountry.localPlane, var2, var0);
} else {
var3.method1216(var5);
Class140_Sub7 var12 = null;
Class140_Sub7 var14 = null;
for (var6 = (WorldMap) var3.method1222(); var6 != null; var6 = (WorldMap) var3.method1221()) {
Class140_Sub7 var9 = var6.aClass140_Sub7_3676;
if (var5.aClass140_Sub7_3676.anInt2936 != var9.anInt2936) {
if (null == var12) {
var12 = var9;
}
if (var12.anInt2936 != var9.anInt2936 && null == var14) {
var14 = var9;
}
}
}
long var13 = (long) (1610612736 + (var0 << 7) + var2);
Class3_Sub13_Sub10.method213(WorldListCountry.localPlane, var2, var0, Class121.method1736(WorldListCountry.localPlane, 1, 64 + 128 * var2, 64 + var0 * 128), var5.aClass140_Sub7_3676, var13, var12, var14);
}
}
} catch (RuntimeException var11) {
throw ClientErrorException.clientError(var11, "rm.E(" + var0 + ',' + (byte) 65 + ',' + var2 + ')');
}
}
static Model method1763(int var1, int var2, int var3, int var4, Model var5, int var6) {
try {
Model var9 = (Model)Class61.aReferenceCache_939.get(var3);
if(var9 == null) {
Model_Sub1 var10 = Model_Sub1.method2015(CacheIndex.modelsIndex, var3);
if(var10 == null) {
return null;
}
var9 = var10.method2008(64, 768, -50, -10, -50);
Class61.aReferenceCache_939.put(var9, (long)var3);
}
int var17 = var5.method1884();
int var11 = var5.method1883();
int var12 = var5.method1898();
int var13 = var5.method1872();
var9 = var9.method1882(true, true, true);
if(var1 != 0) {
var9.method1876(var1);
}
int var15;
if(HDToolKit.highDetail) {
Class140_Sub1_Sub1 var14 = (Class140_Sub1_Sub1)var9;
if(var6 != Class121.method1736(WorldListCountry.localPlane, 1, var4 + var17, var2 + var12) || var6 != Class121.method1736(WorldListCountry.localPlane, 1, var4 - -var11, var13 + var2)) {
for(var15 = 0; var14.anInt3823 > var15; ++var15) {
var14.anIntArray3845[var15] += Class121.method1736(WorldListCountry.localPlane, 1, var14.anIntArray3822[var15] + var4, var14.anIntArray3848[var15] + var2) - var6;
}
var14.aClass121_3839.aBoolean1640 = false;
var14.aClass6_3835.aBoolean98 = false;
}
} else {
Class140_Sub1_Sub2 var18 = (Class140_Sub1_Sub2)var9;
if(var6 != Class121.method1736(WorldListCountry.localPlane, 1, var17 + var4, var12 + var2) || var6 != Class121.method1736(WorldListCountry.localPlane, 1, var4 - -var11, var13 + var2)) {
for(var15 = 0; var18.anInt3891 > var15; ++var15) {
var18.anIntArray3883[var15] += Class121.method1736(WorldListCountry.localPlane, 1, var4 + var18.anIntArray3885[var15], var18.anIntArray3895[var15] + var2) - var6;
}
var18.aBoolean3897 = false;
}
}
return var9;
} catch (RuntimeException var16) {
throw ClientErrorException.clientError(var16, "rm.D(" + true + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + (var5 != null?"{...}":"null") + ',' + var6 + ')');
}
}
static void method1764() {
for(int var3 = 0; var3 < Class3_Sub17.anInt2456; ++var3) {
for(int var4 = 0; var4 < Unsorted.anInt1234; ++var4) {
for(int var5 = 0; var5 < Class3_Sub13_Sub15.anInt3179; ++var5) {
Class3_Sub2 var6 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var3][var4][var5];
if(var6 != null) {
Class70 var7 = var6.aClass70_2234;
if(var7 != null && var7.aClass140_1049.method1865()) {
Class3_Sub13_Sub10.method214(var7.aClass140_1049, var3, var4, var5, 1, 1);
if(var7.aClass140_1052 != null && var7.aClass140_1052.method1865()) {
Class3_Sub13_Sub10.method214(var7.aClass140_1052, var3, var4, var5, 1, 1);
var7.aClass140_1049.method1866(var7.aClass140_1052, 0, 0, 0, false);
var7.aClass140_1052 = var7.aClass140_1052.method1861();
}
var7.aClass140_1049 = var7.aClass140_1049.method1861();
}
for(int var8 = 0; var8 < var6.anInt2223; ++var8) {
Class25 var9 = var6.aClass25Array2221[var8];
if(var9 != null && var9.aClass140_479.method1865()) {
Class3_Sub13_Sub10.method214(var9.aClass140_479, var3, var4, var5, var9.anInt495 - var9.anInt483 + 1, var9.anInt481 - var9.anInt478 + 1);
var9.aClass140_479 = var9.aClass140_479.method1861();
}
}
Class12 var10 = var6.aClass12_2230;
if(var10 != null && var10.object.method1865()) {
Class155.method2162(var10.object, var3, var4, var5);
var10.object = var10.object.method1861();
}
}
}
}
}
}
Class128() {
try {
Node[] aClass3_Sub28Array1684 = new Node[8];
for(int var2 = 0; 8 > var2; ++var2) {
Node var3 = aClass3_Sub28Array1684[var2] = new Node();
var3.previousNode = var3;
var3.nextNode = var3;
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "rm.<init>(" + 8 + ')');
}
}
}

View file

@ -0,0 +1,388 @@
package org.runite.client;
import org.rs09.client.rendering.Toolkit;
abstract class Class129 {
static int[] anIntArray1690;
static int anInt1691 = -1;
static int anInt1692 = 0;
static int[] anIntArray1693 = new int[128];
static int[] anIntArray1695;
static int method1765(int var0) {
try {
return var0 >>> 7;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "s.D(" + var0 + ')');
}
}
abstract int method1767(int var1, int var2, int var3);
static void method1768(int var0, int var2) {
try {
if(KeyboardListener.anInt1908 > 0) {
Class159.method2195(KeyboardListener.anInt1908);
KeyboardListener.anInt1908 = 0;
}
short var3 = 256;
int var4 = 0;
int var5 = Toolkit.JAVA_TOOLKIT.width * var2;
int var6 = 0;
for(int var7 = 1; var7 < var3 + -1; ++var7) {
int var8 = (var3 - var7) * Class3_Sub28_Sub5.anIntArray3592[var7] / var3;
if(0 > var8) {
var8 = 0;
}
var4 += var8;
int var9;
for(var9 = var8; var9 < 128; ++var9) {
int var11 = Toolkit.JAVA_TOOLKIT.getBuffer()[var5++ + var0];
int var10 = Class159.anIntArray1681[var4++];
if(var10 == 0) {
Class84.aClass3_Sub28_Sub16_Sub2_1381.anIntArray4081[var6++] = var11;
} else {
int var12 = 18 + var10;
if(var12 > 255) {
var12 = 255;
}
int var13 = 256 - var10 - 18;
if(var13 > 255) {
var13 = 255;
}
var10 = Class52.anIntArray861[var10];
Class84.aClass3_Sub28_Sub16_Sub2_1381.anIntArray4081[var6++] = Unsorted.bitwiseAnd(var13 * Unsorted.bitwiseAnd(var11, 16711935) + Unsorted.bitwiseAnd(16711935, var10) * var12, -16711936) - -Unsorted.bitwiseAnd(Unsorted.bitwiseAnd(var10, '\uff00') * var12 - -(Unsorted.bitwiseAnd('\uff00', var11) * var13), 16711680) >> 8;
}
}
for(var9 = 0; var9 < var8; ++var9) {
Class84.aClass3_Sub28_Sub16_Sub2_1381.anIntArray4081[var6++] = Toolkit.JAVA_TOOLKIT.getBuffer()[var0 + var5++];
}
var5 += Toolkit.JAVA_TOOLKIT.width + -128;
}
if(HDToolKit.highDetail) {
Class22.method926(Class84.aClass3_Sub28_Sub16_Sub2_1381.anIntArray4081, var0, var2, Class84.aClass3_Sub28_Sub16_Sub2_1381.width, Class84.aClass3_Sub28_Sub16_Sub2_1381.height);
} else {
Class84.aClass3_Sub28_Sub16_Sub2_1381.method635(var0, var2);
}
} catch (RuntimeException var14) {
throw ClientErrorException.clientError(var14, "s.F(" + var0 + ',' + 95 + ',' + var2 + ')');
}
}
static void method1769(float[][] var0, byte[][] var1, byte[][] var2, Class43[] var3, int var4, int var5, float[][] var6, byte[][] var7, byte[][] var8, int[][] var9, float[][] var11) {
try {
for(int var12 = 0; var5 > var12; ++var12) {
Class43 var13 = var3[var12];
if(var13.anInt704 == var4) {
int var15 = 0;
Class37 var14 = new Class37();
int var16 = -var13.anInt698 + (var13.anInt703 >> 7);
int var17 = -var13.anInt698 + (var13.anInt708 >> 7);
if(var17 < 0) {
var15 -= var17;
var17 = 0;
}
int var18 = var13.anInt698 + (var13.anInt708 >> 7);
if(var18 > 103) {
var18 = 103;
}
int var19;
int var21;
short var20;
int var23;
int var22;
int var25;
int var35;
boolean var32;
for(var19 = var17; var19 <= var18; ++var19) {
var20 = var13.aShortArray706[var15];
var21 = var16 + (var20 >> 8);
var22 = -1 + var21 - -(255 & var20);
if(103 < var22) {
var22 = 103;
}
if(var21 < 0) {
var21 = 0;
}
for(var23 = var21; var23 <= var22; ++var23) {
int var24 = 255 & var1[var23][var19];
var25 = 255 & var8[var23][var19];
boolean var26 = false;
Class168 var27;
int[] var29;
int[] var28;
if(0 == var24) {
if(var25 == 0) {
continue;
}
var27 = Class3_Sub13_Sub37.method350((byte)-103, var25 + -1);
if(var27.anInt2103 == -1) {
continue;
}
if(var7[var23][var19] != 0) {
var28 = Class134.anIntArrayArray1763[var7[var23][var19]];
var14.anInt651 += 3 * (-2 + (var28.length >> 1));
var14.anInt657 += var28.length >> 1;
continue;
}
} else if(var25 != 0) {
var27 = Class3_Sub13_Sub37.method350((byte)123, var25 - 1);
byte var42;
if(var27.anInt2103 == -1) {
var42 = var7[var23][var19];
if(var42 != 0) {
var29 = Class25.anIntArrayArray499[var42];
var14.anInt651 += 3 * (-2 + (var29.length >> 1));
var14.anInt657 += var29.length >> 1;
}
continue;
}
var42 = var7[var23][var19];
if(0 != var42) {
var26 = true;
}
}
Class25 var40 = Class75.method1336(var4, var23, var19);
if(null != var40) {
int var41 = (int)(var40.aLong498 >> 14) & 63;
if(var41 == 9) {
var29 = null;
int var30 = 3 & (int)(var40.aLong498 >> 20);
boolean var31;
int var34;
short var33;
if((1 & var30) == 0) {
var32 = var22 >= 1 + var23;
var31 = var23 + -1 >= var21;
if(!var31 && var18 >= var19 - -1) {
var33 = var13.aShortArray706[1 + var15];
var34 = var16 + (var33 >> 8);
var35 = var34 + (255 & var33);
var31 = var34 < var23 && var23 < var35;
}
if(!var32 && -1 + var19 >= var17) {
var33 = var13.aShortArray706[var15 + -1];
var34 = var16 + (var33 >> 8);
var35 = var34 - -(var33 & 255);
var32 = var23 > var34 && var35 > var23;
}
} else {
var31 = var21 <= -1 + var23;
var32 = var22 >= var23 + 1;
if(!var31 && -1 + var19 >= var17) {
var33 = var13.aShortArray706[-1 + var15];
var34 = (var33 >> 8) + var16;
var35 = var34 + (255 & var33);
var31 = var23 > var34 && var35 > var23;
}
if(!var32 && var18 >= 1 + var19) {
var33 = var13.aShortArray706[var15 + 1];
var34 = (var33 >> 8) + var16;
var35 = var34 - -(255 & var33);
var32 = var23 > var34 && var23 < var35;
}
}
if(var31 && var32) {
var29 = Class134.anIntArrayArray1763[0];
} else if(var31) {
var29 = Class134.anIntArrayArray1763[1];
} else if(var32) {
var29 = Class134.anIntArrayArray1763[1];
}
if(null != var29) {
var14.anInt651 += 3 * (var29.length >> 1) - 6;
var14.anInt657 += var29.length >> 1;
}
continue;
}
}
if(var26) {
var29 = Class25.anIntArrayArray499[var7[var23][var19]];
var28 = Class134.anIntArrayArray1763[var7[var23][var19]];
var14.anInt651 += (-2 + (var28.length >> 1)) * 3;
var14.anInt651 += ((var29.length >> 1) - 2) * 3;
var14.anInt657 += var28.length >> 1;
var14.anInt657 += var29.length >> 1;
} else {
var28 = Class134.anIntArrayArray1763[0];
var14.anInt651 += (-2 + (var28.length >> 1)) * 3;
var14.anInt657 += var28.length >> 1;
}
}
++var15;
}
var15 = 0;
var14.method1020();
if(-var13.anInt698 + (var13.anInt708 >> 7) < 0) {
var15 -= -var13.anInt698 + (var13.anInt708 >> 7);
}
for(var19 = var17; var19 <= var18; ++var19) {
var20 = var13.aShortArray706[var15];
var21 = (var20 >> 8) + var16;
var22 = -1 + (255 & var20) + var21;
if(var22 > 103) {
var22 = 103;
}
if(0 > var21) {
var21 = 0;
}
for(var23 = var21; var22 >= var23; ++var23) {
int var43 = 255 & var8[var23][var19];
var25 = 255 & var1[var23][var19];
byte var38 = var2[var23][var19];
boolean var39 = false;
Class168 var46;
if(var25 == 0) {
if(0 == var43) {
continue;
}
var46 = Class3_Sub13_Sub37.method350((byte)-49, var43 - 1);
if(-1 == var46.anInt2103) {
continue;
}
if(var7[var23][var19] != 0) {
Class3_Sub13_Sub23_Sub1.method284(var0, var9, var23, var6, var19, Class134.anIntArrayArray1763[var7[var23][var19]], var14, (byte)-88, var13, var11, var2[var23][var19]);
continue;
}
} else if (var43 != 0) {
var46 = Class3_Sub13_Sub37.method350((byte) 113, -1 + var43);
if (-1 == var46.anInt2103) {
Class3_Sub13_Sub23_Sub1.method284(var0, var9, var23, var6, var19, Class25.anIntArrayArray499[var7[var23][var19]], var14, (byte) 116, var13, var11, var2[var23][var19]);
continue;
}
byte var48 = var7[var23][var19];
if (var48 != 0) {
var39 = true;
}
}
Class25 var44 = Class75.method1336(var4, var23, var19);
if(null != var44) {
int var49 = (int)(var44.aLong498 >> 14) & 63;
if(9 == var49) {
int[] var45 = null;
int var47 = 3 & (int)(var44.aLong498 >> 20);
int var36;
boolean var51;
short var50;
if((1 & var47) == 0) {
var32 = var21 <= -1 + var23;
var51 = var23 + 1 <= var22;
if(!var32 && var18 >= var19 - -1) {
var50 = var13.aShortArray706[1 + var15];
var35 = (var50 >> 8) + var16;
var36 = (var50 & 255) + var35;
var32 = var23 > var35 && var23 < var36;
}
if(!var51 && var19 - 1 >= var17) {
var50 = var13.aShortArray706[-1 + var15];
var35 = var16 + (var50 >> 8);
var36 = (255 & var50) + var35;
var51 = var35 < var23 && var23 < var36;
}
if(var32 && var51) {
var45 = Class134.anIntArrayArray1763[0];
} else if(var32) {
var45 = Class134.anIntArrayArray1763[1];
var38 = 1;
} else if(var51) {
var45 = Class134.anIntArrayArray1763[1];
var38 = 3;
}
} else {
var32 = var23 - 1 >= var21;
var51 = var22 >= 1 + var23;
if(!var32 && var17 <= var19 - 1) {
var50 = var13.aShortArray706[var15 - 1];
var35 = var16 + (var50 >> 8);
var36 = (255 & var50) + var35;
var32 = var23 > var35 && var36 > var23;
}
if(!var51 && var19 + 1 <= var18) {
var50 = var13.aShortArray706[var15 - -1];
var35 = var16 + (var50 >> 8);
var36 = (255 & var50) + var35;
var51 = var23 > var35 && var23 < var36;
}
if(var32 && var51) {
var45 = Class134.anIntArrayArray1763[0];
} else if(var32) {
var38 = 0;
var45 = Class134.anIntArrayArray1763[1];
} else if (var51) {
var45 = Class134.anIntArrayArray1763[1];
var38 = 2;
}
}
if(null != var45) {
Class3_Sub13_Sub23_Sub1.method284(var0, var9, var23, var6, var19, var45, var14, (byte)98, var13, var11, var38);
}
continue;
}
}
if(var39) {
Class3_Sub13_Sub23_Sub1.method284(var0, var9, var23, var6, var19, Class25.anIntArrayArray499[var7[var23][var19]], var14, (byte)96, var13, var11, var2[var23][var19]);
Class3_Sub13_Sub23_Sub1.method284(var0, var9, var23, var6, var19, Class134.anIntArrayArray1763[var7[var23][var19]], var14, (byte)-117, var13, var11, var2[var23][var19]);
} else {
Class3_Sub13_Sub23_Sub1.method284(var0, var9, var23, var6, var19, Class134.anIntArrayArray1763[0], var14, (byte)61, var13, var11, var38);
}
}
++var15;
}
if(var14.anInt653 > 0 && var14.anInt655 > 0) {
var14.method1019();
var13.aClass37_712 = var14;
}
}
}
} catch (RuntimeException var37) {
throw ClientErrorException.clientError(var37, "s.C(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + var5 + ',' + (var6 != null?"{...}":"null") + ',' + (var7 != null?"{...}":"null") + ',' + (var8 != null?"{...}":"null") + ',' + (var9 != null?"{...}":"null") + ',' + -8771 + ',' + (var11 != null?"{...}":"null") + ')');
}
}
abstract void method1770();
}

View file

@ -0,0 +1,103 @@
package org.runite.client;
final class Class129_Sub1 extends Class129 {
private long aLong2683;
private int anInt2685;
private int anInt2688;
static AbstractSprite[] aAbstractSpriteArray2690;
private int anInt2691;
private int anInt2692;
static int anInt2693 = 0;
private final long[] aLongArray2694 = new long[10];
static int[] anIntArray2696 = new int[2];
final void method1770() {
try {
int var2;
for (var2 = 0; var2 < 10; ++var2) {
this.aLongArray2694[var2] = 0L;
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "lj.A(" + -124 + ')');
}
}
final int method1767(int var1, int var2, int var3) {
try {
if (var1 != -1) {
this.method1767(-14, 83, 10);
}
int var5 = this.anInt2691;
int var4 = this.anInt2688;
this.anInt2688 = 300;
this.anInt2691 = 1;
this.aLong2683 = TimeUtils.time();
if (this.aLongArray2694[this.anInt2685] == 0L) {
this.anInt2688 = var4;
this.anInt2691 = var5;
} else if (this.aLongArray2694[this.anInt2685] < this.aLong2683) {
this.anInt2688 = (int) ((long) (var3 * 2560) / (this.aLong2683 + -this.aLongArray2694[this.anInt2685]));
}
if (this.anInt2688 < 25) {
this.anInt2688 = 25;
}
if (256 < this.anInt2688) {
this.anInt2688 = 256;
this.anInt2691 = (int) (-((this.aLong2683 - this.aLongArray2694[this.anInt2685]) / 10L) + (long) var3);
}
if (this.anInt2691 > var3) {
this.anInt2691 = var3;
}
this.aLongArray2694[this.anInt2685] = this.aLong2683;
this.anInt2685 = (1 + this.anInt2685) % 10;
int var6;
if (this.anInt2691 > 1) {
for (var6 = 0; var6 < 10; ++var6) {
if (this.aLongArray2694[var6] != 0L) {
this.aLongArray2694[var6] += (long) this.anInt2691;
}
}
}
if (var2 > this.anInt2691) {
this.anInt2691 = var2;
}
TimeUtils.sleep((long) this.anInt2691);
for (var6 = 0; 256 > this.anInt2692; ++var6) {
this.anInt2692 += this.anInt2688;
}
this.anInt2692 &= 255;
return var6;
} catch (RuntimeException var7) {
throw ClientErrorException.clientError(var7, "lj.B(" + var1 + ',' + var2 + ',' + var3 + ')');
}
}
Class129_Sub1() {
try {
this.anInt2688 = 256;
this.anInt2691 = 1;
this.anInt2692 = 0;
this.aLong2683 = TimeUtils.time();
for (int var1 = 0; var1 < 10; ++var1) {
this.aLongArray2694[var1] = this.aLong2683;
}
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "lj.<init>()");
}
}
}

View file

@ -0,0 +1,38 @@
package org.runite.client;
final class Class129_Sub2 extends Class129 {
private long aLong2698 = System.nanoTime();
final void method1770() {
this.aLong2698 = System.nanoTime();
}
final int method1767(int var1, int var2, int var3) {
if(var1 == -1) {
long var4 = 1000000L * (long)var2;
long var6 = this.aLong2698 - System.nanoTime();
if(var6 < var4) {
var6 = var4;
}
TimeUtils.sleep(var6 / 1000000L);
int var10 = 0;
long var8;
for(var8 = System.nanoTime(); var10 < 10 && (var10 < 1 || this.aLong2698 < var8); this.aLong2698 += 1000000L * (long)var3) {
++var10;
}
if(var8 > this.aLong2698) {
this.aLong2698 = var8;
}
return var10;
} else {
return 37;
}
}
}

View file

@ -0,0 +1,184 @@
package org.runite.client;
import org.rs09.client.config.GameConfig;
final class Class131 {
static int anInt1716;
static RSString password = TextCore.aClass94_3672;
static RSString username = TextCore.aClass94_3672;
short[] aShortArray1718;
static int anInt1719 = -1;
int anInt1720;
RSString[] aClass94Array1721;
static CacheIndex aClass153_1723;
int[] anIntArray1725;
short[] aShortArray1727;
byte[] aByteArray1730;
static void addLocalPlayers() {
try {
while(true) {
if(GraphicDefinition.incomingBuffer.method815(Unsorted.incomingPacketLength) >= 11) {
int index = GraphicDefinition.incomingBuffer.getBits(11);
if(index != 2047) {
boolean var2 = false;
if(null == Class3_Sub13_Sub22.players[index]) {
Class3_Sub13_Sub22.players[index] = new Player();
var2 = true;
if(null != Class65.aClass3_Sub30Array986[index]) {
Class3_Sub13_Sub22.players[index].parseAppearance(-54, Class65.aClass3_Sub30Array986[index]);
}
}
Class56.localPlayerIndexes[Class159.localPlayerCount++] = index;
Player var3 = Class3_Sub13_Sub22.players[index];
var3.anInt2838 = Class44.anInt719;
int var4 = GraphicDefinition.incomingBuffer.getBits(1);
if(var4 == 1) {
Class21.maskUpdateIndexes[Unsorted.maskUpdateCount++] = index;
}
int var5 = GraphicDefinition.incomingBuffer.getBits(5);
int var6 = Class27.anIntArray510[GraphicDefinition.incomingBuffer.getBits(3)];
if(var5 > 15) {
var5 -= 32;
}
if(var2) {
var3.anInt2806 = var3.anInt2785 = var6;
}
int var7 = GraphicDefinition.incomingBuffer.getBits(1);
int var8 = GraphicDefinition.incomingBuffer.getBits(5);
if(var8 > 15) {
var8 -= 32;
}
var3.method1981(var5 + Class102.player.anIntArray2767[0], var7 == 1, Class102.player.anIntArray2755[0] + var8);
continue;
}
}
GraphicDefinition.incomingBuffer.method818();
return;
}
} catch (RuntimeException var9) {
throw ClientErrorException.clientError(var9, "se.D(" + -59 + ')');
}
}
final boolean method1787(int var1) {
try {
return (this.aByteArray1730[var1] & 8) != 0;
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "se.G(" + var1 + ',' + (byte) -124 + ')');
}
}
static int method1788(int var0, int var1, int var2, int var3, boolean var4) {
try {
if(var4) {
int var5 = 15 & var3;
int var7 = var5 >= 4 ?(var5 != 12 && var5 != 14 ?var1:var0):var2;
int var6 = var5 < 8 ?var0:var2;
return ((var5 & 1) != 0 ?-var6:var6) - -((2 & var5) != 0 ?-var7:var7);
} else {
return 127;
}
} catch (RuntimeException var8) {
throw ClientErrorException.clientError(var8, "se.H(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')');
}
}
final boolean method1789(int var1, int var2) {
try {
if(var2 != 530) {
this.method1794(-111, 26);
}
return (4 & this.aByteArray1730[var1]) != 0;
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "se.A(" + var1 + ',' + var2 + ')');
}
}
static void method1790(int var0, int var1) {
try {
InterfaceWidget var3 = InterfaceWidget.getWidget(5, var0);
var3.flagUpdate();
var3.anInt3598 = var1;
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "se.B(" + var0 + ',' + var1 + ',' + 95 + ')');
}
}
final int method1791(int var1, int var2) {
try {
return var2 != 8?35:this.aByteArray1730[var1] & 3;
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "se.I(" + var1 + ',' + var2 + ')');
}
}
static void method1793(RSString var0, RSString var1, int var2) {
try {
password = var1;
Class7.anInt2161 = var2;
username = var0;
if(username.equalsString(TextCore.aClass94_3672) || password.equalsString(TextCore.aClass94_3672)) {
Class158.anInt2005 = 3;
} else if (CS2Script.anInt2451 == -1) {
Class163_Sub1_Sub1.anInt2246 = 0;
Class163_Sub1_Sub1.anInt1616 = 0;
Class158.anInt2005 = -3;
Class163_Sub1_Sub1.anInt3375 = 1;
DataBuffer var4 = new DataBuffer(128);
var4.writeByte(10);
var4.writeShort((int) (Math.random() * 99999.0D));
var4.writeShort(GameConfig.CLIENT_BUILD);
var4.writeLong(username.toLong());
var4.writeInt((int) (Math.random() * 9.9999999E7D));
var4.writeString(password);
var4.writeInt((int) (Math.random() * 9.9999999E7D));
var4.rsaEncrypt(Class3_Sub13_Sub37.EXPONENT,Class3_Sub13_Sub14.MODULUS);
Class3_Sub13_Sub1.outgoingBuffer.index = 0;
Class3_Sub13_Sub1.outgoingBuffer.writeByte(210);
Class3_Sub13_Sub1.outgoingBuffer.writeByte(var4.index);
Class3_Sub13_Sub1.outgoingBuffer.putBytes(var4.buffer, var4.index);
} else {
Class24.method951();
}
} catch (RuntimeException var6) {
throw ClientErrorException.clientError(var6, "se.C(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ',' + (byte) -38 + ')');
}
}
final boolean method1794(int var1, int var2) {
try {
if(var2 != -20138) {
method1788(122, 38, -120, -29, false);
}
return 0 == (this.aByteArray1730[var1] & 16);
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "se.E(" + var1 + ',' + var2 + ')');
}
}
Class131(int var1) {
try {
this.anInt1720 = var1;
this.aClass94Array1721 = new RSString[this.anInt1720];
this.aShortArray1718 = new short[this.anInt1720];
this.anIntArray1725 = new int[this.anInt1720];
this.aByteArray1730 = new byte[this.anInt1720];
this.aShortArray1727 = new short[this.anInt1720];
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "se.<init>(" + var1 + ')');
}
}
}

View file

@ -0,0 +1,118 @@
package org.runite.client;
import org.rs09.client.config.GameConfig;
final class Class132 {
static int anInt1734 = 0;
static RSString[] aClass94Array1739 = new RSString[1000];
static int anInt1741;
static void method1798(int var0, Class3_Sub4 var1) {
try {
long var2 = 0L;
int var4 = -1;
if(var0 <= 17) {
Class159.anInt1740 = -43;
}
int var5 = 0;
if(var1.anInt2263 == 0) {
var2 = Class157.method2174(var1.anInt2250, var1.anInt2264, var1.anInt2248);
}
int var6 = 0;
if(var1.anInt2263 == 1) {
var2 = Unsorted.method1395(var1.anInt2250, var1.anInt2264, var1.anInt2248);
}
if(var1.anInt2263 == 2) {
var2 = Class3_Sub28_Sub5.method557(var1.anInt2250, var1.anInt2264, var1.anInt2248);
}
if(var1.anInt2263 == 3) {
var2 = Class3_Sub2.method104(var1.anInt2250, var1.anInt2264, var1.anInt2248);
}
if(var2 != 0L) {
var4 = Integer.MAX_VALUE & (int)(var2 >>> 32);
var6 = (int)var2 >> 20 & 3;
var5 = ((int)var2 & 516214) >> 14;
}
var1.anInt2254 = var4;
var1.anInt2253 = var5;
var1.anInt2257 = var6;
} catch (RuntimeException var7) {
throw ClientErrorException.clientError(var7, "sf.B(" + var0 + ',' + (var1 != null?"{...}":"null") + ')');
}
}
static void method1799(byte var0, CacheIndex var1) {
try {
Class3_Sub13_Sub7.aClass153_3098 = var1;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "sf.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ')');
}
}
static void method1801() {
try {
int var1 = Class168.aClass3_Sub28_Sub17_2096.method682(RSString.parse(GameConfig.RCM_TITLE));
int var2;
int var3;
for(var2 = 0; Unsorted.menuOptionCount > var2; ++var2) {
var3 = Class168.aClass3_Sub28_Sub17_2096.method682(Unsorted.method802(var2));
if(var3 > var1) {
var1 = var3;
}
}
var2 = 15 * Unsorted.menuOptionCount + 21;
int var4 = Class38_Sub1.anInt2612;
var1 += 8;
var3 = NPCDefinition.anInt1297 + -(var1 / 2);
if(Class140_Sub7.anInt2934 < var4 + var2) {
var4 = Class140_Sub7.anInt2934 + -var2;
}
if(Class23.anInt454 < var3 + var1) {
var3 = -var1 + Class23.anInt454;
}
if(var3 < 0) {
var3 = 0;
}
if(var4 < 0) {
var4 = 0;
}
if(Unsorted.anInt3660 == 1) {
if(Class3_Sub13_Sub39.anInt3460 == NPCDefinition.anInt1297 && Class38_Sub1.anInt2612 == Class168.anInt2099) {
Class3_Sub28_Sub1.anInt3537 = Unsorted.menuOptionCount * 15 - -(!Unsorted.aBoolean1951?22:26);
Unsorted.anInt3660 = 0;
Class3_Sub13_Sub33.anInt3395 = var4;
AbstractIndexedSprite.anInt1462 = var3;
Class38_Sub1.aBoolean2615 = true;
Class3_Sub28_Sub3.anInt3552 = var1;
}
} else if(Class163_Sub1.anInt2993 == NPCDefinition.anInt1297 && Class38_Sub1.anInt2614 == Class38_Sub1.anInt2612) {
AbstractIndexedSprite.anInt1462 = var3;
Unsorted.anInt3660 = 0;
Class3_Sub28_Sub3.anInt3552 = var1;
Class3_Sub13_Sub33.anInt3395 = var4;
Class3_Sub28_Sub1.anInt3537 = (Unsorted.aBoolean1951?26:22) + Unsorted.menuOptionCount * 15;
Class38_Sub1.aBoolean2615 = true;
} else {
Class168.anInt2099 = Class38_Sub1.anInt2614;
Class3_Sub13_Sub39.anInt3460 = Class163_Sub1.anInt2993;
Unsorted.anInt3660 = 1;
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "sf.D(" + ')');
}
}
}

View file

@ -0,0 +1,59 @@
package org.runite.client;
final class Class133 {
private byte aByte1742;
static int[] anIntArray1743 = new int[25];
int anInt1746;
int anInt1747;
static int anInt1748;
int anInt1750;
int anInt1752;
static int anInt1753;
static int anInt1754;
static int[] inputTextCodeArray = new int[128];
int anInt1757;
static void method1803() {
try {
Class82.aReferenceCache_1146.clearSoftReferences();
Class159.aReferenceCache_2016.clearSoftReferences();
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "sg.D(" + (byte) 22 + ')');
}
}
final int method1804() {
try {
return this.aByte1742 & 7;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "sg.B(" + false + ')');
}
}
final int method1805() {
try {
return 8 != (this.aByte1742 & 8)?0:1;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "sg.C(" + (byte) -33 + ')');
}
}
public Class133() {}
Class133(DataBuffer var1) {
try {
this.aByte1742 = var1.readSignedByte();
this.anInt1752 = var1.readUnsignedShort();
this.anInt1757 = var1.readInt();
this.anInt1747 = var1.readInt();
this.anInt1746 = var1.readInt();
this.anInt1750 = var1.readInt();
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "sg.<init>(" + (var1 != null?"{...}":"null") + ')');
}
}
}

View file

@ -0,0 +1,62 @@
package org.runite.client;
final class Class134 {
static Class61 aClass61_1758 = new Class61();
static int anInt1759 = 0;
static int anInt1761 = -1;
static int anInt1762 = 0;
static int[][] anIntArrayArray1763 = new int[][]{{0, 128, 0, 0, 128, 0, 128, 128}, {0, 128, 0, 0, 128, 0}, {0, 0, 64, 128, 0, 128}, {128, 128, 64, 128, 128, 0}, {0, 0, 128, 0, 128, 128, 64, 128}, {0, 128, 0, 0, 128, 0, 64, 128}, {64, 128, 0, 128, 0, 0, 64, 0}, {0, 0, 64, 0, 0, 64}, {128, 0, 128, 128, 0, 128, 0, 64, 64, 0}, {0, 128, 0, 0, 32, 64, 64, 96, 128, 128}, {0, 0, 128, 0, 128, 128, 64, 96, 32, 64}, {0, 0, 128, 0, 96, 32, 32, 32}};
static long[] aLongArray1766 = new long[32];
static void method1808(int var0, boolean var1, int var3, boolean var4) {
try {
Unsorted.method1047(var0, var3, Unsorted.aClass44_Sub1Array3201.length - 1, var4, 0, var1);
} catch (RuntimeException var6) {
throw ClientErrorException.clientError(var6, "sh.C(" + var0 + ',' + var1 + ',' + (byte) 30 + ',' + var3 + ',' + var4 + ')');
}
}
static void method1809(int var0, long[] var1, int var2, int var3, Object[] var4) {
try {
if (var2 < 85) {
aClass61_1758 = (Class61) null;
}
if (var0 > var3) {
int var6 = var3;
int var5 = (var3 - -var0) / 2;
long var7 = var1[var5];
var1[var5] = var1[var0];
var1[var0] = var7;
Object var9 = var4[var5];
var4[var5] = var4[var0];
var4[var0] = var9;
for (int var10 = var3; var0 > var10; ++var10) {
if (var7 + (long) (1 & var10) > var1[var10]) {
long var11 = var1[var10];
var1[var10] = var1[var6];
var1[var6] = var11;
Object var13 = var4[var10];
var4[var10] = var4[var6];
var4[var6++] = var13;
}
}
var1[var0] = var1[var6];
var1[var6] = var7;
var4[var0] = var4[var6];
var4[var6] = var9;
method1809(-1 + var6, var1, 107, var3, var4);
method1809(var0, var1, 89, var6 - -1, var4);
}
} catch (RuntimeException var14) {
throw ClientErrorException.clientError(var14, "sh.B(" + var0 + ',' + (var1 != null ? "{...}" : "null") + ',' + var2 + ',' + var3 + ',' + (var4 != null ? "{...}" : "null") + ')');
}
}
}

View file

@ -0,0 +1,103 @@
package org.runite.client;
final class Class135 {
private int anInt1767;
private final Class116[] aClass116Array1768 = new Class116[10];
private int anInt1769;
private byte[] method1810() {
int var1 = 0;
int var2;
for(var2 = 0; var2 < 10; ++var2) {
if(this.aClass116Array1768[var2] != null && this.aClass116Array1768[var2].anInt1586 + this.aClass116Array1768[var2].anInt1593 > var1) {
var1 = this.aClass116Array1768[var2].anInt1586 + this.aClass116Array1768[var2].anInt1593;
}
}
if(var1 == 0) {
return new byte[0];
} else {
var2 = 22050 * var1 / 1000;
byte[] var3 = new byte[var2];
for(int var4 = 0; var4 < 10; ++var4) {
if(this.aClass116Array1768[var4] != null) {
int var5 = this.aClass116Array1768[var4].anInt1586 * 22050 / 1000;
int var6 = this.aClass116Array1768[var4].anInt1593 * 22050 / 1000;
int[] var7 = this.aClass116Array1768[var4].method1717(var5, this.aClass116Array1768[var4].anInt1586);
for(int var8 = 0; var8 < var5; ++var8) {
int var9 = var3[var8 + var6] + (var7[var8] >> 8);
if((var9 + 128 & -256) != 0) {
var9 = var9 >> 31 ^ 127;
}
var3[var8 + var6] = (byte)var9;
}
}
}
return var3;
}
}
static Class135 method1811(CacheIndex var0, int var1, int var2) {
byte[] var3 = var0.getFile(var1, var2);
return var3 == null?null:new Class135(new DataBuffer(var3));
}
final Class3_Sub12_Sub1 method1812() {
byte[] var1 = this.method1810();
return new Class3_Sub12_Sub1(var1, 22050 * this.anInt1769 / 1000, 22050 * this.anInt1767 / 1000);
}
final int method1813() {
int var1 = 9999999;
int var2;
for(var2 = 0; var2 < 10; ++var2) {
if(this.aClass116Array1768[var2] != null && this.aClass116Array1768[var2].anInt1593 / 20 < var1) {
var1 = this.aClass116Array1768[var2].anInt1593 / 20;
}
}
if(this.anInt1769 < this.anInt1767 && this.anInt1769 / 20 < var1) {
var1 = this.anInt1769 / 20;
}
if(var1 == 9999999 || var1 == 0) {
return 0;
} else {
for(var2 = 0; var2 < 10; ++var2) {
if(this.aClass116Array1768[var2] != null) {
this.aClass116Array1768[var2].anInt1593 -= var1 * 20;
}
}
if(this.anInt1769 < this.anInt1767) {
this.anInt1769 -= var1 * 20;
this.anInt1767 -= var1 * 20;
}
return var1;
}
}
private Class135(DataBuffer var1) {
for(int var2 = 0; var2 < 10; ++var2) {
int var3 = var1.readUnsignedByte();
if(var3 != 0) {
--var1.index;
this.aClass116Array1768[var2] = new Class116();
this.aClass116Array1768[var2].method1718(var1);
}
}
this.anInt1769 = var1.readUnsignedShort();
this.anInt1767 = var1.readUnsignedShort();
}
}

View file

@ -0,0 +1,101 @@
package org.runite.client;
import org.rs09.client.data.ReferenceCache;
final class Class136 {
static Class61 aClass61_1424 = new Class61();
LDIndexedSprite aClass109_Sub1_1770;
static int anInt1771;
static ReferenceCache aReferenceCache_1772 = new ReferenceCache(64);
GameObject aClass140_1777;
static Class64 aClass64_1778;
static short[] aShortArray1779 = new short[256];
static void method1814(int var0, int var1, int var2, int var3, int var4, int var8, int var9, int var10) {
try {
int var11 = var2 - var4;
int var13 = -1;
if(AbstractSprite.anInt3704 > 0) {
if(Class3_Sub28_Sub8.anInt3611 <= 10) {
var13 = 5 * Class3_Sub28_Sub8.anInt3611;
} else {
var13 = -((-10 + Class3_Sub28_Sub8.anInt3611) * 5) + 50;
}
}
int var12 = -var9 + var1;
int var15 = 983040 / var8;
int var16 = 983040 / var3;
for(int var17 = -var15; var17 < var11 - -var15; ++var17) {
int var18 = - -(var17 * var8) >> 16;
int var19 = var8 * (var17 + 1) >> 16;
int var20 = -var18 + var19;
if(var20 > 0) {
int var21 = var4 + var17 >> 6;
var18 += var0;
if(var21 >= 0 && var21 <= -1 + Class44.anIntArrayArrayArray720.length) {
int[][] var22 = Class44.anIntArrayArrayArray720[var21];
for(int var23 = -var16; var23 < var12 - -var16; ++var23) {
int var25 = - -(var3 * (var23 - -1)) >> 16;
int var24 = var23 * var3 >> 16;
int var26 = var25 + -var24;
if(0 < var26) {
var24 += var10;
int var27 = var9 + var23 >> 6;
if(var27 >= 0 && -1 + var22.length >= var27 && null != var22[var27]) {
int var28 = (63 & var17 + var4) + (4032 & var9 + var23 << 6);
int var29 = var22[var27][var28];
if(var29 != 0) {
ObjectDefinition var14 = ObjectDefinition.getObjectDefinition(-1 + var29);
if(!Class3_Sub24_Sub4.aBooleanArray3503[var14.MapIcon]) {
if(var13 != -1 && Class8.anInt101 == var14.MapIcon) {
Class3_Sub23 var30 = new Class3_Sub23();
var30.anInt2531 = var18;
var30.anInt2539 = var24;
var30.anInt2532 = var14.MapIcon;
aClass61_1424.method1215(var30);
} else {
GameObject.aClass3_Sub28_Sub16_Sub2Array1839[var14.MapIcon].drawAt(var18 + -7, -7 + var24);
}
}
}
}
}
}
}
}
}
for(Class3_Sub23 var32 = (Class3_Sub23) aClass61_1424.method1222(); null != var32; var32 = (Class3_Sub23) aClass61_1424.method1221()) {
Class74.method1330(var32.anInt2531, var32.anInt2539, 15, var13);
Class74.method1330(var32.anInt2531, var32.anInt2539, 13, var13);
Class74.method1330(var32.anInt2531, var32.anInt2539, 11, var13);
Class74.method1330(var32.anInt2531, var32.anInt2539, 9, var13);
GameObject.aClass3_Sub28_Sub16_Sub2Array1839[var32.anInt2532].drawAt(-7 + var32.anInt2531, -7 + var32.anInt2539);
}
aClass61_1424.method1211(-76);
} catch (RuntimeException var31) {
throw ClientErrorException.clientError(var31, "sm.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + 0 + ',' + 0 + ',' + 127 + ',' + var8 + ',' + var9 + ',' + var10 + ')');
}
}
static void method1816(int var0, int var1) {
try {
if(var1 == -7) {
Class129_Sub1.anIntArray2696 = new int[var0];
Class159.anIntArray2021 = new int[var0];
SequenceDefinition.anIntArray1871 = new int[var0];
Player.anIntArray3959 = new int[var0];
Unsorted.anIntArray686 = new int[var0];
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "sm.C(" + var0 + ',' + var1 + ')');
}
}
}

View file

@ -0,0 +1,60 @@
package org.runite.client;
final class Class137 {
static int method1817() {
try {
return !Unsorted.aBoolean1084?(!NPC.method1986((byte) 70 ^ 28)?1:(Unsorted.aBoolean3604?2:1)):0;
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "tc.B(" + (byte) 70 + ')');
}
}
static void method1819(int var0, int var1, RSInterface var2, int var4, int var5, int var6, int var7) {
try {
if(Class158_Sub1.aBoolean2981) {
Class19.anInt433 = 32;
} else {
Class19.anInt433 = 0;
}
Class158_Sub1.aBoolean2981 = false;
int var8;
if(Class3_Sub13_Sub5.anInt3069 != 0) {
if(var4 >= var5 && var4 < var5 + 16 && var0 >= var6 && var6 - -16 > var0) {
var2.anInt208 -= 4;
Class20.method909(var2);
} else if(var4 >= var5 && 16 + var5 > var4 && var1 + (var6 - 16) <= var0 && var0 < var1 + var6) {
var2.anInt208 += 4;
Class20.method909(var2);
} else if(var5 - Class19.anInt433 <= var4 && var4 < var5 + 16 + Class19.anInt433 && var0 >= 16 + var6 && var1 + var6 - 16 > var0) {
var8 = var1 * (-32 + var1) / var7;
if(8 > var8) {
var8 = 8;
}
int var10 = -32 + (var1 - var8);
int var9 = -(var8 / 2) + -16 + -var6 + var0;
var2.anInt208 = (-var1 + var7) * var9 / var10;
Class20.method909(var2);
Class158_Sub1.aBoolean2981 = true;
}
}
if(Class29.anInt561 != 0) {
var8 = var2.width;
if(var4 >= -var8 + var5 && var0 >= var6 && var4 < 16 + var5 && var1 + var6 >= var0) {
var2.anInt208 += 45 * Class29.anInt561;
Class20.method909(var2);
}
}
} catch (RuntimeException var11) {
throw ClientErrorException.clientError(var11, "tc.A(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ',' + (byte) -101 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')');
}
}
}

View file

@ -0,0 +1,12 @@
package org.runite.client;
import java.awt.FontMetrics;
final class Class139 {
static int anInt1823;
static int screenLowerX;
static boolean aBoolean1827;
static int anInt1829 = 0;
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,210 @@
package org.runite.client;
final class Class140_Sub2 extends GameObject {
int anInt2703;
private Class127_Sub1 aClass127_Sub1_2704;
private int anInt2706 = 0;
private final int anInt2708;
int anInt2710;
private SequenceDefinition aClass142_2711;
int anInt2712;
static boolean aBoolean2713;
private int anInt2715 = -32768;
int anInt2716;
int anInt2717;
boolean aBoolean2718;
private int anInt2719 = 0;
private Model method1949() {
try {
GraphicDefinition var2 = GraphicDefinition.getGraphicDefinition((byte)42, this.anInt2708);
Model var3;
if(this.aBoolean2718) {
var3 = var2.method966(-1, -1, 0);
} else {
int anInt2714 = -1;
var3 = var2.method966(anInt2714, this.anInt2706, this.anInt2719);
}
return var3;
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "bh.E(" + false + ')');
}
}
static void method1950(Class140_Sub4 var0) {
try {
int var2 = var0.anInt2800 - Class44.anInt719;
int var3 = 128 * var0.anInt2784 - -(64 * var0.getSize());
int var4 = 128 * var0.anInt2835 - -(var0.getSize() * 64);
if(0 == var0.anInt2840) {
var0.anInt2806 = 1024;
}
var0.anInt2819 += (-var0.anInt2819 + var3) / var2;
var0.anInt2829 += (var4 + -var0.anInt2829) / var2;
if(var0.anInt2840 == 1) {
var0.anInt2806 = 1536;
}
var0.anInt2824 = 0;
if(var0.anInt2840 == 2) {
var0.anInt2806 = 0;
}
if(var0.anInt2840 == 3) {
var0.anInt2806 = 512;
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "bh.F(" + (var0 != null?"{...}":"null") + ',' + true + ')');
}
}
static int method1951(int var0) {
try {
return var0 >>> 8;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "bh.D(" + var0 + ',' + (byte) -115 + ')');
}
}
static void method1952(int var0, int var2, int var3, int var4, int var5, int var6, int var7) {
try {
int var8;
int var9;
if(HDToolKit.highDetail) {
var8 = -334 + var2;
if(var8 >= 0) {
if(var8 > 100) {
var8 = 100;
}
} else {
var8 = 0;
}
var9 = var8 * (-Unsorted.aShort46 + ObjectDefinition.aShort1535) / 100 + Unsorted.aShort46;
var4 = var9 * var4 >> 8;
}
var8 = -var7 + 2048 & 2047;
var9 = 2047 & -var5 + 2048;
int var10 = 0;
int var12 = var4;
int var11 = 0;
int var13;
int var14;
if(var8 != 0) {
var14 = Class51.anIntArray851[var8];
var13 = Class51.anIntArray840[var8];
var11 = var13 * -var4 >> 16;
var12 = var14 * var4 >> 16;
}
if(0 != var9) {
var13 = Class51.anIntArray840[var9];
var14 = Class51.anIntArray851[var9];
var10 = var13 * var12 >> 16;
var12 = var12 * var14 >> 16;
}
Class139.anInt1823 = var7;
Class3_Sub13_Sub25.anInt3315 = var5;
Class77.anInt1111 = var6 + -var12;
NPC.anInt3995 = var0 + -var10;
Class7.anInt2162 = -var11 + var3;
} catch (RuntimeException var15) {
throw ClientErrorException.clientError(var15, "bh.G(" + var0 + ',' + -1907397104 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')');
}
}
static WorldListEntry method1953() {
try {
Class3_Sub6.anInt2291 = 0;
return ItemDefinition.method1107(5422);
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "bh.H(" + (byte) 124 + ')');
}
}
final int method1871() {
try {
return this.anInt2715;
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "bh.MA()");
}
}
final void animate(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9, int var11, Class127_Sub1 var12) {
try {
Model var13 = this.method1949();
if(var13 != null) {
var13.animate(var1, var2, var3, var4, var5, var6, var7, var8, var9, var11, this.aClass127_Sub1_2704);
this.anInt2715 = var13.method1871();
}
} catch (RuntimeException var14) {
throw ClientErrorException.clientError(var14, "bh.IA(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var11 + ',' + (var12 != null?"{...}":"null") + ')');
}
}
final void method1955(int var2) {
try {
if(!this.aBoolean2718) {
this.anInt2719 += var2;
while(this.aClass142_2711.duration[this.anInt2706] < this.anInt2719) {
this.anInt2719 -= this.aClass142_2711.duration[this.anInt2706];
++this.anInt2706;
if(this.anInt2706 >= this.aClass142_2711.frames.length) {
this.aBoolean2718 = true;
break;
}
}
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "bh.A(" + true + ',' + var2 + ')');
}
}
static void method1956(int var0, int var1, int var2, int var3) {
Class3_Sub2 var4 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2];
if(var4 != null) {
Class19 var5 = var4.aClass19_2233;
if(var5 != null) {
var5.anInt430 = var5.anInt430 * var3 / 16;
var5.anInt426 = var5.anInt426 * var3 / 16;
}
}
}
final void method1867(int var1, int var2, int var3, int var4, int var5) {}
Class140_Sub2(int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
try {
this.anInt2710 = var4;
this.anInt2716 = var3;
this.anInt2717 = var2;
this.anInt2703 = var7 + var6;
this.anInt2708 = var1;
this.anInt2712 = var5;
int var8 = GraphicDefinition.getGraphicDefinition((byte)42, this.anInt2708).anInt542;
if(-1 == var8) {
this.aBoolean2718 = true;
} else {
this.aBoolean2718 = false;
this.aClass142_2711 = SequenceDefinition.getAnimationDefinition(var8);
}
} catch (RuntimeException var9) {
throw ClientErrorException.clientError(var9, "bh.<init>(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')');
}
}
}

View file

@ -0,0 +1,582 @@
package org.runite.client;
final class Class140_Sub3 extends GameObject {
static LDIndexedSprite aClass109_Sub1_2631 = null;
private int anInt2720 = 0;
private boolean aBoolean2721 = false;
private SequenceDefinition aClass142_2722;
private final int anInt2724;
private int anInt2725 = 0;
private int anInt2726;
private boolean aBoolean2728 = true;
private final int objectId;
private final int anInt2730;
private final int anInt2732;
private int anInt2733;
private final int type;
private final int anInt2736;
private LDIndexedSprite aClass109_Sub1_2738 = null;
private Class127_Sub1 aClass127_Sub1_2742;
static volatile int anInt2743 = 0;
static int anInt2745 = 0;
private int anInt2746;
private int anInt2748 = 0;
private int anInt2749;
private int anInt2750 = -1;
private int anInt2752 = -1;
static Model method1957(int var0, boolean var1, SequenceDefinition var2, int var3, int var4, int var5, int var6, int var7, Model var8, int var9, int var10, int var11, int var12) {
try {
long var14 = ((long)var4 << 48) + (long)(var7 + (var0 << 16) - -(var12 << 24)) + ((long)var6 << 32);
Model var16 = (Model)Class158_Sub1.aReferenceCache_2982.get(var14);
int var21;
int var23;
int var25;
int var24;
int var28;
if(var16 == null) {
byte var17;
if(1 == var7) {
var17 = 9;
} else if(var7 == 2) {
var17 = 12;
} else if(var7 == 3) {
var17 = 15;
} else if (4 == var7) {
var17 = 18;
} else {
var17 = 21;
}
int[] var19 = new int[]{64, 96, 128};
byte var18 = 3;
Model_Sub1 var20 = new Model_Sub1(1 + var18 * var17, -var17 + var17 * var18 * 2);
var21 = var20.method2014(0, 0);
int[][] var22 = new int[var18][var17];
for(var23 = 0; var18 > var23; ++var23) {
var24 = var19[var23];
var25 = var19[var23];
for(int var26 = 0; var26 < var17; ++var26) {
int var27 = (var26 << 11) / var17;
int var29 = var5 - -(Class51.anIntArray851[var27] * var25) >> 16;
var28 = var3 + Class51.anIntArray840[var27] * var24 >> 16;
var22[var23][var26] = var20.method2014(var28, var29);
}
}
for(var23 = 0; var23 < var18; ++var23) {
var24 = (256 * var23 - -128) / var18;
var25 = 256 + -var24;
byte var38 = (byte)(var12 * var24 + var0 * var25 >> 8);
short var39 = (short)(((var6 & 127) * var25 + (127 & var4) * var24 & 32512) + (var25 * (var6 & 896) + var24 * (var4 & 896) & 229376) + (var24 * (var4 & '\ufc00') + ('\ufc00' & var6) * var25 & 16515072) >> 8);
for(var28 = 0; var28 < var17; ++var28) {
if(var23 == 0) {
var20.method2005(var21, var22[0][(1 + var28) % var17], var22[0][var28], var39, var38);
} else {
var20.method2005(var22[var23 - 1][var28], var22[var23 + -1][(var28 + 1) % var17], var22[var23][(var28 - -1) % var17], var39, var38);
var20.method2005(var22[-1 + var23][var28], var22[var23][(1 + var28) % var17], var22[var23][var28], var39, var38);
}
}
}
var16 = var20.method2008(64, 768, -50, -10, -50);
Class158_Sub1.aReferenceCache_2982.put(var16, var14);
}
int var32 = var7 * 64 + -1;
int var33 = -var32;
int var31 = -var32;
int var34 = var32;
int var35 = var8.method1884();
Class3_Sub28_Sub5 var40 = null;
var23 = var8.method1883();
var24 = var8.method1898();
var25 = var8.method1872();
if(var2 != null) {
var10 = var2.frames[var10];
int frame = var10 >> 16;
// System.out.println(var2.animId + " Roar " + (var10 >> 16) + ", " + (var10 & '\uffff') + ", " + Arrays.toString(var2.frames));
var40 = Class3_Sub9.method133(frame); //NPC render animating
var10 &= '\uffff';
}
var21 = var32;
if(var1) {
if(1664 < var9 || 384 > var9) {
var31 -= 128;
}
if(var9 > 1152 && var9 < 1920) {
var34 = var32 + 128;
}
if(640 < var9 && var9 < 1408) {
var21 = var32 + 128;
}
if(var9 > 128 && var9 < 896) {
var33 -= 128;
}
}
if(var21 < var25) {
var25 = var21;
}
if(var33 > var35) {
var35 = var33;
}
if(var24 < var31) {
var24 = var31;
}
if(var34 < var23) {
var23 = var34;
}
if(null == var40) {
var16 = var16.method1882(true, true, true);
var16.resize((var23 + -var35) / 2, 128, (var25 - var24) / 2);
var16.method1897((var35 + var23) / 2, 0, (var24 - -var25) / 2);
} else {
var16 = var16.method1882(!var40.method559(var10), !var40.method561(var10, (byte)115), true);
var16.resize((var23 + -var35) / 2, 128, (var25 + -var24) / 2);
var16.method1897((var35 + var23) / 2, 0, (var24 + var25) / 2);
var16.method1877(var40, var10);
}
if(var9 != 0) {
var16.method1876(var9);
}
if(HDToolKit.highDetail) {
Class140_Sub1_Sub1 var36 = (Class140_Sub1_Sub1)var16;
if(var11 != Class121.method1736(WorldListCountry.localPlane, (byte) -49 ^ -50, var3 - -var35, var24 + var5) || var11 != Class121.method1736(WorldListCountry.localPlane, 1, var23 + var3, var5 - -var25)) {
for(var28 = 0; var28 < var36.anInt3823; ++var28) {
var36.anIntArray3845[var28] += -var11 + Class121.method1736(WorldListCountry.localPlane, Unsorted.bitwiseXOR((byte) -49, -50), var36.anIntArray3822[var28] - -var3, var5 + var36.anIntArray3848[var28]);
}
var36.aClass6_3835.aBoolean98 = false;
var36.aClass121_3839.aBoolean1640 = false;
}
} else {
Class140_Sub1_Sub2 var37 = (Class140_Sub1_Sub2)var16;
if(var11 != Class121.method1736(WorldListCountry.localPlane, 1, var3 - -var35, var5 - -var24) || var11 != Class121.method1736(WorldListCountry.localPlane, 1, var3 + var23, var5 - -var25)) {
for(var28 = 0; var28 < var37.anInt3891; ++var28) {
var37.anIntArray3883[var28] += -var11 + Class121.method1736(WorldListCountry.localPlane, 1, var3 + var37.anIntArray3885[var28], var5 + var37.anIntArray3895[var28]);
}
var37.aBoolean3897 = false;
}
}
return var16;
} catch (RuntimeException var30) {
throw ClientErrorException.clientError(var30, "dc.E(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + (var8 != null?"{...}":"null") + ',' + var9 + ',' + var10 + ',' + var11 + ',' + var12 + ',' + (byte) -49 + ')');
}
}
final void method1867(int var1, int var2, int var3, int var4, int var5) {
try {
if(HDToolKit.highDetail) {
this.method1962(true);
} else {
this.method1961(var5, var4);
}
} catch (RuntimeException var7) {
throw ClientErrorException.clientError(var7, "dc.IB(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')');
}
}
static void method1959(boolean var3) {
try {
Class3_Sub24_Sub4.anInt3507 = 2;
Unsorted.aBoolean2150 = var3;
Class21.anInt443 = 22050;
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "dc.D(" + 256 + ',' + 2 + ',' + 22050 + ',' + var3 + ')');
}
}
final void animate(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9, int var11, Class127_Sub1 var12) {
try {
GameObject var13 = this.method1963();
if(null != var13) {
var13.animate(var1, var2, var3, var4, var5, var6, var7, var8, var9, var11, this.aClass127_Sub1_2742);
}
} catch (RuntimeException var14) {
throw ClientErrorException.clientError(var14, "dc.IA(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var11 + ',' + (var12 != null?"{...}":"null") + ')');
}
}
final void method1960() {
try {
if(this.aClass109_Sub1_2738 != null) {
Class141.method2047(this.aClass109_Sub1_2738, this.anInt2725, this.anInt2720, this.anInt2748);
}
this.anInt2750 = -1;
this.anInt2752 = -1;
this.aClass109_Sub1_2738 = null;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "dc.F(" + -1 + ')');
}
}
protected final void finalize() {}
private void method1961(int var1, int var2) {
try {
if(this.aClass142_2722 != null) {
int var4 = Class44.anInt719 - this.anInt2749;
if(var4 > 100 && this.aClass142_2722.anInt1865 > 0) {
int var5;
for(var5 = this.aClass142_2722.frames.length - this.aClass142_2722.anInt1865; var5 > this.anInt2726 && var4 > this.aClass142_2722.duration[this.anInt2726]; ++this.anInt2726) {
var4 -= this.aClass142_2722.duration[this.anInt2726];
}
if(var5 <= this.anInt2726) {
int var6 = 0;
for(int var7 = var5; var7 < this.aClass142_2722.frames.length; ++var7) {
var6 += this.aClass142_2722.duration[var7];
}
var4 %= var6;
}
this.anInt2733 = 1 + this.anInt2726;
if(this.anInt2733 >= this.aClass142_2722.frames.length) {
this.anInt2733 -= this.aClass142_2722.anInt1865;
if(this.anInt2733 < 0 || this.aClass142_2722.frames.length <= this.anInt2733) {
this.anInt2733 = -1;
}
}
}
while(this.aClass142_2722.duration[this.anInt2726] < var4) {
Unsorted.method1470(var1, this.aClass142_2722, 183921384, var2, false, this.anInt2726);
var4 -= this.aClass142_2722.duration[this.anInt2726];
++this.anInt2726;
if(this.anInt2726 >= this.aClass142_2722.frames.length) {
this.anInt2726 -= this.aClass142_2722.anInt1865;
if(0 > this.anInt2726 || this.anInt2726 >= this.aClass142_2722.frames.length) {
this.aClass142_2722 = null;
break;
}
}
this.anInt2733 = this.anInt2726 - -1;
if(this.anInt2733 >= this.aClass142_2722.frames.length) {
this.anInt2733 -= this.aClass142_2722.anInt1865;
if(this.anInt2733 < 0 || this.aClass142_2722.frames.length <= this.anInt2733) {
this.anInt2733 = -1;
}
}
}
this.anInt2746 = var4;
this.anInt2749 = -var4 + Class44.anInt719;
}
} catch (RuntimeException var8) {
throw ClientErrorException.clientError(var8, "dc.A(" + var1 + ',' + var2 + ',' + -101 + ')');
}
}
private GameObject method1962(boolean var1) {
try {
boolean var3 = Class58.anIntArrayArrayArray914 != Class44.anIntArrayArrayArray723;
ObjectDefinition var4 = ObjectDefinition.getObjectDefinition(this.objectId);
int var5 = var4.animationId;
if(null != var4.ChildrenIds) {
var4 = var4.method1685(0);
}
if(null == var4) {
if(HDToolKit.highDetail && !var3) {
this.method1960();
}
return null;
} else {
int var6;
if(Class158.anInt2014 != 0 && this.aBoolean2721 && (null == this.aClass142_2722 || var4.animationId != this.aClass142_2722.animId)) {
var6 = var4.animationId;
if(var4.animationId == -1) {
var6 = var5;
}
if(var6 == -1) {
this.aClass142_2722 = null;
} else {
this.aClass142_2722 = SequenceDefinition.getAnimationDefinition(var6);
}
if(null != this.aClass142_2722) {
if(var4.aBoolean1492 && -1 != this.aClass142_2722.anInt1865) {
this.anInt2726 = (int)(Math.random() * (double)this.aClass142_2722.frames.length);
this.anInt2749 -= (int)(Math.random() * (double)this.aClass142_2722.duration[this.anInt2726]);
} else {
this.anInt2726 = 0;
this.anInt2749 = Class44.anInt719 + -1;
}
}
}
var6 = this.anInt2724 & 3;
int var7;
int var8;
if(var6 == 1 || var6 == 3) {
var8 = var4.SizeX;
var7 = var4.SizeY;
} else {
var7 = var4.SizeX;
var8 = var4.SizeY;
}
int var10 = this.anInt2736 - -(1 + var7 >> 1);
int var9 = (var7 >> 1) + this.anInt2736;
int var11 = (var8 >> 1) + this.anInt2730;
int var12 = (var8 - -1 >> 1) + this.anInt2730;
this.method1961(128 * var11, var9 * 128);
boolean var13 = !var3 && var4.aBoolean1503 && (var4.objectId != this.anInt2750 || (this.anInt2752 != this.anInt2726 || this.aClass142_2722 != null && (this.aClass142_2722.aBoolean1872 || ClientCommands.tweeningEnabled) && this.anInt2733 != this.anInt2726) && Unsorted.anInt1137 >= 2);
if(var1 && !var13) {
return null;
} else {
int[][] var14 = Class44.anIntArrayArrayArray723[this.anInt2732];
int var15 = var14[var10][var12] + var14[var9][var12] + var14[var9][var11] + var14[var10][var11] >> 2;
int var16 = (var7 << 6) + (this.anInt2736 << 7);
int var17 = (var8 << 6) + (this.anInt2730 << 7);
int[][] var18 = (int[][])null;
if(var3) {
var18 = Class58.anIntArrayArrayArray914[0];
} else if (this.anInt2732 < 3) {
var18 = Class44.anIntArrayArrayArray723[1 + this.anInt2732];
}
if(HDToolKit.highDetail && var13) {
Class141.method2047(this.aClass109_Sub1_2738, this.anInt2725, this.anInt2720, this.anInt2748);
}
boolean var19 = null == this.aClass109_Sub1_2738;
Class136 var20;
if(this.aClass142_2722 == null) {
var20 = var4.method1696(this.anInt2724, var16, var14, this.type, var15, var18, false, var19? aClass109_Sub1_2631:this.aClass109_Sub1_2738, (byte)-128, var13, var17);
} else {
var20 = var4.method1697(var17, var16, !var19?this.aClass109_Sub1_2738: aClass109_Sub1_2631, var15, this.aClass142_2722, this.anInt2724, var14, var13, this.anInt2726, -2 ^ -8310, var18, this.anInt2733, this.type, this.anInt2746);
}
if(null == var20) {
return null;
} else {
if(HDToolKit.highDetail && var13) {
if(var19) {
aClass109_Sub1_2631 = var20.aClass109_Sub1_1770;
}
int var21 = 0;
if(this.anInt2732 != 0) {
int[][] var22 = Class44.anIntArrayArrayArray723[0];
var21 = var15 - (var22[var10][var11] + var22[var9][var11] - (-var22[var9][var12] - var22[var10][var12]) >> 2);
}
LDIndexedSprite var24 = var20.aClass109_Sub1_1770;
if(this.aBoolean2728 && Class141.method2049(var24, var16, var21, var17)) {
this.aBoolean2728 = false;
}
if(!this.aBoolean2728) {
Class141.method2051(var24, var16, var21, var17);
this.aClass109_Sub1_2738 = var24;
this.anInt2748 = var17;
if(var19) {
aClass109_Sub1_2631 = null;
}
this.anInt2720 = var21;
this.anInt2725 = var16;
}
this.anInt2750 = var4.objectId;
this.anInt2752 = this.anInt2726;
}
return var20.aClass140_1777;
}
}
}
} catch (RuntimeException var23) {
throw ClientErrorException.clientError(var23, "dc.H(" + var1 + ',' + -2 + ')');
}
}
final GameObject method1963() {
try {
return this.method1962(false);
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "dc.C(" + 3 + ')');
}
}
final int method1871() {
return -32768;
}
static void renderLocalPlayers() {
try {
int localPlayerAmount = GraphicDefinition.incomingBuffer.getBits(8);
int var2;
if(localPlayerAmount < Class159.localPlayerCount) {
for(var2 = localPlayerAmount; Class159.localPlayerCount > var2; ++var2) {
Class3_Sub7.anIntArray2292[Class139.anInt1829++] = Class56.localPlayerIndexes[var2];
}
}
if(Class159.localPlayerCount >= localPlayerAmount) {
Class159.localPlayerCount = 0;
var2 = 0;
for(; localPlayerAmount > var2; ++var2) {
int var3 = Class56.localPlayerIndexes[var2];
Player var4 = Class3_Sub13_Sub22.players[var3];
int update = GraphicDefinition.incomingBuffer.getBits(1);
if(update == 0) {
Class56.localPlayerIndexes[Class159.localPlayerCount++] = var3;
var4.anInt2838 = Class44.anInt719;
} else {
int type = GraphicDefinition.incomingBuffer.getBits(2);
if(type == 0) {
Class56.localPlayerIndexes[Class159.localPlayerCount++] = var3;
var4.anInt2838 = Class44.anInt719;
Class21.maskUpdateIndexes[Unsorted.maskUpdateCount++] = var3;
} else {
int var7;
int var8;
if(type == 1) {
Class56.localPlayerIndexes[Class159.localPlayerCount++] = var3;
var4.anInt2838 = Class44.anInt719;
var7 = GraphicDefinition.incomingBuffer.getBits(3);
var4.walkStep(1, (byte)46, var7);
var8 = GraphicDefinition.incomingBuffer.getBits(1);
if(var8 == 1) {
Class21.maskUpdateIndexes[Unsorted.maskUpdateCount++] = var3;
}
} else if (type == 2) {
Class56.localPlayerIndexes[Class159.localPlayerCount++] = var3;
var4.anInt2838 = Class44.anInt719;
if (GraphicDefinition.incomingBuffer.getBits(1) == 1) {
var7 = GraphicDefinition.incomingBuffer.getBits(3);
var4.walkStep(2, (byte) -92, var7);
var8 = GraphicDefinition.incomingBuffer.getBits(3);
var4.walkStep(2, (byte) 88, var8);
} else {
var7 = GraphicDefinition.incomingBuffer.getBits(3);
var4.walkStep(0, (byte) 113, var7);
}
var7 = GraphicDefinition.incomingBuffer.getBits(1);
if (1 == var7) {
Class21.maskUpdateIndexes[Unsorted.maskUpdateCount++] = var3;
}
} else if (type == 3) {
Class3_Sub7.anIntArray2292[Class139.anInt1829++] = var3;
}
}
}
}
} else {
throw new RuntimeException("gppov1");
}
} catch (RuntimeException var9) {
throw ClientErrorException.clientError(var9, "dc.B(" + false + ')');
}
}
Class140_Sub3(int objectId, int type, int var3, int var4, int var5, int var6, int animationId, boolean var8, GameObject var9) {
try {
this.anInt2732 = var4;
this.anInt2724 = var3;
this.anInt2736 = var5;
this.type = type;
this.objectId = objectId;
this.anInt2730 = var6;
ObjectDefinition var10;
if(HDToolKit.highDetail && null != var9) {
if(var9 instanceof Class140_Sub3) {
((Class140_Sub3)var9).method1960();
} else {
var10 = ObjectDefinition.getObjectDefinition(this.objectId);
if(var10.ChildrenIds != null) {
var10 = var10.method1685(0);
}
if(null != var10) {
Class8.method840(var10, (byte)-76, 0, this.anInt2724, 0, this.type, this.anInt2736, this.anInt2730, this.anInt2732);
}
}
}
if(-1 != animationId) {
this.aClass142_2722 = SequenceDefinition.getAnimationDefinition(animationId);
this.anInt2726 = 0;
if(1 >= this.aClass142_2722.frames.length) {
this.anInt2733 = 0;
} else {
this.anInt2733 = 1;
}
this.anInt2746 = 1;
this.anInt2749 = -1 + Class44.anInt719;
if(this.aClass142_2722.delayType == 0 && null != var9 && var9 instanceof Class140_Sub3) {
Class140_Sub3 var12 = (Class140_Sub3)var9;
if(this.aClass142_2722 == var12.aClass142_2722) {
this.anInt2726 = var12.anInt2726;
this.anInt2749 = var12.anInt2749;
this.anInt2746 = var12.anInt2746;
this.anInt2733 = var12.anInt2733;
return;
}
}
if(var8 && this.aClass142_2722.anInt1865 != -1) {
this.anInt2726 = (int)(Math.random() * (double)this.aClass142_2722.frames.length);
this.anInt2733 = this.anInt2726 - -1;
if(this.aClass142_2722.frames.length <= this.anInt2733) {
this.anInt2733 -= this.aClass142_2722.anInt1865;
if(this.anInt2733 < 0 || this.aClass142_2722.frames.length <= this.anInt2733) {
this.anInt2733 = -1;
}
}
this.anInt2746 = 1 - -((int)(Math.random() * (double)this.aClass142_2722.duration[this.anInt2726]));
this.anInt2749 = -this.anInt2746 + Class44.anInt719;
}
}
if(HDToolKit.highDetail && var9 != null) {
this.method1962(true);
}
if(var9 == null) {
var10 = ObjectDefinition.getObjectDefinition(this.objectId);
if(null != var10.ChildrenIds) {
this.aBoolean2721 = true;
}
}
} catch (RuntimeException var11) {
throw ClientErrorException.clientError(var11, "dc.<init>(" + objectId + ',' + type + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + animationId + ',' + var8 + ',' + (var9 != null?"{...}":"null") + ')');
}
}
}

View file

@ -0,0 +1,565 @@
package org.runite.client;
import org.rs09.client.data.ReferenceCache;
abstract class Class140_Sub4 extends GameObject {
int textEffect = 0;
private int anInt2754 = 0;
int[] anIntArray2755 = new int[10];
static int anInt2756;
private int anInt2757 = 0;
int anInt2758 = 0;
int anInt2759;
int anInt2760 = 0;
int anInt2761 = 0;
int anInt2762 = 0;
int renderAnimationId = -1;
int anInt2764 = -1;
private int anInt2766 = 0;
int[] anIntArray2767 = new int[10];
int[] anIntArray2768 = new int[4];
boolean aBoolean2769 = false;
int anInt2771 = -1;
int anInt2772 = -1;
int anInt2773 = 0;
int anInt2775;
int anInt2776 = -1;
int anInt2777;
int anInt2778 = 0;
int anInt2779 = 32;
int anInt2780 = 0;
int anInt2781 = -1000;
int anInt2782;
private boolean aBoolean2783 = false;
int anInt2784;
int anInt2785;
int anInt2786 = 0;
private int anInt2787 = 0;
int anInt2788;
int anInt2789 = 0;
int anInt2790;
int anInt2791 = 0;
static ReferenceCache aReferenceCache_2792 = new ReferenceCache(64);
int anInt2793 = -1;
static int[] anIntArray2794 = new int[100];
byte[] aByteArray2795 = new byte[10];
Object anObject2796;
int anInt2797 = 0;
int anInt2798;
int anInt2799;
int anInt2800;
Class127_Sub1 aClass127_Sub1_2801;
int anInt2802 = 0;
int anInt2803 = 0;
private int anInt2804 = 0;
int anInt2805 = 0;
int anInt2806;
private boolean aBoolean2807 = false;
int anInt2808 = 0;
Class145[] aClass145Array2809 = new Class145[12];
boolean aBoolean2810 = false;
int anInt2811 = 0;
int anInt2812;
int anInt2813 = 0;
int textCycle = 100;
int[] anIntArray2815 = new int[4];
int anInt2816 = 0;
int anInt2817;
int anInt2818;
int anInt2819;
int anInt2820 = -32768;
int anInt2821 = 0;
private int size = 1;
int anInt2823;
int anInt2824 = 0;
RSString textSpoken = null;
int anInt2826 = -1;
private int anInt2827 = 0;
int anInt2828 = 0;
int anInt2829;
private int anInt2830 = 0;
int anInt2831;
int anInt2832 = 0;
int anInt2833;
private int anInt2834 = 0;
int anInt2835;
int[] anIntArray2836 = new int[4];
int textColor = 0;
int anInt2838 = 0;
static AbstractSprite[] aAbstractSpriteArray2839;
int anInt2840;
int anInt2842 = -1;
final RenderAnimationDefinition method1965() {
try {
int var2 = this.getRenderAnimationId();
return (var2 == -1 ?PacketParser.aClass16_84:Class3_Sub10.getRenderAnimationDefinition(var2));
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "fe.D(" + false + ')');
}
}
boolean hasDefinitions() {
try {
return false;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "fe.L(" + (byte) 17 + ')');
}
}
final void method1967(int var2, int var3, int var4, boolean var5) {
try {
if(this.anInt2771 != -1 && SequenceDefinition.getAnimationDefinition(this.anInt2771).priority == 1) {
this.anInt2771 = -1;
}
if(!var5) {
int var6 = var3 + -this.anIntArray2767[0];
int var7 = var4 + -this.anIntArray2755[0];
if(var6 >= -8 && 8 >= var6 && var7 >= -8 && var7 <= 8) {
if(this.anInt2816 < 9) {
++this.anInt2816;
}
for(int var8 = this.anInt2816; var8 > 0; --var8) {
this.anIntArray2767[var8] = this.anIntArray2767[-1 + var8];
this.anIntArray2755[var8] = this.anIntArray2755[var8 + -1];
this.aByteArray2795[var8] = this.aByteArray2795[var8 - 1];
}
this.aByteArray2795[0] = 1;
this.anIntArray2767[0] = var3;
this.anIntArray2755[0] = var4;
return;
}
}
this.anInt2824 = 0;
this.anIntArray2767[0] = var3;
this.anIntArray2755[0] = var4;
this.anInt2816 = 0;
this.anInt2811 = 0;
this.anInt2829 = 64 * var2 + this.anIntArray2755[0] * 128;
this.anInt2819 = var2 * 64 + 128 * this.anIntArray2767[0];
if(HDToolKit.highDetail && Class102.player == this) {
Class3_Sub13_Sub14.method236();
}
} catch (RuntimeException var9) {
throw ClientErrorException.clientError(var9, "fe.J(" + -2 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')');
}
}
final void walkStep(int var1, byte var2, int var3) {
try {
int var4 = this.anIntArray2767[0];
int var5 = this.anIntArray2755[0];
if(0 == var3) {
--var4;
++var5;
}
if(this.anInt2771 != -1 && 1 == SequenceDefinition.getAnimationDefinition(this.anInt2771).priority) {
this.anInt2771 = -1;
}
if(this.anInt2816 < 9) {
++this.anInt2816;
}
int var6;
for(var6 = this.anInt2816; var6 > 0; --var6) {
this.anIntArray2767[var6] = this.anIntArray2767[-1 + var6];
this.anIntArray2755[var6] = this.anIntArray2755[-1 + var6];
this.aByteArray2795[var6] = this.aByteArray2795[-1 + var6];
}
if(var3 == 1) {
++var5;
}
this.aByteArray2795[0] = (byte)var1;
if(2 == var3) {
++var5;
++var4;
}
if(var3 == 3) {
--var4;
}
if(4 == var3) {
++var4;
}
if(5 == var3) {
--var5;
--var4;
}
if(var3 == 6) {
--var5;
}
if(var3 == 7) {
--var5;
++var4;
}
this.anIntArray2767[0] = var4;
this.anIntArray2755[0] = var5;
} catch (RuntimeException var7) {
throw ClientErrorException.clientError(var7, "fe.E(" + var1 + ',' + var2 + ',' + var3 + ')');
}
}
final void method1969(byte var1, Model var2, int var3) {
try {
if(var1 <= 33) {
this.method1971((Model)null, (byte)-26);
}
Class3_Sub28_Sub9.anInt3623 = 0;
Class3_Sub13_Sub16.anInt3198 = 0;
Class3_Sub13_Sub9.anInt3111 = 0;
RenderAnimationDefinition var4 = this.method1965();
int var5 = var4.anInt395;
int var6 = var4.anInt381;
if(var5 != 0 && var6 != 0) {
int var7 = Class51.anIntArray840[var3];
int var8 = Class51.anIntArray851[var3];
int var9 = -var5 / 2;
int var10 = -var6 / 2;
int var12 = -(var9 * var7) + var10 * var8 >> 16;
int var11 = var7 * var10 - -(var8 * var9) >> 16;
int var13 = Class121.method1736(WorldListCountry.localPlane, 1, var11 + this.anInt2819, this.anInt2829 + var12);
int var14 = var5 / 2;
int var15 = -var6 / 2;
int var16 = var14 * var8 + var15 * var7 >> 16;
int var20 = var6 / 2;
int var17 = var15 * var8 + -(var14 * var7) >> 16;
int var18 = Class121.method1736(WorldListCountry.localPlane, 1, var16 + this.anInt2819, this.anInt2829 - -var17);
int var19 = -var5 / 2;
int var22 = -(var7 * var19) + var20 * var8 >> 16;
int var25 = var6 / 2;
int var24 = var5 / 2;
int var21 = var7 * var20 - -(var8 * var19) >> 16;
int var27 = var25 * var8 - var7 * var24 >> 16;
int var26 = var7 * var25 + var8 * var24 >> 16;
int var23 = Class121.method1736(WorldListCountry.localPlane, 1, this.anInt2819 + var21, var22 + this.anInt2829);
int var29 = var13 < var18 ?var13:var18;
int var28 = Class121.method1736(WorldListCountry.localPlane, 1, var26 + this.anInt2819, var27 + this.anInt2829);
int var30 = var28 > var23?var23:var28;
int var31 = var28 > var18?var18:var28;
int var32 = var23 <= var13?var23:var13;
Class3_Sub13_Sub16.anInt3198 = 2047 & (int)(325.95D * Math.atan2((double)(var29 - var30), (double)var6));
if(Class3_Sub13_Sub16.anInt3198 != 0) {
var2.method1896(Class3_Sub13_Sub16.anInt3198);
}
Class3_Sub28_Sub9.anInt3623 = 2047 & (int)(325.95D * Math.atan2((double)(-var31 + var32), (double)var5));
if(Class3_Sub28_Sub9.anInt3623 != 0) {
var2.method1886(Class3_Sub28_Sub9.anInt3623);
}
Class3_Sub13_Sub9.anInt3111 = var28 + var13;
if(Class3_Sub13_Sub9.anInt3111 > var23 + var18) {
Class3_Sub13_Sub9.anInt3111 = var23 + var18;
}
Class3_Sub13_Sub9.anInt3111 = (Class3_Sub13_Sub9.anInt3111 >> 1) - this.anInt2831;
if(Class3_Sub13_Sub9.anInt3111 != 0) {
var2.method1897(0, Class3_Sub13_Sub9.anInt3111, 0);
}
}
} catch (RuntimeException var33) {
throw ClientErrorException.clientError(var33, "fe.M(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')');
}
}
final void method1970(int var1, int var3, int var4) {
try {
for(int var5 = 0; var5 < 4; ++var5) {
if(var3 >= this.anIntArray2768[var5]) {
this.anIntArray2836[var5] = var4;
this.anIntArray2815[var5] = var1;
this.anIntArray2768[var5] = 70 + var3;
return;
}
}
} catch (RuntimeException var6) {
throw ClientErrorException.clientError(var6, "fe.G(" + var1 + ',' + -8 + ',' + var3 + ',' + var4 + ')');
}
}
final void method1971(Model var1, byte var2) {
try {
if(var2 > -102) {
this.setSize(1, -96);
}
RenderAnimationDefinition var3 = this.method1965();
if(0 != var3.anInt400 || 0 != var3.anInt371) {
int var4 = 0;
int var5 = 0;
if(this.aBoolean2769 && this.anInt2821 != 0) {
var5 = var3.anInt371;
if(this.anInt2821 >= 0) {
var4 = var3.anInt400;
} else {
var4 = -var3.anInt400;
}
}
int var6;
int var7;
int var8;
int var9;
if(this.anInt2827 != var4) {
this.anInt2827 = var4;
if(this.anInt2754 > 0 && this.anInt2787 < var4) {
var6 = this.anInt2754 * this.anInt2754 / (2 * var3.anInt387);
var7 = -this.anInt2787 + var4;
if(var6 <= var7) {
this.aBoolean2807 = true;
this.anInt2804 = (var4 + this.anInt2787 - var6) / 2;
var8 = var3.anInt370 * var3.anInt370 / (var3.anInt387 * 2);
var9 = -var8 + var4;
if(this.anInt2804 < var9) {
this.anInt2804 = var9;
}
} else {
this.aBoolean2807 = false;
}
} else if(this.anInt2754 < 0 && var4 < this.anInt2787) {
var6 = this.anInt2754 * this.anInt2754 / (var3.anInt387 * 2);
var7 = var4 - this.anInt2787;
if(var7 >= var6) {
this.aBoolean2807 = true;
this.anInt2804 = (this.anInt2787 + var6 - -var4) / 2;
var8 = var3.anInt370 * var3.anInt370 / (2 * var3.anInt387);
var9 = var8 + var4;
if(this.anInt2804 > var9) {
this.anInt2804 = var9;
}
} else {
this.aBoolean2807 = false;
}
} else {
this.aBoolean2807 = false;
}
}
if(this.anInt2754 == 0) {
var6 = -this.anInt2787 + this.anInt2827;
if(-var3.anInt387 < var6 && var6 < var3.anInt387) {
this.anInt2787 = this.anInt2827;
} else {
this.aBoolean2807 = true;
var7 = var3.anInt370 * var3.anInt370 / (var3.anInt387 * 2);
this.anInt2804 = (this.anInt2827 + this.anInt2787) / 2;
if(var6 >= 0) {
var8 = -var7 + this.anInt2827;
this.anInt2754 = var3.anInt387;
if(this.anInt2804 < var8) {
this.anInt2804 = var8;
}
} else {
this.anInt2754 = -var3.anInt387;
var8 = var7 + this.anInt2827;
if(var8 < this.anInt2804) {
this.anInt2804 = var8;
}
}
}
} else if (this.anInt2754 > 0) {
if (this.anInt2804 <= this.anInt2787) {
this.aBoolean2807 = false;
}
if (!this.aBoolean2807) {
this.anInt2754 -= var3.anInt387;
if (this.anInt2754 < 0) {
this.anInt2754 = 0;
}
} else if (var3.anInt370 > this.anInt2754) {
this.anInt2754 += var3.anInt387;
}
} else {
if (this.anInt2787 <= this.anInt2804) {
this.aBoolean2807 = false;
}
if (this.aBoolean2807) {
if (-var3.anInt370 < this.anInt2754) {
this.anInt2754 -= var3.anInt387;
}
} else {
this.anInt2754 += var3.anInt387;
if (this.anInt2754 > 0) {
this.anInt2754 = 0;
}
}
}
this.anInt2787 += this.anInt2754;
if(this.anInt2787 != 0) {
var6 = (this.anInt2787 & '\ufff1') >> 5;
var7 = var1.method1871() / 2;
var1.method1897(0, -var7, 0);
var1.method1886(var6);
var1.method1897(0, var7, 0);
}
if(var5 != this.anInt2766) {
this.anInt2766 = var5;
if(this.anInt2830 > 0 && this.anInt2834 < var5) {
var6 = this.anInt2830 * this.anInt2830 / (2 * var3.anInt403);
var7 = -this.anInt2834 + var5;
if(var6 > var7) {
this.aBoolean2783 = false;
} else {
this.anInt2757 = (-var6 + this.anInt2834 + var5) / 2;
this.aBoolean2783 = true;
var8 = var3.anInt399 * var3.anInt399 / (2 * var3.anInt403);
var9 = var5 + -var8;
if(var9 > this.anInt2757) {
this.anInt2757 = var9;
}
}
} else if(this.anInt2830 < 0 && this.anInt2834 > var5) {
var7 = -this.anInt2834 + var5;
var6 = this.anInt2830 * this.anInt2830 / (2 * var3.anInt403);
if(var7 >= var6) {
this.anInt2757 = (var6 + this.anInt2834 - -var5) / 2;
this.aBoolean2783 = true;
var8 = var3.anInt399 * var3.anInt399 / (2 * var3.anInt403);
var9 = var8 + var5;
if(var9 < this.anInt2757) {
this.anInt2757 = var9;
}
} else {
this.aBoolean2783 = false;
}
} else {
this.aBoolean2783 = false;
}
}
if(this.anInt2830 == 0) {
var6 = -this.anInt2834 + this.anInt2766;
if(-var3.anInt403 < var6 && var3.anInt403 > var6) {
this.anInt2834 = this.anInt2766;
} else {
this.anInt2757 = (this.anInt2766 + this.anInt2834) / 2;
this.aBoolean2783 = true;
var7 = var3.anInt399 * var3.anInt399 / (2 * var3.anInt403);
if(var6 < 0) {
this.anInt2830 = -var3.anInt403;
var8 = var7 + this.anInt2766;
if(this.anInt2757 > var8) {
this.anInt2757 = var8;
}
} else {
this.anInt2830 = var3.anInt403;
var8 = -var7 + this.anInt2766;
if(var8 > this.anInt2757) {
this.anInt2757 = var8;
}
}
}
} else if (this.anInt2830 > 0) {
if (this.anInt2757 <= this.anInt2834) {
this.aBoolean2783 = false;
}
if (this.aBoolean2783) {
if (var3.anInt399 > this.anInt2830) {
this.anInt2830 += var3.anInt403;
}
} else {
this.anInt2830 -= var3.anInt403;
if (0 > this.anInt2830) {
this.anInt2830 = 0;
}
}
} else {
if (this.anInt2757 >= this.anInt2834) {
this.aBoolean2783 = false;
}
if (this.aBoolean2783) {
if (this.anInt2830 > -var3.anInt399) {
this.anInt2830 -= var3.anInt403;
}
} else {
this.anInt2830 += var3.anInt403;
if (0 < this.anInt2830) {
this.anInt2830 = 0;
}
}
}
this.anInt2834 += this.anInt2830;
if(this.anInt2834 != 0) {
var6 = (this.anInt2834 & '\uffe6') >> 5;
var7 = var1.method1871() / 2;
var1.method1897(0, -var7, 0);
var1.method1896(var6);
var1.method1897(0, var7, 0);
}
}
} catch (RuntimeException var10) {
throw ClientErrorException.clientError(var10, "fe.A(" + (var1 != null?"{...}":"null") + ',' + var2 + ')');
}
}
abstract int getRenderAnimationId();
final void method1973(int var1) {
try {
if(var1 < -75) {
this.anInt2816 = 0;
this.anInt2811 = 0;
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "fe.I(" + var1 + ')');
}
}
final int method1975(int var1) {
try {
return var1 != 27855?107:(this.anInt2820 != -32768?-this.anInt2820:200);
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "fe.F(" + var1 + ')');
}
}
final void setSize(int var1, int var2) {
try {
this.size = var1;
if(var2 != 2) {
this.aBoolean2807 = false;
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "fe.C(" + var1 + ',' + var2 + ')');
}
}
int getSize() {
try {
return this.size;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "fe.H(" + (byte) 114 + ')');
}
}
}

View file

@ -0,0 +1,267 @@
package org.runite.client;
final class Class140_Sub6 extends GameObject {
static int accRegistryPort;
private double aDouble2895;
private int anInt2896 = 0;
private final int anInt2897;
private int anInt2898 = -1;
int anInt2899;
double aDouble2900;
private final int anInt2902;
int anInt2903;
private boolean aBoolean2904;
static int anInt2905 = 0;
int anInt2907;
private double aDouble2908;
private Class127_Sub1 aClass127_Sub1_2909;
static boolean aBoolean2910 = true;
private final int anInt2911;
private int anInt2912 = -32768;
private double aDouble2913;
double aDouble2914;
private final int anInt2915;
private final int anInt2916;
private int anInt2917;
private double aDouble2918;
int anInt2919;
double aDouble2920;
private double aDouble2921;
private int anInt2922 = 0;
private final SequenceDefinition aClass142_2923;
int anInt2924;
int anInt2925;
static volatile long aLong2926 = 0L;
private final int anInt2927;
static void method2020(int var0, ObjectDefinition var1, int var3, int var4) {
try {
Class3_Sub9 var5 = (Class3_Sub9) Unsorted.aClass61_78.method1222();
while(null != var5) {
if(var4 == var5.anInt2314 && 128 * var0 == var5.anInt2326 && var5.anInt2308 == 128 * var3 && var5.aClass111_2320.objectId == var1.objectId) {
if(null != var5.aClass3_Sub24_Sub1_2312) {
Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(var5.aClass3_Sub24_Sub1_2312);
var5.aClass3_Sub24_Sub1_2312 = null;
}
if(var5.aClass3_Sub24_Sub1_2315 != null) {
Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(var5.aClass3_Sub24_Sub1_2315);
var5.aClass3_Sub24_Sub1_2315 = null;
}
var5.unlink();
return;
}
var5 = (Class3_Sub9) Unsorted.aClass61_78.method1221();
}
} catch (RuntimeException var6) {
throw ClientErrorException.clientError(var6, "ra.E(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + (byte) -73 + ',' + var3 + ',' + var4 + ')');
}
}
static boolean method2021(byte var0, int var1) {
try {
if(var0 > -63) {
anInt2905 = 66;
}
return var1 == (-var1 & var1);
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "ra.H(" + var0 + ',' + var1 + ')');
}
}
final void method1867(int var1, int var2, int var3, int var4, int var5) {}
private Model method2022() {
try {
GraphicDefinition var2 = GraphicDefinition.getGraphicDefinition((byte)42, this.anInt2915);
Model var3 = var2.method966(this.anInt2898, this.anInt2922, this.anInt2896);
if(null == var3) {
return null;
} else {
var3.method1896(this.anInt2917);
return var3;
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "ra.G(" + -126 + ')');
}
}
final void method2023(int var2) {
try {
this.aDouble2920 += this.aDouble2895 * (double)var2;
this.aDouble2900 += this.aDouble2918 * (double)var2;
this.aBoolean2904 = true;
if(this.anInt2927 == -1) {
this.aDouble2914 += this.aDouble2913 * (double)var2;
} else {
this.aDouble2914 += (double)var2 * this.aDouble2908 * 0.5D * (double)var2 + (double)var2 * this.aDouble2913;
this.aDouble2913 += this.aDouble2908 * (double)var2;
}
this.anInt2924 = 1024 + (int)(325.949D * Math.atan2(this.aDouble2895, this.aDouble2918)) & 2047;
this.anInt2917 = 2047 & (int)(325.949D * Math.atan2(this.aDouble2913, this.aDouble2921));
if(this.aClass142_2923 != null) {
this.anInt2896 += var2;
while(this.anInt2896 > this.aClass142_2923.duration[this.anInt2922]) {
this.anInt2896 -= this.aClass142_2923.duration[this.anInt2922];
++this.anInt2922;
if(this.aClass142_2923.frames.length <= this.anInt2922) {
this.anInt2922 -= this.aClass142_2923.anInt1865;
if(this.anInt2922 < 0 || this.aClass142_2923.frames.length <= this.anInt2922) {
this.anInt2922 = 0;
}
}
this.anInt2898 = this.anInt2922 + 1;
if(this.aClass142_2923.frames.length <= this.anInt2898) {
this.anInt2898 -= this.aClass142_2923.anInt1865;
if(this.anInt2898 < 0 || this.aClass142_2923.frames.length <= this.anInt2898) {
this.anInt2898 = -1;
}
}
}
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "ra.D(" + (byte) -59 + ',' + var2 + ')');
}
}
final void method2024(int var1, int var3, int var4, int var5) {
try {
double var6;
if(!this.aBoolean2904) {
double var8 = (double)(-this.anInt2916 + var1);
var6 = (double)(-this.anInt2902 + var5);
double var10 = Math.sqrt(var6 * var6 + var8 * var8);
this.aDouble2914 = (double)this.anInt2911;
this.aDouble2900 = var8 * (double)this.anInt2897 / var10 + (double)this.anInt2916;
this.aDouble2920 = (double)this.anInt2897 * var6 / var10 + (double)this.anInt2902;
}
var6 = (double)(-var3 + 1 + this.anInt2899);
this.aDouble2918 = ((double)var1 - this.aDouble2900) / var6;
this.aDouble2895 = (-this.aDouble2920 + (double)var5) / var6;
this.aDouble2921 = Math.sqrt(this.aDouble2918 * this.aDouble2918 + this.aDouble2895 * this.aDouble2895);
if(this.anInt2927 == -1) {
this.aDouble2913 = (-this.aDouble2914 + (double)var4) / var6;
} else {
if(!this.aBoolean2904) {
this.aDouble2913 = -this.aDouble2921 * Math.tan((double)this.anInt2927 * 0.02454369D);
}
this.aDouble2908 = 2.0D * ((double)var4 - this.aDouble2914 - this.aDouble2913 * var6) / (var6 * var6);
}
} catch (RuntimeException var12) {
throw ClientErrorException.clientError(var12, "ra.J(" + var1 + ',' + 1 + ',' + var3 + ',' + var4 + ',' + var5 + ')');
}
}
final void animate(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9, int var11, Class127_Sub1 var12) {
try {
Model var13 = this.method2022();
if(null != var13) {
var13.animate(var1, var2, var3, var4, var5, var6, var7, var8, var9, var11, this.aClass127_Sub1_2909);
this.anInt2912 = var13.method1871();
}
} catch (RuntimeException var14) {
throw ClientErrorException.clientError(var14, "ra.IA(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var11 + ',' + (var12 != null?"{...}":"null") + ')');
}
}
static void method2025() {
try {
Unsorted.aReferenceCache_4043.sweep(5);
CS2Script.aReferenceCache_2442.sweep(5);
Class154.aReferenceCache_1964.sweep(5);
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "ra.F(" + (byte) -62 + ',' + 5 + ')');
}
}
final int method1871() {
try {
return this.anInt2912;
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "ra.MA()");
}
}
static void method2026(int interfaceHash, int amount, int itemId) {
try {
InterfaceWidget var4 = InterfaceWidget.getWidget(9, interfaceHash);
var4.flagUpdate();
var4.anInt3598 = itemId;
var4.anInt3597 = amount;
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "ra.I(" + (byte) 122 + ',' + interfaceHash + ',' + amount + ',' + itemId + ')');
}
}
static AbstractSprite[] getSprites(int archiveId, CacheIndex var3) {
try {
// System.out.println(archiveId);
return !Class75_Sub4.method1351(var3, 0, archiveId)?null: Class75_Sub3.method1347(-26802);
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "ra.B(" + 0 + ',' + (byte) 11 + ',' + archiveId + ',' + (var3 != null?"{...}":"null") + ')');
}
}
static int method2028(int var0, int var1) {
try {
int var4;
for(var4 = 1; 1 < var0; var0 >>= 1) {
if(0 != (1 & var0)) {
var4 *= var1;
}
var1 *= var1;
}
if(var0 == 1) {
return var4 * var1;
} else {
return var4;
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "ra.A(" + var0 + ',' + var1 + ',' + -122 + ')');
}
}
Class140_Sub6(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11) {
try {
this.anInt2899 = var7;
this.anInt2902 = var3;
this.anInt2919 = var10;
this.anInt2915 = var1;
this.anInt2907 = var2;
this.anInt2927 = var8;
this.anInt2916 = var4;
this.aBoolean2904 = false;
this.anInt2903 = var11;
this.anInt2897 = var9;
this.anInt2925 = var6;
this.anInt2911 = var5;
int var12 = GraphicDefinition.getGraphicDefinition((byte)42, this.anInt2915).anInt542;
if(var12 == -1) {
this.aClass142_2923 = null;
} else {
this.aClass142_2923 = SequenceDefinition.getAnimationDefinition(var12);
}
} catch (RuntimeException var13) {
throw ClientErrorException.clientError(var13, "ra.<init>(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var10 + ',' + var11 + ')');
}
}
}

View file

@ -0,0 +1,282 @@
package org.runite.client;
public final class Class140_Sub7 extends GameObject {
int anInt2930;
static int[] anIntArray2931;
private int anInt2932 = -32768;
static int[] anIntArray2933 = new int[]{2, 0, 0, 2, 0, 0, 0, 4, 4};
public static int anInt2934;
static RSString[] aClass94Array2935 = new RSString[500];
int anInt2936;
static int anInt2938;
static boolean method2029(byte var0, CacheIndex var1, int var2) {
try {
if(var0 > -116) {
return false;
} else {
byte[] var3 = var1.method2138(var2);
if(null == var3) {
return false;
} else {
Class45.method1082(var3, 19);
return true;
}
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "uj.B(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')');
}
}
static boolean method2031(byte var0, boolean var1, int var2, int var3, Class3_Sub2[][][] var4, int var5) {
try {
byte var6 = !var1?(byte)(255 & Class79.anInt1127):1;
if(Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var2][var3] == var6) {
return false;
} else if((Unsorted.aByteArrayArrayArray113[WorldListCountry.localPlane][var2][var3] & 4) == 0) {
return false;
} else {
int var8 = 0;
byte var7 = 0;
Class3_Sub13_Sub38.anIntArray3456[var7] = var2;
if(var0 >= -9) {
method2031((byte)-29, false, 59, 52, (Class3_Sub2[][][])((Class3_Sub2[][][])null), 75);
}
int var23 = var7 + 1;
Class45.anIntArray729[var7] = var3;
Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var2][var3] = var6;
while(var23 != var8) {
int var10 = (16740943 & Class3_Sub13_Sub38.anIntArray3456[var8]) >> 16;
int var11 = 255 & Class3_Sub13_Sub38.anIntArray3456[var8] >> 24;
int var9 = Class3_Sub13_Sub38.anIntArray3456[var8] & '\uffff';
int var13 = (Class45.anIntArray729[var8] & 16721603) >> 16;
int var12 = Class45.anIntArray729[var8] & '\uffff';
var8 = 4095 & 1 + var8;
boolean var14 = false;
boolean var15 = false;
if(0 == (Unsorted.aByteArrayArrayArray113[WorldListCountry.localPlane][var9][var12] & 4)) {
var14 = true;
}
int var17;
int var16;
label257:
for(var16 = 1 + WorldListCountry.localPlane; 3 >= var16; ++var16) {
if((Unsorted.aByteArrayArrayArray113[var16][var9][var12] & 8) == 0) {
int var18;
int var20;
if(var14 && var4[var16][var9][var12] != null) {
if(null != var4[var16][var9][var12].aClass70_2234) {
var17 = Unsorted.method1184(var10, (byte)82);
if(var17 == var4[var16][var9][var12].aClass70_2234.anInt1055 || var4[var16][var9][var12].aClass70_2234.anInt1059 == var17) {
continue;
}
if(0 != var11) {
var18 = Unsorted.method1184(var11, (byte)-93);
if(var18 == var4[var16][var9][var12].aClass70_2234.anInt1055 || var4[var16][var9][var12].aClass70_2234.anInt1059 == var18) {
continue;
}
}
if(var13 != 0) {
var18 = Unsorted.method1184(var13, (byte)99);
if(var18 == var4[var16][var9][var12].aClass70_2234.anInt1055 || var4[var16][var9][var12].aClass70_2234.anInt1059 == var18) {
continue;
}
}
}
if(var4[var16][var9][var12].aClass25Array2221 != null) {
for(var17 = 0; var17 < var4[var16][var9][var12].anInt2223; ++var17) {
var18 = (int)(63L & var4[var16][var9][var12].aClass25Array2221[var17].aLong498 >> 14);
if(var18 == 21) {
var18 = 19;
}
int var19 = (int)(var4[var16][var9][var12].aClass25Array2221[var17].aLong498 >> 20 & 3L);
var20 = var18 | var19 << 6;
if(var10 == var20 || var11 != 0 && var20 == var11 || var13 != 0 && var13 == var20) {
continue label257;
}
}
}
}
var15 = true;
Class3_Sub2 var24 = var4[var16][var9][var12];
if(var24 != null && var24.anInt2223 > 0) {
for(var18 = 0; var18 < var24.anInt2223; ++var18) {
Class25 var25 = var24.aClass25Array2221[var18];
if(var25.anInt483 != var25.anInt495 || var25.anInt478 != var25.anInt481) {
for(var20 = var25.anInt483; var20 <= var25.anInt495; ++var20) {
for(int var21 = var25.anInt478; var25.anInt481 >= var21; ++var21) {
Class158.aByteArrayArrayArray2008[var16][var20][var21] = var6;
}
}
}
}
}
Class158.aByteArrayArrayArray2008[var16][var9][var12] = var6;
}
}
if(var15) {
if(Class44.anIntArrayArrayArray723[WorldListCountry.localPlane - -1][var9][var12] > Unsorted.anIntArray686[var5]) {
Unsorted.anIntArray686[var5] = Class44.anIntArrayArrayArray723[WorldListCountry.localPlane + 1][var9][var12];
}
var16 = var9 << 7;
if(var16 >= Class129_Sub1.anIntArray2696[var5]) {
if(var16 > Class159.anIntArray2021[var5]) {
Class159.anIntArray2021[var5] = var16;
}
} else {
Class129_Sub1.anIntArray2696[var5] = var16;
}
var17 = var12 << 7;
if(var17 < SequenceDefinition.anIntArray1871[var5]) {
SequenceDefinition.anIntArray1871[var5] = var17;
} else if(Player.anIntArray3959[var5] < var17) {
Player.anIntArray3959[var5] = var17;
}
}
if(!var14) {
if(var9 >= 1 && Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][-1 + var9][var12] != var6) {
Class3_Sub13_Sub38.anIntArray3456[var23] = Class3_Sub13_Sub29.bitwiseOr(Class3_Sub13_Sub29.bitwiseOr(var9 - 1, 1179648), -754974720);
Class45.anIntArray729[var23] = Class3_Sub13_Sub29.bitwiseOr(var12, 1245184);
var23 = 1 + var23 & 4095;
Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9 - 1][var12] = var6;
}
++var12;
if(104 > var12) {
if(var9 + -1 >= 0 && Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][-1 + var9][var12] != var6 && (Unsorted.aByteArrayArrayArray113[WorldListCountry.localPlane][var9][var12] & 4) == 0 && (Unsorted.aByteArrayArrayArray113[WorldListCountry.localPlane][-1 + var9][var12 + -1] & 4) == 0) {
Class3_Sub13_Sub38.anIntArray3456[var23] = Class3_Sub13_Sub29.bitwiseOr(1375731712, Class3_Sub13_Sub29.bitwiseOr(1179648, -1 + var9));
Class45.anIntArray729[var23] = Class3_Sub13_Sub29.bitwiseOr(var12, 1245184);
Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][-1 + var9][var12] = var6;
var23 = 1 + var23 & 4095;
}
if(var6 != Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9][var12]) {
Class3_Sub13_Sub38.anIntArray3456[var23] = Class3_Sub13_Sub29.bitwiseOr(318767104, Class3_Sub13_Sub29.bitwiseOr(var9, 5373952));
Class45.anIntArray729[var23] = Class3_Sub13_Sub29.bitwiseOr(5439488, var12);
var23 = 4095 & 1 + var23;
Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9][var12] = var6;
}
if(1 + var9 < 104 && Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9 + 1][var12] != var6 && 0 == (Unsorted.aByteArrayArrayArray113[WorldListCountry.localPlane][var9][var12] & 4) && (Unsorted.aByteArrayArrayArray113[WorldListCountry.localPlane][1 + var9][var12 - 1] & 4) == 0) {
Class3_Sub13_Sub38.anIntArray3456[var23] = Class3_Sub13_Sub29.bitwiseOr(-1845493760, Class3_Sub13_Sub29.bitwiseOr(5373952, var9 + 1));
Class45.anIntArray729[var23] = Class3_Sub13_Sub29.bitwiseOr(5439488, var12);
Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9 - -1][var12] = var6;
var23 = 4095 & var23 - -1;
}
}
--var12;
if(104 > 1 + var9 && var6 != Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9 - -1][var12]) {
Class3_Sub13_Sub38.anIntArray3456[var23] = Class3_Sub13_Sub29.bitwiseOr(Class3_Sub13_Sub29.bitwiseOr(1 + var9, 9568256), 1392508928);
Class45.anIntArray729[var23] = Class3_Sub13_Sub29.bitwiseOr(var12, 9633792);
Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][1 + var9][var12] = var6;
var23 = var23 + 1 & 4095;
}
--var12;
if(var12 >= 0) {
if(0 <= var9 + -1 && Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][-1 + var9][var12] != var6 && (Unsorted.aByteArrayArrayArray113[WorldListCountry.localPlane][var9][var12] & 4) == 0 && (Unsorted.aByteArrayArrayArray113[WorldListCountry.localPlane][var9 + -1][1 + var12] & 4) == 0) {
Class3_Sub13_Sub38.anIntArray3456[var23] = Class3_Sub13_Sub29.bitwiseOr(Class3_Sub13_Sub29.bitwiseOr(-1 + var9, 13762560), 301989888);
Class45.anIntArray729[var23] = Class3_Sub13_Sub29.bitwiseOr(var12, 13828096);
Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][-1 + var9][var12] = var6;
var23 = 4095 & var23 - -1;
}
if(var6 != Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9][var12]) {
Class3_Sub13_Sub38.anIntArray3456[var23] = Class3_Sub13_Sub29.bitwiseOr(Class3_Sub13_Sub29.bitwiseOr(var9, 13762560), -1828716544);
Class45.anIntArray729[var23] = Class3_Sub13_Sub29.bitwiseOr(13828096, var12);
var23 = var23 - -1 & 4095;
Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9][var12] = var6;
}
if(var9 - -1 < 104 && Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9 + 1][var12] != var6 && (4 & Unsorted.aByteArrayArrayArray113[WorldListCountry.localPlane][var9][var12]) == 0 && (Unsorted.aByteArrayArrayArray113[WorldListCountry.localPlane][1 + var9][1 + var12] & 4) == 0) {
Class3_Sub13_Sub38.anIntArray3456[var23] = Class3_Sub13_Sub29.bitwiseOr(-771751936, Class3_Sub13_Sub29.bitwiseOr(var9 - -1, 9568256));
Class45.anIntArray729[var23] = Class3_Sub13_Sub29.bitwiseOr(9633792, var12);
Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9 + 1][var12] = var6;
var23 = 4095 & 1 + var23;
}
}
}
}
if(-1000000 != Unsorted.anIntArray686[var5]) {
Unsorted.anIntArray686[var5] += 10;
Class129_Sub1.anIntArray2696[var5] -= 50;
Class159.anIntArray2021[var5] += 50;
Player.anIntArray3959[var5] += 50;
SequenceDefinition.anIntArray1871[var5] -= 50;
}
return true;
}
} catch (RuntimeException var22) {
throw ClientErrorException.clientError(var22, "uj.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ',' + var5 + ')');
}
}
final void method1867(int var1, int var2, int var3, int var4, int var5) {}
static int method2032(int var0) {
try {
return var0 >>> 10;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "uj.E(" + var0 + ',' + 5439488 + ')');
}
}
static RSString method2033(DataBuffer var0) {
try {
try {
int var3 = var0.getSmart();
if(32767 < var3) {
var3 = 32767;
}
byte[] var4 = new byte[var3];
var0.index += Class3_Sub13_Sub9.aClass36_3112.method1017(0, var3, var4, var0.buffer, var0.index);
return Class3_Sub13_Sub3.method178(var4, var3, 0);
} catch (Exception var6) {
return TextCore.aClass94_2018;
}
} catch (RuntimeException var7) {
throw ClientErrorException.clientError(var7, "uj.D(" + (var0 != null?"{...}":"null") + ',' + 1 + ',' + 32767 + ')');
}
}
final void animate(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9, int var11, Class127_Sub1 var12) {
try {
Model var13 = ItemDefinition.getItemDefinition(this.anInt2936).method1110(-1, 0, (SequenceDefinition)null, this.anInt2930, 0);
if(null != var13) {
var13.animate(var1, var2, var3, var4, var5, var6, var7, var8, var9, var11, var12);
this.anInt2932 = var13.method1871();
}
} catch (RuntimeException var14) {
throw ClientErrorException.clientError(var14, "uj.IA(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var11 + ',' + (var12 != null?"{...}":"null") + ')');
}
}
final int method1871() {
try {
return this.anInt2932;
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "uj.MA()");
}
}
}

View file

@ -0,0 +1,452 @@
package org.runite.client;
import javax.media.opengl.GL;
final class Class141 {
static LDIndexedSprite aClass109_Sub1_1840;
static Class169[][] aClass169ArrayArray1841;
private static int anInt1842;
static LDIndexedSprite[] aClass109_Sub1Array1843;
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 = (Class169[][])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);
}
}
}

View file

@ -0,0 +1,44 @@
package org.runite.client;
import org.rs09.client.data.ReferenceCache;
final class Class143 {
static ReferenceCache aReferenceCache_1874 = new ReferenceCache(50);
static int loadingStage = 0;
static void method2062(int var0, int var1, int var3, int var4, int var5, int var6, int var7) {
try {
int var12 = Class40.method1040(Class57.anInt902, var6, Class159.anInt2020);
int var13 = Class40.method1040(Class57.anInt902, var3, Class159.anInt2020);
int var14 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var7, Class101.anInt1425);
int var15 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var0, Class101.anInt1425);
int var8 = Class40.method1040(Class57.anInt902, var4 + var6, Class159.anInt2020);
int var9 = Class40.method1040(Class57.anInt902, -var4 + var3, Class159.anInt2020);
int var16;
for(var16 = var12; var8 > var16; ++var16) {
Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var16], var14, 97, var15, var5);
}
for(var16 = var13; var9 < var16; --var16) {
Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var16], var14, 94, var15, var5);
}
int var10 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var4 + var7, Class101.anInt1425);
int var11 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, -var4 + var0, Class101.anInt1425);
for(var16 = var8; var9 >= var16; ++var16) {
int[] var17 = Class38.anIntArrayArray663[var16];
Class3_Sub13_Sub23_Sub1.method282(var17, var14, 105, var10, var5);
Class3_Sub13_Sub23_Sub1.method282(var17, var10, 111, var11, var1);
Class3_Sub13_Sub23_Sub1.method282(var17, var11, 109, var15, var5);
}
} catch (RuntimeException var18) {
throw ClientErrorException.clientError(var18, "tl.B(" + var0 + ',' + var1 + ',' + -89 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')');
}
}
}

View file

@ -0,0 +1,9 @@
package org.runite.client;
abstract class Class144 {
abstract byte[] getBytes();
abstract void setBytes(byte[] var2);
}

View file

@ -0,0 +1,22 @@
package org.runite.client;
import java.nio.ByteBuffer;
final class Class144_Sub1 extends Class144 {
private ByteBuffer wrapped;
final void setBytes(byte[] bytes) {
this.wrapped = ByteBuffer.allocateDirect(bytes.length);
this.wrapped.position(0);
this.wrapped.put(bytes);
}
final byte[] getBytes() {
byte[] bytes = new byte[this.wrapped.capacity()];
this.wrapped.position(0);
this.wrapped.get(bytes);
return bytes;
}
}

View file

@ -0,0 +1,824 @@
package org.runite.client;
final class Class145 {
static int[] anIntArray2338 = new int[]{160, 192, 80, 96, 0, 144, 80, 48, 160};
static int anInt3072 = -1;
static int anInt3153;
static int[] anIntArray3171 = new int[]{0, 4, 4, 8, 0, 0, 8, 0, 0};
static int anInt3340;
static int anInt2697;
int animationId;
int anInt1891;
int anInt1893;
int anInt1894;
static Class113[] aClass113Array1895;
int anInt1897;
static int screenUpperX;
int anInt1900;
static void method2072(int var0, int var1, int var2, int var3, int var4, int var5) {
try {
if(Class101.anInt1425 <= var1 && Class3_Sub28_Sub18.anInt3765 >= var3 && var2 >= Class159.anInt2020 && var4 <= Class57.anInt902) {
if(var5 == 1) {
Class77.method1367(var0, var3, var2, (byte)34, var4, var1);
} else {
method1665(-2 + -19617, var3, var2, var0, var4, var5, var1);
}
} else if(1 == var5) {
Class102.method1617(var0, var1, var4, var3, var2);
} else {
Class3_Sub13_Sub3.method184(var4, var5, var3, var1, var0, var2);
}
} catch (RuntimeException var8) {
throw ClientErrorException.clientError(var8, "ub.F(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + -2 + ')');
}
}
static void method2073(Class3_Sub2 var0, boolean var1) {
Class163_Sub1.aClass61_2990.method1215(var0);
while(true) {
Class3_Sub2 var2 = (Class3_Sub2)Class163_Sub1.aClass61_2990.method1220();
if(var2 == null) {
return;
}
if(var2.aBoolean2225) {
int var3 = var2.anInt2239;
int var4 = var2.anInt2231;
int var5 = var2.anInt2244;
int var6 = var2.anInt2238;
Class3_Sub2[][] var7 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var5];
float var8 = 0.0F;
int var9;
int var10;
int var11;
int var12;
if(HDToolKit.highDetail) {
if(Unsorted.anIntArrayArrayArray3605 == Class44.anIntArrayArrayArray723) {
var9 = Class3_Sub13_Sub9.anIntArrayArray3115[var3][var4];
var10 = var9 & 16777215;
if(var10 != Unsorted.anInt1244) {
Unsorted.anInt1244 = var10;
Class3_Sub28_Sub2.method535((byte)56, var10);
Class92.method1512(Class72.method1297());
}
var11 = var9 >>> 24 << 3;
if(var11 != anInt3072) {
anInt3072 = var11;
Class3_Sub21.method394(var11, 121);
}
var12 = Class58.anIntArrayArrayArray914[0][var3][var4] + Class58.anIntArrayArrayArray914[0][var3 + 1][var4] + Class58.anIntArrayArrayArray914[0][var3][var4 + 1] + Class58.anIntArrayArrayArray914[0][var3 + 1][var4 + 1] >> 2;
Class3_Sub28_Sub4.method551(-var12, 3);
var8 = 201.5F;
} else {
var8 = 201.5F - 50.0F * (float)(var6 + 1);
}
HDToolKit.method1832(var8);
}
int var14;
int var15;
int var17;
int var16;
int var18;
Class3_Sub2 var21;
Class70 var23;
boolean var22;
Class25 var25;
Class3_Sub2 var35;
if(var2.aBoolean2222) {
if(var1) {
if(var5 > 0) {
var21 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var5 - 1][var3][var4];
if(var21 != null && var21.aBoolean2225) {
continue;
}
}
if(var3 <= Class97.anInt1375 && var3 > Class163_Sub1_Sub1.anInt4006) {
var21 = var7[var3 - 1][var4];
if(var21 != null && var21.aBoolean2225 && (var21.aBoolean2222 || (var2.anInt2228 & 1) == 0)) {
continue;
}
}
if(var3 >= Class97.anInt1375 && var3 < Unsorted.anInt67 - 1) {
var21 = var7[var3 + 1][var4];
if(var21 != null && var21.aBoolean2225 && (var21.aBoolean2222 || (var2.anInt2228 & 4) == 0)) {
continue;
}
}
if(var4 <= anInt3340 && var4 > Unsorted.anInt3603) {
var21 = var7[var3][var4 - 1];
if(var21 != null && var21.aBoolean2225 && (var21.aBoolean2222 || (var2.anInt2228 & 8) == 0)) {
continue;
}
}
if(var4 >= anInt3340 && var4 < Class126.anInt1665 - 1) {
var21 = var7[var3][var4 + 1];
if(var21 != null && var21.aBoolean2225 && (var21.aBoolean2222 || (var2.anInt2228 & 2) == 0)) {
continue;
}
}
} else {
var1 = true;
}
var2.aBoolean2222 = false;
if(var2.aClass3_Sub2_2235 != null) {
var21 = var2.aClass3_Sub2_2235;
if(HDToolKit.highDetail) {
HDToolKit.method1832(201.5F - 50.0F * (float)(var21.anInt2238 + 1));
}
if(var21.aClass126_2240 != null) {
Class3_Sub13_Sub18.method259(var21.aClass126_2240, 0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var3, var4, Class8.method846(0, var3, var4));
} else if(var21.aClass35_2226 != null) {
Class3_Sub21.method395(var21.aClass35_2226, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var3, var4, Class8.method846(0, var3, var4));
}
var23 = var21.aClass70_2234;
if(var23 != null) {
if(HDToolKit.highDetail) {
if((var23.anInt1055 & var2.anInt2241) == 0) {
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4);
} else {
Class68.method1263(var23.anInt1055, anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var6, var3, var4);
}
}
var23.aClass140_1049.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var23.anInt1054 - anInt2697, var23.anInt1057 - Unsorted.anInt3657, var23.anInt1045 - Class3_Sub13_Sub30.anInt3363, var23.aLong1048, var5, (Class127_Sub1)null);
}
for(var11 = 0; var11 < var21.anInt2223; ++var11) {
var25 = var21.aClass25Array2221[var11];
if(var25 != null) {
if(HDToolKit.highDetail) {
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4);
}
var25.aClass140_479.animate(var25.anInt496, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var25.anInt482 - anInt2697, var25.anInt489 - Unsorted.anInt3657, var25.anInt484 - Class3_Sub13_Sub30.anInt3363, var25.aLong498, var5, (Class127_Sub1)null);
}
}
if(HDToolKit.highDetail) {
HDToolKit.method1832(var8);
}
}
var22 = false;
if(var2.aClass126_2240 != null) {
if(Class8.method846(var6, var3, var4)) {
Class3_Sub13_Sub18.method259(var2.aClass126_2240, var6, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var3, var4, true);
} else {
var22 = true;
if(var2.aClass126_2240.anInt1664 != 12345678 || Class3_Sub13_Sub21.aBoolean3261 && var5 <= Class91.anInt1302) {
Class3_Sub13_Sub18.method259(var2.aClass126_2240, var6, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var3, var4, false);
}
}
} else if(var2.aClass35_2226 != null) {
if(Class8.method846(var6, var3, var4)) {
Class3_Sub21.method395(var2.aClass35_2226, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var3, var4, true);
} else {
var22 = true;
Class3_Sub21.method395(var2.aClass35_2226, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var3, var4, false);
}
}
if(var22) {
Class12 var24 = var2.aClass12_2230;
if(var24 != null && (var24.aLong328 & 2147483648L) != 0L) {
if(HDToolKit.highDetail && var24.aBoolean329) {
HDToolKit.method1832(var8 + 50.0F - 1.5F);
}
if(HDToolKit.highDetail) {
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4);
}
var24.object.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var24.anInt324 - anInt2697, var24.anInt326 - Unsorted.anInt3657, var24.anInt330 - Class3_Sub13_Sub30.anInt3363, var24.aLong328, var5, (Class127_Sub1)null);
if(HDToolKit.highDetail && var24.aBoolean329) {
HDToolKit.method1832(var8);
}
}
}
var10 = 0;
var11 = 0;
Class70 var26 = var2.aClass70_2234;
Class19 var13 = var2.aClass19_2233;
if(var26 != null || var13 != null) {
if(Class97.anInt1375 == var3) {
++var10;
} else if(Class97.anInt1375 < var3) {
var10 += 2;
}
if(anInt3340 == var4) {
var10 += 3;
} else if(anInt3340 > var4) {
var10 += 6;
}
var11 = NPC.anIntArray3997[var10];
var2.anInt2241 = Class3_Sub13_Sub26.anIntArray3321[var10];
}
if(var26 != null) {
if((var26.anInt1055 & anIntArray2338[var10]) == 0) {
var2.anInt2227 = 0;
} else if (var26.anInt1055 == 16) {
var2.anInt2227 = 3;
var2.anInt2229 = Unsorted.anIntArray2470[var10];
var2.anInt2232 = 3 - var2.anInt2229;
} else if (var26.anInt1055 == 32) {
var2.anInt2227 = 6;
var2.anInt2229 = Class140_Sub7.anIntArray2933[var10];
var2.anInt2232 = 6 - var2.anInt2229;
} else if (var26.anInt1055 == 64) {
var2.anInt2227 = 12;
var2.anInt2229 = anIntArray3171[var10];
var2.anInt2232 = 12 - var2.anInt2229;
} else {
var2.anInt2227 = 9;
var2.anInt2229 = Class3_Sub13_Sub23_Sub1.anIntArray4035[var10];
var2.anInt2232 = 9 - var2.anInt2229;
}
if((var26.anInt1055 & var11) != 0 && Class164_Sub1.method2239(var6, var3, var4, var26.anInt1055)) {
if(HDToolKit.highDetail) {
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4);
}
var26.aClass140_1049.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var26.anInt1054 - anInt2697, var26.anInt1057 - Unsorted.anInt3657, var26.anInt1045 - Class3_Sub13_Sub30.anInt3363, var26.aLong1048, var5, (Class127_Sub1)null);
}
if((var26.anInt1059 & var11) != 0 && Class164_Sub1.method2239(var6, var3, var4, var26.anInt1059)) {
if(HDToolKit.highDetail) {
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4);
}
var26.aClass140_1052.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var26.anInt1054 - anInt2697, var26.anInt1057 - Unsorted.anInt3657, var26.anInt1045 - Class3_Sub13_Sub30.anInt3363, var26.aLong1048, var5, (Class127_Sub1)null);
}
}
if(var13 != null && Class166.method2256(var6, var3, var4, var13.aClass140_429.method1871())) {
if(HDToolKit.highDetail) {
HDToolKit.method1832(var8 - 0.5F);
}
if((var13.anInt432 & var11) != 0) {
if(HDToolKit.highDetail) {
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4);
}
var13.aClass140_429.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var13.anInt424 - anInt2697 + var13.anInt430, var13.anInt425 - Unsorted.anInt3657, var13.anInt427 - Class3_Sub13_Sub30.anInt3363 + var13.anInt426, var13.aLong428, var5, (Class127_Sub1)null);
} else if(var13.anInt432 == 256) {
var14 = var13.anInt424 - anInt2697;
var15 = var13.anInt425 - Unsorted.anInt3657;
var16 = var13.anInt427 - Class3_Sub13_Sub30.anInt3363;
var17 = var13.anInt420;
if(var17 == 1 || var17 == 2) {
var18 = -var14;
} else {
var18 = var14;
}
int var19;
if(var17 == 2 || var17 == 3) {
var19 = -var16;
} else {
var19 = var16;
}
if(var19 < var18) {
if(HDToolKit.highDetail) {
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4);
}
var13.aClass140_429.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var14 + var13.anInt430, var15, var16 + var13.anInt426, var13.aLong428, var5, (Class127_Sub1)null);
} else if(var13.aClass140_423 != null) {
if(HDToolKit.highDetail) {
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4);
}
var13.aClass140_423.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var14, var15, var16, var13.aLong428, var5, (Class127_Sub1)null);
}
}
if(HDToolKit.highDetail) {
HDToolKit.method1832(var8);
}
}
if(var22) {
Class12 var30 = var2.aClass12_2230;
if(var30 != null && (var30.aLong328 & 2147483648L) == 0L) {
if(HDToolKit.highDetail && var30.aBoolean329) {
HDToolKit.method1832(var8 + 50.0F - 1.5F);
}
if(HDToolKit.highDetail) {
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4);
}
var30.object.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var30.anInt324 - anInt2697, var30.anInt326 - Unsorted.anInt3657, var30.anInt330 - Class3_Sub13_Sub30.anInt3363, var30.aLong328, var5, (Class127_Sub1)null);
if(HDToolKit.highDetail && var30.aBoolean329) {
HDToolKit.method1832(var8);
}
}
Class72 var28 = var2.aClass72_2245;
if(var28 != null && var28.anInt1077 == 0) {
if(HDToolKit.highDetail) {
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4);
}
if(var28.aClass140_1067 != null) {
var28.aClass140_1067.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var28.anInt1078 - anInt2697, var28.anInt1068 - Unsorted.anInt3657, var28.anInt1075 - Class3_Sub13_Sub30.anInt3363, var28.aLong1079, var5, (Class127_Sub1)null);
}
if(var28.aClass140_1069 != null) {
var28.aClass140_1069.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var28.anInt1078 - anInt2697, var28.anInt1068 - Unsorted.anInt3657, var28.anInt1075 - Class3_Sub13_Sub30.anInt3363, var28.aLong1079, var5, (Class127_Sub1)null);
}
if(var28.aClass140_1073 != null) {
var28.aClass140_1073.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var28.anInt1078 - anInt2697, var28.anInt1068 - Unsorted.anInt3657, var28.anInt1075 - Class3_Sub13_Sub30.anInt3363, var28.aLong1079, var5, (Class127_Sub1)null);
}
}
}
var14 = var2.anInt2228;
if(var14 != 0) {
if(var3 < Class97.anInt1375 && (var14 & 4) != 0) {
var35 = var7[var3 + 1][var4];
if(var35 != null && var35.aBoolean2225) {
Class163_Sub1.aClass61_2990.method1215(var35);
}
}
if(var4 < anInt3340 && (var14 & 2) != 0) {
var35 = var7[var3][var4 + 1];
if(var35 != null && var35.aBoolean2225) {
Class163_Sub1.aClass61_2990.method1215(var35);
}
}
if(var3 > Class97.anInt1375 && (var14 & 1) != 0) {
var35 = var7[var3 - 1][var4];
if(var35 != null && var35.aBoolean2225) {
Class163_Sub1.aClass61_2990.method1215(var35);
}
}
if(var4 > anInt3340 && (var14 & 8) != 0) {
var35 = var7[var3][var4 - 1];
if(var35 != null && var35.aBoolean2225) {
Class163_Sub1.aClass61_2990.method1215(var35);
}
}
}
}
int var27;
if(var2.anInt2227 != 0) {
var22 = true;
for(var10 = 0; var10 < var2.anInt2223; ++var10) {
if(var2.aClass25Array2221[var10].anInt490 != Class3_Sub28_Sub1.anInt3539 && (var2.anIntArray2237[var10] & var2.anInt2227) == var2.anInt2229) {
var22 = false;
break;
}
}
if(var22) {
var23 = var2.aClass70_2234;
if(Class164_Sub1.method2239(var6, var3, var4, var23.anInt1055)) {
if(HDToolKit.highDetail) {
label736: {
if((var23.aLong1048 & 1032192L) == 16384L) {
var11 = var23.anInt1054 - anInt2697;
var12 = var23.anInt1045 - Class3_Sub13_Sub30.anInt3363;
var27 = (int)(var23.aLong1048 >> 20 & 3L);
if(var27 == 0) {
var11 -= 64;
var12 += 64;
if(var12 < var11 && var3 > 0 && var4 < Class3_Sub13_Sub15.anInt3179 - 1) {
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3 - 1, var4 + 1);
break label736;
}
} else if(var27 == 1) {
var11 += 64;
var12 += 64;
if(var12 < -var11 && var3 < Unsorted.anInt1234 - 1 && var4 < Class3_Sub13_Sub15.anInt3179 - 1) {
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3 + 1, var4 + 1);
break label736;
}
} else if(var27 == 2) {
var11 += 64;
var12 -= 64;
if(var12 > var11 && var3 < Unsorted.anInt1234 - 1 && var4 > 0) {
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3 + 1, var4 - 1);
break label736;
}
} else {
var11 -= 64;
var12 -= 64;
if(var12 > -var11 && var3 > 0 && var4 > 0) {
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3 - 1, var4 - 1);
break label736;
}
}
}
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4);
}
}
var23.aClass140_1049.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var23.anInt1054 - anInt2697, var23.anInt1057 - Unsorted.anInt3657, var23.anInt1045 - Class3_Sub13_Sub30.anInt3363, var23.aLong1048, var5, (Class127_Sub1)null);
}
var2.anInt2227 = 0;
}
}
if(var2.aBoolean2236) {
try {
var9 = var2.anInt2223;
var2.aBoolean2236 = false;
var10 = 0;
label712:
for(var11 = 0; var11 < var9; ++var11) {
var25 = var2.aClass25Array2221[var11];
if(var25.anInt490 != Class3_Sub28_Sub1.anInt3539) {
for(var27 = var25.anInt483; var27 <= var25.anInt495; ++var27) {
for(var14 = var25.anInt478; var14 <= var25.anInt481; ++var14) {
var35 = var7[var27][var14];
if(var35.aBoolean2222) {
var2.aBoolean2236 = true;
continue label712;
}
if(var35.anInt2227 != 0) {
var16 = 0;
if(var27 > var25.anInt483) {
++var16;
}
if(var27 < var25.anInt495) {
var16 += 4;
}
if(var14 > var25.anInt478) {
var16 += 8;
}
if(var14 < var25.anInt481) {
var16 += 2;
}
if((var16 & var35.anInt2227) == var2.anInt2232) {
var2.aBoolean2236 = true;
continue label712;
}
}
}
}
Unsorted.aClass25Array4060[var10++] = var25;
var27 = Class97.anInt1375 - var25.anInt483;
var14 = var25.anInt495 - Class97.anInt1375;
if(var14 > var27) {
var27 = var14;
}
var15 = anInt3340 - var25.anInt478;
var16 = var25.anInt481 - anInt3340;
if(var16 > var15) {
var25.anInt487 = var27 + var16;
} else {
var25.anInt487 = var27 + var15;
}
}
}
while(var10 > 0) {
var11 = -50;
var12 = -1;
for(var27 = 0; var27 < var10; ++var27) {
Class25 var34 = Unsorted.aClass25Array4060[var27];
if(var34.anInt490 != Class3_Sub28_Sub1.anInt3539) {
if(var34.anInt487 > var11) {
var11 = var34.anInt487;
var12 = var27;
} else if(var34.anInt487 == var11) {
var15 = var34.anInt482 - anInt2697;
var16 = var34.anInt484 - Class3_Sub13_Sub30.anInt3363;
var17 = Unsorted.aClass25Array4060[var12].anInt482 - anInt2697;
var18 = Unsorted.aClass25Array4060[var12].anInt484 - Class3_Sub13_Sub30.anInt3363;
if(var15 * var15 + var16 * var16 > var17 * var17 + var18 * var18) {
var12 = var27;
}
}
}
}
if(var12 == -1) {
break;
}
Class25 var32 = Unsorted.aClass25Array4060[var12];
var32.anInt490 = Class3_Sub28_Sub1.anInt3539;
if(!Class3_Sub13_Sub11.method222(var6, var32.anInt483, var32.anInt495, var32.anInt478, var32.anInt481, var32.aClass140_479.method1871())) {
if(HDToolKit.highDetail) {
if((var32.aLong498 & 1032192L) == 147456L) {
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4);
var14 = var32.anInt482 - anInt2697;
var15 = var32.anInt484 - Class3_Sub13_Sub30.anInt3363;
var16 = (int)(var32.aLong498 >> 20 & 3L);
if(var16 != 1 && var16 != 3) {
if(var15 > var14) {
Class68.method1272(var5, var3, var4 - 1, var3 + 1, var4);
} else {
Class68.method1272(var5, var3, var4 + 1, var3 - 1, var4);
}
} else if(var15 > -var14) {
Class68.method1272(var5, var3, var4 - 1, var3 - 1, var4);
} else {
Class68.method1272(var5, var3, var4 + 1, var3 + 1, var4);
}
} else {
Class68.method1266(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var32.anInt483, var32.anInt478, var32.anInt495, var32.anInt481);
}
}
var32.aClass140_479.animate(var32.anInt496, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var32.anInt482 - anInt2697, var32.anInt489 - Unsorted.anInt3657, var32.anInt484 - Class3_Sub13_Sub30.anInt3363, var32.aLong498, var5, (Class127_Sub1)null);
}
for(var14 = var32.anInt483; var14 <= var32.anInt495; ++var14) {
for(var15 = var32.anInt478; var15 <= var32.anInt481; ++var15) {
Class3_Sub2 var37 = var7[var14][var15];
if(var37.anInt2227 != 0) {
Class163_Sub1.aClass61_2990.method1215(var37);
} else if((var14 != var3 || var15 != var4) && var37.aBoolean2225) {
Class163_Sub1.aClass61_2990.method1215(var37);
}
}
}
}
if(var2.aBoolean2236) {
continue;
}
} catch (Exception var20) {
var2.aBoolean2236 = false;
}
}
if(var2.aBoolean2225 && var2.anInt2227 == 0) {
if(var3 <= Class97.anInt1375 && var3 > Class163_Sub1_Sub1.anInt4006) {
var21 = var7[var3 - 1][var4];
if(var21 != null && var21.aBoolean2225) {
continue;
}
}
if(var3 >= Class97.anInt1375 && var3 < Unsorted.anInt67 - 1) {
var21 = var7[var3 + 1][var4];
if(var21 != null && var21.aBoolean2225) {
continue;
}
}
if(var4 <= anInt3340 && var4 > Unsorted.anInt3603) {
var21 = var7[var3][var4 - 1];
if(var21 != null && var21.aBoolean2225) {
continue;
}
}
if(var4 >= anInt3340 && var4 < Class126.anInt1665 - 1) {
var21 = var7[var3][var4 + 1];
if(var21 != null && var21.aBoolean2225) {
continue;
}
}
var2.aBoolean2225 = false;
--GameShell.anInt3;
Class72 var29 = var2.aClass72_2245;
if(var29 != null && var29.anInt1077 != 0) {
if(HDToolKit.highDetail) {
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4);
}
if(var29.aClass140_1067 != null) {
var29.aClass140_1067.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var29.anInt1078 - anInt2697, var29.anInt1068 - Unsorted.anInt3657 - var29.anInt1077, var29.anInt1075 - Class3_Sub13_Sub30.anInt3363, var29.aLong1079, var5, (Class127_Sub1)null);
}
if(var29.aClass140_1069 != null) {
var29.aClass140_1069.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var29.anInt1078 - anInt2697, var29.anInt1068 - Unsorted.anInt3657 - var29.anInt1077, var29.anInt1075 - Class3_Sub13_Sub30.anInt3363, var29.aLong1079, var5, (Class127_Sub1)null);
}
if(var29.aClass140_1073 != null) {
var29.aClass140_1073.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var29.anInt1078 - anInt2697, var29.anInt1068 - Unsorted.anInt3657 - var29.anInt1077, var29.anInt1075 - Class3_Sub13_Sub30.anInt3363, var29.aLong1079, var5, (Class127_Sub1)null);
}
}
if(var2.anInt2241 != 0) {
Class19 var36 = var2.aClass19_2233;
if(var36 != null && Class166.method2256(var6, var3, var4, var36.aClass140_429.method1871())) {
if((var36.anInt432 & var2.anInt2241) != 0) {
if(HDToolKit.highDetail) {
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4);
}
var36.aClass140_429.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var36.anInt424 - anInt2697 + var36.anInt430, var36.anInt425 - Unsorted.anInt3657, var36.anInt427 - Class3_Sub13_Sub30.anInt3363 + var36.anInt426, var36.aLong428, var5, (Class127_Sub1)null);
} else if(var36.anInt432 == 256) {
var11 = var36.anInt424 - anInt2697;
var12 = var36.anInt425 - Unsorted.anInt3657;
var27 = var36.anInt427 - Class3_Sub13_Sub30.anInt3363;
var14 = var36.anInt420;
if(var14 == 1 || var14 == 2) {
var15 = -var11;
} else {
var15 = var11;
}
if(var14 == 2 || var14 == 3) {
var16 = -var27;
} else {
var16 = var27;
}
if(var16 >= var15) {
if(HDToolKit.highDetail) {
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4);
}
var36.aClass140_429.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var11 + var36.anInt430, var12, var27 + var36.anInt426, var36.aLong428, var5, (Class127_Sub1)null);
} else if(var36.aClass140_423 != null) {
if(HDToolKit.highDetail) {
Class68.method1268(anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4);
}
var36.aClass140_423.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var11, var12, var27, var36.aLong428, var5, (Class127_Sub1)null);
}
}
}
Class70 var31 = var2.aClass70_2234;
if(var31 != null) {
if((var31.anInt1059 & var2.anInt2241) != 0 && Class164_Sub1.method2239(var6, var3, var4, var31.anInt1059)) {
if(HDToolKit.highDetail) {
Class68.method1263(var31.anInt1059, anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var6, var3, var4);
}
var31.aClass140_1052.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var31.anInt1054 - anInt2697, var31.anInt1057 - Unsorted.anInt3657, var31.anInt1045 - Class3_Sub13_Sub30.anInt3363, var31.aLong1048, var5, (Class127_Sub1)null);
}
if((var31.anInt1055 & var2.anInt2241) != 0 && Class164_Sub1.method2239(var6, var3, var4, var31.anInt1055)) {
if(HDToolKit.highDetail) {
Class68.method1263(var31.anInt1055, anInt2697, Unsorted.anInt3657, Class3_Sub13_Sub30.anInt3363, var6, var3, var4);
}
var31.aClass140_1049.animate(0, Class60.anInt936, Unsorted.anInt1037, Class3_Sub13_Sub34.anInt3417, anInt3153, var31.anInt1054 - anInt2697, var31.anInt1057 - Unsorted.anInt3657, var31.anInt1045 - Class3_Sub13_Sub30.anInt3363, var31.aLong1048, var5, (Class127_Sub1)null);
}
}
}
Class3_Sub2 var33;
if(var5 < Class3_Sub17.anInt2456 - 1) {
var33 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var5 + 1][var3][var4];
if(var33 != null && var33.aBoolean2225) {
Class163_Sub1.aClass61_2990.method1215(var33);
}
}
if(var3 < Class97.anInt1375) {
var33 = var7[var3 + 1][var4];
if(var33 != null && var33.aBoolean2225) {
Class163_Sub1.aClass61_2990.method1215(var33);
}
}
if(var4 < anInt3340) {
var33 = var7[var3][var4 + 1];
if(var33 != null && var33.aBoolean2225) {
Class163_Sub1.aClass61_2990.method1215(var33);
}
}
if(var3 > Class97.anInt1375) {
var33 = var7[var3 - 1][var4];
if(var33 != null && var33.aBoolean2225) {
Class163_Sub1.aClass61_2990.method1215(var33);
}
}
if(var4 > anInt3340) {
var33 = var7[var3][var4 - 1];
if(var33 != null && var33.aBoolean2225) {
Class163_Sub1.aClass61_2990.method1215(var33);
}
}
}
}
}
}
static void method2074(int var0, int var1, int var2, int var3, int var4, int var6) {
try {
RSInterface var7 = AbstractSprite.method638(var0, var1);
if(null != var7 && null != var7.anObjectArray203) {
CS2Script var8 = new CS2Script();
var8.aClass11_2449 = var7;
var8.arguments = var7.anObjectArray203;
Class43.method1065(var8);
}
RSInterface.anInt278 = var1;
Unsorted.anInt1038 = var3;
Class3_Sub30_Sub1.anInt872 = var0;
Class164.anInt2051 = var2;
GameObject.aBoolean1837 = true;
Unsorted.anInt1887 = var4;
Class3_Sub28_Sub5.anInt3590 = var6;
Class20.method909(var7);
} catch (RuntimeException var9) {
throw ClientErrorException.clientError(var9, "ub.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + -120 + ',' + var6 + ')');
}
}
static Class29 method2076(int var1) {
try {
Class29 var2 = (Class29)Class136.aReferenceCache_1772.get((long)var1);
if(var2 == null) {
byte[] var3 = Class3_Sub13_Sub13.aClass153_3154.getFile(16, var1);
{
var2 = new Class29();
if(null != var3) {
var2.method970(new DataBuffer(var3));
}
Class136.aReferenceCache_1772.put(var2, (long)var1);
return var2;
}
} else {
return var2;
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "ub.D(" + var1 + ')');
}
}
static void method2077() {
try {
Class3_Sub31.aReferenceCache_2604.clear();
Class27.aReferenceCache_511.clear();
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "ub.B(" + true + ')');
}
}
static void method1665(int var0, int var1, int var2, int var3, int var4, int var5, int var6) {
try {
int var7 = var5 + var2;
int var8 = -var5 + var4;
if(var0 != -19619) {
method1665(-17, 11, -118, -38, 115, -2, 113);
}
int var9 = var5 + var6;
int var11;
for(var11 = var2; var7 > var11; ++var11) {
Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var11], var6, -91, var1, var3);
}
for(var11 = var4; var8 < var11; --var11) {
Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var11], var6, -113, var1, var3);
}
int var10 = -var5 + var1;
for(var11 = var7; var11 <= var8; ++var11) {
int[] var12 = Class38.anIntArrayArray663[var11];
Class3_Sub13_Sub23_Sub1.method282(var12, var6, -111, var9, var3);
Class3_Sub13_Sub23_Sub1.method282(var12, var10, -124, var1, var3);
}
} catch (RuntimeException var13) {
throw ClientErrorException.clientError(var13, "ok.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')');
}
}
}

View file

@ -0,0 +1,276 @@
package org.runite.client;
import javax.media.opengl.GL;
import java.awt.Component;
abstract class Class146 {
static int anInt1901 = 2;
static int[][][] anIntArrayArrayArray1903;
static int anInt1904;
abstract int method2078();
static void updateInterfacePacketCounter(int packetCounter) {
try {
Class113.interfacePacketCounter = packetCounter + 1 & '\uffff';
RenderAnimationDefinition.aBoolean402 = true;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "uc.D(" + packetCounter + ',' + (byte) -25 + ')');
}
}
static int method2080(int var0) {
try {
var0 = (-715827883 & var0 >>> 1) + (1431655765 & var0);
var0 = ((-858993460 & var0) >>> 2) + (var0 & 858993459);
var0 = 252645135 & (var0 >>> 4) + var0;
var0 += var0 >>> 8;
var0 += var0 >>> 16;
return 255 & var0;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "uc.E(" + var0 + ',' + -125 + ')');
}
}
abstract void method2082(Component var2);
static void method2083(int var0, int var1, int var2, byte[][][] var3, int var4, byte var5, int var6, int var7) {
++Class3_Sub28_Sub1.anInt3539;
GameShell.anInt3 = 0;
int var8 = var6 - 16;
int var9 = var6 + 16;
int var10 = var7 - 16;
int var11 = var7 + 16;
int var14;
int var15;
int var29;
for(int var12 = Class3_Sub13_Sub35.anInt3419; var12 < Class3_Sub17.anInt2456; ++var12) {
Class3_Sub2[][] var13 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var12];
for(var14 = Class163_Sub1_Sub1.anInt4006; var14 < Unsorted.anInt67; ++var14) {
for(var15 = Unsorted.anInt3603; var15 < Class126.anInt1665; ++var15) {
Class3_Sub2 var16 = var13[var14][var15];
if(var16 != null) {
if(Class23.aBooleanArrayArray457[var14 - Class97.anInt1375 + Class3_Sub13_Sub39.anInt3466][var15 - Class145.anInt3340 + Class3_Sub13_Sub39.anInt3466] && (var3 == null || var12 < var4 || var3[var12][var14][var15] != var5)) {
var16.aBoolean2222 = true;
var16.aBoolean2225 = true;
var16.aBoolean2236 = var16.anInt2223 > 0;
++GameShell.anInt3;
} else {
var16.aBoolean2222 = false;
var16.aBoolean2225 = false;
var16.anInt2227 = 0;
if(var14 >= var8 && var14 <= var9 && var15 >= var10 && var15 <= var11) {
if(var16.aClass70_2234 != null) {
Class70 var17 = var16.aClass70_2234;
var17.aClass140_1049.method1867(0, var12, var17.anInt1057, var17.anInt1054, var17.anInt1045);
if(var17.aClass140_1052 != null) {
var17.aClass140_1052.method1867(0, var12, var17.anInt1057, var17.anInt1054, var17.anInt1045);
}
}
if(var16.aClass19_2233 != null) {
Class19 var31 = var16.aClass19_2233;
var31.aClass140_429.method1867(var31.anInt420, var12, var31.anInt425, var31.anInt424, var31.anInt427);
if(var31.aClass140_423 != null) {
var31.aClass140_423.method1867(var31.anInt420, var12, var31.anInt425, var31.anInt424, var31.anInt427);
}
}
if(var16.aClass12_2230 != null) {
Class12 var30 = var16.aClass12_2230;
var30.object.method1867(0, var12, var30.anInt326, var30.anInt324, var30.anInt330);
}
if(var16.aClass25Array2221 != null) {
for(var29 = 0; var29 < var16.anInt2223; ++var29) {
Class25 var18 = var16.aClass25Array2221[var29];
var18.aClass140_479.method1867(var18.anInt496, var12, var18.anInt489, var18.anInt482, var18.anInt484);
}
}
}
}
}
}
}
}
boolean var22 = Class44.anIntArrayArrayArray723 == Unsorted.anIntArrayArrayArray3605;
if(HDToolKit.highDetail) {
GL var24 = HDToolKit.gl;
var24.glPushMatrix();
var24.glTranslatef((float)(-var0), (float)(-var1), (float)(-var2));
if(var22) {
Class3_Sub22.method403();
Class3_Sub28_Sub4.method551(-1, 3);
Class3_Sub13_Sub17.aBoolean3207 = true;
WaterShader.method2254();
Unsorted.anInt1244 = -1;
Class145.anInt3072 = -1;
for(var14 = 0; var14 < Class3_Sub23.aClass3_Sub11ArrayArray2542[0].length; ++var14) {
Class3_Sub11 var28 = Class3_Sub23.aClass3_Sub11ArrayArray2542[0][var14];
float var26 = 251.5F - (var28.aBoolean2364?1.0F:0.5F);
if(var28.anInt2355 != Unsorted.anInt1244) {
Unsorted.anInt1244 = var28.anInt2355;
Class3_Sub28_Sub2.method535((byte)56, var28.anInt2355);
Class92.method1512(Class72.method1297());
}
var28.method149(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638, var26, false);
}
WaterShader.method2253();
} else {
for(var14 = Class3_Sub13_Sub35.anInt3419; var14 < Class3_Sub17.anInt2456; ++var14) {
for(var15 = 0; var15 < Class3_Sub23.aClass3_Sub11ArrayArray2542[var14].length; ++var15) {
Class3_Sub11 var25 = Class3_Sub23.aClass3_Sub11ArrayArray2542[var14][var15];
float var33 = 201.5F - 50.0F * (float)var14 - (var25.aBoolean2364?1.0F:0.5F);
if(var25.anInt2351 != -1 && Class51.anInterface2_838.method18(var25.anInt2351, 255) == 4 && Class128.aBoolean1685) {
Class3_Sub28_Sub2.method535((byte)56, var25.anInt2355);
}
var25.method149(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638, var33, false);
}
if(var14 == 0 && Unsorted.anInt1137 > 0) {
HDToolKit.method1832(101.5F);
Class141.method2038(Class97.anInt1375, Class145.anInt3340, Class3_Sub13_Sub39.anInt3466, Class23.aBooleanArrayArray457);
}
}
Class68.method1277(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638);
}
var24.glPopMatrix();
}
int var19;
Class3_Sub2 var21;
int var20;
int var23;
Class3_Sub2[][] var27;
int var34;
int var32;
for(var23 = Class3_Sub13_Sub35.anInt3419; var23 < Class3_Sub17.anInt2456; ++var23) {
var27 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var23];
for(var15 = -Class3_Sub13_Sub39.anInt3466; var15 <= 0; ++var15) {
var32 = Class97.anInt1375 + var15;
var29 = Class97.anInt1375 - var15;
if(var32 >= Class163_Sub1_Sub1.anInt4006 || var29 < Unsorted.anInt67) {
for(var34 = -Class3_Sub13_Sub39.anInt3466; var34 <= 0; ++var34) {
var19 = Class145.anInt3340 + var34;
var20 = Class145.anInt3340 - var34;
if(var32 >= Class163_Sub1_Sub1.anInt4006) {
if(var19 >= Unsorted.anInt3603) {
var21 = var27[var32][var19];
if(var21 != null && var21.aBoolean2222) {
Class145.method2073(var21, true);
}
}
if(var20 < Class126.anInt1665) {
var21 = var27[var32][var20];
if(var21 != null && var21.aBoolean2222) {
Class145.method2073(var21, true);
}
}
}
if(var29 < Unsorted.anInt67) {
if(var19 >= Unsorted.anInt3603) {
var21 = var27[var29][var19];
if(var21 != null && var21.aBoolean2222) {
Class145.method2073(var21, true);
}
}
if(var20 < Class126.anInt1665) {
var21 = var27[var29][var20];
if(var21 != null && var21.aBoolean2222) {
Class145.method2073(var21, true);
}
}
}
if(GameShell.anInt3 == 0) {
if(!var22) {
Class3_Sub13_Sub21.aBoolean3261 = false;
}
return;
}
}
}
}
}
for(var23 = Class3_Sub13_Sub35.anInt3419; var23 < Class3_Sub17.anInt2456; ++var23) {
var27 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var23];
for(var15 = -Class3_Sub13_Sub39.anInt3466; var15 <= 0; ++var15) {
var32 = Class97.anInt1375 + var15;
var29 = Class97.anInt1375 - var15;
if(var32 >= Class163_Sub1_Sub1.anInt4006 || var29 < Unsorted.anInt67) {
for(var34 = -Class3_Sub13_Sub39.anInt3466; var34 <= 0; ++var34) {
var19 = Class145.anInt3340 + var34;
var20 = Class145.anInt3340 - var34;
if(var32 >= Class163_Sub1_Sub1.anInt4006) {
if(var19 >= Unsorted.anInt3603) {
var21 = var27[var32][var19];
if(var21 != null && var21.aBoolean2222) {
Class145.method2073(var21, false);
}
}
if(var20 < Class126.anInt1665) {
var21 = var27[var32][var20];
if(var21 != null && var21.aBoolean2222) {
Class145.method2073(var21, false);
}
}
}
if(var29 < Unsorted.anInt67) {
if(var19 >= Unsorted.anInt3603) {
var21 = var27[var29][var19];
if(var21 != null && var21.aBoolean2222) {
Class145.method2073(var21, false);
}
}
if(var20 < Class126.anInt1665) {
var21 = var27[var29][var20];
if(var21 != null && var21.aBoolean2222) {
Class145.method2073(var21, false);
}
}
}
if(GameShell.anInt3 == 0) {
if(!var22) {
Class3_Sub13_Sub21.aBoolean3261 = false;
}
return;
}
}
}
}
}
Class3_Sub13_Sub21.aBoolean3261 = false;
}
abstract void method2084(Component var1, int var2);
}

View file

@ -0,0 +1,24 @@
package org.runite.client;
final class Class147 implements ShaderInterface {
public final void method22() {
if(Class106.aBoolean1441) {
HDToolKit.method1837(false);
}
}
public final int method24() {
return 0;
}
public final void method23(int var1) {}
public final void method21() {
if(Class106.aBoolean1441) {
HDToolKit.method1837(true);
}
}
}

View file

@ -0,0 +1,297 @@
package org.runite.client;
import java.util.Calendar;
import java.util.Date;
final class Class15 implements Runnable {
static short[][] aShortArrayArray344;
static int anInt4034 = -8 + (int)(17.0D * Math.random());
volatile boolean aBoolean345 = false;
static boolean aBoolean346;
static int[] localNPCIndexes = new int['\u8000'];
Signlink aClass87_350;
static Class64 aClass64_351;
volatile Class155[] aClass155Array352 = new Class155[2];
volatile boolean aBoolean353 = false;
static boolean method888(int var0, ObjectDefinition var1, int var3, int var4, int var5, int var6) {
try {
Class2 var7 = InterfaceWidget.c(var1.anInt1516);
if(var7.sprite == -1) {
return false;
} else {
if(var1.aBoolean1537) {
var6 += var1.anInt1478;
var6 &= 3;
} else {
var6 = 0;
}
LDIndexedSprite var8 = var7.getSprite(var6);
if(var8 == null) {
return true;
} else {
int var9 = var1.SizeX;
int var10 = var1.SizeY;
if(1 == (1 & var6)) {
var9 = var1.SizeY;
var10 = var1.SizeX;
}
int var11 = var8.anInt1469;
int var12 = var8.anInt1467;
if(var7.aBoolean69) {
var12 = 4 * var10;
var11 = 4 * var9;
}
if(var7.color == 0) {
var8.method1677(var0 * 4 + 48, 48 + 4 * (-var10 + -var5 + 104), var11, var12);
} else {
var8.method1669(48 + 4 * var0, 4 * (-var10 + -var5 + 104) + 48, var11, var12, var7.color);
}
return false;
}
}
} catch (RuntimeException var13) {
throw ClientErrorException.clientError(var13, "cj.D(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + false + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')');
}
}
static void method889(DataBuffer var1) {
try {
int var3 = Class158.anInt2010 >> 1;
int var2 = anInt4034 >> 2 << 10;
byte[][] var4 = new byte[Class23.anInt455][Class108.anInt1460];
int var6;
int var12;
int var14;
while(var1.index < var1.buffer.length) {
int var7 = 0;
var6 = 0;
boolean var5 = false;
if(var1.readUnsignedByte() == 1) {
var6 = var1.readUnsignedByte();
var7 = var1.readUnsignedByte();
var5 = true;
}
int var8 = var1.readUnsignedByte();
int var9 = var1.readUnsignedByte();
int var10 = -Class3_Sub13_Sub21.anInt3256 + var8 * 64;
int var11 = -1 + Class108.anInt1460 - var9 * 64 + Unsorted.anInt65;
if(var10 >= 0 && 0 <= -63 + var11 && Class23.anInt455 > var10 - -63 && var11 < Class108.anInt1460) {
for(var12 = 0; var12 < 64; ++var12) {
byte[] var13 = var4[var10 - -var12];
for(var14 = 0; 64 > var14; ++var14) {
if(!var5 || var12 >= 8 * var6 && 8 + 8 * var6 > var12 && var14 >= var7 * 8 && var14 < 8 + 8 * var7) {
var13[var11 - var14] = var1.readSignedByte();
}
}
}
} else if(var5) {
var1.index += 64;
} else {
var1.index += 4096;
}
}
int var27 = Class23.anInt455;
var6 = Class108.anInt1460;
int[] var29 = new int[var6];
int[] var28 = new int[var6];
int[] var30 = new int[var6];
int[] var32 = new int[var6];
int[] var31 = new int[var6];
for(var12 = -5; var27 > var12; ++var12) {
int var15;
int var35;
for(int var34 = 0; var6 > var34; ++var34) {
var14 = var12 + 5;
if(var27 > var14) {
var15 = 255 & var4[var14][var34];
if(var15 > 0) {
MapUnderlayColorDefinition var16 = Class158_Sub1.method629(var15 - 1);
var28[var34] += var16.anInt1408;
var29[var34] += var16.anInt1406;
var30[var34] += var16.anInt1417;
var32[var34] += var16.anInt1418;
++var31[var34];
}
}
var15 = var12 + -5;
if(var15 >= 0) {
var35 = var4[var15][var34] & 255;
if(0 < var35) {
MapUnderlayColorDefinition var17 = Class158_Sub1.method629(-1 + var35);
var28[var34] -= var17.anInt1408;
var29[var34] -= var17.anInt1406;
var30[var34] -= var17.anInt1417;
var32[var34] -= var17.anInt1418;
--var31[var34];
}
}
}
if(var12 >= 0) {
int[][] var33 = Class146.anIntArrayArrayArray1903[var12 >> 6];
var14 = 0;
var15 = 0;
int var36 = 0;
int var18 = 0;
var35 = 0;
for(int var19 = -5; var6 > var19; ++var19) {
int var20 = var19 - -5;
if(var6 > var20) {
var18 += var31[var20];
var15 += var29[var20];
var35 += var30[var20];
var14 += var28[var20];
var36 += var32[var20];
}
int var21 = -5 + var19;
if(var21 >= 0) {
var35 -= var30[var21];
var36 -= var32[var21];
var14 -= var28[var21];
var18 -= var31[var21];
var15 -= var29[var21];
}
if(var19 >= 0 && 0 < var18) {
int[] var22 = var33[var19 >> 6];
int var23 = var36 != 0?Class3_Sub8.method129(var35 / var18, var15 / var18, var14 * 256 / var36):0;
if(var4[var12][var19] == 0) {
if(var22 != null) {
var22[Unsorted.bitwiseAnd(4032, var19 << 6) - -Unsorted.bitwiseAnd(var12, 63)] = 0;
}
} else {
if(var22 == null) {
var22 = var33[var19 >> 6] = new int[4096];
}
int var24 = var3 + (var23 & 127);
if(var24 < 0) {
var24 = 0;
} else if(var24 > 127) {
var24 = 127;
}
int var25 = var24 + (896 & var23) + (var23 + var2 & '\ufc00');
var22[Unsorted.bitwiseAnd(4032, var19 << 6) + Unsorted.bitwiseAnd(63, var12)] = Class51.anIntArray834[Unsorted.method1100(96, var25)];
}
}
}
}
}
} catch (RuntimeException var26) {
throw ClientErrorException.clientError(var26, "cj.H(" + (var1 != null?"{...}":"null") + ')');
}
}
public final void run() {
try {
this.aBoolean353 = true;
try {
while(!this.aBoolean345) {
for(int var1 = 0; var1 < 2; ++var1) {
Class155 var2 = this.aClass155Array352[var1];
if(var2 != null) {
var2.method2153();
}
}
TimeUtils.sleep(10L);
Class81.method1400(this.aClass87_350, (Object)null, -71);
}
} catch (Exception var7) {
Class49.method1125((String)null, var7, (byte)111);
} finally {
this.aBoolean353 = false;
}
} catch (RuntimeException var9) {
throw ClientErrorException.clientError(var9, "cj.run()");
}
}
static AbstractSprite[] method891(int var0) {
try {
AbstractSprite[] var1 = new AbstractSprite[Class95.anInt1338];
if(var0 != -5) {
method894(113L);
}
for(int var2 = 0; var2 < Class95.anInt1338; ++var2) {
int var3 = Class140_Sub7.anIntArray2931[var2] * Unsorted.anIntArray3076[var2];
byte[] var4 = Class163_Sub1.aByteArrayArray2987[var2];
int[] var5 = new int[var3];
for(int var6 = 0; var6 < var3; ++var6) {
var5[var6] = Class3_Sub13_Sub38.spritePalette[Unsorted.bitwiseAnd(255, var4[var6])];
}
if(HDToolKit.highDetail) {
var1[var2] = new HDSprite(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[var2], Unsorted.anIntArray2591[var2], Class140_Sub7.anIntArray2931[var2], Unsorted.anIntArray3076[var2], var5);
} else {
var1[var2] = new Class3_Sub28_Sub16_Sub2(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[var2], Unsorted.anIntArray2591[var2], Class140_Sub7.anIntArray2931[var2], Unsorted.anIntArray3076[var2], var5);
}
}
Class39.method1035((byte)116);
return var1;
} catch (RuntimeException var7) {
throw ClientErrorException.clientError(var7, "cj.C(" + var0 + ')');
}
}
static RSString method894(long var0) {
try {
Class3_Sub28_Sub5.aCalendar3581.setTime(new Date(var0));
int var3 = Class3_Sub28_Sub5.aCalendar3581.get(Calendar.DAY_OF_WEEK);//Day of the week
int var4 = Class3_Sub28_Sub5.aCalendar3581.get(Calendar.DATE);
int var5 = Class3_Sub28_Sub5.aCalendar3581.get(Calendar.MONTH);
int var6 = Class3_Sub28_Sub5.aCalendar3581.get(Calendar.YEAR);
int var7 = Class3_Sub28_Sub5.aCalendar3581.get(Calendar.HOUR_OF_DAY);
int var8 = Class3_Sub28_Sub5.aCalendar3581.get(Calendar.MINUTE);
int var9 = Class3_Sub28_Sub5.aCalendar3581.get(Calendar.SECOND);
return RSString.stringCombiner(new RSString[]{TextCore.DaysOfTheWeek[var3 + -1], TextCore.aClass94_3145, RSString.stringAnimator(var4 / 10), RSString.stringAnimator(var4 % 10), TextCore.aClass94_2025, TextCore.MonthsOfTheYear[var5], TextCore.aClass94_2025, RSString.stringAnimator(var6), TextCore.aClass94_465, RSString.stringAnimator(var7 / 10), RSString.stringAnimator(var7 % 10), TextCore.char_colon, RSString.stringAnimator(var8 / 10), RSString.stringAnimator(var8 % 10), TextCore.char_colon, RSString.stringAnimator(var9 / 10), RSString.stringAnimator(var9 % 10), TextCore.timeZone});
} catch (RuntimeException var10) {
throw ClientErrorException.clientError(var10, "cj.F(" + var0 + ')');
}
}
static int[][] method895(int var4) {
try {
int[][] var9 = new int[256][64];
Class3_Sub13_Sub4 var10 = new Class3_Sub13_Sub4();
var10.anInt3062 = (int)((float) 0.4 * 4096.0F);
var10.anInt3058 = 3;
var10.anInt3056 = 4;
var10.aBoolean3065 = false;
var10.anInt3060 = 8;
var10.method158(16251);
Class3_Sub13_Sub3.method180(122, 256, 64);
for(int var11 = 0; var11 < 256; ++var11) {
var10.method186(var11, var9[var11]);
}
return var9;
} catch (RuntimeException var12) {
throw ClientErrorException.clientError(var12, "cj.B(" + false + ',' + 3 + ',' + 64 + ',' + 256 + ',' + var4 + ',' + 4 + ',' + 8 + ',' + (float) 0.4 + ')');
}
}
}

View file

@ -0,0 +1,33 @@
package org.runite.client;
final class Class150 {
int anInt1928;
int[] anIntArray1929;
int[] anIntArray1930;
int anInt1931;
Class150() {
Class3_Sub14.method368(16);
this.anInt1931 = Class3_Sub14.method364() != 0?Class3_Sub14.method368(4) + 1:1;
if(Class3_Sub14.method364() != 0) {
Class3_Sub14.method368(8);
}
Class3_Sub14.method368(2);
if(this.anInt1931 > 1) {
this.anInt1928 = Class3_Sub14.method368(4);
}
this.anIntArray1929 = new int[this.anInt1931];
this.anIntArray1930 = new int[this.anInt1931];
for(int var1 = 0; var1 < this.anInt1931; ++var1) {
Class3_Sub14.method368(8);
this.anIntArray1929[var1] = Class3_Sub14.method368(8);
this.anIntArray1930[var1] = Class3_Sub14.method368(8);
}
}
}

View file

@ -0,0 +1,549 @@
package org.runite.client;
import org.rs09.client.Linkable;
import org.rs09.client.filestore.ReferenceTable;
import org.rs09.client.filestore.ResourceProvider;
import org.rs09.client.data.HashTable;
import java.util.Objects;
final class Class151_Sub1 extends ResourceProvider {
private final Class41 aClass41_2943;
private ReferenceTable table;
private final HashTable<ResourceRequest> aHashTable_2946 = new HashTable<>(16);
private final int anInt2947;
private int anInt2948 = 0;
private byte[] aByteArray2949;
private ResourceRequest aResourceRequest_2950;
private final Js5Worker aJs5Worker_2953;
Class41 aClass41_2954;
private final int anInt2955;
private final CacheResourceWorker cacheResourceWorker;
private final int anInt2957;
private boolean aBoolean2962;
private final Class61 aClass61_2963 = new Class61();
private int anInt2964 = 0;
private boolean aBoolean2965;
private Class61 aClass61_2966;
private long aLong2967 = 0L;
private final boolean aBoolean2968;
public final void request(int var1) {
try {
if (null != this.aClass41_2954) {
Linkable var3;
for (var3 = this.aClass61_2963.method1222(); null != var3; var3 = this.aClass61_2963.method1221()) {
if ((long) var1 == var3.linkableKey) {
return;
}
}
var3 = new Linkable();
var3.linkableKey = var1;
this.aClass61_2963.method1215(var3);
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "bg.H(" + var1 + ',' + 127 + ')');
}
}
public final ReferenceTable getReferenceTable() {
if (this.table == null) {
if (null == this.aResourceRequest_2950) {
if (this.aJs5Worker_2953.priorityRequestsFull()) {
return null;
}
this.aResourceRequest_2950 = this.aJs5Worker_2953.request(255, this.anInt2957, (byte) 0, true);
}
if (this.aResourceRequest_2950.waiting) {
return null;
} else {
byte[] var2 = this.aResourceRequest_2950.getData();
if (this.aResourceRequest_2950 instanceof CacheResourceRequest) {
try {
if (var2 == null) {
throw new RuntimeException();
}
this.table = new ReferenceTable(var2, this.anInt2955);
if (this.table.getRevision() != this.anInt2947) {
throw new RuntimeException();
}
} catch (RuntimeException var4) {
this.table = null;
if (this.aJs5Worker_2953.priorityRequestsFull()) {
this.aResourceRequest_2950 = null;
} else {
this.aResourceRequest_2950 = this.aJs5Worker_2953.request(255, this.anInt2957, (byte) 0, true);
}
return null;
}
} else {
try {
if (var2 == null) {
throw new RuntimeException();
}
this.table = new ReferenceTable(var2, this.anInt2955);
} catch (RuntimeException var5) {
this.aJs5Worker_2953.closeWithError();
this.table = null;
if (this.aJs5Worker_2953.priorityRequestsFull()) {
this.aResourceRequest_2950 = null;
} else {
this.aResourceRequest_2950 = this.aJs5Worker_2953.request(255, this.anInt2957, (byte) 0, true);
}
return null;
}
if (this.aClass41_2943 != null) {
this.cacheResourceWorker.write(this.aClass41_2943, this.anInt2957, var2);
}
}
if (null != this.aClass41_2954) {
this.aByteArray2949 = new byte[this.table.getArchiveAmount()];
this.anInt2948 = 0;
}
this.aResourceRequest_2950 = null;
return this.table;
}
} else {
return this.table;
}
}
final void method2101() {
try {
if (this.aClass41_2954 != null) {
this.aBoolean2965 = true;
if (this.aClass61_2966 == null) {
this.aClass61_2966 = new Class61();
}
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "bg.A(" + true + ')');
}
}
final int method2102() {
try {
return this.anInt2948;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "bg.I(" + 0 + ')');
}
}
final int method2106() {
try {
if (null == this.table) {
return 0;
} else if (this.aBoolean2962) {
Linkable var2 = this.aClass61_2966.method1222();
if (null == var2) {
return 0;
} else {
return (int) var2.linkableKey;
}
} else {
return this.table.getValidArchiveAmount();
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "bg.O(" + 1 + ')');
}
}
final void method2107() {
try {
if (null != this.aClass61_2966) {
if (this.getReferenceTable() == null) {
return;
}
boolean var2;
Linkable var3;
int var4;
if (this.aBoolean2962) {
var2 = true;
for (var3 = this.aClass61_2966.method1222(); null != var3; var3 = this.aClass61_2966.method1221()) {
var4 = (int) var3.linkableKey;
if (this.aByteArray2949[var4] == 0) {
this.method2109(1, var4, 51);
}
if (this.aByteArray2949[var4] == 0) {
var2 = false;
} else {
var3.unlink();
}
}
while (this.table.archiveFileLengths.length > this.anInt2964) {
if (this.table.archiveFileLengths[this.anInt2964] != 0) {
if (this.cacheResourceWorker.remaining >= 250) {
var2 = false;
break;
}
if (0 == this.aByteArray2949[this.anInt2964]) {
this.method2109(1, this.anInt2964, 99);
}
if (this.aByteArray2949[this.anInt2964] == 0) {
var2 = false;
var3 = new Linkable();
var3.linkableKey = this.anInt2964;
this.aClass61_2966.method1215(var3);
}
}
++this.anInt2964;
}
if (var2) {
this.aBoolean2962 = false;
this.anInt2964 = 0;
}
} else if (this.aBoolean2965) {
var2 = true;
for (var3 = this.aClass61_2966.method1222(); var3 != null; var3 = this.aClass61_2966.method1221()) {
var4 = (int) var3.linkableKey;
if (this.aByteArray2949[var4] != 1) {
this.method2109(2, var4, 96);
}
if (this.aByteArray2949[var4] == 1) {
var3.unlink();
} else {
var2 = false;
}
}
while (this.anInt2964 < this.table.archiveFileLengths.length) {
if (this.table.archiveFileLengths[this.anInt2964] == 0) {
++this.anInt2964;
} else {
if (this.aJs5Worker_2953.normalRequestsFull()) {
var2 = false;
break;
}
if (1 != this.aByteArray2949[this.anInt2964]) {
this.method2109(2, this.anInt2964, 47);
}
if (this.aByteArray2949[this.anInt2964] != 1) {
var3 = new Linkable();
var3.linkableKey = this.anInt2964;
this.aClass61_2966.method1215(var3);
var2 = false;
}
++this.anInt2964;
}
}
if (var2) {
this.anInt2964 = 0;
this.aBoolean2965 = false;
}
} else {
this.aClass61_2966 = null;
}
}
if (this.aBoolean2968 && this.aLong2967 <= TimeUtils.time()) {
for (ResourceRequest var6 = this.aHashTable_2946.first(); var6 != null; var6 = this.aHashTable_2946.next()) {
if (!var6.waiting) {
if (var6.aBoolean3635) {
if (!var6.priority) {
throw new RuntimeException();
}
var6.unlink();
} else {
var6.aBoolean3635 = true;
}
}
}
this.aLong2967 = 1000L + TimeUtils.time();
}
} catch (RuntimeException var5) {
var5.printStackTrace();
throw ClientErrorException.clientError(var5, "bg.J(" + true + ')');
}
}
public final int percentComplete(int var1) {
ResourceRequest var3 = this.aHashTable_2946.get(var1);
return null != var3 ? var3.getCompletion() : 0;
}
final int method2108() {
try {
if (this.table == null) {
return 0;
} else {
return this.table.getValidArchiveAmount();
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "bg.M(" + (byte) 1 + ')');
}
}
private ResourceRequest method2109(int var1, int archiveIndex, int var3) {
try {
ResourceRequest var4 = this.aHashTable_2946.get(archiveIndex);
if (null != var4 && var1 == 0 && !var4.priority && var4.waiting) {
var4.unlink();
var4 = null;
}
if (null == var4) {
if (0 == var1) {
if (null == this.aClass41_2954 || this.aByteArray2949[archiveIndex] == -1) {
if (this.aJs5Worker_2953.priorityRequestsFull()) {
return null;
}
var4 = this.aJs5Worker_2953.request(this.anInt2957, archiveIndex, (byte) 2, true);
} else {
var4 = this.cacheResourceWorker.priorityRead(this.aClass41_2954, archiveIndex);
}
} else if (1 == var1) {
if (this.aClass41_2954 == null) {
throw new RuntimeException();
}
var4 = this.cacheResourceWorker.read(this.aClass41_2954, archiveIndex);
} else {
if (var1 != 2) {
throw new RuntimeException();
}
if (this.aClass41_2954 == null) {
throw new RuntimeException();
}
if (this.aByteArray2949[archiveIndex] != -1) {
throw new RuntimeException();
}
if (this.aJs5Worker_2953.normalRequestsFull()) {
return null;
}
var4 = this.aJs5Worker_2953.request(this.anInt2957, archiveIndex, (byte) 2, false);
}
this.aHashTable_2946.put(archiveIndex, var4);
}
if (Objects.requireNonNull(var4).waiting) {
return null;
} else {
byte[] var5 = var4.getData();
int expectedCRC;
Js5ResourceRequest var12;
if (var4 instanceof CacheResourceRequest) {
try {
if (var5 != null && var5.length > 2) {
Class3_Sub13_Sub12.CRC32.reset();
Class3_Sub13_Sub12.CRC32.update(var5, 0, -2 + var5.length);
expectedCRC = (int) Class3_Sub13_Sub12.CRC32.getValue();
if (this.table.archiveCRCs[archiveIndex] == expectedCRC) {
int var8 = (var5[-2 + var5.length] << 8 & '\uff00') - -(255 & var5[-1 + var5.length]);
if (('\uffff' & this.table.archiveRevisions[archiveIndex]) == var8) {
if (1 != this.aByteArray2949[archiveIndex]) {
++this.anInt2948;
this.aByteArray2949[archiveIndex] = 1;
}
if (!var4.priority) {
var4.unlink();
}
return var4;
} else {
System.err.println("CRC mismatch - [entry=" + this.table.archiveRevisions[archiveIndex] + ", pass=" + var8 + "]!");
throw new RuntimeException();
}
} else {
System.err.println("CRC mismatch - [entry=" + this.table.archiveCRCs[archiveIndex] + ", pass=" + expectedCRC + "]!");
throw new RuntimeException();
}
} else {
// if(1 != this.aByteArray2949[var2]) {
// ++this.anInt2948;
// this.aByteArray2949[var2] = 1;
// }
// if(!((Class3_Sub28_Sub10)var4).aBoolean3628) {
// ((Class3_Sub28_Sub10)var4).method86(-1024);
// }
// return null;
throw new RuntimeException("Missing CRC for request " + ((archiveIndex >> 16) & 0xFF) + ", " + (archiveIndex & 0xFFFF));
}
} catch (Exception var9) {
// var9.printStackTrace();
this.aByteArray2949[archiveIndex] = -1;
var4.unlink();
if (var4.priority && !this.aJs5Worker_2953.priorityRequestsFull()) {
var12 = this.aJs5Worker_2953.request(this.anInt2957, archiveIndex, (byte) 2, true);
this.aHashTable_2946.put(archiveIndex, var12);
}
return null;
}
} else {
try {
if (null == var5 || var5.length <= 2) {
System.err.println("Invalid CRC?");
throw new RuntimeException();
}
Class3_Sub13_Sub12.CRC32.reset();
Class3_Sub13_Sub12.CRC32.update(var5, 0, var5.length - 2);
expectedCRC = (int) Class3_Sub13_Sub12.CRC32.getValue();
if (expectedCRC != this.table.archiveCRCs[archiveIndex]) {
Class3_Sub13_Sub12.CRC32.reset();
Class3_Sub13_Sub12.CRC32.update(var5, 0, var5.length - 4);
expectedCRC = (int) Class3_Sub13_Sub12.CRC32.getValue();
if (expectedCRC != this.table.archiveCRCs[archiveIndex]) {
throw new RuntimeException("CRC mismatch - [found=" + this.table.archiveCRCs[archiveIndex] + ", expected=" + expectedCRC + "]!");
}
}
this.aJs5Worker_2953.errors = 0;
this.aJs5Worker_2953.status = 0;
} catch (RuntimeException var10) {
var10.printStackTrace();
this.aJs5Worker_2953.closeWithError();
var4.unlink();
if (var4.priority && !this.aJs5Worker_2953.priorityRequestsFull()) {
var12 = this.aJs5Worker_2953.request(this.anInt2957, archiveIndex, (byte) 2, true);
this.aHashTable_2946.put(archiveIndex, var12);
}
return null;
}
var5[var5.length + -2] = (byte) (this.table.archiveRevisions[archiveIndex] >>> 8);
var5[var5.length - 1] = (byte) this.table.archiveRevisions[archiveIndex];
if (null != this.aClass41_2954) {
this.cacheResourceWorker.write(this.aClass41_2954, archiveIndex, var5);
if (1 != this.aByteArray2949[archiveIndex]) {
++this.anInt2948;
this.aByteArray2949[archiveIndex] = 1;
}
}
if (!var4.priority) {
var4.unlink();
}
return var4;
}
}
} catch (RuntimeException var11) {
// var11.printStackTrace();
throw ClientErrorException.clientError(var11, "bg.C(" + var1 + ',' + archiveIndex + ',' + var3 + ')');
}
}
final void method2110() {
try {
if (this.aClass61_2966 != null) {
if (null != this.getReferenceTable()) {
for (Linkable var2 = this.aClass61_2963.method1222(); null != var2; var2 = this.aClass61_2963.method1221()) {
int var3 = (int) var2.linkableKey;
if (0 <= var3 && this.table.getArchiveAmount() > var3 && this.table.archiveFileLengths[var3] != 0) {
if (this.aByteArray2949[var3] == 0) {
this.method2109(1, var3, 80);
}
if (-1 == this.aByteArray2949[var3]) {
this.method2109(2, var3, 78);
}
if (this.aByteArray2949[var3] == 1) {
var2.unlink();
}
} else {
var2.unlink();
}
}
}
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "bg.D(" + 0 + ')');
}
}
final int method2111() {
try {
return null != this.getReferenceTable() ? 100 : (null == this.aResourceRequest_2950 ? 0 : this.aResourceRequest_2950.getCompletion());
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "bg.E(" + -61 + ')');
}
}
public final byte[] get(int var1) {
try {
ResourceRequest var3 = this.method2109(0, var1, 103);
if (var3 == null) {
return null;
} else {
byte[] var4 = var3.getData();
var3.unlink();
return var4;
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "bg.K(" + var1 + ',' + 0 + ')');
}
}
Class151_Sub1(int var1, Class41 var2, Class41 var3, Js5Worker var4, CacheResourceWorker var5, int var6, int var7) {
try {
this.anInt2957 = var1;
this.aClass41_2954 = var2;
if (this.aClass41_2954 == null) {
this.aBoolean2962 = false;
} else {
this.aBoolean2962 = true;
this.aClass61_2966 = new Class61();
}
this.cacheResourceWorker = var5;
this.anInt2955 = var6;
this.aBoolean2968 = true;
this.aClass41_2943 = var3;
this.aJs5Worker_2953 = var4;
this.anInt2947 = var7;
if (null != this.aClass41_2943) {
this.aResourceRequest_2950 = this.cacheResourceWorker.priorityRead(this.aClass41_2943, this.anInt2957);
}
} catch (RuntimeException var10) {
throw ClientErrorException.clientError(var10, "bg.<init>(" + var1 + ',' + (var2 != null ? "{...}" : "null") + ',' + (var3 != null ? "{...}" : "null") + ',' + (var4 != null ? "{...}" : "null") + ',' + (var5 != null ? "{...}" : "null") + ',' + var6 + ',' + var7 + ',' + true + ')');
}
}
}

View file

@ -0,0 +1,96 @@
package org.runite.client;
/* Class152 - Decompiled by JODE
* Visit http://jode.sourceforge.net/
*/
final class Class152
{
private final int anInt1937;
private final int anInt1938;
private final int anInt1939 = Class3_Sub14.method368(16);
private final int anInt1940;
private final int anInt1941;
private final int[] anIntArray1942;
private final int anInt1943;
Class152() {
anInt1938 = Class3_Sub14.method368(24);
anInt1940 = Class3_Sub14.method368(24);
anInt1941 = Class3_Sub14.method368(24) + 1;
anInt1943 = Class3_Sub14.method368(6) + 1;
anInt1937 = Class3_Sub14.method368(8);
int[] is = new int[anInt1943];
for (int i = 0; i < anInt1943; i++) {
int i_0_ = 0;
int i_1_ = Class3_Sub14.method368(3);
boolean bool = Class3_Sub14.method364() != 0;
if (bool)
i_0_ = Class3_Sub14.method368(5);
is[i] = i_0_ << 3 | i_1_;
}
anIntArray1942 = new int[anInt1943 * 8];
for (int i = 0; i < anInt1943 * 8; i++)
anIntArray1942[i] = ((is[i >> 3] & 1 << (i & 0x7)) != 0
? Class3_Sub14.method368(8) : -1);
}
final void method2112(float[] fs, int i, boolean bool) {
for (int i_2_ = 0; i_2_ < i; i_2_++)
fs[i_2_] = 0.0F;
if (!bool) {
int i_3_ = (((Class71) Class3_Sub14.aClass71Array2406[anInt1937])
.anInt1063);
int i_4_ = anInt1940 - anInt1938;
int i_5_ = i_4_ / anInt1941;
int[] is = new int[i_5_];
for (int i_6_ = 0; i_6_ < 8; i_6_++) {
int i_7_ = 0;
while (i_7_ < i_5_) {
if (i_6_ == 0) {
int i_8_ = Class3_Sub14.aClass71Array2406
[anInt1937].method1290();
for (int i_9_ = i_3_ - 1; i_9_ >= 0; i_9_--) {
if (i_7_ + i_9_ < i_5_)
is[i_7_ + i_9_] = i_8_ % anInt1943;
i_8_ /= anInt1943;
}
}
for (int i_10_ = 0; i_10_ < i_3_; i_10_++) {
int i_11_ = is[i_7_];
int i_12_ = anIntArray1942[i_11_ * 8 + i_6_];
if (i_12_ >= 0) {
int i_13_ = anInt1938 + i_7_ * anInt1941;
Class71 class71
= Class3_Sub14.aClass71Array2406[i_12_];
if (anInt1939 == 0) {
int i_14_ = (anInt1941
/ ((Class71) class71).anInt1063);
for (int i_15_ = 0; i_15_ < i_14_; i_15_++) {
float[] fs_16_ = class71.method1288();
for (int i_17_ = 0;
i_17_ < ((Class71) class71).anInt1063;
i_17_++)
fs[i_13_ + i_15_ + i_17_ * i_14_]
+= fs_16_[i_17_];
}
} else {
int i_18_ = 0;
while (i_18_ < anInt1941) {
float[] fs_19_ = class71.method1288();
for (int i_20_ = 0;
i_20_ < ((Class71) class71).anInt1063;
i_20_++) {
fs[i_13_ + i_18_] += fs_19_[i_20_];
i_18_++;
}
}
}
}
if (++i_7_ >= i_5_)
break;
}
}
}
}
}
}

View file

@ -0,0 +1,52 @@
package org.runite.client;
import org.rs09.client.data.ReferenceCache;
final class Class154 {
static int anInt1957;
static int[] anIntArray1960 = new int[14];
static ReferenceCache aReferenceCache_1964 = new ReferenceCache(5);
static int anInt1966 = -1;
static void method2146(int var0, int var1, int var2, int var3, GameObject var4, GameObject var5, int var6, int var7, long var8) {
if(var4 != null || var5 != null) {
Class70 var10 = new Class70();
var10.aLong1048 = var8;
var10.anInt1054 = var1 * 128 + 64;
var10.anInt1045 = var2 * 128 + 64;
var10.anInt1057 = var3;
var10.aClass140_1049 = var4;
var10.aClass140_1052 = var5;
var10.anInt1055 = var6;
var10.anInt1059 = var7;
for(int var11 = var0; var11 >= 0; --var11) {
if(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var11][var1][var2] == null) {
Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var11][var1][var2] = new Class3_Sub2(var11, var1, var2);
}
}
Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2].aClass70_2234 = var10;
}
}
static Class70 method2147(int var0, int var1, int var2) {
Class3_Sub2 var3 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2];
return var3 == null?null:var3.aClass70_2234;
}
static RSString method2148(int var0) {
try {
if(999999999 <= var0) {
return TextCore.aClass94_1687;
} else {
return RSString.stringAnimator(var0);
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "vf.C(" + var0 + ',' + (byte) -78 + ')');
}
}
}

View file

@ -0,0 +1,388 @@
package org.runite.client;
import org.rs09.client.util.ArrayUtils;
import java.awt.Component;
class Class155 {
static int[] anIntArray1969 = new int[100];
private long aLong1972 = TimeUtils.time();
private Class3_Sub24 aClass3_Sub24_1973;
int[] anIntArray1975;
private long aLong1979 = 0L;
private final Class3_Sub24[] aClass3_Sub24Array1980 = new Class3_Sub24[8];
private int anInt1981 = 0;
private long aLong1982 = 0L;
private final Class3_Sub24[] aClass3_Sub24Array1983 = new Class3_Sub24[8];
private boolean aBoolean1984 = true;
private int anInt1985 = 0;
private int anInt1986;
private int anInt1987 = 0;
private int anInt1988 = 0;
int anInt1989;
int anInt1990;
void method2149() {}
void method2150(int var1) throws Exception {}
void method2151() throws Exception {}
private void method2152(int[] var1) {
int var3 = 256;
if(Unsorted.aBoolean2150) {
var3 = 256 << 1;
}
ArrayUtils.zero(var1, 0, var3);
this.anInt1987 -= 256;
if(this.aClass3_Sub24_1973 != null && this.anInt1987 <= 0) {
this.anInt1987 += Class21.anInt443 >> 4;
Class97.method1591(this.aClass3_Sub24_1973);
this.method2155(this.aClass3_Sub24_1973, this.aClass3_Sub24_1973.method412(), (byte)-24);
int var4 = 0;
int var5 = 255;
int var6;
label101:
for(var6 = 7; var5 != 0; --var6) {
int var7;
int var8;
if(var6 < 0) {
var7 = var6 & 3;
var8 = -(var6 >> 2);
} else {
var7 = var6;
var8 = 0;
}
for(int var9 = var5 >>> var7 & 286331153; var9 != 0; var9 >>>= 4) {
if((var9 & 1) != 0) {
var5 &= ~(1 << var7);
Class3_Sub24 var10 = null;
Class3_Sub24 var11 = this.aClass3_Sub24Array1980[var7];
while(var11 != null) {
Class3_Sub12 var12 = var11.aClass3_Sub12_2544;
if(var12 != null && var12.anInt2374 > var8) {
var5 |= 1 << var7;
var10 = var11;
var11 = var11.aClass3_Sub24_2546;
} else {
var11.aBoolean2545 = true;
int var13 = var11.method409();
var4 += var13;
if(var12 != null) {
var12.anInt2374 += var13;
}
int anInt1968 = 32;
if(var4 >= anInt1968) {
break label101;
}
Class3_Sub24 var14 = var11.method411();
if(var14 != null) {
for(int var15 = var11.anInt2543; var14 != null; var14 = var11.method414()) {
this.method2155(var14, var15 * var14.method412() >> 8, (byte)-24);
}
}
Class3_Sub24 var18 = var11.aClass3_Sub24_2546;
var11.aClass3_Sub24_2546 = null;
if(var10 == null) {
this.aClass3_Sub24Array1980[var7] = var18;
} else {
var10.aClass3_Sub24_2546 = var18;
}
if(var18 == null) {
this.aClass3_Sub24Array1983[var7] = var10;
}
var11 = var18;
}
}
}
var7 += 4;
++var8;
}
}
for(var6 = 0; var6 < 8; ++var6) {
Class3_Sub24 var16 = this.aClass3_Sub24Array1980[var6];
Class3_Sub24 var17;
for(this.aClass3_Sub24Array1980[var6] = this.aClass3_Sub24Array1983[var6] = null; var16 != null; var16 = var17) {
var17 = var16.aClass3_Sub24_2546;
var16.aClass3_Sub24_2546 = null;
}
}
}
if(this.anInt1987 < 0) {
this.anInt1987 = 0;
}
if(this.aClass3_Sub24_1973 != null) {
this.aClass3_Sub24_1973.method413(var1, 0, 256);
}
this.aLong1972 = TimeUtils.time();
}
final synchronized void method2153() {
try {
if(null != this.anIntArray1975) {
long var2 = TimeUtils.time();
try {
if(0L != this.aLong1982) {
if(var2 < this.aLong1982) {
return;
}
this.method2150(this.anInt1990);
this.aBoolean1984 = true;
this.aLong1982 = 0L;
}
int var4 = this.method2157();
if(-var4 + this.anInt1985 > this.anInt1981) {
this.anInt1981 = -var4 + this.anInt1985;
}
int var5 = this.anInt1989 - -this.anInt1986;
if(256 + var5 > 16384) {
var5 = 16128;
}
if(this.anInt1990 < var5 + 256) {
this.anInt1990 += 1024;
if(this.anInt1990 > 16384) {
this.anInt1990 = 16384;
}
this.method2160();
var4 = 0;
this.method2150(this.anInt1990);
if(this.anInt1990 < 256 + var5) {
var5 = -256 + this.anInt1990;
this.anInt1986 = -this.anInt1989 + var5;
}
this.aBoolean1984 = true;
}
while(var4 < var5) {
var4 += 256;
this.method2152(this.anIntArray1975);
this.method2149();
}
if(this.aLong1979 < var2) {
if(this.aBoolean1984) {
this.aBoolean1984 = false;
} else {
if(this.anInt1981 == 0 && this.anInt1988 == 0) {
this.method2160();
this.aLong1982 = var2 - -2000L;
return;
}
this.anInt1986 = Math.min(this.anInt1988, this.anInt1981);
this.anInt1988 = this.anInt1981;
}
this.aLong1979 = 2000L + var2;
this.anInt1981 = 0;
}
this.anInt1985 = var4;
} catch (Exception var7) {
this.method2160();
this.aLong1982 = var2 + 2000L;
}
try {
if(var2 > 500000L + this.aLong1972) {
var2 = this.aLong1972;
}
while(var2 > this.aLong1972 + 5000L) {
this.method2161();
this.aLong1972 += (long)(256000 / Class21.anInt443);
}
} catch (Exception var6) {
this.aLong1972 = var2;
}
}
} catch (RuntimeException var8) {
throw ClientErrorException.clientError(var8, "vh.Q(" + (byte) -34 + ')');
}
}
final synchronized void method2154(int var1, Class3_Sub24 var2) {
try {
this.aClass3_Sub24_1973 = var2;
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "vh.I(" + var1 + ',' + (var2 != null?"{...}":"null") + ')');
}
}
private void method2155(Class3_Sub24 var1, int var2, byte var3) {
try {
if(var3 != -24) {
this.method2155((Class3_Sub24)null, -105, (byte)87);
}
int var4 = var2 >> 5;
Class3_Sub24 var5 = this.aClass3_Sub24Array1983[var4];
if(null == var5) {
this.aClass3_Sub24Array1980[var4] = var1;
} else {
var5.aClass3_Sub24_2546 = var1;
}
this.aClass3_Sub24Array1983[var4] = var1;
var1.anInt2543 = var2;
} catch (RuntimeException var6) {
throw ClientErrorException.clientError(var6, "vh.H(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')');
}
}
static Class10 method2156(DataBuffer var1) {
try {
Class10 var2 = new Class10();
var2.anInt149 = var1.readUnsignedShort();
var2.aClass3_Sub28_Sub4_151 = LinkableRSString.method733(var2.anInt149);
return var2;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "vh.M(" + 1024 + ',' + (var1 != null?"{...}":"null") + ')');
}
}
int method2157() {
try {
return this.anInt1990;
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "vh.B()");
}
}
final synchronized void method2158() {
try {
this.aBoolean1984 = true;
try {
this.method2151();
} catch (Exception var3) {
this.method2160();
this.aLong1982 = TimeUtils.time() + 2000L;
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "vh.L(" + (byte) -78 + ')');
}
}
final void method2159(int var1) {
try {
this.aBoolean1984 = true;
if(var1 <= 54) {
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "vh.J(" + var1 + ')');
}
}
void method2160() {}
private void method2161() {
try {
this.anInt1987 -= 256;
if(0 > this.anInt1987) {
this.anInt1987 = 0;
}
if(null != this.aClass3_Sub24_1973) {
this.aClass3_Sub24_1973.method415(256);
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "vh.K(" + 256 + ',' + 1 + ')');
}
}
static void method2162(GameObject var0, int var1, int var2, int var3) {
Class3_Sub2 var4;
if(var2 < Unsorted.anInt1234) {
var4 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var1][var2 + 1][var3];
if(var4 != null && var4.aClass12_2230 != null && var4.aClass12_2230.object.method1865()) {
var0.method1866(var4.aClass12_2230.object, 128, 0, 0, true);
}
}
if(var3 < Unsorted.anInt1234) {
var4 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var1][var2][var3 + 1];
if(var4 != null && var4.aClass12_2230 != null && var4.aClass12_2230.object.method1865()) {
var0.method1866(var4.aClass12_2230.object, 0, 0, 128, true);
}
}
if(var2 < Unsorted.anInt1234 && var3 < Class3_Sub13_Sub15.anInt3179) {
var4 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var1][var2 + 1][var3 + 1];
if(var4 != null && var4.aClass12_2230 != null && var4.aClass12_2230.object.method1865()) {
var0.method1866(var4.aClass12_2230.object, 128, 0, 128, true);
}
}
if(var2 < Unsorted.anInt1234 && var3 > 0) {
var4 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var1][var2 + 1][var3 - 1];
if(var4 != null && var4.aClass12_2230 != null && var4.aClass12_2230.object.method1865()) {
var0.method1866(var4.aClass12_2230.object, 128, 0, -128, true);
}
}
}
final synchronized void method2163() {
try {
if(null != Class38_Sub1.aClass15_2613) {
boolean var2 = true;
for(int var3 = 0; var3 < 2; ++var3) {
if(this == Class38_Sub1.aClass15_2613.aClass155Array352[var3]) {
Class38_Sub1.aClass15_2613.aClass155Array352[var3] = null;
}
if(null != Class38_Sub1.aClass15_2613.aClass155Array352[var3]) {
var2 = false;
}
}
if(var2) {
Class38_Sub1.aClass15_2613.aBoolean345 = true;
while(Class38_Sub1.aClass15_2613.aBoolean353) {
TimeUtils.sleep(50L);
}
Class38_Sub1.aClass15_2613 = null;
}
}
this.method2160();
this.anIntArray1975 = null;
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "vh.P(" + false + ')');
}
}
void method2164(Component var1) throws Exception {}
}

View file

@ -0,0 +1,42 @@
package org.runite.client;
import java.awt.Component;
final class Class155_Sub1 extends Class155 {
private final int anInt2969;
private static Interface1 anInterface1_2970;
final int method2157() {
return anInterface1_2970.method2((byte)118, this.anInt2969);
}
final void method2149() {
anInterface1_2970.method6(this.anInt2969, this.anIntArray1975);
}
final void method2164(Component var1) throws Exception {
anInterface1_2970.method5(Class21.anInt443, (byte)-39, var1, Unsorted.aBoolean2150);
}
final void method2151() {
anInterface1_2970.method1(this.anInt2969, 28544);
}
Class155_Sub1(Signlink var1, int var2) {
anInterface1_2970 = var1.method1446((byte)99);
this.anInt2969 = var2;
}
final void method2150(int var1) throws Exception {
if(var1 > '\u8000') {
throw new IllegalArgumentException();
} else {
anInterface1_2970.method3(this.anInt2969, 25349, var1);
}
}
final void method2160() {
anInterface1_2970.method4((byte)20, this.anInt2969);
}
}

View file

@ -0,0 +1,97 @@
package org.runite.client;
import java.awt.Component;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;
import javax.sound.sampled.Mixer.Info;
final class Class155_Sub2 extends Class155 {
private int anInt2971;
private SourceDataLine aSourceDataLine2972;
private boolean aBoolean2973 = false;
private AudioFormat anAudioFormat2974;
private byte[] aByteArray2975;
final void method2160() {
if(null != this.aSourceDataLine2972) {
this.aSourceDataLine2972.close();
this.aSourceDataLine2972 = null;
}
}
final void method2164(Component var1) {
Info[] var2 = AudioSystem.getMixerInfo();
if(null != var2) {
for(int var4 = 0; var2.length > var4; ++var4) {
Info var5 = var2[var4];
if(null != var5) {
String var6 = var5.getName();
if(null != var6 && var6.toLowerCase().contains("soundmax")) {
this.aBoolean2973 = true;
}
}
}
}
this.anAudioFormat2974 = new AudioFormat((float)Class21.anInt443, 16, !Unsorted.aBoolean2150?1:2, true, false);
this.aByteArray2975 = new byte[256 << (Unsorted.aBoolean2150?2:1)];
}
final void method2150(int var1) throws LineUnavailableException {
try {
javax.sound.sampled.DataLine.Info var2 = new javax.sound.sampled.DataLine.Info(SourceDataLine.class, this.anAudioFormat2974, var1 << (!Unsorted.aBoolean2150?1:2));
this.aSourceDataLine2972 = (SourceDataLine)AudioSystem.getLine(var2);
this.aSourceDataLine2972.open();
this.aSourceDataLine2972.start();
this.anInt2971 = var1;
} catch (LineUnavailableException var3) {
if(Class146.method2080(var1) == 1) {
this.aSourceDataLine2972 = null;
throw var3;
} else {
this.method2150(Class95.method1585((byte)76, var1));
}
}
}
final void method2151() throws LineUnavailableException {
this.aSourceDataLine2972.flush();
if(this.aBoolean2973) {
this.aSourceDataLine2972.close();
this.aSourceDataLine2972 = null;
javax.sound.sampled.DataLine.Info var1 = new javax.sound.sampled.DataLine.Info(SourceDataLine.class, this.anAudioFormat2974, this.anInt2971 << (!Unsorted.aBoolean2150?1:2));
this.aSourceDataLine2972 = (SourceDataLine)AudioSystem.getLine(var1);
this.aSourceDataLine2972.open();
this.aSourceDataLine2972.start();
}
}
final int method2157() {
return this.anInt2971 - (this.aSourceDataLine2972.available() >> (!Unsorted.aBoolean2150?1:2));
}
final void method2149() {
int var1 = 256;
if(Unsorted.aBoolean2150) {
var1 <<= 1;
}
for(int var2 = 0; var2 < var1; ++var2) {
int var3 = this.anIntArray1975[var2];
if((var3 + 8388608 & -16777216) != 0) {
var3 = 8388607 ^ var3 >> 31;
}
this.aByteArray2975[var2 * 2] = (byte)(var3 >> 8);
this.aByteArray2975[var2 * 2 + 1] = (byte)(var3 >> 16);
}
this.aSourceDataLine2972.write(this.aByteArray2975, 0, var1 << 1);
}
}

View file

@ -0,0 +1,78 @@
package org.runite.client;
import javax.media.opengl.GL;
import java.nio.ByteBuffer;
final class Class156 {
private int anInt1991;
private final int anInt1992;
private int anInt1993;
private final boolean aBoolean1994;
final void method2168(ByteBuffer var1) {
if(var1.limit() <= this.anInt1993) {
GL var2 = HDToolKit.gl;
var2.glBindBufferARB('\u8892', this.anInt1991);
var2.glBufferSubDataARB('\u8892', 0, var1.limit(), var1);
} else {
this.method2172(var1);
}
}
protected final void finalize() throws Throwable {
if(this.anInt1991 != -1) {
Class31.method989(this.anInt1991, this.anInt1993, this.anInt1992);
this.anInt1991 = -1;
this.anInt1993 = 0;
}
super.finalize();
}
final void method2169() {
GL var1 = HDToolKit.gl;
var1.glBindBufferARB('\u8892', this.anInt1991);
}
public Class156() {
this(false);
}
final void method2170(ByteBuffer var1) {
GL var2 = HDToolKit.gl;
var2.glBindBufferARB('\u8893', this.anInt1991);
var2.glBufferDataARB('\u8893', var1.limit(), var1, this.aBoolean1994?'\u88e0':'\u88e4');
Class31.anInt585 += var1.limit() - this.anInt1993;
this.anInt1993 = var1.limit();
}
final void method2171() {
GL var1 = HDToolKit.gl;
var1.glBindBufferARB('\u8893', this.anInt1991);
}
final void method2172(ByteBuffer var1) {
GL var2 = HDToolKit.gl;
var2.glBindBufferARB('\u8892', this.anInt1991);
var2.glBufferDataARB('\u8892', var1.limit(), var1, this.aBoolean1994?'\u88e0':'\u88e4');
Class31.anInt585 += var1.limit() - this.anInt1993;
this.anInt1993 = var1.limit();
}
Class156(boolean var1) {
this.anInt1991 = -1;
this.anInt1993 = 0;
GL var2 = HDToolKit.gl;
int[] var3 = new int[1];
var2.glGenBuffersARB(1, var3, 0);
this.aBoolean1994 = var1;
this.anInt1991 = var3[0];
this.anInt1992 = Class31.anInt582;
}
}

View file

@ -0,0 +1,143 @@
package org.runite.client;
final class Class157 {
static int anInt1996;
private int anInt1997;
private int[][] anIntArrayArray1999;
static Class3_Sub28_Sub17_Sub1 aClass3_Sub28_Sub17_Sub1_2000;
private int anInt2001;
final byte[] method2173(byte[] var1) {
try {
if(null != this.anIntArrayArray1999) {
int var4 = 14 + (int)((long)var1.length * (long)this.anInt2001 / (long)this.anInt1997);
int[] var5 = new int[var4];
int var6 = 0;
int var7 = 0;
int var8;
for(var8 = 0; var1.length > var8; ++var8) {
int[] var10 = this.anIntArrayArray1999[var7];
byte var9 = var1[var8];
int var11;
for(var11 = 0; var11 < 14; ++var11) {
var5[var6 - -var11] += var10[var11] * var9;
}
var7 += this.anInt2001;
var11 = var7 / this.anInt1997;
var6 += var11;
var7 -= var11 * this.anInt1997;
}
var1 = new byte[var4];
for(var8 = 0; var4 > var8; ++var8) {
int var13 = var5[var8] - -32768 >> 16;
if(var13 >= -128) {
if(127 >= var13) {
var1[var8] = (byte)var13;
} else {
var1[var8] = 127;
}
} else {
var1[var8] = -128;
}
}
}
return var1;
} catch (RuntimeException var12) {
throw ClientErrorException.clientError(var12, "vj.E(" + (var1 != null?"{...}":"null") + ',' + (byte) -105 + ')');
}
}
static long method2174(int var0, int var1, int var2) {
Class3_Sub2 var3 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2];
return var3 != null && var3.aClass70_2234 != null?var3.aClass70_2234.aLong1048:0L;
}
static Class3_Sub28_Sub16_Sub2[] method2176(int var0, CacheIndex var1) {
try {
//System.out.println("Class 157 " + var2);
if(Class75_Sub4.method1351(var1, 0, var0)) {
return Class10.method851();
} else {
return null;
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "vj.A(" + 0 + ',' + var0 + ',' + (var1 != null?"{...}":"null") + ')');
}
}
final int method2177(int var1) {
try {
if(null != this.anIntArrayArray1999) {
var1 = (int)((long)this.anInt2001 * (long)var1 / (long)this.anInt1997);
}
return var1;
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "vj.C(" + var1 + ',' + (byte) 90 + ')');
}
}
final int method2178(int var2) {
try {
if(null != this.anIntArrayArray1999) {
var2 = (int)((long)this.anInt2001 * (long)var2 / (long)this.anInt1997) + 6;
}
return var2;
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "vj.D(" + false + ',' + var2 + ')');
}
}
Class157(int var1, int var2) {
try {
if(var2 != var1) {
int var3 = Class107.method1651(var2, var1);
var2 /= var3;
this.anInt2001 = var2;
var1 /= var3;
this.anIntArrayArray1999 = new int[var1][14];
this.anInt1997 = var1;
for(int var4 = 0; var4 < var1; ++var4) {
int[] var5 = this.anIntArrayArray1999[var4];
double var6 = (double)var4 / (double)var1 + 6.0D;
double var10 = (double)var2 / (double)var1;
int var8 = (int)Math.floor(-7.0D + var6 + 1.0D);
int var9 = (int)Math.ceil(7.0D + var6);
if(var8 < 0) {
var8 = 0;
}
if(var9 > 14) {
var9 = 14;
}
while(var8 < var9) {
double var12 = ((double)var8 - var6) * 3.141592653589793D;
double var14 = var10;
if(-1.0E-4D > var12 || var12 > 1.0E-4D) {
var14 = var10 * (Math.sin(var12) / var12);
}
var14 *= 0.54D + 0.46D * Math.cos(((double)var8 - var6) * 0.2243994752564138D);
var5[var8] = (int)Math.floor(65536.0D * var14 + 0.5D);
++var8;
}
}
}
} catch (RuntimeException var16) {
throw ClientErrorException.clientError(var16, "vj.<init>(" + var1 + ',' + var2 + ')');
}
}
}

View file

@ -0,0 +1,96 @@
package org.runite.client;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Image;
abstract class Class158 {
static int[] anIntArray2004 = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 73, 74, 76, 78, 83, 84, 85, 86, 91, 92, 93, 94, 95, 97, 103, 104, 105, 106, 107, 108, 113, 114, 115, 116, 118, 119, 120, 121, 122, 123, 124, 125, 133, 134, 136, 138, 143, 144, 145, 146, 151, 152, 153, 154, 155, 157, 163, 164, 165, 166, 168, 169, 174, 175, 176, 177, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 97, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 157, 215, 216, 117, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 66, 66, 66, 66, 66, 66, 65, 75, 79, 79, 79, 79, 87, 87, 87, 87, 77, 96, 98, 98, 98, 98, 98, 250, 251, 109, 109, 109, 109, 117, 252, 167, 126, 126, 126, 126, 126, 126, 125, 135, 139, 139, 139, 139, 147, 147, 147, 147, 137, 156, 158, 158, 158, 158, 158, 253, 254, 170, 170, 170, 170, 178, 255, 178};
static int anInt2005 = -2;
int[] anIntArray2007;
static byte[][][] aByteArrayArrayArray2008;
Image anImage2009;
static int anInt2010 = -16 + (int) (33.0D * Math.random());
int anInt2011;
int anInt2012;
static int anInt2014 = 0;
static int anInt2015;
abstract void method2179(Graphics var3);
static void method2180(CacheIndex var0, CacheIndex var1) {
Unsorted.aClass153_4048 = var0;
Class3_Sub13_Sub18.aClass153_3214 = var1;
}
final void method2182() {
Class74.setBuffer(this.anIntArray2007, this.anInt2012, this.anInt2011);
}
static void method2183(int parent, boolean notifyScripts, int parentWidth, int parentHeight, RSInterface[] ifaces) {
int var6 = 0;
for (; ifaces.length > var6; ++var6) {
RSInterface inface = ifaces[var6];
if (inface != null && inface.parentId == parent) {
Unsorted.calculateInterfaceSize(inface, parentWidth, parentHeight, notifyScripts);
Unsorted.calculateInterfacePosition(inface, parentWidth, parentHeight);
if (inface.anInt247 > inface.anInt240 - inface.width) {
inface.anInt247 = inface.anInt240 - inface.width;
}
if (inface.anInt208 > -inface.height + inface.anInt252) {
inface.anInt208 = inface.anInt252 - inface.height;
}
if (inface.anInt208 < 0) {
inface.anInt208 = 0;
}
if (inface.anInt247 < 0) {
inface.anInt247 = 0;
}
if (inface.type == 0) {
Unsorted.method2104(inface, notifyScripts, 235 + -343);
}
}
}
}
abstract void drawGraphics(int var1, int var2, int var4, Graphics var5, int var6);
abstract void method2185(int var1, int var3, Component var4);
static void method2186(Class25 var0) {
for (int var1 = var0.anInt483; var1 <= var0.anInt495; ++var1) {
for (int var2 = var0.anInt478; var2 <= var0.anInt481; ++var2) {
Class3_Sub2 var3 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0.anInt493][var1][var2];
if (var3 != null) {
int var4;
for (var4 = 0; var4 < var3.anInt2223; ++var4) {
if (var3.aClass25Array2221[var4] == var0) {
--var3.anInt2223;
for (int var5 = var4; var5 < var3.anInt2223; ++var5) {
var3.aClass25Array2221[var5] = var3.aClass25Array2221[var5 + 1];
var3.anIntArray2237[var5] = var3.anIntArray2237[var5 + 1];
}
var3.aClass25Array2221[var3.anInt2223] = null;
break;
}
}
var3.anInt2228 = 0;
for (var4 = 0; var4 < var3.anInt2223; ++var4) {
var3.anInt2228 |= var3.anIntArray2237[var4];
}
}
}
}
}
}

View file

@ -0,0 +1,988 @@
package org.runite.client;
import org.rs09.client.data.ReferenceCache;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Shape;
import java.awt.image.ColorModel;
import java.awt.image.DirectColorModel;
import java.awt.image.ImageConsumer;
import java.awt.image.ImageObserver;
import java.awt.image.ImageProducer;
final class Class158_Sub1 extends Class158 implements ImageProducer, ImageObserver {
static RSString[] aClass94Array2977 = new RSString[5];
static int anInt3158 = -8 + (int)(17.0D * Math.random());
static int anInt1463 = -16 + (int)(Math.random() * 33.0D);
static byte[][][] aByteArrayArrayArray1828;
private ImageConsumer anImageConsumer2978;
private ColorModel aColorModel2979;
static Class3_Sub1 aClass3_Sub1_2980 = new Class3_Sub1(0, -1);
static boolean aBoolean2981 = false;
static ReferenceCache aReferenceCache_2982 = new ReferenceCache(32);
static MapUnderlayColorDefinition method629(int var1) {
try {
MapUnderlayColorDefinition var2 = (MapUnderlayColorDefinition)Class44.aReferenceCache_725.get((long)var1);
if(var2 == null) {
byte[] var3 = Class3_Sub23.aClass153_2536.getFile(1, var1);
var2 = new MapUnderlayColorDefinition();
if(null != var3) {
var2.parseUnderlayDefinition(var1, new DataBuffer(var3));
}
Class44.aReferenceCache_725.put(var2, (long)var1);
return var2;
} else {
return var2;
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "qc.B(" + true + ',' + var1 + ')');
}
}
static void method1629(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, int var13, int var14, int var15, int var16, int var17, int var18, int var19) {
int var21;
Class126 var20;
if(var3 == 0) {
var20 = new Class126(var10, var11, var12, var13, -1, var18, false);
for(var21 = var0; var21 >= 0; --var21) {
if(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var21][var1][var2] == null) {
Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var21][var1][var2] = new Class3_Sub2(var21, var1, var2);
}
}
Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2].aClass126_2240 = var20;
} else if(var3 == 1) {
var20 = new Class126(var14, var15, var16, var17, var5, var19, var6 == var7 && var6 == var8 && var6 == var9);
for(var21 = var0; var21 >= 0; --var21) {
if(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var21][var1][var2] == null) {
Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var21][var1][var2] = new Class3_Sub2(var21, var1, var2);
}
}
Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2].aClass126_2240 = var20;
} else {
Class35 var22 = new Class35(var3, var4, var5, var1, var2, var6, var7, var8, var9, var10, var11, var12, var13, var14, var15, var16, var17, var18, var19);
for(var21 = var0; var21 >= 0; --var21) {
if(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var21][var1][var2] == null) {
Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var21][var1][var2] = new Class3_Sub2(var21, var1, var2);
}
}
Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2].aClass35_2226 = var22;
}
}
public final synchronized void addConsumer(ImageConsumer var1) {
try {
this.anImageConsumer2978 = var1;
var1.setDimensions(this.anInt2012, this.anInt2011);
var1.setProperties(null);
var1.setColorModel(this.aColorModel2979);
var1.setHints(14);
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "di.addConsumer(" + (var1 != null?"{...}":"null") + ')');
}
}
public static void method2187(int var0) {
try {
aClass94Array2977 = null;
aReferenceCache_2982 = null;
aClass3_Sub1_2980 = null;
if(var0 != 27316) {
aBoolean2981 = true;
}
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "di.I(" + var0 + ')');
}
}
private synchronized void method2188(int var1, int var2, int var3, int var5) {
try {
if(null != this.anImageConsumer2978) {
this.anImageConsumer2978.setPixels(var3, var5, var1, var2, this.aColorModel2979, this.anIntArray2007, var5 * this.anInt2012 + var3, this.anInt2012);
this.anImageConsumer2978.imageComplete(2);
}
} catch (RuntimeException var7) {
throw ClientErrorException.clientError(var7, "di.N(" + var1 + ',' + var2 + ',' + var3 + ',' + (byte) -124 + ',' + var5 + ')');
}
}
public final synchronized void removeConsumer(ImageConsumer var1) {
try {
if(this.anImageConsumer2978 == var1) {
this.anImageConsumer2978 = null;
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "di.removeConsumer(" + (var1 != null?"{...}":"null") + ')');
}
}
final void drawGraphics(int var1, int var2, int var4, Graphics var5, int var6) {
try {
this.method2188(var1, var4, var2, var6);
Shape var7 = var5.getClip();
var5.clipRect(var2, var6, var1, var4);
var5.drawImage(this.anImage2009, 0, 0, this);
var5.setClip(var7);
} catch (RuntimeException var8) {
throw ClientErrorException.clientError(var8, "di.E(" + var1 + ',' + var2 + ',' + 6260 + ',' + var4 + ',' + (var5 != null?"{...}":"null") + ',' + var6 + ')');
}
}
public final void startProduction(ImageConsumer var1) {
try {
this.addConsumer(var1);
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "di.startProduction(" + (var1 != null?"{...}":"null") + ')');
}
}
static void method2189(Class91[] var0, boolean var1, int var2) {
try {
int var4;
int var5;
if(!var1) {
for(var4 = 0; var4 < 4; ++var4) {
for(var5 = 0; var5 < 104; ++var5) {
for(int var6 = 0; var6 < 104; ++var6) {
if((1 & Unsorted.aByteArrayArrayArray113[var4][var5][var6]) == 1) {
int var7 = var4;
if((2 & Unsorted.aByteArrayArrayArray113[1][var5][var6]) == 2) {
var7 = var4 - 1;
}
if(var7 >= 0) {
var0[var7].method1497(var6, var5);
}
}
}
}
}
anInt1463 += (int)(Math.random() * 5.0D) - 2;
if(anInt1463 < -16) {
anInt1463 = -16;
}
if(anInt1463 > 16) {
anInt1463 = 16;
}
anInt3158 += (int)(Math.random() * 5.0D) - 2;
if(-8 > anInt3158) {
anInt3158 = -8;
}
if(anInt3158 > 8) {
anInt3158 = 8;
}
}
byte var3;
if(var1) {
var3 = 1;
} else {
var3 = 4;
}
var4 = anInt3158 >> 2 << 10;
int[][] var34 = new int[104][104];
int[][] var35 = new int[104][104];
var5 = anInt1463 >> 1;
int var8;
int var10;
int var11;
int var13;
int var14;
int var15;
int var16;
int var19;
int var18;
int var20;
int var37;
int var44;
for(var8 = 0; var3 > var8; ++var8) {
byte[][] var9 = Class67.aByteArrayArrayArray1014[var8];
int var21;
int var23;
int var22;
int var24;
if(HDToolKit.highDetail) {
if(Class106.aBoolean1441) {
for(var10 = 1; var10 < 103; ++var10) {
for(var11 = 1; var11 < 103; ++var11) {
var13 = (var9[1 + var11][var10] >> 3) + (var9[-1 + var11][var10] >> 2) - -(var9[var11][-1 + var10] >> 2) - -(var9[var11][1 + var10] >> 3) - -(var9[var11][var10] >> 1);
byte var12 = 74;
var35[var11][var10] = -var13 + var12;
}
}
} else {
var10 = (int)Class92.light0Position[0];
var11 = (int)Class92.light0Position[1];
var37 = (int)Class92.light0Position[2];
var13 = (int)Math.sqrt((double)(var11 * var11 + (var10 * var10 - -(var37 * var37))));
var14 = 1024 * var13 >> 8;
for(var15 = 1; var15 < 103; ++var15) {
for(var16 = 1; var16 < 103; ++var16) {
byte var17 = 96;
var18 = Class44.anIntArrayArrayArray723[var8][var16 - -1][var15] - Class44.anIntArrayArrayArray723[var8][-1 + var16][var15];
var19 = Class44.anIntArrayArrayArray723[var8][var16][var15 + 1] - Class44.anIntArrayArrayArray723[var8][var16][-1 + var15];
var20 = (int)Math.sqrt((double)(var18 * var18 + 65536 + var19 * var19));
var21 = (var18 << 8) / var20;
var24 = (var9[var16][1 + var15] >> 3) + (var9[var16][var15 - 1] >> 2) + ((var9[var16 - 1][var15] >> 2) + (var9[var16 + 1][var15] >> 3) - -(var9[var16][var15] >> 1));
var22 = -65536 / var20;
var23 = (var19 << 8) / var20;
var44 = var17 + (var37 * var23 + (var10 * var21 - -(var22 * var11))) / var14;
var35[var16][var15] = var44 + -((int)((float)var24 * 1.7F));
}
}
}
} else {
var10 = (int)Math.sqrt(5100.0D);
var11 = 768 * var10 >> 8;
for(var37 = 1; var37 < 103; ++var37) {
for(var13 = 1; 103 > var13; ++var13) {
var16 = -Class44.anIntArrayArrayArray723[var8][var13][-1 + var37] + Class44.anIntArrayArrayArray723[var8][var13][var37 + 1];
byte var41 = 74;
var15 = -Class44.anIntArrayArrayArray723[var8][var13 + -1][var37] + Class44.anIntArrayArrayArray723[var8][var13 - -1][var37];
var44 = (int)Math.sqrt((double)(var15 * var15 - -65536 - -(var16 * var16)));
var20 = (var16 << 8) / var44;
var19 = -65536 / var44;
var18 = (var15 << 8) / var44;
var21 = (var9[var13][var37] >> 1) + (var9[var13][-1 + var37] >> 2) + (var9[var13 - -1][var37] >> 3) + ((var9[var13 - 1][var37] >> 2) - -(var9[var13][var37 + 1] >> 3));
var14 = var41 + (var20 * -50 + var18 * -50 - -(var19 * -10)) / var11;
var35[var13][var37] = var14 - var21;
}
}
}
for(var10 = 0; 104 > var10; ++var10) {
Class129.anIntArray1695[var10] = 0;
Unsorted.anIntArray1138[var10] = 0;
Class3_Sub31.anIntArray2606[var10] = 0;
MouseListeningClass.anIntArray1920[var10] = 0;
Unsorted.anIntArray2469[var10] = 0;
}
for(var10 = -5; var10 < 104; ++var10) {
for(var11 = 0; 104 > var11; ++var11) {
var37 = var10 - -5;
if(var37 < 104) {
var13 = 255 & Class3_Sub13_Sub36.aByteArrayArrayArray3430[var8][var37][var11];
if(var13 > 0) {
MapUnderlayColorDefinition var39 = method629(-1 + var13);
Class129.anIntArray1695[var11] += var39.anInt1408;
Unsorted.anIntArray1138[var11] += var39.anInt1406;
Class3_Sub31.anIntArray2606[var11] += var39.anInt1417;
MouseListeningClass.anIntArray1920[var11] += var39.anInt1418;
++Unsorted.anIntArray2469[var11];
}
}
var13 = -5 + var10;
if(0 <= var13) {
var14 = 255 & Class3_Sub13_Sub36.aByteArrayArrayArray3430[var8][var13][var11];
if(var14 > 0) {
MapUnderlayColorDefinition var42 = method629(-1 + var14);
Class129.anIntArray1695[var11] -= var42.anInt1408;
Unsorted.anIntArray1138[var11] -= var42.anInt1406;
Class3_Sub31.anIntArray2606[var11] -= var42.anInt1417;
MouseListeningClass.anIntArray1920[var11] -= var42.anInt1418;
--Unsorted.anIntArray2469[var11];
}
}
}
if(var10 >= 0) {
var11 = 0;
var13 = 0;
var37 = 0;
var14 = 0;
var15 = 0;
for(var16 = -5; var16 < 104; ++var16) {
var44 = var16 - -5;
if(104 > var44) {
var37 += Unsorted.anIntArray1138[var44];
var15 += Unsorted.anIntArray2469[var44];
var11 += Class129.anIntArray1695[var44];
var14 += MouseListeningClass.anIntArray1920[var44];
var13 += Class3_Sub31.anIntArray2606[var44];
}
var18 = var16 + -5;
if(var18 >= 0) {
var37 -= Unsorted.anIntArray1138[var18];
var14 -= MouseListeningClass.anIntArray1920[var18];
var11 -= Class129.anIntArray1695[var18];
var15 -= Unsorted.anIntArray2469[var18];
var13 -= Class3_Sub31.anIntArray2606[var18];
}
if(0 <= var16 && var15 > 0 && var14 != 0) {
var34[var10][var16] = Class3_Sub8.method129(var13 / var15, var37 / var15, 256 * var11 / var14);
}
}
}
}
for(var10 = 1; var10 < 103; ++var10) {
label754:
for(var11 = 1; var11 < 103; ++var11) {
if(var1 || NPC.method1986(66) || (2 & Unsorted.aByteArrayArrayArray113[0][var10][var11]) != 0 || (16 & Unsorted.aByteArrayArrayArray113[var8][var10][var11]) == 0 && PacketParser.method823(var11, var10, -87, var8) == Class140_Sub3.anInt2745) {
if(var8 < Class85.anInt1174) {
Class85.anInt1174 = var8;
}
var37 = 255 & Class3_Sub13_Sub36.aByteArrayArrayArray3430[var8][var10][var11];
var13 = aByteArrayArrayArray1828[var8][var10][var11] & 255;
if(0 < var37 || var13 > 0) {
var15 = Class44.anIntArrayArrayArray723[var8][var10 + 1][var11];
var14 = Class44.anIntArrayArrayArray723[var8][var10][var11];
var44 = Class44.anIntArrayArrayArray723[var8][var10][1 + var11];
var16 = Class44.anIntArrayArrayArray723[var8][1 + var10][var11 + 1];
if(0 < var8) {
boolean var47 = true;
if(var37 == 0 && Unsorted.aByteArrayArrayArray1328[var8][var10][var11] != 0) {
var47 = false;
}
if(var13 > 0 && !Class3_Sub13_Sub37.method350((byte)-73, var13 + -1).aBoolean2102) {
var47 = false;
}
if(var47 && var14 == var15 && var16 == var14 && var14 == var44) {
Class38_Sub1.anIntArrayArrayArray2609[var8][var10][var11] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var8][var10][var11], 4);
}
}
if(var37 <= 0) {
var18 = -1;
var19 = 0;
} else {
var18 = var34[var10][var11];
var20 = (var18 & 127) + var5;
if(var20 >= 0) {
if(var20 > 127) {
var20 = 127;
}
} else {
var20 = 0;
}
var21 = (896 & var18) + (var18 + var4 & '\ufc00') + var20;
var19 = Class51.anIntArray834[Unsorted.method1100(96, var21)];
}
var20 = var35[var10][var11];
var23 = var35[var10][var11 + 1];
var21 = var35[1 + var10][var11];
var22 = var35[var10 - -1][var11 - -1];
if(var13 == 0) {
method1629(var8, var10, var11, 0, 0, -1, var14, var15, var16, var44, Unsorted.method1100(var20, var18), Unsorted.method1100(var21, var18), Unsorted.method1100(var22, var18), Unsorted.method1100(var23, var18), 0, 0, 0, 0, var19, 0);
if(HDToolKit.highDetail && var8 > 0 && var18 != -1 && method629(-1 + var37).aBoolean1411) {
Class141.method2037(0, 0, true, false, var10, var11, var14 - Class44.anIntArrayArrayArray723[0][var10][var11], -Class44.anIntArrayArrayArray723[0][1 + var10][var11] + var15, var16 - Class44.anIntArrayArrayArray723[0][1 + var10][1 + var11], var44 - Class44.anIntArrayArrayArray723[0][var10][1 + var11]);
}
if(HDToolKit.highDetail && !var1 && Class3_Sub13_Sub9.anIntArrayArray3115 != null && 0 == var8) {
for(var24 = var10 + -1; var10 - -1 >= var24; ++var24) {
for(int var52 = -1 + var11; var52 <= 1 + var11; ++var52) {
if((var24 != var10 || var11 != var52) && var24 >= 0 && var24 < 104 && 0 <= var52 && var52 < 104) {
int var54 = aByteArrayArrayArray1828[var8][var24][var52] & 255;
if(var54 != 0) {
Class168 var53 = Class3_Sub13_Sub37.method350((byte)-25, -1 + var54);
if(var53.anInt2095 != -1 && 4 == Class51.anInterface2_838.method18(var53.anInt2095, 255)) {
Class3_Sub13_Sub9.anIntArrayArray3115[var10][var11] = var53.anInt2094 + (var53.anInt2101 << 24);
continue label754;
}
}
}
}
}
}
} else {
var24 = 1 + Unsorted.aByteArrayArrayArray1328[var8][var10][var11];
byte var25 = PacketParser.aByteArrayArrayArray81[var8][var10][var11];
Class168 var26 = Class3_Sub13_Sub37.method350((byte)-105, var13 + -1);
int var27;
int var29;
int var28;
if(HDToolKit.highDetail && !var1 && null != Class3_Sub13_Sub9.anIntArrayArray3115 && 0 == var8) {
if(-1 != var26.anInt2095 && Class51.anInterface2_838.method18(var26.anInt2095, 255) == 4) {
Class3_Sub13_Sub9.anIntArrayArray3115[var10][var11] = (var26.anInt2101 << 24) + var26.anInt2094;
} else {
label722:
for(var27 = var10 + -1; 1 + var10 >= var27; ++var27) {
for(var28 = var11 + -1; 1 + var11 >= var28; ++var28) {
if((var27 != var10 || var11 != var28) && var27 >= 0 && var27 < 104 && var28 >= 0 && var28 < 104) {
var29 = aByteArrayArrayArray1828[var8][var27][var28] & 255;
if(var29 != 0) {
Class168 var30 = Class3_Sub13_Sub37.method350((byte)-14, -1 + var29);
if(var30.anInt2095 != -1 && Class51.anInterface2_838.method18(var30.anInt2095, 255) == 4) {
Class3_Sub13_Sub9.anIntArrayArray3115[var10][var11] = var30.anInt2094 + (var30.anInt2101 << 24);
break label722;
}
}
}
}
}
}
}
var27 = var26.anInt2095;
if(0 <= var27 && !Class51.anInterface2_838.method17(var27, 101)) {
var27 = -1;
}
int var31;
int var55;
if(var27 < 0) {
if(var26.anInt2103 == -1) {
var28 = -2;
var29 = 0;
} else {
var28 = var26.anInt2103;
var55 = var5 + (var28 & 127);
if(var55 >= 0) {
if(var55 > 127) {
var55 = 127;
}
} else {
var55 = 0;
}
var31 = (var28 & 896) + (('\ufc00' & var28 + var4) - -var55);
var29 = Class51.anIntArray834[LinkableRSString.method729((byte)-85, var31, 96)];
}
} else {
var28 = -1;
var29 = Class51.anIntArray834[LinkableRSString.method729((byte)-126, Class51.anInterface2_838.method15(var27, '\uffff'), 96)];
}
if(var26.anInt2098 >= 0) {
var55 = var26.anInt2098;
var31 = var5 + (var55 & 127);
if(var31 >= 0) {
if(127 < var31) {
var31 = 127;
}
} else {
var31 = 0;
}
int var32 = (896 & var55) + (('\ufc00' & var55 + var4) - -var31);
var29 = Class51.anIntArray834[LinkableRSString.method729((byte)-101, var32, 96)];
}
method1629(var8, var10, var11, var24, var25, var27, var14, var15, var16, var44, Unsorted.method1100(var20, var18), Unsorted.method1100(var21, var18), Unsorted.method1100(var22, var18), Unsorted.method1100(var23, var18), LinkableRSString.method729((byte)-72, var28, var20), LinkableRSString.method729((byte)-107, var28, var21), LinkableRSString.method729((byte)-82, var28, var22), LinkableRSString.method729((byte)-93, var28, var23), var19, var29);
if(HDToolKit.highDetail && var8 > 0) {
Class141.method2037(var24, var25, var28 == -2 || !var26.aBoolean2093, -1 == var18 || !method629(-1 + var37).aBoolean1411, var10, var11, -Class44.anIntArrayArrayArray723[0][var10][var11] + var14, var15 - Class44.anIntArrayArrayArray723[0][1 + var10][var11], -Class44.anIntArrayArrayArray723[0][1 + var10][var11 + 1] + var16, -Class44.anIntArrayArrayArray723[0][var10][1 + var11] + var44);
}
}
}
}
}
}
if(HDToolKit.highDetail) {
float[][] var38 = new float[105][105];
int[][] var45 = Class44.anIntArrayArrayArray723[var8];
float[][] var40 = new float[105][105];
float[][] var43 = new float[105][105];
for(var14 = 1; var14 <= 103; ++var14) {
for(var15 = 1; var15 <= 103; ++var15) {
var44 = var45[var15][var14 - -1] + -var45[var15][-1 + var14];
var16 = -var45[var15 - 1][var14] + var45[var15 + 1][var14];
float var51 = (float)Math.sqrt((double)(var16 * var16 - -65536 - -(var44 * var44)));
var38[var15][var14] = (float)var16 / var51;
var40[var15][var14] = -256.0F / var51;
var43[var15][var14] = (float)var44 / var51;
}
}
Class3_Sub11[] var50;
if(var1) {
var50 = Class3_Sub13_Sub27.method298(Unsorted.aByteArrayArrayArray113, Unsorted.aByteArrayArrayArray1328[var8], Class3_Sub13_Sub36.aByteArrayArrayArray3430[var8], var35, var40, Class3_Sub13_Sub9.anIntArrayArray3115, aByteArrayArrayArray1828[var8], PacketParser.aByteArrayArrayArray81[var8], var38, var8, var43, var34, Class44.anIntArrayArrayArray723[var8], Class58.anIntArrayArrayArray914[0]);
Class61.method1213(var8, var50);
} else {
var50 = Class3_Sub13_Sub27.method298(Unsorted.aByteArrayArrayArray113, Unsorted.aByteArrayArrayArray1328[var8], Class3_Sub13_Sub36.aByteArrayArrayArray3430[var8], var35, var40, (int[][])null, aByteArrayArrayArray1828[var8], PacketParser.aByteArrayArrayArray81[var8], var38, var8, var43, var34, Class44.anIntArrayArrayArray723[var8], (int[][])null);
Class3_Sub11[] var46 = Class1.method70(var40, var38, Class44.anIntArrayArrayArray723[var8], var8, var43, PacketParser.aByteArrayArrayArray81[var8], var35, Unsorted.aByteArrayArrayArray1328[var8], Class3_Sub13_Sub36.aByteArrayArrayArray3430[var8], aByteArrayArrayArray1828[var8], Unsorted.aByteArrayArrayArray113);
Class3_Sub11[] var49 = new Class3_Sub11[var50.length - -var46.length];
for(var44 = 0; var44 < var50.length; ++var44) {
var49[var44] = var50[var44];
}
for(var44 = 0; var44 < var46.length; ++var44) {
var49[var50.length + var44] = var46[var44];
}
Class61.method1213(var8, var49);
Class129.method1769(var43, Class3_Sub13_Sub36.aByteArrayArrayArray3430[var8], PacketParser.aByteArrayArrayArray81[var8], Class68.aClass43Array1021, var8, Class68.anInt1032, var40, Unsorted.aByteArrayArrayArray1328[var8], aByteArrayArrayArray1828[var8], Class44.anIntArrayArrayArray723[var8], var38);
}
}
Class3_Sub13_Sub36.aByteArrayArrayArray3430[var8] = (byte[][])null;
aByteArrayArrayArray1828[var8] = (byte[][])null;
Unsorted.aByteArrayArrayArray1328[var8] = (byte[][])null;
PacketParser.aByteArrayArrayArray81[var8] = (byte[][])null;
Class67.aByteArrayArrayArray1014[var8] = (byte[][])null;
}
if(var2 <= 26) {
method2187(86);
}
Class128.method1764();
if(!var1) {
int var36;
for(var8 = 0; 104 > var8; ++var8) {
for(var36 = 0; var36 < 104; ++var36) {
if((Unsorted.aByteArrayArrayArray113[1][var8][var36] & 2) == 2) {
Class3_Sub28_Sub18.method709(var8, var36);
}
}
}
for(var8 = 0; 4 > var8; ++var8) {
for(var36 = 0; var36 <= 104; ++var36) {
for(var10 = 0; var10 <= 104; ++var10) {
short var48;
if((Class38_Sub1.anIntArrayArrayArray2609[var8][var10][var36] & 1) != 0) {
var14 = var8;
for(var11 = var36; var11 > 0 && (1 & Class38_Sub1.anIntArrayArrayArray2609[var8][var10][-1 + var11]) != 0; --var11) {
}
var13 = var8;
for(var37 = var36; var37 < 104 && (1 & Class38_Sub1.anIntArrayArrayArray2609[var8][var10][var37 - -1]) != 0; ++var37) {
}
label453:
while(var13 > 0) {
for(var15 = var11; var15 <= var37; ++var15) {
if((Class38_Sub1.anIntArrayArrayArray2609[var13 + -1][var10][var15] & 1) == 0) {
break label453;
}
}
--var13;
}
label464:
while(var14 < 3) {
for(var15 = var11; var15 <= var37; ++var15) {
if((1 & Class38_Sub1.anIntArrayArrayArray2609[var14 + 1][var10][var15]) == 0) {
break label464;
}
}
++var14;
}
var15 = (var14 - (-1 + var13)) * (-var11 + (var37 - -1));
if(var15 >= 8) {
var48 = 240;
var44 = -var48 + Class44.anIntArrayArrayArray723[var14][var10][var11];
var18 = Class44.anIntArrayArrayArray723[var13][var10][var11];
Class167.method2263(1, 128 * var10, 128 * var10, 128 * var11, var37 * 128 + 128, var44, var18);
for(var19 = var13; var19 <= var14; ++var19) {
for(var20 = var11; var37 >= var20; ++var20) {
Class38_Sub1.anIntArrayArrayArray2609[var19][var10][var20] = Unsorted.bitwiseAnd(Class38_Sub1.anIntArrayArrayArray2609[var19][var10][var20], -2);
}
}
}
}
if((2 & Class38_Sub1.anIntArrayArrayArray2609[var8][var10][var36]) != 0) {
for(var11 = var10; 0 < var11 && (Class38_Sub1.anIntArrayArrayArray2609[var8][-1 + var11][var36] & 2) != 0; --var11) {
}
var14 = var8;
var13 = var8;
for(var37 = var10; 104 > var37 && (2 & Class38_Sub1.anIntArrayArrayArray2609[var8][var37 - -1][var36]) != 0; ++var37) {
}
label503:
while(var13 > 0) {
for(var15 = var11; var15 <= var37; ++var15) {
if(0 == (2 & Class38_Sub1.anIntArrayArrayArray2609[-1 + var13][var15][var36])) {
break label503;
}
}
--var13;
}
label514:
while(var14 < 3) {
for(var15 = var11; var15 <= var37; ++var15) {
if((2 & Class38_Sub1.anIntArrayArrayArray2609[var14 + 1][var15][var36]) == 0) {
break label514;
}
}
++var14;
}
var15 = (-var11 + var37 - -1) * (-var13 + var14 - -1);
if(8 <= var15) {
var48 = 240;
var44 = Class44.anIntArrayArrayArray723[var14][var11][var36] - var48;
var18 = Class44.anIntArrayArrayArray723[var13][var11][var36];
Class167.method2263(2, var11 * 128, 128 * var37 + 128, 128 * var36, var36 * 128, var44, var18);
for(var19 = var13; var14 >= var19; ++var19) {
for(var20 = var11; var20 <= var37; ++var20) {
Class38_Sub1.anIntArrayArrayArray2609[var19][var20][var36] = Unsorted.bitwiseAnd(Class38_Sub1.anIntArrayArrayArray2609[var19][var20][var36], -3);
}
}
}
}
if((4 & Class38_Sub1.anIntArrayArrayArray2609[var8][var10][var36]) != 0) {
var11 = var10;
var37 = var10;
for(var13 = var36; 0 < var13 && 0 != (4 & Class38_Sub1.anIntArrayArrayArray2609[var8][var10][-1 + var13]); --var13) {
}
for(var14 = var36; var14 < 104 && (Class38_Sub1.anIntArrayArrayArray2609[var8][var10][var14 + 1] & 4) != 0; ++var14) {
}
label554:
while(var11 > 0) {
for(var15 = var13; var14 >= var15; ++var15) {
if(0 == (Class38_Sub1.anIntArrayArrayArray2609[var8][var11 + -1][var15] & 4)) {
break label554;
}
}
--var11;
}
label565:
while(var37 < 104) {
for(var15 = var13; var14 >= var15; ++var15) {
if(0 == (4 & Class38_Sub1.anIntArrayArrayArray2609[var8][1 + var37][var15])) {
break label565;
}
}
++var37;
}
if(4 <= (1 + -var11 + var37) * (var14 - (var13 - 1))) {
var15 = Class44.anIntArrayArrayArray723[var8][var11][var13];
Class167.method2263(4, var11 * 128, 128 * var37 - -128, var13 * 128, 128 + 128 * var14, var15, var15);
for(var16 = var11; var37 >= var16; ++var16) {
for(var44 = var13; var14 >= var44; ++var44) {
Class38_Sub1.anIntArrayArrayArray2609[var8][var16][var44] = Unsorted.bitwiseAnd(Class38_Sub1.anIntArrayArrayArray2609[var8][var16][var44], -5);
}
}
}
}
}
}
}
}
} catch (RuntimeException var33) {
throw ClientErrorException.clientError(var33, "di.K(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ')');
}
}
private synchronized void method2190() {
try {
if(this.anImageConsumer2978 != null) {
this.anImageConsumer2978.setPixels(0, 0, this.anInt2012, this.anInt2011, this.aColorModel2979, this.anIntArray2007, 0, this.anInt2012);
this.anImageConsumer2978.imageComplete(2);
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "di.L(" + 19661184 + ')');
}
}
public final synchronized boolean isConsumer(ImageConsumer var1) {
try {
return this.anImageConsumer2978 == var1;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "di.isConsumer(" + (var1 != null?"{...}":"null") + ')');
}
}
static boolean method2191(int var0, int var1, int var2, int var4, int var5, int var6, int var7, boolean var8, int var9, int var10, int var11) {
try {
int var12;
int var13;
for(var12 = 0; var12 < 104; ++var12) {
for(var13 = 0; var13 < 104; ++var13) {
Class84.anIntArrayArray1160[var12][var13] = 0;
Class97.anIntArrayArray1373[var12][var13] = 99999999;
}
}
var12 = var2;
Class84.anIntArrayArray1160[var2][var10] = 99;
var13 = var10;
Class97.anIntArrayArray1373[var2][var10] = 0;
byte var14 = 0;
boolean var16 = false;
int var15 = 0;
Class3_Sub13_Sub38.anIntArray3456[var14] = var2;
int var27 = var14 + 1;
Class45.anIntArray729[var14] = var10;
int[][] var17 = AtmosphereParser.aClass91Array1182[WorldListCountry.localPlane].anIntArrayArray1304;
int var18;
while(var15 != var27) {
var13 = Class45.anIntArray729[var15];
var12 = Class3_Sub13_Sub38.anIntArray3456[var15];
var15 = 4095 & var15 + 1;
if(var12 == var0 && var13 == var4) {
var16 = true;
break;
}
if(var9 != 0) {
if((var9 < 5 || 10 == var9) && AtmosphereParser.aClass91Array1182[WorldListCountry.localPlane].method1488(var4, var12, var13, var0, var9 + -1, 1, var7)) {
var16 = true;
break;
}
if(var9 < 10 && AtmosphereParser.aClass91Array1182[WorldListCountry.localPlane].method1492(var4, -1 + var9, var0, var13, 1, var7, var12, 95)) {
var16 = true;
break;
}
}
if(var11 != 0 && 0 != var6 && AtmosphereParser.aClass91Array1182[WorldListCountry.localPlane].method1498(var0, var13, var12, 1, var11, var1, var4, var6)) {
var16 = true;
break;
}
var18 = 1 + Class97.anIntArrayArray1373[var12][var13];
if(0 < var12 && Class84.anIntArrayArray1160[var12 + -1][var13] == 0 && (19661064 & var17[var12 + -1][var13]) == 0) {
Class3_Sub13_Sub38.anIntArray3456[var27] = -1 + var12;
Class45.anIntArray729[var27] = var13;
var27 = var27 - -1 & 4095;
Class84.anIntArrayArray1160[-1 + var12][var13] = 2;
Class97.anIntArrayArray1373[-1 + var12][var13] = var18;
}
if(103 > var12 && Class84.anIntArrayArray1160[var12 + 1][var13] == 0 && (var17[var12 + 1][var13] & 19661184) == 0) {
Class3_Sub13_Sub38.anIntArray3456[var27] = var12 - -1;
Class45.anIntArray729[var27] = var13;
var27 = 1 + var27 & 4095;
Class84.anIntArrayArray1160[var12 - -1][var13] = 8;
Class97.anIntArrayArray1373[1 + var12][var13] = var18;
}
if(var13 > 0 && Class84.anIntArrayArray1160[var12][var13 - 1] == 0 && (19661058 & var17[var12][-1 + var13]) == 0) {
Class3_Sub13_Sub38.anIntArray3456[var27] = var12;
Class45.anIntArray729[var27] = -1 + var13;
Class84.anIntArrayArray1160[var12][var13 - 1] = 1;
var27 = var27 + 1 & 4095;
Class97.anIntArrayArray1373[var12][-1 + var13] = var18;
}
if(103 > var13 && Class84.anIntArrayArray1160[var12][1 + var13] == 0 && (19661088 & var17[var12][var13 + 1]) == 0) {
Class3_Sub13_Sub38.anIntArray3456[var27] = var12;
Class45.anIntArray729[var27] = var13 - -1;
var27 = 1 + var27 & 4095;
Class84.anIntArrayArray1160[var12][1 + var13] = 4;
Class97.anIntArrayArray1373[var12][var13 - -1] = var18;
}
if(var12 > 0 && var13 > 0 && Class84.anIntArrayArray1160[-1 + var12][var13 - 1] == 0 && (var17[var12 - 1][-1 + var13] & 19661070) == 0 && (19661064 & var17[var12 - 1][var13]) == 0 && (19661058 & var17[var12][-1 + var13]) == 0) {
Class3_Sub13_Sub38.anIntArray3456[var27] = -1 + var12;
Class45.anIntArray729[var27] = var13 + -1;
var27 = 1 + var27 & 4095;
Class84.anIntArrayArray1160[-1 + var12][-1 + var13] = 3;
Class97.anIntArrayArray1373[var12 - 1][var13 + -1] = var18;
}
if(var12 < 103 && 0 < var13 && Class84.anIntArrayArray1160[var12 - -1][var13 - 1] == 0 && 0 == (19661187 & var17[var12 - -1][-1 + var13]) && (19661184 & var17[var12 - -1][var13]) == 0 && (19661058 & var17[var12][-1 + var13]) == 0) {
Class3_Sub13_Sub38.anIntArray3456[var27] = var12 + 1;
Class45.anIntArray729[var27] = -1 + var13;
var27 = 4095 & var27 + 1;
Class84.anIntArrayArray1160[1 + var12][var13 + -1] = 9;
Class97.anIntArrayArray1373[var12 - -1][-1 + var13] = var18;
}
if(0 < var12 && var13 < 103 && 0 == Class84.anIntArrayArray1160[var12 + -1][var13 + 1] && 0 == (19661112 & var17[var12 + -1][1 + var13]) && 0 == (var17[var12 + -1][var13] & 19661064) && (19661088 & var17[var12][1 + var13]) == 0) {
Class3_Sub13_Sub38.anIntArray3456[var27] = var12 - 1;
Class45.anIntArray729[var27] = 1 + var13;
Class84.anIntArrayArray1160[-1 + var12][var13 - -1] = 6;
var27 = 4095 & 1 + var27;
Class97.anIntArrayArray1373[-1 + var12][1 + var13] = var18;
}
if(var12 < 103 && var13 < 103 && Class84.anIntArrayArray1160[var12 - -1][1 + var13] == 0 && (19661280 & var17[1 + var12][var13 + 1]) == 0 && (var17[1 + var12][var13] & 19661184) == 0 && (19661088 & var17[var12][var13 - -1]) == 0) {
Class3_Sub13_Sub38.anIntArray3456[var27] = var12 + 1;
Class45.anIntArray729[var27] = var13 - -1;
Class84.anIntArrayArray1160[var12 + 1][1 + var13] = 12;
var27 = var27 - -1 & 4095;
Class97.anIntArrayArray1373[1 + var12][var13 - -1] = var18;
}
}
Class129.anInt1692 = 0;
int var19;
if(!var16) {
if(!var8) {
return false;
}
var18 = 1000;
var19 = 100;
byte var20 = 10;
for(int var21 = var0 + -var20; var20 + var0 >= var21; ++var21) {
for(int var22 = var4 + -var20; var4 - -var20 >= var22; ++var22) {
if(var21 >= 0 && var22 >= 0 && 104 > var21 && var22 < 104 && 100 > Class97.anIntArrayArray1373[var21][var22]) {
int var24 = 0;
if(var4 > var22) {
var24 = var4 + -var22;
} else if(var6 + var4 - 1 < var22) {
var24 = 1 + (-var4 - var6) + var22;
}
int var23 = 0;
if(var0 <= var21) {
if(-1 + var11 + var0 < var21) {
var23 = 1 - var11 - (var0 - var21);
}
} else {
var23 = var0 + -var21;
}
int var25 = var24 * var24 + var23 * var23;
if(var18 > var25 || var18 == var25 && Class97.anIntArrayArray1373[var21][var22] < var19) {
var13 = var22;
var18 = var25;
var12 = var21;
var19 = Class97.anIntArrayArray1373[var21][var22];
}
}
}
}
if(var18 == 1000) {
return false;
}
if(var2 == var12 && var10 == var13) {
return false;
}
Class129.anInt1692 = 1;
}
byte var28 = 0;
Class3_Sub13_Sub38.anIntArray3456[var28] = var12;
var15 = var28 + 1;
Class45.anIntArray729[var28] = var13;
for(var18 = var19 = Class84.anIntArrayArray1160[var12][var13]; var2 != var12 || var13 != var10; var18 = Class84.anIntArrayArray1160[var12][var13]) {
if(var19 != var18) {
var19 = var18;
Class3_Sub13_Sub38.anIntArray3456[var15] = var12;
Class45.anIntArray729[var15++] = var13;
}
if((var18 & 2) == 0) {
if(0 != (8 & var18)) {
--var12;
}
} else {
++var12;
}
if((1 & var18) == 0) {
if(0 != (4 & var18)) {
--var13;
}
} else {
++var13;
}
}
if(var15 > 0) {
Class3_Sub13_Sub27.method299(100, var15, var5);
return true;
} else return var5 != 1;
} catch (RuntimeException var26) {
throw ClientErrorException.clientError(var26, "di.J(" + var0 + ',' + var1 + ',' + var2 + ',' + -1001 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var10 + ',' + var11 + ')');
}
}
final void method2179(Graphics var3) {
try {
this.method2190();
var3.drawImage(this.anImage2009, 0, 0, this);
} catch (RuntimeException var6) {
throw ClientErrorException.clientError(var6, "di.C(" + 0 + ',' + 0 + ',' + (var3 != null?"{...}":"null") + ',' + 0 + ')');
}
}
final void method2185(int var1, int var3, Component var4) {
try {
this.anInt2011 = var1;
this.anIntArray2007 = new int[var3 * var1 + 1];
this.anInt2012 = var3;
this.aColorModel2979 = new DirectColorModel(32, 16711680, '\uff00', 255);
this.anImage2009 = var4.createImage(this);
this.method2190();
var4.prepareImage(this.anImage2009, this);
this.method2190();
var4.prepareImage(this.anImage2009, this);
this.method2190();
var4.prepareImage(this.anImage2009, this);
this.method2182();
} catch (RuntimeException var6) {
throw ClientErrorException.clientError(var6, "di.F(" + var1 + ',' + false + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ')');
}
}
public final boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
try {
return true;
} catch (RuntimeException var8) {
throw ClientErrorException.clientError(var8, "di.imageUpdate(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')');
}
}
// static void method2192() {
// try {
// RenderAnimationDefinition.aReferenceCache_1955.clearSoftReferences();
// } catch (RuntimeException var2) {
// throw ClientErrorException.clientError(var2, "di.M(" + -68 + ')');
// }
// }
public final void requestTopDownLeftRightResend(ImageConsumer var1) {}
}

View file

@ -0,0 +1,40 @@
package org.runite.client;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.Shape;
import java.awt.image.BufferedImage;
import java.awt.image.DataBufferInt;
import java.awt.image.DirectColorModel;
import java.awt.image.Raster;
import java.awt.image.WritableRaster;
import java.util.Hashtable;
public final class Class158_Sub2 extends Class158 {
private Component aComponent2983;
final void method2179(Graphics var3) {
var3.drawImage(this.anImage2009, 0, 0, this.aComponent2983);
}
final void method2185(int var1, int var3, Component var4) {
this.anIntArray2007 = new int[var3 * var1 + 1];
this.anInt2011 = var1;
this.anInt2012 = var3;
DataBufferInt var5 = new DataBufferInt(this.anIntArray2007, this.anIntArray2007.length);
DirectColorModel var6 = new DirectColorModel(32, 16711680, '\uff00', 255);
WritableRaster var7 = Raster.createWritableRaster(var6.createCompatibleSampleModel(this.anInt2012, this.anInt2011), var5, (Point)null);
this.anImage2009 = new BufferedImage(var6, var7, false, new Hashtable<>());
this.aComponent2983 = var4;
this.method2182();
}
final void drawGraphics(int width, int x, int height, Graphics var5, int y) {
Shape var7 = var5.getClip();
var5.clipRect(x, y, width, height);
var5.drawImage(this.anImage2009, 0, 0, this.aComponent2983);
var5.setClip(var7);
}
}

View file

@ -0,0 +1,168 @@
package org.runite.client;
import org.rs09.client.data.ReferenceCache;
final class Class159 {
static ReferenceCache aReferenceCache_2016 = new ReferenceCache(100);
static int[] anIntArray2017 = new int[]{1, 2, 4, 8};
static int anInt2020 = 0;
static int[] anIntArray2021 = new int[2];
static int localPlayerCount = 0;
static int anInt2023 = 0;
static int anInt2024 = 0;
static int[] anIntArray1681;
static int anInt1740 = 0;
static Class12 method2193(int var0, int var1, int var2) {
Class3_Sub2 var3 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2];
if(var3 == null) {
return null;
} else {
Class12 var4 = var3.aClass12_2230;
var3.aClass12_2230 = null;
return var4;
}
}
static boolean method2194() {
try {
if(Unsorted.aBoolean3641) {
try {
return !(Boolean) TextCore.aClass94_3209.method1577(Class38.aClass87_665.applet);
} catch (Throwable var2) {
}
}
return true;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "vl.B(" + 255 + ')');
}
}
static void method2195(int var0) {
try {
short var2 = 256;
if(var0 > var2) {
var0 = var2;
}
if(var0 > 10) {
var0 = 10;
}
Class72.anInt1071 += var0 * 128;
int var3;
if(Class161.anIntArray2026.length < Class72.anInt1071) {
Class72.anInt1071 -= Class161.anIntArray2026.length;
var3 = (int)(12.0D * Math.random());
Class3_Sub13_Sub10.method215((byte)-119, Class163_Sub2_Sub1.aClass109_Sub1Array4027[var3]);
}
var3 = 0;
int var5 = (var2 + -var0) * 128;
int var4 = 128 * var0;
int var6;
int var7;
for(var6 = 0; var6 < var5; ++var6) {
var7 = anIntArray1681[var3 - -var4] - var0 * Class161.anIntArray2026[-1 + Class161.anIntArray2026.length & Class72.anInt1071 + var3] / 6;
if(0 > var7) {
var7 = 0;
}
anIntArray1681[var3++] = var7;
}
int var8;
int var9;
for(var6 = var2 + -var0; var2 > var6; ++var6) {
var7 = var6 * 128;
for(var8 = 0; 128 > var8; ++var8) {
var9 = (int)(100.0D * Math.random());
if(var9 < 50 && var8 > 10 && var8 < 118) {
anIntArray1681[var8 + var7] = 255;
} else {
anIntArray1681[var8 + var7] = 0;
}
}
}
for(var6 = 0; var2 + -var0 > var6; ++var6) {
Class3_Sub28_Sub5.anIntArray3592[var6] = Class3_Sub28_Sub5.anIntArray3592[var6 - -var0];
}
for(var6 = var2 - var0; var2 > var6; ++var6) {
Class3_Sub28_Sub5.anIntArray3592[var6] = (int)(Math.sin((double)Class1.anInt57 / 14.0D) * 16.0D + 14.0D * Math.sin((double)Class1.anInt57 / 15.0D) + 12.0D * Math.sin((double)Class1.anInt57 / 16.0D));
++Class1.anInt57;
}
anInt1740 += var0;
var6 = (var0 - -(1 & Class44.anInt719)) / 2;
if(var6 > 0) {
for(var7 = 0; anInt1740 > var7; ++var7) {
var8 = 2 + (int)(124.0D * Math.random());
var9 = (int)(128.0D * Math.random()) + 128;
anIntArray1681[var8 - -(var9 << 7)] = 192;
}
anInt1740 = 0;
int var10;
for(var7 = 0; var7 < var2; ++var7) {
var9 = var7 * 128;
var8 = 0;
for(var10 = -var6; var10 < 128; ++var10) {
if(128 > var6 + var10) {
var8 += anIntArray1681[var9 + (var10 - -var6)];
}
if(-1 + -var6 + var10 >= 0) {
var8 -= anIntArray1681[-var6 + -1 + var10 + var9];
}
if(0 <= var10) {
Class3_Sub30_Sub1.anIntArray3805[var10 + var9] = var8 / (1 + var6 * 2);
}
}
}
for(var7 = 0; 128 > var7; ++var7) {
var8 = 0;
for(var9 = -var6; var2 > var9; ++var9) {
var10 = var9 * 128;
if(var2 > var9 + var6) {
var8 += Class3_Sub30_Sub1.anIntArray3805[var6 * 128 + (var7 - -var10)];
}
if(0 <= var9 - var6 - 1) {
var8 -= Class3_Sub30_Sub1.anIntArray3805[-((1 + var6) * 128) + (var7 - -var10)];
}
if(var9 >= 0) {
anIntArray1681[var10 + var7] = var8 / (var6 * 2 - -1);
}
}
}
}
} catch (RuntimeException var11) {
throw ClientErrorException.clientError(var11, "vl.E(" + var0 + ',' + 0 + ')');
}
}
// static void method2196() {
// try {
// Class3_Sub13_Sub34.aReferenceCache_3412.clearSoftReferences();
//
// Class3_Sub13_Sub31.aReferenceCache_3369.clearSoftReferences();
// } catch (RuntimeException var2) {
// throw ClientErrorException.clientError(var2, "vl.D(" + 128 + ')');
// }
// }
}

View file

@ -0,0 +1,237 @@
package org.runite.client;
import javax.media.opengl.GL;
import java.nio.ByteBuffer;
final class Class160 implements ShaderInterface {
private int anInt2187 = -1;
private boolean aBoolean2188 = false;
private int[] anIntArray2189 = null;
private void method2198() {
GL var1 = HDToolKit.gl;
this.anInt2187 = var1.glGenLists(2);
var1.glNewList(this.anInt2187, 4864);
if(this.anIntArray2189 == null) {
var1.glTexEnvi(8960, '\u8588', '\u8577');
} else {
var1.glActiveTexture('\u84c1');
var1.glTexGeni(8192, 9472, '\u8511');
var1.glTexGeni(8193, 9472, '\u8511');
var1.glTexGeni(8194, 9472, '\u8511');
var1.glEnable(3168);
var1.glEnable(3169);
var1.glEnable(3170);
var1.glEnable('\u8513');
var1.glMatrixMode(5890);
var1.glLoadIdentity();
var1.glRotatef(22.5F, 1.0F, 0.0F, 0.0F);
var1.glMatrixMode(5888);
if(this.aBoolean2188) {
var1.glTexEnvi(8960, '\u8571', 260);
var1.glTexEnvi(8960, '\u8590', 770);
var1.glTexEnvi(8960, '\u8572', 7681);
var1.glTexEnvi(8960, '\u8588', '\u8577');
} else {
var1.glTexEnvi(8960, '\u8571', 7681);
var1.glTexEnvi(8960, '\u8580', '\u8578');
var1.glTexEnvi(8960, '\u8572', 8448);
var1.glActiveTexture('\u84c2');
var1.glTexEnvi(8960, 8704, '\u8570');
var1.glTexEnvi(8960, '\u8571', 260);
var1.glTexEnvi(8960, '\u8580', '\u8578');
var1.glTexEnvi(8960, '\u8581', '\u8578');
var1.glTexEnvi(8960, '\u8591', 770);
var1.glTexEnvi(8960, '\u8572', 7681);
var1.glTexEnvi(8960, '\u8588', '\u8577');
var1.glBindTexture(3553, HDToolKit.anInt1810);
var1.glEnable(3553);
}
var1.glActiveTexture('\u84c0');
}
var1.glEndList();
var1.glNewList(this.anInt2187 + 1, 4864);
if(this.anIntArray2189 == null) {
var1.glTexEnvi(8960, '\u8588', 5890);
} else {
var1.glActiveTexture('\u84c1');
var1.glDisable(3168);
var1.glDisable(3169);
var1.glDisable(3170);
var1.glDisable('\u8513');
var1.glMatrixMode(5890);
var1.glLoadIdentity();
var1.glMatrixMode(5888);
if(this.aBoolean2188) {
var1.glTexEnvi(8960, '\u8571', 8448);
var1.glTexEnvi(8960, '\u8590', 768);
var1.glTexEnvi(8960, '\u8572', 8448);
var1.glTexEnvi(8960, '\u8588', 5890);
} else {
var1.glTexEnvi(8960, '\u8571', 8448);
var1.glTexEnvi(8960, '\u8580', 5890);
var1.glActiveTexture('\u84c2');
var1.glTexEnvi(8960, 8704, 8448);
var1.glTexEnvi(8960, '\u8571', 8448);
var1.glTexEnvi(8960, '\u8580', 5890);
var1.glTexEnvi(8960, '\u8591', 768);
var1.glTexEnvi(8960, '\u8572', 8448);
var1.glTexEnvi(8960, '\u8588', 5890);
var1.glDisable(3553);
}
var1.glActiveTexture('\u84c0');
}
var1.glEndList();
}
public final void method21() {
GL var1 = HDToolKit.gl;
if(Class106.aBoolean1441) {
var1.glCallList(this.anInt2187 + 1);
} else {
var1.glTexEnvi(8960, '\u8588', 5890);
}
}
public final int method24() {
return 4;
}
public final void method22() {
GL var1 = HDToolKit.gl;
HDToolKit.method1847(1);
if(Class106.aBoolean1441) {
var1.glCallList(this.anInt2187);
} else {
var1.glTexEnvi(8960, '\u8588', '\u8577');
}
}
public final void method23(int var1) {
GL var2 = HDToolKit.gl;
if(Class106.aBoolean1441 && this.anIntArray2189 != null) {
var2.glActiveTexture('\u84c1');
var2.glBindTexture('\u8513', this.anIntArray2189[var1 - 1]);
var2.glActiveTexture('\u84c0');
}
}
private void method2199() {
GL var8 = HDToolKit.gl;
if(this.anIntArray2189 == null) {
this.anIntArray2189 = new int[3];
var8.glGenTextures(3, this.anIntArray2189, 0);
}
short var9 = 4096;
byte[] var10 = new byte[var9];
byte[] var11 = new byte[var9];
byte[] var12 = new byte[var9];
for(int var13 = 0; var13 < 6; ++var13) {
int var14 = 0;
for(int var15 = 0; var15 < 64; ++var15) {
for(int var16 = 0; var16 < 64; ++var16) {
float var5 = 2.0F * (float)var16 / 64.0F - 1.0F;
float var6 = 2.0F * (float)var15 / 64.0F - 1.0F;
float var7 = (float)(1.0D / Math.sqrt((double)(var5 * var5 + 1.0F + var6 * var6)));
var5 *= var7;
var6 *= var7;
float var4;
if(var13 == 0) {
var4 = -var5;
} else if(var13 == 1) {
var4 = var5;
} else if(var13 == 2) {
var4 = var6;
} else if(var13 == 3) {
var4 = -var6;
} else if(var13 == 4) {
var4 = var7;
} else {
var4 = -var7;
}
int var1;
int var2;
int var3;
if(var4 > 0.0F) {
var1 = (int)(Math.pow((double)var4, 96.0D) * 255.0D);
var2 = (int)(Math.pow((double)var4, 36.0D) * 255.0D);
var3 = (int)(Math.pow((double)var4, 12.0D) * 255.0D);
} else {
var3 = 0;
var2 = 0;
var1 = 0;
}
if(HDToolKit.maxTextureUnits < 3) {
var1 /= 5;
var2 /= 5;
var3 /= 5;
} else {
var1 /= 2;
var2 /= 2;
var3 /= 2;
}
var11[var14] = (byte)var1;
var12[var14] = (byte)var2;
var10[var14] = (byte)var3;
++var14;
}
}
var8.glBindTexture('\u8513', this.anIntArray2189[0]);
var8.glTexImage2D('\u8515' + var13, 0, 6406, 64, 64, 0, 6406, 5121, ByteBuffer.wrap(var11));
var8.glBindTexture('\u8513', this.anIntArray2189[1]);
var8.glTexImage2D('\u8515' + var13, 0, 6406, 64, 64, 0, 6406, 5121, ByteBuffer.wrap(var12));
var8.glBindTexture('\u8513', this.anIntArray2189[2]);
var8.glTexImage2D('\u8515' + var13, 0, 6406, 64, 64, 0, 6406, 5121, ByteBuffer.wrap(var10));
Class31.anInt580 += var9 * 3;
}
}
public Class160() {
if(HDToolKit.supportTextureCubeMap && HDToolKit.maxTextureUnits >= 2) {
this.method2199();
GL var1 = HDToolKit.gl;
var1.glBindTexture('\u8513', this.anIntArray2189[0]);
var1.glTexParameteri('\u8513', 10241, 9729);
var1.glTexParameteri('\u8513', 10240, 9729);
var1.glTexParameteri('\u8513', '\u8072', '\u812f');
var1.glTexParameteri('\u8513', 10242, '\u812f');
var1.glTexParameteri('\u8513', 10243, '\u812f');
var1.glBindTexture('\u8513', this.anIntArray2189[1]);
var1.glTexParameteri('\u8513', 10241, 9729);
var1.glTexParameteri('\u8513', 10240, 9729);
var1.glTexParameteri('\u8513', '\u8072', '\u812f');
var1.glTexParameteri('\u8513', 10242, '\u812f');
var1.glTexParameteri('\u8513', 10243, '\u812f');
var1.glBindTexture('\u8513', this.anIntArray2189[2]);
var1.glTexParameteri('\u8513', 10241, 9729);
var1.glTexParameteri('\u8513', 10240, 9729);
var1.glTexParameteri('\u8513', '\u8072', '\u812f');
var1.glTexParameteri('\u8513', 10242, '\u812f');
var1.glTexParameteri('\u8513', 10243, '\u812f');
this.aBoolean2188 = HDToolKit.maxTextureUnits < 3;
}
this.method2198();
}
}

View file

@ -0,0 +1,151 @@
package org.runite.client;
final class Class161 {
static int[] anIntArray2026;
static int anInt2027 = -1;
static int anInt2028 = 0;
static Class33 aClass33_2034;
static RSString aClass94_2035 = null;
static void method2200(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
try {
int var8 = 0;
int var9 = var6;
int var10 = 0;
int var11 = var4 + -var7;
int var13 = var4 * var4;
int var12 = var6 + -var7;
int var14 = var6 * var6;
int var16 = var12 * var12;
int var17 = var14 << 1;
int var18 = var13 << 1;
int var19 = var16 << 1;
int var15 = var11 * var11;
int var20 = var15 << 1;
int var21 = var6 << 1;
int var22 = var12 << 1;
int var24 = -((-1 + var21) * var18) + var14;
int var25 = var15 * (-var22 + 1) - -var19;
int var23 = (-var21 + 1) * var13 + var17;
int var27 = var13 << 2;
int var26 = -(var20 * (var22 - 1)) + var16;
int var29 = var15 << 2;
int var28 = var14 << 2;
int var30 = var16 << 2;
int var32 = (-3 + var21) * var18;
int var31 = var17 * 3;
int var34 = (-3 + var22) * var20;
int var33 = var19 * 3;
int var35 = var28;
int var37 = var30;
int var38 = (-1 + var12) * var29;
if(var5 < 73) {
method2200(108, -88, 76, -36, -95, -64, -84, 85);
}
int var36 = (-1 + var6) * var27;
int[] var39 = Class38.anIntArrayArray663[var2];
Class3_Sub13_Sub23_Sub1.method282(var39, -var4 + var1, -87, -var11 + var1, var3);
Class3_Sub13_Sub23_Sub1.method282(var39, -var11 + var1, -66, var1 - -var11, var0);
Class3_Sub13_Sub23_Sub1.method282(var39, var1 - -var11, -68, var4 + var1, var3);
while(var9 > 0) {
if(var23 < 0) {
while(0 > var23) {
var24 += var35;
var23 += var31;
++var8;
var35 += var28;
var31 += var28;
}
}
if(var24 < 0) {
var23 += var31;
++var8;
var31 += var28;
var24 += var35;
var35 += var28;
}
boolean var40 = var9 <= var12;
if(var40) {
if(var25 < 0) {
while(var25 < 0) {
var25 += var33;
var33 += var30;
++var10;
var26 += var37;
var37 += var30;
}
}
if(0 > var26) {
var25 += var33;
++var10;
var33 += var30;
var26 += var37;
var37 += var30;
}
var26 += -var34;
var34 -= var29;
var25 += -var38;
var38 -= var29;
}
var23 += -var36;
var24 += -var32;
var32 -= var27;
--var9;
int var41 = var2 - var9;
int var43 = var8 + var1;
var36 -= var27;
int var42 = var9 + var2;
int var44 = -var8 + var1;
if(var40) {
int var45 = var1 + var10;
int var46 = -var10 + var1;
Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var41], var44, -93, var46, var3);
Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var41], var46, 121, var45, var0);
Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var41], var45, -47, var43, var3);
Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var42], var44, 124, var46, var3);
Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var42], var46, -73, var45, var0);
Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var42], var45, 111, var43, var3);
} else {
Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var41], var44, 96, var43, var3);
Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var42], var44, 124, var43, var3);
}
}
} catch (RuntimeException var47) {
throw ClientErrorException.clientError(var47, "wb.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')');
}
}
static int method2201(WorldListEntry var0, int var1, int var2, WorldListEntry var3, boolean var4) {
try {
if(var1 == 1) {
int var5 = var0.anInt722;
int var6 = var3.anInt722;
if(!var4) {
if(-1 == var6) {
var6 = 2001;
}
if(var5 == -1) {
var5 = 2001;
}
}
return -var6 + var5;
} else {
return 2 == var1?var0.method1078(102).name.method1546(var3.method1078(-119).name):(var1 == 3 ?(var0.activity.equalsString(TextCore.aClass94_946)?(var3.activity.equalsString(TextCore.aClass94_946)?0:(var4?-1:1)):(var3.activity.equalsString(TextCore.aClass94_946)?(var4?1:-1):var0.activity.method1546(var3.activity))):(var2 <= 67?36:(var1 == 4?(!var0.method1074(-114)?(!var3.method1074(-123)?0:-1):(var3.method1074(-108)?0:1)):(var1 == 5?(var0.method1075()?(!var3.method1075()?1:0):(var3.method1075()?-1:0)):(var1 != 6 ?(7 == var1?(var0.method1070(8)?(var3.method1070(8)?0:1):(var3.method1070(8)?-1:0)):-var3.worldId + var0.worldId):(var0.method1072()?(!var3.method1072()?1:0):(var3.method1072()?-1:0)))))));
}
} catch (RuntimeException var7) {
throw ClientErrorException.clientError(var7, "wb.C(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ')');
}
}
}

View file

@ -0,0 +1,52 @@
package org.runite.client;
final class Class162 {
static int anInt2036;
static int anInt2038 = 0;
static void method2203(Player var0) {
try {
Class3_Sub9 var2 = (Class3_Sub9) Unsorted.aHashTable_4046.get(var0.displayName.toLong());
if(null != var2) {
if(var2.aClass3_Sub24_Sub1_2312 != null) {
Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(var2.aClass3_Sub24_Sub1_2312);
var2.aClass3_Sub24_Sub1_2312 = null;
}
var2.unlink();
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "wc.B(" + (var0 != null?"{...}":"null") + ',' + 8 + ')');
}
}
static void method2204(DataBuffer var0) {
try {
if(null != Unsorted.aClass30_1039) {
try {
Unsorted.aClass30_1039.method984(-117, 0L);
Unsorted.aClass30_1039.method983(var0.buffer, var0.index, -903171152, 24);
} catch (Exception var3) {
}
}
var0.index += 24;
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "wc.E(" + "null" + ',' + 120 + ')');
}
}
static void method2206(int var1) {
try {
InterfaceWidget var2 = InterfaceWidget.getWidget(4, var1);
var2.a();
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "wc.A(" + true + ',' + var1 + ')');
}
}
}

View file

@ -0,0 +1,36 @@
package org.runite.client;
import org.rs09.client.data.NodeCache;
import java.util.Objects;
class Class163 {
static NodeCache aClass47_2041 = new NodeCache(64);
static int[] anIntArray2043 = new int[]{8, 11, 4, 6, 9, 7, 10, 0};
static int localNPCCount = 0;
static void method2209(byte var0, int var1, int var2) {
try {
if(var0 >= -99) {
method2209((byte)57, -14, 120);
}
Class79 var3 = CS2Script.method378(var2, (byte)127);
int var4 = Objects.requireNonNull(var3).anInt1128;
int var6 = var3.anInt1125;
int var5 = var3.anInt1123;
int var7 = Class3_Sub6.anIntArray2288[var6 - var5];
if(var1 < 0 || var7 < var1) {
var1 = 0;
}
var7 <<= var5;
Class3_Sub13_Sub23.method281(var1 << var5 & var7 | ~var7 & Class57.varpArray[var4], var4);
} catch (RuntimeException var8) {
throw ClientErrorException.clientError(var8, "wd.K(" + var0 + ',' + var1 + ',' + var2 + ')');
}
}
}

View file

@ -0,0 +1,135 @@
package org.runite.client;
import org.rs09.client.data.ReferenceCache;
import java.io.IOException;
import java.util.Objects;
public class Class163_Sub1 extends Class163 {
public static ReferenceCache aReferenceCache_2984 = new ReferenceCache(2);
static long[] aLongArray2986 = new long[32];
static byte[][] aByteArrayArray2987;
static int anInt2989 = 0;
static Class61 aClass61_2990 = new Class61();
static int anInt2993 = 0;
static void method2210(boolean var1) {
try {
Class58.method1194();
if(30 == Class143.loadingStage || Class143.loadingStage == 25) {
++Class3_Sub13_Sub23_Sub1.anInt4032;
if(Class3_Sub13_Sub23_Sub1.anInt4032 >= 50 || var1) {
Class3_Sub13_Sub23_Sub1.anInt4032 = 0;
if(!Class3_Sub28_Sub18.aBoolean3769 && Class3_Sub15.activeConnection != null) {
Class3_Sub13_Sub1.outgoingBuffer.putOpcode(93);
try {
Class3_Sub15.activeConnection.sendBytes(Class3_Sub13_Sub1.outgoingBuffer.buffer, Class3_Sub13_Sub1.outgoingBuffer.index);
Class3_Sub13_Sub1.outgoingBuffer.index = 0;
} catch (IOException var3) {
Class3_Sub28_Sub18.aBoolean3769 = true;
}
}
Class58.method1194();
}
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "ah.B(" + (byte) -90 + ',' + var1 + ')');
}
}
static void method2211(int var0) {
try {
if(var0 == -48) {
if(null == Class67.aClass11_1017) {
if(null == Class56.aClass11_886) {
int var1 = Unsorted.anInt3644;
int var3;
int var4;
if(Class38_Sub1.aBoolean2615) {
int var11;
if(var1 != 1) {
var3 = Unsorted.anInt1709;
var11 = Class126.anInt1676;
if(AbstractIndexedSprite.anInt1462 - 10 > var11 || Class3_Sub28_Sub3.anInt3552 + (AbstractIndexedSprite.anInt1462 - -10) < var11 || var3 < -10 + Class3_Sub13_Sub33.anInt3395 || Class3_Sub28_Sub1.anInt3537 + (Class3_Sub13_Sub33.anInt3395 - -10) < var3) {
Class38_Sub1.aBoolean2615 = false;
Class75.method1340(AbstractIndexedSprite.anInt1462, Class3_Sub28_Sub3.anInt3552, Class3_Sub13_Sub33.anInt3395, Class3_Sub28_Sub1.anInt3537);
}
}
if(var1 == 1) {
var11 = AbstractIndexedSprite.anInt1462;
var3 = Class3_Sub13_Sub33.anInt3395;
var4 = Class3_Sub28_Sub3.anInt3552;
int var12 = anInt2993;
int var13 = Class38_Sub1.anInt2614;
int var7 = -1;
for(int var8 = 0; var8 < Unsorted.menuOptionCount; ++var8) {
int var9;
if(Unsorted.aBoolean1951) {
var9 = 15 * (Unsorted.menuOptionCount + -1 + -var8) + 35 + var3;
} else {
var9 = 15 * (-var8 + (Unsorted.menuOptionCount - 1)) + var3 + 31;
}
if(var11 < var12 && var12 < var11 - -var4 && var9 + -13 < var13 && var13 < 3 + var9) {
var7 = var8;
}
}
if(var7 != -1) {
Class3_Sub30_Sub1.method806(var7);
}
Class38_Sub1.aBoolean2615 = false;
Class75.method1340(AbstractIndexedSprite.anInt1462, Class3_Sub28_Sub3.anInt3552, Class3_Sub13_Sub33.anInt3395, Class3_Sub28_Sub1.anInt3537);
}
} else {
if(var1 == 1 && 0 < Unsorted.menuOptionCount) {
short var2 = Class3_Sub13_Sub7.aShortArray3095[-1 + Unsorted.menuOptionCount];
if(var2 == 25 || var2 == 23 || 48 == var2 || var2 == 7 || 13 == var2 || var2 == 47 || var2 == 5 || var2 == 43 || var2 == 35 || var2 == 58 || var2 == 22 || var2 == 1006) {
var3 = Class117.anIntArray1613[-1 + Unsorted.menuOptionCount];
var4 = Class27.anIntArray512[Unsorted.menuOptionCount + -1];
RSInterface var5 = Class7.getRSInterface(var4);
Class3_Sub1 var6 = Client.method44(Objects.requireNonNull(var5));
if(var6.method100() || var6.method93()) {
Class40.anInt677 = 0;
Class72.aBoolean1074 = false;
if(Class67.aClass11_1017 != null) {
Class20.method909(Class67.aClass11_1017);
}
Class67.aClass11_1017 = Class7.getRSInterface(var4);
Class129_Sub1.anInt2693 = anInt2993;
Unsorted.anInt40 = Class38_Sub1.anInt2614;
PacketParser.anInt86 = var3;
Class20.method909(Class67.aClass11_1017);
return;
}
}
}
if(var1 == 1 && (Unsorted.anInt998 == 1 && 2 < Unsorted.menuOptionCount || Class3_Sub13_Sub39.method353(Unsorted.menuOptionCount + -1, 0))) {
var1 = 2;
}
if(var1 == 2 && Unsorted.menuOptionCount > 0 || Unsorted.anInt3660 == 1) {
Class132.method1801();
}
if(1 == var1 && Unsorted.menuOptionCount > 0 || Unsorted.anInt3660 == 2) {
Class3_Sub13_Sub8.method203(100);
}
}
}
}
}
} catch (RuntimeException var10) {
throw ClientErrorException.clientError(var10, "ah.A(" + var0 + ')');
}
}
}

View file

@ -0,0 +1,168 @@
package org.runite.client;
import org.rs09.client.net.Connection;
import java.awt.Component;
import java.io.IOException;
import java.net.Socket;
import java.util.Objects;
final class Class163_Sub1_Sub1 extends Class163_Sub1 {
static byte[] aByteArray4005 = new byte[]{(byte)95, (byte)97, (byte)98, (byte)99, (byte)100, (byte)101, (byte)102, (byte)103, (byte)104, (byte)105, (byte)106, (byte)107, (byte)108, (byte)109, (byte)110, (byte)111, (byte)112, (byte)113, (byte)114, (byte)115, (byte)116, (byte)117, (byte)118, (byte)119, (byte)120, (byte)121, (byte)122, (byte)48, (byte)49, (byte)50, (byte)51, (byte)52, (byte)53, (byte)54, (byte)55, (byte)56, (byte)57};
static int anInt4006;
static boolean[] aBooleanArray4008 = new boolean[100];
static int[] anIntArray4009 = new int[5];
static int[][] anIntArrayArray4010 = new int[104][104];
static int anInt2246 = 0;
static int anInt3375 = 0;
static int anInt1616 = 0;
static void method2214() {
try {
if(NPC.method1986(90) || WorldListCountry.localPlane == Class140_Sub3.anInt2745) {
if(Class58.anInt909 != WorldListCountry.localPlane && Class3_Sub19.method385(WorldListCountry.localPlane)) {
Class58.anInt909 = WorldListCountry.localPlane;
Unsorted.method792();
}
} else {
Unsorted.method1301(WorldListCountry.localPlane, Class3_Sub7.anInt2294, Unsorted.anInt3606, Class102.player.anIntArray2755[0], false, Class102.player.anIntArray2767[0]);
}
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "ch.E(" + 0 + ')');
}
}
static void method2215(Component var0) {
try {
var0.removeKeyListener(Class3_Sub13_Sub3.aClass148_3049);
var0.removeFocusListener(Class3_Sub13_Sub3.aClass148_3049);
KeyboardListener.anInt2384 = -1;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "ch.G(" + (var0 != null?"{...}":"null") + ',' + -9320 + ')');
}
}
static void method2216() {
try {
if(anInt3375 != 0) {
try {
if(1500 < ++anInt2246) {
if(null != Class3_Sub15.activeConnection) {
Class3_Sub15.activeConnection.close();
Class3_Sub15.activeConnection = null;
}
if(1 <= anInt1616) {
Class158.anInt2005 = -5;
anInt3375 = 0;
return;
}
anInt2246 = 0;
++anInt1616;
anInt3375 = 1;
if(Class123.anInt1658 == Client.anInt3773) {
Class123.anInt1658 = Class53.anInt867;
} else {
Class123.anInt1658 = Client.anInt3773;
}
}
if(anInt3375 == 1) {
Class3_Sub9.aClass64_2318 = Class38.aClass87_665.method1441((byte)8, ClientErrorException.worldListHost, Class123.anInt1658);
anInt3375 = 2;
}
int var1;
if(anInt3375 == 2) {
if(Objects.requireNonNull(Class3_Sub9.aClass64_2318).anInt978 == 2) {
throw new IOException();
}
if(1 != Class3_Sub9.aClass64_2318.anInt978) {
return;
}
Class3_Sub15.activeConnection = new Connection((Socket)Class3_Sub9.aClass64_2318.anObject974, Class38.aClass87_665);
Class3_Sub9.aClass64_2318 = null;
Class3_Sub15.activeConnection.sendBytes(Class3_Sub13_Sub1.outgoingBuffer.buffer, Class3_Sub13_Sub1.outgoingBuffer.index);
if(WorldListEntry.aClass155_2627 != null) {
WorldListEntry.aClass155_2627.method2159(83);
}
if(null != Class3_Sub21.aClass155_2491) {
Class3_Sub21.aClass155_2491.method2159(120);
}
var1 = Class3_Sub15.activeConnection.readByte();
if(WorldListEntry.aClass155_2627 != null) {
WorldListEntry.aClass155_2627.method2159(59);
}
if(Class3_Sub21.aClass155_2491 != null) {
Class3_Sub21.aClass155_2491.method2159(113);
}
if(var1 != 101) {
Class158.anInt2005 = var1;
anInt3375 = 0;
Class3_Sub15.activeConnection.close();
Class3_Sub15.activeConnection = null;
return;
}
anInt3375 = 3;
}
if(anInt3375 == 3) {
if(Class3_Sub15.activeConnection.availableBytes() < 2) {
return;
}
var1 = Class3_Sub15.activeConnection.readByte() << 8 | Class3_Sub15.activeConnection.readByte();
WaterfallShader.method1627(var1, (byte)-16);
if(CS2Script.anInt2451 == -1) {
anInt3375 = 0;
Class158.anInt2005 = 6;
Class3_Sub15.activeConnection.close();
Class3_Sub15.activeConnection = null;
return;
}
anInt3375 = 0;
Class3_Sub15.activeConnection.close();
Class3_Sub15.activeConnection = null;
Class24.method951();
return;
}
} catch (IOException var2) {
if(null != Class3_Sub15.activeConnection) {
Class3_Sub15.activeConnection.close();
Class3_Sub15.activeConnection = null;
}
if(anInt1616 < 1) {
if(Class123.anInt1658 == Client.anInt3773) {
Class123.anInt1658 = Class53.anInt867;
} else {
Class123.anInt1658 = Client.anInt3773;
}
anInt3375 = 1;
anInt2246 = 0;
++anInt1616;
} else {
Class158.anInt2005 = -4;
anInt3375 = 0;
}
}
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "ch.D(" + (byte) 81 + ')');
}
}
}

View file

@ -0,0 +1,82 @@
package org.runite.client;
class Class163_Sub2 extends Class163 {
static RSString aClass94_2996 = null;
static Class30[] aClass30Array2998 = new Class30[29]; //TODO
static Class25 method2217(int var0, int var1, int var2) {
Class3_Sub2 var3 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2];
if (var3 != null) {
for (int var4 = 0; var4 < var3.anInt2223; ++var4) {
Class25 var5 = var3.aClass25Array2221[var4];
if ((var5.aLong498 >> 29 & 3L) == 2L && var5.anInt483 == var1 && var5.anInt478 == var2) {
Class158.method2186(var5);
return var5;
}
}
}
return null;
}
static void method2219(DataBuffer var0) {
try {
while(var0.buffer.length > var0.index) {
int var4 = 0;
boolean var3 = false;
int var5 = 0;
if(var0.readUnsignedByte() == 1) {
var3 = true;
var4 = var0.readUnsignedByte();
var5 = var0.readUnsignedByte();
}
int var6 = var0.readUnsignedByte();
int var7 = var0.readUnsignedByte();
int var9 = -(var7 * 64) - (-Unsorted.anInt65 - Class108.anInt1460 + 1);
int var8 = var6 * 64 + -Class3_Sub13_Sub21.anInt3256;
byte var2;
int var10;
if(var8 >= 0 && (var9 - 63) >= 0 && Class23.anInt455 > (var8 + 63) && var9 < Class108.anInt1460) {
var10 = var8 >> 6;
int var11 = var9 >> 6;
for(int var12 = 0; var12 < 64; ++var12) {
for(int var13 = 0; var13 < 64; ++var13) {
if(!var3 || (8 * var4) <= var12 && var12 < 8 + var4 * 8 && var13 >= var5 * 8 && (8 + var5 * 8) > var13) {
var2 = var0.readSignedByte();
if(var2 != 0) {
if(RenderAnimationDefinition.aByteArrayArrayArray383[var10][var11] == null) {
RenderAnimationDefinition.aByteArrayArrayArray383[var10][var11] = new byte[4096];
}
RenderAnimationDefinition.aByteArrayArrayArray383[var10][var11][var12 + (-var13 + 63 << 6)] = var2;
byte var14 = var0.readSignedByte();
if(Class3_Sub10.aByteArrayArrayArray2339[var10][var11] == null) {
Class3_Sub10.aByteArrayArrayArray2339[var10][var11] = new byte[4096];
}
Class3_Sub10.aByteArrayArrayArray2339[var10][var11][var12 + (63 - var13 << 6)] = var14;
}
}
}
}
} else {
for(var10 = 0; var10 < (var3 ? 64 : 4096); ++var10) {
var2 = var0.readSignedByte();
if(0 != var2) {
++var0.index;
}
}
}
}
} catch (RuntimeException var15) {
throw ClientErrorException.clientError(var15, "dk.C(" + (var0 != null?"{...}":"null") + ',' + false + ')');
}
}
}

View file

@ -0,0 +1,285 @@
package org.runite.client;
import org.rs09.client.net.Connection;
import org.rs09.client.data.ReferenceCache;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InvalidClassException;
import java.io.ObjectInputStream;
import java.io.OptionalDataException;
import java.io.StreamCorruptedException;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
final class Class163_Sub2_Sub1 extends Class163_Sub2 {
static Connection aClass89_4012;
static int anInt4014;
static ReferenceCache aReferenceCache_4015 = new ReferenceCache(64);
static RSString[] aClass94Array4016 = new RSString[500];
static long[] aLongArray4017 = new long[100];
static boolean aBoolean4018 = false;
static int anInt4019 = 0;
static int anInt4020 = 0;
static int anInt4021;
static int[] anIntArray4025 = new int[32];
static int anInt4026 = 0;
static LDIndexedSprite[] aClass109_Sub1Array4027;
static void method2220() {
try {
Class140_Sub4.aReferenceCache_2792.clear();
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "t.H(" + 0 + ')');
}
}
static void method2221(int var0, int var1, int var2, int var4, int var5, int var6) {
try {
int var8 = 0;
for(Class96[] var7 = ClientErrorException.aClass96Array2114; var8 < var7.length; ++var8) {
Class96 var9 = var7[var8];
if(null != var9 && var9.anInt1360 == 2) {
Unsorted.method1724(var0 >> 1, var5, (-Class82.anInt1152 + var9.anInt1347 << 7) - -var9.anInt1350, var9.anInt1353 * 2, var2 >> 1, var9.anInt1346 + (var9.anInt1356 + -Class131.anInt1716 << 7), (byte)-114, var4);
if(-1 < Class32.anInt590 && Class44.anInt719 % 20 < 10) {
Class166.aAbstractSpriteArray2072[var9.anInt1351].drawAt(-12 + var1 + Class32.anInt590, -28 + var6 - -Class82.anInt2208);
}
}
}
} catch (RuntimeException var10) {
throw ClientErrorException.clientError(var10, "t.E(" + var0 + ',' + var1 + ',' + var2 + ',' + true + ',' + var4 + ',' + var5 + ',' + var6 + ')');
}
}
// static void method2222() {
// try {
// Unsorted.aReferenceCache_4043.clearSoftReferences();
// CS2Script.aReferenceCache_2442.clearSoftReferences();
// Class154.aReferenceCache_1964.clearSoftReferences();
//
// } catch (RuntimeException var2) {
// throw ClientErrorException.clientError(var2, "t.G(" + (byte) 127 + ')');
// }
// }
static void method2223(boolean var0, byte var1) {
try {
byte var3;
byte[][] var4;
if(HDToolKit.highDetail && var0) {
var4 = Class40.aByteArrayArray3057;
var3 = 1;
} else {
var3 = 4;
var4 = Class3_Sub22.aByteArrayArray2521;
}
for(int var5 = 0; var5 < var3; ++var5) {
Class58.method1194();
for(int var6 = 0; var6 < 13; ++var6) {
for(int var7 = 0; var7 < 13; ++var7) {
int var8 = ObjectDefinition.anIntArrayArrayArray1497[var5][var6][var7];
if(var8 != -1) {
int var9 = var8 >> 24 & 3;
if(!var0 || var9 == 0) {
int var10 = (6 & var8) >> 1;
int var11 = var8 >> 14 & 1023;
int var12 = 2047 & var8 >> 3;
int var13 = var12 / 8 + (var11 / 8 << 8);
for(int var14 = 0; Class3_Sub24_Sub3.anIntArray3494.length > var14; ++var14) {
if(var13 == Class3_Sub24_Sub3.anIntArray3494[var14] && var4[var14] != null) {
Class3_Sub13_Sub30.parseObjectMapping(AtmosphereParser.aClass91Array1182, var5, var4[var14], var9, var10, 8 * var6, var7 * 8, var0, (var11 & 7) * 8, 8 * (7 & var12));
break;
}
}
}
}
}
}
}
} catch (RuntimeException var15) {
throw ClientErrorException.clientError(var15, "t.J(" + var0 + ',' + var1 + ')');
}
}
static void method2224(long var1, int var3, int var4) {
try {
int var5 = (int)var1 >> 14 & 31;
int var6 = (int)var1 >> 20 & 3;
int var7 = (int)(var1 >>> 32) & Integer.MAX_VALUE;
if (var5 == 10 || var5 == 11 || var5 == 22) {
ObjectDefinition var8 = ObjectDefinition.getObjectDefinition(var7);
int var9;
int var10;
if(var6 == 0 || var6 == 2) {
var10 = var8.SizeY;
var9 = var8.SizeX;
} else {
var10 = var8.SizeX;
var9 = var8.SizeY;
}
int var11 = var8.WalkingFlag;
if(var6 != 0) {
var11 = (var11 << var6 & 15) - -(var11 >> -var6 + 4);
}
Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, var10, true, var11, 2, var4, var9, 0, 2, var3, Class102.player.anIntArray2767[0]);
} else {
Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], var6, 0, true, 0, 2, var4, 0, 1 + var5, 2, var3, Class102.player.anIntArray2767[0]);
}
Unsorted.anInt4062 = Class38_Sub1.anInt2614;
Unsorted.anInt2958 = 0;
Class36.anInt638 = 2;
Class70.anInt1053 = Class163_Sub1.anInt2993;
} catch (RuntimeException var12) {
throw ClientErrorException.clientError(var12, "t.D(" + (byte) 39 + ',' + var1 + ',' + var3 + ',' + var4 + ')');
}
}
static void method2226(Class3_Sub30_Sub1 var0, int var1, int var2) {
try {
if(var2 > -109) {
method2226((Class3_Sub30_Sub1)null, 67, 54);
}
while(true) {
Class3_Sub8 var3 = (Class3_Sub8)Class3_Sub26.aClass61_2557.method1222();
if(var3 == null) {
return;
}
boolean var4 = false;
int var5;
for(var5 = 0; var3.anInt2296 > var5; ++var5) {
if(var3.aClass64Array2303[var5] != null) {
if(var3.aClass64Array2303[var5].anInt978 == 2) {
var3.anIntArray2300[var5] = -5;
}
if(var3.aClass64Array2303[var5].anInt978 == 0) {
var4 = true;
}
}
if(null != var3.aClass64Array2298[var5]) {
if(var3.aClass64Array2298[var5].anInt978 == 2) {
var3.anIntArray2300[var5] = -6;
}
if(var3.aClass64Array2298[var5].anInt978 == 0) {
var4 = true;
}
}
}
if(var4) {
return;
}
var0.putOpcode(var1);
var0.writeByte(0);
var5 = var0.index;
var0.writeInt(var3.anInt2305);
for(int var6 = 0; var6 < var3.anInt2296; ++var6) {
if(var3.anIntArray2300[var6] == 0) {
try {
int var7 = var3.anIntArray2301[var6];
Field var8;
int var9;
if(var7 == 0) {
var8 = (Field)var3.aClass64Array2303[var6].anObject974;
var9 = var8.getInt((Object)null);
var0.writeByte(0);
var0.writeInt(var9);
} else if (var7 == 1) {
var8 = (Field) var3.aClass64Array2303[var6].anObject974;
var8.setInt((Object) null, var3.anIntArray2299[var6]);
var0.writeByte(0);
} else if (2 == var7) {
var8 = (Field) var3.aClass64Array2303[var6].anObject974;
var9 = var8.getModifiers();
var0.writeByte(0);
var0.writeInt(var9);
}
Method var26;
if(3 == var7) {
var26 = (Method)var3.aClass64Array2298[var6].anObject974;
byte[][] var27 = var3.aByteArrayArrayArray2302[var6];
Object[] var10 = new Object[var27.length];
for(int var11 = 0; var11 < var27.length; ++var11) {
ObjectInputStream var12 = new ObjectInputStream(new ByteArrayInputStream(var27[var11]));
var10[var11] = var12.readObject();
}
Object var28 = var26.invoke((Object)null, var10);
if(var28 == null) {
var0.writeByte(0);
} else if(var28 instanceof Number) {
var0.writeByte(1);
var0.writeLong(((Number)var28).longValue());
} else if (var28 instanceof RSString) {
var0.writeByte(2);
var0.writeString((RSString) var28);
} else {
var0.writeByte(4);
}
} else if(var7 == 4) {
var26 = (Method)var3.aClass64Array2298[var6].anObject974;
var9 = var26.getModifiers();
var0.writeByte(0);
var0.writeInt(var9);
}
} catch (ClassNotFoundException var13) {
var0.writeByte(-10);
} catch (InvalidClassException var14) {
var0.writeByte(-11);
} catch (StreamCorruptedException var15) {
var0.writeByte(-12);
} catch (OptionalDataException var16) {
var0.writeByte(-13);
} catch (IllegalAccessException var17) {
var0.writeByte(-14);
} catch (IllegalArgumentException var18) {
var0.writeByte(-15);
} catch (InvocationTargetException var19) {
var0.writeByte(-16);
} catch (SecurityException var20) {
var0.writeByte(-17);
} catch (IOException var21) {
var0.writeByte(-18);
} catch (NullPointerException var22) {
var0.writeByte(-19);
} catch (Exception var23) {
var0.writeByte(-20);
} catch (Throwable var24) {
var0.writeByte(-21);
}
} else {
var0.writeByte(var3.anIntArray2300[var6]);
}
}
var0.writeCRC(var5);
var0.method769(var0.index - var5);
var3.unlink();
}
} catch (RuntimeException var25) {
throw ClientErrorException.clientError(var25, "t.I(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ')');
}
}
}

View file

@ -0,0 +1,103 @@
package org.runite.client;
import java.util.Objects;
final class Class163_Sub3 extends Class163 {
static int[] anIntArray2999;
static RSString[] aClass94Array3003 = new RSString[100];
static boolean aBoolean3004 = true;
static byte[][] aByteArrayArray3005;
static int[] anIntArray3007 = new int[]{-1, -1, 1, 1};
static final int[] PLAYER_RENDER_LOG = new int[4];
static void renderPlayers() {
try {
Unsorted.maskUpdateCount = 0;
Class139.anInt1829 = 0;
Unsorted.updateLocalPosition();
PLAYER_RENDER_LOG[0] = GraphicDefinition.incomingBuffer.index;
Class140_Sub3.renderLocalPlayers();
PLAYER_RENDER_LOG[1] = GraphicDefinition.incomingBuffer.index;
Class131.addLocalPlayers();
PLAYER_RENDER_LOG[2] = GraphicDefinition.incomingBuffer.index;
Unsorted.parsePlayerMasks();
PLAYER_RENDER_LOG[3] = GraphicDefinition.incomingBuffer.index;
int var1;
for(var1 = 0; Class139.anInt1829 > var1; ++var1) {
int var2 = Class3_Sub7.anIntArray2292[var1];
if(Class44.anInt719 != Class3_Sub13_Sub22.players[var2].anInt2838) {
if(0 < Class3_Sub13_Sub22.players[var2].anInt3969) {
Class162.method2203(Class3_Sub13_Sub22.players[var2]);
}
Class3_Sub13_Sub22.players[var2] = null;
}
}
if(GraphicDefinition.incomingBuffer.index == Unsorted.incomingPacketLength) {
for(var1 = 0; var1 < Class159.localPlayerCount; ++var1) {
if(null == Class3_Sub13_Sub22.players[Class56.localPlayerIndexes[var1]]) {
// throw new RuntimeException("gpp2 pos:" + var1 + " size:" + Class159.anInt2022);
// System.err.println("gpp2 pos:" + var1 + " size:" + Class159.anInt2022);
System.err.println("Local player was null - index: " + Class56.localPlayerIndexes[var1] + ", list index: " + var1 + ", list size: " + Class159.localPlayerCount);
}
}
} else {
System.err.println("Player rendering packet size mismatch - size log: self=" + PLAYER_RENDER_LOG[0] + ", local=" + PLAYER_RENDER_LOG[1] + ", add global=" + PLAYER_RENDER_LOG[2] + ", masks=" + PLAYER_RENDER_LOG[3] + ".");
// System.err.println("gpp1 pos:" + GraphicDefinition.incomingBuffer.index + " psize:" + Class130.incomingPacketLength);
// throw new RuntimeException("gpp1 pos:" + Class28.incomingBuffer.index + " psize:" + Class130.incomingPacketLength);
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "fb.B(" + (byte) -122 + ')');
}
}
static void method2229(long var0) {
try {
if(var0 != 0) {
if((100 > Class8.anInt104 || Class3_Sub13_Sub29.disableGEBoxes) && Class8.anInt104 < 200) {
RSString var3 = Objects.requireNonNull(Unsorted.method1052(var0)).longToRSString();
int var4;
for(var4 = 0; Class8.anInt104 > var4; ++var4) {
if(var0 == Class50.aLongArray826[var4]) {
Class3_Sub30_Sub1.addChatMessage(TextCore.aClass94_3672, 0, RSString.stringCombiner(new RSString[]{var3, TextCore.HasFriendsAlready}), -1);
return;
}
}
for(var4 = 0; var4 < Class3_Sub28_Sub5.anInt3591; ++var4) {
if(Class114.ignores[var4] == var0) {
Class3_Sub30_Sub1.addChatMessage(TextCore.aClass94_3672, 0, RSString.stringCombiner(new RSString[]{TextCore.HasPleaseRemove, var3, TextCore.HasIgnoreToFriends}), -1);
return;
}
}
if(var3.equalsString(Class102.player.displayName)) {
Class3_Sub30_Sub1.addChatMessage(TextCore.aClass94_3672, 0, TextCore.HasOnOwnFriendsList, -1);
} else {
Class70.aClass94Array1046[Class8.anInt104] = var3;
Class50.aLongArray826[Class8.anInt104] = var0;
Unsorted.anIntArray882[Class8.anInt104] = 0;
Unsorted.aClass94Array2566[Class8.anInt104] = TextCore.aClass94_3672;
Class57.anIntArray904[Class8.anInt104] = 0;
Unsorted.aBooleanArray73[Class8.anInt104] = false;
++Class8.anInt104;
Class110.anInt1472 = PacketParser.anInt3213;
Class3_Sub13_Sub1.outgoingBuffer.putOpcode(120);
Class3_Sub13_Sub1.outgoingBuffer.writeLong(var0);
}
} else {
Class3_Sub30_Sub1.addChatMessage(TextCore.aClass94_3672, 0, TextCore.HasFriendsListFull, -1);
}
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "fb.C(" + var0 + ',' + (byte) -91 + ')');
}
}
}

View file

@ -0,0 +1,189 @@
package org.runite.client;
import java.util.Random;
abstract class Class164 {
private final short[] aShortArray2047 = new short[512];
static int[] anIntArray2048;
private short[] aShortArray2049;
static int anInt2050;
static int anInt2051;
private final int anInt2054;
static RSInterface aClass11_2055;
private final int anInt2056;
private final int anInt2057;
static Model_Sub1[] aClass140_Sub5Array2058 = new Model_Sub1[4];
private final int anInt2060;
int anInt2062;
final void method2230(int var1) {
try {
int[] var39 = new int[64];
int[] var40 = new int[64];
int[] var41 = new int[64];
int var42;
for(var42 = 0; var42 < 64; ++var42) {
var39[var42] = (var42 << 12) / 64;
}
if(var1 > -68) {
this.method2236(64);
}
for(var42 = 0; var42 < 64; ++var42) {
var40[var42] = (var42 << 12) / 64;
}
for(var42 = 0; var42 < 64; ++var42) {
var41[var42] = (var42 << 12) / 64;
}
this.method2233();
for(int var37 = 0; var37 < 64; ++var37) {
for(int var36 = 0; var36 < 64; ++var36) {
for(int var35 = 0; var35 < 64; ++var35) {
for(int var38 = 0; var38 < this.anInt2062; ++var38) {
var42 = this.aShortArray2049[var38] << 12;
int var8 = this.anInt2057 * var42 >> 12;
int var7 = var42 * var41[var37] >> 12;
int var9 = var42 * this.anInt2056 >> 12;
var7 *= this.anInt2060;
int var10 = var42 * this.anInt2060 >> 12;
int var5 = var39[var35] * var42 >> 12;
var5 *= this.anInt2057;
int var11 = var5 >> 12;
var5 &= 4095;
int var15 = var7 >> 12;
int var20 = var5 + -4096;
int var12 = var11 + 1;
int var16 = var15 - -1;
int var6 = var40[var36] * var42 >> 12;
int var17 = Class1.anIntArray52[var5];
var6 *= this.anInt2056;
var15 &= 255;
var11 &= 255;
if(var10 <= var16) {
var16 = 0;
} else {
var16 &= 255;
}
int var13 = var6 >> 12;
short var23 = this.aShortArray2047[var15];
short var24 = this.aShortArray2047[var16];
int var14 = var13 + 1;
if(var9 > var14) {
var14 &= 255;
} else {
var14 = 0;
}
var6 &= 4095;
short var28 = this.aShortArray2047[var14 - -var24];
var7 &= 4095;
var13 &= 255;
int var19 = Class1.anIntArray52[var7];
short var27 = this.aShortArray2047[var13 + var24];
short var25 = this.aShortArray2047[var23 + var13];
if(var8 <= var12) {
var12 = 0;
} else {
var12 &= 255;
}
int var21 = -4096 + var6;
int var18 = Class1.anIntArray52[var6];
int var22 = var7 - 4096;
short var26 = this.aShortArray2047[var23 + var14];
int var29 = Class131.method1788(var5, var7, var6, this.aShortArray2047[var25 + var11], true);
int var30 = Class131.method1788(var20, var7, var6, this.aShortArray2047[var12 - -var25], true);
int var31 = var29 - -(var17 * (var30 - var29) >> 12);
var29 = Class131.method1788(var5, var7, var21, this.aShortArray2047[var26 + var11], true);
var30 = Class131.method1788(var20, var7, var21, this.aShortArray2047[var12 + var26], true);
int var32 = var29 + (var17 * (-var29 + var30) >> 12);
int var33 = ((-var31 + var32) * var18 >> 12) + var31;
var29 = Class131.method1788(var5, var22, var6, this.aShortArray2047[var11 + var27], true);
var30 = Class131.method1788(var20, var22, var6, this.aShortArray2047[var12 + var27], true);
var31 = (var17 * (var30 + -var29) >> 12) + var29;
var29 = Class131.method1788(var5, var22, var21, this.aShortArray2047[var11 - -var28], true);
var30 = Class131.method1788(var20, var22, var21, this.aShortArray2047[var12 + var28], true);
var32 = var29 + ((-var29 + var30) * var17 >> 12);
int var34 = var31 - -((var32 + -var31) * var18 >> 12);
this.method2237(((-var33 + var34) * var19 >> 12) + var33, var38);
}
this.method2231((byte)-92);
}
}
}
} catch (RuntimeException var43) {
throw ClientErrorException.clientError(var43, "wf.M(" + var1 + ',' + 64 + ',' + 64 + ',' + 64 + ')');
}
}
abstract void method2231(byte var1);
private void method2232() {
try {
this.aShortArray2049 = new short[this.anInt2062];
int var2 = 0;
while(var2 < this.anInt2062) {
this.aShortArray2049[var2] = (short)((int)Math.pow(2.0D, (double)var2));
++var2;
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "wf.L(" + (byte) -60 + ')');
}
}
abstract void method2233();
private void method2236(int var1) {
try {
Random var2 = new Random((long)this.anInt2054);
int var3;
for(var3 = 0; var3 < 255; ++var3) {
this.aShortArray2047[var3] = (short)var3;
}
if(var1 != -190126388) {
anInt2051 = -58;
}
for(var3 = 0; var3 < 255; ++var3) {
int var4 = -var3 + 255;
int var5 = Class3_Sub13.method1603((byte)-120, var4, var2);
short var6 = this.aShortArray2047[var5];
this.aShortArray2047[var5] = this.aShortArray2047[var4];
this.aShortArray2047[var4] = this.aShortArray2047[256 + var4] = var6;
}
} catch (RuntimeException var7) {
throw ClientErrorException.clientError(var7, "wf.N(" + var1 + ')');
}
}
abstract void method2237(int var1, int var2);
Class164(int var1, int var3, int var4) {
try {
this.anInt2056 = var4;
this.anInt2062 = 5;
this.anInt2054 = var1;
this.anInt2060 = 2;
this.anInt2057 = var3;
this.method2232();
this.method2236(-190126388);
} catch (RuntimeException var7) {
throw ClientErrorException.clientError(var7, "wf.<init>(" + var1 + ',' + 5 + ',' + var3 + ',' + var4 + ',' + 2 + ')');
}
}
}

View file

@ -0,0 +1,276 @@
package org.runite.client;
class Class164_Sub1 extends Class164 {
static Class158 aClass158_3009;
private int anInt3010;
static short[] aShortArray3011 = new short[]{(short)6798, (short)8741, (short)25238, (short)4626, (short)4550};
static int anInt3012 = 0;
private final int[] anIntArray3014;
private byte[] aByteArray3015;
private int anInt3016;
final void method2237(int var1, int var2) {
try {
this.anInt3010 += var1 * this.anIntArray3014[var2] >> 12;
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "vd.H(" + var1 + ',' + var2 + ',' + -20975 + ')');
}
}
static void method2238(int var0, int var1, int var2, int var3, int var5) {
try {
Class75.anInt1105 = var2;
Class157.anInt1996 = var1;
Class163_Sub2_Sub1.anInt4014 = var5;
MouseListeningClass.anInt1923 = var3;
GraphicDefinition.anInt529 = var0;
if(Class163_Sub2_Sub1.anInt4014 >= 100) {
int var6 = 64 + 128 * MouseListeningClass.anInt1923;
int var7 = 64 + Class157.anInt1996 * 128;
int var8 = Class121.method1736(WorldListCountry.localPlane, 1, var6, var7) - GraphicDefinition.anInt529;
int var10 = var8 + -Class7.anInt2162;
int var9 = var6 + -NPC.anInt3995;
int var11 = -Class77.anInt1111 + var7;
int var12 = (int)Math.sqrt((double)(var11 * var11 + var9 * var9));
Class139.anInt1823 = 2047 & (int)(Math.atan2((double)var10, (double)var12) * 325.949D);
Class3_Sub13_Sub25.anInt3315 = 2047 & (int)(Math.atan2((double)var9, (double)var11) * -325.949D);
if(128 > Class139.anInt1823) {
Class139.anInt1823 = 128;
}
if(383 < Class139.anInt1823) {
Class139.anInt1823 = 383;
}
}
Class133.anInt1753 = 2;
} catch (RuntimeException var13) {
throw ClientErrorException.clientError(var13, "vd.F(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + (byte) -21 + ',' + var5 + ')');
}
}
static boolean method2239(int var0, int var1, int var2, int var3) {
if(Class8.method846(var0, var1, var2)) {
int var4 = var1 << 7;
int var5 = var2 << 7;
int var6 = Class44.anIntArrayArrayArray723[var0][var1][var2] - 1;
int var7 = var6 - 120;
int var8 = var6 - 230;
int var9 = var6 - 238;
if(var3 < 16) {
if(var3 == 1) {
if(var4 > Class145.anInt2697) {
if(!Class3_Sub13_Sub37.method349(var4, var6, var5)) {
return true;
}
if(!Class3_Sub13_Sub37.method349(var4, var6, var5 + 128)) {
return true;
}
}
if(var0 > 0) {
if(!Class3_Sub13_Sub37.method349(var4, var7, var5)) {
return true;
}
if(!Class3_Sub13_Sub37.method349(var4, var7, var5 + 128)) {
return true;
}
}
if(!Class3_Sub13_Sub37.method349(var4, var8, var5)) {
return true;
}
return !Class3_Sub13_Sub37.method349(var4, var8, var5 + 128);
}
if(var3 == 2) {
if(var5 < Class3_Sub13_Sub30.anInt3363) {
if(!Class3_Sub13_Sub37.method349(var4, var6, var5 + 128)) {
return true;
}
if(!Class3_Sub13_Sub37.method349(var4 + 128, var6, var5 + 128)) {
return true;
}
}
if(var0 > 0) {
if(!Class3_Sub13_Sub37.method349(var4, var7, var5 + 128)) {
return true;
}
if(!Class3_Sub13_Sub37.method349(var4 + 128, var7, var5 + 128)) {
return true;
}
}
if(!Class3_Sub13_Sub37.method349(var4, var8, var5 + 128)) {
return true;
}
return !Class3_Sub13_Sub37.method349(var4 + 128, var8, var5 + 128);
}
if(var3 == 4) {
if(var4 < Class145.anInt2697) {
if(!Class3_Sub13_Sub37.method349(var4 + 128, var6, var5)) {
return true;
}
if(!Class3_Sub13_Sub37.method349(var4 + 128, var6, var5 + 128)) {
return true;
}
}
if(var0 > 0) {
if(!Class3_Sub13_Sub37.method349(var4 + 128, var7, var5)) {
return true;
}
if(!Class3_Sub13_Sub37.method349(var4 + 128, var7, var5 + 128)) {
return true;
}
}
if(!Class3_Sub13_Sub37.method349(var4 + 128, var8, var5)) {
return true;
}
return !Class3_Sub13_Sub37.method349(var4 + 128, var8, var5 + 128);
}
if(var3 == 8) {
if(var5 > Class3_Sub13_Sub30.anInt3363) {
if(!Class3_Sub13_Sub37.method349(var4, var6, var5)) {
return true;
}
if(!Class3_Sub13_Sub37.method349(var4 + 128, var6, var5)) {
return true;
}
}
if(var0 > 0) {
if(!Class3_Sub13_Sub37.method349(var4, var7, var5)) {
return true;
}
if(!Class3_Sub13_Sub37.method349(var4 + 128, var7, var5)) {
return true;
}
}
if(!Class3_Sub13_Sub37.method349(var4, var8, var5)) {
return true;
}
return !Class3_Sub13_Sub37.method349(var4 + 128, var8, var5);
}
}
return !Class3_Sub13_Sub37.method349(var4 + 64, var9, var5 + 64) || (var3 == 16 ? !Class3_Sub13_Sub37.method349(var4, var8, var5 + 128) : (var3 == 32 ? !Class3_Sub13_Sub37.method349(var4 + 128, var8, var5 + 128) : (var3 == 64 ? !Class3_Sub13_Sub37.method349(var4 + 128, var8, var5) : (var3 == 128 && !Class3_Sub13_Sub37.method349(var4, var8, var5)))));
} else {
return true;
}
}
static void method2241(byte var0, boolean var1) {
try {
Class3_Sub9 var3;
for(var3 = (Class3_Sub9) Unsorted.aClass61_78.method1222(); var3 != null; var3 = (Class3_Sub9) Unsorted.aClass61_78.method1221()) {
if(null != var3.aClass3_Sub24_Sub1_2312) {
Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(var3.aClass3_Sub24_Sub1_2312);
var3.aClass3_Sub24_Sub1_2312 = null;
}
if(var3.aClass3_Sub24_Sub1_2315 != null) {
Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(var3.aClass3_Sub24_Sub1_2315);
var3.aClass3_Sub24_Sub1_2315 = null;
}
var3.unlink();
}
if(var1) {
for(var3 = (Class3_Sub9) Unsorted.aClass61_1242.method1222(); null != var3; var3 = (Class3_Sub9) Unsorted.aClass61_1242.method1221()) {
if(null != var3.aClass3_Sub24_Sub1_2312) {
Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(var3.aClass3_Sub24_Sub1_2312);
var3.aClass3_Sub24_Sub1_2312 = null;
}
var3.unlink();
}
for(var3 = (Class3_Sub9) Unsorted.aHashTable_4046.first(); null != var3; var3 = (Class3_Sub9) Unsorted.aHashTable_4046.next()) {
if(null != var3.aClass3_Sub24_Sub1_2312) {
Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(var3.aClass3_Sub24_Sub1_2312);
var3.aClass3_Sub24_Sub1_2312 = null;
}
var3.unlink();
}
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "vd.G(" + var0 + ',' + var1 + ')');
}
}
final void method2233() {
try {
this.anInt3016 = 0;
this.anInt3010 = 0;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "vd.C(" + -949697716 + ')');
}
}
Class164_Sub1() {
super(12, 16, 2);
try {
this.anIntArray3014 = new int[this.anInt2062];
for(int var7 = 0; var7 < this.anInt2062; ++var7) {
this.anIntArray3014[var7] = (short)((int)(Math.pow((double) (float) 0.45, (double)var7) * 4096.0D));
}
} catch (RuntimeException var8) {
throw ClientErrorException.clientError(var8, "vd.<init>(" + 12 + ',' + 5 + ',' + 16 + ',' + 2 + ',' + 2 + ',' + (float) 0.45 + ')');
}
}
void method2242(int var1, byte var2) {
try {
this.aByteArray3015[this.anInt3016++] = (byte)(127 + (Unsorted.bitwiseAnd(var2, 255) >> 1));
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "vd.B(" + var1 + ',' + var2 + ')');
}
}
final void method2231(byte var1) {
try {
this.anInt3010 = Math.abs(this.anInt3010);
if(var1 != -92) {
this.method2231((byte)-112);
}
if(this.anInt3010 >= 4096) {
this.anInt3010 = 4095;
}
this.method2242(this.anInt3016++, (byte)(this.anInt3010 >> 4));
this.anInt3010 = 0;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "vd.A(" + var1 + ')');
}
}
}

View file

@ -0,0 +1,24 @@
package org.runite.client;
final class Class164_Sub1_Sub1 extends Class164_Sub1 {
private byte[] aByteArray4028;
final void method2242(int var1, byte var2) {
int var3 = var1 * 2;
var2 = (byte)(127 + ((var2 & 255) >> 1));
this.aByteArray4028[var3++] = var2;
this.aByteArray4028[var3] = var2;
}
public Class164_Sub1_Sub1() {
super();
}
final byte[] method2243() {
this.aByteArray4028 = new byte[64 * 64 * 64 * 2];
this.method2230(-95);
return this.aByteArray4028;
}
}

View file

@ -0,0 +1,298 @@
package org.runite.client;
import org.rs09.client.Linkable;
import java.util.Objects;
class Class164_Sub2 extends Class164 {
private int anInt3018;
static Class33 aClass33_3019;
static int anInt3020 = 0;
private final int anInt3021;
private final int anInt3022;
private int anInt3024;
private byte[] aByteArray3025;
private final int anInt3026;
static byte[][] aByteArrayArray3027;
private int anInt3028;
private int anInt3029;
void method2244(int var1, byte var2) {
try {
this.aByteArray3025[var1] = var2;
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "we.G(" + var1 + ',' + var2 + ')');
}
}
final void method2231(byte var1) {
try {
this.anInt3018 = this.anInt3021;
this.anInt3029 >>= 4;
if(0 > this.anInt3029) {
this.anInt3029 = 0;
} else if(255 < this.anInt3029) {
this.anInt3029 = 255;
}
this.method2244(this.anInt3028++, (byte)this.anInt3029);
if(var1 == -92) {
this.anInt3029 = 0;
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "we.A(" + var1 + ')');
}
}
Class164_Sub2() {
super(8, 8, 8);
try {
this.anInt3022 = (int)(4096.0F * (float) 3.0);
this.anInt3026 = (int)((float) 0.55 * 4096.0F);
this.anInt3018 = this.anInt3021 = (int)(Math.pow(0.5D, -(float) 0.1) * 4096.0D);
} catch (RuntimeException var10) {
throw ClientErrorException.clientError(var10, "we.<init>(" + 8 + ',' + 5 + ',' + 8 + ',' + 8 + ',' + 2 + ',' + (float) 0.1 + ',' + (float) 0.55 + ',' + (float) 3.0 + ')');
}
}
static int method2246(int var1) {
try {
int var2 = var1 * (var1 * var1 >> 12) >> 12;
int var3 = 6 * var1 - '\uf000';
int var4 = (var1 * var3 >> 12) + '\ua000';
return var2 * var4 >> 12;
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "we.E(" + (byte) 83 + ',' + var1 + ')');
}
}
static int method2247(byte var0, int var1, RSInterface var2) {
try {
if(var2.childDataBuffers != null && var2.childDataBuffers.length > var1) {
try {
int[] var4 = var2.childDataBuffers[var1];
byte var7 = 0;
int var5 = 0;
int var6 = 0;
while(true) {
int var9 = 0;
int var8 = var4[var6++];
byte var10 = 0;
if(var8 == 0) {
return var5;
}
if(15 == var8) {
var10 = 1;
}
if(16 == var8) {
var10 = 2;
}
if(var8 == 1) {
var9 = Class3_Sub13_Sub15.anIntArray3185[var4[var6++]];
}
if(var8 == 17) {
var10 = 3;
}
if(var8 == 2) {
var9 = Class3_Sub20.anIntArray2480[var4[var6++]];
}
if(var8 == 3) {
var9 = Class133.anIntArray1743[var4[var6++]];
}
int var11;
RSInterface var12;
int var13;
int var14;
if(var8 == 4) {
var11 = var4[var6++] << 16;
var11 += var4[var6++];
var12 = Class7.getRSInterface(var11);
var13 = var4[var6++];
if(-1 != var13 && (!ItemDefinition.getItemDefinition(var13).membersItem || Unsorted.isMember)) {
for(var14 = 0; var14 < Objects.requireNonNull(var12).itemAmounts.length; ++var14) {
if(1 + var13 == var12.itemAmounts[var14]) {
var9 += var12.itemIds[var14];
}
}
}
}
if(var8 == 5) {
var9 = ItemDefinition.ram[var4[var6++]];
}
if(6 == var8) {
System.out.println(ItemDefinition.anIntArray781[-1 + Class3_Sub20.anIntArray2480[var4[var6++]]]);
var9 = ItemDefinition.anIntArray781[-1 + Class3_Sub20.anIntArray2480[var4[var6++]]];
}
if(var8 == 7) {
var9 = 100 * ItemDefinition.ram[var4[var6++]] / '\ub71b';
}
if(var8 == 8) {
var9 = Class102.player.COMBAT_LEVEL;
}
if(9 == var8) {
for(var11 = 0; var11 < 25; ++var11) {
if(Class3_Sub23.aBooleanArray2538[var11]) {
var9 += Class3_Sub20.anIntArray2480[var11];
}
}
}
if(var8 == 10) {
var11 = var4[var6++] << 16;
var11 += var4[var6++];
var12 = Class7.getRSInterface(var11);
var13 = var4[var6++];
if(var13 != -1 && (!ItemDefinition.getItemDefinition(var13).membersItem || Unsorted.isMember)) {
for(var14 = 0; var14 < Objects.requireNonNull(var12).itemAmounts.length; ++var14) {
if(1 + var13 == var12.itemAmounts[var14]) {
var9 = 999999999;
break;
}
}
}
}
if(var8 == 11) {
var9 = Unsorted.anInt136;
}
if(12 == var8) {
var9 = MouseListeningClass.anInt1925;
}
if(var8 == 13) {
var11 = ItemDefinition.ram[var4[var6++]];
int var17 = var4[var6++];
var9 = (1 << var17 & var11) == 0 ?0:1;
}
if(var8 == 14) {
var11 = var4[var6++];
var9 = NPCDefinition.method1484(var11);
}
if(var8 == 18) {
var9 = (Class102.player.anInt2819 >> 7) - -Class131.anInt1716;
}
if(var8 == 19) {
var9 = (Class102.player.anInt2829 >> 7) - -Class82.anInt1152;
}
if(var8 == 20) {
var9 = var4[var6++];
}
if(0 == var10) {
if(0 == var7) {
var5 += var9;
}
if(var7 == 1) {
var5 -= var9;
}
if(2 == var7 && var9 != 0) {
var5 /= var9;
}
if(var7 == 3) {
var5 *= var9;
}
var7 = 0;
} else {
var7 = var10;
}
}
} catch (Exception var15) {
return -1;
}
} else {
return -2;
}
} catch (RuntimeException var16) {
throw ClientErrorException.clientError(var16, "we.D(" + var0 + ',' + var1 + ',' + "null" + ')');
}
}
static boolean method2248(int var1) {
try {
return 32 <= var1 && var1 <= 126 || (var1 >= 160 && 255 >= var1 || (var1 == 128 || var1 == 140 || var1 == 151 || var1 == 156 || var1 == 159));
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "we.B(" + -157 + ',' + var1 + ')');
}
}
static void method2249(int var1) {
try {
Linkable var2 = Class124.aHashTable_1659.first();
for(; var2 != null; var2 = Class124.aHashTable_1659.next()) {
if((long) var1 == (65535L & var2.linkableKey >> 48)) {
var2.unlink();
}
}
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "we.F(" + (byte) 83 + ',' + var1 + ')');
}
}
final void method2237(int var1, int var2) {
try {
int anInt3023;
if(0 == var2) {
this.anInt3024 = -(var1 >= 0 ?var1:-var1) + this.anInt3026;
this.anInt3024 = this.anInt3024 * this.anInt3024 >> 12;
this.anInt3029 = this.anInt3024;
} else {
anInt3023 = this.anInt3022 * this.anInt3024 >> 12;
if(anInt3023 >= 0) {
if(anInt3023 > 4096) {
anInt3023 = 4096;
}
} else {
anInt3023 = 0;
}
this.anInt3024 = -(var1 >= 0 ?var1:-var1) + this.anInt3026;
this.anInt3024 = this.anInt3024 * this.anInt3024 >> 12;
this.anInt3024 = this.anInt3024 * anInt3023 >> 12;
this.anInt3029 += this.anInt3018 * this.anInt3024 >> 12;
this.anInt3018 = this.anInt3021 * this.anInt3018 >> 12;
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "we.H(" + var1 + ',' + var2 + ',' + -20975 + ')');
}
}
final void method2233() {
try {
this.anInt3028 = 0;
this.anInt3029 = 0;
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "we.C(" + -949697716 + ')');
}
}
}

View file

@ -0,0 +1,24 @@
package org.runite.client;
final class Class164_Sub2_Sub1 extends Class164_Sub2 {
private byte[] aByteArray4029;
public Class164_Sub2_Sub1() {
super();
}
final byte[] method2250() {
this.aByteArray4029 = new byte[64 * 64 * 64 * 2];
this.method2230(-98);
return this.aByteArray4029;
}
final void method2244(int var1, byte var2) {
int var3 = var1 * 2;
int var4 = var2 & 255;
this.aByteArray4029[var3++] = (byte)(3 * var4 >> 5);
this.aByteArray4029[var3] = (byte)(var4 >> 2);
}
}

View file

@ -0,0 +1,105 @@
package org.runite.client;
final class Class166 {
int anInt2063;
byte[] aByteArray2064;
static Class3_Sub2[][][] aClass3_Sub2ArrayArrayArray2065;
int anInt2066;
int anInt2067;
static int[] anIntArray2068 = new int[50];
int anInt2069;
static Class3_Sub28_Sub5[] aClass3_Sub28_Sub5Array2070 = new Class3_Sub28_Sub5[14];
int anInt2071;
static AbstractSprite[] aAbstractSpriteArray2072;
static int[] anIntArray2073 = new int[5];
byte[] aByteArray2076;
int anInt2077;
int anInt2078;
static int anInt2079 = 0;
static boolean method2256(int var0, int var1, int var2, int var3) {
if(Class8.method846(var0, var1, var2)) {
int var4 = var1 << 7;
int var5 = var2 << 7;
return !Class3_Sub13_Sub37.method349(var4 + 1, Class44.anIntArrayArrayArray723[var0][var1][var2] + var3, var5 + 1) || !Class3_Sub13_Sub37.method349(var4 + 128 - 1, Class44.anIntArrayArrayArray723[var0][var1 + 1][var2] + var3, var5 + 1) || !Class3_Sub13_Sub37.method349(var4 + 128 - 1, Class44.anIntArrayArrayArray723[var0][var1 + 1][var2 + 1] + var3, var5 + 128 - 1) || !Class3_Sub13_Sub37.method349(var4 + 1, Class44.anIntArrayArrayArray723[var0][var1][var2 + 1] + var3, var5 + 128 - 1);
} else {
return true;
}
}
static void method2257() {
try {
Class163_Sub2_Sub1.aReferenceCache_4015.clear();
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "wh.F(" + 96 + ')');
}
}
static void method2258(int var0, RSString var2) {
try {
RSString var3 = var2.method1579().longToRSString();
boolean var4 = false;
for(int var5 = 0; Class159.localPlayerCount > var5; ++var5) {
Player var6 = Class3_Sub13_Sub22.players[Class56.localPlayerIndexes[var5]];
if(null != var6 && null != var6.displayName && var6.displayName.equalsStringIgnoreCase(var3)) {
var4 = true;
Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var6.anIntArray2767[0], 1, 0, 2, var6.anIntArray2755[0], Class102.player.anIntArray2767[0]);
if(1 == var0) {
Class3_Sub13_Sub1.outgoingBuffer.putOpcode(68);
Class3_Sub13_Sub1.outgoingBuffer.writeShort128LE(Class56.localPlayerIndexes[var5]);
} else if(4 == var0) {
Class3_Sub13_Sub1.outgoingBuffer.putOpcode(180);
Class3_Sub13_Sub1.outgoingBuffer.writeShort128LE(Class56.localPlayerIndexes[var5]);
} else if (5 == var0) {
Class3_Sub13_Sub1.outgoingBuffer.putOpcode(4);
Class3_Sub13_Sub1.outgoingBuffer.writeShortLE(Class56.localPlayerIndexes[var5]);
} else if (var0 == 6) {
Class3_Sub13_Sub1.outgoingBuffer.putOpcode(133);
Class3_Sub13_Sub1.outgoingBuffer.writeShortLE(Class56.localPlayerIndexes[var5]);
} else if (var0 == 7) {
Class3_Sub13_Sub1.outgoingBuffer.putOpcode(114);
Class3_Sub13_Sub1.outgoingBuffer.writeShort128LE(Class56.localPlayerIndexes[var5]);
}
break;
}
}
if(!var4) {
Class3_Sub30_Sub1.addChatMessage(TextCore.aClass94_3672, 0, RSString.stringCombiner(new RSString[]{TextCore.HasUnableFind, var3}), -1);
}
} catch (RuntimeException var7) {
throw ClientErrorException.clientError(var7, "wh.D(" + var0 + ',' + 0 + ',' + (var2 != null?"{...}":"null") + ')');
}
}
static AbstractIndexedSprite method2259() {
try {
Object var1;
if(HDToolKit.highDetail) {
var1 = new HDIndexedSprite(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[0], Unsorted.anIntArray2591[0], Class140_Sub7.anIntArray2931[0], Unsorted.anIntArray3076[0], Class163_Sub1.aByteArrayArray2987[0], Class3_Sub13_Sub38.spritePalette);
} else {
var1 = new LDIndexedSprite(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[0], Unsorted.anIntArray2591[0], Class140_Sub7.anIntArray2931[0], Unsorted.anIntArray3076[0], Class163_Sub1.aByteArrayArray2987[0], Class3_Sub13_Sub38.spritePalette);
}
Class39.method1035((byte)116);
return (AbstractIndexedSprite)var1;
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "wh.A(" + (byte) -40 + ')');
}
}
static void method2260() {
try {
Class3_Sub13_Sub34.aReferenceCache_3412.sweep(5);
Class3_Sub13_Sub31.aReferenceCache_3369.sweep(5);
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "wh.E(" + -1045 + ',' + 5 + ')');
}
}
}

View file

@ -0,0 +1,284 @@
package org.runite.client;
final class Class167 {
static RSString aClass94_2083 = null;
static int anInt2087 = 0;
static void addLocalNPCs() {
try {
while(true) {
if(GraphicDefinition.incomingBuffer.method815(Unsorted.incomingPacketLength) >= 27) {
int var1 = GraphicDefinition.incomingBuffer.getBits(15);
if(32767 != var1) {
boolean var2 = false;
if(null == NPC.npcs[var1]) {
var2 = true;
NPC.npcs[var1] = new NPC();
}
NPC var3 = NPC.npcs[var1];
Class15.localNPCIndexes[Class163.localNPCCount++] = var1;
var3.anInt2838 = Class44.anInt719;
if(null != var3.definition && var3.definition.method1474()) {
Class3_Sub28_Sub8.method574(var3);
}
int var4 = GraphicDefinition.incomingBuffer.getBits(1);
int var5 = Class27.anIntArray510[GraphicDefinition.incomingBuffer.getBits(3)];
if(var2) {
var3.anInt2806 = var3.anInt2785 = var5;
}
int var6 = GraphicDefinition.incomingBuffer.getBits(1);
if(var6 == 1) {
Class21.maskUpdateIndexes[Unsorted.maskUpdateCount++] = var1;
}
int var7 = GraphicDefinition.incomingBuffer.getBits(5);
var3.setDefinitions(NPCDefinition.getNPCDefinition(GraphicDefinition.incomingBuffer.getBits(14)));
if(15 < var7) {
var7 -= 32;
}
int var8 = GraphicDefinition.incomingBuffer.getBits(5);
if(15 < var8) {
var8 -= 32;
}
var3.setSize(var3.definition.size, 2);
var3.renderAnimationId = var3.definition.renderAnimationId;
var3.anInt2779 = var3.definition.anInt1274;
if(var3.anInt2779 == 0) {
var3.anInt2785 = 0;
}
var3.method1967(var3.getSize(), Class102.player.anIntArray2767[0] + var8, var7 + Class102.player.anIntArray2755[0], var4 == 1);
if(var3.definition.method1474()) {
Class70.method1286(var3.anIntArray2755[0], (ObjectDefinition)null, 0, var3, var3.anIntArray2767[0], WorldListCountry.localPlane, (Player)null);
}
continue;
}
}
GraphicDefinition.incomingBuffer.method818();
return;
}
} catch (RuntimeException var9) {
throw ClientErrorException.clientError(var9, "wj.E(" + 113 + ')');
}
}
static void method2263(int var0, int var1, int var2, int var3, int var4, int var5, int var6) {
Class113 var7 = new Class113();
var7.anInt1553 = var1 / 128;
var7.anInt1547 = var2 / 128;
var7.anInt1563 = var3 / 128;
var7.anInt1566 = var4 / 128;
var7.anInt1554 = var0;
var7.anInt1562 = var1;
var7.anInt1545 = var2;
var7.anInt1560 = var3;
var7.anInt1550 = var4;
var7.anInt1544 = var5;
var7.anInt1548 = var6;
Class3_Sub28_Sub8.aClass113Array3610[Class3_Sub4.anInt2249++] = var7;
}
static void method2264(boolean var0) {
if(var0) {
Class75_Sub2.aClass3_Sub2ArrayArrayArray2638 = Class166.aClass3_Sub2ArrayArrayArray2065;
Class44.anIntArrayArrayArray723 = Unsorted.anIntArrayArrayArray3605;
Class3_Sub23.aClass3_Sub11ArrayArray2542 = Class3_Sub13_Sub28.aClass3_Sub11ArrayArray3346;
} else {
Class75_Sub2.aClass3_Sub2ArrayArrayArray2638 = Unsorted.aClass3_Sub2ArrayArrayArray4070;
Class44.anIntArrayArrayArray723 = Class58.anIntArrayArrayArray914;
Class3_Sub23.aClass3_Sub11ArrayArray2542 = Client.aClass3_Sub11ArrayArray2199;
}
Class3_Sub17.anInt2456 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638.length;
}
static void method2265() {
try {
CS2Script.aReferenceCache_2442.clear();
} catch (RuntimeException var2) {
throw ClientErrorException.clientError(var2, "wj.B(" + 0 + ')');
}
}
static void method2266(int var0, int var1) {
try {
if(Unsorted.anInt120 != 0 && var1 != -1) {
Class70.method1285(CacheIndex.music2Index, var1, Unsorted.anInt120);
Class83.aBoolean1158 = true;
}
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "wj.D(" + var0 + ',' + var1 + ',' + (byte) -1 + ')');
}
}
static void method2267(int var0, int var1, boolean var2, DataBuffer var3, int var4, int var5, byte var6, int var7, int var8) {
try {
int var9;
if(var5 >= 0 && var5 < 104 && var4 >= 0 && var4 < 104) {
if(!var2) {
Unsorted.aByteArrayArrayArray113[var8][var5][var4] = 0;
}
while(true) {
var9 = var3.readUnsignedByte();
if(var9 == 0) {
if(var2) {
Class44.anIntArrayArrayArray723[0][var5][var4] = Class58.anIntArrayArrayArray914[0][var5][var4];
} else if (var8 == 0) {
Class44.anIntArrayArrayArray723[0][var5][var4] = 8 * -Class32.method993(var4 + 556238 + var1, var0 + var5 + 932731);
} else {
Class44.anIntArrayArrayArray723[var8][var5][var4] = -240 + Class44.anIntArrayArrayArray723[var8 - 1][var5][var4];
}
break;
}
if(var9 == 1) {
int var10 = var3.readUnsignedByte();
if(var2) {
Class44.anIntArrayArrayArray723[0][var5][var4] = Class58.anIntArrayArrayArray914[0][var5][var4] - -(var10 * 8);
} else {
if(var10 == 1) {
var10 = 0;
}
if(var8 == 0) {
Class44.anIntArrayArrayArray723[0][var5][var4] = 8 * -var10;
} else {
Class44.anIntArrayArrayArray723[var8][var5][var4] = -(var10 * 8) + Class44.anIntArrayArrayArray723[-1 + var8][var5][var4];
}
}
break;
}
if(49 >= var9) {
Class158_Sub1.aByteArrayArrayArray1828[var8][var5][var4] = var3.readSignedByte();
Unsorted.aByteArrayArrayArray1328[var8][var5][var4] = (byte)((-2 + var9) / 4);
PacketParser.aByteArrayArrayArray81[var8][var5][var4] = (byte) Unsorted.bitwiseAnd(-2 + var9 + var7, 3);
} else if(var9 > 81) {
Class3_Sub13_Sub36.aByteArrayArrayArray3430[var8][var5][var4] = (byte)(-81 + var9);
} else if(!var2) {
Unsorted.aByteArrayArrayArray113[var8][var5][var4] = (byte)(var9 - 49);
}
}
} else {
while(true) {
var9 = var3.readUnsignedByte();
if(var9 == 0) {
break;
}
if(var9 == 1) {
var3.readUnsignedByte();
break;
}
if(var9 <= 49) {
var3.readUnsignedByte();
}
}
}
if(var6 < 58) {
anInt2087 = 87;
}
} catch (RuntimeException var11) {
throw ClientErrorException.clientError(var11, "wj.A(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ')');
}
}
static int method2268(byte var0, int var1, int var2) {
try {
Class3_Sub25 var3 = (Class3_Sub25)Class3_Sub2.aHashTable_2220.get((long)var1);
if(var3 == null) {
return 0;
} else if (var2 == -1) {
return 0;
} else {
int var4 = 0;
for (int var5 = 0; var3.anIntArray2551.length > var5; ++var5) {
if (var3.anIntArray2547[var5] == var2) {
var4 += var3.anIntArray2551[var5];
}
}
return var4;
}
} catch (RuntimeException var6) {
throw ClientErrorException.clientError(var6, "wj.H(" + var0 + ',' + var1 + ',' + var2 + ')');
}
}
static void method2269(byte var0) {
try {
if(null != Class3_Sub15.activeConnection) {
Class3_Sub15.activeConnection.close();
Class3_Sub15.activeConnection = null;
}
Class3_Sub13_Sub30.method313((byte)110);
Class32.method995();
int var1;
for(var1 = 0; var1 < 4; ++var1) {
AtmosphereParser.aClass91Array1182[var1].method1496();
}
Unsorted.method1250(62, false);
System.gc();
Unsorted.method882();
Class83.aBoolean1158 = false;
Class129.anInt1691 = -1;
Class164_Sub1.method2241((byte)-77, true);
LinkableRSString.isDynamicSceneGraph = false;
Class82.anInt1152 = 0;
Unsorted.anInt3606 = 0;
Class3_Sub7.anInt2294 = 0;
Class131.anInt1716 = 0;
for(var1 = 0; ClientErrorException.aClass96Array2114.length > var1; ++var1) {
ClientErrorException.aClass96Array2114[var1] = null;
}
Class159.localPlayerCount = 0;
Class163.localNPCCount = 0;
if(var0 != 46) {
method2269((byte)43);
}
for(var1 = 0; var1 < 2048; ++var1) {
Class3_Sub13_Sub22.players[var1] = null;
Class65.aClass3_Sub30Array986[var1] = null;
}
for(var1 = 0; var1 < 32768; ++var1) {
NPC.npcs[var1] = null;
}
for(var1 = 0; 4 > var1; ++var1) {
for(int var2 = 0; var2 < 104; ++var2) {
for(int var3 = 0; var3 < 104; ++var3) {
Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[var1][var2][var3] = null;
}
}
}
Class3_Sub28_Sub5.method560();
Class113.interfacePacketCounter = 0;
Class3_Sub13_Sub2.method176(var0 + -161);
Class3_Sub13_Sub11.method219(true);
} catch (RuntimeException var4) {
throw ClientErrorException.clientError(var4, "wj.C(" + var0 + ')');
}
}
}

View file

@ -0,0 +1,982 @@
package org.runite.client;
import org.rs09.client.rendering.Toolkit;
final class Class168 {
int anInt2090 = 128;
static RSInterface aClass11_2091 = null;
boolean aBoolean2092 = false;
boolean aBoolean2093 = true;
int anInt2094 = 1190717;
int anInt2095 = -1;
static Class3_Sub28_Sub17 aClass3_Sub28_Sub17_2096;
int anInt2098 = -1;
static int anInt2099 = 0;
int anInt2100 = 8;
int anInt2101 = 16;
boolean aBoolean2102 = true;
int anInt2103 = 0;
static void method2270(Class140_Sub4 var0) {
try {
if (Class44.anInt719 == var0.anInt2790 || var0.anInt2771 == -1 || var0.anInt2828 != 0 || SequenceDefinition.getAnimationDefinition(var0.anInt2771).duration[var0.anInt2832] < 1 + var0.anInt2760) {
int var2 = var0.anInt2790 + -var0.anInt2800;
int var3 = Class44.anInt719 + -var0.anInt2800;
int var4 = var0.anInt2784 * 128 + 64 * var0.getSize();
int var5 = var0.anInt2835 * 128 - -(var0.getSize() * 64);
int var6 = 128 * var0.anInt2823 + var0.getSize() * 64;
int var7 = 128 * var0.anInt2798 + var0.getSize() * 64;
var0.anInt2819 = (var3 * var6 + var4 * (var2 - var3)) / var2;
var0.anInt2829 = (var7 * var3 + var5 * (var2 - var3)) / var2;
}
var0.anInt2824 = 0;
if (var0.anInt2840 == 0) {
var0.anInt2806 = 1024;
}
if (1 == var0.anInt2840) {
var0.anInt2806 = 1536;
}
if (var0.anInt2840 == 2) {
var0.anInt2806 = 0;
}
if (var0.anInt2840 == 3) {
var0.anInt2806 = 512;
}
var0.anInt2785 = var0.anInt2806;
} catch (RuntimeException var8) {
throw ClientErrorException.clientError(var8, "wl.K(" + (var0 != null ? "{...}" : "null") + ',' + (byte) -56 + ')');
}
}
static void method2271(int var0, int var1, int var3) {
try {
InterfaceWidget var4 = InterfaceWidget.getWidget(11, var1);
var4.flagUpdate();
var4.anInt3597 = var3;
var4.anInt3598 = var0;
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "wl.F(" + var0 + ',' + var1 + ',' + 1 + ',' + var3 + ')');
}
}
static void method2272(int[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, boolean var9) {
try {
int var11 = var2;
if (var2 < Toolkit.JAVA_TOOLKIT.clipRight) {
if (Toolkit.JAVA_TOOLKIT.clipLeft > var2) {
var11 = Toolkit.JAVA_TOOLKIT.clipLeft;
}
int var12 = var7 + var2;
if (Toolkit.JAVA_TOOLKIT.clipLeft < var12) {
if (Toolkit.JAVA_TOOLKIT.clipRight < var12) {
var12 = Toolkit.JAVA_TOOLKIT.clipRight;
}
int var13 = var8;
if (var8 < Toolkit.JAVA_TOOLKIT.clipBottom) {
int var14 = var8 + var6;
if (Toolkit.JAVA_TOOLKIT.clipTop > var8) {
var13 = Toolkit.JAVA_TOOLKIT.clipTop;
}
if (var14 > Toolkit.JAVA_TOOLKIT.clipTop) {
int var15 = var11 + Toolkit.JAVA_TOOLKIT.width * var13;
if (var5 == 9) {
var3 = 3 & var3 - -1;
var5 = 1;
}
int var16 = -var12 + var11 + Toolkit.JAVA_TOOLKIT.width;
var13 -= var8;
int var20 = var6 + -var13;
if (Toolkit.JAVA_TOOLKIT.clipBottom < var14) {
var14 = Toolkit.JAVA_TOOLKIT.clipBottom;
}
if (var5 == 10) {
var3 = var3 - -3 & 3;
var5 = 1;
}
var11 -= var2;
int var18 = -var11 + var7;
if (11 == var5) {
var3 = 3 & var3 + 3;
var5 = 8;
}
var12 -= var2;
int var17 = var7 + -var12;
var14 -= var8;
int var19 = var6 - var14;
int var21;
int var22;
if (var5 != 1) {
if (2 == var5) {
if (var3 == 0) {
for (var21 = var20 + -1; var19 <= var21; --var21) {
for (var22 = var11; var12 > var22; ++var22) {
if (var22 <= var21 >> 1) {
var0[var15] = var1;
} else if (var9) {
var0[var15] = var4;
}
++var15;
}
var15 += var16;
}
} else if (1 == var3) {
for (var21 = var13; var14 > var21; ++var21) {
for (var22 = var11; var22 < var12; ++var22) {
if (0 <= var15 && var0.length > var15) {
if (var22 >= var21 << 1) {
var0[var15] = var1;
} else if (var9) {
var0[var15] = var4;
}
++var15;
} else {
++var15;
}
}
var15 += var16;
}
} else if (var3 == 2) {
for (var21 = var13; var21 < var14; ++var21) {
for (var22 = var18 + -1; var17 <= var22; --var22) {
if (var21 >> 1 >= var22) {
var0[var15] = var1;
} else if (var9) {
var0[var15] = var4;
}
++var15;
}
var15 += var16;
}
} else if (3 == var3) {
for (var21 = var20 + -1; var19 <= var21; --var21) {
for (var22 = -1 + var18; var17 <= var22; --var22) {
if (var21 << 1 > var22) {
if (var9) {
var0[var15] = var4;
}
} else {
var0[var15] = var1;
}
++var15;
}
var15 += var16;
}
}
} else if (var5 != 3) {
if (var5 != 4) {
if (var5 != 5) {
if (var5 == 6) {
if (var3 == 0) {
for (var21 = var13; var14 > var21; ++var21) {
for (var22 = var11; var12 > var22; ++var22) {
if (var22 > var7 / 2) {
if (var9) {
var0[var15] = var4;
}
} else {
var0[var15] = var1;
}
++var15;
}
var15 += var16;
}
return;
}
if (var3 == 1) {
for (var21 = var13; var14 > var21; ++var21) {
for (var22 = var11; var12 > var22; ++var22) {
if (var21 > var6 / 2) {
if (var9) {
var0[var15] = var4;
}
} else {
var0[var15] = var1;
}
++var15;
}
var15 += var16;
}
return;
}
if (2 == var3) {
for (var21 = var13; var14 > var21; ++var21) {
for (var22 = var11; var22 < var12; ++var22) {
if (var22 >= var7 / 2) {
var0[var15] = var1;
} else if (var9) {
var0[var15] = var4;
}
++var15;
}
var15 += var16;
}
return;
}
if (var3 == 3) {
for (var21 = var13; var14 > var21; ++var21) {
for (var22 = var11; var12 > var22; ++var22) {
if (var6 / 2 > var21) {
if (var9) {
var0[var15] = var4;
}
} else {
var0[var15] = var1;
}
++var15;
}
var15 += var16;
}
return;
}
}
if (7 == var5) {
if (0 == var3) {
for (var21 = var13; var21 < var14; ++var21) {
for (var22 = var11; var22 < var12; ++var22) {
if (var22 <= var21 + -(var6 / 2)) {
var0[var15] = var1;
} else if (var9) {
var0[var15] = var4;
}
++var15;
}
var15 += var16;
}
return;
}
if (var3 == 1) {
for (var21 = var20 + -1; var21 >= var19; --var21) {
for (var22 = var11; var12 > var22; ++var22) {
if (var22 > -(var6 / 2) + var21) {
if (var9) {
var0[var15] = var4;
}
} else {
var0[var15] = var1;
}
++var15;
}
var15 += var16;
}
return;
}
if (var3 == 2) {
for (var21 = var20 + -1; var21 >= var19; --var21) {
for (var22 = -1 + var18; var22 >= var17; --var22) {
if (var22 > var21 + -(var6 / 2)) {
if (var9) {
var0[var15] = var4;
}
} else {
var0[var15] = var1;
}
++var15;
}
var15 += var16;
}
return;
}
if (3 == var3) {
for (var21 = var13; var14 > var21; ++var21) {
for (var22 = -1 + var18; var17 <= var22; --var22) {
if (var21 + -(var6 / 2) >= var22) {
var0[var15] = var1;
} else if (var9) {
var0[var15] = var4;
}
++var15;
}
var15 += var16;
}
return;
}
}
if (var5 == 8) {
if (0 == var3) {
for (var21 = var13; var14 > var21; ++var21) {
for (var22 = var11; var22 < var12; ++var22) {
if (-(var6 / 2) + var21 <= var22) {
var0[var15] = var1;
} else if (var9) {
var0[var15] = var4;
}
++var15;
}
var15 += var16;
}
return;
}
if (var3 == 1) {
for (var21 = -1 + var20; var21 >= var19; --var21) {
for (var22 = var11; var22 < var12; ++var22) {
if (-(var6 / 2) + var21 > var22) {
if (var9) {
var0[var15] = var4;
}
} else {
var0[var15] = var1;
}
++var15;
}
var15 += var16;
}
return;
}
if (var3 == 2) {
for (var21 = var20 - 1; var19 <= var21; --var21) {
for (var22 = -1 + var18; var22 >= var17; --var22) {
if (var21 - var6 / 2 > var22) {
if (var9) {
var0[var15] = var4;
}
} else {
var0[var15] = var1;
}
++var15;
}
var15 += var16;
}
return;
}
if (var3 == 3) {
for (var21 = var13; var21 < var14; ++var21) {
for (var22 = -1 + var18; var17 <= var22; --var22) {
if (var21 + -(var6 / 2) > var22) {
if (var9) {
var0[var15] = var4;
}
} else {
var0[var15] = var1;
}
++var15;
}
var15 += var16;
}
return;
}
}
} else if (0 == var3) {
for (var21 = var20 + -1; var21 >= var19; --var21) {
for (var22 = -1 + var18; var22 >= var17; --var22) {
if (var21 >> 1 <= var22) {
var0[var15] = var1;
} else if (var9) {
var0[var15] = var4;
}
++var15;
}
var15 += var16;
}
} else if (1 == var3) {
for (var21 = -1 + var20; var21 >= var19; --var21) {
for (var22 = var11; var22 < var12; ++var22) {
if (var22 > var21 << 1) {
if (var9) {
var0[var15] = var4;
}
} else {
var0[var15] = var1;
}
++var15;
}
var15 += var16;
}
} else if (var3 == 2) {
for (var21 = var13; var14 > var21; ++var21) {
for (var22 = var11; var22 < var12; ++var22) {
if (var21 >> 1 > var22) {
if (var9) {
var0[var15] = var4;
}
} else {
var0[var15] = var1;
}
++var15;
}
var15 += var16;
}
} else if (var3 == 3) {
for (var21 = var13; var21 < var14; ++var21) {
for (var22 = var18 + -1; var17 <= var22; --var22) {
if (var21 << 1 >= var22) {
var0[var15] = var1;
} else if (var9) {
var0[var15] = var4;
}
++var15;
}
var15 += var16;
}
}
} else if (var3 == 0) {
for (var21 = var20 + -1; var21 >= var19; --var21) {
for (var22 = var11; var12 > var22; ++var22) {
if (var22 < var21 >> 1) {
if (var9) {
var0[var15] = var4;
}
} else {
var0[var15] = var1;
}
++var15;
}
var15 += var16;
}
} else if (1 == var3) {
for (var21 = var13; var21 < var14; ++var21) {
for (var22 = var11; var22 < var12; ++var22) {
if (var22 <= var21 << 1) {
var0[var15] = var1;
} else if (var9) {
var0[var15] = var4;
}
++var15;
}
var15 += var16;
}
} else if (2 == var3) {
for (var21 = var13; var21 < var14; ++var21) {
for (var22 = var18 + -1; var22 >= var17; --var22) {
if (var21 >> 1 <= var22) {
var0[var15] = var1;
} else if (var9) {
var0[var15] = var4;
}
++var15;
}
var15 += var16;
}
} else if (var3 == 3) {
for (var21 = -1 + var20; var21 >= var19; --var21) {
for (var22 = -1 + var18; var22 >= var17; --var22) {
if (var22 <= var21 << 1) {
var0[var15] = var1;
} else if (var9) {
var0[var15] = var4;
}
++var15;
}
var15 += var16;
}
}
} else if (var3 == 0) {
for (var21 = var20 - 1; var21 >= var19; --var21) {
for (var22 = -1 + var18; var17 <= var22; --var22) {
if (var22 <= var21 >> 1) {
var0[var15] = var1;
} else if (var9) {
var0[var15] = var4;
}
++var15;
}
var15 += var16;
}
} else if (var3 == 1) {
for (var21 = -1 + var20; var19 <= var21; --var21) {
for (var22 = var11; var12 > var22; ++var22) {
if (var22 >= var21 << 1) {
var0[var15] = var1;
} else if (var9) {
var0[var15] = var4;
}
++var15;
}
var15 += var16;
}
} else if (2 == var3) {
for (var21 = var13; var21 < var14; ++var21) {
for (var22 = var11; var12 > var22; ++var22) {
if (var21 >> 1 >= var22) {
var0[var15] = var1;
} else if (var9) {
var0[var15] = var4;
}
++var15;
}
var15 += var16;
}
} else if (3 == var3) {
for (var21 = var13; var21 < var14; ++var21) {
for (var22 = var18 - 1; var17 <= var22; --var22) {
if (var22 < var21 << 1) {
if (var9) {
var0[var15] = var4;
}
} else {
var0[var15] = var1;
}
++var15;
}
var15 += var16;
}
}
} else if (var3 == 0) {
for (var21 = var13; var21 < var14; ++var21) {
for (var22 = var11; var22 < var12; ++var22) {
if (var21 >= var22) {
var0[var15] = var1;
} else if (var9) {
var0[var15] = var4;
}
++var15;
}
var15 += var16;
}
} else if (1 == var3) {
for (var21 = var20 + -1; var21 >= var19; --var21) {
for (var22 = var11; var22 < var12; ++var22) {
if (var21 >= var22) {
var0[var15] = var1;
} else if (var9) {
var0[var15] = var4;
}
++var15;
}
var15 += var16;
}
} else if (2 == var3) {
for (var21 = var13; var21 < var14; ++var21) {
for (var22 = var11; var12 > var22; ++var22) {
if (var22 >= var21) {
var0[var15] = var1;
} else if (var9) {
var0[var15] = var4;
}
++var15;
}
var15 += var16;
}
} else if (var3 == 3) {
for (var21 = var20 + -1; var19 <= var21; --var21) {
for (var22 = var11; var12 > var22; ++var22) {
if (var22 < var21) {
if (var9) {
var0[var15] = var4;
}
} else {
var0[var15] = var1;
}
++var15;
}
var15 += var16;
}
}
}
}
}
}
} catch (RuntimeException var23) {
throw ClientErrorException.clientError(var23, "wl.C(" + "null" + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + (byte) 21 + ')');
}
}
static RSInterface method2273(RSInterface iface) {
if (iface.parentId != -1) {
return Class7.getRSInterface(iface.parentId);
}
int var3 = iface.componentHash >>> 16;
Class80<Class3_Sub31> var4 = new Class80<>(Class3_Sub13_Sub17.aHashTable_3208);
for (Class3_Sub31 var2 = var4.method1393(); null != var2; var2 = var4.method1392()) {
if (var2.anInt2602 == var3) {
return Class7.getRSInterface((int) var2.linkableKey);
}
}
return null;
}
final void method2274(DataBuffer var2, int var3) {
try {
while (true) {
int var4 = var2.readUnsignedByte();
if (var4 == 0) {
return;
}
this.method2279(var4, var2, var3);
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "wl.H(" + 24559 + ',' + (var2 != null ? "{...}" : "null") + ',' + var3 + ')');
}
}
static void method2275(int var0, int var2, int var3, int var4, int var5, int var6) {
try {
int var8 = -var5 + var3;
MouseListeningClass.method2091(var3);
int var7 = 0;
if (var8 < 0) {
var8 = 0;
}
int var9 = var3;
int var10 = -var3;
int var12 = -var8;
int var11 = var8;
int var13 = -1;
int var17;
int var16;
int var19;
int var18;
if (var2 >= Class159.anInt2020 && Class57.anInt902 >= var2) {
int[] var15 = Class38.anIntArrayArray663[var2];
var16 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, -var3 + var6, Class101.anInt1425);
var17 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var3 + var6, Class101.anInt1425);
var18 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var6 + -var8, Class101.anInt1425);
var19 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var6 - -var8, Class101.anInt1425);
Class3_Sub13_Sub23_Sub1.method282(var15, var16, 102, var18, var4);
Class3_Sub13_Sub23_Sub1.method282(var15, var18, -44, var19, var0);
Class3_Sub13_Sub23_Sub1.method282(var15, var19, -61, var17, var4);
}
int var14 = -1;
while (var9 > var7) {
var13 += 2;
var14 += 2;
var12 += var14;
var10 += var13;
if (var12 >= 0 && var11 >= 1) {
--var11;
GameObject.anIntArray1838[var11] = var7;
var12 -= var11 << 1;
}
++var7;
int var21;
int var20;
int[] var22;
int var24;
if (0 <= var10) {
--var9;
var10 -= var9 << 1;
var24 = var2 + -var9;
var16 = var2 + var9;
if (var16 >= Class159.anInt2020 && var24 <= Class57.anInt902) {
if (var8 <= var9) {
var17 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var7 + var6, Class101.anInt1425);
var18 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, -var7 + var6, Class101.anInt1425);
if (var16 <= Class57.anInt902) {
Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var16], var18, -53, var17, var4);
}
if (var24 >= Class159.anInt2020) {
Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var24], var18, 96, var17, var4);
}
} else {
var17 = GameObject.anIntArray1838[var9];
var18 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var7 + var6, Class101.anInt1425);
var19 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, -var7 + var6, Class101.anInt1425);
var20 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var6 - -var17, Class101.anInt1425);
var21 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, -var17 + var6, Class101.anInt1425);
if (Class57.anInt902 >= var16) {
var22 = Class38.anIntArrayArray663[var16];
Class3_Sub13_Sub23_Sub1.method282(var22, var19, 116, var21, var4);
Class3_Sub13_Sub23_Sub1.method282(var22, var21, 125, var20, var0);
Class3_Sub13_Sub23_Sub1.method282(var22, var20, 87, var18, var4);
}
if (Class159.anInt2020 <= var24) {
var22 = Class38.anIntArrayArray663[var24];
Class3_Sub13_Sub23_Sub1.method282(var22, var19, 110, var21, var4);
Class3_Sub13_Sub23_Sub1.method282(var22, var21, -114, var20, var0);
Class3_Sub13_Sub23_Sub1.method282(var22, var20, -88, var18, var4);
}
}
}
}
var24 = -var7 + var2;
var16 = var2 - -var7;
if (var16 >= Class159.anInt2020 && var24 <= Class57.anInt902) {
var17 = var6 + var9;
var18 = var6 + -var9;
if (var17 >= Class101.anInt1425 && var18 <= Class3_Sub28_Sub18.anInt3765) {
var17 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var17, Class101.anInt1425);
var18 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var18, Class101.anInt1425);
if (var7 < var8) {
var19 = var11 >= var7 ? var11 : GameObject.anIntArray1838[var7];
var20 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var19 + var6, Class101.anInt1425);
var21 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var6 - var19, Class101.anInt1425);
if (Class57.anInt902 >= var16) {
var22 = Class38.anIntArrayArray663[var16];
Class3_Sub13_Sub23_Sub1.method282(var22, var18, 126, var21, var4);
Class3_Sub13_Sub23_Sub1.method282(var22, var21, 103, var20, var0);
Class3_Sub13_Sub23_Sub1.method282(var22, var20, -61, var17, var4);
}
if (var24 >= Class159.anInt2020) {
var22 = Class38.anIntArrayArray663[var24];
Class3_Sub13_Sub23_Sub1.method282(var22, var18, 102, var21, var4);
Class3_Sub13_Sub23_Sub1.method282(var22, var21, -94, var20, var0);
Class3_Sub13_Sub23_Sub1.method282(var22, var20, 99, var17, var4);
}
} else {
if (var16 <= Class57.anInt902) {
Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var16], var18, 94, var17, var4);
}
if (var24 >= Class159.anInt2020) {
Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var24], var18, 126, var17, var4);
}
}
}
}
}
} catch (RuntimeException var23) {
throw ClientErrorException.clientError(var23, "wl.I(" + var0 + ',' + (byte) 109 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')');
}
}
static void method2277(int var0, int var1, int var2, int var3, byte var4) {
try {
Class3_Sub25 var5 = (Class3_Sub25) Class3_Sub2.aHashTable_2220.get((long) var3);
if (var5 == null) {
var5 = new Class3_Sub25();
Class3_Sub2.aHashTable_2220.put((long) var3, var5);
}
if (var4 > 16) {
if (var1 >= var5.anIntArray2547.length) {
int[] var6 = new int[var1 - -1];
int[] var7 = new int[1 + var1];
int var8;
for (var8 = 0; var8 < var5.anIntArray2547.length; ++var8) {
var6[var8] = var5.anIntArray2547[var8];
var7[var8] = var5.anIntArray2551[var8];
}
for (var8 = var5.anIntArray2547.length; var1 > var8; ++var8) {
var6[var8] = -1;
var7[var8] = 0;
}
var5.anIntArray2547 = var6;
var5.anIntArray2551 = var7;
}
var5.anIntArray2547[var1] = var0;
var5.anIntArray2551[var1] = var2;
}
} catch (RuntimeException var9) {
throw ClientErrorException.clientError(var9, "wl.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')');
}
}
static void method2278(int var0) {
try {
boolean var1 = false;
while (!var1) {
var1 = true;
for (int var2 = 0; -1 + Unsorted.menuOptionCount > var2; ++var2) {
if (Class3_Sub13_Sub7.aShortArray3095[var2] < 1000 && Class3_Sub13_Sub7.aShortArray3095[1 + var2] > 1000) {
RSString var3 = Class163_Sub2_Sub1.aClass94Array4016[var2];
var1 = false;
Class163_Sub2_Sub1.aClass94Array4016[var2] = Class163_Sub2_Sub1.aClass94Array4016[1 + var2];
Class163_Sub2_Sub1.aClass94Array4016[1 + var2] = var3;
RSString var4 = Class140_Sub7.aClass94Array2935[var2];
Class140_Sub7.aClass94Array2935[var2] = Class140_Sub7.aClass94Array2935[var2 + 1];
Class140_Sub7.aClass94Array2935[var2 - -1] = var4;
int var5 = Class117.anIntArray1613[var2];
Class117.anIntArray1613[var2] = Class117.anIntArray1613[1 + var2];
Class117.anIntArray1613[var2 + 1] = var5;
var5 = Class27.anIntArray512[var2];
Class27.anIntArray512[var2] = Class27.anIntArray512[var2 + 1];
Class27.anIntArray512[1 + var2] = var5;
var5 = Class114.anIntArray1578[var2];
Class114.anIntArray1578[var2] = Class114.anIntArray1578[1 + var2];
Class114.anIntArray1578[var2 - -1] = var5;
short var6 = Class3_Sub13_Sub7.aShortArray3095[var2];
Class3_Sub13_Sub7.aShortArray3095[var2] = Class3_Sub13_Sub7.aShortArray3095[1 + var2];
Class3_Sub13_Sub7.aShortArray3095[var2 + 1] = var6;
long var7 = Class3_Sub13_Sub22.aLongArray3271[var2];
Class3_Sub13_Sub22.aLongArray3271[var2] = Class3_Sub13_Sub22.aLongArray3271[var2 + 1];
Class3_Sub13_Sub22.aLongArray3271[var2 - -1] = var7;
}
}
}
} catch (RuntimeException var9) {
throw ClientErrorException.clientError(var9, "wl.D(" + var0 + ')');
}
}
private void method2279(int var2, DataBuffer var3, int var4) {
try {
if (var2 == 1) {
this.anInt2103 = RSInterface.method869(116, var3.readMedium());
} else if (var2 == 2) {
this.anInt2095 = var3.readUnsignedByte();
} else if (3 == var2) {
this.anInt2095 = var3.readUnsignedShort();
if (this.anInt2095 == '\uffff') {
this.anInt2095 = -1;
}
} else if (5 == var2) {
this.aBoolean2102 = false;
} else if (var2 == 7) {
this.anInt2098 = RSInterface.method869(116, var3.readMedium());
} else if (var2 == 8) {
Class3_Sub13_Sub6.anInt3081 = var4;
} else if (var2 == 9) {
this.anInt2090 = var3.readUnsignedShort();
} else if (var2 == 10) {
this.aBoolean2093 = false;
} else if (var2 == 11) {
this.anInt2100 = var3.readUnsignedByte();
} else if (12 == var2) {
this.aBoolean2092 = true;
} else if (13 == var2) {
this.anInt2094 = var3.readMedium();
} else if (var2 == 14) {
this.anInt2101 = var3.readUnsignedByte();
}
} catch (RuntimeException var6) {
throw ClientErrorException.clientError(var6, "wl.E(" + 0 + ',' + var2 + ',' + (var3 != null ? "{...}" : "null") + ',' + var4 + ')');
}
}
static void method2280(int var1) {
try {
InterfaceWidget var2 = InterfaceWidget.getWidget(11, var1);
var2.a();
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "wl.B(" + 2714 + ',' + var1 + ')');
}
}
}

View file

@ -0,0 +1,195 @@
package org.runite.client;
import javax.media.opengl.GL;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
final class Class169 {
private Class156 aClass156_2105;
boolean aBoolean2106 = true;
private ByteBuffer aByteBuffer2107;
private final int anInt2108;
private ByteBuffer aByteBuffer2109;
private Class156 aClass156_2110;
private static byte[] aByteArray2111 = new byte[16384];
private int anInt2112 = -1;
final void method2281(int[][] var1, int var2, int var3) {
DataBuffer var4 = new DataBuffer(1620);
int var6;
for(int var5 = 0; var5 <= 8; ++var5) {
for(var6 = 0; var6 <= 8; ++var6) {
if(HDToolKit.aBoolean1790) {
var4.writeFloat((float)var6 / 8.0F);
var4.writeFloat((float)var5 / 8.0F);
var4.writeFloat((float)(var6 * 128));
var4.writeFloat((float)var1[var6 + var2][var5 + var3]);
var4.writeFloat((float)(var5 * 128));
} else {
var4.writeFloatLE((float)var6 / 8.0F);
var4.writeFloatLE((float)var5 / 8.0F);
var4.writeFloatLE((float)(var6 * 128));
var4.writeFloatLE((float)var1[var6 + var2][var5 + var3]);
var4.writeFloatLE((float)(var5 * 128));
}
}
}
if(HDToolKit.supportVertexBufferObject) {
ByteBuffer var9 = ByteBuffer.wrap(var4.buffer, 0, var4.index);
this.aClass156_2110 = new Class156();
this.aClass156_2110.method2172(var9);
} else {
this.aByteBuffer2109 = ByteBuffer.allocateDirect(var4.index).order(ByteOrder.nativeOrder());
this.aByteBuffer2109.put(var4.buffer, 0, var4.index);
this.aByteBuffer2109.flip();
}
DataBuffer var8 = new DataBuffer(1536);
for(var6 = 0; var6 < 8; ++var6) {
for(int var7 = 0; var7 < 8; ++var7) {
if(HDToolKit.aBoolean1790) {
var8.writeInt(var7 + (var6 + 1) * 9);
var8.writeInt(var7 + var6 * 9);
var8.writeInt(var7 + 1 + var6 * 9);
var8.writeInt(var7 + (var6 + 1) * 9);
var8.writeInt(var7 + 1 + var6 * 9);
var8.writeInt(var7 + 1 + (var6 + 1) * 9);
} else {
var8.writeIntLE(var7 + (var6 + 1) * 9);
var8.writeIntLE(var7 + var6 * 9);
var8.writeIntLE(var7 + 1 + var6 * 9);
var8.writeIntLE(var7 + (var6 + 1) * 9);
var8.writeIntLE(var7 + 1 + var6 * 9);
var8.writeIntLE(var7 + 1 + (var6 + 1) * 9);
}
}
}
if(HDToolKit.supportVertexBufferObject) {
ByteBuffer var10 = ByteBuffer.wrap(var8.buffer, 0, var8.index);
this.aClass156_2105 = new Class156();
this.aClass156_2105.method2170(var10);
} else {
this.aByteBuffer2107 = ByteBuffer.allocateDirect(var8.index).order(ByteOrder.nativeOrder());
this.aByteBuffer2107.put(var8.buffer, 0, var8.index);
this.aByteBuffer2107.flip();
}
}
final void method2282(LDIndexedSprite var1, int var2, int var3) {
byte[] var4 = var1.raster;
int var5 = var1.width;
int var6 = var2 * 128 + 1 + (var3 * 128 + 1) * var5;
int var7 = 0;
int var8;
int var9;
for(var8 = -128; var8 < 0; ++var8) {
var7 = (var7 << 8) - var7;
for(var9 = -128; var9 < 0; ++var9) {
if(var4[var6++] != 0) {
++var7;
}
}
var6 += var5 - 128;
}
if(var7 == this.anInt2112) {
} else {
this.anInt2112 = var7;
var6 = var2 * 128 + 1 + (var3 * 128 + 1) * var5;
var8 = 0;
for(var9 = -128; var9 < 0; ++var9) {
for(int var10 = -128; var10 < 0; ++var10) {
if(var4[var6] == 0) {
int var11 = 0;
if(var4[var6 - 1] != 0) {
++var11;
}
if(var4[var6 + 1] != 0) {
++var11;
}
if(var4[var6 - var5] != 0) {
++var11;
}
if(var4[var6 + var5] != 0) {
++var11;
}
aByteArray2111[var8++] = (byte)(17 * var11);
} else {
aByteArray2111[var8++] = 68;
}
++var6;
}
var6 += var5 - 128;
}
GL var12 = HDToolKit.gl;
ByteBuffer var13 = ByteBuffer.wrap(aByteArray2111);
var13.limit(16384);
HDToolKit.bindTexture2D(this.anInt2108);
var12.glTexImage2D(3553, 0, 6406, 128, 128, 0, 6406, 5121, var13);
}
}
final void method2284() {
GL var1 = HDToolKit.gl;
HDToolKit.bindTexture2D(this.anInt2108);
if(this.aClass156_2110 == null) {
if(HDToolKit.supportVertexBufferObject) {
var1.glBindBufferARB('\u8892', 0);
}
var1.glInterleavedArrays(10791, 20, this.aByteBuffer2109);
} else {
this.aClass156_2110.method2169();
var1.glInterleavedArrays(10791, 20, 0L);
}
HDToolKit.aBoolean1798 = false;
if(this.aClass156_2105 == null) {
if(HDToolKit.supportVertexBufferObject) {
var1.glBindBufferARB('\u8893', 0);
}
var1.glDrawElements(4, 384, 5125, this.aByteBuffer2107);
} else {
this.aClass156_2105.method2171();
var1.glDrawElements(4, 384, 5125, 0L);
}
}
public Class169() {
GL var1 = HDToolKit.gl;
int[] var2 = new int[1];
var1.glGenTextures(1, var2, 0);
this.anInt2108 = var2[0];
Class31.anInt580 += 16384;
HDToolKit.bindTexture2D(this.anInt2108);
var1.glTexParameteri(3553, 10241, 9729);
var1.glTexParameteri(3553, 10240, 9729);
var1.glTexParameteri(3553, 10242, '\u812f');
var1.glTexParameteri(3553, 10243, '\u812f');
}
}

View file

@ -0,0 +1,214 @@
package org.runite.client;
final class Class17 {
static Interface2 anInterface2_408;
static Thread aThread409;
static int anInt410;
static Class64 aClass64_413;
static void method904(int var0, Class140_Sub4 var1) {
try {
if(var1.anInt2779 != 0) {
RenderAnimationDefinition var2 = var1.method1965();
int var4;
int var5;
if(var1.anInt2772 != -1 && '\u8000' > var1.anInt2772) {
NPC var3 = NPC.npcs[var1.anInt2772];
if(var3 != null) {
var5 = -var3.anInt2829 + var1.anInt2829;
var4 = -var3.anInt2819 + var1.anInt2819;
if(0 != var4 || 0 != var5) {
var1.anInt2806 = (int)(Math.atan2(var4, var5) * 325.949D) & 2047;
}
}
}
int var6;
int var9;
if(var1.anInt2772 >= '\u8000') {
var9 = -32768 + var1.anInt2772;
if(Class3_Sub1.localIndex == var9) {
var9 = 2047;
}
Player var10 = Class3_Sub13_Sub22.players[var9];
if(null != var10) {
var6 = -var10.anInt2829 + var1.anInt2829;
var5 = -var10.anInt2819 + var1.anInt2819;
if(var5 != 0 || var6 != 0) {
var1.anInt2806 = (int)(Math.atan2((double)var5, (double)var6) * 325.949D) & 2047;
}
}
}
if((0 != var1.anInt2786 || 0 != var1.anInt2762) && (var1.anInt2816 == 0 || var1.anInt2824 > 0)) {
var9 = var1.anInt2819 + -((-Class131.anInt1716 + (var1.anInt2786 - Class131.anInt1716)) * 64);
var4 = -((-Class82.anInt1152 + (var1.anInt2762 - Class82.anInt1152)) * 64) + var1.anInt2829;
if(var9 != 0 || var4 != 0) {
var1.anInt2806 = (int)(Math.atan2((double)var9, (double)var4) * 325.949D) & 2047;
}
var1.anInt2762 = 0;
var1.anInt2786 = 0;
}
var9 = var1.anInt2806 - var1.anInt2785 & 2047;
if(var9 == 0) {
var1.anInt2789 = 0;
var1.anInt2821 = 0;
} else if (var2.anInt369 == 0) {
++var1.anInt2789;
boolean var11;
if (var9 > 1024) {
var1.anInt2785 -= var1.anInt2779;
var11 = true;
if (var1.anInt2779 > var9 || var9 > -var1.anInt2779 + 2048) {
var1.anInt2785 = var1.anInt2806;
var11 = false;
}
if (var1.anInt2764 == var2.anInt368 && (25 < var1.anInt2789 || var11)) {
if (var2.anInt367 == -1) {
var1.anInt2764 = var2.anInt382;
} else {
var1.anInt2764 = var2.anInt367;
}
}
} else {
var11 = true;
var1.anInt2785 += var1.anInt2779;
if (var1.anInt2779 > var9 || 2048 - var1.anInt2779 < var9) {
var11 = false;
var1.anInt2785 = var1.anInt2806;
}
if (var2.anInt368 == var1.anInt2764 && (25 < var1.anInt2789 || var11)) {
if (-1 == var2.anInt407) {
var1.anInt2764 = var2.anInt382;
} else {
var1.anInt2764 = var2.anInt407;
}
}
}
var1.anInt2785 &= 2047;
} else {
if (var1.anInt2764 == var2.anInt368 && 25 < var1.anInt2789) {
if (var2.anInt407 == -1) {
var1.anInt2764 = var2.anInt382;
} else {
var1.anInt2764 = var2.anInt407;
}
}
var4 = var1.anInt2806 << 5;
if (var1.anInt2808 != var4) {
var1.anInt2791 = 0;
var1.anInt2808 = var4;
var5 = -var1.anInt2780 + var4 & '\uffff';
var6 = var1.anInt2821 * var1.anInt2821 / (var2.anInt369 * 2);
int var7;
if (var1.anInt2821 > 0 && var6 <= var5 && -var6 + var5 < '\u8000') {
var1.anInt2803 = var5 / 2;
var1.aBoolean2769 = true;
var7 = var2.anInt357 * var2.anInt357 / (var2.anInt369 * 2);
if (32767 < var7) {
var7 = 32767;
}
if (var7 < var1.anInt2803) {
var1.anInt2803 = -var7 + var5;
}
} else if (0 > var1.anInt2821 && var6 <= -var5 + 65536 && 65536 + -var5 + -var6 < '\u8000') {
var1.anInt2803 = (-var5 + 65536) / 2;
var1.aBoolean2769 = true;
var7 = var2.anInt357 * var2.anInt357 / (var2.anInt369 * 2);
if (var7 > 32767) {
var7 = 32767;
}
if (var7 < var1.anInt2803) {
var1.anInt2803 = 65536 - (var5 + var7);
}
} else {
var1.aBoolean2769 = false;
}
}
if (var1.anInt2821 == 0) {
var5 = -var1.anInt2780 + var1.anInt2808 & '\uffff';
if (var5 < var2.anInt369) {
var1.anInt2780 = var1.anInt2808;
} else {
var1.anInt2791 = 0;
var6 = var2.anInt357 * var2.anInt357 / (2 * var2.anInt369);
var1.aBoolean2769 = true;
if (32767 < var6) {
var6 = 32767;
}
if (var5 >= 32768) {
var1.anInt2821 = -var2.anInt369;
var1.anInt2803 = (65536 - var5) / 2;
if (var1.anInt2803 > var6) {
var1.anInt2803 = 65536 - (var5 + var6);
}
} else {
var1.anInt2821 = var2.anInt369;
var1.anInt2803 = var5 / 2;
if (var1.anInt2803 > var6) {
var1.anInt2803 = -var6 + var5;
}
}
}
} else if (var1.anInt2821 <= 0) {
if (var1.anInt2803 <= var1.anInt2791) {
var1.aBoolean2769 = false;
}
if (!var1.aBoolean2769) {
var1.anInt2821 += var2.anInt369;
if (0 < var1.anInt2821) {
var1.anInt2821 = 0;
}
} else if (var1.anInt2821 > -var2.anInt357) {
var1.anInt2821 -= var2.anInt369;
}
} else {
if (var1.anInt2791 >= var1.anInt2803) {
var1.aBoolean2769 = false;
}
if (!var1.aBoolean2769) {
var1.anInt2821 -= var2.anInt369;
if (var1.anInt2821 < 0) {
var1.anInt2821 = 0;
}
} else if (var1.anInt2821 < var2.anInt357) {
var1.anInt2821 += var2.anInt369;
}
}
var1.anInt2780 += var1.anInt2821;
var1.anInt2780 &= '\uffff';
if (0 >= var1.anInt2821) {
var1.anInt2791 -= var1.anInt2821;
} else {
var1.anInt2791 += var1.anInt2821;
}
var1.anInt2785 = var1.anInt2780 >> 5;
}
if(var0 != 65536) {
method904(-93, (Class140_Sub4)null);
}
}
} catch (RuntimeException var8) {
throw ClientErrorException.clientError(var8, "cm.A(" + var0 + ',' + (var1 != null?"{...}":"null") + ')');
}
}
}

View file

@ -0,0 +1,11 @@
package org.runite.client;
final class Class18 {
short[] aShortArray416;
short[] aShortArray417;
short[] aShortArray418;
short[] aShortArray419;
}

View file

@ -0,0 +1,18 @@
package org.runite.client;
final class Class19 {
int anInt420;
GameObject aClass140_423;
int anInt424;
int anInt425;
int anInt426;
int anInt427;
long aLong428 = 0L;
GameObject aClass140_429;
int anInt430;
int anInt432;
static int anInt433 = 0;
}

View file

@ -0,0 +1,60 @@
package org.runite.client;
// TODO MapSceneDefinition or something
public final class Class2 {
public int color;
public int sprite;
public boolean aBoolean69 = false;
public final void decode(DataBuffer buffer) {
while (true) {
int opcode = buffer.readUnsignedByte();
if (opcode == 0) {
return;
}
this.decode(buffer, opcode);
}
}
/**
* @param rotations The amount of rotations the sprite should be turned clockwise. Each rotation rotates the sprite
* by 90 degrees clockwise.
*/
public final LDIndexedSprite getSprite(int rotations) {
LDIndexedSprite sprite = (LDIndexedSprite) Class3_Sub13_Sub31.aReferenceCache_3369.get(rotations << 16 | this.sprite);
if (sprite != null) {
return sprite;
}
KeyboardListener.aClass153_1916.retrieveSpriteFile(this.sprite);
sprite = Unsorted.method1539(this.sprite, KeyboardListener.aClass153_1916);
if (sprite != null) {
sprite.method1668(Class102.anInt2136, Class46.anInt740, Class158.anInt2015);
sprite.anInt1469 = sprite.width;
sprite.anInt1467 = sprite.height;
for (int var5 = 0; var5 < rotations; ++var5) {
sprite.rotateClockwise();
}
Class3_Sub13_Sub31.aReferenceCache_3369.put(sprite, rotations << 16 | this.sprite);
}
return sprite;
}
private void decode(DataBuffer buffer, int opcode) {
if (opcode == 1) {
this.sprite = buffer.readUnsignedShort();
} else if (opcode == 2) {
this.color = buffer.readMedium();
} else if (opcode == 3) {
this.aBoolean69 = true;
} else if (opcode == 4) {
this.sprite = -1;
}
}
}

Some files were not shown because too many files have changed in this diff Show more