812 lines
22 KiB
Java
812 lines
22 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("hq")
|
|
@Implements("AbstractArchive")
|
|
public abstract class AbstractArchive {
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedSignature(
|
|
signature = "Llj;"
|
|
)
|
|
@Export("gzipDecompressor")
|
|
static GZipDecompressor gzipDecompressor;
|
|
@ObfuscatedName("e")
|
|
@ObfuscatedGetter(
|
|
intValue = -1159865063
|
|
)
|
|
static int field3128;
|
|
@ObfuscatedName("hs")
|
|
@ObfuscatedGetter(
|
|
intValue = 906312301
|
|
)
|
|
@Export("oculusOrbFocalPointY")
|
|
static int oculusOrbFocalPointY;
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedGetter(
|
|
intValue = -869416099
|
|
)
|
|
@Export("groupCount")
|
|
int groupCount;
|
|
@ObfuscatedName("n")
|
|
@Export("groupIds")
|
|
int[] groupIds;
|
|
@ObfuscatedName("q")
|
|
@Export("groupNameHashes")
|
|
int[] groupNameHashes;
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
signature = "Lle;"
|
|
)
|
|
@Export("groupNameHashTable")
|
|
IntHashTable groupNameHashTable;
|
|
@ObfuscatedName("l")
|
|
@Export("groupCrcs")
|
|
int[] groupCrcs;
|
|
@ObfuscatedName("c")
|
|
@Export("groupVersions")
|
|
int[] groupVersions;
|
|
@ObfuscatedName("o")
|
|
@Export("fileCounts")
|
|
int[] fileCounts;
|
|
@ObfuscatedName("i")
|
|
@Export("fileIds")
|
|
int[][] fileIds;
|
|
@ObfuscatedName("d")
|
|
@Export("fileNameHashes")
|
|
int[][] fileNameHashes;
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
signature = "[Lle;"
|
|
)
|
|
@Export("fileNameHashTables")
|
|
IntHashTable[] fileNameHashTables;
|
|
@ObfuscatedName("p")
|
|
@Export("groups")
|
|
Object[] groups;
|
|
@ObfuscatedName("h")
|
|
@Export("files")
|
|
Object[][] files;
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedGetter(
|
|
intValue = -514507625
|
|
)
|
|
@Export("hash")
|
|
public int hash;
|
|
@ObfuscatedName("j")
|
|
@Export("releaseGroups")
|
|
boolean releaseGroups;
|
|
@ObfuscatedName("r")
|
|
@Export("shallowFiles")
|
|
boolean shallowFiles;
|
|
|
|
static {
|
|
gzipDecompressor = new GZipDecompressor();
|
|
field3128 = 0;
|
|
}
|
|
|
|
AbstractArchive(boolean var1, boolean var2) {
|
|
this.releaseGroups = var1;
|
|
this.shallowFiles = var2;
|
|
}
|
|
|
|
@ObfuscatedName("a")
|
|
@ObfuscatedSignature(
|
|
signature = "([BI)V",
|
|
garbageValue = "-702728253"
|
|
)
|
|
@Export("decodeIndex")
|
|
void decodeIndex(byte[] var1) {
|
|
int var3 = var1.length;
|
|
int var2 = class3.method50(var1, 0, var3);
|
|
this.hash = var2;
|
|
Buffer var4 = new Buffer(ArchiveLoader.decompressBytes(var1));
|
|
int var5 = var4.readUnsignedByte();
|
|
if (var5 >= 5 && var5 <= 7) {
|
|
if (var5 >= 6) {
|
|
var4.readInt();
|
|
}
|
|
|
|
int var6 = var4.readUnsignedByte();
|
|
if (var5 >= 7) {
|
|
this.groupCount = var4.method5624();
|
|
} else {
|
|
this.groupCount = var4.readUnsignedShort();
|
|
}
|
|
|
|
int var7 = 0;
|
|
int var8 = -1;
|
|
this.groupIds = new int[this.groupCount];
|
|
int var9;
|
|
if (var5 >= 7) {
|
|
for (var9 = 0; var9 < this.groupCount; ++var9) {
|
|
this.groupIds[var9] = var7 += var4.method5624();
|
|
if (this.groupIds[var9] > var8) {
|
|
var8 = this.groupIds[var9];
|
|
}
|
|
}
|
|
} else {
|
|
for (var9 = 0; var9 < this.groupCount; ++var9) {
|
|
this.groupIds[var9] = var7 += var4.readUnsignedShort();
|
|
if (this.groupIds[var9] > var8) {
|
|
var8 = this.groupIds[var9];
|
|
}
|
|
}
|
|
}
|
|
|
|
this.groupCrcs = new int[var8 + 1];
|
|
this.groupVersions = new int[var8 + 1];
|
|
this.fileCounts = new int[var8 + 1];
|
|
this.fileIds = new int[var8 + 1][];
|
|
this.groups = new Object[var8 + 1];
|
|
this.files = new Object[var8 + 1][];
|
|
if (var6 != 0) {
|
|
this.groupNameHashes = new int[var8 + 1];
|
|
|
|
for (var9 = 0; var9 < this.groupCount; ++var9) {
|
|
this.groupNameHashes[this.groupIds[var9]] = var4.readInt();
|
|
}
|
|
|
|
this.groupNameHashTable = new IntHashTable(this.groupNameHashes);
|
|
}
|
|
|
|
for (var9 = 0; var9 < this.groupCount; ++var9) {
|
|
this.groupCrcs[this.groupIds[var9]] = var4.readInt();
|
|
}
|
|
|
|
for (var9 = 0; var9 < this.groupCount; ++var9) {
|
|
this.groupVersions[this.groupIds[var9]] = var4.readInt();
|
|
}
|
|
|
|
for (var9 = 0; var9 < this.groupCount; ++var9) {
|
|
this.fileCounts[this.groupIds[var9]] = var4.readUnsignedShort();
|
|
}
|
|
|
|
int var10;
|
|
int var11;
|
|
int var12;
|
|
int var13;
|
|
int var14;
|
|
if (var5 >= 7) {
|
|
for (var9 = 0; var9 < this.groupCount; ++var9) {
|
|
var10 = this.groupIds[var9];
|
|
var11 = this.fileCounts[var10];
|
|
var7 = 0;
|
|
var12 = -1;
|
|
this.fileIds[var10] = new int[var11];
|
|
|
|
for (var13 = 0; var13 < var11; ++var13) {
|
|
var14 = this.fileIds[var10][var13] = var7 += var4.method5624();
|
|
if (var14 > var12) {
|
|
var12 = var14;
|
|
}
|
|
}
|
|
|
|
this.files[var10] = new Object[var12 + 1];
|
|
}
|
|
} else {
|
|
for (var9 = 0; var9 < this.groupCount; ++var9) {
|
|
var10 = this.groupIds[var9];
|
|
var11 = this.fileCounts[var10];
|
|
var7 = 0;
|
|
var12 = -1;
|
|
this.fileIds[var10] = new int[var11];
|
|
|
|
for (var13 = 0; var13 < var11; ++var13) {
|
|
var14 = this.fileIds[var10][var13] = var7 += var4.readUnsignedShort();
|
|
if (var14 > var12) {
|
|
var12 = var14;
|
|
}
|
|
}
|
|
|
|
this.files[var10] = new Object[var12 + 1];
|
|
}
|
|
}
|
|
|
|
if (var6 != 0) {
|
|
this.fileNameHashes = new int[var8 + 1][];
|
|
this.fileNameHashTables = new IntHashTable[var8 + 1];
|
|
|
|
for (var9 = 0; var9 < this.groupCount; ++var9) {
|
|
var10 = this.groupIds[var9];
|
|
var11 = this.fileCounts[var10];
|
|
this.fileNameHashes[var10] = new int[this.files[var10].length];
|
|
|
|
for (var12 = 0; var12 < var11; ++var12) {
|
|
this.fileNameHashes[var10][this.fileIds[var10][var12]] = var4.readInt();
|
|
}
|
|
|
|
this.fileNameHashTables[var10] = new IntHashTable(this.fileNameHashes[var10]);
|
|
}
|
|
}
|
|
|
|
} else {
|
|
throw new RuntimeException("");
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)V",
|
|
garbageValue = "117"
|
|
)
|
|
@Export("loadRegionFromGroup")
|
|
void loadRegionFromGroup(int var1) {
|
|
}
|
|
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedSignature(
|
|
signature = "(III)[B",
|
|
garbageValue = "-1573138603"
|
|
)
|
|
@Export("takeFile")
|
|
public byte[] takeFile(int var1, int var2) {
|
|
return this.takeFileEncrypted(var1, var2, (int[])null);
|
|
}
|
|
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedSignature(
|
|
signature = "(II[IB)[B",
|
|
garbageValue = "0"
|
|
)
|
|
@Export("takeFileEncrypted")
|
|
public byte[] takeFileEncrypted(int var1, int var2, int[] var3) {
|
|
if (var1 >= 0 && var1 < this.files.length && this.files[var1] != null && var2 >= 0 && var2 < this.files[var1].length) {
|
|
if (this.files[var1][var2] == null) {
|
|
boolean var4 = this.buildFiles(var1, var3);
|
|
if (!var4) {
|
|
this.loadGroup(var1);
|
|
var4 = this.buildFiles(var1, var3);
|
|
if (!var4) {
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
byte[] var5 = Decimator.serialize(this.files[var1][var2], false);
|
|
if (this.shallowFiles) {
|
|
this.files[var1][var2] = null;
|
|
}
|
|
|
|
return var5;
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
signature = "(III)Z",
|
|
garbageValue = "2054202524"
|
|
)
|
|
@Export("tryLoadFile")
|
|
public boolean tryLoadFile(int var1, int var2) {
|
|
if (var1 >= 0 && var1 < this.files.length && this.files[var1] != null && var2 >= 0 && var2 < this.files[var1].length) {
|
|
if (this.files[var1][var2] != null) {
|
|
return true;
|
|
} else if (this.groups[var1] != null) {
|
|
return true;
|
|
} else {
|
|
this.loadGroup(var1);
|
|
return this.groups[var1] != null;
|
|
}
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("l")
|
|
@ObfuscatedSignature(
|
|
signature = "(IS)Z",
|
|
garbageValue = "-31796"
|
|
)
|
|
public boolean method4327(int var1) {
|
|
if (this.files.length == 1) {
|
|
return this.tryLoadFile(0, var1);
|
|
} else if (this.files[var1].length == 1) {
|
|
return this.tryLoadFile(var1, 0);
|
|
} else {
|
|
throw new RuntimeException();
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)Z",
|
|
garbageValue = "-1781242235"
|
|
)
|
|
@Export("tryLoadGroup")
|
|
public boolean tryLoadGroup(int var1) {
|
|
if (this.groups[var1] != null) {
|
|
return true;
|
|
} else {
|
|
this.loadGroup(var1);
|
|
return this.groups[var1] != null;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Z",
|
|
garbageValue = "-2109708107"
|
|
)
|
|
@Export("isFullyLoaded")
|
|
public boolean isFullyLoaded() {
|
|
boolean var1 = true;
|
|
|
|
for (int var2 = 0; var2 < this.groupIds.length; ++var2) {
|
|
int var3 = this.groupIds[var2];
|
|
if (this.groups[var3] == null) {
|
|
this.loadGroup(var3);
|
|
if (this.groups[var3] == null) {
|
|
var1 = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
return var1;
|
|
}
|
|
|
|
@ObfuscatedName("i")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)I",
|
|
garbageValue = "-778670663"
|
|
)
|
|
@Export("groupLoadPercent")
|
|
int groupLoadPercent(int var1) {
|
|
return this.groups[var1] != null ? 100 : 0;
|
|
}
|
|
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)[B",
|
|
garbageValue = "-112"
|
|
)
|
|
@Export("takeFileFlat")
|
|
public byte[] takeFileFlat(int var1) {
|
|
if (this.files.length == 1) {
|
|
return this.takeFile(0, var1);
|
|
} else if (this.files[var1].length == 1) {
|
|
return this.takeFile(var1, 0);
|
|
} else {
|
|
throw new RuntimeException();
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
signature = "(III)[B",
|
|
garbageValue = "-315309482"
|
|
)
|
|
@Export("getFile")
|
|
public byte[] getFile(int var1, int var2) {
|
|
if (var1 >= 0 && var1 < this.files.length && this.files[var1] != null && var2 >= 0 && var2 < this.files[var1].length) {
|
|
if (this.files[var1][var2] == null) {
|
|
boolean var3 = this.buildFiles(var1, (int[])null);
|
|
if (!var3) {
|
|
this.loadGroup(var1);
|
|
var3 = this.buildFiles(var1, (int[])null);
|
|
if (!var3) {
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
byte[] var4 = Decimator.serialize(this.files[var1][var2], false);
|
|
return var4;
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("p")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)[B",
|
|
garbageValue = "-2080975442"
|
|
)
|
|
@Export("getFileFlat")
|
|
public byte[] getFileFlat(int var1) {
|
|
if (this.files.length == 1) {
|
|
return this.getFile(0, var1);
|
|
} else if (this.files[var1].length == 1) {
|
|
return this.getFile(var1, 0);
|
|
} else {
|
|
throw new RuntimeException();
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("h")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "664192835"
|
|
)
|
|
@Export("loadGroup")
|
|
void loadGroup(int var1) {
|
|
}
|
|
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)[I",
|
|
garbageValue = "1547416359"
|
|
)
|
|
@Export("getGroupFileIds")
|
|
public int[] getGroupFileIds(int var1) {
|
|
return var1 >= 0 && var1 < this.fileIds.length ? this.fileIds[var1] : null;
|
|
}
|
|
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)I",
|
|
garbageValue = "-829743673"
|
|
)
|
|
@Export("getGroupFileCount")
|
|
public int getGroupFileCount(int var1) {
|
|
return this.files[var1].length;
|
|
}
|
|
|
|
@ObfuscatedName("j")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)I",
|
|
garbageValue = "107"
|
|
)
|
|
@Export("getGroupCount")
|
|
public int getGroupCount() {
|
|
return this.files.length;
|
|
}
|
|
|
|
@ObfuscatedName("r")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "77380292"
|
|
)
|
|
@Export("clearGroups")
|
|
public void clearGroups() {
|
|
for (int var1 = 0; var1 < this.groups.length; ++var1) {
|
|
this.groups[var1] = null;
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("e")
|
|
@ObfuscatedSignature(
|
|
signature = "(IB)V",
|
|
garbageValue = "17"
|
|
)
|
|
@Export("clearFilesGroup")
|
|
public void clearFilesGroup(int var1) {
|
|
for (int var2 = 0; var2 < this.files[var1].length; ++var2) {
|
|
this.files[var1][var2] = null;
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("s")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "1828023605"
|
|
)
|
|
@Export("clearFiles")
|
|
public void clearFiles() {
|
|
for (int var1 = 0; var1 < this.files.length; ++var1) {
|
|
if (this.files[var1] != null) {
|
|
for (int var2 = 0; var2 < this.files[var1].length; ++var2) {
|
|
this.files[var1][var2] = null;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("b")
|
|
@ObfuscatedSignature(
|
|
signature = "(I[II)Z",
|
|
garbageValue = "1853690533"
|
|
)
|
|
@Export("buildFiles")
|
|
boolean buildFiles(int var1, int[] var2) {
|
|
if (this.groups[var1] == null) {
|
|
return false;
|
|
} else {
|
|
int var3 = this.fileCounts[var1];
|
|
int[] var4 = this.fileIds[var1];
|
|
Object[] var5 = this.files[var1];
|
|
boolean var6 = true;
|
|
|
|
for (int var7 = 0; var7 < var3; ++var7) {
|
|
if (var5[var4[var7]] == null) {
|
|
var6 = false;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (var6) {
|
|
return true;
|
|
} else {
|
|
byte[] var18;
|
|
if (var2 == null || var2[0] == 0 && var2[1] == 0 && var2[2] == 0 && var2[3] == 0) {
|
|
var18 = Decimator.serialize(this.groups[var1], false);
|
|
} else {
|
|
var18 = Decimator.serialize(this.groups[var1], true);
|
|
Buffer var8 = new Buffer(var18);
|
|
var8.xteaDecrypt(var2, 5, var8.array.length);
|
|
}
|
|
|
|
byte[] var20 = ArchiveLoader.decompressBytes(var18);
|
|
if (this.releaseGroups) {
|
|
this.groups[var1] = null;
|
|
}
|
|
|
|
if (var3 > 1) {
|
|
int var9 = var20.length;
|
|
--var9;
|
|
int var10 = var20[var9] & 255;
|
|
var9 -= var10 * var3 * 4;
|
|
Buffer var11 = new Buffer(var20);
|
|
int[] var12 = new int[var3];
|
|
var11.offset = var9;
|
|
|
|
int var14;
|
|
int var15;
|
|
for (int var13 = 0; var13 < var10; ++var13) {
|
|
var14 = 0;
|
|
|
|
for (var15 = 0; var15 < var3; ++var15) {
|
|
var14 += var11.readInt();
|
|
var12[var15] += var14;
|
|
}
|
|
}
|
|
|
|
byte[][] var19 = new byte[var3][];
|
|
|
|
for (var14 = 0; var14 < var3; ++var14) {
|
|
var19[var14] = new byte[var12[var14]];
|
|
var12[var14] = 0;
|
|
}
|
|
|
|
var11.offset = var9;
|
|
var14 = 0;
|
|
|
|
for (var15 = 0; var15 < var10; ++var15) {
|
|
int var16 = 0;
|
|
|
|
for (int var17 = 0; var17 < var3; ++var17) {
|
|
var16 += var11.readInt();
|
|
System.arraycopy(var20, var14, var19[var17], var12[var17], var16);
|
|
var12[var17] += var16;
|
|
var14 += var16;
|
|
}
|
|
}
|
|
|
|
for (var15 = 0; var15 < var3; ++var15) {
|
|
if (!this.shallowFiles) {
|
|
var5[var4[var15]] = MusicPatchPcmStream.method4064(var19[var15], false);
|
|
} else {
|
|
var5[var4[var15]] = var19[var15];
|
|
}
|
|
}
|
|
} else if (!this.shallowFiles) {
|
|
var5[var4[0]] = MusicPatchPcmStream.method4064(var20, false);
|
|
} else {
|
|
var5[var4[0]] = var20;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("w")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;I)I",
|
|
garbageValue = "-568803871"
|
|
)
|
|
@Export("getGroupId")
|
|
public int getGroupId(String var1) {
|
|
var1 = var1.toLowerCase();
|
|
return this.groupNameHashTable.get(WorldMapIcon_0.hashString(var1));
|
|
}
|
|
|
|
@ObfuscatedName("u")
|
|
@ObfuscatedSignature(
|
|
signature = "(ILjava/lang/String;B)I",
|
|
garbageValue = "1"
|
|
)
|
|
@Export("getFileId")
|
|
public int getFileId(int var1, String var2) {
|
|
var2 = var2.toLowerCase();
|
|
return this.fileNameHashTables[var1].get(WorldMapIcon_0.hashString(var2));
|
|
}
|
|
|
|
@ObfuscatedName("ad")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;Ljava/lang/String;B)Z",
|
|
garbageValue = "-1"
|
|
)
|
|
@Export("isValidFileName")
|
|
public boolean isValidFileName(String var1, String var2) {
|
|
var1 = var1.toLowerCase();
|
|
var2 = var2.toLowerCase();
|
|
int var3 = this.groupNameHashTable.get(WorldMapIcon_0.hashString(var1));
|
|
if (var3 < 0) {
|
|
return false;
|
|
} else {
|
|
int var4 = this.fileNameHashTables[var3].get(WorldMapIcon_0.hashString(var2));
|
|
return var4 >= 0;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("ag")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;Ljava/lang/String;I)[B",
|
|
garbageValue = "1996624784"
|
|
)
|
|
@Export("takeFileByNames")
|
|
public byte[] takeFileByNames(String var1, String var2) {
|
|
var1 = var1.toLowerCase();
|
|
var2 = var2.toLowerCase();
|
|
int var3 = this.groupNameHashTable.get(WorldMapIcon_0.hashString(var1));
|
|
int var4 = this.fileNameHashTables[var3].get(WorldMapIcon_0.hashString(var2));
|
|
return this.takeFile(var3, var4);
|
|
}
|
|
|
|
@ObfuscatedName("ak")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;Ljava/lang/String;I)Z",
|
|
garbageValue = "1453372171"
|
|
)
|
|
@Export("tryLoadFileByNames")
|
|
public boolean tryLoadFileByNames(String var1, String var2) {
|
|
var1 = var1.toLowerCase();
|
|
var2 = var2.toLowerCase();
|
|
int var3 = this.groupNameHashTable.get(WorldMapIcon_0.hashString(var1));
|
|
int var4 = this.fileNameHashTables[var3].get(WorldMapIcon_0.hashString(var2));
|
|
return this.tryLoadFile(var3, var4);
|
|
}
|
|
|
|
@ObfuscatedName("av")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;I)Z",
|
|
garbageValue = "1150520386"
|
|
)
|
|
@Export("tryLoadGroupByName")
|
|
public boolean tryLoadGroupByName(String var1) {
|
|
var1 = var1.toLowerCase();
|
|
int var2 = this.groupNameHashTable.get(WorldMapIcon_0.hashString(var1));
|
|
return this.tryLoadGroup(var2);
|
|
}
|
|
|
|
@ObfuscatedName("am")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;B)V",
|
|
garbageValue = "-94"
|
|
)
|
|
@Export("loadRegionFromName")
|
|
public void loadRegionFromName(String var1) {
|
|
var1 = var1.toLowerCase();
|
|
int var2 = this.groupNameHashTable.get(WorldMapIcon_0.hashString(var1));
|
|
if (var2 >= 0) {
|
|
this.loadRegionFromGroup(var2);
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("ab")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;B)I",
|
|
garbageValue = "125"
|
|
)
|
|
@Export("groupLoadPercentByName")
|
|
public int groupLoadPercentByName(String var1) {
|
|
var1 = var1.toLowerCase();
|
|
int var2 = this.groupNameHashTable.get(WorldMapIcon_0.hashString(var1));
|
|
return this.groupLoadPercent(var2);
|
|
}
|
|
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)Ljava/lang/String;",
|
|
garbageValue = "-1378160996"
|
|
)
|
|
@Export("colorStartTag")
|
|
static String colorStartTag(int var0) {
|
|
return "<col=" + Integer.toHexString(var0) + ">";
|
|
}
|
|
|
|
@ObfuscatedName("fm")
|
|
@ObfuscatedSignature(
|
|
signature = "(II)V",
|
|
garbageValue = "-1166291616"
|
|
)
|
|
@Export("getLoginError")
|
|
static void getLoginError(int var0) {
|
|
if (var0 == -3) {
|
|
GrandExchangeOffer.setLoginResponseString("Connection timed out.", "Please try using a different world.", "");
|
|
} else if (var0 == -2) {
|
|
GrandExchangeOffer.setLoginResponseString("", "Error connecting to server.", "");
|
|
} else if (var0 == -1) {
|
|
GrandExchangeOffer.setLoginResponseString("No response from server.", "Please try using a different world.", "");
|
|
} else if (var0 == 3) {
|
|
Login.loginIndex = 3;
|
|
Login.field1166 = 1;
|
|
} else if (var0 == 4) {
|
|
Login.loginIndex = 12;
|
|
Login.field1156 = 0;
|
|
} else if (var0 == 5) {
|
|
Login.field1166 = 2;
|
|
GrandExchangeOffer.setLoginResponseString("Your account has not logged out from its last", "session or the server is too busy right now.", "Please try again in a few minutes.");
|
|
} else if (var0 == 68 || !Client.onMobile && var0 == 6) {
|
|
GrandExchangeOffer.setLoginResponseString("RuneScape has been updated!", "Please reload this page.", "");
|
|
} else if (var0 == 7) {
|
|
GrandExchangeOffer.setLoginResponseString("This world is full.", "Please use a different world.", "");
|
|
} else if (var0 == 8) {
|
|
GrandExchangeOffer.setLoginResponseString("Unable to connect.", "Login server offline.", "");
|
|
} else if (var0 == 9) {
|
|
GrandExchangeOffer.setLoginResponseString("Login limit exceeded.", "Too many connections from your address.", "");
|
|
} else if (var0 == 10) {
|
|
GrandExchangeOffer.setLoginResponseString("Unable to connect.", "Bad session id.", "");
|
|
} else if (var0 == 11) {
|
|
GrandExchangeOffer.setLoginResponseString("We suspect someone knows your password.", "Press 'change your password' on front page.", "");
|
|
} else if (var0 == 12) {
|
|
GrandExchangeOffer.setLoginResponseString("You need a members account to login to this world.", "Please subscribe, or use a different world.", "");
|
|
} else if (var0 == 13) {
|
|
GrandExchangeOffer.setLoginResponseString("Could not complete login.", "Please try using a different world.", "");
|
|
} else if (var0 == 14) {
|
|
GrandExchangeOffer.setLoginResponseString("The server is being updated.", "Please wait 1 minute and try again.", "");
|
|
} else if (var0 == 16) {
|
|
GrandExchangeOffer.setLoginResponseString("Too many login attempts.", "Please wait a few minutes before trying again.", "");
|
|
} else if (var0 == 17) {
|
|
GrandExchangeOffer.setLoginResponseString("You are standing in a members-only area.", "To play on this world move to a free area first", "");
|
|
} else if (var0 == 18) {
|
|
Login.loginIndex = 12;
|
|
Login.field1156 = 1;
|
|
} else if (var0 == 19) {
|
|
GrandExchangeOffer.setLoginResponseString("This world is running a closed Beta.", "Sorry invited players only.", "Please use a different world.");
|
|
} else if (var0 == 20) {
|
|
GrandExchangeOffer.setLoginResponseString("Invalid loginserver requested.", "Please try using a different world.", "");
|
|
} else if (var0 == 22) {
|
|
GrandExchangeOffer.setLoginResponseString("Malformed login packet.", "Please try again.", "");
|
|
} else if (var0 == 23) {
|
|
GrandExchangeOffer.setLoginResponseString("No reply from loginserver.", "Please wait 1 minute and try again.", "");
|
|
} else if (var0 == 24) {
|
|
GrandExchangeOffer.setLoginResponseString("Error loading your profile.", "Please contact customer support.", "");
|
|
} else if (var0 == 25) {
|
|
GrandExchangeOffer.setLoginResponseString("Unexpected loginserver response.", "Please try using a different world.", "");
|
|
} else if (var0 == 26) {
|
|
GrandExchangeOffer.setLoginResponseString("This computers address has been blocked", "as it was used to break our rules.", "");
|
|
} else if (var0 == 27) {
|
|
GrandExchangeOffer.setLoginResponseString("", "Service unavailable.", "");
|
|
} else if (var0 == 31) {
|
|
GrandExchangeOffer.setLoginResponseString("Your account must have a displayname set", "in order to play the game. Please set it", "via the website, or the main game.");
|
|
} else if (var0 == 32) {
|
|
GrandExchangeOffer.setLoginResponseString("Your attempt to log into your account was", "unsuccessful. Don't worry, you can sort", "this out by visiting the billing system.");
|
|
} else if (var0 == 37) {
|
|
GrandExchangeOffer.setLoginResponseString("Your account is currently inaccessible.", "Please try again in a few minutes.", "");
|
|
} else if (var0 == 38) {
|
|
GrandExchangeOffer.setLoginResponseString("You need to vote to play!", "Visit runescape.com and vote,", "and then come back here!");
|
|
} else if (var0 == 55) {
|
|
Login.loginIndex = 8;
|
|
} else {
|
|
if (var0 == 56) {
|
|
GrandExchangeOffer.setLoginResponseString("Enter the 6-digit code generated by your", "authenticator app.", "");
|
|
Tile.updateGameState(11);
|
|
return;
|
|
}
|
|
|
|
if (var0 == 57) {
|
|
GrandExchangeOffer.setLoginResponseString("The code you entered was incorrect.", "Please try again.", "");
|
|
Tile.updateGameState(11);
|
|
return;
|
|
}
|
|
|
|
if (var0 == 61) {
|
|
Login.loginIndex = 7;
|
|
} else {
|
|
GrandExchangeOffer.setLoginResponseString("Unexpected server response", "Please try using a different world.", "");
|
|
}
|
|
}
|
|
|
|
Tile.updateGameState(10);
|
|
}
|
|
}
|