185 lines
4.5 KiB
Java
185 lines
4.5 KiB
Java
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;
|
|
|
|
@ObfuscatedName("bo")
|
|
@Implements("Interpreter")
|
|
public class Interpreter {
|
|
@ObfuscatedName("o")
|
|
@Export("Interpreter_intLocals")
|
|
static int[] Interpreter_intLocals;
|
|
@ObfuscatedName("e")
|
|
@Export("Interpreter_stringLocals")
|
|
static String[] Interpreter_stringLocals;
|
|
@ObfuscatedName("i")
|
|
@Export("Interpreter_arrayLengths")
|
|
static int[] Interpreter_arrayLengths;
|
|
@ObfuscatedName("g")
|
|
@Export("Interpreter_arrays")
|
|
static int[][] Interpreter_arrays;
|
|
@ObfuscatedName("d")
|
|
@Export("Interpreter_intStack")
|
|
static int[] Interpreter_intStack;
|
|
@ObfuscatedName("j")
|
|
@Export("Interpreter_stringStack")
|
|
static String[] Interpreter_stringStack;
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedGetter(
|
|
intValue = 918473247
|
|
)
|
|
@Export("Interpreter_frameDepth")
|
|
static int Interpreter_frameDepth;
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
signature = "[Lbb;"
|
|
)
|
|
@Export("Interpreter_frames")
|
|
static ScriptFrame[] Interpreter_frames;
|
|
@ObfuscatedName("x")
|
|
@Export("Interpreter_calendar")
|
|
static java.util.Calendar Interpreter_calendar;
|
|
@ObfuscatedName("w")
|
|
@Export("Interpreter_MONTHS")
|
|
static final String[] Interpreter_MONTHS;
|
|
@ObfuscatedName("q")
|
|
static boolean field1094;
|
|
@ObfuscatedName("z")
|
|
static boolean field1095;
|
|
@ObfuscatedName("y")
|
|
@ObfuscatedGetter(
|
|
intValue = 1093173165
|
|
)
|
|
static int field1088;
|
|
@ObfuscatedName("s")
|
|
static final double field1097;
|
|
|
|
static {
|
|
Interpreter_arrayLengths = new int[5];
|
|
Interpreter_arrays = new int[5][5000];
|
|
Interpreter_intStack = new int[1000];
|
|
Interpreter_stringStack = new String[1000];
|
|
Interpreter_frameDepth = 0;
|
|
Interpreter_frames = new ScriptFrame[50];
|
|
Interpreter_calendar = java.util.Calendar.getInstance();
|
|
Interpreter_MONTHS = new String[]{"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
|
|
field1094 = false;
|
|
field1095 = false;
|
|
field1088 = 0;
|
|
field1097 = Math.log(2.0D);
|
|
}
|
|
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
signature = "([Lbg;II[I[IB)V",
|
|
garbageValue = "-20"
|
|
)
|
|
@Export("sortWorlds")
|
|
static void sortWorlds(World[] var0, int var1, int var2, int[] var3, int[] var4) {
|
|
if (var1 < var2) {
|
|
int var5 = var1 - 1;
|
|
int var6 = var2 + 1;
|
|
int var7 = (var2 + var1) / 2;
|
|
World var8 = var0[var7];
|
|
var0[var7] = var0[var1];
|
|
var0[var1] = var8;
|
|
|
|
while (var5 < var6) {
|
|
boolean var9 = true;
|
|
|
|
int var10;
|
|
int var11;
|
|
int var12;
|
|
do {
|
|
--var6;
|
|
|
|
for (var10 = 0; var10 < 4; ++var10) {
|
|
if (var3[var10] == 2) {
|
|
var11 = var0[var6].index;
|
|
var12 = var8.index;
|
|
} else if (var3[var10] == 1) {
|
|
var11 = var0[var6].population;
|
|
var12 = var8.population;
|
|
if (var11 == -1 && var4[var10] == 1) {
|
|
var11 = 2001;
|
|
}
|
|
|
|
if (var12 == -1 && var4[var10] == 1) {
|
|
var12 = 2001;
|
|
}
|
|
} else if (var3[var10] == 3) {
|
|
var11 = var0[var6].isMembersOnly() ? 1 : 0;
|
|
var12 = var8.isMembersOnly() ? 1 : 0;
|
|
} else {
|
|
var11 = var0[var6].id;
|
|
var12 = var8.id;
|
|
}
|
|
|
|
if (var11 != var12) {
|
|
if ((var4[var10] != 1 || var11 <= var12) && (var4[var10] != 0 || var11 >= var12)) {
|
|
var9 = false;
|
|
}
|
|
break;
|
|
}
|
|
|
|
if (var10 == 3) {
|
|
var9 = false;
|
|
}
|
|
}
|
|
} while(var9);
|
|
|
|
var9 = true;
|
|
|
|
do {
|
|
++var5;
|
|
|
|
for (var10 = 0; var10 < 4; ++var10) {
|
|
if (var3[var10] == 2) {
|
|
var11 = var0[var5].index;
|
|
var12 = var8.index;
|
|
} else if (var3[var10] == 1) {
|
|
var11 = var0[var5].population;
|
|
var12 = var8.population;
|
|
if (var11 == -1 && var4[var10] == 1) {
|
|
var11 = 2001;
|
|
}
|
|
|
|
if (var12 == -1 && var4[var10] == 1) {
|
|
var12 = 2001;
|
|
}
|
|
} else if (var3[var10] == 3) {
|
|
var11 = var0[var5].isMembersOnly() ? 1 : 0;
|
|
var12 = var8.isMembersOnly() ? 1 : 0;
|
|
} else {
|
|
var11 = var0[var5].id;
|
|
var12 = var8.id;
|
|
}
|
|
|
|
if (var12 != var11) {
|
|
if ((var4[var10] != 1 || var11 >= var12) && (var4[var10] != 0 || var11 <= var12)) {
|
|
var9 = false;
|
|
}
|
|
break;
|
|
}
|
|
|
|
if (var10 == 3) {
|
|
var9 = false;
|
|
}
|
|
}
|
|
} while(var9);
|
|
|
|
if (var5 < var6) {
|
|
World var13 = var0[var5];
|
|
var0[var5] = var0[var6];
|
|
var0[var6] = var13;
|
|
}
|
|
}
|
|
|
|
sortWorlds(var0, var1, var6, var3, var4);
|
|
sortWorlds(var0, var6 + 1, var2, var3, var4);
|
|
}
|
|
|
|
}
|
|
}
|