project: Rev 182
This commit is contained in:
@@ -1,17 +1,26 @@
|
||||
import java.lang.management.GarbageCollectorMXBean;
|
||||
import java.lang.management.ManagementFactory;
|
||||
import java.util.Iterator;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.RandomAccessFile;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import net.runelite.mapping.Export;
|
||||
import net.runelite.mapping.Implements;
|
||||
import net.runelite.mapping.ObfuscatedGetter;
|
||||
import net.runelite.mapping.ObfuscatedName;
|
||||
import net.runelite.mapping.ObfuscatedSignature;
|
||||
import net.runelite.rs.Reflection;
|
||||
|
||||
@ObfuscatedName("dg")
|
||||
@ObfuscatedName("da")
|
||||
@Implements("SoundSystem")
|
||||
public class SoundSystem implements Runnable {
|
||||
@ObfuscatedName("q")
|
||||
@ObfuscatedName("bs")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -73516399
|
||||
)
|
||||
static int field1414;
|
||||
@ObfuscatedName("s")
|
||||
@ObfuscatedSignature(
|
||||
signature = "[Ldn;"
|
||||
signature = "[Ldd;"
|
||||
)
|
||||
@Export("players")
|
||||
volatile PcmPlayer[] players;
|
||||
@@ -29,92 +38,209 @@ public class SoundSystem implements Runnable {
|
||||
}
|
||||
}
|
||||
} catch (Exception var4) {
|
||||
HitSplatDefinition.RunException_sendStackTrace((String)null, var4);
|
||||
class3.RunException_sendStackTrace((String)null, var4);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("q")
|
||||
@ObfuscatedName("i")
|
||||
@ObfuscatedSignature(
|
||||
signature = "([Lgo;IB)Lgo;",
|
||||
garbageValue = "0"
|
||||
signature = "(Lky;II)V",
|
||||
garbageValue = "-1145796075"
|
||||
)
|
||||
@Export("findEnumerated")
|
||||
public static Enumerated findEnumerated(Enumerated[] var0, int var1) {
|
||||
Enumerated[] var2 = var0;
|
||||
@Export("readReflectionCheck")
|
||||
public static void readReflectionCheck(Buffer var0, int var1) {
|
||||
ReflectionCheck var2 = new ReflectionCheck();
|
||||
var2.size = var0.readUnsignedByte();
|
||||
var2.id = var0.readInt();
|
||||
var2.operations = new int[var2.size];
|
||||
var2.creationErrors = new int[var2.size];
|
||||
var2.fields = new Field[var2.size];
|
||||
var2.intReplaceValues = new int[var2.size];
|
||||
var2.methods = new Method[var2.size];
|
||||
var2.arguments = new byte[var2.size][][];
|
||||
|
||||
for (int var3 = 0; var3 < var2.length; ++var3) {
|
||||
Enumerated var4 = var2[var3];
|
||||
if (var1 == var4.rsOrdinal()) {
|
||||
return var4;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@ObfuscatedName("e")
|
||||
@ObfuscatedSignature(
|
||||
signature = "([BB)V",
|
||||
garbageValue = "103"
|
||||
)
|
||||
@Export("ByteArrayPool_release")
|
||||
public static synchronized void ByteArrayPool_release(byte[] var0) {
|
||||
if (var0.length == 100 && ByteArrayPool.ByteArrayPool_smallCount < 1000) {
|
||||
ByteArrayPool.ByteArrayPool_small[++ByteArrayPool.ByteArrayPool_smallCount - 1] = var0;
|
||||
} else if (var0.length == 5000 && ByteArrayPool.ByteArrayPool_mediumCount < 250) {
|
||||
ByteArrayPool.ByteArrayPool_medium[++ByteArrayPool.ByteArrayPool_mediumCount - 1] = var0;
|
||||
} else if (var0.length == 30000 && ByteArrayPool.ByteArrayPool_largeCount < 50) {
|
||||
ByteArrayPool.ByteArrayPool_large[++ByteArrayPool.ByteArrayPool_largeCount - 1] = var0;
|
||||
} else if (class189.ByteArrayPool_arrays != null) {
|
||||
for (int var1 = 0; var1 < ByteArrayPool.ByteArrayPool_alternativeSizes.length; ++var1) {
|
||||
if (var0.length == ByteArrayPool.ByteArrayPool_alternativeSizes[var1] && class43.ByteArrayPool_altSizeArrayCounts[var1] < class189.ByteArrayPool_arrays[var1].length) {
|
||||
class189.ByteArrayPool_arrays[var1][class43.ByteArrayPool_altSizeArrayCounts[var1]++] = var0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ObfuscatedName("ac")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(I)I",
|
||||
garbageValue = "-925078025"
|
||||
)
|
||||
@Export("getGcDuration")
|
||||
protected static int getGcDuration() {
|
||||
int var0 = 0;
|
||||
if (class43.garbageCollector == null || !class43.garbageCollector.isValid()) {
|
||||
for (int var3 = 0; var3 < var2.size; ++var3) {
|
||||
try {
|
||||
Iterator var1 = ManagementFactory.getGarbageCollectorMXBeans().iterator();
|
||||
int var4 = var0.readUnsignedByte();
|
||||
String var5;
|
||||
String var6;
|
||||
int var7;
|
||||
if (var4 != 0 && var4 != 1 && var4 != 2) {
|
||||
if (var4 == 3 || var4 == 4) {
|
||||
var5 = var0.readStringCp1252NullTerminated();
|
||||
var6 = var0.readStringCp1252NullTerminated();
|
||||
var7 = var0.readUnsignedByte();
|
||||
String[] var8 = new String[var7];
|
||||
|
||||
while (var1.hasNext()) {
|
||||
GarbageCollectorMXBean var2 = (GarbageCollectorMXBean)var1.next();
|
||||
if (var2.isValid()) {
|
||||
class43.garbageCollector = var2;
|
||||
GameShell.garbageCollectorLastCheckTimeMs = -1L;
|
||||
GameShell.garbageCollectorLastCollectionTime = -1L;
|
||||
for (int var9 = 0; var9 < var7; ++var9) {
|
||||
var8[var9] = var0.readStringCp1252NullTerminated();
|
||||
}
|
||||
|
||||
String var20 = var0.readStringCp1252NullTerminated();
|
||||
byte[][] var10 = new byte[var7][];
|
||||
int var12;
|
||||
if (var4 == 3) {
|
||||
for (int var11 = 0; var11 < var7; ++var11) {
|
||||
var12 = var0.readInt();
|
||||
var10[var11] = new byte[var12];
|
||||
var0.readBytes(var10[var11], 0, var12);
|
||||
}
|
||||
}
|
||||
|
||||
var2.operations[var3] = var4;
|
||||
Class[] var21 = new Class[var7];
|
||||
|
||||
for (var12 = 0; var12 < var7; ++var12) {
|
||||
var21[var12] = UserComparator4.loadClassFromDescriptor(var8[var12]);
|
||||
}
|
||||
|
||||
Class var22 = UserComparator4.loadClassFromDescriptor(var20);
|
||||
if (UserComparator4.loadClassFromDescriptor(var5).getClassLoader() == null) {
|
||||
throw new SecurityException();
|
||||
}
|
||||
|
||||
Method[] var13 = UserComparator4.loadClassFromDescriptor(var5).getDeclaredMethods();
|
||||
Method[] var14 = var13;
|
||||
|
||||
for (int var15 = 0; var15 < var14.length; ++var15) {
|
||||
Method var16 = var14[var15];
|
||||
if (Reflection.getMethodName(var16).equals(var6)) {
|
||||
Class[] var17 = Reflection.getParameterTypes(var16);
|
||||
if (var17.length == var21.length) {
|
||||
boolean var18 = true;
|
||||
|
||||
for (int var19 = 0; var19 < var21.length; ++var19) {
|
||||
if (var17[var19] != var21[var19]) {
|
||||
var18 = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (var18 && var22 == var16.getReturnType()) {
|
||||
var2.methods[var3] = var16;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var2.arguments[var3] = var10;
|
||||
}
|
||||
} else {
|
||||
var5 = var0.readStringCp1252NullTerminated();
|
||||
var6 = var0.readStringCp1252NullTerminated();
|
||||
var7 = 0;
|
||||
if (var4 == 1) {
|
||||
var7 = var0.readInt();
|
||||
}
|
||||
|
||||
var2.operations[var3] = var4;
|
||||
var2.intReplaceValues[var3] = var7;
|
||||
if (UserComparator4.loadClassFromDescriptor(var5).getClassLoader() == null) {
|
||||
throw new SecurityException();
|
||||
}
|
||||
|
||||
var2.fields[var3] = Reflection.findField(UserComparator4.loadClassFromDescriptor(var5), var6);
|
||||
}
|
||||
} catch (ClassNotFoundException var24) {
|
||||
var2.creationErrors[var3] = -1;
|
||||
} catch (SecurityException var25) {
|
||||
var2.creationErrors[var3] = -2;
|
||||
} catch (NullPointerException var26) {
|
||||
var2.creationErrors[var3] = -3;
|
||||
} catch (Exception var27) {
|
||||
var2.creationErrors[var3] = -4;
|
||||
} catch (Throwable var28) {
|
||||
var2.creationErrors[var3] = -5;
|
||||
}
|
||||
}
|
||||
|
||||
class96.reflectionChecks.addFirst(var2);
|
||||
}
|
||||
|
||||
@ObfuscatedName("u")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(B)V",
|
||||
garbageValue = "-27"
|
||||
)
|
||||
public static void method2417() {
|
||||
try {
|
||||
File var0 = new File(FontName.userHomeDirectory, "random.dat");
|
||||
int var2;
|
||||
if (var0.exists()) {
|
||||
JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var0, "rw", 25L), 24, 0);
|
||||
} else {
|
||||
label38:
|
||||
for (int var1 = 0; var1 < Login.field1181.length; ++var1) {
|
||||
for (var2 = 0; var2 < GrandExchangeEvent.field47.length; ++var2) {
|
||||
File var3 = new File(GrandExchangeEvent.field47[var2] + Login.field1181[var1] + File.separatorChar + "random.dat");
|
||||
if (var3.exists()) {
|
||||
JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var3, "rw", 25L), 24, 0);
|
||||
break label38;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Throwable var11) {
|
||||
}
|
||||
|
||||
if (JagexCache.JagexCache_randomDat == null) {
|
||||
RandomAccessFile var4 = new RandomAccessFile(var0, "rw");
|
||||
var2 = var4.read();
|
||||
var4.seek(0L);
|
||||
var4.write(var2);
|
||||
var4.seek(0L);
|
||||
var4.close();
|
||||
JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var0, "rw", 25L), 24, 0);
|
||||
}
|
||||
} catch (IOException var5) {
|
||||
}
|
||||
|
||||
if (class43.garbageCollector != null) {
|
||||
long var9 = DirectByteArrayCopier.currentTimeMs();
|
||||
long var3 = class43.garbageCollector.getCollectionTime();
|
||||
if (-1L != GameShell.garbageCollectorLastCollectionTime) {
|
||||
long var5 = var3 - GameShell.garbageCollectorLastCollectionTime;
|
||||
long var7 = var9 - GameShell.garbageCollectorLastCheckTimeMs;
|
||||
if (0L != var7) {
|
||||
var0 = (int)(100L * var5 / var7);
|
||||
}
|
||||
|
||||
@ObfuscatedName("n")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(Lbl;Lbl;IZI)I",
|
||||
garbageValue = "-295284349"
|
||||
)
|
||||
@Export("compareWorlds")
|
||||
static int compareWorlds(World var0, World var1, int var2, boolean var3) {
|
||||
if (var2 == 1) {
|
||||
int var4 = var0.population;
|
||||
int var5 = var1.population;
|
||||
if (!var3) {
|
||||
if (var4 == -1) {
|
||||
var4 = 2001;
|
||||
}
|
||||
|
||||
if (var5 == -1) {
|
||||
var5 = 2001;
|
||||
}
|
||||
}
|
||||
|
||||
GameShell.garbageCollectorLastCollectionTime = var3;
|
||||
GameShell.garbageCollectorLastCheckTimeMs = var9;
|
||||
return var4 - var5;
|
||||
} else if (var2 == 2) {
|
||||
return var0.location - var1.location;
|
||||
} else if (var2 == 3) {
|
||||
if (var0.activity.equals("-")) {
|
||||
if (var1.activity.equals("-")) {
|
||||
return 0;
|
||||
} else {
|
||||
return var3 ? -1 : 1;
|
||||
}
|
||||
} else if (var1.activity.equals("-")) {
|
||||
return var3 ? 1 : -1;
|
||||
} else {
|
||||
return var0.activity.compareTo(var1.activity);
|
||||
}
|
||||
} else if (var2 == 4) {
|
||||
return var0.method1689() ? (var1.method1689() ? 0 : 1) : (var1.method1689() ? -1 : 0);
|
||||
} else if (var2 == 5) {
|
||||
return var0.method1687() ? (var1.method1687() ? 0 : 1) : (var1.method1687() ? -1 : 0);
|
||||
} else if (var2 == 6) {
|
||||
return var0.isPvp() ? (var1.isPvp() ? 0 : 1) : (var1.isPvp() ? -1 : 0);
|
||||
} else if (var2 == 7) {
|
||||
return var0.isMembersOnly() ? (var1.isMembersOnly() ? 0 : 1) : (var1.isMembersOnly() ? -1 : 0);
|
||||
} else {
|
||||
return var0.id - var1.id;
|
||||
}
|
||||
|
||||
return var0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user