project: rev 200

This commit is contained in:
Owain van Brakel
2021-10-06 13:56:56 +02:00
parent 9f1d58c2a6
commit 5e9375bc8b
429 changed files with 45223 additions and 44897 deletions

View File

@@ -1,26 +1,25 @@
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.management.GarbageCollectorMXBean;
import java.lang.management.ManagementFactory;
import java.util.Iterator;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
import net.runelite.rs.Reflection;
@ObfuscatedName("hd")
@ObfuscatedName("ht")
@Implements("Frames")
public class Frames extends DualNode {
@ObfuscatedName("n")
@ObfuscatedName("l")
@ObfuscatedSignature(
descriptor = "[Lht;"
descriptor = "[Lhj;"
)
@Export("frames")
Animation[] frames;
@ObfuscatedSignature(
descriptor = "(Lkk;Lkk;IZ)V",
garbageValue = "0"
descriptor = "(Lkl;Lkl;IZ)V"
)
public Frames(AbstractArchive var1, AbstractArchive var2, int var3, boolean var4) {
Frames(AbstractArchive var1, AbstractArchive var2, int var3, boolean var4) {
NodeDeque var5 = new NodeDeque();
int var6 = var1.getGroupFileCount(var3);
this.frames = new Animation[var6];
@@ -39,7 +38,13 @@ public class Frames extends DualNode {
}
if (var10 == null) {
byte[] var13 = var2.getFile(var11, 0);
byte[] var13;
if (var4) {
var13 = var2.getFile(0, var11);
} else {
var13 = var2.getFile(var11, 0);
}
var10 = new Skeleton(var11, var13);
var5.addFirst(var10);
}
@@ -49,137 +54,55 @@ public class Frames extends DualNode {
}
@ObfuscatedName("n")
@ObfuscatedName("q")
@ObfuscatedSignature(
descriptor = "(II)Z",
garbageValue = "1867948304"
descriptor = "(IB)Z",
garbageValue = "73"
)
@Export("hasAlphaTransform")
public boolean hasAlphaTransform(int var1) {
return this.frames[var1].hasAlphaTransform;
}
@ObfuscatedName("c")
@ObfuscatedName("aa")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-1581825393"
descriptor = "(I)I",
garbageValue = "16711935"
)
public static void method4334() {
WorldMapRegion.WorldMapRegion_cachedSprites.demote(5);
}
@ObfuscatedName("m")
@ObfuscatedSignature(
descriptor = "(Lot;II)V",
garbageValue = "1326986168"
)
@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.size; ++var3) {
@Export("getGcDuration")
protected static int getGcDuration() {
int var0 = 0;
if (AccessFile.garbageCollector == null || !AccessFile.garbageCollector.isValid()) {
try {
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];
Iterator var1 = ManagementFactory.getGarbageCollectorMXBeans().iterator();
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] = World.loadClassFromDescriptor(var8[var12]);
}
Class var22 = World.loadClassFromDescriptor(var20);
if (World.loadClassFromDescriptor(var5).getClassLoader() == null) {
throw new SecurityException();
}
Method[] var13 = World.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 (var21.length == var17.length) {
boolean var18 = true;
for (int var19 = 0; var19 < var21.length; ++var19) {
if (var21[var19] != var17[var19]) {
var18 = false;
break;
}
}
if (var18 && var22 == var16.getReturnType()) {
var2.methods[var3] = var16;
}
}
}
}
var2.arguments[var3] = var10;
while (var1.hasNext()) {
GarbageCollectorMXBean var2 = (GarbageCollectorMXBean)var1.next();
if (var2.isValid()) {
AccessFile.garbageCollector = var2;
GameEngine.garbageCollectorLastCheckTimeMs = -1L;
GameEngine.garbageCollectorLastCollectionTime = -1L;
}
} else {
var5 = var0.readStringCp1252NullTerminated();
var6 = var0.readStringCp1252NullTerminated();
var7 = 0;
if (var4 == 1) {
var7 = var0.readInt();
}
var2.operations[var3] = var4;
var2.intReplaceValues[var3] = var7;
if (World.loadClassFromDescriptor(var5).getClassLoader() == null) {
throw new SecurityException();
}
var2.fields[var3] = Reflection.findField(World.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;
} catch (Throwable var11) {
}
}
class54.reflectionChecks.addFirst(var2);
if (AccessFile.garbageCollector != null) {
long var9 = UserComparator4.method2406();
long var3 = AccessFile.garbageCollector.getCollectionTime();
if (GameEngine.garbageCollectorLastCollectionTime != -1L) {
long var5 = var3 - GameEngine.garbageCollectorLastCollectionTime;
long var7 = var9 - GameEngine.garbageCollectorLastCheckTimeMs;
if (var7 != 0L) {
var0 = (int)(var5 * 100L / var7);
}
}
GameEngine.garbageCollectorLastCollectionTime = var3;
GameEngine.garbageCollectorLastCheckTimeMs = var9;
}
return var0;
}
}